Hvad er forskellen mellem SHA og SHA-1-kryptering?

SHA er et akronym for Secure Hash Algorithm, en krypteringsstandard opfundet af National Security Agency og udgivet af National Institutes of Standards and Technology. Den originale SHA-algoritme viste sig at have svagheder i dens krypteringsmetoder og blev erstattet med SHA-1 for stærkere sikkerhed.

Sikker Hash-algoritme

SHA er en kryptografisk hashfunktion. En hash-funktion tager en indledende ukrypteret tekst, kaldet almindelig tekst, og producerer et teoretisk unikt nummer, der udgør den krypterede besked. SHA opretter et 160-bit tal, som er et tal mellem 0 og 1,46 x 10^48. Det er ikke muligt for dette nummer at være garanteret unikt for alle mulige almindelige tekstbeskeder, da antallet af sådanne beskeder er teoretisk uendelig, men oddsene er cirka 2^80, eller 1,21 x 10^24, mod to beskeder, der producerer det samme krypterede resultat. Hvis dette sker, kaldes dette en kollision. En kollision giver et matematisk angreb på en krypteringsalgoritme, hvilket gør det muligt for en kryptograf at dekryptere klarteksten.

Dagens video

SHA-0 og SHA-1

Efter dens offentliggørelse blev der opdaget fejl i den originale SHA-algoritme, der gjorde det muligt for et kryptografisk angreb at producere hash-kollisioner, hvilket alvorligt svækkede dets effektivitet. En revideret SHA-version, SHA-1, blev udviklet, der skabte de samme 160-bit resultater uden de originale fejl i algoritmen. Den originale SHA blev med tilbagevirkende kraft omdøbt til SHA-0 for at skelne mellem dens brug og SHA-1-brugen.

Ændringer i SHA-1

De originale fejl i SHA-0 er aldrig blevet offentliggjort, da disse fejl giver et værktøjssæt til enhver angriber, der forsøger at dekryptere en besked ved hjælp af SHA-0-kryptering. Den eneste offentlige information om svaghederne i den originale algoritme indikerer, at hashkollisioner er mere sandsynlige end tilfældigt ved brug af SHA-0, og at kollisioner ved brug af den upublicerede metode elimineres ved brug SHA-1. Da SHA-1 og SHA-0 giver matematiske resultater af samme længde, kan SHA-1 bruges som drop-in erstatning i computersoftware til den originale SHA-0-algoritme uden at kræve større omskrivninger i resten af software.

SHA-2 og SHA-3

SHA-1 har vist sig at være mere robust end SHA-0, men giver plads til forbedringer. En matematisk analyse af SHA-1-resultater viste en metode, hvormed SHA-1-kryptering kunne brydes 2.000 gange hurtigere, end det ville være teoretisk muligt ved at kontrollere alle 10^48 mulige kombinationer af dens produktion. Da en ideel kryptografisk algoritme forhindrer dekrypteringshastighedsforbedringer af denne art, undgår SHA-2-algoritmen både dette angreb og øger den mulige hash-størrelse til 512-bit eller 1,34 x 10^154. SHA-3, en stadig mere kraftfuld krypteringsalgoritme, er i øjeblikket under udvikling.