Puncte:1

Există o modalitate standardizată de a evalua securitatea unui algoritm de schimb de chei?

drapel de
Zim

Încerc acum să proiectez un algoritm de schimbare a cheilor mai sigur pentru a înlocui DH-ul utilizat pe scară largă.

Cu toate acestea, pot dovedi doar că algoritmul meu este mai sigur logic, ceea ce înseamnă că o pot dovedi doar din a raţionament Decat matematic perspectivă.

Așa că mă întreb dacă există o procedura standardizata pe care le pot folosi pentru a-mi evalua munca.

Dacă, din păcate, nu există, este bine să colectez toate atacurile existente asupra DH și să încerc să folosesc acele metode pentru a-mi ataca propria metodă? Este o modalitate rezonabilă de a dovedi că algoritmul meu este sigur?

Puncte:1
drapel my

levgeni a dat un răspuns destul de bun; sunt câteva puncte pe care am crezut că aș putea adăuga:

Încerc acum să proiectez un algoritm de schimbare a cheilor mai sigur pentru a înlocui DH-ul utilizat pe scară largă.

În primul rând, este foarte probabil ca noul tău „algoritm de schimb de chei” să fie slab. Nu spun asta doar pentru a fi răutăcios [1], ci și pe baza istoricului algoritmilor criptografici propuși (inclusiv schimbul de chei) - cei mai mulți dintre ei s-au dovedit a fi slabi, iar acest lucru este valabil mai ales pentru modelele realizate de criptografice. novici. Și, chiar și atunci când un criptograf experimentat propune un nou sistem, nu va pretinde niciodată că acesta este sigur [2] - spunem întotdeauna că are nevoie de verificare.

Cealaltă problemă este că oricum suntem pe cale să înlocuim (sau să suplimentăm) DH (și ECDH). Motivul pentru aceasta este din cauza amenințării viitoare a calculatoarelor cuantice relevante din punct de vedere criptografic - dacă cineva ar fi putut să construiască unul, atunci ar putea sparge DH și ECDH. Și, deși nu credem că cineva are unul acum, s-ar putea ca peste 10 sau 20 de ani - și odată ce cineva are unul, ar putea să se întoarcă și să înceapă să întrerupă sesiunile înregistrate (care ar include schimbul DH/ECDH) - prin urmare, noi Lucrăm la această problemă acum.

Deci, cu excepția cazului în care algoritmul tău este rezistent la Quantum, adică nu poate fi spart nici măcar cu un atacator cu un computer cuantic, ei bine, este puțin probabil ca cineva să-i acorde atenție, chiar dacă ai putea arăta că este sigur împotriva adversarilor doar cu cele convenționale. calculatoare. Și, o modalitate de a vedea că un algoritm nu este rezistent cuantic” este să luați în considerare un adversar cu o cutie magică care poate calcula și calcula jurnalele discrete - dacă un astfel de adversar vă poate distruge sistemul, atunci nu sunteți rezistent cuantic. Desigur , nu merge invers - doar pentru că algoritmul tău este imun la factoring și la calculul atacurilor de jurnalele discrete nu înseamnă că este rezistent la Quantum - Calculatoarele cuantice pot face și alte lucruri.

Cu toate acestea, pot dovedi doar că algoritmul meu este mai sigur logic, ceea ce înseamnă că o pot dovedi doar din a raţionament Decat matematic perspectivă.

Ceea ce vrei să spui este că ai un argument de plauzibilitate că algoritmul tău este sigur. Un argument de plauzibilitate este mai bine decât nimic; cu toate acestea, nu este cu mult mai bine.O demonstrație matematică este ceea ce se așteaptă...

Astfel, mă întreb dacă există o procedură standardizată pe care să o pot folosi pentru a-mi evalua munca.

