hash
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| hash [2023/11/21 15:27] – zrinka | 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 |
| **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. To se može postići tako da hash funkcija daje dug izlaz. Nemoguće je napraviti hash funkciju koja će za apsolutno svaki ulaz dati različit izlaz jer je prostor mogućih ulaza beskonačan, | ||
| ===Salt hashing=== | ===Salt hashing=== | ||
| - | Obje vrste napada mogu se spriječiti korištenjem tzv. //salt hashinga//. Osjetljivim | + | **Salt hashing** je metoda koja se koristi za hashiranje osjetljivih podataka, primjerice lozinki. Podatku |
| - | 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.1700580466.txt.gz · Last modified: 2025/12/01 11:40 (external edit)