Secure Hash Algorithm
Secure Hash Algorithm (SHA) - Standardisierte kryptologischer Hashfunktionen
Beschreibung
Der Begriff Secure Hash Algorithm (kurz SHA, für sicherer Hash-Algorithmus) bezeichnet eine Gruppe standardisierter kryptologischer Hashfunktionen.
- Diese dienen zur Berechnung eines Prüfwerts für beliebige digitale Daten (Nachrichten) und sind unter anderem die Grundlage zur Erstellung einer digitalen Signatur.
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.
Geschichte – SHA/SHA-0
Das National Institute of Standards and Technology (NIST) entwickelte zusammen mit der National Security Agency (NSA) eine Hash-Funktion als Bestandteil des Digital Signature Algorithms (DSA) für den Digital Signature Standard (DSS).
- Die Funktion wurde 1993 veröffentlicht.
- Diese als Secure Hash Standard (SHS) bezeichnete Norm spezifiziert den sicheren Hash-Algorithmus (SHA) mit einem Hash-Wert von 160 Bit Länge für beliebige digitale Daten von maximal 264 − 1 Bit (≈ 2 Exbibyte) Länge.
SHA ist wie die von Ronald L. Rivest entwickelten MD4 und MD5 eine Merkle-Damgård-Konstruktion mit Davies-Meyer-Kompressionsfunktion, und die Kompressionsfunktion ist auch ähnlich wie bei diesen konstruiert.
- Mit seinem längeren Hash-Wert von 160 Bit gegenüber 128 Bit bei MD4 und MD5 ist SHA aber widerstandsfähiger gegen Brute-Force-Angriffe zum Auffinden von Kollisionen.
Die Nachricht wird mit einem Endstück erweitert, das die Länge der ursprünglichen Nachricht codiert.
- Dann wird sie in 512 Bit lange Blöcke geteilt, welche nacheinander verarbeitet werden.
- Dazu wird ein interner Datenblock von 160 Bit mittels einer Blockverschlüsselung verschlüsselt, mit dem Nachrichtenblock als Schlüssel.
- Zum Schlüsseltext wird dann der Klartext wortweise modulo addiert.
- Der so berechnete Datenblock wird nun mit dem nächsten Nachrichtenblock verschlüsselt oder nach dem Einarbeiten des letzten Nachrichtenblocks als Hashwert ausgegeben.
Anwendungen
Fehlerbehebung
Syntax
Optionen
Parameter
Umgebungsvariablen
Exit-Status
Konfiguration
Dateien
Sicherheit
Dokumentation
RFC
Man-Pages
Info-Pages
Siehe auch
- Zyklische Redundanzprüfung (ZRP, engl. CRC)
- Prüfsumme
- Hamming-Code
- Elliptic Curve Cryptography
- Paritätsbit
- MD5
Links
Projekt-Homepage
Weblinks
- FIPS PUB 180-4 Secure Hash Standard (PDF; 369 kB)
- SHA1-Passwort-Generator Online-Konverter zur Generierung von SHA1-Hashwerten aus normalem Text
- SHA-1 wird verabschiedet, SHA-2 startet (Update: SHA-3 wird Standard) IT-Security, von Christian Heutger, 6. August 2015.
Zu den Schwächen von SHA
- Arjen Lenstra: Further progress in hashing cryptanalysis, 26. Februar 2005 (englisch, PDF; 89 kB)
- Xiaoyun Wang, Yiqun Lisa Yin, Hongbo Yu: Finding Collisions in the Full SHA-1 (englisch, PDF; ZIP; 190 kB)
- Zweifel an der Notwendigkeit des Kryptostandards SHA3 heise online 30. März 2012
Einzelnachweise
Testfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5