Sie sind auf Seite 1von 17

Hugo-Junkers-Gymnasium

Brucknerallee 58 41236 Mnchengladbach

Facharbeit

RSA-Kryptosystem
Niklas Dohmen 10. Mrz 2014

Kurslehrer: Frau Faktorovich

Inhaltsverzeichnis
1 Vorwort 1.1 Schwche symmetrischer Verschlsselung . . . . . . . . . . . . . . . . . . . 2 Mathematische Grundlagen und Begriserluterungen 2.1 Kryptographie . . . . . . . . . . . . . . . . . . . . . . 2.2 Kryptoanalyse . . . . . . . . . . . . . . . . . . . . . . 2.3 Steganographie . . . . . . . . . . . . . . . . . . . . . 2.4 Kerckhossches Prinzip . . . . . . . . . . . . . . . . . 2.5 Angrisszenarien . . . . . . . . . . . . . . . . . . . . 2.6 Modulo-Operationen . . . . . . . . . . . . . . . . . . 2.7 Hashing - Einwegverschlsselung . . . . . . . . . . . . 2.8 Primzahlen . . . . . . . . . . . . . . . . . . . . . . . 2.9 Der euklidische Algorithmus . . . . . . . . . . . . . . 2.10 Der erweiterte euklidische Algorithmus . . . . . . . . 2.11 Eulersche -Funktion . . . . . . . . . . . . . . . . . . 2.12 Satz von Euler . . . . . . . . . . . . . . . . . . . . . 3 Der 3.1 3.2 3.3 RSA-Algorithmus Schlsselerzeugung . . . . . . . . . Anwendungsmglichkeiten . . . . . Sicherheit von RSA . . . . . . . . . 3.3.1 Strke des RSA-Algorithmus 3.3.2 Brute-Force . . . . . . . . . 3.3.3 Faktorisierung . . . . . . . . 5 5 7 7 7 7 7 8 8 9 9 9 9 10 10 11 12 12 12 12 12 12 13 15

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

4 Eigene RSA-Implementation 5 Quantencomputing - Eine groe Gefahr

1 Vorwort
Im Rahmen dieser Facharbeit erhoe ich mir einen berblick ber die Kryptographie und deren Methoden zu erhalten. Ich habe dieses Thema deshalb ausgewhlt, weil es eine Schnittstelle zu Mathematik und Informatik darstellt. Die Informatik ist der mathematische Umgang mit Informationen und da ist die Kryptographie ein exzellentes Beispiel fr. Die Kryptographie ist schon seit der Antike ein wichtiges Thema fr die Menschen und wird in unser heutigen Zeit verstrkt bentigt, wenn man an die Sicherheit im Internet, an Chipkarten und Passwrtern, welche man tglich benutzt, denkt.

1.1 Schwche symmetrischer Verschlsselung


Im Allgemeinen wird zwischen symmetrischer und asymmetrischer Verschlsselung unterschieden. Verschlsselung, welche auf einem symmetrischen Verfahren beruhen haben ein groes Problem: Sie sind nur dann sicher, wenn auch ihr Schlssel richtig bertragen wurde. Um einen 100-prozentig sicheren Austausch zu ermglichen, ist es die einzige Mglichkeit sich mit dem Kommunikationspartner zu treen und den Schlssel zu bergeben. Dies ist jedoch in den heutigen Zeiten des Internets, welche Komuunikation rund um den ganzen Globus ermglicht kaum oder gar nicht vorzustellen.

2 Mathematische Grundlagen und Begriserluterungen


2.1 Kryptographie
Der Begri Kryptographie bezeichnet die Wissenschaft vom geheimen Schreiben. Dabei ist die Chire (cipher) die geheime Methode des Schreibens, also eine Methode des Verschlsselns. Desweiteren nennt man den unverschlsselten Text den Klartext(plaintext, cleartext), den verschlsselten als Chiretext(ciphertext). Wird ein Klartext verschlsselt, so spricht man vom Chirieren, beim Dechirieren wird gegenteilig ein Chiretext zu der ursprnglichen Information entschlsselt(dechiriert).1

2.2 Kryptoanalyse
Die Kryptoanalyse befasst sich mit der Sicherheit von Verschlsselungsverfahren, also dem Brechen von bestimmter Verfahren, sowie den Nachweis von bestehender (Un-)Sicherheit.

