3 Public-Key-Kryptosysteme

Ähnliche Dokumente
3 Das RSA-Kryptosystem

RSA Verfahren. Kapitel 7 p. 103

11. Das RSA Verfahren und andere Verfahren

Lenstras Algorithmus für Faktorisierung

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

Modul Diskrete Mathematik WiSe 2011/12

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

Netzwerktechnologien 3 VO

Kommunikationsalgorithmus RSA

SCHRIFTLICHE ZUSAMMENFASSUNG ZUM VORTRAG DIE GRUNDLAGEN DER RSA-VERSCHLÜSSELUNG VON DANIEL METZSCH

Algorithmentheorie Randomisierung. Robert Elsässer

Verschlüsselung. Chiffrat. Eve

Lösung zur Klausur zu Krypographie Sommersemester 2005

Public-Key Verschlüsselung

KRYPTOSYSTEME & RSA IM SPEZIELLEN

Proseminar: Electronic Commerce und Digitale Unterschriften Public-Key-Kryptographie

Computeralgebra in der Lehre am Beispiel Kryptografie

Grundlagen der Kryptographie

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

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

Kryptographie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Einführung in die Kryptographie ,

Verschlüsselte s Wie geht das?

Entwicklung der Asymmetrischen Kryptographie und deren Einsatz

Angewandte Kryptographie

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

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

1. Asymmetrische Verschlüsselung einfach erklärt

Homomorphe Verschlüsselung

Musterlösung zur Probeklausur zur Angewandten Diskreten Mathematik Dr. Hartmut Lanzinger, Hans- Peter Reck

Das RSA-Kryptosystem

vom ggt zu gpg Lars Fischer Die Mathematik von RSA Lars Fischer Intro Mathematik RSA Anhang 1 lars.scher (bei) gmx-topmail.

Kryptographische Verfahren auf Basis des Diskreten Logarithmus

Sicherheit von hybrider Verschlüsselung

Ein RSA verwandtes, randomisiertes Public Key Kryptosystem

Einleitung Shor s Algorithmus Anhang. Thomas Neder. 19. Mai 2009

Praktikum Diskrete Optimierung (Teil 11)

4 RSA und PGP. Die Mathematik von RSA an einem Beispiel

MGI Exkurs: RSA-Kryptography

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

Methoden der Kryptographie

Primzahlen und RSA-Verschlüsselung

Verfügbarkeit (Schutz vor Verlust) Vertraulichkeit (Schutz vor unbefugtem Lesen) Authentizität (Schutz vor Veränderung, Fälschung)

Linux User Group Tübingen

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

Mathematik und Logik

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

10. Public-Key Kryptographie

Probabilistische Primzahlensuche. Marco Berger

Datensicherheit durch Kryptographie

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

Kryptographische Systeme (M, C, K, e, d) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln):

Kryptographie Reine Mathematik in den Geheimdiensten

Verfügbarkeit (Schutz vor Verlust) Vertraulichkeit (Schutz vor unbefugtem Lesen) Authentizität (Schutz vor Veränderung, Fälschung)

AES und Public-Key-Kryptographie

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

Seminarvortrag aus Reiner Mathematik Existenz von Primitivwurzeln

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

ESecur Die einfache verschlüsselung

Name:... Vorname:... Matrikel-Nr.:... Studienfach:...

Über das Hüten von Geheimnissen

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie

Erste Vorlesung Kryptographie

Mit Python von Caesar zur Public-Key Kryptographie

RSA Primzahlen zur Verschlüsselung von Nachrichten

AUFGABEN ZUR KRYPTOLOGIE

Public-Key-Kryptosystem

Grundlegende Protokolle

Kurze Einführung in kryptographische Grundlagen.

1 Zahlentheorie. 1.1 Kongruenzen

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

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

Paul-Klee-Gymnasium. Facharbeit aus der Mathematik. Thema: Asymmetrische Verschlüsselungsverfahren. am Beispiel des RSA-Kryptosystems

IT-Sicherheit - Sicherheit vernetzter Systeme -

Einführung in Computer Microsystems

10. Kryptographie. Was ist Kryptographie?

Facharbeit. Public-Key-Verfahren(PGP) Stephan Larws Informatik 02

Geheimnisvolle Codes

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

Zur Sicherheit von RSA

Kryptographie praktisch erlebt

Elliptische Kurven in der Kryptographie

Mitschrift Vorlesung Einführung in die Kryptographie vom 18. Januar 2011

Ausgeschriebene Informatik-Unterrichtsmitschrift (inklusive Hausaufgaben) vom V.2. Valentina Tamer

Der Zwei-Quadrate-Satz von Fermat

