? SHA er et akronym for Secure Hash algoritme , en kryptering standard laget av National Security Agency og publisert av National Institutes of Standards and Technology . Den opprinnelige SHA algoritmen ble funnet å ha svakheter i sin krypteringsmetoder , og ble erstattet med SHA - 1 for bedre sikkerhet . Secure Hash Algoritme
SHA er en kryptografisk hash-funksjon . En hash-funksjon tar en innledende ukryptert tekst , kalt klartekst , og produserer en teoretisk unikt nummer som utgjør den krypterte meldingen. SHA skaper en 160 - biters tall , som er et tall mellom 0 og 1,46 x 10 ^ 48 . Det er ikke mulig for dette nummeret for å være garantert unik for alle mulige klartekst meldinger , som antall slike meldinger er teoretisk uendelig, men oddsen er ca 2 ^ 80 , eller 1,21 x 10 ^ 24 , mot to meldinger produsere samme kryptert resultere . Hvis dette forekommer, dette kalles en kollisjon . En kollisjon gir en matematisk angrep på en krypteringsalgoritme , noe som gjør det mulig for en kryptograf å dekryptere klartekst .
SHA - 0 og SHA - 1
Etter revidering , ble feil i den opprinnelige SHA algoritmen oppdaget at tillatt for en kryptografisk angrep for å produsere hasj kollisjoner , alvorlig svekkelse sin effektivitet . En revidert SHA -versjonen, SHA - 1 , ble utviklet som skapte de samme 160 -bits resultater uten de opprinnelige feil i algoritmen . Den opprinnelige SHA ble tilbakevirkende kraft omdøpt SHA - 0 for å skille mellom bruk og SHA - 1 bruk.
Endringer i SHA - 1
De opprinnelige feil i SHA - 0 har aldri blitt publisert , da disse feilene gi en verktøykasse for enhver angriper forsøker å dekryptere en melding ved hjelp av SHA - 0 -kryptering. Den eneste offentlig informasjon om svakheter i den opprinnelige algoritmen indikerer at hash kollisjoner er mer sannsynlig enn fra en tilfeldig sjanse når du bruker SHA - 0 , og at kollisjoner ved hjelp av upublisert metoden er eliminert ved bruk av SHA -1. Som SHA - 1 og SHA - 0 produsere matematiske resultater av samme lengde, kan SHA - 1 brukes som et drop- in erstatning i dataprogrammer for den opprinnelige SHA - 0 algoritmen uten å kreve store omskrivninger i resten av programvaren.
SHA -2 og SHA - 3
SHA - 1 har vist seg å være mer robust enn SHA - 0 , men gir rom for forbedring. En matematisk analyse av SHA - 1 Resultatene viste en metode som SHA - 1 kryptering kunne by brutte 2000 ganger raskere enn det som ville være teoretisk mulig ved å sjekke alle 10 ^ 48 mulige kombinasjoner av produksjonen sin . Som en ideell kryptografisk algoritme forhindrer dekryptering hastighet forbedringer av denne typen, unngår SHA -2 algoritmen både dette angrepet og øker mulig hash størrelsen til 512-bit , eller 1,34 x 10 ^ 154 . SHA -3 , en fortsatt kraftigere krypteringsalgoritme , er for tiden under utvikling.