• Keine Ergebnisse gefunden

Modul 4c - Proseminar Grundlagen der Mathematik: Geometrie, Algebra und Zahlentheorie

N/A
N/A
Protected

Academic year: 2021

Aktie "Modul 4c - Proseminar Grundlagen der Mathematik: Geometrie, Algebra und Zahlentheorie"

Copied!
14
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Modul 4c - Proseminar

Grundlagen der Mathematik: Geometrie, Algebra und Zahlentheorie

Gruppe 3 - Dr. Regula Krapf

Thema: Primzahlen - Kryptographie

Vortrag 10 - 05.07.2018

Ausarbeitung von Tom Henn

Matrikelnummer: 216202276

Ausarbeitung basierend auf:

Buchmann, Johannes:

Einführung in die Kryptographie, Kapitel 8

6. Auflage, Springer: Berlin, Heidelberg 2016.

(2)

1 Einleitung 1

2 Das RSA-Verfahren 2

2.1 Einleitung . . . 2

2.2 Ablauf . . . 2

2.3 Verschlüsselung und Entschlüsselung . . . 3

2.4 Beispiel . . . 4

3 Exkurs - Der Chinesische Restsatz 8 4 Das Rabin - Verfahren 10 4.1 Einleitung . . . 10

4.2 Ablauf . . . 10

4.3 Verschlüsselung und Entschlüsselung . . . 10

4.4 Beispiel . . . 11

(3)

1 Einleitung 1

1 Einleitung

In dieser Ausarbeitung werden zwei kryptographische Verfahren, genauer Public - Key - Verschlüsselungsverfahren, erläutert. Dabei wird auch auf bereits im Laufe des Seminars erworbene Inhalte zurückgegriffen wie etwa den euklidischen und den erweiterten euklidischen Algorithmus zur Bestimmung des größten gemeinsamen Teilers zweier ganzer Zahlen, den kleinen Satz des Fermat sowie die Euler’sche Funktion und den Satz von Euler-Fermat.

Ein grundlegendes Problem beim Verschlüsseln von Texten etc. ist die sichere Weitergabe der zur Entschlüsselung benötigten Schlüssel und der damit einhergehende organisatori- sche Aufwand. Um dieses Problem etwas greifbarer zu machen wird folgendes Beispiel von J. Buchmann aus dessen Veröffentlichung ’Einführung in die Kryptographie’ zitiert:

’Im Januar 2015 gab es ungefähr drei Milliarden Internet-Nutzer. Wollten die alle einen Schüssel austauschen wären das etwa 3·1018 Schlüssel. Das wäre organisatorisch nicht zu bewältigen.’

Public - Key - Verschlüsselungsverfahren umgehen genau diese Problematik, indem ein öffentlicher Schlüssel durch den Empfänger einer Nachricht vergeben wird. Dieser Schlüssel genügt dem Sender der Nachricht, um seine Nachricht zu verschlüsseln. Die Entschlüsselung der Nachricht gelingt hingegen nur mit dem geheimen Schlüssel des Empfängers.

Insbesondere wird im Rahmen dieser Ausarbeitung auf das erste und noch immer wich- tigste Public - Key - Verschlüsselungsverfahren, welches nach seinen Entwicklern Rivest, Shamir und Adleman als RSA - Verfahren bekannt wurde, sowie auf das Rabin - Ver- fahren eingegangen.

(4)

2 Das RSA-Verfahren

2.1 Einleitung

Die Sicherheit des RSA-Verfahrens hängt mit der Schwierigkeit zusammen große Zahlen in ihre Primfaktoren zu zerlegen. Somit gilt es als sehr sicher, solange kein Verfahren zur einfachen und schnellen Faktorisierung großer Zahlen vorliegt.