ProSeminar Kryptografie Prof. Dr. Ulrike Baumann. RSA-Verschlüsselung Francesco Kriegel

1 Das RSA-Verfahren und seine algorithmischen Grundlagen

Sicherheit von PDF-Dateien

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

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

Kryptographie oder Verschlüsselungstechniken

11. Übung zur Vorlesung. Zahlentheorie. im Wintersemester 2015/16

Grundlagen der Kryptographie Teil 2.

Grundlagen der Verschlüsselung und Authentifizierung (2)

Kryptographische Verfahren. zur Datenübertragung im Internet. Patrick Schmid, Martin Sommer, Elvis Corbo

Ferienakademie 2001: Kryptographie und Sicherheit offener Systeme. Faktorisierung. Stefan Büttcher

Nachtrag vom zur Fortschreibung der 301-Vereinbarung vom

Transkript:

Stand: 05.11.2013 Vorlesung Grundlagen und Methoden der Kryptographie Dietzfelbinger 3 Public-Key-Kryptosysteme 3.1 Verschlüsselung von Nachrichten Wir betrachten ganz einfache Kommunikationsszenarien. Die Teilnehmer: Alice und Bob. Sie wollen sich über einnen oen zugänglichen Kanal (E-Mail, ein Webportal) Nachrichten schicken. Dieser Kanal wird von Eve mitgelesen. Alice und Bob wollen vermeiden, dass Eve den Inhalt der Nachricht erfährt. Alice möchte an Bob eine Nachricht schicken. Durch geeignete Transformation kann man annehmen, dass die Nachricht die Gestalt (m 1,..., m l ) hat, für Zahlen m 1,..., m l {0,..., n 1}. (Der Nachrichtentext ist ein Binärstring. Alice teilt diesen in Blöcke mit höchstens log n Bits, jeder der Blöcke liefert eine Zahl in {0,..., n 1}. Der Empfänger Bob muss dann am Ende diese Transformation rückgängig machen.) Symmetrische Verschlüsselungsverfahren verwenden einen Schlüssel k, der Alice und Bob bekannt ist, aber nicht Eve. Alice verschlüsselt (m 1,..., m l ) mit Hilfe von k, sendet das Ergebnis an Bob, dieser entschlüsselt mit Hilfe von k. Beispiel 1: One-time-pad: n = 2 z und k = (k 1,..., k l ) ist eine zufällig gewählte Folge von Zahlen in {0,..., n 1}, äquivalent ist k ein zufälliger String aus kz Bits. Verschlüsselung: y i = (m i + k i ) mod n, für i = 1,..., l. (Alternativ: y i = (m i k i ) mod n, wobei für das bitweise XOR steht.) Gesendet wird (y 1,..., y l ). Bob berechnet z i = (y i k i ) mod n, für i = 1,..., l. (Bzw. z i = (y i k i ) mod n.) Weil x i = z i gilt, erhält Bob die ursprüngliche Nachricht. Eve hat keine Chance, auf den Inhalt der Nachricht zu schlieÿen, da unabhängig von (m 1,..., m l ) die übermittelte Sequenz (y 1,..., y l ) rein zufällig ist. Was man nicht machen darf, ist, für die verschiedenen Blöcke den gleichen Schlüssel zu benutzen. Vorteil: Vollständige Sicherheit. Nachteil: Alice und Bob müssen vor der eigentlichen Kommunikation den Schlüs- 1

