Puncte:0

Sensul termenului „ireversibil” pentru hashing

drapel in

Am fost într-o discuție interesantă cu Jon Skeet pe StackOverflow. El a indicat că hashurile sunt ireversibile, dar a extins acest lucru la hashurile non-criptografice. O funcție hash are o dimensiune de ieșire specifică, în timp ce funcția poate gestiona mesaje de orice dimensiune. Deci, dacă argumentați din acest punct de vedere, un hash este întotdeauna ireversibil, deoarece există multe mesaje care au același hash.

Cu toate acestea, mă întreb dacă aceasta este definiția corectă a „ireversibil”. În criptografie, ireversibil ar însemna că nu putem stabili mesajul corect cu o cantitate mare de certitudine sau înseamnă că nu putem găsi orice informații despre mesaj, altfel decât atunci când îl comparăm cu perechile cunoscute mesaj/hash?

Puncte:1
drapel my

În criptografie, hashurile sunt adesea folosite ca suporturi pentru mesajul original; prin utilizarea hash-ului, folosim efectiv mesajul original. De exemplu, atunci când semnăm un mesaj lung, indexăm mesajul lung și apoi rulăm algoritmul de semnătură pe hash; dacă presupunem că algoritmul de semnătură este puternic (și deci doar un mesaj care generează acel hash va fi validat), și presupunem că este greu de găsit un al doilea mesaj care să genereze același hash (deci trebuie să fie acel mesaj original care a fost semnat), atunci întregul sistem este puternic.

Ca atare, în general, nu luăm în considerare „scurgerea de informații” atunci când vorbim despre funcțiile hash; adică, în general, nu ne facem griji dacă examinarea ieșirii hash ar scurge informații despre mesajul original. În schimb, ne facem griji cu privire la dificultatea de a găsi un mesaj care generează acel hash (fie rezistență preimagine, rezistență a doua preimagine sau rezistență la coliziune), deoarece asta se referă direct la ipotezele de securitate de care avem nevoie în mod obișnuit de la funcțiile hash.

Acestea fiind spuse, dacă cineva ar găsi o scurgere în (să zicem) SHA3, de exemplu, examinând hash-ul, putem determina lungimea mesajului, ei bine, asta ar fi destul de îngrijorător (și probabil am începe să depreciem SHA3). ); uneori vrem să tratăm funcțiile noastre hash ca pe un oracol aleatoriu, iar asta ar indica că nu acționează ca unul [1]. Cu toate acestea, perspectiva unei astfel de scurgeri ar părea a fi puțin probabilă.

[1]: Da, știu că atacurile de extensie de lungime arată că SHA-2 nu acționează ca un oracol aleatoriu; acest lucru este bine înțeles și pur și simplu evităm să folosim SHA-2 într-un mod în care acel atac specific este aplicabil.

Maarten Bodewes avatar
drapel in
Văd aici raționamentul tău și sunt de acord cu el.Totuși, dacă am folosi un hash criptografic ca primitiv pentru un hash de parolă sau KDF și dacă hash-ul scurge părți din mesaj, nu ar reprezenta asta o problemă? Presupunem atunci că *ar trebui* să acționeze ca un oracol aleatoriu și, astfel, să nu scurgă informații despre mesaj?
poncho avatar
drapel my
@MaartenBodewes: ei bine, dacă presupunem că permutarea Keccak este o „permutare aleatorie”, atunci cred că este simplu să arătăm că SHA-3 nu scurge nicio informație despre imagine (și în mod similar cu SHA-2 și operația de compresie hash). Este suficient de bun?
Maarten Bodewes avatar
drapel in
Sigur, este suficient de bun pentru scopul propus. Întrebarea mea este: „*dacă* ar scurge date, să spunem dacă bitul final este setat sau nu, le-am considera în continuare „ireversibile?” Nu sunt sigur dacă putem răspunde cu adevărat la asta, deoarece „ireversibil” nu este cu adevărat o securitate cerința pentru funcțiile hash, așa că poate că suntem în afara terminologiei științifice - și asta este tot.
poncho avatar
drapel my
@MaartenBodewes: hmmm, problema este că „ireversibil” nu are o definiție standard convenită în comunitatea cripto, așa că este greu de spus dacă o astfel de funcție hash ar îndeplini această definiție. Pe de altă parte, pentru SHA-2/3, ar indica faptul că operația/permutarea de compresie hash nu îndeplinește ipotezele de securitate și, din această cauză, nu ar trebui să avem încredere în această funcție hash în general...

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.