Puncte:2

Este sigură hashingul parolelor post-quantum?

drapel az
Luc

Calculatoarele actuale nu pot sparge parolele hashing rezonabil de puternice, de exemplu 14 caractere alfanumerice generate de CSPRNG ($\aproximativ$80 de biți de entropie).

Algoritmul lui Grover se aplică funcțiilor hash așa cum îl înțeleg (menționat de ex. în acest răspuns), ceea ce înseamnă că, având în vedere orice ieșire MD5 de 128 de biți, poate găsi intrarea (sau o coliziune a acesteia) în $\sqrt{2^{128}}=2^{64}$ evaluările algoritmului, au furnizat un computer cu destui qubiți. Dacă computerul cuantic poate evalua MD5 suficient de rapid (sau este suficient de ieftin pentru a construi suficiente copii), acest lucru ar sparge complet MD5, indiferent cât de puternică ar fi parola utilizatorului.

Găsirea unei chei aleatoare de 256 de biți care a fost rulată printr-o funcție hash de 256 de biți (sau mai puternică) ar fi, totuși, încă departe de acces.

Ce se întâmplă dacă funcția hash în sine este securizată post-cuantică, de ex. SHA-512, dar intrarea este o parolă? Este cunoscut vreun algoritm cuantic care poate găsi intrarea în evaluări semnificativ mai puține decât o căutare tradițională cu forță brută ($\frac{2^{80}}{2}$ în medie pentru exemplul de mai sus)? Algoritmul lui Grover (sau orice alt algoritm cuantic aplicabil) se aplică doar pentru slăbirea funcției hash în sine sau poate căuta și numai intrări plauzibile (a-z, A-Z, 0-9 <=14 caractere) pentru a reduce spațiul de căutare?

Pentru a fi clar, am înțeles că orice funcție de hashing (chiar și cu ieșiri inutil de lungi, cum ar fi SHA-512) este o modalitate groaznică de a stoca parolele utilizatorilor și ar trebui folosit Argon2 sau similar, dar m-am gândit că duritatea memoriei și alte aspecte ar putea face întrebarea prea largă sau un răspuns mai puțin aplicabil.

Puncte:4
drapel my

Algoritmul lui Grover (sau orice alt algoritm cuantic aplicabil) se aplică doar pentru slăbirea funcției hash în sine sau poate căuta și numai intrări plauzibile (a-z, A-Z, 0-9 <=14 caractere) pentru a reduce spațiul de căutare?

Grover este o metodă de căutare generală - nu știe sau nu îi pasă cum este dată funcția interpretează intrarea. Dacă îi oferiți o funcție care interpretează intrările ca „(a-z, A-Z, 0-9 <=14 caractere)”, va funcționa cu ea, cu complexitatea așteptată.

Pe de altă parte, întrebarea relevantă poate fi „este folosirea unui computer cuantic are sens economic, spre deosebire de o fermă de GPU sau de unele ASIC?” Sugerez că pentru următoarele decenii (adică până când tehnologia Quantum Computer va trece printr-un număr de generații), metodele clasice vor fi mai rapide în acest caz.

Unele dintre motivele pentru aceasta:

  • Costul unei operațiuni de calcul cuantic poate fi de așteptat să fie mult mai mare decât costul celui clasic corespunzător. Acesta este un factor constant atunci când se compară cele două - totuși, dacă acest factor constant este poate de un miliard sau de un trilion, chiar nu ar trebui ignorat.

  • Paralelizare - căutările clasice pe computer (ca aceasta) sunt perfect paralelizabile (de care ar profita din plin o fermă de GPU sau un set de ASIC-uri). În schimb, algoritmul lui Grover (sau orice căutare similară Quantum Oracle) nu este - înțelegi că $n^2$ accelerați dacă puteți efectua $O(n)$ operațiuni succesive. Cu toate acestea, dacă nu puteți aștepta atât de mult și trebuie să implementați mai multe calculatoare cuantice pentru a efectua căutarea, ei bine, nu obțineți asta. $n^2$ accelera între ei. De exemplu, pentru a efectua căutarea de 100 de ori mai rapid, aveți nevoie de 10.000 de ori mai multe calculatoare cuantice.

  • Reutilizarea cheii de căutare. Cu calculul clasic, putem genera un tabel Rainbow - generarea acelui tabel durează cam atât timp cât căutarea completă; cu toate acestea, odată ce este finalizat, efectuarea de căutări repetate pe diverse parole cu hash este ieftină. În schimb, rularea algoritmului lui Grover va face o căutare pe o singură parolă - dacă vrem să verificăm un alt hash, trebuie să plătim din nou pentru căutarea completă. Ai putea construi o masă Rainbow pe un computer cuantic, desigur; cu toate acestea, nu cred că veți obține o accelerație cuantică și nu am auzit de o alternativă în care să obțineți o viteză cuantică.