Eine etwa 170-stellige Dezimalzahl, welche seit 2001 durch die Forschungsabteilung der Firma RSA Laborities im Rahmen eines Wettbewerbs veröffentlicht wurde, wurde Ende 2003 durch die Zusammenarbeit mehrerer Universitäten als faktorisiert gemeldet. Der da- zu benötigte Rechenaufwand betrug ca. 30 ’PC-Jahre’ und konnte durch Parallelverarbei- tung mehrerer Rechenzentren innerhalb von 5 Monaten geleistet werden. Dieses Beispiel zeigt eindrucksvoll die Sicherheit dieser Verschlüsselungsmethode auf.

2.2 Ablauf

Im Folgenden wird zunächst der Ablauf des RSA-Verfahrens aufgezeigt und dann mithilfe eines Beispiels greifbar gemacht. Das RSA-Verfahren läuft wie folgt ab:

1. Wähle zwei sehr große Primzahlenp und q.

2. Als Produkt der beiden Primzahlen ergibt sich der RSA-Modul n=p·q.

3. Bestimme ϕ(n) =ϕ(p·q) =ϕ(p)·ϕ(q) = (p−1)·(q−1).

4. Wähle e mit 1< e < ϕ(n) = (p−1)(q−1) und ggT (e, ϕ(n)) = 1.

Das Paar e (Englisch: encryption) und n ergibt somit den öffentlichen Schlüssel (e, n), welcher dem Sender einer Nachricht als Verschlüsselung derselben dient.

5. Im Anschluss ist der geheime Schlüsseld (Englisch: decryption) mit 1< d < ϕ(n) = (p−1)(q−1) und d·e≡1mod ϕ(n) = (p−1)(q−1)

zu berechnen, der der Entschlüsselung der Nachricht durch den Empfänger dient.

(5)

2 Das RSA-Verfahren 3

2.3 Verschlüsselung und Entschlüsselung

Satz 1: Sei der Klartext T, der verschlüsselte Geheimtext G, e mit 1 < e < ϕ(n) und ggT (e, ϕ(n)) = 1 und d mit 1 < d < ϕ(n) und d·e ≡ 1 mod ϕ(n) sowie n = p·q und p, q ∈P, dann gilt für G=Te mod n:

T =Gd mod n.

Der Beweis folgt mit der Anwendung des Satzes von Euler-Fermat:

ggT(a, m) = 1 ⇒ aϕ(m) ≡1mod m.

Beweis 1:

Sei d·e≡1 mod ϕ(n)

⇔ ∃r ∈Z:e·d =r·ϕ(n) + 1.

Somit ergibt sich für

(Te)dTe·dTr·ϕ(n)+1Tr·ϕ(n)·T ≡(Tϕ(n))r·T

ggT(e, d) = 1, da e, d∈P (Euler-Fermat)

⇔(Tϕ(n))r·T ≡1r·TT.

Die Zahlen e und d sind also invers zueinander mod ϕ(n) und ermöglichen es den Ge- heimtext wieder in den Klartext umzuwandeln, bzw. den Klartext in den Geheimtext zu verschlüsseln.

(6)

2.4 Beispiel

Wir wählen:

1. p= 7, q = 11⇒n= 77

2. ϕ(77) =ϕ(7)·ϕ(11) = 6·10 = 60

3. e= 47⇒ Öffentlicher Schlüssel: (47,77)

4. 47·d≡ 1mod 60.

Zur Lösung des Ausdrucks d·e ≡ 1 mod ϕ(n) = (p−1)(q−1) ist zunächst folgende Umformung nötig:

d·e ≡1mod ϕ(n)

ϕ(n) | (d·e−1)

⇔ ∃ q ∈Z: ϕ(n)·q =d·e−1

d·eq·ϕ(n) = 1.

Die Gleichungd·eq·ϕ(n) = 1 mitk =−q liegt nun als lineare Diophantische Gleichung vor und lässt sich somit mithilfe des erweiterten Euklidischen Algorithmus lösen.

Übertragen auf das oben begonnene Beispiel lautet die Diophantische Gleichung also:

47·d+ 60·x= 1.

(7)

2 Das RSA-Verfahren 5