2.3 Steganographie
Die Steganographie ist die Kunst, geheime Nachrichten zu verstecken, statt sie zu verschlsseln. Als ein historisches Beispiel sind hier unsichtbare Geheimtinten zu nennen, die spter durch Erwrmen sichtbargemacht werden knnen. Heute wird dieses Prinzip in dem Verstecken von Informationen in Dateien verwendet. Dabei werden digitale Daten in den nierderwertigen Bits der Farbinformationen von digitalen Bildern versteckt. In Audiodateien wird das Rauschen fr die Steganographie ausgenutzt. Allerdings wegen der geringen praktischen Bedeutung wird diese Technik kaum genutzt.2

2.4 Kerckhossches Prinzip


Um einen Verschlsselungsalgorithmus grundstzlich als sicher einzustufen, sollten die Ver- als auch die Entschlsselungsfunktion bekannt sein. Auch wenn es geheime Verfahren gibt, so haben diese keinen lange sichere Existenz, da ein solche Vevom Chirieren gesprochenrfahren bei der Entwicklung, Spezikation, Normung, Programmierung, Evaluierung und Implementierung durch viele Hnde geht. Es ist viel schwieriger ein Verfahren geheim zu halten, als einen Schlssel.
1 2

Dietmar Wtjen. Kryptographie. Grundlagen, Algorithmen, Protokolle. Spektrum, 2008. Wolfgang Ertel. Angewandte Kryptographie. Hanser, 2012, S. 21.

2 Mathematische Grundlagen und Begriserluterungen

2.5 Angrisszenarien
Im Folgenden werden Angrisszenarien erlutert, wodurch bei Bestehen dieser Attacken eine Verschlsselungsfunktion f als sicher eingestuft werden kann: Der Angreifer kennt einen oder mehrere Geheimtexte und mchte durch Erkennung eines allgemein gltigen, sich aus den Geheimtexten erkennenden, Musters auf den Klartext schlieen, beziehungsweise den verwendeten Schlssel berechnen.3
Chipertext-only attack:

Der Angreifer kennt und nutzt zu seinem Angri eine begrenzte Anzahl von Geheimtexten mit den zugehrigen Klartexten und berechnet aus diesen den Schlssel.4
Known-plaintext attack (bekannter Text):

Der Angreifer kennt eine Verschlsselungsfunktion f und deren Parameter. Er kennt den Schlssel k zwar nicht, aber kann den Klartext bestimmen(z. B. spezielle Klartexte wie "10000000") mit Hilfe von fk verschlsseln.5
Chosen-plaintext attack (selbst gewhlter Klartext):

Der Angreifer hat die Mglichkeit, Geheimtexte zu entschlsseln, in dem er Zugang zu der mit dem Schlssel k parametrisierten Entschlsselungsfunktion f * hat. Der Schlssel kann vom Angreifer nicht ausgelsen werden, jedoch kann der Angreifer bestimmte von ihm ausgewhlte Geheimtexte mit Hilfe von fk * entschlsseln. Durch diese Information versucht er, den Schlssel k zu berechnen.6
Chosen-ciphertext attack (selbst gewhlter Geheimtext):

2.6 Modulo-Operationen
Die Modulo-Operation liefert den Rest einer Division zweier ganzer Zahlen. Mathematisch bedeutet die Operation, dass es zu zwei Zahlen n und m = 0 eindeutig bestimmte Zahlen gibt, fr die n = a m + b, 0 b m (2.1)

gilt. Die Zahlen a und b lassen sich durch die schriftliche Division mit ganzen Zahlen ermitteln.7 Hier ein paar Beispiele: 7 3 = 2, Rest 1, da 7 = 3 2 + 1 2 3 = 0, Rest 2, da 2 = 3 0 + 2
3 4

Wtjen, Kryptographie . Wtjen, a. a. O. 5 Wtjen, a. a. O. 6 Wtjen, a. a. O. 7 Division mit Rest. url: http://de.wikipedia.org/wiki/Division_mit_Rest.

2.7 Hashing - Einwegverschlsselung

3 3 = 1, Rest 0, da 3 = 3 1 + 0

2.7 Hashing - Einwegverschlsselung