După cum a spus Levgeni, modalitatea standard este de a identifica „problema grea” (sau, eventual, mai multe probleme dificile), și apoi de a genera o dovadă că, dacă poți întrerupe schimbul de chei [3], atunci el poate rezolva problema dificilă [4] . Odată ce ai făcut asta, poți încerca să evaluezi cât de grea este „problema ta grea” (și dacă este mai grea decât problema grea pe care se bazează DH, care ar fi fie problema CDH, fie problema DDH).

Dacă nu ai făcut asta, este extrem de greu să faci pe cineva să-ți ia munca în serios.

Desigur, chiar dacă ai făcut asta (și da, este multă muncă), va fi totuși o luptă dificilă - tot trebuie să-i convingi pe criptoanalisti să se uite la asta. Dacă aveți totul scris, l-ați putea pune pe eprint (și așa ar fi acolo); l-ai putea depune și la o conferință (dacă este nou și postcuantic, PQC https://pqcrypto.org/conferences.html ar putea fi cel mai bun pariu al tău) - chiar dacă lucrarea nu este acceptată, recenziile pe care le primești pot fi lămuritoare.


[1]: Ei bine, acesta nu este singurul motiv...

[2]: Singura excepție ar fi dacă are o dovadă în mână că puterea sistemului poate fi redusă la o problemă grea acceptată. Cu toate acestea, chiar și în acele cazuri, este probabil să recomande ca cineva să treacă prin dovezi temeinic...

[3]: În mod ideal, spargerea înseamnă „dacă îi poți oferi atacatorului cotele de cheie schimbate și un presupus „secret partajat”, el are avantajul de a distinge dacă acel „secret partajat” este valoarea reală sau o valoare extrasă aleatoriu. dintr-o distribuție aleatoare adecvată"

[4]: Rețineți ordinea - întreruperea sistemului implică întreruperea problemei grele. Am văzut lucrări care au încercat să meargă în cealaltă direcție - „dacă poți rezolva această problemă grea, poți să-mi distrugi sistemul” - care de fapt nu arată nimic.

Puncte:1
drapel cn

Nu, dacă sistemul tău este cu adevărat diferit în ceea ce privește schimbul de chei DH, nu este cu adevărat relevant să observi că atacurile concepute special împotriva protocolului Diffie-Hellman nu sunt eficiente împotriva ta.

Există trei moduri de a compara protocolul cu celălalt:

  • În primul rând, ar fi bine să demonstrezi scriind a dovada de securitate că protocolul tău este cel puțin la fel de sigur pentru unele probleme algoritmice cunoscute. Și dacă problema este cunoscută mai greu decât problema Diffie-Hellman, ar putea fi interesantă. DAR trebuie să observați că problema Diffie-Hellman (decizională sau computațională) este o problemă parametrizată. Iar duritatea acestor probleme depinde în mare măsură de alegerea parametrului (numit parametru de securitate și cu nume $\lambda$ în lucrări de cercetare).Deci, dacă vrei să fii sincer, trebuie să alegi în mod relevant parametrul pentru a compara ambele probleme (de exemplu, poți compara cu parametri astfel încât eficiența ambelor protocoale să fie aceeași).

  • O altă posibilitate, susțineți că protocolul dvs. verifică o proprietate mai puternică decât schimbul de chei DH. Atunci ar fi bine să vă argumentați afirmația cu o dovadă de securitate și să arătați, de asemenea, că DH-KE nu verifică această proprietate (prin prezentarea unui atac, de exemplu).

  • Dacă nu există dovadă de securitate (pentru proprietatea standard și una mai puternică). Aveți posibilitatea să vă prezentați public protocolul într-o conferință academică și să lăsați cercetătorului posibilitatea de a găsi atacuri în protocolul dvs. Și atunci poate, dacă cu multă vizibilitate de-a lungul anilor, pretenția ta de securitate nu a fost încălcată, oamenii vor considera protocolul tău sigur și vor compara cel mai bun atac cunoscut între cele două protocoale pentru a alege care este cel mai sigur.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.