Beweisarchiv: Kryptografie: Kryptosysteme: Korrektheit des RSA-Kryptosystems

Aus testwiki
Zur Navigation springen Zur Suche springen

Beweisarchiv: Kryptografie: TOPNAV


Korrektheit des RSA-Kryptosystems

Einleitung

Das RSA-Kryptosystem verschlüsselt einen Klartext m, indem dieser mit dem öffentlichen Schlüssel c exponentiert wird. Der Schlüsseltext mc kann durch Exponentieren mit dem geheimen Schlüssel d wieder entschlüsselt werden. Es gelten dabei folgende Voraussetzungen:

p,q primn=p⋅qm∈ℤ/n

Für die Wahl der Schlüssel gilt:

c∈ℤ/ϕ(n)×d≡c−1(modϕ(n))

ϕ(n) bezeichnet die eulersche φ-Funktion.

Behauptung

RSA entschlüsselt korrekt:

(mc)d≡mc⋅d≡(md)c≡m(modn)

Beweis

Laut Voraussetzung gilt:

d≡c−1(modϕ(n))
⇔c⋅d≡1(mod(p−1)⋅(q−1))
⇔c⋅d=1+k⋅(p−1)⋅(q−1)k∈ℤ(∗)


Der Satz von Euler-Fermat besagt:

mϕ(n)≡1(modn)

Also gilt mod p und mod q:

mϕ(p)≡1(modp)mϕ(q)≡1(modq)m(p−1)≡1(modp)m(q−1)≡1(modq)mk⋅(p−1)⋅(q−1)≡1k⋅(q−1)(modp)mk⋅(p−1)⋅(q−1)≡1k⋅(p−1)(modq)mk⋅(p−1)⋅(q−1)≡1(modp)mk⋅(p−1)⋅(q−1)≡1(modq)m1+k⋅(p−1)⋅(q−1)≡m(modp)m1+k⋅(p−1)⋅(q−1)≡m(modq)(∗∗)

Der Satz von Euler-Fermat gilt nur für die Einheiten in ℤ/n. Deshalb muss noch gezeigt werden, dass (**) auch für die teilerfremden Elemente in ℤ/p und ℤ/q gilt. Das einzige teilerfremde Element in beiden Ringen ist die Null.

Da

01+k⋅(p−1)⋅(q−1)≡0(modp)01+k⋅(p−1)⋅(q−1)≡0(modq)

gilt (**) für alle Elemente aus ℤ/p und ℤ/q

Nach dem Chinesischen Restsatz folgt daraus:

m⋅mk⋅(p−1)⋅(q−1)≡m⋅1(modp⋅q)m⋅mk⋅(p−1)⋅(q−1)≡m⋅1(modn)m1+k⋅(p−1)⋅(q−1)≡m(modn)

Nun erhält man durch Einsetzen von (∗):

mc⋅d≡m(modn)

Wikipedia-Verweise

Vorlage:W
Vorlage:W
Vorlage:W
Vorlage:W


Beweisarchiv: Kryptografie: TOPNAV