Puncte:3

Metoda de găsire a coliziunilor

drapel tr

„Paradoxul zilei de naștere” plasează o limită superioară a rezistenței la coliziune: dacă o funcție hash produce $N$ biți de ieșire, un atacator care calculează numai $2^{N/2}$ (...) operațiunile hash pe intrare aleatorie vor găsi probabil două ieșiri potrivite. Dacă există un metoda mai usoara decât asta atac cu forță brută, este de obicei considerat un defect al funcției hash.

Este posibil din punct de vedere matematic să existe o funcție hash fără metoda mai ușoară?

kelalaka avatar
drapel in
Cel mai apropiat este Universal hash Functions...
poncho avatar
drapel my
@kelalaka: de fapt, funcțiile hash universale nu sunt funcții hash :-). Motivul: o „funcție hash” (cel puțin, când vorbim despre asta în criptografie) nu are cheie; o funcție hash universală are o cheie (care trebuie să fie secretă pentru a-și păstra proprietățile)
kelalaka avatar
drapel in
@poncho `Funcții hash fără taste. Funcții hash criptografice utilizate în practică sunt, în general, fără cheie și au o lungime de ieșire fixă ​​(prin analogie cu blocul cifre), ceea ce înseamnă că funcția hash este doar o funcție fixă, deterministă` De la Lindell&Katz. Desigur, facem o distincție spunând hash cu cheie. Aici citesc hash ca funcții hash criptografice, deoarece suntem în Crypto.SE
poncho avatar
drapel my
@kelalaka: Încă nu sunt convins că o funcție hash universală îndeplinește criteriile pentru a fi o funcție hash criptografică. Chiar dacă există o cheie secretă, atâta timp cât aveți acces oracol la funcția hash universală, este ușor (cel puțin, cu funcțiile hash universale pe care le cunosc) să găsiți o coliziune (sau chiar să găsiți cheia secretă) cu un câteva interogări oracle - asta este mult mai puțin decât ne-am aștepta de la o funcție hash criptografică.
kelalaka avatar
drapel in
@poncho bun punct, da, garanția UHF bazată pe o nouă cheie aleatorie per hash.Dacă setăm accesul la oracol, acestea sunt condamnate. Asta se întâmplă în GCM, nu?
poncho avatar
drapel my
@kelalaka: nu chiar: în GCM, cheia universală este o funcție a cheii GCM (prin urmare aceeași cheie hash universală este utilizată pentru toate mesajele criptate cu aceeași cheie GCM) - totuși, ieșirea hash universală este mascată de (o funcție a) nonceului - de aceea repetarea nonceului este mortală (pentru că asta ne permite să demascăm eficient ieșirea funcției universale)
kelalaka avatar
drapel in
@poncho Da, asta este precizia. [Ferguson și Joux au remarcat acest lucru](https://csrc.nist.gov/csrc/media/projects/block-cipher-techniques/documents/bcm/comments/800-38-series-drafts/gcm/joux_comments.pdf) , cu toate acestea, modificările sugerate sunt încă acolo.
Fleeep avatar
drapel br
Întrebarea cere o funcție hash * calculabilă eficient * sau doar * orice construcție matematică *?
Fractalice avatar
drapel in
Nu înțeleg întrebarea. Dacă nu este posibil, atunci toate funcțiile hash sunt „defectate”. Este ceea ce se cere? Ce înseamnă „matematic”?
Puncte:-2
drapel jp

Să luăm în considerare ce înseamnă afirmația „paradoxul zilei de naștere”:

Def: Să presupunem că lungimea unui rezumat este N. Câte mesaje și rezumate relevante ar trebui produse din partea atacatorului, pentru a găsi două mesaje care au rezumate egale (se produce coliziune), cu probabilitatea de a găsi aceste două mesaje mai mare de 50% ?

Raspunsul este $ c*\sqrt{N} $. Aceasta înseamnă că atacatorul ar trebui să colecteze cel puțin $ c*\sqrt{N} $ numărul de mesaje dintre N mesaje pentru a găsi două rezumate identice și a găsi o coliziune. Mai clar, în $ c*\sqrt{N} $ numărul de mesaje, ar trebui să existe două mesaje m și $ \acute{m} $ că H(m) = H($ \acute{m}$) unde probabilitatea de a găsi aceste două mesaje este de aproximativ 50% (care este o probabilitate acceptabilă). În această formulă, $c$ este o constantă și este aproximativ egală cu 1,2 și ignorată în majoritatea lucrărilor și calculelor. În plus, această statistică este corectă doar pentru funcțiile hash teoretice care sunt proiectate corect și sunt impecabile. În acest caz, găsim aceste două mesaje doar prin forță brută și nu prin alte atacuri, deoarece funcția hash este impecabilă și proiectată pe baza matematicii teoretice pure.

Dacă vrem să dăm un exemplu simplu pentru a clarifica acest lucru, să presupunem U = {0,1} 128 este lungimea rezumatului, apoi numărul de mesaje pe care atacatorul ar trebui să le aleagă din U, pentru a găsi două rezumate identice și a găsi o coliziune (acest incident are o probabilitate de aproape 50%), ar trebui să fie: $$ 1,2 * \sqrt{2^{128}} \cong 1,2 * (2^{64} ) \cong 2^{64} $$ Aceasta este o limită superioară a rezistenței la coliziune bazată pe un paradox al probabilității matematice dovedit și este corectă doar dacă funcția hash proiectată este corectă teoretic și matematic. Dacă vrem să găsim coliziuni în număr de mai mic decât $2^{64}$ mesaje, pe baza acestei teorii, probabilitatea se reduce la mai puțin de 50%, cu alte cuvinte, este mai puțin probabil să găsiți două mesaje cu rezumate identice.

Acum, dacă vreau să răspund la întrebarea despre „metoda mai ușoară decât atacul cu forță brută”, acest lucru s-ar întâmpla dacă am putea găsi o defecțiune în designul funcției hash pe care atacatorul o exploatează pentru a găsi două mesaje care au rezumate identice. în numărul mai mic de $ c*\sqrt{N} $ mesaje. După cum am menționat mai sus, pe baza paradoxului zilei de naștere, ar trebui cel puțin să testăm $ c*\sqrt{N} $ numărul de mesaje pentru a găsi o coliziune (în acest număr de teste, probabilitatea de a găsi o coliziune este aproximativ egală cu 50%). Cu toate acestea, dacă există un defect în designul funcției hash, atacatorul exploatează acel defect și nu folosește niciodată forța brută pentru a găsi o coliziune. Mai mult, aici „metoda mai ușoară” este un tip de atac care poate fi aplicat funcțiilor hash, mai degrabă decât atacului cu forță brută.

Criptografii își proiectează schemele mai degrabă bazate pe securitatea computațională decât pe securitatea perfectă; adică demonstrează securitatea schemei lor pe baza puterilor de calcul. Pe de altă parte, schemele concepute fără un fundal matematic robust care nu ar putea rezista atacurilor teoretice comune nu sunt deloc acceptabile. În zilele noastre, funcțiile hash securizate sunt rezistente din punct de vedere computațional împotriva atacurilor computaționale obișnuite și s-au dovedit matematic a fi robuste. Într-un mod teoretic, este posibil să se proiecteze o funcție hash sigură, dar în practică, există mulți factori, cum ar fi implementarea, care influențează schema proiectată.

Wilson avatar
drapel se
Acest răspuns nu este un răspuns la întrebarea specială din postare.

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.