pienoiskuva|SHA-1 pienoiskuva|SHA-2
SHA () kuuluu kryptograafisiin tiivistefunktioihin. Sen eniten käytetty muoto on SHA-1, jota käytetään muun muassa useissa TLS-, SSL-, PGP-, SSH-, S/MIME- ja IPSec-ohjelmistoissa. MD-SHA-tiivistefunktioiden perhe alkoi vuonna 1990 MD4:llä joka nopeasti korvattiin heikkouksien vuoksi MD5:llä vuonna 1992.
Yhdysvaltojen sähköistä salakuuntelua, vieraiden kielten osaamista ja salakirjoituksen purkua harjoittava tiedusteluelin National Security Agency (NSA) suunnitteli SHA:n, ja se julkaistiin Yhdysvaltojen hallituksen standardina.
Ensimmäinen versio SHA, joka yleisemmin tunnetaan nimellä SHA-0, julkaistiin vuonna 1993. Seuraaja SHA-1 () julkaistiin vuonna 1995, minkä jälkeen on julkaistu SHA-2 ja SHA-3.
Julkaistuista standardeista kaksi ensimmäistä, SHA-0 ja SHA-1, on jo onnistuttu murtamaan. Hyökkäysmenetelmien johdosta on kehitetty vahvennus törmäysten havaitsemiseen, jota voidaan käyttää SHA-1:n ja MD5:n kanssa.
Tutkijat pitävät mahdollisena, että lähitulevaisuudessa myös SHA-2 murretaan, sillä se on niin samankaltainen edeltäjiinsä verrattuna. SHA-1-hyökkäystä ei ole vielä onnistuneesti käytetty SHA-2:een. SHA-2:n referenssitoteutus on esitelty IETF:n standardissa . SHA-2 algoritmi on sama SHA-224, SHA-256, SHA-384 ja SHA-512 variaatioissa eroten operandien koossa, alustusvektoreissa sekä lopullisen tiivisteen koossa.
SHA-3-funktion standardointiprosessi aloitettiin vuonna 2005 sen jälkeen, kun SHA-1:n murtaminen osoitettiin mahdolliseksi. Standardointiprosessi koostui useista osista, joista merkittävin oli vuosina 2007–2012 käyty kilpailu standardin pohjaksi otettavasta algoritmista. Kilpailun voitti belgialaisten ja italialaisten kryptologien kehittämä Keccak.
NSA:n sijaan prosessista vastasi NIST. Standardin piti alun perin valmistua kokonaisuudessaan jo pian kilpailun päätyttyä, vuoden 2012 loppuun mennessä, mutta se vahvistettiin FIPS 202 -standardiksi lopulta vasta elokuussa 2015.
SHA:ssa on seuraavat algoritmit:
Perhe Algoritmi Viestikoko Lohkokoko Tiivisteen koko (bittiä) SHA-1 SHA-1 264 512 160 SHA-2 SHA-224 264 512 224 SHA-2 SHA-256 264 512 256 SHA-2 SHA-384 2128 1024 384 SHA-2 SHA-512 2128 1024 512 SHA-2 SHA-512/224 2128 1024 224 SHA-2 SHA-512/256 2128 1024 256 SHA-3 SHA3-224 224 SHA-3 SHA3-256 256 SHA-3 SHA3-384 384 SHA-3 SHA3-512 512 SHA-3 SHAKE128 SHA-3 SHAKE256
Katso myös Salaus MD5 CRC
Lähteet
Aiheesta muualla Simple hash calculator
Luokka:Kryptografiset tiivistealgoritmit Luokka:Salakirjoitustekniikka