Public-Key-Verschlüsselung und RSA
Julia Zander 13.06.17
1 Public-Key-Verschlüsselung
Bei der Public-Key-Verschlüsselung wird statt einem Schlüssel zum Ver-und Entschlüsseln ein Schlüsselpaar (e, d) verwendet. Dabei ist e der Schlüssel zum Verschlüsseln und wird öffentlich gemacht (e=öffentlicher Schlüssel). Der Schlüssel ddient dem Entschlüsseln und er muss geheim bleiben (d= privater Schlüssel).
Abbildung 1: Veranschaulichung der Public-Key-Verschlüsselung
2 RSA
2.1 Einführung
Das RSA-Verfahren ist ein asymmetrisches Kryptosystem. Es ist das wichtigste Public-Key- Verfahren, dessen Sicherheit mit der Schwierigkeit zusammen hängt, große Zahlen in ihre Primfaktoren zu zerlegen.
2.2 Schlüsselerzeugung
Der Sicherheitsparameter sei eine Zahl k ∈N. Der Schlüsselerzeugungsalgorithmus wählt zwei Primzahlen p und q mit der Eigenschaft, dass der RSA-Modul
n=pq
eine k-Bit-Zahl ist. Zusätzlich wählt der Algorithmus eine Zahl s ∈N mit 1< s < ϕ(n) = (p−1)(q−1) und ggT (s, ϕ(n)) = 1
1
und berechnet eine natürliche Zahl t mit
1< t < ϕ(n) und st≡1 modϕ(n)
Die Zahl t gibt es tatsächlich, daggT(s, ϕ(n)) = 1 ist und kann mit dem erweiterten euklidischen Algorithmus berechnet werden. Dabei ist zu beachten, dass s stets ungerade ist . Das erzeugte Schlüsselpaar ist also ((s, n), t), bei dem das Paar (s, n) der öffentliche Schlüssel ist undt der Private.
2.3 Verschlüsselung
Der Klartextraum ist Zn. Wenn Alice einen Klartext m∈Zm für Bob verschlüsseln möchte, so muss sie sich seinen öffentlichen Schlüssel (s, n) besorgen und damit den Chiffretext
c= ms mod n berechnen.
2.4 Entschlüsselung
Die Entschlüsselung von RSA beruht auf folgendem Satz Theorem 2.1
Sei (s, n) ein öffentlicher undt der entsprechende private Schlüssel im RSA-Verfahren. Dann gilt (ms)tm modn
für jede natürliche Zahl m mit 0≤m ≤n.
Ein cwas wie in Abschnitt 2.3 berechnet wurde kann also mit m =ct mod n
entschlüsselt werden.
2.5 Sicherheit des privaten Schlüssels
RSA ist dann sicher, wenn es praktisch unmöglich ist, aus dem öffentlichen Schlüssel den privaten Schlüssel zu berechnen.
Der Algorithmus, der n faktorisiert, beruht auf Theorem 2.2.
Theorem 2.2
Sei a eine zu n teilerfremde ganze Zahl. Wenn die Ordnung von ak modp und ak modq verschieden ist, so ist 1< ggT(a2xk−1, n)< n für ein x∈ {0,1,2, ..., y−1}.
Theorem 2.3
Die Anzahl der zu n teilerfremden Zahlen a in der Menge {1,2, ..., n−1}, für die ak mod p undak mod q eine verschiedene Ordnung hat, ist mindestens (p−1)(q−1)/2.
Theorem 2.3 gibt an, wie groß die Wahrscheinlichkeit ist, dass der Algorithmus eine Faktorisierung angibt.
3 Literatur
Buchmann, Johannes (2016): Einführung in die Kryptographie. 6.,überarbeitete Auflage. Berlin, Heidelberg.