Der sich daraus ergebende erweiterte Euklidische Algorithmus zur Bestimmung von d wird im Folgenden mithilfe einer Tabelle zusammen gefasst:

a b q r d x

47 60 0 47 23 -18 60 47 1 13 -18 23

47 13 3 8 5 -18

13 8 1 5 -3 5

8 5 1 3 2 -3

5 3 1 2 -1 2

3 2 1 1 1 -1

2 1 2 0 0 1

Es ergibt sich demzufolge wie erwartet derggT(47,60) = 1 mithilfe des Euklidischen Algo- rithmus und weiterhin lässt sichd= 23 mithilfe des erweiterten Euklidischen Algorithmus bestimmen. Dies lässt sich außerdem auch durch eine Probe verifizieren.

Probe:

23·47 = 1081 1081 : 60 = 18 Rest 1

⇒23 ≡ 1 mod60

⇒ Geheimer Schlüssel: (23,77)

Nun wird der zu verschlüsselnde Klartext T = 2 gewählt. Gemäß Satz 1:G =Te mod n wird nun der Geheimtext G berechnet.

247 ≡25·(27)6 ≡32·516 ≡32·(512)3 mod77 Nebenrechnung:

512 = 2601 2601 : 77 = 33 Rest 60

⇒512 ≡ 60 mod77

⇒247 ≡32·603 ≡32·(−17)3 ≡32·(−17)·172 mod 77

(8)

Nebenrechnung:

172 = 289 289 : 77 = 3 Rest 58

⇒172 ≡ 58 mod77

32·(−17) = −544

−544 : 77 = −7 Rest −5

⇒32·(−17)≡ −5 mod 77

⇒247 ≡(−5)·58≡(−5)·(−19)≡95≡ 18 mod 77

Für den mithilfe des öffentlichen Schlüssels (47,77) verschlüsselten Klartext T = 2 ergibt sich entsprechend der Geheimtext G = 18. Gemäß Satz 1: T = Gd mod n kann der Geheimtext G = 18 durch den geheimen Schlüssel (23,77) nun wieder entschlüsselt werden.

1823 ≡18·(182)11 ≡18·32411 mod 77

Nebenrechnung:

324 : 77 = 4 Rest 16

⇒324≡ 16 mod77

⇒1823≡18·1611 ≡18·16·(162)5 mod 77

Nebenrechnung:

18·16 = 288 288 : 77 = 3 Rest 57

⇒18·16≡ 57≡ −20mod 77 16·16 = 256

256 : 77 = 3 Rest 25

⇒162 ≡25 mod 77

⇒1823 ≡(−20)·255 ≡(−500)·(252)2 mod77

(9)

2 Das RSA-Verfahren 7

Nebenrechnung:

−500 : 77 =−6 Rest −38

⇒(−500)≡ (−38) mod 77 252 = 625

625 : 77 = 8 Rest 9

⇒252 ≡9mod 77

⇒1823≡(−38)·92 ≡(−38)·81≡(−38)·4mod 77

Nebenrechnung:

(−38)·4 = −152 (−152) : 77 =−1 Rest −75

⇒(−38)·4≡ −75≡2mod 77

⇒1823≡2 mod77

Aus dem Geheimtext G = 18 konnte folglich mithilfe des geheimen Schlüssels (23,77) wieder der Klartext T = 2 entschlüsselt werden.

(10)

3 Exkurs - Der Chinesische Restsatz

Seien m1, ..., mn natürliche, paarweise teilerfremde Zahlen und seiena1, ..., an ganze Zah- len. Dann ergibt sich für folgende simultane Kongruenz:

xa1 mod m1, xa2 mod m2, ..., xan mod mn wie folgt eine Lösung.

Setze

m =

n

Y

i=1

mi, Mi=m/mi, 1≤in.

Da die mi paarweise teilerfremd sind gilt

ggT(mi, Mi) = 1,1≤in.

Es gibt also Zahlen yi mit yi∈Z und 1≤in für die gilt yi·Mi ≡1 mod mi.

