Geheimnisvolle Codes



Ähnliche Dokumente
11. Das RSA Verfahren und andere Verfahren

RSA Verfahren. Kapitel 7 p. 103

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009

Primzahlen und RSA-Verschlüsselung

10. Kryptographie. Was ist Kryptographie?

Modul Diskrete Mathematik WiSe 2011/12

Lenstras Algorithmus für Faktorisierung

10. Public-Key Kryptographie

Computeralgebra in der Lehre am Beispiel Kryptografie

12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce

RSA-Verschlüsselung. Verfahren zur Erzeugung der beiden Schlüssel:

Public-Key Verschlüsselung

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

Asymmetrische. Verschlüsselungsverfahren. erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau

Digitale Signaturen. Sven Tabbert

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)

1 Kryptosysteme 1 KRYPTOSYSTEME. Definition 1.1 Eine Kryptosystem (P(A), C(B), K, E, D) besteht aus

Verschlüsselung. Kirchstraße 18 Steinfelderstraße Birkweiler Bad Bergzabern Fabian Simon Bfit09

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie

Verschlüsselung. Chiffrat. Eve

Elliptische Kurven in der Kryptographie

Einfache kryptographische Verfahren

6.2 Perfekte Sicherheit

Der Zwei-Quadrate-Satz von Fermat

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Probabilistische Primzahlensuche. Marco Berger

RSA Verfahren. Ghazwan Al Hayek Hochschule für Technik Stuttgart. 2. November 2008

Entwicklung der Asymmetrischen Kryptographie und deren Einsatz

Zur Sicherheit von RSA

Erste Vorlesung Kryptographie

Kryptologie. Verschlüsselungstechniken von Cäsar bis heute. Arnulf May

Public-Key-Kryptosystem

Zeichen bei Zahlen entschlüsseln

Kryptographie Reine Mathematik in den Geheimdiensten

7 Rechnen mit Polynomen

Informatik für Ökonomen II HS 09

1. Asymmetrische Verschlüsselung einfach erklärt

Mathematik und Logik

Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit. Asymmetrische Verschlüsselung, Digitale Signatur

27. Algorithmus der Woche Public-Key-Kryptographie Verschlüsseln mit öffentlichen Schlüsseln

RSA-Verschlüsselung. von Johannes Becker Gießen 2006/2008

Kryptographische Verfahren auf Basis des Diskreten Logarithmus

Theoretische Grundlagen der Informatik WS 09/10

Grundlagen der Kryptographie

Exkurs Kryptographie

Über das Hüten von Geheimnissen

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Einführung in die verschlüsselte Kommunikation

Kapitel 3: Etwas Informationstheorie

Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr.

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am

Klassische Verschlüsselungsverfahren

Kryptographie eine erste Ubersicht

Lineare Gleichungssysteme

Anleitung Thunderbird Verschlu sselung

10.6 Authentizität. Geheimhaltung: nur der Empfänger kann die Nachricht lesen

Regine Schreier

Codierungsverfahren SS Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur

Authentikation und digitale Signatur

Algorithmische Kryptographie

Seminar für LAK. Angewandte Mathematik

Umstellung des Schlüsselpaares der Elektronischen Unterschrift von A003 (768 Bit) auf A004 (1024 Bit)

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

KRYPTOLOGIE KRYPTOLOGIE

Informationsblatt Induktionsbeweis

Technische Universität München SS 2006 Fakultät für Informatik 12. Oktober 2006 Prof. Dr. A. Knoll. Aufgabe 1 Transferfragen (Lösungsvorschlag)

Grundlagen der Theoretischen Informatik, SoSe 2008

Digitale Unterschriften Grundlagen der digitalen Unterschriften Hash-Then-Sign Unterschriften Public-Key Infrastrukturen (PKI) Digitale Signaturen

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen?

Informationssicherheit - Lösung Blatt 2

Mathematik ist überall

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

a n auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

Binärdarstellung von Fliesskommazahlen

Ein neuer Beweis, dass die Newton sche Entwicklung der Potenzen des Binoms auch für gebrochene Exponenten gilt

IT-Sicherheitsmanagement. Teil 12: Asymmetrische Verschlüsselung

Lehreinheit E V2 Verschlüsselung mit symmetrischen Schlüsseln

Übungen zu. Grundlagen der Kryptologie SS Hochschule Konstanz. Dr.-Ing. Harald Vater. Giesecke & Devrient GmbH Prinzregentenstraße 159

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Verschlüsselungsverfahren

Kryptographie mit elliptischen Kurven

15 Optimales Kodieren

Schutz von Informationen bei Übertragung über unsichere Kanäle Beispiele für zu schützende Informationen

4. Woche Decodierung; Maximale, Perfekte und Optimale Codes. 4. Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140

Von Cäsar bis RSA. Chiffrierung von der 1. bis zur 8. Klasse. Dr. Anita Dorfmayr Universität Wien. Lehrerfortbildungstag der ÖMG Wien, 13.

