Einwegfunktion

Einwegfunktion

In der Informatik ist eine Einwegfunktion eine mathematische Funktion, die komplexitätstheoretisch „leicht“ berechenbar, aber „schwer“ umzukehren ist. In einem erweiterten Sinn werden auch Funktionen so bezeichnet, zu denen bisher keine in angemessener Zeit praktisch ausführbare Umkehrung bekannt ist.

Einen anschaulichen Vergleich bietet ein klassisches Papier-Telefonbuch einer größeren Stadt: Kennt man den Namen, dann findet man sehr schnell die dazugehörige Telefonnummer. Kennt man jedoch nur die Telefonnummer, so ist es sehr aufwendig, den zugehörigen Namen zu finden.

Einwegfunktionen bilden die Grundlage vieler Verschlüsselungsverfahren in der Kryptologie.

Inhaltsverzeichnis

Definition

Eine mathematische Einwegfunktion f: X \to Y muss folgende Eigenschaften aufweisen:

  • Die Berechnung des Funktionswerts y = f(x) ist „einfach“, d. h. es existiert ein Algorithmus, der ihn in Polynomialzeit berechnen kann.
  • Die Berechnung eines beliebigen Inversen zu einem bekannten Funktionswert y, d. h. einem x, sodass f(x) = y, ist allerdings „schwer“, d. h. es existiert kein „schneller“ Algorithmus für dieses Problem. „Schnell“ meint hier einen probabilistischen Algorithmus, der in Polynomialzeit läuft.

Es ist nicht bekannt, ob es Funktionen gibt, die die Einweg-Bedingungen erfüllen. Tatsächlich würde der Beweis ihrer Existenz gleichzeitig den Beweis für P≠NP zur Folge haben. Umgekehrt folgt aus P≠NP nicht die Existenz von Einwegfunktionen: Zur Umkehrung der Funktion darf auch ein probabilistischer Algorithmus eingesetzt werden. Damit die Umkehrung also ausreichend ineffizient ist, darf zusätzlich NP nicht (echt oder unecht) in der Komplexitätsklasse BPP enthalten sein.

Anwendungen

Einwegfunktionen sind vor allem für Anwendungen in der Kryptologie interessant. Für einen solchen Einsatz ist komplexitätstheoretisch aber noch eine weitere Forderung nötig: Die genannten Komplexitätsklassen betrachten den jeweils schlechtesten Fall (Worst Case), die längste Laufzeit eines Algorithmus. Für die kryptographische Anwendung muss die Laufzeit auch im Durchschnittsfall (Average Case) ineffizient sein.

Direkte Anwendung einer Einwegfunktion gibt es bei Passwörtern. Diese werden häufig nicht lesbar abgespeichert, sondern durch eine Einwegfunktion verschlüsselt. Die Prüfung beim Login erfolgt dann nicht durch Vergleich des Passworts im Klartext, sondern des Chiffrats. Dadurch kann ein Administrator oder ein Unberechtigter mit Systemzugang nie die Passwörter der Benutzer lesen. Er kann allenfalls mit einem Programm wie Crack mögliche Passwörter durchprobieren.

In der Praxis kennt man Funktionen, die die Anforderungen an eine Einwegfunktion bislang ausreichend erfüllen. Es konnte jedoch bisher nicht der Beweis erbracht werden, ob es wirklich „schwierig“ ist, sie zu invertieren. Ein Beispiel für eine solche Funktion ist die Multiplikation von zwei großen Primzahlen, da man annimmt, dass eine Primfaktorzerlegung ein „schwieriges“ Problem darstellt. Ein weiteres Beispiel ist die modulare Exponentiation und deren Inverse, der diskrete Logarithmus.

Einwegfunktionen mit Falltür

Eine Variante der Einwegfunktionen sind Trapdoor-Einwegfunktionen, auch Falltürfunktionen genannt. Diese lassen sich nur dann effizient umkehren, wenn man eine gewisse Zusatzinformation besitzt. Falltürfunktionen werden in asymmetrischen Verschlüsselungsverfahren wie zum Beispiel RSA verwendet. Eine schöne Metapher für Falltürfunktionen ist die Funktion eines Briefkastens: Jeder kann einen Brief einwerfen. Das Herausholen ist dagegen sehr schwierig – es sei denn, man ist im Besitz des Schlüssels.

