Spring til indhold

Secure Hash Algorithm

Fra Wikipedia, den frie encyklopædi
(Omdirigeret fra SHA)

Secure Hash Algorithm (SHA) er en kryptografisk hashfunktion med en variabel hashværdi. SHA blev udviklet af NSA i 1993, og blev oprindeligt kaldt Secure Hash Standard. Kort efter publikation blev algoritmen i 1995 trukket tilbage, og SHA-1 publiceret som erstatning. Den oprindelige algoritme betegnes nu SHA-0. Der blev senere fundet mindre fejl ved SHA-0 algoritmen, og det antages at det var disse fejl der fik NSA til at revidere til SHA-1. De nyere varianter (SHA-224, SHA-256, SHA-384 og SHA-512) betegnes samlet SHA-2.

Målet med SHA er, som med alle kryptografiske hashfunktioner, at gøre det praktisk umuligt at generere det oprindelige datasæt ud fra et hash.

Der blev i 1996 fundet ikke-fatale svagheder i MD5-algoritmens funktion, derefter ændrede verdens kryptografer anbefalingen til at brugen af SHA1-algoritmen i stedet.

Senere i 2005, blev SHA-1 anset for ikke længere at være sikker mod velfinansierede modstandere, da antallet af SHA-1 beregninger per sekund steg markant med den stigende processor kraft, som dermed gjorde "brute-force" angreb praktisk mulig.

Siden 2010, har mange organisationer anbefalet at man benytter de mere moderne SHA-2 eller SHA-3 algoritmer, og Microsoft, Google, Apple og Mozilla har annonceret at de vil stoppe med at acceptere SHA-1 SSL Certifikater.[1]

SHA1 hash eksempler[redigér | rediger kildetekst]

Eksempler på 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 dominoeffekten. 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 hash eksempler[redigér | rediger kildetekst]

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


Referencer[redigér | rediger kildetekst]