close
Mine sisu juurde

SHA

Allikas: Vikipeedia

Secure Hash Algorithm ehk SHA on krüptograafiliste räsifunktsioonide tootepere, mis töötati välja Ameerika Ühendriikide Riiklikus Standardite ja Tehnoloogia Instituudis (NIST) koostöös Riikliku julgeolekuagentuuriga.

SHA algoritmide tooteperre kuuluvad SHA-0, SHA-1, SHA-2 ja SHA-3.

SHA-0 ja SHA-1

[muuda | muuda lähteteksti]
Image
SHA-1 räsifunktsiooni skeem

SHA-0 algoritmi algne nimi oli SHA, kuid uuemate sarnase põhimõttega algoritmide lisandumisel võeti kasutusele nimi SHA-0. 1993. aastal avaldati algse algoritmi edasiarendus SHA-1. Uues algoritmis oli parandatud varem leitud turvaauk, kusjuures SHA-0 ja SHA-1 erinevad ainult ühe tehte võrra. Praeguseks on SHA-1 algoritm kuulutatud ebaturvaliseks ning NIST soovitab riigiorganisatsioonidel kasutada uuemaid SHA räsifunktsioone[1].

Microsoft[2], Google[3] ja Mozilla[4] lõpetasid 2017. aastast brauserites SHA-1 kasutavate SSL sertifikaatide toetamise.

SHA-1 on kasutusel Giti[5] ja Mercuriali versioonihaldustarkvaras andmete terviklikkuse kontrollimise eesmärgil.

SHA-2 perekonda kuuluvad räsifunktsioonid SHA-256 ja SHA-512. SHA-256 kasutab 32-bitiseid sõnu ning SHA-512 64-bitiseid sõnu.

SHA-2 räsifunktsioon on kasutusel sellistes rakendustes ja protokollides nagu TLS, SSL, PGP, SSH, S/MIME ja IPsec.

SHA-256 funktsiooni kasutatakse Debian GNU ja Linuxi tarkvarapakkide autentimisel[6] ja DKIM sõnumite allkirjastamise standardis. SHA-512 on kasutusel süsteemis, mis autendib arhiivitud videoid Rwanda genotsiidi tribunalist[7]. Linuxi ja UNIXi arendajatel on kavas paroolide räsimiseks võtta kasutusele SHA-256 ja SHA-512[8].

Bitcoin kasutab SHA-256 funktsiooni tehingute verifitseerimiseks ja toimingutõestuse arvutamisel.

Image
SHA-2 räsifunktsiooni ühe iteratsiooni skeem

Teadaolevad rünnakud

[muuda | muuda lähteteksti]
Artikkel Aasta Ründemeetod Rünnak Variant Tsükleid Keerukus
New Collision Attacks Against
Up To 24-step SHA-2
[9]
2008DeterministlikKollisioonSHA-25624/64228.5
SHA-51224/80232.5
Preimages for step-reduced SHA-2[10]2009KeskelkohterünneOriginaalirünneSHA-25642/642251.7
43/642254.9
SHA-51242/802502.3
46/802511.5
Advanced meet-in-the-middle
preimage attacks
[11]
2010Keskelkohterünne Originaalirünne SHA-25642/642248.4
SHA-51242/802494.6
Higher-Order Differential Attack
on Reduced SHA-256
[12]
2011Diferentsiaalne krüptoanalüüsPseudokollisioonSHA-25646/642178
33/64246
Bicliques for Preimages: Attacks on
Skein-512 and the SHA-2 family
[13]
2011Keskelkohterünne Originaalirünne SHA-25645/642255.5
SHA-51250/802511.5
Pseudo-originaalirünneSHA-25652/642255
SHA-51257/802511
Improving Local Collisions: New
Attacks on Reduced SHA-256
[14]
2013Diferentsiaalne krüptoanalüüsKollisioon SHA-25631/64265.5
Pseudokollisioon SHA-25638/64237
Branching Heuristics in Differential Collision
Search with Applications to SHA-512
[15]
2014Heuristiline

diferentsiaalne krüptoanalüüs

Pseudokollisioon SHA-51238/80240.5
Analysis of SHA-512/224 and SHA-512/256[16]2016Diferentsiaalne krüptoanalüüsKollisioon SHA-25628/64praktiline
SHA-51227/80praktiline
Pseudokollisioon SHA-51239/80praktiline

SHA-3 loodi Riikliku Standardite ja Tehnoloogia Instituudi poolt peetud avaliku konkursi käigus. Konkursi komisjoni poolt väljavalituks osutunud räsialgoritmi Keccak loojateks on Guido Bertoni, Joan Daemen, Michaël Peeters ja Gilles Van Assche[17]. SHA-3 loomise eesmärk ei olnud SHA-2 väljavahetamine, vaid sellele alternatiivi pakkumine juhul kui SHA-2 algoritmis avastatakse turvaauke.

SHA-3 perekonda kuuluvad laiendatava väljundiga räsifunktsioonid (ingl extendable-output function, XOF) SHAKE128 ja SHAKE256, mille väljundi suurus on vabalt muudetav. SHAKE-funktsioonid on esimesed Riikliku Standardite ja Tehnoloogia Instituudi poolt standardiseeritud XOF funktsioonid[18].

SHA funktsioonide võrdlus

[muuda | muuda lähteteksti]
SHA funktsioonide võrdlus
Algoritmi variant Väljundi suurus
(bittides)
Sisemise oleku suurus
(bittides)
Ploki suurus
(bittides)
Maksimaalne sisendi suurus
(bittides)
Tsüklite arv Tehted Turvalisus
(bittides)
Arvutuskiirus
(MiB/s)
MD5 (võrdluseks)128128
(4 × 32)
512Piiramatu[19]64And, Xor, Rot, Add (mod 232), Or<64
(on leitud kollisioone)
335
SHA-0160160
(5 × 32)
512264 − 180And, Xor, Rot, Add (mod 232), Or<80
(on leitud kollisioone)
-
SHA-1160160
(5 × 32)
512264 − 180<80
(teoreetiline rünnak[20])
192
SHA-2SHA-224
SHA-256
224
256
256
(8 × 32)
512264 − 164And, Xor, Rot, Add (mod 232), Or, Shr112
128
139
SHA-384
SHA-512
SHA-512/224
SHA-512/256
384
512
224
256
512
(8 × 64)
10242128 − 180And, Xor, Rot, Add (mod 264), Or, Shr192
256
112
128
154
SHA-3SHA3-224
SHA3-256
SHA3-384
SHA3-512
224
256
384
512
1600
(5 × 5 × 64)
1152
1088
832
576
Piiramatu[21]24[22]And, Xor, Rot, Not112
128
192
256
-
SHAKE128
SHAKE256
d (arbitraarne)
d (arbitraarne)
1344
1088
min(d/2, 128)
min(d/2, 256)
-
  1. "Arhiivikoopia". Originaali arhiivikoopia seisuga 9. juuni 2011. Vaadatud 5. oktoobril 2017.{{netiviide}}: CS1 hooldus: arhiivikoopia kasutusel pealkirjana (link)
  2. "Arhiivikoopia". Originaali arhiivikoopia seisuga 5. oktoober 2016. Vaadatud 5. oktoobril 2017.{{netiviide}}: CS1 hooldus: arhiivikoopia kasutusel pealkirjana (link)
  3. https://groups.google.com/a/chromium.org/d/msg/blink-dev/2-R4XziFc7A/i_JipRRJoDQJ
  4. https://blog.mozilla.org/security/2014/09/23/phasing-out-certificates-with-sha-1-based-signature-algorithms/
  5. https://www.youtube.com/watch?v=4XpnKHJAok8
  6. https://web.archive.org/web/20111107215111/http://google.com/codesearch/p?hl=en
  7. http://www.nytimes.com/2009/01/27/science/27arch.html
  8. "Arhiivikoopia". Originaali arhiivikoopia seisuga 18. juuni 2010. Vaadatud 5. oktoobril 2017.{{netiviide}}: CS1 hooldus: arhiivikoopia kasutusel pealkirjana (link)
  9. Somitra Kumar Sanadhya & Palash Sarkar (2008). "New Collision Attacks Against Up To 24-step SHA-2" (PDF). IACR Cryptology ePrint Archive. 2008:270.
  10. Kazumaro Aoki; Jian Guo; Krystian Matusiewicz; Yu Sasaki & Lei Wang (2009). "Preimages for step-reduced SHA-2". Advances in Cryptology - ASIACRYPT 2009. Lecture Notes in Computer Science. Springer Berlin Heidelberg. 5912: 578–597. DOI:10.1007/978-3-642-10366-7_34. ISBN 978-3-642-10366-7. ISSN 0302-9743.
  11. Jian Guo; San Ling; Christian Rechberger & Huaxiong Wang (2010). "Advanced meet-in-the-middle preimage attacks: First results on full Tiger, and improved results on MD4 and SHA-2" (PDF). Advances in Cryptology - ASIACRYPT 2010. Lecture Notes in Computer Science. Springer Berlin Heidelberg. 6477: 56–75. DOI:10.1007/978-3-642-17373-8_4. ISBN 978-3-642-17373-8. ISSN 0302-9743.
  12. Mario Lamberger & Florian Mendel (2011). "Higher-Order Differential Attack on Reduced SHA-256" (PDF). IACR Cryptology ePrint Archive. 2011:37.
  13. Dmitry Khovratovich, Christian Rechberger & Alexandra Savelieva (2011). "Bicliques for Preimages: Attacks on Skein-512 and the SHA-2 family" (PDF). IACR Cryptology ePrint Archive. 2011:286.
  14. Florian Mendel; Tomislav Nad; Martin Schläffer (2013). "Improving Local Collisions: New Attacks on Reduced SHA-256". Advances in Cryptology – EUROCRYPT 2013. Lecture Notes in Computer Science. Springer Berlin Heidelberg. 7881: 262–278. DOI:10.1007/978-3-642-38348-9_16. ISBN 978-3-642-38348-9. ISSN 0302-9743.
  15. Maria Eichlseder and Florian Mendel and Martin Schläffer (2014). "Branching Heuristics in Differential Collision Search with Applications to SHA-512" (PDF). IACR Cryptology ePrint Archive. 2014:302.
  16. Christoph Dobraunig; Maria Eichlseder & Florian Mendel (2016). "Analysis of SHA-512/224 and SHA-512/256" (PDF). {{cite journal}}: viitemall journal nõuab parameetrit |journal= (juhend)
  17. "Arhiivikoopia". Originaali arhiivikoopia seisuga 19. detsember 2013. Vaadatud 5. oktoobril 2017.{{netiviide}}: CS1 hooldus: arhiivikoopia kasutusel pealkirjana (link)
  18. http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf
  19. "The MD5 Message-Digest Algorithm". Vaadatud 18.04.2016.
  20. "The SHAppening: freestart collisions for SHA-1". Vaadatud 5.11.2015.
  21. "The Sponge Functions Corner". Vaadatud 27.01.2016.
  22. "The Keccak sponge function family". Vaadatud 27.01.2016.