Diese yi lassen sich nun mithilfe des erweiterten Euklidischen Algorithmus bestimmen.

Dann setzen wir

x= (

n

X

i=1

aiyiMi) mod m.

Wir zeigen nun, dass für die simultane Kongruenz

xa1 mod m1, xa2 mod m2, ..., xan mod mn x eine Lösung ist.

Aus

x= (

n

X

i=1

aiyiMi) mod m.

folgt

aiyiMiai mod mi,1≤in.

(11)

3 Exkurs - Der Chinesische Restsatz 9

Weiterhin ist die Zahl mi ein Teiler vonMi für j 6=i , sodass gilt ajyjMj≡0 mod mi,1≤i, jn, i6=j.

Daraus folgt also

xaiyiMi+

n

X

j=1,j6=i

ajyjMjai mod mi,1≤in.

Somit löst x die oben gegebene simultane Kongruenz.

Beispiel:

Es sei

x≡2 mod4, x≡3mod 7.

Also ist m1 = 4, m2 = 7, a1 = 2, a2 = 3.

Somit ergibt sich m = 28, M1 = 28/4 = 7, M2 = 28/7 = 4.

Wir lösen nun y1·M1 ≡1mod 4. ⇒ y1·7≡3·7 = 21≡1mod 4.

Die kleinste Lösung lautet demnach: y1 = 3.

Wir lösen nun y2·M2 ≡1mod 7. ⇒ y1·4≡2·4 = 8≡1mod 7.

Die kleinste Lösung lautet demnach: y2 = 2.

Wir erhalten also xa1·y1·M1+a2·y2·M2 mod m.

x≡3·2·7 + 2·3·4≡42 + 24≡66mod 28

Eine Lösung der obigen simultanen Kongruenz lautet somit x= 66.

(12)

4 Das Rabin - Verfahren

4.1 Einleitung

Während das RSA - Verfahren auf die Schwierigkeit der Faktorisierung einer großen natürlichen Zahl aufbaut, lässt sich jedoch nicht beweisen, dass die Schwierigkeit eine RSA - Verschlüsselung zu brechen genauso schwer ist wie das damit engverwandte mathema- tische Problem. Die Sicherheit des Rabin - Verfahrens lässt sich hingegen hinreichend durch die Äquivalenz zu einem bestimmten Faktorisierungsproblem beweisen.

4.2 Ablauf

Im Folgenden wird zunächst der Ablauf des Rabin-Verfahrens aufgezeigt und dann mithilfe eines Beispiels greifbar gemacht. Das Rabin-Verfahren läuft wie folgt ab:

1. Wähle zwei Primzahlen p und q mit pq ≡ 3 mod 4. Das Paar (p, q) ergibt den geheimen Schlüssel.

2. Als Produkt der beiden Primzahlen ergibt sich der Rabin-Modul n =p·q, welcher den öffentlichen Schlüssel darstellt.

3. Der Sender der Nachricht verschlüsselt seine Nachricht mithilfe des öffentlichen Schlüssels n wie folgt: G = T2 mod n, wobei G den verschlüsselten Geheimtext und T den unverschlüsselten Klartext darstellt.

4. Der Empfänger entschlüsselt die Nachricht, indem er mithilfe des geheimen Schlüs- sels (p, q) vier Quadratwurzeln des Geheimtext G ermittelt, von welcher eine Qua- dratwurzel dem Klartext T entspricht.

4.3 Verschlüsselung und Entschlüsselung

Satz 2: Sei der Klartext T, der verschlüsselte Geheimtext G und n =p·q sowie pq ≡ 3 mod 4 mit p, q ∈P, dann gilt für

Tp =G(p+1)/4 mod p Tq =G(q+1)/4 mod q:

Tp2G mod p und Tq2G mod q.

(13)

4 Das Rabin - Verfahren 11

Der Beweis folgt mit der Anwendung des Satzes von Euler-Fermat:

