Kryptologie/Chinesischer Restsatz

Aus testwiki
Version vom 8. März 2020, 11:35 Uhr von imported>Philip Holtappel (Veränderung von OER-Materialien gekennzeichnet)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen


Einleitung

Bevor wir die Korrektheit der RSA-Verschlüsselungsverfahrens zeigen können, benötigen wir neben dem Satz von Euler noch den chinesischen Restsatz. Mit diesem werden wir dort für die zwei die Kongruenzen (me)dmmodp und (me)dmmodq zeigen, dass diese gelten, wenn ggT(m,N)1 und der Satz von Euler somit nicht anwendbar ist[1][2]. Wir werden Satz von Euler jedoch nutzen können, um den chinesischen Restsatz zu beweisen[3]. Den Abschnitt Finden einer Lösung werden wir benötigen, sobald wir uns mit Angriffsszenarien auf das RSA-Verschlüsselungsverfahren beschäftigen[4].

Chinesischer Restsatz

Chinesischer Restsatz

Teilerfremdheit und Kongruenz
Teilerfremdheit
Zwei ganze Zahlen a und b, wobei mindestens einer der beiden Zahlen ungleich Null ist,

heißen teilerfremd, wenn ggT(a,b)=1[5]. Betrachten wir mehr als zwei Zahlen, dann

nennen wir diese paarweise teilerfremd, wenn je zwei beliebige von diesen Zahlen zueinander

teilerfremd sind[6][5].

Kongruenz
Seien a,b und m, dann gilt abmodmm(ab)[7].

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.

Die Lösung ist eindeutig modc mit c=c1c2cv[3].

Bemerkung: Bevor wir den chinesischen Restsatz beweisen können, benötigen wir den nun folgenden Hilfssatz.

Hilfssatz zum chinesischen Restsatz

Seien a,b,c.

Es gilt ggT(a,bc)=1 genau dann, wenn ggt(a,b)=1 und ggT(a,c)=1[8].

Beweis Hilfssatz zum chinesischen Restsatz

Hinrichtung

Größte gemeinsame Teiler
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[9].

Voraussetzung

Seien a,b,c und ggT(a,bc)=1

Zu zeigen

ggT(a,b)=1 und ggT(a,c)=1

Beweis

Sei ggT(a,bc)=1.

Wir definieren d=ggT(a,b) und somit gilt nach Definition ggT da und db.

Da db, gilt auch dbc und somit ist ggT(a,bc)d.

Da nach Voraussetzung jedoch ggT(a,bc)=1, muss wegen ggT(a,bc)d auch ggT(a,b)=d=1 sein.

Man kann nun ein e=ggT(a,c) definieren und auf analoge Weise begründen, dass ggT(a,c)=e=1.

Rückrichtung

Größte gemeinsame Teiler, Satz Primteiler und

Satz 2 Eigenschaften von Primzahlen

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[9].

Satz Primteiler
Sei n mit n>1, dann hat n einen Primteiler, d.h. einen Teiler, der gleichzeitig eine Primzahl ist[10].
Satz 2 Eigenschaften von Primzahlen
Seien p prim und a,b mit pab, dann gilt pa oder pb[11].

Voraussetzung

Seien a,b,c, ggT(a,b)=1 und ggT(a,c)=1

Zu zeigen

ggT(a,bc)=1

Beweis

Wir zeigen ggT(a,bc)=1 durch Widerspruch.

Seien ggT(a,b)=1 und ggT(a,c)=1 und wir nehmen an, dass ggT(a,bc)=f mit f>1.

Da ggT(a,b)=1 und ggT(a,c)=1 muss f einen Primfaktor p nach dem Satz Primteiler besitzen mit pbc (wegen fbc).

Wie wir bereits in Satz 2 Eigenschaften von Primzahlen gezeigt haben, folgt pb oder pc.

Wenn pb gelten würde, dann wäre 1<pggT(a,b), da pa wegen fa nach der Definition des ggT gilt.

Dies ist ein Widerspruch zur Voraussetzung ggT(a,b)=1.

Analog gilt, unter der Annahme pc, 1<pggT(a,c) und erhalten einen Widerspruch zur Voraussetzung ggT(a,c)=1.

Wir haben also gezeigt, dass f=1 gelten muss. Somit ist ggT(a,bc)=f=1[8]

Beweis Chinesischer Restsatz

Voraussetzungen

Teilerfremdheit, Kongruenz, Hilfssatz zum chinesischen Restsatz

und Satz von Euler

Teilerfremdheit
Zwei ganze Zahlen a und b, wobei mindestens einer der beiden Zahlen ungleich Null ist,

heißen teilerfremd, wenn ggT(a,b)=1[5]. Betrachten wir mehr als zwei Zahlen, dann

nennen wir diese paarweise teilerfremd, wenn je zwei beliebige von diesen Zahlen zueinander

teilerfremd sind[6][5].

Kongruenz
Seien a,b und m, dann gilt abmodmm(ab)[7].
Hilfssatz zum chinesischen Restsatz
Seien für a,b,c genau dann ggT(a,bc)=1, wenn ggt(a,b)=1 und ggT(a,c)=1[8].
Satz von Euler
Seien a,n und ggT(a,n)=1, dann gilt aφ(n)1modn[12][13].

Seien c1,c2,,cv paarweise teilerfremd und a1,a2,,av mit je v.

Zu zeigen

Das System aus den Kongruenzen

ba1modc1

bavmodcv

hat eine Lösung baimodci und alle g mit gbmodc sind ebenfalls Lösungen der Kongruenz

Beweis

Wir zeigen zunächst, dass wenn man c=c1c2cv und Ci=c/ci mit i{1,2,,v} definiert,

dann gilt für b=a1C1φ(c1)+a2C2φ(c2)++avCvφ(cv)genau

baimodci mit i{1,2,,v}.

Betrachten wir hierfür Cj mit ij.

Da Cj=c/cj=c1c2cvcj und ij, kann ci nicht aus dem Produkt gekürzt werden und somit gilt

Cj0modci.

Es gilt also auch ajCjφ(cj)0modci im Restklassenring (/ci,,)

Es sind daher alle Summanden von

ba1C1φ(c1)+a2C2φ(c2)++avCvφ(cv)modci

Es sind alle Summanden Null, bis auf den Summanden aiCiφ(ci) und man kann schreiben

baiCiφ(ci)modci(*) mit i{1,2,,v}.

Da nach Voraussetzung c1,c2,,cv paarweise teilerfremd sind, gilt ggT(ci,cj)=1 mit ij.

Nach Hilfssatz zum chinesischen Restsatz ist auch ggT(ci,Ci)=1.

Somit sind die Voraussetzungen für den Satz von Euler erfüllt und wir können diesen anwenden:

Ciφ(ci)1modci(**) mit i{1,2,,v}.

Wir können die Kongruenz (**) nutzen, um die Kongruenz (*) zu vereinfachen und erhalten:

baimodci mit i{1,2,,v}.

Somit ist b=a1C1φ(c1)+a2C2φ(c2)++avCvφ(cv) eine Lösung des Systems der Kongruenzen[14].

Nun müssen wir noch die Eindeutigkeit modc zeigen:

Angenommen es gibt eine weitere Lösung g des Systems der Kongruenzen, dann gilt

Transitivität, Kongruenz und Teilerfremdheit
Transitivität
Seien a,b und m. Wenn abmodm und bcmodm, dann gilt

acmodm[15].

Kongruenz
Seien a,b und m, dann gilt abmodmm(ab)[7].
Teilerfremdheit
Zwei ganze Zahlen a und b, wobei mindestens einer der beiden Zahlen ungleich Null ist,

heißen teilerfremd, wenn ggT(a,b)=1[5]. Betrachten wir mehr als zwei Zahlen, dann

nennen wir diese paarweise teilerfremd, wenn je zwei beliebige von diesen Zahlen zueinander

teilerfremd sind[6][16].

gaimodci.

Da jedoch auch baimodci, folgt aus der Transitivität der Kongruenz

gbmodci.

Nun gilt nach Definition der Kongruenz für alle i{1,2,,v}

ci(gb).

Wegen c1,c2,,cv paarweise teilerfremd in , gilt sogar

c(gb) mit c=c1c2cv.

Nach Definition der Kongruenz gilt also

gbmodc .

Die Lösung ist eindeutig modc[14][3]

Finden einer Lösung

Teilerfremdheit und Erweiterte euklidische Algorithmus
Teilerfremdheit
Zwei ganze Zahlen a und b, wobei mindestens einer der beiden Zahlen ungleich Null ist,

heißen teilerfremd, wenn ggT(a,b)=1[5]. Betrachten wir mehr als zwei Zahlen, dann

nennen wir diese paarweise teilerfremd, wenn je zwei beliebige von diesen Zahlen zueinander

teilerfremd sind[6][16].

Erweiterte euklidische Algorithmus
Der erweiterte euklidische Algorithmus wird auf zwei Zahlen a,b angewandt und besteht aus zwei Teilen:
  1. Berechnung des ggT(a,b)=sa+tb (auch als euklidischer Algorithmus bekannt[17]),
  2. Berechnung zweier ganzer Zahlen s und t, welche die Gleichung ggT(a,b)=sa+tb erfüllen[18].

Eine Lösung

b

kann wie folgt ermittelt werden: Für jedes

i

sind die Zahlen

ci

und

Ci:=C/ci

teilerfremd, also kann man z. B. mit dem erweiterten euklidischen Algorithmus zwei ganze Zahlen

ri

und

si

finden, so dass

rici+siCi=1.

Setze ei:=siCi, dann gilt

ei1modci, wegen rici+siCi=1,
ei0modcj, ji und analog zur Argumentation im Beweis.

Die Zahl

b:=i=1vaiei

ist dann eine Lösung der simultanen Kongruenz[19]. Wir können dies nutzen, um in einer anderen Lerneinheit einen Angriff auf eine Anwendungssituation des RSA-Algorithmus durchzuführen.

Beispiel

Wir betrachten folgendes System:

b2mod3