Acum, de-a lungul timpului, ne putem aștepta în mod rezonabil ca costul calculatoarelor cuantice să scadă (și să scadă mai repede decât costul comparativ al calculatoarelor clasice) și ne putem aștepta ca calculatoarele cuantice să devină mai rapide în timp (deci necesită mai puțină paralelizare); Pur și simplu nu mă aștept ca niciuna dintre tendințe să se întâmple peste noapte...

Pentru a fi clar, am înțeles că orice funcție de hashing (chiar și cu ieșiri inutil de lungi, cum ar fi SHA-512) este o modalitate groaznică de a stoca parolele utilizatorilor și ar trebui folosit Argon2 sau similar, dar m-am gândit că duritatea memoriei și alte aspecte ar putea face întrebarea prea largă sau un răspuns mai puțin aplicabil.

Cu înțelegerea noastră actuală a compromisurilor inerente într-un computer cuantic (care ar putea fi considerabil în afara bazei), o funcție de memorie hard ar fi destul de dureros să se ocupe de un computer cuantic. Evaluarea unei astfel de funcții hash pare să necesite o memorie cuantică mare și (din câte știm noi) aceasta pare a fi îngrozitor de costisitoare [1].

Algoritmul lui Grover ar fi aplicabil (din nou, nu-i pasă care este funcția hash); cu toate acestea ar părea a fi destul de scump.

Deci, presupunând că presupunerile noastre sunt corecte, o funcție de memorie hard hash (Argon2) ar fi și mai rezistentă la calculul cuantic decât funcțiile hash simple.


[1]: Cred că cel puțin o parte din motiv este că dacă aveți o memorie cuantică mare și o accesați pentru o adresă încurcată, ajungeți să efectuați operațiuni pe fiecare celulă de memorie (sau cel puțin, fiecare celulă care ar putea fi adresată de adresa încâlcită). În schimb, cu o memorie clasică, trebuie doar să accesați celula care este adresată. Dacă vorbim de o memorie cu 1.000.000 de locații adresabile, aceasta înseamnă că memoria cuantică ar putea avea nevoie să efectueze de 1.000.000 de ori mai multe operații în comparație cu cazul clasic.

fgrieu avatar
drapel ng
Ar putea fi folosit acest raționament pentru a sprijini acel DSA cu un $p$ mare (să zicem 8192 de biți), $q$ de 256 de biți și Argon2 ca hash, se poate aștepta să reziste creșterii (ipotetice) a CRQC mai mult decât ECDSA cu secp256r1 și SHA-256?
poncho avatar
drapel my
@fgrieu: ei bine, cu DSA și ECDSA, l-ai folosi pe Shor, mai degrabă decât pe Grover, iar lui Shor nu-i pasă ce este hașul. Pe de altă parte, din ceea ce știm despre Shor, ECDSA-P256 ar părea a fi mai degrabă mai ușor decât DSA-8192, în mare parte pentru că operațiile cu curba eliptică ar fi probabil mai ieftine decât operațiunile corespunzătoare mod p=8192 biți (nu că eu' Vreau să presupun că DSA-8192 este Quantum Safe...)
drapel az
Luc
Multumesc pentru raspunsul excelent! Partea de accelerare (al doilea punct de marcare) sună contraintuitiv, dar într-adevăr obțin același rezultat dacă rezolv. Pentru posteritate: cu unele calculatoare cuantice (QC) care efectuează operațiuni de $2^{32}$, fiecare cotă este $\frac{2^{32}}{QCs}$ operațiuni și fiecare își poate face cota în $\sqrt{share} $ timp.Pentru 2 QC, aceasta înseamnă $2^{15.5}$ timp, în timp ce inițial ar dura 1 QC $2^{16}$ timp: o accelerare mai mică de două în timp ce utilizați de două ori mai multe QC. Cu 8 QC, accelerarea este de numai 2,8×. Asta se compune până la 10.000 QC, în cele din urmă accelerarea este de 100 (fiecare QC suplimentar aproape neglijabil).

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.