Bekannte Einwegfunktionen

Als Einwegfunktionen im erweiterten Sinn werden folgende Funktionen genannt, zu denen derzeit keine effiziente Umkehrung bekannt ist.

Literatur

Jonathan Katz, Yehuda Lindell: Introduction to Modern Cryptography: Principles and Protocols, Chapman & Hall/CRC, 2007

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Falltürfunktion — Eine Einwegfunktion im strengen Sinn ist eine mathematische Funktion, die komplexitätstheoretisch „schwer“ umzukehren ist. In einem erweiterten Sinn werden auch Funktionen so bezeichnet, zu denen bisher keine praktisch ausführbare Umkehrung… …   Deutsch Wikipedia

  • Hasch-Funktion — Eine Hashfunktion oder Streuwertfunktion ist eine Funktion bzw. Abbildung, die zu einer Eingabe aus einer üblicherweise großen Quellmenge eine Ausgabe, den Hashcode, erzeugt, meist aus einer kleineren Zielmenge. Die Hashwerte beziehungsweise… …   Deutsch Wikipedia

  • Hasch-Verfahren — Eine Hashfunktion oder Streuwertfunktion ist eine Funktion bzw. Abbildung, die zu einer Eingabe aus einer üblicherweise großen Quellmenge eine Ausgabe, den Hashcode, erzeugt, meist aus einer kleineren Zielmenge. Die Hashwerte beziehungsweise… …   Deutsch Wikipedia

  • Hash-Algorithmus — Eine Hashfunktion oder Streuwertfunktion ist eine Funktion bzw. Abbildung, die zu einer Eingabe aus einer üblicherweise großen Quellmenge eine Ausgabe, den Hashcode, erzeugt, meist aus einer kleineren Zielmenge. Die Hashwerte beziehungsweise… …   Deutsch Wikipedia

  • Hash-Funktion — Eine Hashfunktion oder Streuwertfunktion ist eine Funktion bzw. Abbildung, die zu einer Eingabe aus einer üblicherweise großen Quellmenge eine Ausgabe, den Hashcode, erzeugt, meist aus einer kleineren Zielmenge. Die Hashwerte beziehungsweise… …   Deutsch Wikipedia

  • Hash-Wert — Eine Hashfunktion oder Streuwertfunktion ist eine Funktion bzw. Abbildung, die zu einer Eingabe aus einer üblicherweise großen Quellmenge eine Ausgabe, den Hashcode, erzeugt, meist aus einer kleineren Zielmenge. Die Hashwerte beziehungsweise… …   Deutsch Wikipedia

  • Hashcode — Eine Hashfunktion oder Streuwertfunktion ist eine Funktion bzw. Abbildung, die zu einer Eingabe aus einer üblicherweise großen Quellmenge eine Ausgabe, den Hashcode, erzeugt, meist aus einer kleineren Zielmenge. Die Hashwerte beziehungsweise… …   Deutsch Wikipedia

  • Hashen — Eine Hashfunktion oder Streuwertfunktion ist eine Funktion bzw. Abbildung, die zu einer Eingabe aus einer üblicherweise großen Quellmenge eine Ausgabe, den Hashcode, erzeugt, meist aus einer kleineren Zielmenge. Die Hashwerte beziehungsweise… …   Deutsch Wikipedia

  • Hashing — Eine Hashfunktion oder Streuwertfunktion ist eine Funktion bzw. Abbildung, die zu einer Eingabe aus einer üblicherweise großen Quellmenge eine Ausgabe, den Hashcode, erzeugt, meist aus einer kleineren Zielmenge. Die Hashwerte beziehungsweise… …   Deutsch Wikipedia

  • Hashwert — Eine Hashfunktion oder Streuwertfunktion ist eine Funktion bzw. Abbildung, die zu einer Eingabe aus einer üblicherweise großen Quellmenge eine Ausgabe, den Hashcode, erzeugt, meist aus einer kleineren Zielmenge. Die Hashwerte beziehungsweise… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”