Koja je razlika između SHA i SHA-1 enkripcije?
SHA je akronim za Secure Hash Algorithm, standard šifriranja koji je izumila Nacionalna sigurnosna agencija, a objavio Nacionalni institut za standarde i tehnologiju. Utvrđeno je da izvorni SHA algoritam ima slabosti u metodama šifriranja te je zamijenjen SHA-1 radi veće sigurnosti.
Algoritam za sigurno raspršivanje
SHA je kriptografska hash funkcija. Funkcija raspršivanja uzima početni nešifrirani tekst, koji se naziva otvoreni tekst, i proizvodi teoretski jedinstveni broj koji čini šifriranu poruku. SHA stvara 160-bitni broj, što je broj između 0 i 1,46 x 10^48. Nije moguće jamčiti da je ovaj broj jedinstven za sve moguće otvorene tekstualne poruke, jer je broj takvih poruka teoretski beskonačan, ali izgledi su približno 2^80, ili 1,21 x 10^24, protiv dvije poruke koje proizvode isti šifrirani proizlaziti. Ako se to dogodi, to se naziva sudar. Kolizija predstavlja matematički napad na algoritam šifriranja, omogućujući kriptografu dešifriranje otvorenog teksta.
SHA-0 i SHA-1
Nakon objave, otkrivene su greške u izvornom SHA algoritmu koje su omogućile kriptografskom napadu da proizvede hash kolizije, ozbiljno oslabivši njegovu učinkovitost. Razvijena je revidirana verzija SHA-a, SHA-1, koja je stvorila iste 160-bitne rezultate bez izvornih nedostataka u algoritmu. Izvorni SHA je retroaktivno preimenovan u SHA-0 kako bi se napravila razlika između njegove upotrebe i upotrebe SHA-1.
Promjene u SHA-1
Izvorni nedostaci u SHA-0 nikada nisu objavljeni, budući da ti nedostaci pružaju alat za svakog napadača koji pokušava dešifrirati poruku pomoću SHA-0 enkripcije. Jedina javna informacija o slabostima izvornog algoritma ukazuje na to da su kolizije raspršenih algoritama vjerojatnije nego slučajne slučajnosti kada se koristi SHA-0, te da se kolizije pomoću neobjavljene metode uklanjaju kada se koristi SHA-1. Budući da SHA-1 i SHA-0 daju matematičke rezultate iste duljine, SHA-1 se može koristiti kao zamjena za originalni SHA-0 algoritam u računalnom softveru bez potrebe za većim prepisivanjem u ostatku softvera.
SHA-2 i SHA-3
Utvrđeno je da je SHA-1 robusniji od SHA-0, ali ostavlja prostora za poboljšanje. Matematička analiza SHA-1 rezultata pokazala je metodu kojom se SHA-1 enkripcija može razbiti 2000 puta brže nego što bi to bilo teoretski moguće provjerom svih 10^48 mogućih kombinacija njezinog izlaza. Budući da idealni kriptografski algoritam sprječava ovakva poboljšanja brzine dešifriranja, SHA-2 algoritam i izbjegava ovaj napad i povećava moguću veličinu raspršivanja na 512 bita ili 1,34 x 10^154. SHA-3, još snažniji algoritam za šifriranje, trenutno je u razvoju.