Puncte:2

Algoritmul Grover pentru criptarea cu cheie publică - FrodoKEM

drapel in

Mă întreb dacă se poate aplica algoritmul Grover pe un mecanism de încapsulare a cheilor pentru a sparge cheia partajată.

De exemplu, FrodoKEM este un protocol de generare a cheii care, pentru unii parametri, partajează 128 de biți cheie.

O putem sparge folosind Grover? adică reduce-l la $2^{64}$ operațiuni?

Referință pentru FrodoKEM: https://frodokem.org/files/FrodoKEM-specification-20171130.pdf

kelalaka avatar
drapel in
Întrebați să folosiți Grover's Against FrodoKem sau Against criptarea cheii simetrice pe care FrodoKem a produs-o? Ce criptare simetrică este utilizată după FrodoKem? Considerați-l ca RSA-KEM ( Key Encapsulation Mechanism) + AES-GCM (Data Encapsulation Mechanism (DEM)). Grover va învinge AES-128 în viitorul apropiat, dar nu și AES-256.
C.S. avatar
drapel in
Mulțumesc @kelalaka. Ce zici de spargerea lui FrodoKEM? Este posibil cu algoritmul lui Grover?
kelalaka avatar
drapel in
Desigur, nu este clar cum se pot rula apelurile $\sqrt{2^n}$ Grover Oracles în viața reală. Care este costul ( timexmoney ) pregătirii următorului Oracle...
kelalaka avatar
drapel in
[O analiză simplă a timpului Grover este aici](https://crypto.stackexchange.com/a/67677/18298) și [ineficiența mașinii Grover paralele este aici](https://quantumcomputing.stackexchange.com/q/4531 /4866)
Puncte:6
drapel my

Mă întreb dacă se poate aplica algoritmul Grover pe un mecanism de încapsulare a cheii pentru a sparge cheia partajată.

Iată cum funcționează algoritmul lui Grover (simplificat): luați o funcție „fitness” (care presupune o ghicire a valorii pe care o căutați și evaluează la un „1” dacă presupunerea este corectă și „0” dacă nu este - pentru AES, funcția de fitness ar putea fi „utilizați ghicitul ca o cheie AES și criptați blocul de text simplu cunoscut și verificați dacă rezultatul este blocul de text cifrat cunoscut).

Apoi, luați această funcție de fitness (și alte operațiuni cuantice) și o repeți de un număr mare de ori - dacă o repeți de numărul corect de ori, atunci când măsurați rezultatul, este cu mare probabilitate o valoare pe care fitness-ul funcția este evaluată la 1.

Acum, dacă ar fi să luăm în considerare atacarea lui Frodo, există două moduri de a-l ataca. Se poate încerca să recupereze secretul partajat direct din partajările cheii publice; în acest caz, avem la dispoziție pentru funcția de fitness cheia publică partajată și presupunerea noastră la secretul partajat. Cu toate acestea, nu avem o modalitate eficientă de a verifica dacă această presupunere este corectă (pe baza partajelor de cheie publică) și, prin urmare, nu știm cum să construim această funcție de fitness (și astfel Grover nu pare să se aplice).

Pe de altă parte, putem încerca să recuperăm sămânța secretă pe care Frodo a folosit-o pentru a obține cheia publică [1] (sau, alternativ, în cadrul procesului de încapsulare Frodo). Pentru Frodo-640 (nivel 1 NIST), această sămânță secretă este de 128 de biți; întrucât s-ar putea defini o mapare între această valoare de 128 de biți (și datele publice, adică semințele publice) și cheia publică, am putea folosi aceasta pentru a genera funcția de fitness.

Acum, acest atac nu este inerent criptografiei postcuantice; funcționează nu atacând direct secretul partajat de 128 de biți, ci în loc de modul în care acest set de parametri ai Frodo își generează partajările de cheie, folosind o valoare aleatorie de 128 de biți ca „seed secret”. Ceea ce face Frodo este să ia acea sămânță secretă de 128 de biți și să o extindă folosind SHAKE pentru a genera vectori de partajare și de eroare mult mai lungi; designerii Frodo ar fi putut folosi o sămânță secretă mai lungă și să o extindă la SHAKE - acest lucru l-ar face pe Grover mult mai dificil (deoarece sămânța secretă de recuperat este mult mai lungă, iar încercarea de a recupera starea internă SHAKE sau secvența de ieșiri SHAKE ar fi de asemenea, durează prea mult). Designerii lui Frodo nu au făcut acest lucru, probabil pentru că de fapt nu ar îmbunătăți securitatea.

Pe de altă parte, în general facem ceva cu cheia partajată; putem introduce asta într-un KDF (poate împreună cu unele date publice, cum ar fi nonces), și apoi folosim acel rezultat ca o cheie AES. Putem construi o funcție de fitness bazată pe asta și, astfel, Grover s-ar aplica acelui sistem - cel mai probabil, această construcție KDF/AES ar fi mai simplu de implementat într-un computer cuantic decât procesul de cheie publică Frodo (sau de încapsulare); prin urmare, este probabil să fie mai ușor să ataci sistemul de acolo (fie doar printr-un factor constant).

Pe de o parte, este rezonabil să ne întrebăm dacă Grover este într-adevăr o amenințare împotriva unui secret pe 128 de biți - toate aceste evaluări ale funcțiilor de fitness sunt efectuate în serie și ar fi impractic să evaluăm orice funcție. $2^{64}$ ori la rând. Și, în timp ce ați putea încerca să ocoliți acest lucru, rulând Grover pe un număr mare de calculatoare cuantice, împărțind spațiul secret, pierdem o parte din avantajul lui Grover dacă facem asta și astfel ajungem să folosim un lot a calculatoarelor cuantice.

[1]: Rețineți că Frodo are două semințe; unul public care definește rețeaua care trebuie utilizată și unul care este secret și care este utilizat pentru a genera matricele de eșantion și de eroare; deoarece semințele publice se află în cheia publică, atacatorul nu trebuie să ghicească asta; tot ce trebuie să facă este să recupereze sămânța secretă.

Fleeep avatar
drapel br
De ce nu ați putea ataca (= construiți funcția de fitness) sămânța inițială (care are și 128 de biți) folosită pentru a genera perechea (sk, pk) folosind Grover? Aceasta ar presupune că găsirea unui sk (sau mai degrabă a unei semințe care este extinsă la un sk) care are ca rezultat același PK vă permite să decapsulați cu succes.
poncho avatar
drapel my
@Fleeep: scuzele mele; Am crezut că Frodo-640 a luat o sămânță secretă mai lungă - verificând dublu, văd că nu. Atunci, da, ai putea folosi Grover pentru a-l recupera; pe de altă parte, bănuiesc că va fi un factor constant mai complex decât atacarea sistemului simetric care folosește sămânța, dar cu siguranță este posibil (dacă nepractic; vezi mai sus)
poncho avatar
drapel my
@Fleeep: ok, mi-am modificat răspunsul pentru a aborda acest atac alternativ

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.