Aufgaben zu Stellenwertsystemen

Einführung in die Algebra

Seminar zur Kryptologie

8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen

AUFGABEN ZUR KRYPTOLOGIE

Konzepte von Betriebssystem-Komponenten: Schwerpunkt Sicherheit Grundlagen: Asymmetrische Verschlüsslung, Digitale Signatur

8. Quadratische Reste. Reziprozitätsgesetz

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester gehalten von Harald Baum

Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code)

Wiederholung Symmetrische Verschlüsselung klassische Verfahren: Substitutionschiffren Transpositionschiffren Vigenère-Chiffre One-Time-Pad moderne

Rekursionen. Georg Anegg 25. November Methoden und Techniken an Beispielen erklärt

Grundlagen der Informatik

Lineare Gleichungssysteme

Transkript:

Geheimnisvolle Codes 1 vorgelegt bei: Mathematisches Seminar für LAK Univ.-Prof. Karin Baur WS 2014/15 von: Julia Hager 0910838 j.hager@edu.uni-graz.at 1 Quelle: http://www.austromath.at/medienvielfalt/materialien/krypto/krypt.png

Inhaltsverzeichnis 1 Einleitung 3 2 Atbasch und Verschiebungschiffre 5 3 Dualsysteme 7 3.1 Morsecode................................... 7 3.2 Binärsystem.................................. 7 4 Public-Key-Verfahren 9 4.1 RSA-Verfahren................................ 9 4.1.1 Schlüsselerzeugung.......................... 11 4.1.2 Verschlüsselung............................ 14 4.1.3 Entschlüsselung............................ 16 4.1.4 Auswahl von p und q......................... 17 4.1.5 Auswahl von e............................ 17 4.1.6 RSA-Anwendungen.......................... 18 5 Appendix 20 5.1 Eigene Beispiele................................ 20 5.2 Literaturverzeichnis.............................. 21 5.3 Abbildungsverzeichnis............................ 21 2

1 Einleitung Kryptographie leitet sich aus den beiden griechischen Wörtern kryptos (verborgen, geheim) und graphein (schreiben) ab. 2 Kryptographie ist daher die Wissenschaft, die sich mit Verschlüsselungen beschäftigt. In der vorliegenden Arbeit habe ich mit dem Thema der Kryptographie auseinandergesetzt, ihre Anfänge beleuchtet und vor allem das heutzutage meist verwendetste Verfahren, das RSA-Verschlüsselungsverfahren genauer unter die Lupe genommen. Wozu brauchen wir eigentlich Verschlüsselungssysteme? Und was ist ein Verschlüsselungsverfahren überhaupt? Abbildung 1: Wozu codieren? Bob und Alice möchten miteinander kommunizieren, ohne, dass Drittpersonen ihre Nachrichten mithören/-lesen können. Aus diesem Grund benötigen sie ein System, einen Code, der ihre Nachrichten verschlüsselt und sie vor Lauschangriffen von Drittpersonen geheim hält. Definition 1.1 (Verschlüsselungsverfahren) 3 Ein Verschlüsselungsverfahren oder Kryptosystem ist ein Fünftupel (P, C, K, E, D) mit folgenden Eigenschaften: 2 Laszlo u.a., Kryptologie im Verlauf der Geschichte 3 Buchmann, Einführung in die Kryptographie, S.59 3

1. P ist eine Menge. Sie heißt Klartextraum. Ihre Elemente heißen Klartexte (Plaintext). 2. C ist eine Menge. Sie heißt Chiffretextraum. Ihre Elemente heißen Chiffretexte oder Schlüsseltexte (Ciphertext). 3. K ist eine Menge. Sie heißt Schlüsselraum. Ihre Elemente heißen Schlüssel (Keys). 4. E = {E k : k K} ist eine Familie von Funktionen E k : P C. Ihre Elemente heißen Verschlüsselungsfunktionen (Encryption). 5. D = {D k : k K} ist eine Familie von Funktionen D k : C P. Ihre Elemente heißen Entschlüsselungsfunktionen (Decryption). Für jedes e K gibt es ein d K, so dass für alle p P die Gleichung D d (E e (p)) = p gilt. 4

