SHA

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