Kryptologie/Korrektheit des RSA-Verschlüsselungsverfahrens

Aus testwiki
Zur Navigation springen Zur Suche springen


Einleitung

Wir haben nun die drei Algorithmen des RSA-Verschlüsselungsverfahren kennengelernt und beispielhaft durchgeführt. Nun bleibt zu zeigen, warum das Verfahren korrekt ist. Es muss für alle Klartexte mM also gelten, dass der Entschlüsselungsalgorithmus D den verschlüsselten Klartext in den ursprünglichen Klartext m umwandelt[1]. Die wichtigste Grundlage für den Ver- und Entschlüsselungsalgorithmus des RSA-Algorithmus ist der Satz von Euler[2].

Beweis Korrektheit des RSA-Verfahrens

Voraussetzung

Seien p,q prim, N=pq m/N, e(/φ(N),) und ed1modφ(N)

Zu zeigen

RSA-Algorithmus entschlüsselt korrekt, d.h. für alle m/N gilt cd(me)dmed(md)emmodN

Beweis

(Multiplikativität und Satz 1 der) Eulersche φ-Funktion, Kongruenz,

Größte gemeinsame Teiler, Teilbarkeit und Satz von Euler

Eulersche φ-Funktion
Für die eulersche φ-Funktion gilt: φ(n):=Gn[3][4] mit

Gn:={a|1anggT(a,n)=1}[5][4].

Multiplikativität der eulerschen φ-Funktion für Primzahlen
Seien p und q prim und pq, dann gilt φ(pq)=φ(p)φ(q)[3][6].
Satz 1 Eigenschaft der φ-Funktion bei Primzahlen
Sei p prim, dann gilt: φ(p)=p1[5][6].
Kongruenz
Seien a,b und m, dann gilt abmodmm(ab)[7].
Größte gemeinsame Teiler
Seien a,b, wobei mindestens eine der beiden Zahlen ungleich Null.

Wir bezeichnen d:=ggT(a,b) mit d als den größten gemeinsamen

Teiler der Zahlen a und b, falls gilt:

(1): da und db

und

(2): Für alle c mit ca und cbcd[8].

Teilbarkeit
Eine ganze Zahl a teilt eine ganze Zahl b genau dann, wenn es eine

ganze Zahl n gibt, für die ak=b ist.

Wir schreiben ab[9][10].

Satz von Euler
Seien a,n und ggT(a,n)=1, dann gilt aφ(n)1modn[11][12].

Laut Voraussetzung gilt:

ed1modφ(N)

ed1modφ(pq), nach Voraussetzung N=pq

ed1modφ(p)φ(q), wegen der Multiplikativität der φ-Funktion

ed1mod(p1)(q1), wegen Satz 1 Eigenschaft der φ-Funktion bei Primzahlen

ed=1+k(p1)(q1)(*) mit k und wegen der Definition der Kongruenz und Teilbarkeit.


Wir unterscheiden zunächst zwei Fälle:

ggT(m,N)=1 und ggT(m,N)1.


Fall 1: Sei ggT(m,N)=1:

(me)dmodN

medmodN

m1+φ(N)modN, nach (*) mit φ(N)=(p1)(q1)

mmφ(N)modN

m1modN, da nach dem Satz von Euler gilt mφ(N)1modN

mmodN.

Wir müssen nun also nur noch den zweitem Fall betrachten.


Fall 2: Sei ggT(m,N)1.

Kongruenz, Größte gemeinsame Teiler, Teilbarkeit,

Satz von Euler und chinesischer Restsatz

Kongruenz
Seien a,b und m, dann gilt abmodmm(ab)[7].
Größte gemeinsame Teiler
Seien a,b, wobei mindestens eine der beiden Zahlen ungleich Null.

Wir bezeichnen d:=ggT(a,b) mit d als den größten gemeinsamen

Teiler der Zahlen a und b, falls gilt:

(1): da und db

und

(2): Für alle c mit ca und cbcd[8].

Teilbarkeit
Eine ganze Zahl a teilt eine ganze Zahl b genau dann, wenn es eine

ganze Zahl n gibt, für die ak=b ist.

Wir schreiben ab[9][10].

Satz von Euler
Seien a,n und ggT(a,n)=1, dann gilt aφ(n)1modn[11][12].
Chinesische Restsatz
Seien c1,c2,,cv paarweise teilerfremd in , v und a1,a2,,av.

Dann existiert eine Lösung b, sodass für jedes i{1,2,,v} die Kongruenz

baimodci gilt.

Darüber hinaus ist jedes g genau dann eine Lösung der Kongruenz baimodci,

wenn gilt gbmodc mit c=c1c2cv[13].

Wegen N=pq gilt dann also entweder ggT(m,N)=p oder ggT(m,N)=q.

Hier ist der Satz von Euler nicht anwendbar, wegen ggT(m,N)1.

Wenn wir jedoch trotzdem zeigen, dass

(me)dmmodp und (me)dmmodq, dann können wir (wegen ggT(p,q)=1) den chinesischen Restsatz anwenden und erhalten:

(me)dmmod(pq)

(me)dmmodN, wegen N=pq.


Wir zeigen dies nun für den Fall ggT(m,N)=p, dass gilt:

(me)dmmodp und (me)dmmodq.