2 Atbasch und Verschiebungschiffre Eine sehr alte, wahrscheinlich um 500 vor Christus bereits verwendete Geheimschrift, nennt sich Atbasch. Das Wort setzt sich aus den beiden ersten und letzten Buchstaben des hebräischen Alphabets zusammen und beschreibt zugleich die Verschlüsselungsmethode: Der erste Buchstabe aleph (A) wird mit dem letzten Buchstaben tow (T), der zweite Buchstabe beth(b) wird mit dem vorletzten Buchstaben schin vertauscht und so weiter. Aus diesen Vertauschungen ensteht nun ein Buchstabensalat, aus dem man bei schnellem Hinschauen den Klartext nicht entziffern kann. 4 Beispiel 2.1 Zieht man unser heute weitverbreitetes lateinische Alphabet mit 26 Buchstaben als Klartext-, Chiffretext- und Schlüsselraum heran, so entschlüsselt sich der Chiffretext PLWRVIFMT mit Hilfe der untenstehenden Tabelle als Schlüssel zum Klartext KODIERUNG. A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Z Y X W V U T S R Q P O N M L K J I H G F E D C B A Ebenfalls ein monoalphabetisches (jedem Buchstaben wir ein anderer zugeordnet) Verschlüsselungsverfahren ist die Verschiebungschiffre oder auch Cäsar-Chiffre, die von Julius Cäsar um 50 vor Christus entwickelt und benutzt wurde. Hierbei wird jeder Buchstabe des Alphabets um einen bestimmten Abstand verschoben. Julius Cäsar wählte hierbei den Abstand 3., 5 Mathematisch lässt sich dies folgenderweise ausdrücken (Buchmann, Einführung in die Kryptographie, S.60): Für e Z 26 ist die Verschlüsselungsfunktion E e definiert als Entsprechend für d Z 26 gilt: E e : Σ Σ, x (x + e) mod 26. D d : Σ Σ, x (x d) mod 26. 4 Taschner, Die Zahl die aus der Kälte kam, S.113 5 Taschner, Die Zahl die aus der Kälte kam, S.114 5

In diesem Fall sind Entschlüsselungsschlüssel d und Verschlüsselungsschlüssel e ident. Beispiel 2.2 Wendet man die Verschiebungschiffre mit Abstand 5 auf das Wort KRYPTOGRAPHIE an, so erhält man PWDUYTLWFUMNJ. Aufgrund der geringen Anzahl an Schlüsseln, nämlich 26, eignet sich die Verschiebungschiffre nicht mehr für unsere heutigen Bedarf an Verschlüsselungen. Die Schlüssel könnten leicht durchprobiert werden und man könnte in vertretbarer Zeit aus dem Chiffretext sowohl den Klartext als auch den Schlüssel selbst entziffern. 6

3 Dualsysteme Dualsysteme sind Systeme, die auf zwei Zeichen bzw. Ziffern aufgebaut sind. Basierend auf diesen zwei Basiselementen werden Zeichenketten (Strings) generiert, die Buchstaben- oder Zahlenfolgen zugeordnet werden und diese so verschlüsseln. 3.1 Morsecode Eines der ersten Kodierungssysteme, das auf dem Dualsystem basiert, ist der Morsecode. Der Amerikaner Samuel F.B. Morse erfand gegen Mitte des 19. Jahrhunderts den Code, der auf zwei Symbolen aufgebaut ist, nämlich Punkt ( ) und Strich (-). Dabei wurde jedem Buchstaben eine andere Länge und Zusammensetzung eines Systems aus Punkten und Strichen zugeordnet. So ist etwa der Buchstabe A äquivalent zu, B zu und so weiter. 6 Leider ist der Morsecode leicht fehleranfällig, da ein Vertippen bereits zu einem anderen Buchstaben führen kann. Der eingeschlichene Fehler ist für den Empfänger der Nachricht jedoch oftmals nicht sichtbar und kann daher zu gravierenden Problemen führen. Daher ist auch dieses Verschlüsselungssystem ohne eigene Fehlerkorrektur für den heutigen Gebrauch nicht mehr einsetzbar. 3.2 Binärsystem Betrachtet man ein Dualsystem auf ganz primitiven Level, auf dem 0 für ein Wort und 1 für ein anderes Wort steht, so kann dies wiederum fatale Folgen haben. Nehme man an, dass 0 für nicht angreifen und 1 für angreifen steht. Wenn nun eine der beiden Zahlen inkorrekt übermittelt werden würde, hätte dies nicht vertretbare Konsequenzen. Aus diesem Grund begann man Codes zu benutzen, die zweistellig waren, also zum Beispiel 00 und 11. Ersteres stehe wieder stellvertretend für nicht angreifen und zweiteres für angreifen. Passiert nun ein Fehler in der Übermittlung, es wird z.b. 01 oder 10 gesendet, so erkennt der Empfänger zumindest den fehlerhaften Code, auch wenn er noch keine Korrektur vornehmen kann. Geht man eine Stufe 6 Crilly, 50 Mathematical Ideas, Kapitel 40 7

weiter und ergänzt die Codes um eine dritte Stelle, also 000 und 111, so kann eine fehlerhafte Vermittlung noch immer erkannt und zugleich aber auch korrigiert werden. Erhielte der Empfänger den Code 010, so wüsste er das es 000 heißen müsste, da zwei Fehler bei einem dreistelligen Code sehr unwahrscheinlich und minimal sind. 7 Das heute gängiste Dualsystem zur Datenverarbeitung ist das sogenannte Binärsystem. Basierend auf der Basis 2 und der Verwendung der Zeichen 0 und 1 werden Strings generiert. Zum Beispiel steht der String 101 für 101 = 1 2 2 + 0 2 1 + 1 2 0, was der Zahl 5 im Dezimalsystem entspricht. Daher setzt sich die Wertigkeit Z einer binären Zahlen aus der Summe ihrer Ziffern z i {0, 1} multipliziert mit dem jeweiligen Stellenwert 2 i (i {1, 2, 4, 8, 16,...} zusammen: Z = m 0 z i 2 i mit n, m N und z m als höchstwertige und z 0 als niedrigwertigste Stelle. 7 Crilly, 50 Mathematical Ideas, Kapitel 40 8

4 Public-Key-Verfahren Unter Public-Key-Verfahren versteht man solche Kodierungssysteme, bei denen der Verschlüsselungsschlüssel d veröffentlicht wird (public key). Dies ist möglich, da der Entschlüsselungsschlüssel e vom Verschlüsselungsschlüssel d abweicht und nicht in vertretbarer Zeit und mit vertretbarem Aufwand aus d berechnet werden kann. Der Entschlüsselungschlüssel e bleibt dabei jedoch privat und wird daher auch private key genannt. Im Gegensatz zu symmetrischen Kryptosystemen, bei denen der Verschlüsselungs- und Entschlüsselungsschlüssel ident sind (siehe Beispiel 2.1), nennt man Systeme mit nicht identen Schlüsseln asymmetrische Kryptosysteme. Abbildung 2: Symmetrische und Asymmetrische Verschlüsselung 4.1 RSA-Verfahren Das RSA-Verfahren wurde 1983 von Ron Rivest, Adi Shamir und Len Adleman als erstes Public-Key-Verfahren als Patent angemeldet und ist bis heute noch das wichtigste und weitverbreiteste asymmetrische Verschlüsselungsverfahren. Rudolf Taschner beschreibt es in Die Zahl, die aus der Kälte kam - Wenn Mathematik zum Abenteuer wird folgendermaßen: Man nehme zwei Primzahlen [...] und multipliziere sie. Daraus erhält man den Modul. [...] Dann nehme man irgendeine Zahl [...], die der Exponent heißt. (Ganz frei ist man in der Wahl des Exponenten nicht, aber das ist ein nebensächliches Detail.) Dann kann man eine Zahl, die man geheim halten 9

möchte, dadurch kodieren, dass man ihre Potenz mit dem Exponenten als Hochzahl bildet und deren Rest nach der Division durch den Modul als chiffrierte Zahl seinem Partner mitteilt. [...] Dechiffriert kann die kodierte Zahl dadurch werden, dass man von den Primzahlen, von denen man ausgegangen ist, jeweils 1 abzieht und das Produkt dieser Zahlen bildet. [...] Die Potenz der chiffrierten Zahl mit dem Geheimexponenten als Hochzahl ergibt, wenn man den Rest nach der Division durch den Modul betrachtet, die ursprüngliche Zahl, die der Sender geheim halten wollte, zurück. Mathematisch zu Grunde liegt dem RSA-Verfahren die Nutzung von Primzahltupeln, Faktorisierungen großer Zahlen, Einwegfunktionen und der Satz von Euler-Fermat. Definition 4.1 (Public-Key-Kryptosystem) 8 Ein Kryptosystem K heißt ein Public-Key-Kryptosystem, falls alle Chiffrierfunktionen e k mit k K Einwegfunktionen sind. Dabei werden sowohl das Potenzieren von Elementen großer Ordnungen in geeigneten Gruppen als auch die Multiplikation großer ganzer Zahlen als Einwegfunktionen angesehen. 9 Definition 4.2 (Einwegfunktion) 10 Seien X und Y Mengen. Eine injektive Funktion f : X Y heißt eine Einwegfunktion (one way function), falls man für jedes x X den Funktionswert y = f(x) schnell berechnen kann, aber für jedes beliebig vorgegebene y Bild f Y das Urbild f 1 (y) = x in vertretbarer Zeit nicht finden kann. Dies soll mittels allgemein unbekannter Zusatzinformation möglich sein. 8 Willems, Codierungstheorie und Kryptographie, S.75 9 Willems, Codierungstheorie und Kryptographie, S.75 10 Willems, Codierungstheorie und Kryptographie, S.74 10

Definition 4.3 (Größter Gemeinsamer Teiler) 11 Es seien a 1, a 2,..., a k Z. Sind nicht alle a i 0, so heißt d = max(t (a 1 ) T (a 2 )... T (a k )) N der größte gemeinsame Teiler von a 1,..., a k. Definition 4.4 (Division mit Rest/ Modulo) Es seien a, b Z mit b 0. Dann existieren eindeutig bestimmte q, r Z mit 0 r < b, sodass a = bq + r gilt. 12 Modulo berechnet den Rest r der Division a geteilt durch b. Man kann eine Funktion definieren, welche jedem Zahlenpaar a ; b eindeutig den Teilerrest r zuordnet. Diese nennt man mod. mod : Zx(Z \ {0}) Z, (a, b) a mod b := a a : b b. 13 Definition 4.5 (Primzahl) 14 Eine Zahl n N heißt Primzahl, wenn τ(n) = 2 ( n > 1 und T (n) = {1, n}). τ... Teileranzahlfunktion: τ : N N, n τ(n) := T (n) 15 T(n)... Menge der positiven Teiler von n 16 4.1.1 Schlüsselerzeugung Bob wählt zufällig zwei Primzahlen p und q mit p q und berechnet das Produkt n=pq. Zusätzlich wählt Bob eine natürliche Zahl e mit 1 < e < ϕ(n) = ϕ(p) ϕ(q) mit ϕ(p) = p 1 ϕ(q) = q 1 und ggt (e, ϕ(p)ϕ(q)) = 1 und berechnet eine natürliche Zahl d mit 11 Lettl, Einführung in die Algebra, S.3 12 Lettl, Einführung in die Algebra, S.3 13 Wikipedia, Division mit Rest 14 Lettl, Einführung in die Algebra, S.4 15 Lettl, Einführung in die Algebra, S.2 16 Lettl, Einführung in die Algebra, S.2 11

1 < d < ϕ(p)ϕ(q) und ed 1 mod ϕ(p)ϕ(q). Dabei ist ϕ(n) die Euler schen Phifunktion, welche für jede natürliche Zahl n angibt, wie viele zu n teilerfremde natürliche Zahlen es gibt, die nicht größer als n sind: ϕ(n) := {a N : 1 a n ggt (a, n) = 1}. Ist diese natürliche Zahl eine Primzahl, so gibt es n-1 teilerfremde Zahlen. Paar (n,e)... öffentlicher Schlüssel d... privater Schlüssel/ Entschlüsselungsexponent e... Verschlüsselungsexponent (stets ungerade) n... RSA-Modul Da ggt (e, ϕ(p)ϕ(q)) = 1 ist, gibt es eine solche Zahl d tatsächlich. Sie kann mit dem erweiterten euklidischen Algorithmus berechnet werden. 17 Satz 4.1 (Erweiteter Euklidischer Algorithmus) Der erweiterte Euklidische Algorithmus setzt sich aus dem Euklidischen Algorithmus und dem Algorithmus von Berlekamp zusammen und berechnet daher sowohl den größten gemeinsamen Teiler zweier natürlicher Zahlen a und b als auch zwei ganze Zahlen x und y, die ggt (a, b) = xa + yb erfüllen. Euklidische Algorithmus 18 Es seien a, b N. Für i 1, j 0 werden r i, q j N 0 rekursiv definiert durch: r 1 = a, r 0 = b für i 0: falls r i > 0 bereits definiert ist, so wird (q i, r i+1 ) gemäß des Satzes Division mit Rest eindeutig definiert durch r i 1 = q i r i + r i+1 (Division von r i 1 durch r i mit Rest). Algorithmus von Berlekamp 19 Es sei n N 0 mit r n > 0 und r n+1 = 0. Für 0 i n werden x i, y i Z rekursiv definiert durch 17 Buchmann, Einführung in die Kryptographie, S.137 18 Lettl, Einführung in die Algebra, S.3 19 Lettl, Einführung in die Algebra, S.4 12

x 0 = 0, y 0 = 1, x 1 = 1, y 1 = q 0 für 0 i n 1 : x i+1 = x i 1 q i x i, y i+1 = y i 1 q i y i. Dann gilt für alle 0 i n: r i = ax i + by i, und insbesondere ggt (a, b) = r n = ax n + by n. Beispiel 4.0 Sei e=5 und ϕ(n) = 24. Berechne d mit dem Erweiterten Euklidischen Algorithmus. Wir wollen dabei auf die Form 1 = 5 d + k ϕ(n) kommen. Der Euklidische Algorithmus liefert: 24 = 4 5 + 4 5 = 4 1 + 1 4 = 1 4 + 0 Der Algorithmus von Berlekamp liefert: 1 = 5 4 1 = 5 1 (24 4 5) = 5 5 1 24 = e d yϕ(n). Daher ist d=5. Bob gibt den öffentliche Schlüssel (n,e) bekannt, hält aber den privaten Schlüssel d geheim. Alice kann nun eine Nachricht, die aus einem oder mehreren Elementen aus Z n besteht, mittels der Chiffrierfunktion E e : P = Z n C = Z n, x y = x e mod n an Boden senden. Er kann dann die verschlüsselte Nachricht vermöge der Dechiffrierfunktion D d : C = Z n P = Z n, y y d mod n entschlüsseln. 20 Beispiel 4.1 21 Als Primzahlen wählt Bob die Zahlen p=11 und q=23. Also ist n = 11 23 = 253 und (p 1)(q 1) = 10 22 = 4 5 11. Das kleinstmögliche e ist daher e = 3. Der erweiterte euklidische Algorithmus liefert d = 147. 20 Willems, Codierungstheorie und Kryptographie, S.76 21 Buchmann, Einführung in die Kryptographie, S.138 13

Berechnung: Zu lösen gilt: ed 1 mod(p-1)(q-1), daher: 3d 1 mod 220. Der Euklidische Algorithmus liefert für (3,220): 220 = 3 73 + 1 3 = 1 3 + 0 Der Algorithmus von Berlekamp liefert: 1 = 220 3 73 Da dies einen negativen Entschlüsselungsexponenten d und eine Zahl ed liefert, die nicht mod 220 rechenbar ist, wird das RSA-Modul 220 so oft hinzugezählt, bis die Zahl den Modulo erfüllt. In diesem Fall muss die Gleichung auf 1 = 3 (73 +1) 2 220 erweitert werden. So erhält man d=147. Anschaulicher berechnet: Man probiert aus, wann eine ganzzahlige Multiplikation des Entschlüsselungsmoduls ϕ(n) plus 1 durch den Verschlüsselungsexponenten e teilbar ist. Der ganzzahlige Rest ist dann der Entschlüsselungsexponent d. 1 220 + 1 = 221 2 220 + 1 = 441 441 : 3 = 147 d = 147. 4.1.2 Verschlüsselung Verschlüsselung von natürlichen Zahlen 22 Der Klartextraum P bestehe aus allen natürlichen Zahlen m mit 0 m < n. Ein Klartext m wird verschlüsselt zu c = m e mod n. Jeder, der den öffentlichen Schlüssel (n, e) kennt, kann eine Verschlüsselung durchführen. Beispiel 4.2 Sei der öffentliche Schlüssel das Zahlentupel (3, 253). Möchte Alice nun Bob die Nachricht m = 7 übermitteln, so verschlüsselt sie diese folgendermaßen: c = m e = 7 3 mod 253 = 90. 22 Buchmann, Einführung in die Kryptographie, S.138 14

Verschlüsselung von Buchstaben 23 Es habe das verwendete Alphabet Σ genau N verschiedene Buchstaben. Des Weiteren werden diesen Buchstaben die Zahlen 0,1,..., N -1 zugeordnet. Sei k die Blocklänge des Klartextes mit k = log N n. Ein Block m 1... m k, m i Σ, 1 i k, wird in die Zahl m = k i=1 m i N k i umgeschrieben. Beim RSA-Verfahren werden dann die Blöcke der Länge k aus dem Klartextraum injektiv auf Blöcke der Länge k+1 im Chiffretextraum abgebildet. Dabei gilt: c = k i=1 c i N k i, c i Σ, 0 i k. Der Schlüsselblock ist dann c = c 0 c 1... c k. Beispiel 4.3 24 Sei Σ = {0, A, B, C} mit der Zuordnung 0 A B C 0 1 2 3 Des Weiteren sei n=253 und e=3. Die Länge k der Klartextblöcke berechnet sich wie vorher definiert mit dem Logarithmus zur Basis 4 (da N =4): k = log 4 253 = 3. Die Länge k+1 der Schlüsseltextblöcke ist daher 4. Verschlüsseln wir nun den Klartext m= ABB, der der Zeichenkette (String) 122 entspricht. Zur Basis 4 geschrieben, ergibt dies m = 1 4 2 + 2 4 1 + 2 4 0 = 26. Die Verschlüsselung berechnet sich durch c = 26 3 mod 253 = 119. Die Verschlüsselungszahl zur Basis 4 geschrieben, ergibt c = 1 4 3 + 3 4 2 + 1 4 1 + 3 1. Der Schlüsseltextblock lautet nun: ACAC. 23 Buchmann, Einführung in die Kryptographie, S.138 24 Buchmann, Einführung in die Kryptographie, S.139 15

4.1.3 Entschlüsselung Die Grundlage für die Entschlüsselung von RSA ist folgendes Theorem 25 : Sei (n, e) ein öffentlicher Schlüssel und d der entsprechende private Schlüssel. Dann gilt: (m e ) d mod n=m für jede natürliche Zahl m mit 0 m < n. Beweis: Da ed 1 mod (p-1)(q-1) ist, gibt es eine ganze Zahl l, so dass ed = 1 + l(p 1)(q 1) ist. Daher ist (m e ) d = m ed = m 1+l(p 1)(q 1) = m(m (p 1)(q 1) ) l. Fall 1: p m m ϕ(p) = 1 mod p (Siehe Satz 4.1.) (m e ) d = m 1+l(ϕ(p))(ϕ(q)) = m(1 (q 1) ) l = m x m mod p mit x = (q 1) l Z gilt. Fall 2: p m m = a p mit a Z (a p) x = (a p) ed = (a p) 1+l(p 1)(q 1) = (a p) x mod p mit x Z 0 0 mod p. Fall 3: q m m ϕ(p) = 1 mod p (Siehe Satz 4.1.) (m e ) d = m 1+l(ϕ(p))(ϕ(q)) = m(1 (p 1) ) l = m y m mod q mit y = (p 1) l Z gilt. Fall 4: q m m = b q mit b Z (a q) y = (a q) ed = (a q) 1+l(p 1)(q 1) = (a q) y mod q mit y Z 0 0 mod q. Weil p und q verschiedene Primzahlen sind, erhält man also (m e ) d = m mod n. Da 0 m < n ist, erhält man die Behauptung des Satzes. Satz 4.2 (Kleiner Satz von Fermat) 26 Wenn ggt (p, m) = 1 ist, dann folgt m ϕ(p) 1 mod p mit p ist Primzahl. Dieser Satz kann zum Satz von Euler verallgemeinert werden, indem man p durch eine natürliche Zahl n ersetzt: ggt (n, m) = 1 m ϕ(n) 1 mod n. Wurde also c wie in Beispiel 4.2 berechnet, kann man m mittels m = c d mod n rekonstruieren. Damit ist gezeigt, dass das RSA-Verfahren tatsächlich ein 25 Buchmann, Einführung in die Kryptographie, S.140 26 Buchmann, Einführung in die Kryptographie, S.37 16

Kryptosystem ist, dass es nämlich zu jeder Verschlüsselungsfunktion eine Entschlüsselungsfunktion gibt. Beispiel 4.4 Sei der öffentlicher Schlüssel (3, 253). Bob hat von Alice den Schlüsseltext c = 90 erhalten. Sein zuvor berechneter Entschlüsselungsschlüssel (siehe Beispiel 4.2) ist d = 147. Bob entschlüsselt folgendermaßen m = 90 147 mod 253 = 90 3 7 7 ((90 3 mod 253) 7 mod 253) 7 mod 253 = 7 und erhält wieder Alice Klartext m=7. 4.1.4 Auswahl von p und q Da das RSA-Verfahren auf dem Faktorisierungsproblem beruht, ist es wichtig, möglichst große und gleichverteilte Zahlen zu verwenden, da die Faktorisierung dieser dann erschwert bis nahezu unmöglich wird (im Sinne von einem vetretbaren Zeitaufwand). Nach heutigen Standard soll das RSA-Modul n zumindest 512 Bits, wenn nicht 1024 oder sogar 2048 Bits lang sein, um eine längerfristige Sicherheit zu gewährleisten. Daraus resultierend sollten die Primzahlen p und q möglichst gleich groß bzw. lang, zufällig und gleichverteilt gewählt werden. Zum Beispiel sollten für ein 1024 Bit RSA-Modul die Primzahlen jeweils eine 512 Bit Länge aufweisen. 27 Dabei ist sich die Wissenschaft noch nicht einig, ob es Möglichkeiten gibt, den RSA-Schlüsseltext zu entschlüsseln, ohne den RSA-Modul zu faktorisieren. Dies ist ein genauso wichtiges und offenes Problem der Public-Key-Kryptographie wie das Faktorisierungsproblem an sich. 28 4.1.5 Auswahl von e Sieht man unter dem Unterkapitel Schlüsselerzeugung (4.1.1) nach, so erkennt man, dass der kleinste mögliche Verschlüsselungsexponent e=3 ist. Eine Wahl eines solchen 27 Buchmann, Einführung in die Kryptographie, S.143 28 Buchmann, Einführung in die Kryptographie, S.143 17

kleinen Exponeten ist jedoch nicht ungefährlich, da ein Angreifer die sogenannte Low-Exponent-Attacke anwenden kann um die Verschlüsselung zu hecken. Unter einer Low-Exponent-Attacke versteht man einen Angriff auf eine Verschlüsselung, die auf einem kleinen Exponenten und kurzen Chiffretextblöcken beruht. Liegt dieser Fall vor, kann die Entschlüsselungsfunktion oft leicht herausgefunden werden. Dies passiert vor allem dann, wenn zwar verschiedene Module jedoch die gleichen Exponenten bei öffentlichen Schlüsseln verwendet werden. Mathematisch beruht die Low-Exponent-Attacke auf folgendem Theorem 29 : Seien e N, n 1, n2,..., n e N paarweise teilerfremd und m N mit 0 m < n i, 1 i e. Sei c N mit c m e mod n i, 1 i e, und 0 c < e i=1 n i. Dann folgt c = m e. Nichtsdestotrotz macht die Wahl kleiner Exponenten die Verschlüsselung effizienter (zeitlich und fehlerunanfälliger) und daher bedient man sich verschiedener Methoden um solche kleinen Exponenten verwenden, jedoch einer Attacke vorbeugen zu können: Die Klartextblöcke werden kürzer gewählt als notwendig, damit die verbleibenden Bits zufällig belegt werden können. Kleine Verschlüsselungsexponenten werden durch Quadrierungen und Multiplikation bis zu einer noch zulässigen Sicherheitsgrenze vergrößert. Gängig ist z.b. e = 2 16 + 1, eine der Fermat-Zahlen (F (n) = 2 2n + 1). 30 4.1.6 RSA-Anwendungen Die alltägliche Anwendung des RSA-Verfahrens findet man z.b. beim Signieren von elektronischen Nachrichten oder bei Übertragunsprotokollen im World Wide Web, wie z.b. bei SSL (Secure Sockets Layer). Hierbei verschlüsselt der Sender mit seinem privaten Schlüssel seine Nachricht, welche dann der Empfänger mit Hilfe des öffentlichen Schlüssels entschlüsselt. Zusätzlich werden sogenannte Hashwerte 29 Buchmann, Einführung in die Kryptographie, S.144 30 Buchmann, Einführung in die Kryptographie, S.144 18

mitüberliefert mit denen der Nachrichteninhalt verglichen wird. Stimmt dieser mit den Hashwerten überein, so kann davon ausgegangen werden, dass die Nachricht tatsächlich vom jeweiligen Empfänger stammt und keine Drittperson in den Übermittlungsprozess eingegriffen hat. Abbildung 3: Nachrichtensignatur 19

5 Appendix 5.1 Eigene Beispiele Beispiel 1: Wortverschlüsselung Sei Σ = {A, D, E, N, K} mit der Zuordnung A D E N K 0 1 2 3 4 Des Weiteren seien p=53 und q=59. Daraus erhalten wir n=3127 und ϕ(n) = 3016. Die Länge k der Klartextblöcke berechnet sich folgendermaßen: k = log 5 3127 = 5. Daraus folgt, die Länge k+1 der Schlüsseltextblöcke = 6. Wähle e=3 und berechne daraus d=2011. Der Klartext m=danke soll nun verschlüsselt werden, welcher dem Zahlenstring 10342 entspricht: Zur Basis 5 geschrieben, erhalten wir m = 1 5 4 + 0 5 3 + 3 5 2 + 4 5 1 + 2 5 0 = 722. Verschlüsseln wir diese Zahl mit unserem Verschlüsselungsexponenten e=3, so erhalten wir den Verschlüsselungstext c = 722 3 mod 3127 = 1328.Wiederum zur Basis 5 geschrieben, erhalten wir c = 0 5 5 + 2 5 4 + 0 5 3 + 3 5 2 + 0 5 1 + 3 5 0. Unser Verschlüsselungsstring entspricht daher den Buchstaben AEANAN. Beispiel 2: Buchstabenverschlüsselung Sei Σ = Z 26 mit der Zuordnung A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Sei p=7 und q=5. Der RSA-Modul ist daher n = 7 5 = 35 und ϕ(n) = 24. Wähle e=5, dann erhält man d=5. Verschlüssle man nun den Klartext m=danke, indem man die jeweiligen Buchstaben verschlüssle:m D = D = 3 c D = 3 5 mod 35 = 33 m A = A = 0 c A = 0 5 mod 35 = 0 m N = N = 13 c N = 13 5 mod 35 = 13 m K = K = 10 c K = 10 5 mod 35 = 5 m E = E = 4 c E = 4 5 mod 35 = 9 Daraus erhält man folgenden Verschlüsselungsstring: 33 0 13 5 9. 20

5.2 Literaturverzeichnis Buchmann, Johannes. Einführung in die Kryptographie. Berlin-Heidelberg: Springer-Verlag 2008. Crilly, Tony. 50 Mathematical Ideas You Really Need to Know. China: Quercus Publishing Plc 2007. Frank Laszlo / Reinhard Schmidt / Sebastian Schulze. Kryptographie im Verlauf der Geschichte, in ABDRUCK FHTE Spektrum Nr. 21. URL: http://www.hsesslingen.de/fileadmin/medien/mitarbeiter/schmidt/kryptologie_ im_ Verlauf_ der_ Geschichte.pdf (Zugegriffen 25.10.2014) Lettl, Günter. Skriptum Einführung in die Algebra. SS 2010. Taschner, Rudolf. Die Zahl die aus der Kälte kam. Wenn Mathematik zum Abenteuer wird. München, Carl Hanser Verlag 2013. Wikipedia. Division mit Rest. URL: http://de.wikipedia.org/wiki/division_ mit_ Rest (Zugegriffen 03.11.2014) Willems, Wolfgang. Codierungstheorie und Kryptographie. Basel-Boston-Berlin: Birkhäuser Verlag AG 2008. 5.3 Abbildungsverzeichnis Abbildungen 1-3: Eigene Darstellungen. 21