SHA

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

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.

Microsoft, Google ja Mozilla lõpetasid 2017. aastast brauserites SHA-1 kasutavate SSL sertifikaatide toetamise.

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

SHA-2

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.

Rakendused

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 ja DKIM sõnumite allkirjastamise standardis. SHA-512 on kasutusel süsteemis, mis autendib arhiivitud videoid Rwanda genotsiidi tribunalist. Linuxi ja UNIXi arendajatel on kavas paroolide räsimiseks võtta kasutusele SHA-256 ja SHA-512.

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

SHA-2 räsifunktsiooni ühe iteratsiooni skeem

Teadaolevad rünnakud

Artikkel Aasta Ründemeetod Rünnak Variant Tsükleid Keerukus
New Collision Attacks Against
Up To 24-step SHA-2
2008DeterministlikKollisioonSHA-25624/64228.5
SHA-51224/80232.5
Preimages for step-reduced SHA-22009KeskelkohterünneOriginaalirünneSHA-25642/642251.7
43/642254.9
SHA-51242/802502.3
46/802511.5
Advanced meet-in-the-middle
preimage attacks
2010Keskelkohterünne Originaalirünne SHA-25642/642248.4
SHA-51242/802494.6
Higher-Order Differential Attack
on Reduced SHA-256
2011Diferentsiaalne krüptoanalüüsPseudokollisioonSHA-25646/642178
33/64246
Bicliques for Preimages: Attacks on
Skein-512 and the SHA-2 family
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
2013Diferentsiaalne krüptoanalüüsKollisioon SHA-25631/64265.5
Pseudokollisioon SHA-25638/64237
Branching Heuristics in Differential Collision
Search with Applications to SHA-512
2014Heuristiline

diferentsiaalne krüptoanalüüs

Pseudokollisioon SHA-51238/80240.5
Analysis of SHA-512/224 and SHA-512/2562016Diferentsiaalne krüptoanalüüsKollisioon SHA-25628/64praktiline
SHA-51227/80praktiline
Pseudokollisioon SHA-51239/80praktiline

SHA-3

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

SHA funktsioonide võrdlus

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)
512Piiramatu64And, 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)
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
Piiramatu24And, Xor, Rot, Not112
128
192
256
-
SHAKE128
SHAKE256
d (arbitraarne)
d (arbitraarne)
1344
1088
min(d/2, 128)
min(d/2, 256)
-

Viited

  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.