sel festgelegt und sich darüber verständigt haben (ohne dass Eve den Schlüssel in Erfahrung bringen kann). Beispiel 2: AES. Blocklänge (Bitlänge von m i ): 128 Bits. Länge des Schlüssels k: 128, 192 oder 256 Bits. Jeder Block wird mit demselben Schlüssel k verschlüsselt, ebenso entschlüsselt, nach einem komplexen, aber ezienten Rechenverfahren. Auch hier müssen sich Alice und Bob vorab über den zu verwendenden Schlüssel einigen. In den beiden folgenden Abschnitten besprechen wir asymmetrische Verfahren, bei denen Bob einen öentlichen Schlüssel besorgt und bereitstellt, zum Beispiel in einem öentlich zugänglichen Schlüsselbuch oder auf seiner Webseite. Alice benutzt diesen Schlüssel zum Verschlüsseln. Bob besitzt auÿerdem einen geheimen Entschlüsselungs- Schlüssel, der zum Entschlüsseln benutzt wird. Eine Vorab-Einigung über den Schlüssel ist überüssig. 3.2 Das RSA-Kryptosystem 3.2.1 Schlüsselerzeugung Dieser Vorgang wird oft (im Geheimen) von einem Trust Center durchgeführt. (Es ist aber auch möglich, dass Bob dies selber vornimmt.) Die Schlüssellänge ist festzulegen, etwa 1024 oder 2048 Bits. Danach werden zwei (zufällige) Primzahlen p und q mit der Hälfte dieser Bitlänge bestimmt. Hierzu kann man im Prinzip wie in Abschnitt 2.2 beschrieben vorgehen. Nun wird das Produkt n = pq sowie die Zahl ϕ(n) = (p 1)(q 1) berechnet. Es wird eine Zahl e aus {2,..., ϕ(n) 1} gewählt. Mittels des erweiterten Euklidischen Algorithmus werden Zahlen d und s mit ggt(e, ϕ(n)) = ed+sϕ(n) ermittelt. Wurde e zufällig gewählt, gilt mit überwältigender Wahrscheinlichkeit ggt(e, ϕ(n)) = 1, also d das multiplikative Inverse zu e modulo ϕ(n). (Sollte dies nicht so sein, wird ein neues e gewählt und erneut gerechnet.) Bob erhält (vom Trust Center oder aus seiner Rechnung): n, e und d. Der öentliche Schlüssel ist das Paar (n, e) (encryption key). Dieser wird bekanntgegeben. Der geheime Schlüssel ist d (decryption key). Der Berechnungsaufwand für die Schlüsselerzeugung ist O((log n) 4 ), weil dies die Kosten der Primzahlerzeugung sind, siehe Abschnitt 2.2. 2

3.2.2 Verschlüsselung Alice besorgt sich den öentlichen Schlüssel (n, e). Sie zerlegt die zu sendende Nachricht in Blöcke (m 1,..., m l ), wobei jede Komponente eine Zahl in {0,..., n 1} ist. Wir beschreiben im folgenden, wie eine solche Komponente m = m i ver- und entschlüsselt wird. Klartext: m {0,..., n 1}. Chiretext: y := m e mod n. (Zu berechnen mit schneller Exponentiation, Rechenzeit O((log n) 3 ).) Der Chiretext wird über den öentlichen Kanal an Bob geschickt. 3.2.3 Entschlüsselung Bob erhält ein Chirat y {0,..., n 1}. Er möchte den Ursprungstext x wieder herstellen. Er berechnet (ebenfalls mit schneller Exponentiation): z := y d mod n. Diese Rechnung kann er ausführen, da er den geheimen Schlüssel d und selbstverständlich auch den öentlichen Schlüssel (n, e) kennt. Nach den Potenzrechenregeln, die auch für die modulare Arithmetik gelten, ist z = (m e mod n) d mod n = m ed mod n. Die Korrektheit der Entschlüsselung beruht auf folgendem Satz. Satz 3.1 Korrektheit von RSA m ed mod n = m, für alle m {0, 1,..., n 1}. Beweis: Weil m und m ed mod n beide in {0, 1,..., n 1} liegen, genügt es zu zeigen, dass m ed m (mod n) gilt, d. h. m ed m 0 (mod n). Dies weisen wir im Folgenden nach. Betrachte die Primfaktoren p und q von n. Da ed 1 (mod ϕ(n)) und ϕ(n) = (p 1)(q 1) gilt, haben wir ed = k(p 1)(q 1) + 1 für eine Zahl k Z. Beh.: p teilt m ed m = (m k(p 1)(q 1) 1) m. Wenn m durch p teilbar ist, ist dies klar. Wir können also annehmen, dass p kein Teiler von m ist. Nach dem kleinen Satz von Fermat (Fakt 1.25) gilt m p 1 mod p = 1, also auch m k(p 1)(q 1) mod p = (m (p 1) ) k(q 1) mod p = 1. 3