ggT(a, m) = 1 ⇒ aϕ(m) ≡1mod m.

Beweis 2:

Tp2 = (Gp+14 )2 =Gp+12 = (T2)p+12 =Tp+1

Tp2 =Tp−1[≡1mod p (Satz von Euler-Fermat)]·T2G mod p.

Analog für Tq2.

Dabei stellt ±Tp die beiden Quadratwurzeln von G+p·z mitz ∈Zund ±Tq die beiden Quadratwurzeln von G+q·z mit z ∈Z dar. Diese vier Quadratwurzeln lassen sich nun mithilfe des Chinesischen Restsatzes ermitteln, welcher im Abschnitt 3 bereits erläutert wurde.

Nun können mithilfe des erweiterten Euklidischen Algorithmus die Koeffizientenyp, yq ∈Z der Diophantischen Gleichung yp·p+yp·q= 1 bestimmt werden.

Dann werden r und s berechnet mit

r = (yp·p·Tq+yq·q·Tp) mod n, s= (yp·p·Tqyq·q·Tp)mod n.

Die Zahlen±rund±sergeben nun die vier Quadratwurzeln vonGund somit den Klartext T. Welche der vier Quadratwurzeln den Klartext T darstellt ist dabei zunächst unklar, allerdings können dazu vorab Vereinbarungen zwischen Sender und Empfänger der Nach- richt getroffen werden oder aber der Empfänger wählt den im Kontext logischen Klartext T.

4.4 Beispiel

Wir wählen

1. p= 7, q = 11⇒n= 77 2. T = 13

(14)

4. Der Empfänger löst nun zunächst die Diophantische Gleichung yp·p+yq·q = 1 mithilfe seines geheimen Schlüssels (p, q) = (7,11).

Wir verzichten an dieser Stelle auf die Anwendung des erweiterten Euklidischen Algorithmus, da sich folgende triviale Lösung ergibt: −3·7 + 2·11 = 1.

Somit ergeben sich yp =−3 und yq= 2.

5. Weiterhin können die Quadratwurzeln wie folgt bestimmt werden:

Tp =G(p+1)/4 mod p= 152 mod 7≡1 mod 7,

Tq=G(q+1)/4 mod q= 153 mod11≡43 mod11≡ −2mod 11.

6. Es ergibt sich also für

r = (yp·p·Tq+yq·q·Tp) mod nr= (−3)·7·(−2) + 2·11·1 = 64 mod 77, und für

s= (yp·p·Tqyq·q·Tp) mod nr= (−3)·7·(−2)−2·11·1 = 20mod 77.

Die vier Quadratwurzeln von 169mod77 lauten also±64 und±20mod77, wodurch sich für den Klartext T die folgenden vier Möglichkeiten ergeben:

T ∈ {13,20,57,64}.

Referenzen

ÄHNLICHE DOKUMENTE

[r]

Wenn man n faktorisieren kann, dann kann man das RSA Problem l ¨osen (klar, d wie in der Schl ¨usselerzeugung berechnen).. Es ist ein offenes Problem, ob das RSA

• eine Nachricht mit vielen Schl ¨usseln verschl ¨usselt wird.. • korrellierte Nachrichten mit einem Schl ¨ussel verschl

Wenn man n faktorisieren kann, dann kann man das RSA Problem l ¨osen (klar, d wie in der Schl ¨usselerzeugung berechnen).. Es ist ein offenes Problem, ob das RSA

Idee für PK-Verfahren: Ersetze das zufällige g durch ein stets neu gewähltes “pseudozufälliges” Gruppenelement. Krypto II - Vorlesung 03 - 18.04.2012 () Hybride

Satz Sicherheit des Hash-and-Sign Paradigmas Sei Π CMA-sicher und Π

The existence of one-way functions is a minimal assumption that is both necessary and sufficient for constructions of pseudorandom generators and functions.... RSA keys

Asymmetry problem = compute the private key from the public key Here: compute d (and not, in addition p and q), knowing (n, e).. Theorem: One-way