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
pisi|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.pisi|SHA-2 räsifunktsiooni ühe iteratsiooni skeem

 Teadaolevad rünnakud 
 Artikkel Aasta Ründemeetod Rünnak Variant Tsükleid Keerukus New Collision Attacks AgainstUp To 24-step SHA-2  2008  Deterministlik  Kollisioon  SHA-256  24/64  228.5 SHA-512  24/80  232.5 Preimages for step-reduced SHA-2  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-middlepreimage attacks  2010 KeskelkohterünneOriginaalirünne SHA-256  42/64  2248.4 SHA-512  42/80  2494.6 Higher-Order Differential Attackon Reduced SHA-256  2011  Diferentsiaalne krüptoanalüüs Pseudokollisioon  SHA-256  46/64  2178 33/64  246 Bicliques for Preimages: Attacks onSkein-512 and the SHA-2 family  2011 KeskelkohterünneOriginaalirü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: NewAttacks on Reduced SHA-256  2013  Diferentsiaalne krüptoanalüüs Kollisioon SHA-256  31/64  265.5Pseudokollisioon SHA-256  38/64  237 Branching Heuristics in Differential CollisionSearch with Applications to SHA-512  2014  Heuristiline  
diferentsiaalne krüptoanalüüs Pseudokollisioon SHA-512  38/80  240.5 Analysis of SHA-512/224 and SHA-512/256  2016  Diferentsiaalne krüptoanalüüs Kollisioon SHA-256  28/64  praktiline SHA-512  27/80 praktilinePseudokollisioon SHA-512  39/80 praktiline
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)  128  128  512  Piiramatu  64  And, Xor, Rot,  Or  <64(on leitud kollisioone)  335   160  160  512  264 − 1 80  And, Xor, Rot,  Or  <80(on leitud kollisioone)   -   160  160  512  264 − 1  80  <80(teoreetiline rünnak)  192   SHA-224SHA-256  224256  256  512  264 − 1  64  And, Xor, Rot,  Or, Shr  112  128  139 SHA-384SHA-512   384512224 256  512  1024  2128 − 1  80  And, Xor, Rot,  Or, Shr  192256112128  154   SHA3-224SHA3-256SHA3-384SHA3-512  224256384512  1600  11521088832576  Piiramatu 24  And, Xor, Rot, Not   112128192256  - SHAKE128SHAKE256    13441088  min(d/2, 128)min(d/2, 256)  -

Viited

Kategooria:Krüptograafia