Dies bedeutet, dass p ein Teiler von m k(p 1)(q 1) 1 ist, also auch ein Teiler von m ed m = (m k(p 1)(q 1) 1) m. Die Behauptung gilt natürlich genauso für q: auch q ist ein Teiler von m ed m. Da p und q teilerfremd sind, folgt aus Fakt 1.8, dass n = pq Teiler von m ed m ist, das heiÿt, dass m ed m (mod n) gilt, wie gewünscht. RSA, insgesamt Bob erwirbt von einem Trust Center einen Schlüsselsatz (n, e, d). Er veröentlicht (n, e) und hält d geheim. Wenn Alice (m 1,..., m l ) an Bob schicken will, verschlüsselt sie y i := m e i mod n, für i = 1,..., l, und sendet (y 1,..., y m ) an Bob. Dieser entschlüsselt und erhält (z 1,..., z l ) = (m 1,..., m l ). z i := y d i mod n, für i = 1,..., l, Man kann zeigen, dass die Gegenspielerin Eve den Entschlüsselungsschlüssel d nur ezient ermitteln kann, wenn sie n ezient in Faktoren zerlegen kann. Dieses Problem gilt bislang als im Allgemeinen schwierig und für das Produkt n von zufälligen Primzahlen mit 512 Bits (oder 1024 Bits) als nicht lösbar. Natürlich kann es andere Möglichkeiten geben, aus n, e und y den Klartext m oder zumindest partielle Information über diesen Klartext m zu gewinnen. Es gibt sogar einige oensichtliche Informationen, die man berechnen kann. Dem wird zum Beispiel dadurch ausgewichen, dass man die echten Klartexte m kürzer als log n anlegt und durch einen zufälligen String einer festen Länge zu einer Zahl m mit der passenden Länge ergänzt. (Unterschied zwischen Textbook-RSA und RSA-Versionen, die für die industrielle Anwendung geeignet sind.) Beispiel: n = 55 = 5 11. ϕ(n) = 4 10 = 40. e = 3, ggt(3, 40) = 1, d = e 1 mod 40 = 27, weil 3 27 = 81 1 (mod 40) gilt. Sei die Botschaft m durch m = 9 gegeben. y = 9 3 mod 55 = 729 mod 55 = 14. Wir rechnen modulo 55: y 27 (14 3 ) 9 49 9 (( 6) 3 ) 3 4 3 64 mod 55 9. 4

Passt! 3.3 Das Rabin-Kryptosystem Es ist nicht bekannt, ob die Schwierigkeit, RSA-verschlüsselte Botschaften unberechtigterweise zu entschlüsseln, äquivalent zum Faktorisierungsproblem ist. Wir betrachten hier noch das Rabin-Verschlüsselungsverfahren, bei dem dies so ist. 3.3.1 Schlüsselerzeugung Bob wählt zwei zufällige groÿe Primzahlen p und q mit p q 3 (mod 4), also Primzahlen, die um 1 kleiner als ein Vielfaches von 4 sind. (Das Verfahren aus Abschnitt 2.2. funktioniert genauso schnell, wenn man nur Zahlen testet, deren Binärdarstellung mit 11 endet.) Sie berechnet n = pq. Der öentliche Schlüssel ist n; der geheime Schlüssel ist (p, q). 3.3.2 Verschlüsselung Alice ndet den öentlichen Schlüssel n von Bob. Wir beschreiben nur die Verschlüsselung eines Blocks m, der eine Zahl < n ist. Alice berechnet und sendet y an Bob. y := m 2 mod n 3.3.3 Entschlüsselung Bob hat nun das Problem, Quadratwurzeln von y modulo n zu berechnen, das sind Zahlen b mit b 2 mod n = y. Er hat aber den Vorteil, die Faktoren p und q zu kennen. Er berechnet: r := y (p+1)/4 mod p und s := y (q+1)/4 mod q. Weil r 2 mod p = ((m 2 mod n) (p+1)/4 ) 2 mod p = m p+1 mod p = (m p m) mod p = m 2 mod p (wir haben den kleinen Satz von Fermat in der Version m p m (mod p) für alle m benutzt), gilt r 2 m 2 (r m)(r + m) 0 (mod p). Das heiÿt, dass entweder r m (mod p) oder p r m (mod p) gilt. Genauso sieht man, dass s m (mod q) oder q s m (mod q) gilt. 5

Mit der konstruktiven Variante des chinesischen Restsatzes (Bemerkung nach Fakt 1.26) kann Bob nun vier Zahlen z 1,..., z 4 {0,..., n 1} berechnen, die die folgenden Kongruenzen erfüllen: z 1 r (mod p) und z 1 s (mod q); z 2 r (mod p) und z 2 q s (mod q); z 3 p r (mod p) und z 3 s (mod q); z 4 p r (mod p) und z 4 q s (mod q). Wegen der obigen Überlegung ist m {z 1,..., z 4 }. Bob kann nun eine dieser vier Möglichkeiten wählen. (Man kann Vorkehrungen treen, dass sinnvolle Blöcke leicht zu erkennen sind. Beispielsweise könnte man den Block m mit einer bestimmten Bitfolge wie 10000 abschlieÿen. Es ist dann nicht anzunehmen, dass die Binärdarstellung einer der anderen Möglichkeiten ebenso endet.) Welcher Rechenaufwand ist nötig? Für die Verschlüsselung muss nur eine Quadrierung durchgeführt werden; sie kostet nur Zeit O((log n) 2 ). Die Entschlüsselung erfordert eine Exponentiation modulo p und eine modulo q und mehrere Anwendungen des erweiterten Euklidischen Algorithmus insgesamt Zeit O((log n) 3 ). 6