SHA

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]

SHA-1
SHA-2

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. 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]

PerheAlgoritmiViestikokoLohkokokoTiivisteen koko (bittiä)
SHA-1SHA-1264512160
SHA-2SHA-224264512224
SHA-2SHA-256264512256
SHA-2SHA-38421281024384
SHA-2SHA-51221281024512
SHA-2SHA-512/22421281024224
SHA-2SHA-512/25621281024256
SHA-3SHA3-224224
SHA-3SHA3-256256
SHA-3SHA3-384384
SHA-3SHA3-512512
SHA-3SHAKE128
SHA-3SHAKE256

Katso myös

Lähteet

  1. The first collision for full SHA-1 (PDF) shattered.io. Viitattu 15.1.2020. (englanniksi)
  2. 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. 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

    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.