SHA-sjekksumsfunksjoner

SHA (Secure Hash Algorithm) er en samling av kryptografiske sjekksumsfunksjoner (engelsk: checksum) som er designet av National Security Agency (NSA). De tre SHA-algoritmene er konstruert forskjellig og er mest kjent som SHA-0, SHA-1, SHA-2 og SHA-3. 

SHA-0 og SHA-1 er ikke ansett som sikre, SHA-1 er ikke anbefalt brukt til anvendelser innen sikkerhet etter 2010.  

SHA-256, SHA-512, SHA-224 og SHA-384 hører til SHA-2-familien og bruker den samme algoritmen. Forskjellen er at de har ulik størrelse på den ferdige hash-verdien (256/512 biter). 

SHA-3-familien har de samme størrelsene som SHA-2-familien.

Eksempler

Eksempler på SHA-1
Her er et eksempel på SHA-1 med ASCII-tegnsett. ASCII er også brukt i resten av eksemplene.

 SHA1("The quick brown fox jumps over the lazy dog")
 = 2fd4e1c6 7a2d28fc ed849ee1 bb76e739 1b93eb12

Den minste forandring i meldingen vil gjøre store forandringer i resulterende hash-verdi. Ved å forandre "dog" til "cog", for eksempel, så vil det bli forandring i 81 av de 160 bitene.

 SHA1("The quick brown fox jumps over the lazy cog") 
 = de9f2c7f d25e1b3a fad3e85a 0bd17d9b 100db4b3

Resultatet for en tom streng (lengde 0) er:

 SHA1("")
 = da39a3ee 5e6b4b0d 3255bfef 95601890 afd80709

Denne voldsomme endringen er et følge av Avalanche-effekten.

Kryptografiske algoritmer