? SHA er en forkortelse for Secure Hash Algorithm , en krypteringsstandard opfundet af National Security Agency og offentliggjort af National Institutes of Standards and Technology. Den oprindelige SHA algoritmen blev fundet at have svagheder i sin krypteringsmetoder , og blev erstattet med SHA -1 for bedre sikkerhed . Sikker Hash Algorithm
SHA er en kryptografisk hash funktion. En hash funktion tager en indledende ukrypteret tekst , kaldet alm og giver en teoretisk unikt nummer , der udgør den krypterede meddelelse. SHA skaber en 160 - bit tal , som er et tal mellem 0 og 1,46 x 10 ^ 48 . Det er ikke muligt for dette nummer sikres unik for alle mulige almindelig tekst , da antallet af sådanne meddelelser er teoretisk uendelig , men oddsene er ca 2 ^ 80 , eller 1,21 x 10 ^ 24 mod to beskeder producerer samme krypterede medføre . Hvis dette sker, kaldes det en kollision. En kollision giver en matematisk angreb på en krypteringsalgoritme , der gør det muligt for en kryptograf at dekryptere alm .
SHA- 0 og SHA-1
Efter offentliggørelsen blev fejl i den oprindelige SHA algoritmen opdagede, at tilladt for en kryptografisk angreb til at producere hash kollisioner , alvorligt svække dens effektivitet. En revideret SHA -version, SHA-1 , blev udviklet , der skabte de samme 160 -bit resultater uden de oprindelige fejl i algoritmen. Den oprindelige SHA blev med tilbagevirkende kraft omdøbt SHA- 0 at skelne mellem anvendelsen og SHA-1 brug.
Ændringer i SHA-1
De oprindelige fejl i SHA- 0 er aldrig blevet offentliggjort, da disse mangler giver et værktøjssæt til enhver angriber forsøger at dekryptere en besked ved hjælp af SHA- 0 -kryptering. Den eneste offentlige oplysninger om svagheder i den oprindelige algoritme indikerer, at hash kollisioner er mere tilbøjelige end fra tilfældige chance , når du bruger SHA- 0 , samt at kollisioner ved hjælp af ikke-offentliggjorte metode elimineres , når du bruger SHA-1 . Som SHA - 1 og SHA - 0 producere matematiske resultater af samme længde , kan SHA - 1 anvendes som et drop-in erstatning i computersoftware til den oprindelige SHA- 0 algoritme uden at kræve større omskriver i resten af softwaren . < br >
SHA -2 og SHA- 3
SHA-1 har vist sig at være mere robust end SHA- 0 , men giver plads til forbedring. En matematisk analyse af SHA-1 resultater viste en metode, som SHA-1 -kryptering kan ved brudte 2.000 gange hurtigere end det ville være teoretisk muligt ved at tjekke alle 10 ^ 48 mulige kombinationer af sin produktion . Som en ideel kryptografisk algoritme forhindrer dekryptering hastighed forbedringer af denne art , SHA - 2 algoritme både undgår dette angreb og øger de mulige hash størrelse til 512 - bit , eller 1,34 x 10 ^ 154 . SHA -3 , en endnu - mere kraftfuld krypteringsalgoritme , er i øjeblikket under udvikling.