Hvis du allerede har hørt om Secure Hash-algoritmen eller SHA i dens mange former, skal du vide, hash-algoritmer har eksisteret i mange former i det mindste siden 1950'erne. Tidligere var hash-algoritmer begrænset til rudimentær dataintegritet og brugergodkendelser, men med den hurtige stigning i angribere, der forsøgte at udnytte elektronisk kommunikation, har hash-algoritmernes rolle ændret sig. I dag er hash-algoritmer indarbejdet i andre protokoller som VPN-protokoller, digitale signaturer, softwaredistribution og licenskontrol, databasefilsystemets integritet, detektion af websidefiler til ændring for blot at nævne nogle få. Når det er sagt, er SHA-1 og SHA-2 de Secure Hash Algorithms (SHA), der normalt bruges af mange operativsystemer til at kryptere adgangskoder.
SHA-1 og SHA-2 er de sikre hash-algoritmer, som loven kræver til brug i visse amerikanske regeringsapplikationer sammen med brug i andre kryptografiske algoritmer og protokoller til beskyttelse af følsom, uklassificeret information. SHA-2 er den potentielle efterfølger for SHA-1 og inkluderer et betydeligt antal ændringer fra sin forgænger og består af fire hashfunktioner med forskellige fordøjelsesstørrelser: SHA-224, SHA-256, SHA-384 og SHA-512. Det antages, at SHA-2 er væsentligt stærkere og sikker og ikke underlagt de samme sikkerhedssårbarheder som SHA-1. Selvom SHA-2 bærer en vis lighed med SHA-1-algoritmen, genererer den en længere hash. Vi ser på de to hash-algoritmer for at se, hvilken der er mere sikker og stærkere.
SHA-1 er den mest udbredte af de eksisterende SHA-hash-funktioner og bruges i adskillige vidt udbredte sikkerhedsapplikationer og protokoller. Det er en kryptografisk computersikkerhedsalgoritme oprettet af National Security Agency (NSA) i 1995 og udgivet af NIST som en amerikansk føderal informationsbehandlingsstandard. SHA-1 genererer en næsten unik meddelelse om længde <264 i blokke på 512 bit. Dette betyder, at den behandler blokke på 512 bit i rækkefølge, når man beregner meddelelsens fordøjelse. SHA-1 producerer en 160-bit beskedfordøjelse. Algoritmen er baseret på principper, der ligner dem, der blev brugt af Ronald L. Rivest fra MIT i designet af MD4- og MD5-hashingsalgoritmerne i de tidlige 1990'ere. SHA-1 bruges også i distribuerede revisionskontrolsystemer som Git, Monotone og Mercurial.
SHA-2 er et sæt kryptografiske hash-funktioner til erstatning af SHA-1-algoritmen. NIST-standarden SHA-2 blev designet af U.S. National Security Agency og offentliggjort i 2001. SHA-2-familien af hashfunktioner tjener den samme ende som SHA-1, men har et højere sikkerhedsniveau end sin forgænger. Det var designet til at overvinde sikkerhedssårbarhederne i SHA-1-algoritmen. SHA-2 er en familie på fire hashfunktioner med forskellige fordøjelsesstørrelser: SHA-224, SHA-256, SHA-384 og SHA-512. Ligesom SHA-1 følger alle funktioner i SHA-2-familien MD-konstruktionen. SHA-256 og SHA-512 er de to vigtigste tilfælde af familien, der arbejder på henholdsvis 32-bit og 64-bit-ord og derfor bruger forskellige algoritmer. Det er vidt brugt til at validere og underskrive digitale sikkerhedscertifikater og dokumenter.
- Både SHA-1 og SHA-2 tilhører SHA-familien af kryptografiske hashfunktioner designet af U.S. National Security Agency og offentliggjort af National Institute of Standards and Technology (NIST). Begge er de sikre hash-algoritmer, som loven kræver til brug i visse amerikanske regeringsapplikationer, sammen med brug i andre kryptografiske algoritmer og protokoller. SHA-2 er imidlertid en mere sikker hashingsalgoritme og en efterfølger til den nu afskrevne SHA-1 hashingsalgoritme. SHA-1-algoritmen er ikke længere sikker, og SHA-1-certifikater og mellemprodukter genkendes ikke længere.
- SHA-1 genererer en næsten unik meddelelse om længde <264 i blokke på 512 bit. Det behandler blokke på 512 bit i rækkefølge, når man beregner meddelelsesfordøjelsen, der typisk gengives som et 40-cifret langt hexadecimalt tal. Og den producerer en 160-bit beskedfordøjelse og forsøger at løse sikkerhedsrisici, der findes i SHA-0. SHA-2 på den anden side en familie på fire hashfunktioner med forskellige fordøjelsesstørrelser: SHA-224, SHA-256, SHA-384 og SHA-512. Det behandler meddelelser i 512-bit-blokke til 224-, 256- og 384-hashfunktionerne og 1.024 blokke til SHA-512-algoritmen.
- SHA-1 var den primære hash-algoritme i udbredt brug fra 2011 til 2015, indtil sikkerhedssårbarheder i algoritmen fik anledning til en revaluering. SHA-2 var designet til at overvinde sårbarhederne i SHA-1-algoritmen. Selvom SHA-2 bærer en vis lighed med SHA-1-algoritmen, genererer den en længere hash og er markant stærkere og sikker end SHA-1. Mens begge algoritmer er baseret på Merkle-Damgård-konstruktionen, har SHA-2 et sæt yderligere SHA-algoritmer, der matcher de højere sikkerhedsniveauer for længere nøgler. Derudover har SHA-2 meget forbedrede og sikre certifikater, der er specifikt designet til at beskytte dit system mod potentielle overtrædelser.
Hash-algoritmer har eksisteret i mange former siden 1950'erne. Med den øgede værdi af datainteraktioner og øgede cyberangreb er kravene til hash-algoritmer ændret. Når den først var begrænset til rudimentær dataintegritet og brugergodkendelser, bruges hash-algoritmer nu til at skabe beskedfordøjelser og digitale signaturer, hvilket stramere båndene til data og datategenstatoren. Efter at sikkerheden ved SHA-1 blev kompromitteret, er den digitale verden skiftet til en mere sikker, stærkere SHA-2 hashing-algoritme. SHA-2 er et sæt yderligere hashingsalgoritmer, der matcher det højere sikkerhedsniveau for længere taster.