Eine Hashfunktion ist eine Funktion, die eine beliebig groe Eingabemenge auf einen sogenannten Hashwert einer festen Lnge (oft genutzter Wert: 160 Bit) komprimiert, hnlich wie ein Fingerabdruck einer Nachricht. Der entscheidende Unterschied zu einer Verschlsselung besteht darin, dass ein Hashwert nicht mehr dechiriert werden kann.

2.8 Primzahlen 2.9 Der euklidische Algorithmus


Der euklische Algorithmus ist ein Algorithmus um den grten gemeinsamen Teiler8 zweier natrlicher Zahlen zu ermitteln. Von den Zahlen a, b N mit a < b soll der ggT gebildet werden, d.h. die grte ganze Zahl, die a und b ohne Rest (a mod b = 0) teilt. Der moderne euklische Algorithmus fhrt nun diese Modulo-Division aus, wodurch er auch fr groe Zahlen geeignet ist. Fr a = q1 r0 + r1 , wobei r0 = b ist, wird r0 und r1 so berechnet, dass beide Werte ganzzahlig sind. Nachfolgend das gleiche fr r0 = q2 r1 + r2 , danach analog dazu r1 = q3 r2 + r3 , usw. bis eine Division aufgeht(also rn = 0 ist). Anschlieend ist dann der Divisor rn1 der letzten Teilung der grte gemeinsame Teiler.9 Beispiel: 846 = 1 658 + 188 658 = 3 188 + 94 188 = 2 94 + 0 94 ist hier der gemeinsame grte Teiler der Zahlen 846 und 658, weil rn = 0 ist.

2.10 Der erweiterte euklidische Algorithmus


Der erweiterte euklidische Algorithmus ist, wie der Name schon sagt, eine Erweiterung des euklidischen Algorithmus, den Euklid in der Antike beschrieben hatte. Neben dem ggT zweier natrlicher Zahlen berechnet er zustzlich zwei weitere ganze Zahlen x, y Z, die folgende Gleichung erfllen: ggT (a, b) = a x + b y (2.2)

Der ggT wird hier als eine Linearkombination aus a und b bzw. als eine lineare diophantische Gleichung (Art einer ganzzahligen Gleichung) dargestellt. Fortfhrung des in 2.9 genannten Beispiels mit dem erweiterten euklidischen Algorithmus:
8 9

hier nachfolgend ggT genannt Ertel, Angewandte Kryptographie , S. 164f.

2 Mathematische Grundlagen und Begriserluterungen

94 = 658 3 188 94 = 658 3 (846 1 658) = 4 658 3 846 Die Gleichungen sind Umformungen der Ergebnisse aus dem oben genannten Beispiel. Dabei werden alle die beim euklidischen Algorithmus entstandenen Gleichungen von unten nach oben durchgegangen, aufgelst und ineinander eingesetzt, sodass jeweils durch eine Linearkombination fr die x-te Gleichung des euklidischen Algorithmus kx1 kx rx1 ensteht. Dabei muss darauf geachtet werden, dass man zu der Linearkombination der gerade genannten Form zusammenfasst und nicht ausrechnet.

2.11 Eulersche -Funktion


Die Eulersche -Funktion (n) gibt fr jede natrliche Zahl n, die Anzahl der natrlichen Zahlen kleiner als n an, die zu n teilerfremd sind und somit ihr grter gemeinsamer Teiler gleich 1 ist. Das heit: (n) = |{0 k < n | ggt(k, n) = 1}| (2.3)

Schnell lsst sich erkennen, dass fr eine Primzahl n die Gleichung (n) = n 1 gilt, da eine Primzahl nur durch 1 und sich selber teilbar ist. Der Fermatsche Satz erweist sich daher als ein Spezialfall der -Funktion.10

2.12 Satz von Euler


Der Satz von Euler stellt eine Beziehung zwischen der oben genannten Modulo-Division und der eulerschen -Funktion her. Seien m und n zwei teilerfremde natrliche Zahlen, also unter der Bedingung ggt(m, n) = 1, so gilt m(n) mod(n) = 1 (2.4)

10

Ertel, a. a. O., S. 167f.

10

3 Der RSA-Algorithmus

