SHA, forkortet til Secure Hash Algorithm, er en familie af kryptografisk hashing-algoritme udgivet af National Institute of Standards and Technology (NIST) for at holde dine data sikret. I 1995 godkendte NIST Secure Hash Standard, FIPS PUB 180-1, som omfattede en sikker hash-algoritme, SHA-1. I 2003 blev en ny Secure Hash Signature Standard (SHS), FIPS PUB 180-2 godkendt, tilføjelse af tre hash-algoritmer, der er i stand til at producere større meddelelsesfordøjelser, der bedre end FIPS 180-1. FIPS PUB 180-2 specificerer fire sikre hash-algoritmer, SHA-1, SHA-256, SHA-384 og SHA-512 - som alle er iterative, dvs. envejs-hash-funktioner, der kan behandle en meddelelse i en kondenseret repræsentation kaldet en meddelelse fordøje. Hovedsagelig på grund af deres effektivitet er kryptografiske hashfunktioner af central betydning for kryptografiske algoritmer og protokoller.
Denne artikel vil hovedsageligt fokusere på de to populære kryptografiske hash-funktioner, der bruges i dag - SHA-1 og SHA-256. En del af Secure Hash Standard (SHS), SHA-1 var en af de tidligste hash-algoritmer, der ofte blev brugt af SSL-certifikatmyndigheder til at underskrive certifikater. Det blev offentliggjort i 1993 som SHA, men på grund af en sikkerhedsfejl blev det senere erstattet af den mere sikre SHA-1. Det er langtfra en af de mest anvendte og udbredte kryptografiske hash-funktioner. SHA-256 har den samme underliggende struktur og bruger den samme type modulære aritmetiske og logiske binære operationer som SHA-1. SHA-256 tilhører SHA-2-familien med lignende hashfunktioner med forskellige blokstørrelser, den anden er SHA-512. Det er en hash-funktion, der ofte bruges i Blockchain.
SHA-1 er en af de mest anvendte og udbredte kryptografiske hash-funktioner, der ofte bruges af SSL-certifikatmyndigheder til at underskrive certifikater. Det var en af de ældste hash-algoritmer, der var specificeret til brug af den amerikanske føderale regering. Det blev udviklet af NIST og NSA. SHA-1 blev offentliggjort som en føderal regeringsstandard i 1995 som en opdatering til SHA, som blev offentliggjort i 1993. Den tager et input og producerer en 160-bit (20-byte) hashværdi, der er kendt som en meddelelsesfordøjelse, typisk repræsenteret ved en 40-cifret lang hexadecimal streng. SHA-1 er designet, så det er beregningsmæssigt umuligt at finde en meddelelse, der svarer til en given meddelelsesfordøjelse, eller at finde to forskellige meddelelser, der producerer den samme meddelelsesfordøjelse.
SHA-256 er en nyere, mere sikker kryptografisk hash-funktion, der blev foreslået i 2000 som en ny generation af SHA-funktioner og blev vedtaget som FIPS-standard i 2002. SHA-256-algoritmen genererer en 256-bit hashværdi fra polstret 512-bit meddelelsesblokke, og den originale meddelelsesstørrelse er op til 264-1 bit. SHA-256 beregner altid en 256-bit hash internt for sikkerhed, men dette resulterende resultat kan trunkeres til enten 196 eller 128 bit udskrivning og opbevaring. Således giver en afkortet SHA-256 en betydelig fordel for menneskelig brugervenlighed i trykte citater og forbedrer sikkerheden markant til bekostning af en lille reduktion i ydelse relateret til MD5. I modsætning til MD5-algoritmen er trunkeret SHA-256 ikke underlagt nogen kendte angreb.
- SHA-1 er en af de mest anvendte og udbredte kryptografiske hash-funktioner, der ofte bruges af SSL-certifikatmyndigheder til at underskrive certifikater. Det var en af de ældste hash-algoritmer, der var specificeret til brug af den amerikanske føderale regering. SHA-256 er en nyere, mere sikker kryptografisk hash-funktion, der blev foreslået i 2000 som en ny generation af SHA-funktioner og blev vedtaget som FIPS-standard i 2002. SHA-256 tilhører SHA-2-familien af kryptografiske hash-algoritmer med lignende hash fungerer men har forskellige blokstørrelser, hvor andre er SHA-384 og SHA-512.
- SHA-1 er en 160-bit hash tager et input og producerer en 160-bit (20-byte) hashværdi, der er kendt som en meddelelsesfordøjelse, typisk repræsenteret ved en 40-cifret lang hexadecimal streng. SHA-1 er designet, så det er beregningsmæssigt umuligt at finde en meddelelse, der svarer til en given meddelelsesfordøjelse, eller at finde to forskellige meddelelser, der producerer den samme meddelelsesfordøjelse. SHA-256-algoritmen genererer en 256-bit hashværdi fra polstrede 512-bit meddelelsesblokke, og den originale meddelelsesstørrelse er op til 264-1 bit.
- Med den stigende computerkraft er muligheden for at bryde SHA-1 også steget. Det var en af de ældste hash-algoritmer, der er specificeret til brug af den amerikanske føderale regering, og på grund af dens mindre bitstørrelse er den mere tilbøjelig til angreb. Selvom SHA-256 har den samme underliggende struktur og bruger de samme typer af modulære aritmetiske og logiske binære operationer som SHA-1, er det blevet en integreret del i mange applikationer. SHA-256 beregner altid en 256-bit hash internt for sikkerhed, hvilket markant forbedrer sikkerheden til bekostning af en lille reduktion i ydelse relateret til MD5.
I et nøddeskal er SHA-256 mere pålidelig og sikker end SHA-1. SHA-256 tilhører familien af SHA-2 kryptografiske hash-funktioner designet af NSA og bruges ofte i Blockchain. SHA-1 var en af de tidligste kryptografiske hashfunktioner, der ofte blev brugt af SSL-certifikatmyndigheder til at underskrive certifikater. På grund af dets mindre bitstørrelse og sikkerhedssårbarheder er det imidlertid blevet mere udsat for angreb over tid, hvilket til sidst førte til dets afskrivning fra SSL-certifikatudstedere.