From Wikipedia, the free encyclopedia
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.
See artikkel ootab keeletoimetamist. (Oktoober 2022) |
SHA algoritmide tooteperre kuuluvad SHA-0, SHA-1, SHA-2 ja SHA-3.
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.
Artikkel | Aasta | Ründemeetod | Rünnak | Variant | Tsükleid | Keerukus |
---|---|---|---|---|---|---|
New Collision Attacks Against Up To 24-step SHA-2[9] | 2008 | Deterministlik | Kollisioon | SHA-256 | 24/64 | 228.5 |
SHA-512 | 24/80 | 232.5 | ||||
Preimages for step-reduced SHA-2[10] | 2009 | Keskelkohterünne | Originaalirünne | SHA-256 | 42/64 | 2251.7 |
43/64 | 2254.9 | |||||
SHA-512 | 42/80 | 2502.3 | ||||
46/80 | 2511.5 | |||||
Advanced meet-in-the-middle preimage attacks[11] | 2010 | Keskelkohterünne | Originaalirünne | SHA-256 | 42/64 | 2248.4 |
SHA-512 | 42/80 | 2494.6 | ||||
Higher-Order Differential Attack on Reduced SHA-256[12] | 2011 | Diferentsiaalne krüptoanalüüs | Pseudokollisioon | SHA-256 | 46/64 | 2178 |
33/64 | 246 | |||||
Bicliques for Preimages: Attacks on Skein-512 and the SHA-2 family[13] | 2011 | Keskelkohterünne | Originaalirünne | SHA-256 | 45/64 | 2255.5 |
SHA-512 | 50/80 | 2511.5 | ||||
Pseudo-originaalirünne | SHA-256 | 52/64 | 2255 | |||
SHA-512 | 57/80 | 2511 | ||||
Improving Local Collisions: New Attacks on Reduced SHA-256[14] | 2013 | Diferentsiaalne krüptoanalüüs | Kollisioon | SHA-256 | 31/64 | 265.5 |
Pseudokollisioon | SHA-256 | 38/64 | 237 | |||
Branching Heuristics in Differential Collision Search with Applications to SHA-512[15] | 2014 | Heuristiline
diferentsiaalne krüptoanalüüs |
Pseudokollisioon | SHA-512 | 38/80 | 240.5 |
Analysis of SHA-512/224 and SHA-512/256[16] | 2016 | Diferentsiaalne krüptoanalüüs | Kollisioon | SHA-256 | 28/64 | praktiline |
SHA-512 | 27/80 | praktiline | ||||
Pseudokollisioon | SHA-512 | 39/80 | praktiline |
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].
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) | 128 | 128 (4 × 32) | 512 | Piiramatu[19] | 64 | And, Xor, Rot, Add (mod 232), Or | <64 (on leitud kollisioone) | 335 | |
SHA-0 | 160 | 160 (5 × 32) | 512 | 264 − 1 | 80 | And, Xor, Rot, Add (mod 232), Or | <80 (on leitud kollisioone) | - | |
SHA-1 | 160 | 160 (5 × 32) | 512 | 264 − 1 | 80 | <80 (teoreetiline rünnak[20]) | 192 | ||
SHA-2 | SHA-224 SHA-256 | 224 256 | 256 (8 × 32) | 512 | 264 − 1 | 64 | And, Xor, Rot, Add (mod 232), Or, Shr | 112 128 | 139 |
SHA-384 SHA-512 SHA-512/224 SHA-512/256 | 384 512 224 256 | 512 (8 × 64) | 1024 | 2128 − 1 | 80 | And, Xor, Rot, Add (mod 264), Or, Shr | 192 256 112 128 | 154 | |
SHA-3 | SHA3-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, Not | 112 128 192 256 | - |
SHAKE128 SHAKE256 | d (arbitraarne) d (arbitraarne) | 1344 1088 | min(d/2, 128) min(d/2, 256) | - |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.