2a. Kryptographische Basistechniken

2a.4 Einweg-Verschlüsselung


Idee

Eine Einweg-Funktion ist eine umkehrbare Funktion

f: {Klartexte} ® {Geheimtexte},
wobei Die Definition lässt sich komplexitätstheoretisch präzisieren, der mathematische Existenzbeweis für Einweg-Funktionen ist aber offen. [Einweg-Funktionen existieren Û P ¹ NP.]

Analogien/ Bildliche Vorstellung

Kryptographische Bedeutung


Ein Konstruktionsprinzip

Gegeben sei ein Blockverschlüsselungssystem

F = {fk | k in K} mit K Teilmenge von M = F2l,
das sicher vor Angriff mit bekanntem Klartext ist (z. B. DES).

Gewählt wird eine feste (bekannte) Nachricht m0 (z. B. der Nullstring).

Dann ist durch

c = f(m) : = fm(m0)
eine Einweg-Funktion f definiert.

Klassische Anwendung dieses Konstruktionsprinzips: Speicherung von Passwörtern unter UNIX [Needham 1967].

Achtung: Bitstrom-Verschlüsselung ist hierfür nicht geeignet! Denn ist c = m XOR m0, so m = c XOR m0.


Passwort-Verschlüsselung in UNIX

Verfahren:

  1. Passwörter werden einweg-verschlüsselt abgespeichert (nach einem modifizierten DES).
  2. Bei Anmeldung wird durch Probeverschlüsselung abgeglichen.

Nachteile:

Behebung durch Zusatzmaßnahmen:


Typische Einweg-Funktion

Exponentiation in endlichen Körpern (Einweg-Eigenschaft - wie auch sonst - mathematisch unbewiesen):

Fp, p Primzahl, sei der endliche Körper mit p Elementen. Die multiplikative Gruppe Fp× ist zyklisch. Sei a ein erzeugendes Element dieser Gruppe, eine »Primitivwurzel« modulo p. (Eine solche kann man probabilistisch effizient finden.)

Dann ist die Exponentialfunktion

Ea: {0, ..., p-2} ® Fp×, c = Ea(m) = am mod p
effizient auswertbar mit dem binären Potenzalgorithmus:
Ist [Formel] so [Formel]

Die Umkehrfunktion von Ea, der »diskrete Logarithmus modulo p zur Basis a«, ist vermutlich nicht effizient auswertbar.


Die Rabin-Funktion

... ist ein weiteres wichtiges praktikables Beispiel:

Sei m eine Blum-Zahl, also ein Produkt zweier (großer) Primzahlen p und q, beide kongruent 3 mod 4. Die Rabin-Funktion ist einfach die Quadrat-Funktion

s: (Z/nZ)× ® (Z/nZ)×, s(x) = x2 mod m.

Die Berechnung der Umkehrfunktion s-1, also das Quadratwurzelziehen mod m, ist äquivalent zur Primzerlegung von m, also vermutlich nicht effizient ausführbar.


Vorlesung Datenschutz und Datensicherheit, Johannes-Gutenberg-Universität Mainz
Autor: Klaus Pommerening, 31. März 1999; letzte Änderung: 8. Dezember 2001.
E-Mail an
Pommerening@imsd.uni-mainz.de.