Benutzer:Didia/RSA
RSA-Kryptosystem
Mathematische Grundlagen
Einwegfunktionen mit Falltür

Eine Einwegfunktion ist eine mathematische Funktion, die komplexitätstheoretisch „leicht“ berechenbar, aber „schwer“ umzukehren ist.[1] Eine mathematische Einwegfunktion muss folgende Eigenschaften aufweisen:
- Die Berechnung des Funktionswerts ist „einfach“, d. h. es existiert ein Algorithmus, der ihn in Polynomialzeit berechnen kann.
- Die Berechnung der Umkehrfunktion zu einem gegebenen Funktionswert Fehler beim Parsen (SVG (MathML kann über ein Browser-Plugin aktiviert werden): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „http://localhost:6011/de.wikipedia.org/v1/“:): {\displaystyle y} , d. h. einem , sodass , 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.
Einen anschaulichen Vergleich bietet ein klassisches Papier-Telefonbuch einer größeren Stadt: Die auszuführende Funktion ist die, einem Namen die entsprechende Telefonnummer zuzuordnen. Da die Namen alphabetisch geordnet sind, lässt sich dies ziemlich schnell durchführen. Aber ihre Invertierung, also die Zuordnung eines Namens zu einer gegebenen Telefonnummer, ist offensichtlich viel schwieriger.[2]
Man kann zeigen, dass Einwegfunktionen genau dann existieren, wenn P ≠ NP, die berühmte Vermutung aus der Komplexitätstheorie, gilt (siehe P-NP-Problem). Obwohl die Einwegfunktionen in der Kryptographie eine wichtige Rolle spielen, ist also bis heute nicht bekannt, ob sie im streng mathematischen Sinne überhaupt existieren.[3]
Eine Variante der Einwegfunktionen sind Trapdoor-Einwegfunktionen, auch Falltürfunktionen genannt. Diese lassen sich nur dann effizient umkehren, wenn man eine gewisse Zusatzinformation besitzt. Eine 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.
Der Diffie-Hellman-Merkle-Schlüsselaustausch verwendet beispielsweise die diskrete Exponentialfunktion als Einwegfunktion (mit dem diskreten Logarithmus als schwer zu berechnende Umkehrfunktion). Zu dieser existiert keine Falltür. Im Gegensatz dazu verwendet das RSA-Kryptosystem mit der Faktorisierung eine Einwegfunktion mit Falltür.
Primzahl-Multiplikation und Faktorisierung
Das RSA-Kryptosystem basiert darauf, dass das Multiplizieren zweier Primzahlen eine Einwegfunktion ist. Sei also eine Funktion mit zwei Primzahlen und als Argumente gegeben, die eine Multiplikation durchführt:
Diese Primzahl-Multiplikation ist mit moderner Computerunterstützung auch bei „grösseren“ Zahlen „einfach“ durchführbar.[4][5]
Die Umkehrfunktion entspricht der Faktorisierung. Für eine gegebene Zahl sollen die Faktoren und berechnet werden:
Es ist bis heute kein effizientes Verfahren bekannt, mit dem aus dem Produkt zweier Primzahlen die beiden Faktoren bestimmt werden können. In diesem Zusammenhang spricht man auch vom Faktorisierungsproblem. Auch wenn sich nicht beweisen lässt, dass die Primzahl-Multiplikation eine Einwegfunktion ist, so spricht doch alles dafür.[5]
Klaus Schmeh macht zur Veranschaulichung das folgende kleine Experiment: „Berechnen Sie im Kopf das Resultat der Multiplikation . Dann bestimmen Sie zum Vergleich die beiden Primzahlen, die miteinander multipliziert 217 ergeben (natürlich auch im Kopf). Damit können Sie sich in etwa vorstellen, warum die Primzahl-Multiplikation als Einwegfunktion gilt.“[6]
Der nächste entscheidende Schritt besteht darin, zur Primzahl-Multiplikation als Einwegfunktion eine Falltürfunktion zu „basteln“.
Phi-Funktion
Die Eulersche φ-Funktion (Eulersche Phi-Funktion) gibt für jede natürliche Zahl an, wie viele zu teilerfremde natürliche Zahlen es gibt, die nicht größer als sind. Zur Zahl sind beispielsweise genau die Zahlen und teilerfremd, also ist . Zur Primzahl ist jede der Zahlen von bis teilerfremd, also ist .
Da eine Primzahl nur durch 1 und sich selbst teilbar ist, ist sie zu den Zahlen 1 bis teilerfremd. Weil sie größer als 1 ist, ist sie außerdem nicht zu sich selbst teilerfremd. Es gilt daher
- .
Die Phi-Funktion ist eine multiplikative zahlentheoretische Funktion, sodass für teilerfremde Zahlen und
gilt. Zum Beispiel ist
Man geht davon aus, dass die Berechnung der -Funktion mindestens so aufwändig ist wie die Faktorisierung. Allerdings kann man einfach berechnen, wenn es sich dabei um das Produkt zweier Primzahlen und handelt. Dann gilt nämlich
- .
Allerdings muss man für diese Berechnung und tatsächlich kennen, denn es ist wiederum schwierig, zwei Primzahlen und zu bestimmen, von denen man nur das Produkt kennt (siehe Abschnitt „Primzahl-Multiplikation und Faktorisierung“).[7]
Satz von Fermat-Euler
Eine wichtige Anwendung findet die Phi-Funktion im Satz von Fermat-Euler:
Wenn zwei natürliche Zahlen a und m teilerfremd sind, ist m ein Teiler von
Etwas anders formuliert:
Da für prime Moduli gilt , geht für sie der Satz von Fermat-Euler in den kleinen Satz von Fermat über:
Gruppen und Ringe
Eine Gruppe ist ein Paar , bestehend aus einer Menge und einer assoziativen Verknüpfung auf , die ein neutrales Element hat und für die jedes Element von ein inverses Element besitzt. Beispielsweise bildet die Menge der ganzen Zahlen mit der Addition als Verknüpfung die (abelsche) Gruppe . Das neutrale Element der Addition ist die (Null) und das additiv Inverse einer Zahl Fehler beim Parsen (SVG (MathML kann über ein Browser-Plugin aktiviert werden): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „http://localhost:6011/de.wikipedia.org/v1/“:): {\displaystyle a} ist ihre Gegenzahl . Die ganzen Zahlen sind bezüglich der Addition wiederum eine Untergruppe der rationalen Zahlen . Demgegenüber bilden die rationalen (und ganzen) Zahlen zusammen mit der Multiplikation keine Gruppe, weil die Zahl kein inverses Element bezüglich der Multiplikation besitzt. Wenn man jedoch aus entfernt, erhält man die (abelsche) Gruppe .
- ↑ Ertel: Angewandte Kryptographie. 4. Aufl., 2012, S. 98–99; Buchmann: Einführung in die Kryptographie. 3. Aufl., 2004, S. 192.
- ↑ Beutelspacher, Schwenk, Wolfenstetter: Moderne Verfahren der Kryptographie. 8. Aufl., 2015, S. 16.
- ↑ Beutelspacher, Schwenk, Wolfenstetter: Moderne Verfahren der Kryptographie. 8. Aufl., 2015, S. 17 mit Verweis auf Jose L. Balcazar, Josep Diaz, Josep, Joaquim Gabarró: Structural Complexity I. Springer: Heidelberg, Berlin, 1988.
- ↑ Freiermuth u.a.: Einführung in die Kryptologie. 2. Aufl., 2014, S. 289-290.
- ↑ a b Schmeh: Kryptografie. 5. Aufl., 2013, S. 184.
- ↑ Schmeh: Kryptografie. 5. Aufl., 2013, S. 185.
- ↑ Schmeh: Kryptografie. 5. Aufl., 2013, S. 180-181 und S. 190.