Sigurni hash algoritam, često poznat jednostavno kao “SHA”, je algoritam za raspršivanje koji se smatra kriptografski sigurnim. Općenito, funkcije raspršivanja koriste se za sortiranje i organiziranje digitalnih podataka u manje, više kategorizirane pakete. Algoritmi su programi koji pokreću funkcije, a sigurnost tih algoritama važna je utoliko što kontrolira koliko se lako podaci mogu otključati i preurediti. Koliko stvari trebaju biti sigurne obično ovisi o okolnostima. Mnogi programeri softvera i koda žele neprobojne algoritme jer su njihove metode razvrstavanja tema i crtanja veza vlasničke i koriste ih za zaradu. U drugim su slučajevima sami podaci vrlo osjetljivi, kao što je često slučaj sa stvarima poput medicinske dokumentacije ili određenih državnih dokumenata. Stvarna mehanika SHA-ova obično je vrlo komplicirana i obično je potreban barem određeni stupanj tehničke pameti da bi se u potpunosti shvatilo kako rade i kako su razvijeni. Kao i većina tehnoloških stvari, također je došlo do uzlazne evolucije u razvoju; raniji modeli uvelike su zamijenjeni, a noviji, sigurniji dizajni se gotovo neprestano uvode.
Općenito razumijevanje Hash algoritama
Suvremeni digitalni krajolik sadrži stotine milijuna točaka podataka, od kojih sve zauzimaju mrežu međusobne povezanosti i zajedničkih točaka, kako na web stranicama tako iu društvenoj sferi kada su u pitanju poruke i objave koje generiraju korisnici. Haširanje je jedan od načina spajanja podataka koji su slični ili povezani tako da tvore nešto poput kompendija ili manjeg, više međusobno povezanih “web unutar weba”. Algoritmi sigurnog raspršivanja nastoje to organizirati na učinkovit i siguran način.
Izvorni podaci, nakon što ih je hashirao SHA, obično se ne mogu rekonstruirati bez ogromne količine računalne snage. Sigurni algoritmi se često koriste u kombinaciji s drugim algoritmima za provjeru autentičnosti poruka, uključujući digitalne potpise.
Kako se provode
Neki mrežni usmjerivači i vatrozidi implementiraju SHA-ove izravno u svoj hardver. To omogućuje autentifikaciju paketa podataka s ograničenim utjecajem na propusnost. Posebno dizajnirani softver je još jedna opcija, uključujući mnoge implementacije otvorenog koda. Na primjer, američki nacionalni institut za standarde i tehnologiju (NIST) i kanadska komunikacijska sigurnosna ustanova (CSE) zajedno vode Program za provjeru kriptografskih modula (CMVP). Ovaj službeni program potvrđuje ispravan rad implementacije sigurnih algoritama za osjetljive aplikacije.
Standardizacija
Američka vlada standardizirala je najmanje šest sigurnih hash algoritama. SHA-0 i SHA-1 su bili najraniji modeli razvijeni 1990-ih. SHA-2 serija razvijena 2000-ih uključivala je SHA-224, -256, -384 i -512. Oni su dizajnirani tako da dva dokumenta s različitim sadržajem općenito proizvode dva jedinstvena skupa hash vrijednosti, što je stvarno korisno u smislu izbjegavanja sudara raspršivanja.
Najranije iteracije
SHA-0 algoritam, prvi put objavljen 1993. od strane NIST-a, brzo je prekinut nakon što je pronađena značajna slabost. Zamijenjen je SHA-1 1995., koji uključuje dodatni računski korak koji rješava neotkrivene probleme SHA-0. Oba algoritma hashiraju poruku do 264-1 bita u 160-bitni “digest”. Oba koriste veličinu bloka od 512 bita i veličinu riječi od 32 bita u svom radu.
SHA-1 se koristi u nekim uobičajenim internetskim protokolima i sigurnosnim alatima. To uključuje IPsec, PGP, SSL, S/MIME, SSH i TLS. SHA-1 se također obično koristi kao dio zaštitne sheme za neklasificirane državne dokumente. Neki dijelovi privatnog sektora također koriste ovaj algoritam za određene osjetljive informacije. Međutim, službeno je povučen iz upotrebe opće države 2010. godine.
Evolucija i kontinuirani razvoj
SHA-224, -256, -384 i -512 objavio je NIST između 2001. i 2004. Ova četiri algoritma, također poznata kao SHA-2 obitelj, općenito su robustnija od SHA-1. SHA-224 i SHA-256 koriste iste veličine bloka, riječi i maksimalne ulazne poruke kao SHA-1. Nasuprot tome, SHA-224 proizvodi 224-bitni sažetak, dok SHA-256 stvara 256-bitni sažetak. SHA-384 i SHA-512 povećavaju veličinu bloka na 1024 bita, veličinu riječi na 64 bita, a maksimalnu duljinu ulazne poruke na 2128-1 bita. Sažetak koji proizvodi SHA-384 dugačak je 384 bita, dok SHA-512 sažetak sadrži 512 bita.
Poput SHA-0 i SHA-1, obitelj SHA-2 je dizajnirala američka Agencija za nacionalnu sigurnost (NSA). Iako ozbiljni nedostaci nisu javno otkriveni u SHA-2, NIST je raspisao natječaj za razvoj sljedećeg sigurnog hash algoritma. Ovaj novi algoritam, koji će se zvati SHA-3, vjerojatno će biti odabran iz zbirke javnih unosa. Očekuje se da će to biti novi dizajn, koji se ne temelji na postojećim algoritmima.