Sei ggT(m,N)=p.

Es gilt dann nach Definition der größten gemeinsamen Teilers pm bzw. nach Definition der Teilbarkeit m=kp mit k>0.

Wir zeigen zunächst (me)dmmodp für ggT(m,N)=p

Dann gilt nach Definition der Kongruenz aber auch m0modp.

Nun betrachten wir (me)dmodp.

(me)dmodp

((kp)e)dmodp

0modp, da ((kp)e)d ein Vielfaches von p ist.

Also gilt (me)d0modp und insgesamt

m(me)d0modp.

Nun bleibt noch zu zeigen, dass (me)dmmodq für ggT(m,N)=p.

Da ggT(m,q)=1, kann man den Satz von Euler anwenden.

(me)dmodq

medmodq

med1mmodq

mk(p1)(q1)mmodq, nach (*): ed1=k(p1)(q1) (in umgestellter Form)

m(q1)k(p1)mmodq

(m(q1))k(p1)mmodq

(mφ(q))k(p1)mmodq

1k(p1)mmodq, nach dem Satz von Euler

mmodq.

Also gilt für ggT(m,N)=p: (me)dmmodq.

Nun können wir den chinesischen Restsatz anwenden:

(me)dmmod(pq)

(me)dmmodN, wegen N=pq.

Wir haben also nun gezeigt, dass das RSA-Verschlüsselungsverfahren für ggT(m,N)=p korrekt ist. Dies können wir für ggT(m,N)=q analog zeigen, indem wir in der Notation p und q vertauschen. Sie können dies freiwillig eigenständig durchführen.

Damit haben wir die Korrektheit des RSA-Verschlüsselungsverfahrens für alle Fälle, nämlich ggT(m,N)=1 und ggT(m,N)1, gezeigt■[14][2]

Lernempfehlung

Kursübersicht
Übergeordnete Lerneinheit
6: RSA-Kryptosystem
Vorherige Lerneinheit Aktuelle Lerneinheit Empfohlene Lerneinheit
7.3: Entschlüsselungsalgorithmus des RSA-Verschlüsselungsverfahrens 8: Korrektheit des RSA-Verschlüsselungsverfahrens 9: RSA-Signatur
Grundlagen der aktuellen Lerneinheit
8.1: Satz von Euler 8.2: Chinesischer Restsatz

Literatur

  1. Diffie, W., & Hellman, M. (1976). New directions in cryptography. IEEE Transactions on Information Theory, 22(6) (S. 644–654). S. 648.
  2. 2,0 2,1 Rivest, R. L., Shamir, A., & Adleman, L. (1978). A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM, 21(2) (S. 120–126). S. 123.
  3. 3,0 3,1 Kryptologie - Mathematische Vertiefung (PH Freiburg SS 2017). (5. Dezember 2019). Wikiversity, . Abgerufen am 8. Januar 2020, 12:14 von https://de.wikiversity.org/w/index.php?title=Kryptologie_-_Mathematische_Vertiefung_(PH_Freiburg_SS_2017)&oldid=605650. (Formulierung verändert)
  4. 4,0 4,1 Stroth, G., & Waldecker, R. (2019). Elementare Algebra und Zahlentheorie (2. Aufl.). Birkhäuser Basel. S. 77.
  5. 5,0 5,1 Seite „Eulersche Phi-Funktion“. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 24. August 2019, 16:52 UTC. URL: https://de.wikipedia.org/w/index.php?title=Eulersche_Phi-Funktion&oldid=191644019 (Abgerufen: 7. Januar 2020, 09:45 UTC; Formulierung verändert; Formulierung verändert)
  6. 6,0 6,1 Wätjen, D. (2018). Kryptographie: Grundlagen, Algorithmen, Protokolle. Springer-Verlag. S. 42.
  7. 7,0 7,1 Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 37.
  8. 8,0 8,1 Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Lemgo: Heldermann Verlag. S. 24.
  9. 9,0 9,1 Seite „Teilbarkeit“. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 25. November 2019, 15:44 UTC. URL: https://de.wikipedia.org/w/index.php?title=Teilbarkeit&oldid=194364839 (Abgerufen: 12. Dezember 2019, 14:43 UTC; Formulierung verändert)
  10. 10,0 10,1 Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Heldermann Verlag. 22f.
  11. 11,0 11,1 „Satz von Euler“. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 27. März 2019, 10:16 UTC. URL: https://de.wikipedia.org/w/index.php?title=Satz_von_Euler&oldid=186980132 (Abgerufen: 25. November 2019, 10:25 UTC; Formulierung verändert)
  12. 12,0 12,1 Euler, L. (1763). Theoremata arithmetica nova methodo demonstrata. 8 (S. 74–104). S. 102.
  13. Shoup, V. (2008). A Computational Introduction to Number Theory and Algebra (2. Aufl.). S. 23.
  14. Beweisarchiv: Kryptografie: Kryptosysteme: Korrektheit des RSA-Kryptosystems. (16. Juni 2013). Wikibooks, Die freie Bibliothek. Abgerufen am 10. Januar 2020, 12:20 von https://de.wikibooks.org/w/index.php?title=Beweisarchiv:_Kryptografie:_Kryptosysteme:_Korrektheit_des_RSA-Kryptosystems&oldid=674922. (Formulierung verändert)