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.