SHA

Wikipediasta
(Ohjattu sivulta SHA-2)
Siirry navigaatioon Siirry hakuun
Tämä artikkeli käsittelee kryptografista tiivistefunktiota. Muita merkityksiä täsmennyssivulla.
SHA-1
SHA-2

SHA (lyhenne sanoista Secure Hash Algorithm) 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.[1]

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 (RFC 3174) 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.[2][3][4] Hyökkäysmenetelmien johdosta on kehitetty vahvennus törmäysten havaitsemiseen, jota voidaan käyttää SHA-1:n ja MD5:n kanssa.[5]

Tutkijat pitävät mahdollisena, että lähitulevaisuudessa myös SHA-2 murretaan, sillä se on niin samankaltainen edeltäjiinsä verrattuna.kenen mukaan? SHA-1-hyökkäystä ei ole vielä onnistuneesti käytetty SHA-2:een. SHA-2:n referenssitoteutus on esitelty IETF:n standardissa RFC 6234. SHA-2 algoritmi on sama SHA-224, SHA-256, SHA-384 ja SHA-512 variaatioissa eroten operandien koossa, alustusvektoreissa sekä lopullisen tiivisteen koossa.[6]

SHA-3-funktion standardointiprosessi aloitettiin vuonna 2005 sen jälkeen, kun SHA-1:n murtaminen osoitettiin mahdolliseksi.[7][8] 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.[9]

NSA:n sijaan prosessista vastasi NIST. Standardin piti alun perin valmistua kokonaisuudessaan jo pian kilpailun päätyttyä, vuoden 2012 loppuun mennessä[2], mutta se vahvistettiin FIPS 202 -standardiksi lopulta vasta elokuussa 2015.[10]

SHA:ssa on seuraavat algoritmit:[10][11]

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
  1. The first collision for full SHA-1 (PDF) shattered.io. Viitattu 15.1.2020. (englanniksi)
  2. a b Tentative Timeline of the Development of New Hash Functions 12.7.2006. NIST. Arkistoitu 10.6.2008. Viitattu 13.6.2008. (englanniksi)
  3. Stevens, Marc; Bursztein, Elie; Karpman, Pierre; Albertini, Ange; Markov, Yarik; Petit-Bianco, Alex & Baisse, Clement: Announcing the first SHA1 collision Google Security Blog. 23.2.2017. Viitattu 30.10.2017. (englanniksi)
  4. Goodin, Dan: At death’s door for years, widely used SHA1 function is now dead Ars Technica. 23.2.2017. Viitattu 24.2.2017. (englanniksi)
  5. Marc Stevens: Counter-cryptanalysis (PDF) marc-stevens.nl. Viitattu 23.9.2022. (englanniksi)
  6. Improving SHA-2 Hardware Implementations researchgate.net. lokakuu 2006. doi:10.1007/11894063_24 Viitattu 15.1.2020. (englanniksi)
  7. Cryptographic Hash Algorithm Competition csrc.nist.gov. (englanniksi)
  8. SHA-3 Standardization 4.1.2017. NIST. Viitattu 30.10.2017. (englanniksi)
  9. SHA-3 Winner NIST. Viitattu 4.2.2017. (englanniksi)
  10. a b SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions FIPS PUB. NIST. Viitattu 24.2.2017. (englanniksi)
  11. Secure Hash Standard (SHS) NIST. Viitattu 24.2.2017. (englanniksi)

Aiheesta muualla

[muokkaa | muokkaa wikitekstiä]
Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.