SHA-1 Hash

Kategorisierung:Modern / Hashes
Herkunft / Verwendung:Die Version 1 (fehlerkorrigierte Version 0) des 'Secure Hash Algorithm', kurz SHA ist ein kryptologischer Prüfsummen-Algorithmus, der von dem NIST und der NSA Mitte der 1990er entwickelt wurde.

Der Prüfwert wird verwendet, um die Integrität einer Nachricht zu sichern. Wenn zwei Nachrichten den gleichen Prüfwert ergeben, soll die Gleichheit der Nachrichten nach normalem Ermessen garantiert sein, unbeschadet gezielter Manipulationsversuche an den Nachrichten. Darum fordert man von einer kryptologischen Hashfunktion die Eigenschaft der Kollisionssicherheit: es soll praktisch unmöglich sein, zwei verschiedene Nachrichten mit dem gleichen Prüfwert zu erzeugen.

Theoretisch gesehen ist ein solches Verhalten natürlich nicht möglich, das ein Hash immer die gleiche Länge hat, auch wenn lange Zeichenketten gehashed werden. So müssen zwangläufig mehrere Zeichenketten denselben Hash ergeben. Der Hash-Algorithmus soll es aber so schwierig als möglich machen, das bestimmt werden kann, welche kleinen Änderungen zu einem gleichen Ergebnis im Hash führen würden, so dass z. B. nicht in einem Betrag aus einer 1.000 eine 10.000 gemacht werden kann. Das wird durch einen Algorihtmus gewährleistet, mit dem kleine Änderungen im Klartext große Änderungen im Hashwert zur Folge haben.

Als Reaktion auf bekanntgewordenen Angriffe gegen SHA-1 hielt das NIST im Oktober 2005 einen Workshop ab, in dem der aktuelle Stand kryptologischer Hashfunktionen diskutiert wurde. NIST empfiehlt den Übergang von SHA-1 zu Hashfunktionen der SHA-2-Familie (SHA-224, SHA-256, SHA-384, SHA-512). Langfristig sollen diese durch einen neuen Standard SHA-3 ersetzt werden.

SHA-1 war sehr verbreitet und wurde in den Internetprotokollen SSL, IPsec und S/MIME benutzt.

Beschreibung des Algorithmus

SHA-1 arbeitet rundenbasiert mit 512 bit (64 Bytes) langen Blöcken und generiert einen Hash mit der Länge 160 Bit (20 Bytes).

Die genaue Beschreibung des Algorithmus findet sich in RFC 3174.

Beispiel

Klartext:Beispielklartext
Variante:SHA-1 (160 Bit)
Hash:5B8790B059168B0426DC87A474C40687C2D82A28

Code / Hash online dekodieren / entschlüsseln bzw. kodieren / verschlüsseln (DeCoder / Encoder / Solver-Tool)

Wenn Sie Texte eingeben, die nicht als Hex-Sequenz (ohne Leerzeichen) interpretiert werden können, erfolgt eine automatische Umsetzung in eine Hex-Sequenz. Ist Das Ergebnis umsetzbar in druckbare ASCII-Zeichen, erfolgt eine automatische Umsetzung von Hex.

Für SHA-1 muss kein Schlüssel eingegeben werden. Für SHA-1 HMAC muss ein Schlüssel eingegeben werden.



Quellen, Literaturverweise und weiterführende Links

Spezifikation von SHA-1 in RFC 3174 Schmeh, Klaus: Kryptografie: Verfahren - Protokolle - Infrastrukturen, dpunkt Verlag, 5. Auflage 2013, iX-Edition, S. 236