Zum Inhalt springen

Benutzer:Didia/RSA

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 13. Mai 2016 um 10:31 Uhr durch Didia (Diskussion | Beiträge) (Gruppen und Ringe). Sie kann sich erheblich von der aktuellen Version unterscheiden.

RSA-Kryptosystem

Mathematische Grundlagen

Einwegfunktionen mit Falltür

Funktion und Umkehrfunktion

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 .

  1. Ertel: Angewandte Kryptographie. 4. Aufl., 2012, S. 98–99; Buchmann: Einführung in die Kryptographie. 3. Aufl., 2004, S. 192.
  2. Beutelspacher, Schwenk, Wolfenstetter: Moderne Verfahren der Kryptographie. 8. Aufl., 2015, S. 16.
  3. 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.
  4. Freiermuth u.a.: Einführung in die Kryptologie. 2. Aufl., 2014, S. 289-290.
  5. a b Schmeh: Kryptografie. 5. Aufl., 2013, S. 184.
  6. Schmeh: Kryptografie. 5. Aufl., 2013, S. 185.
  7. Schmeh: Kryptografie. 5. Aufl., 2013, S. 180-181 und S. 190.