Hashfunktion
Hashfunktion
Bei Hashfunktionen handelt es sich um Einwegfunktionen, was bedeutet, das es uneffizient und praktisch unmöglich ist, zu gegebenem Hashwert h ein Urbild M zu finden, für das gilt:
Für Hashfunktionen, die in der Kryptografie Anwendung finden sollen, ist überdies auch wichtig, dass starke Kollisionsfreiheit gegeben ist. Eine Hashfunktion, die das erfüllt, wird als „collision resistant function“ bezeichnet. Dies trifft zu, „wenn es berechnungsmäßig praktisch unmöglich ist, Nachrichten M und M’ mit M ≠ M’ und H(M) = H(M’) zu finden"[1] , also zwei voneinander verschiedene Klartexte, die den selben Hashwert bilden.
Neben der Hashfunktion MD5 (Message Digest 5), die aus MD4 hervorging, gibt es heute noch zahlreiche andere kryptographische Hashfunktionen, darunter auch SHA (Secure Hash Algorithm).
SHA wurde 1999 vom National Institute of Standards and Technology (NIST) in Zusammenarbeit mir der National Security Agency (NSA) entwickelt, wobei SHA der Algorithmus ist, welcher dem Secure Hash Standard (SHS) folgt.
Zur Zeit gibt es SHA-1 mit 160 Bit und SHA-2 mit 224 Bit, 256 Bit, 384 Bit und 512 Bit. Der SHA-3 Standard wird gerade durch einen Wettbewerb ermittelt. Die beste eingereichte Hashfunktion wird als SHA-3 Standard festgelegt.
Die Wahrscheinlichkeit dafür, dass zwei Dokumente denselben SHA-1 Hashwert besitzen, liegt bei 1 zu also bei , was die vorhin beschriebene starke Kollisionsfreiheit unterstützt. Anwendungsgebiete für SHA sind unter anderem PGP, SSL und S/MIME.
Wie bereits erwähnt, sollte jeder Nutzer zwei Schlüsselpaare erzeugen, eines zum Verschlüsseln und das andere zum Signieren.
Wenn Alice an Bob eine Nachricht signiert und gilt, so erhält Bob die richtige Nachricht zurück. Gilt jedoch , so liefert die Dechiffrierung mit großer Wahrscheinlichkeit eine falsche Nachricht.
Die kryptographische Hashfunktion hat in der Literatur viele Bezeichnungen.Hier eine Übersicht:[2]
- Fälschungssichere Hashfunktion
- Footprint-Funktion
- Manipulation Detection Code (MDC) (= Erkennung von Manipulationen)
- Message Integrity Code (MIC) (= Integrationsprüfung von Nachrichten)
- Sichere Hashfunktion
Der Hashwert wird auch bezeichnet als:[2]
- Digitaler Fingerabdruck
- Fingerabdruck einer Datei
- Fingerprint
- Footprint
- Kryptographische Prüfsumme
- Message Digest (MD)