Spring til indhold

Secure Hash Algorithm

Fra Wikipedia, den frie encyklopædi

SHA (Secure Hash Algorithm) er en kryptografisk hashfunktion med en variabel hashværdi. SHA blev udviklet af NSA i 1993 men det var originalt kaldt Secure Hash Standard. Målet med SHA er at gøre det praktisk umuligt at generere et datasæt ud fra et hash. Der blev i 1996 fundet ikke-fatale svagheder i denne del af MD5-algoritmens funktion, hvorfor kryptografer siden har anbefalet brugen af SHA1-algoritmen i stedet. Bemærk at der er flere versioner af SHA, som giver forskellige hasher, men alle har de samme grundlæggende beregninger. For eksempel findes der SHA1, SHA2, SHA-256 og SHA-512.

SHA1 hasher

Her er nogle eksempler af SHA1 hasher:

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

Selv en lille ændring vil, med størst sandsynlighed, resultere i en helt anden hash, på grund af domino effekten. For eksempel, at ændre d til c:

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

Hashen af den tomme (længde=nul) streng er:

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

SHA-256 hasher

Her er eksempler af SHA-256 hasher.

SHA256("abc")
 = ba7816bf 8f01cfea 414140de 5dae2223 b00361a3 96177a9c b410ff61 f20015ad 

SHA256("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq")
 = 248d6a61 d20638b8 e5c02693 0c3e6039 a33ce459 64ff2167 f6ecedd4 19db06c1 
//Bemærk at disse to strenge ikke er ens, det sidste ord er ændret 
SHA256("The quick brown fox jumps over the lazy dog") 
 = d7a8fbb3 07d78094 69ca9abc b0082e4f 8d5651e4 6d3cdb76 2d02d0bf 37c9e592

SHA256("The quick brown fox jumps over the lazy cog")
 = e4c4d8f3 bf76b692 de791a17 3e053211 50f7a345 b46484fe 427f6acc 7ecc81be 

Hashen af den tomme (længde=nul) streng er:

SHA256("")
 = e3b0c442 98fc1c14 9afbf4c8 996fb924 27ae41e4 649b934c a495991b 7852b855