Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Kryptographische Hash-Funktionen und MACs

&pagelevel(4)&pagelevel

Eine Hash-Funktion ist eine mathematische Funktion, die eine Zeichenkette beliebiger Länge auf eine Zeichenkette fester Länge abbildet. Somit lässt sich mit Hash-Funktionen zu einem umfangreichen Klartext ein charakteristisches Kennzeichen erstellen. Dieses Kennzeichen wird Check-Summe, Message Digest oder einfach Digest genannt.

Ein für kryptographische Zwecke geeigneter Hash-Algorithmus muss einer Reihe von Anforderungen genügen:

  • Für identischen Input muss der Hash-Algorithmus denselben Output liefern.

  • Minimale Änderungen des Inputs müssen in einem deutlich veränderten Message Digest resultieren.

  • Aus dem Message Digest darf sich unter keinen Umständen der Input rekonstruieren lassen.

  • Es sollte praktisch unmöglich sein, zwei unterschiedliche Klartexte zu finden, für die der Hash-Algorithmus denselben Message Digest liefert.

Hash-Funktionen mit den genannten Eigenschaften heißen kryptographische Hash-Funktionen. Kryptographische Hash-Funktionen eignen sich gut zur Sicherung der Datenintegrität.

Häufig verwendete Hash-Algorithmen sind MD5, SHA-1 und SHA-2 (Oberbegriff für SHA-224, SHA-256, SHA-384 und SHA-512). Die Digestlänge beträgt bei MD5 128 Bits, bei SHA-1 160 Bits und bei SHA-2 224/256/384/512 Bits. Bei MD5 und mittlerweile auch bei SHA-1 haben sich sicherheitstechnische Mängel herausgestellt, so dass man nach Möglichkeit Verfahren aus der SHA-2-Klasse verwenden sollte.

Message Authentication Code (MAC)

Message Authentication Codes (MACs) sind kryptographische Hash-Funktionen, die für die Erzeugung des Message Digest zusätzlich einen geheimen Schlüssel verwenden. MACs sichern Integrität und Authentizität des Datenverkehrs zwischen zwei Kommunikationspartnern, die sich einen geheimen Schlüssel teilen.

Der gebräuchlichste MAC ist HMAC. HMAC kann mit jedem kryptographischen Hash-Algorithmus verwendet werden und ist zurzeit der einzige in SSL und OpenSSL unterstützte MAC. Mittlerweile gibt es aber z.B. für AES den Betriebsmodus GCM (Galois/Counter Mode), der die AEAD (Authenticated Encryption with Associated Data)-Eigenschaft besitzt, d.h. auch die MAC-Funktionalität abdeckt, so dass hierfür keine Hash-Funktionen benötigt werden.