Egy hash függvény tetszőleges méretű adatot egy fix méretű értékre képez le. Ugyanaz a bemenet mindig ugyanazt a kimenetet adja. Egy bit megváltoztatása teljesen megváltoztatja a kimenetet. Ez a tulajdonság hasznossá teszi a hasheket az integritás-ellenőrzésekhez. Tölts le egy fájlt, és hasonlítsd össze a hash-ét a közzétett értékkel. Ha egyeznek, a fájl sértetlenül megérkezett. Ha nem, akkor valami megváltoztatta.
A hash függvények egyirányúak. Nem lehet visszafelé haladni egy hash-től az eredeti adatokig. Ez teszi őket hasznossá jelszótárolásra. A rendszerek a jelszó hash-ét tárolják, nem magát a jelszót. Bejelentkezéskor a rendszer hasheli a beírt adatokat, és összehasonlítja a tárolt hash-sel. Ha az adatbázis kiszivárog, a támadó hash-eket kap, nem jelszavakat. A gyenge jelszavakat továbbra is fel lehet törni szivárványtáblákkal vagy nyers erővel, ezért fontos a sózás. A só véletlenszerű adatok, amelyeket minden jelszavahoz hozzáadnak a hashelés előtt, így az azonos jelszavak eltérő hash-eket eredményeznek. Az SHA-256 és az SHA-3 gyakori kriptográfiai hash-ek. Az MD5 és az SHA-1 hibás, és nem szabad biztonsági célokra használni. A hash függvények a blokkláncokat, a digitális aláírásokat és a fájlok deduplikációját is működtetik.
Hash függvény tulajdonságai
- Determinisztikus – ugyanaz a bemenet, ugyanaz a kimenet
- Gyors – gyorsan kiszámítható
- Előképálló – nem fordítható meg
- Ütközésre ellenálló — nehéz két azonos hash-sel rendelkező bemenetet találni
A hash egy ujjlenyomat, nem titkosítás. Az integritást bizonyítja. Nem rejti el az adatokat.
Comments
No comments yet. Be the first to share a thought.
Leave a comment