b3mod5

b2mod7

Da ggT(2,5)=ggT(2,7)=ggT(7,5)=1 und 2,3, können wir den chinesischen Restsatz anwenden:

Wir stellen die Gleichungen aus dem Abschnitt Finden einer Lösung auf:

r13+s135=1, da C1=57

r25+s221=1, da C2=37

r37+s315=1, da C3=35

Erweiterte euklidische Algorithmus
Erweiterte euklidische Algorithmus
Der erweiterte euklidische Algorithmus wird auf zwei Zahlen a,b angewandt und besteht aus zwei Teilen:
  1. Berechnung des ggT(a,b)=sa+tb (auch als euklidischer Algorithmus bekannt[17]),
  2. Berechnung zweier ganzer Zahlen s und t, welche die Gleichung ggT(a,b)=sa+tb erfüllen[18].

Nun wenden wir den erweiterten euklidischen Algorithmus an (siehe Lernaufgabe) und erhalten

Zu r13+s135=1:

r1=12, s1=1 und e1=135=35


Zu r25+s221=1:

r2=4, s2=1 und e2=121=21


Zu r37+s315=1:

r3=2, s2=1 und e3=115=15

Nun können wir b:=i=1vaiei berechnen:

b:=i=13aiei=2(35)+321+215=23.

Zur Veranschaulichung führen wir nun noch die Probe durch:

232mod3, wegen 23=73+2,

233mod5, wegen 23=45+3,

232mod7, wegen 23=37+2.

Lernaufgabe

Aufgabe

Berechnen Sie mit dem erweiterten euklidischen Algorithmus ri und si mit i{1,2,3} für das Beispiel zum chinesischen Restsatz, also

r13+s135=1,

r25+s221=1

und

r37+s315=1.

Erweiterte euklidische Algorithmus
Erweiterte euklidische Algorithmus
Der erweiterte euklidische Algorithmus wird auf zwei Zahlen a,b angewandt und besteht aus zwei Teilen:
  1. Berechnung des ggT(a,b)=sa+tb (auch als euklidischer Algorithmus bekannt[17]),
  2. Berechnung zweier ganzer Zahlen s und t, welche die Gleichung ggT(a,b)=sa+tb erfüllen[18].
Lösung
Zu r13+s135=1:

35=113+2

3=12+1

1=312

1=31(35113), wegen 35=113+2

1=335+113

1=123+(1)35

r1=12,s1=1


Zu r25+s221=1:

21=45+1

1=2145

r2=4,s2=1


Zu r37+s315=1:

15=27+1

1=1527

r3=2,s2=1

Lernempfehlung

Kursübersicht
Übergeordnete Lerneinheit
8: Korrektheit des RSA-Verschlüsselungsverfahrens
Vorherige Lerneinheit Aktuelle Lerneinheit Empfohlene Lerneinheit
8.1: Satz von Euler 8.2: Chinesischer Restsatz 8: Korrektheit des RSA-Verschlüsselungsverfahrens

Literatur

  1. 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)
  2. 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 3,2 Shoup, V. (2008). A Computational Introduction to Number Theory and Algebra (2. Aufl.). S. 23.
  4. Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Springer. S. 175.
  5. 5,0 5,1 5,2 5,3 5,4 5,5 Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Heldermann Verlag. S. 26.
  6. 6,0 6,1 6,2 6,3 Seite „Teilerfremdheit“. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 26. September 2019, 13:33 UTC. URL: https://de.wikipedia.org/w/index.php?title=Teilerfremdheit&oldid=192615323 (Abgerufen: 10. Januar 2020, 13:56 UTC; Formulierung verändert)
  7. 7,0 7,1 7,2 Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 37.
  8. 8,0 8,1 8,2 Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Heldermann Verlag. S. 146.
  9. 9,0 9,1 Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Lemgo: Heldermann Verlag. S. 24.
  10. Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 10.
  11. Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Lemgo: Heldermann Verlag. S. 48.
  12. „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)
  13. Euler, L. (1763). Theoremata arithmetica nova methodo demonstrata. 8 (S. 74–104). S. 102.
  14. 14,0 14,1 Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Heldermann Verlag. S. 154f.
  15. Reiss, K., & Schmieder, G. (2014). Basiswissen Zahlentheorie: Eine Einführung in Zahlen und Zahlbereiche (3. Aufl.). Springer Spektrum. S. 157.
  16. 16,0 16,1 Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Lemgo: Heldermann Verlag. S. 26.
  17. 17,0 17,1 17,2 Lehman, E., Leighton, T., & Meyer, A. R. (2010). Mathematics for computer science. Technical report, 2006. Lecture notes. S. 249.
  18. 18,0 18,1 18,2 Kurzweil, H. (2008). Endliche Körper: Verstehen, rechnen, anwenden (2., überarb. Aufl). Springer. S. 57.
  19. Seite „Chinesischer Restsatz“. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 11. November 2019, 11:56 UTC. URL: https://de.wikipedia.org/w/index.php?title=Chinesischer_Restsatz&oldid=193949389 (Abgerufen: 23. Januar 2020, 14:56 UTC)