hash
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| hash [2023/11/27 09:25] – lss | hash [2025/12/01 11:40] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| **1) Otpornost na izračunavanje originala ili prva domenska otpornost** //(preimage resistance)// | **1) Otpornost na izračunavanje originala ili prva domenska otpornost** //(preimage resistance)// | ||
| - | H=h(M) | + | Ne postoji funkcija koja za dani sažetak može proizvesti originalnu poruku. |
| **2) Otpornost na izračunavanje poruke koja daje isti sažetak ili druga domenska otpornost** // | **2) Otpornost na izračunavanje poruke koja daje isti sažetak ili druga domenska otpornost** // | ||
| Line 22: | Line 22: | ||
| Jedan je od osnovnih napada na hash funkcije tzv. **rođendanski napad**. Rođendanski napad temelji se na statističkoj anomaliji rođendanskog problema. Vjerojatnost da dvije osobe u dvorani u kojoj je ukupno 1.2 x 365/2 = 23 ljudi imaju isti dan rođendan veća je od 50%. Isto tako, vjerojatnost da dvije poruke iz skupa od k=1.2 (2n )1/2 = 1.2x2n/2 poruka daju isti sažetak veća je od 50%, gdje je n duljina sažetka u bitovima. | Jedan je od osnovnih napada na hash funkcije tzv. **rođendanski napad**. Rođendanski napad temelji se na statističkoj anomaliji rođendanskog problema. Vjerojatnost da dvije osobe u dvorani u kojoj je ukupno 1.2 x 365/2 = 23 ljudi imaju isti dan rođendan veća je od 50%. Isto tako, vjerojatnost da dvije poruke iz skupa od k=1.2 (2n )1/2 = 1.2x2n/2 poruka daju isti sažetak veća je od 50%, gdje je n duljina sažetka u bitovima. | ||
| - | Još je jedan od zanimljivih napada na hashirane podatke tzv. **Rainbow table napad**. | + | Još je jedan od zanimljivih napada na hashirane podatke tzv. **Rainbow table napad**. |
| - | Rođendanski napad može se spriječiti konstrukcijom dobre hash funkcije. Funkcija mora biti takva da se ne mogu u razumnom vremenu naći dva ulaza koji će rezultirati istim sažetkom. Nemoguće je napraviti hash funkciju koja će za svaki ulaz dati različit izlaz jer je prostor mogućih ulaza beskonačan, | + | Rođendanski napad može se spriječiti konstrukcijom dobre hash funkcije. Funkcija mora biti takva da se ne mogu u razumnom vremenu naći dva ulaza koji će rezultirati istim sažetkom. To se može postići tako da hash funkcija daje dug izlaz. Nemoguće je napraviti hash funkciju koja će za |
| ===Salt hashing=== | ===Salt hashing=== | ||
| - | **Salt hashing** je metoda koja se koristi za hashiranje osjetljivih podataka, primjerice lozinki. Podatku se prije ubacivanja u funkciju sažetka dodaje još jedan nasumično generiran podatak (//salt//). Dodavanje ide najčešće na kraj (// | + | **Salt hashing** je metoda koja se koristi za hashiranje osjetljivih podataka, primjerice lozinki. Podatku se prije ubacivanja u funkciju sažetka dodaje još jedan nasumično generiran podatak (//salt//). Dodavanje ide najčešće na kraj (// |
| - | Također, rješava se problem istih lozinki. U slučaju da dva korisnika odaberu istu lozinku, sustav nikako | + | |
| Iako se na prvi pogled može činiti problematičnim što je //salt// zapisan u jasnom tekstu pored korisnika, treba uzeti u obzir da funkcije sažetka nemaju inverznu funkciju, odnosno nema načina kojim se može iz sažetka izravno dobiti original. Napadač baze podataka možda i vidi koji je //salt// iskorišten u generiranju sažetka, no ne može ga nikako eliminirati iz rezultata i izvući samo lozinku korisnika. Može eventualno dodavati taj //salt// na svaki svoj unos i nadati se da će pogoditi funkciju sažimanja koja je korištena. Nije nemoguće, ali se značajno produljuje vrijeme pretrage u odnosu na dosadašnje metode sažimanja, stoga se ova metoda smatra vrlo dobrom praksom i sve se češće koristi. | Iako se na prvi pogled može činiti problematičnim što je //salt// zapisan u jasnom tekstu pored korisnika, treba uzeti u obzir da funkcije sažetka nemaju inverznu funkciju, odnosno nema načina kojim se može iz sažetka izravno dobiti original. Napadač baze podataka možda i vidi koji je //salt// iskorišten u generiranju sažetka, no ne može ga nikako eliminirati iz rezultata i izvući samo lozinku korisnika. Može eventualno dodavati taj //salt// na svaki svoj unos i nadati se da će pogoditi funkciju sažimanja koja je korištena. Nije nemoguće, ali se značajno produljuje vrijeme pretrage u odnosu na dosadašnje metode sažimanja, stoga se ova metoda smatra vrlo dobrom praksom i sve se češće koristi. | ||
hash.1701077129.txt.gz · Last modified: 2025/12/01 11:40 (external edit)