Security im Überblick (Teil 1)

Einführung in die Kryptographie

Hash-Funktionen

Die Bezeichnung Hash-Funktionen leitet sich vom englischen "to hash up" (zerhacken, zerkleinern, durcheinander bringen) ab. Synonym spricht man auch vom Message Digest (Engl. digest: Auslese, Auswahl) oder kurz MD. Eine Hash-Funktion generiert aus einer Zeichenfolge beliebiger Länge eine zweite Zeichenfolge fixer Länge. Diese zweite Zeichenfolge bezeichnet man als Message Authentication Code (MAC).

Eine Hash-Funktion muss dabei folgende Anforderungen erfüllen:

  • Sie muss eindeutig sein. Eine identische Eingangszeichenfolge muss zur selben Zeichenfolge am Ausgang führen.

  • Sie muss einfach zu berechnen sein.

  • Ihre inverse Funktion muss schwierig zu berechnen sein. Ein Rückschluss aus der Ausgangszeichenfolge auf die Eingabe soll also möglichst aufwendig sein.

  • Sie muss kollisionsresistent sein. Zwei unterschiedliche Eingangszeichenfolgen dürfen nach Möglichkeit nicht die gleiche Ausgabe hervorrufen.

Da Hashes nicht reversibel sind, lassen sie sich nicht zur Verschlüsselung einsetzen. Dagegen leisten sie bei der Authentifizierung nützliche Dienste. So legt man Passwörter gern als MAC ab, damit sie auch der Administrator nicht als Klartext lesen kann. Das Login überprüft dann lediglich, ob der MAC des eingegebenen Passworts mit dem abgelegten Hash-Wert übereinstimmt. Auch für digitale Unterschriften (Digital Signatures) lässt sich ein MAC bestens einsetzen.