Kriptografska funkcija za sažimanje

S Vikipedije, slobodne enciklopedije

Kriptografski algoritmi (simetrični i asimetrični) su algoritmi koji služe za transformaciju poruke u cilju zaštite privatnosti pošiljaoca tako da samo namenjeni čitalac može da preuzme njen prvobitni sadržaj.

Kriptografski algoritmi ne štite integritet odnosno verodostojnost poruke koja je šifrovana. Ovo je vrlo važno iz razloga jer je moguće da je ključ provaljen i da nam napadač šalje lažne poruke, ali i mogućnosti da je došlo do greške prilikom šifrovanja ili dešifrovanja, tako da primljena poruka nije identična originalnom dokumentu. Iz tog razloga kreirane su funkcije za sažimanje iliti heš (mogu se susresti i pod imenima engl. one-way, hash function, message digest, fingerprint) algoritmi. Najpoznatiji i najkorišćeniji heš algoritmi su SHA-1, MD5, MDC-2, RIPEMD-160 i td. Heš algoritmi se svrstavaju u kriptografske algoritme bez ključa.

Način rada[uredi | uredi izvor]

Ovi algoritmi prosto sažmu (samelju u bukvalnom prevodu) svaku poruku ili fajl bez obzira na veličinu i na izlazu dobijamo niz od 128 ili 160 nula i jedinica, u zavisnosti koji algoritam je korišćen. Vrlo je teško gotovo nemoguće rekonstruisati ulaznu poruku a isto tako gotovo je nemoguće naći dva ulaza sa istom heš vrednošću. Verovatnoća da u poruci neko izmeni neku stavku, tako da novodobijeni tekst ima istu heš vrednost kao i originalna je u slučaju 160 bitnih algoritama, dakle zanemarljivo mala verovatnoća, zato se negde heš funkcije nazivaju i "otisci prstiju" poruka.

Primer primene heš algoritma[uredi | uredi izvor]

Imamo poruku koju šaljemo na primer Bojan. Vrednost koju dobijemo kada se reč Bojan propusti kroz MD5 algoritam iznosi:

Heksadecimalno:MD5(Bojan) = 6d57f608bcd9be81cccf4b5e3af01cb1

Sada ovu poruku šifrujemo nekim algoritmom na primer AES algoritmom i šaljemo je putem Interneta osobi X. Neka neko uspe da presretne poruku i nekako otkrije ključ i izmeni poruku u na primer bojan (malo početno slovo), i takvu poruku sa izmenjenim sadržajem pošalje našoj osobi X. Vrednost heš funkcije izmenjene poruke iznosi:

Heksadecimalno: MD5(bojan) = fee2c775c18a12b7b52b58129b00e1bd

Upoređivanjem vrednosti heš funkcije osoba X sada lako saznaje da je došlo do promene u sadržini poruke, odnosno da primljena poruka nije identična originalnoj poruci.

Primena[uredi | uredi izvor]

Ovi algoritmi u kriptografiji se koriste prvenstveno za proveru integriteta poruka, u sistemima digitalnog potpisa kao i efikasan način čuvanja pristupnih lozinki u bazama podataka kao i u određenim sistemima autentifikacije. Zbog svoje ireverzibilnosti, to jest nemogućnosti da se iz sažetka izvede originalna poruka ovaj algoritam je efikasan način čuvanja lozinki, kada je neophodno da samo korisnik može znati lozinku. Ovi algoritmi se još koriste i za proveru integriteta i ispravnosti fajlova prilikom preuzimanja sa interneta.

Napadi[uredi | uredi izvor]

Napadi na ove algoritme se svode na pronalaženje kolizije, odnosno pronalaženje neke vrednosti koja će imati istu vrednost kao i originalna poruka, ovo se još naziva i paradoks rođendana. Danas se 128 bitni algoritmi poput MD5 i MD4 mogu smatrati nesigurnim odnosno provaljenim i prepororučeno je koristiti algoritme sa većom dužinom ključa.

Lista kriptografskih heš algoritma[uredi | uredi izvor]

Ovo je lista najpopularnijih i najkorišćenijih algoritama pri čemu se neki od dole navedenih algoritama danas smatraju nesigurnim.

Heš
algoritam
Sažetak
(u bitima)
Interna dužina
(u bitima)
Veličina bloka
(u bitima)
HAVAL 128-256
MD2 128 512 16
MD4 128 128 64
MD5 128 128 64
RIPEMD-128 128 128 64
RIPEMD-160 160 160 64
SHA-0 160
SHA-1 160 160 64
SHA-224 224 256 64
SHA-256 256 256 64
SHA-384 384 512 128
SHA-512 512 512 128
Snefru 128-256
Tiger-128 128 192 64
Tiger-160 160 192 64
Tiger / Tiger2 192 192 64
WHIRLPOOL 512 512 64

Vidi još[uredi | uredi izvor]

Spoljašnje veze[uredi | uredi izvor]