User Tools

Site Tools


sha1

This is an old revision of the document!


SHA-1

SHA-1 (Secure Hash Algorithm 1) je hash funkcija, odnosno funkcija sažetka, koja iz danog ulaza proizvodi 160-bitni sažetak. Jasni tekst dijeli se na 512-bitne blokove, nakon čega se nadopunjavanje zadjneg bloka (padding) odvija na isti način kao i kod MD5. Osim načina nadopunjavanja, SHA-1 s MD5 dijeli i Merkle-Damgård konstrukciju.

Sažetak H od 160 bitova sastoji se od 5 nadovezanih 32-bitovnih varijabli koje se inicijaliziraju s heksadekadskim vrijednostima:

 	A0 = 67452301	 B0 =EFCDAB89	 C0 =98BADCFE	 D0 =10325476	 E0=C3D2E1F0

podblokovi M0 , …, M15 služe za stvaranje 80 riječi W1, …,,W80. Sažimanje svakog podbloka obavlja se u 4 kruga, svaki sa po 20 koraka. Svaki od krugova koristi jednu od 4 funkcije i konstante:

 	Fi(x, y, z) = (X ^ Y) v (!X ^ Z)			1  ≤ i ≤ 20
 	Fi(x, y, z) = X ⊕ Y ⊕ Z				21 ≤ i ≤ 40
 	Fi(x, y, z) = (X ^ Y) v (X ^ Z) v (X ^ Z)		41 ≤ i ≤ 60
 	Fi(x, y, z) = X ⊕ Y ⊕ Z				61 ≤ i ≤ 80

 			   Ki = 5A827999 	1  ≤ i ≤ 20
 			   Ki = 6ED9EBA1 	21 ≤ i ≤ 40
 			   Ki = 8F1BBCDC 	41 ≤ i ≤ 60
 			   Ki = CA62C1D6	61 ≤ i ≤ 80

SHA-1 je kriptografski slomljena, a već 2005. se smatrala nesigurnom protiv napadača sa velikom količinom resursa zbog svog kratkog sažetka. Danas se napadi na SHA-1 pomoću kolizijskog napada s odabranim prefiksom smatraju praktičnima, što je Google i dokazao 2017. generiranjem dvaju PDF-ova s istim sažetkom, tako da većina komercijalnih preglednika više ne prihvaća SSL certifikate temeljene na SHA-1 funkciji. Unatoč tome, SHA-1 se i dalje koristi.

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] https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html

sha1.1695635227.txt.gz · Last modified: 2025/06/03 10:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki