User Tools

Site Tools


hash

This is an old revision of the document!


Funkcije sažetka (Hash funkcije)

Funkcije sažetka determinističke su matematičke funkcije koje ulaznu poruku pretvaraju u izlazni niz fiksne duljine, tipično u heksadekadskom obliku. Temeljno je svojstvo da će ista ulazna poruka uvijek rezultirati istim izlaznim nizom.

Da bi hash funkcija bila sigurna, mora posjedovati sljedeća svojstva:

1) Otpornost na izračunavanje originala ili prva domenska otpornost (preimage resistance)
H=h(M) M=h-1(H) ne postoji

2) Otpornost na izračunavanje poruke koja daje isti sažetak ili druga domenska otpornost (2nd preimage resistance)
Za poznati M i H=h(M) je nemoguće pronaći M’ koji daje isti H

3) Otpornost na kolizije (collision resistance)
Nemoguće je pronaći bilo koje dvije poruke M1 i M2 za koje se dobiva isti sažetak. h(M1)=h(M2)

4) Difuzija
Svaka i najmanja promjena ulaznog podatka rezultira velikom i naizgled slučajnom promjenom na izlazu.

Hash funkcije osiguravaju integritet, sigurnost i efikasnost u verifikaciji digitalnih podataka i osiguravanju digitalne komunikacije. Koriste se u provjerama integriteta kako bismo znali da poruka nije izmijenjena, sigurnijoj pohrani lozinki (umjesto u jasnom tekstu, lozinka se prije pohrane u bazu provuče kroz neku hash funkciju), autentifikaciji digitalnih potpisa i u blockchainu kriptovaluta.

Neke od poznatijih hash funkcija su MD5, SHA, SHA i SHA.

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. Svoj naziv duguje šarenoj tablici unaprijed izračunatih sažetaka najčešćih lozinki. Cilj je napada dobiti lozinke spremljene u bazi podataka. Napadač uspoređuje unaprijed izračunate sažetke jedan po jedan sa sažetcima spremljenim u bazi podataka sve dok ne nađe poklapanje. Nakon što ga pronađe, lako može doći i do ostatka lozinki u istoj bazi. Ovakav napad može se spriječiti korištenjem tzv. salta – slučajnih podataka koji se nadodaju na ulazne tijekom sažimanja.

Izvori

[1] Christof Paar, Jan Pelzl, Understanding Cryptography, Springer-Verlag Berlin Heidelberg, 2009.
[2] https://platforma.hacknite.hr/challenges
[3] Kriptografija i kriptoanaliza, predavanja, FER
[4] Budin, L.; Golub, M; Jakobović, D., Jelenković, L (2010.) (2013.), Operacijski sustavi, Element, Zagreb
[5]https://www.cert.hr/wp-content/uploads/2019/04/CCERT-PUBDOC-2007-02-182.pdf

hash.1700570782.txt.gz · Last modified: 2025/12/01 11:40 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki