| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| sha [2023/11/21 12:43] – zrinka | sha [2025/12/01 11:40] (current) – external edit 127.0.0.1 |
|---|
| ====SHA==== | ====SHA==== |
| |
| **SHA (Secure Hash Algorithm)** je familija funkcija sažetka (//hash// funkcija) koje su naprednije od MD5. Vraćaju sažetke koji su veličine između 160 i 512 bitova, dok su oni od MD5 128-bitovni. Iz tog razloga manja je vjerojatnost da će dva različita inputa proizvesti isti sažetak, odnosno ima bolji //collision resistance//, zbog čega su SHA funkcije sigurnije od MD5 te se danas upotrebljavaju u većini sustava koji zahtijevaju određenu razinu sigurnosti. Trenutno postoje tri verzije, SHA-1, SHA-2 i SHA-3, a svaka od njih ima još nekoliko inačica | **SHA (Secure Hash Algorithm)** je familija funkcija sažetka (//hash// funkcija) koje su naprednije od MD5. Vraćaju sažetke koji su veličine između 160 i 512 bitova, dok su oni od MD5 128-bitovni. Iz tog razloga manja je vjerojatnost da će dva različita inputa proizvesti isti sažetak, odnosno kažemo da SHA ima bolji //collision resistance//. SHA funkcije su zato sigurnije od MD5 te se danas upotrebljavaju u većini sustava koji zahtijevaju određenu razinu sigurnosti. Trenutno postoje tri verzije, SHA-1, SHA-2 i SHA-3, a svaka od njih ima još nekoliko inačica |
| | |
| ==SHA-1== | ===SHA-1=== |
| **SHA-1** je prva inačica SHA. koja za dani ulaz vraća 160-bitni sažetak. Jasni tekst dijeli se na 512-bitne blokove, nakon čega se nadopunjavanje zadnjeg bloka (//padding//) odvija na isti način kao i kod MD5. Osim toga, SHA-1 dijeli s MD5 i Merkle-Damgård konstrukciju. | **SHA-1** je prva inačica SHA. koja za dani ulaz vraća 160-bitni sažetak. Jasni tekst dijeli se na 512-bitne blokove, nakon čega se nadopunjavanje zadnjeg bloka (//padding//) odvija na isti način kao i kod MD5. Osim toga, SHA-1 dijeli s MD5 i Merkle-Damgård konstrukciju. |
| |
| {{ ::sha1.png?nolink&500 | Sha-1 shema}} | {{ ::sha1.png?nolink&500 | Sha-1 shema}} |
| |
| SHA-1 je kriptografski slomljena, a već 2005. se smatrala nesigurnom protiv napadača sa velikom količinom resursa zbog svoga 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. | SHA-1 je kriptografski slomljena, a već 2005. se smatrala nesigurnom protiv napadača s velikom količinom resursa zbog svoga sažetka. Danas se napadi na SHA-1 uz pomoć 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. |
| {{ ::shattered.png?nolink&500 | Googleovi izračuni o lomljenju hash funkcija iz 2017. godine [4]}} | {{ ::shattered.png?nolink&500 | Googleovi izračuni o lomljenju hash funkcija iz 2017. godine [4]}} |
| |
| ===SHA-2=== | ===SHA-2=== |
| **SHA-2** je **funkcija sažetka** (//hash// funkcija) temeljena na istoj konstrukciji kao SHA-1 (Merkle-Damgård) i ima identične principe nadopunjavanja, ali uz značajno izmijenjene funkcije po kojima se sažetak računa. SHA-2 dolazi u 4 verzije različitih duljina ulaznog bloka – SHA-224, SHA-256, SHA-384 i SHA-512. | **SHA-2** temeljena je na istoj konstrukciji kao SHA-1 (Merkle-Damgård) i ima identične principe nadopunjavanja, ali uz značajno izmijenjene funkcije po kojima se sažetak računa. SHA-2 dolazi u 4 verzije različitih duljina ulaznog bloka – SHA-224, SHA-256, SHA-384 i SHA-512. |
| |
| {{ ::sha2_var.png?nolink&600 |}} | {{ ::sha2_var.png?nolink&600 |}} |
| |
| ===SHA-3=== | ===SHA-3=== |
| **SHA-3** je **funkcija sažetka** (//hash// funkcija) temeljena na **Keccak algoritmu**, novoj **spužvastoj konstrukciji** te značajno izmijenjenim matematičkim principima u odnosu na prethodne iteracije SHA standarda. Izmijenjen je i način nadopunjavanja zadnjeg bloka teksta (//padding//) koji se u SHA-3 obavlja po shemi M||10*1 | **SHA-3** temeljena je na **Keccak algoritmu**, novoj **spužvastoj konstrukciji** te značajno izmijenjenim matematičkim principima u odnosu na prethodne iteracije SHA standarda. Izmijenjen je i način nadopunjavanja zadnjeg bloka teksta (//padding//) koji se u SHA-3 obavlja po shemi M||10*1 |
| {{ ::spuzvabob.png?nolink&600 | Spužvasta konstrukcija SHA-3 funkcije}} | {{ ::spuzvabob.png?nolink&600 | Spužvasta konstrukcija SHA-3 funkcije}} |
| | |