Der RSA-Algorithmus, 1978 von den Erndern Ron Rivest, Adi Shamir und Leonard Adleman vorgestellt, ist bis heute das mit Abstand populrste Verfahren, welches auf einem asymmetrischen Verschlsselungsverfahren basiert. Asymmetrisches Verfahren bedeutet, dass beide Kommunikationspartner jeweils einen entlichen und einen privaten Schlssel besitzen, welche beide eigens fr die Kommunikationspartner erstellt werden. Der entliche Schlssel eines Kommunikationspartners, im Gegensatz zum privaten, darf der ganzen Welt bekannt sein(nach dem Modell eines Telefonbuches) und dient nur zur Verschlsselung der Nachricht. Um eine Nachricht zu verschlsseln muss man den entlichen Schlssel seiner Zielperson haben um damit die Nachricht zu verschlsseln. Der Chiretext ist dann nur noch mithilfe des bei der Zielperson bendlichen privaten Schlssels zu entschlsseln. Somit ist der Chiretext, sowie der entliche Schlssel, fr fremde Hende unbrauchbar, weil sie den privaten Schlssel der Zielperson nicht besitzen, um den Text zu dechirien. Aus dem privaten Schlssel, welcher die Zielperson streng geheim halten muss, kann man den entlichen Schlssel nicht abbilden. Der Algorithmus besteht aus zwei Teilen, welche im Folgenden mathematisch beschrieben werden und welche aus der in Kapitel 2 genannten Mathematik bestehen: dem Chiffrieralgorithmus und der Schlsselerzeugung, wobei letzteres von grerer Bedeutsamkeit fr die Sicherheit des Verfahrens ist.

Abbildung 3.1: Verfahren der Ver- und Entschlsselung eines Textes

11

3 Der RSA-Algorithmus

3.1 Schlsselerzeugung
Zunchst muss jeder Partner ein Schlsselpaar bestehend aus einem privaten und einem entlichen Schlssel erstellen. Diese Schlssel werden in der Regel einmal erzeugt und werden dann in der Regel eine lngere Zeit(mehrere Jahre) genutzt. Die Schlssel werden von allen Partnern unabhngig erzeugt, weswegen im weiteren Verlauf nur die Schlsselerzeugung eines Partners erlutert wird. Zuerst whlt man zwei groe Primzahlen(ber 100 Dezimalstellen) p und q und bildet ihr Produkt n = p q . Die Primzahlen werden durch einen Zufallsgenerator erzeugt, der gewhnliche groe Zahlen erzeugt und diese dann mit einem Primzahl-Test auf prim prft. Als nchstes berechnet man die zu n teilerfremden Zahlen, also (n). Da die eulersche -Funktion bei groen Zahlen sehr rechenintensiv ist(da bei (n), n 1-mal der ggT berechnet werden muss), die beiden Zahlen p und q Primzahlen sind(die Zahlen 1, 2, 3, ..., p 1 sind teilerfremd zu p) und die eulersche -Funktion multiplikativ (d.h. (m n) = (m) (n) ) ist, lsst sich folgende Gleichung fr Primzahlen aufstellen:1 (n) = (pq ) = (p 1) (q 1) Schlielich werden zwei Zahlen e und d bentigt fr die gilt:2 e d mod (n) = 1 (3.2) (3.1)

3.2 Anwendungsmglichkeiten 3.3 Sicherheit von RSA


3.3.1 Strke des RSA-Algorithmus 3.3.2 Brute-Force 3.3.3 Faktorisierung

Albrecht Beutelspacher. Kryptologie. Eine Einfhrung in die Wissenschaft vom Verschlsseln, Verbergen und

Verheimlichen. Vieweg + Teubner, 2009, S. 102. 2 Beutelspacher, a. a. O.

12

4 Eigene RSA-Implementation

13

5 Quantencomputing - Eine groe Gefahr

15

Literatur
Wtjen, Dietmar. Kryptographie. Grundlagen, Algorithmen, Protokolle. Spektrum, 2008. Ertel, Wolfgang. Angewandte Kryptographie. Hanser, 2012. Division mit Rest. url: http://de.wikipedia.org/wiki/Division_mit_Rest. Beutelspacher, Albrecht. Kryptologie. Eine Einfhrung in die Wissenschaft vom Verschlsseln, Verbergen und Verheimlichen. Vieweg + Teubner, 2009.

17