Beweisarchiv: Kryptografie: Kryptosysteme: Korrektheit des RSA-Kryptosystems

Aus testwiki
Version vom 26. April 2021, 18:00 Uhr von imported>JamesP (fix typo)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
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=pqm/n

Für die Wahl der Schlüssel gilt:

c/ϕ(n)×dc1(modϕ(n))

ϕ(n) bezeichnet die eulersche φ-Funktion.

Behauptung

RSA entschlüsselt korrekt:

(mc)dmcd(md)cm(modn)

Beweis

Laut Voraussetzung gilt:

dc1(modϕ(n))
cd1(mod(p1)(q1))
cd=1+k(p1)(q1)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(p1)1(modp)m(q1)1(modq)mk(p1)(q1)1k(q1)(modp)mk(p1)(q1)1k(p1)(modq)mk(p1)(q1)1(modp)mk(p1)(q1)1(modq)m1+k(p1)(q1)m(modp)m1+k(p1)(q1)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(p1)(q1)0(modp)01+k(p1)(q1)0(modq)

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

Nach dem Chinesischen Restsatz folgt daraus:

mmk(p1)(q1)m1(modpq)mmk(p1)(q1)m1(modn)m1+k(p1)(q1)m(modn)

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

mcdm(modn)

Wikipedia-Verweise

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


Beweisarchiv: Kryptografie: TOPNAV