11. Das RSA Verfahren

Ähnliche Dokumente
11. Das RSA Verfahren und andere Verfahren

Hast du auch wirklich versucht, die Aufgaben einmal selbständig zu lösen? Wenn nicht, tue es, bevor du dir die Lösungen anschaust!

10. Kryptographie. Was ist Kryptographie?

n ϕ n

$Id: ring.tex,v /05/03 15:13:26 hk Exp $

Das RSA Kryptosystem

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

Kleiner Fermatscher Satz, Chinesischer Restsatz, Eulersche '-Funktion, RSA

3: Zahlentheorie / Primzahlen

Wiederholung. Symmetrische Verfahren: klassische Verfahren / grundlegende Prinzipien: Substitution, Transposition, One-Time-Pad DES AES

Modul Diskrete Mathematik WiSe 2011/12

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

RSA Verfahren. Kapitel 7 p. 103

4. ggt und kgv. Chr.Nelius: Zahlentheorie (SS 2007) 9

Einführung in die Kryptographie ,

Public-Key Kryptographie mit dem RSA Schema. Torsten Büchner

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

Kryptographie und Komplexität

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

1. Asymmetrische Verschlüsselung einfach erklärt

Computeralgebra in der Lehre am Beispiel Kryptografie

KRYPTOSYSTEME & RSA IM SPEZIELLEN

Der RSA-Algorithmus. 2. Anschließend ist n = p q und ϕ (n) = (p 1) (q 1) zu berechnen.

Netzwerktechnologien 3 VO

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

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

Elementare Zahlentheorie II

Public-Key Verschlüsselung

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

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

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

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

Digitale Unterschriften mit ElGamal

Grundlagen der Kryptographie

Lenstras Algorithmus für Faktorisierung

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

Primzahlen. Herbert Koch Mathematisches Institut Universität Bonn Die Primfaktorzerlegung. a = st

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

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

Vorlesung Datensicherheit. Sommersemester 2010

Kryptographie. ein erprobter Lehrgang. AG-Tagung Informatik, April 2011 Alfred Nussbaumer, LSR für NÖ. LSR für NÖ, 28. April 2011 Alfred Nussbaumer

Algorithmentheorie Randomisierung. Robert Elsässer

Angewandte Kryptographie

Entwicklung der Asymmetrischen Kryptographie und deren Einsatz

Datensicherheit durch Kryptographie

3 Das RSA-Kryptosystem

MGI Exkurs: RSA-Kryptography

Verschlüsselung. Chiffrat. Eve

Folien der 14. Vorlesungswoche

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

Public-Key-Kryptographie

Kryptografie & Kryptoanalyse. Eine Einführung in die klassische Kryptologie

Kryptographie Reine Mathematik in den Geheimdiensten

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie

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

Asymmetrische Kryptographie u

PGP warum, was und wie?

1 Das RSA-Verfahren und seine algorithmischen Grundlagen

Public-Key-Verschlüsselung und Diskrete Logarithmen

Mathematik und Logik

Das Verschlüsselungsverfahren RSA

Primzahlen und RSA-Verschlüsselung

Vorlesung Diskrete Strukturen Gruppe und Ring

Vorlesung Sicherheit

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

5 Codierung nach RSA (Lösung)

Vorkurs für. Studierende in Mathematik und Physik. Einführung in Kryptographie Kurzskript 2015

1 Zahlentheorie. 1.1 Kongruenzen

Kryptographie eine erste Ubersicht

1. Klassische Kryptographie: Caesar-Verschlüsselung

Kryptographische Verfahren auf Basis des Diskreten Logarithmus

Praktikum Diskrete Optimierung (Teil 11)

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

Office Standardization. Encryption Gateway. Kurzinformation für externe Kommunikationspartner.

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

3. Diskrete Mathematik

Vortrag zum Proseminar: Kryptographie

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

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

Primzahlen. Die Zahl 1 ist weder prim noch zusammengesetzt. Es gilt: N=P Z {1} Definition: (Primzahlen) Definition: (zusammengesetzte Zahlen)

IT-Sicherheit Kapitel 3 Public Key Kryptographie

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

Einführung in PGP/GPG Mailverschlüsselung

Primzahlen Primzahlsatz Der Satz von Green und Tao Verschlüsselung mit RSA. Primzahlen. Ulrich Görtz. 3. Mai 2011

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

Über das Hüten von Geheimnissen

(c) x = a 2 b = ( ) ( ) = Anzahl der Teiler von x: τ(x) = (1 + 1) (3 + 1) (1 + 1) (7 + 1) = 128

Student: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum:

Wiederholung: Informationssicherheit Ziele

Kryptographie mit elliptischen Kurven

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

Prof. Dr. H. Brenner Osnabrück SS Zahlentheorie. Vorlesung 3. Der euklidische Algorithmus

Kryptographie praktisch erlebt

Homomorphe Verschlüsselung

Kryptographie oder Verschlüsselungstechniken

Zahlentheorie für den Landeswettbewerb für Anfängerinnen und Anfänger der Österreichischen Mathematik-Olympiade

Allgemeine Erläuterungen zu

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

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

Transkript:

Chr.Nelius: Zahlentheorie (SoSe 2017) 53 11. Das RSA Verfahren Bei einer asymmetrischen Verschlüsselung lässt sich der Schlüssel zum Entschlüsseln nicht aus dem Schlüssel zum Verschlüsseln bestimmen und umgekehrt. Ein Beispiel für ein asymmetrisches Verfahren ist das sog. Public Key Verfahren, bei dem jeder Teilnehmer einen privaten (geheimen) Schlüssel und einen öffentlichen Schlüssel hat. Will eine Person A eine verschlüsselte Nachricht an eine zweite Person B schicken, so benutzt A den öffentlichen Schlüssel von B zum Verschlüsseln, und B kann dann mit seinem geheimen Schlüssel die Nachricht entschlüsseln. Damit B sicher sein kann, dass die Nachricht auch wirklich von A stammt, kann A seine Nachricht signieren. Er verschlüsselt noch zusätzlich mit seinem geheimen Schlüssel, was B durch den öffentlichen Schlüssel von A wieder entschlüsseln kann. Das RSA Verfahren ist eine konkrete Realisierung eines Public Key Verfahrens, das im Jahre 1978 von den drei Wissenschaftlern Ron L.Rivest, Adi Shamir, Leonard Aldeman veröffentlicht wurde. Der Titel ihrer Arbeit lautete A Method for Obtaining Digital Signatures and Public Key. Das RSA Verfahren basiert auf den Ergebnissen des Paragraphen 10 und insbesondere auf dem Kleinen Satz von Fermat aus dem Jahre 1640. Grundlage für das RSA Verfahren ist der folgende Satz. Dabei bezeichnet wie gewohnt R m = {0,1,2,...,m 1} für m Æ die Menge der Reste bei Division durch m. (11.1) SATZ: Die natürliche Zahl n Æ sei das Produkt zweier verschiedener Primzahlen p und q. Ferner sei e R m eine zu m := (p 1) (q 1) teilerfremde Zahl. Dann gilt: a) Es gibt eine natürliche Zahl d R m mit r m (e d) = 1 b) Für alle x R n gilt r n (x e d ) = x. Bew: a) Wegen ggt(e,m) = 1 gibt es nach (9.6) ein d R m mit der Eigenschaft r m (e d) = 1. b) Für alle x R n gilt ggt(x,n) = ggt(x,p q) T + (p q) = {1,p,q,p q} Daher sind 4 Fälle für ggt(x,n) möglich:

Chr.Nelius: Zahlentheorie (SoSe 2017) 54 1. Fall: ggt(x, n) = 1 Es ist n = p q und m = (p 1) (q 1). Nach (10.11) gilt r n (x m ) = 1. Wegen r m (e d) = 1 gibt es ein k Æ gibt mit m k = e d 1 (= e d = m k+1). Folglich also r n (x e d ) = r n (x m k+1 ) = r n ((r n (x m )) k x) = r }{{} n (x) = x, =1 r n (x e d ) = x. 2. Fall: ggt(x, n) = p Aus p x folgt p x e d, also p (x e d x) und daraus mit (4.7e) (1) r p (x e d ) = r p (x). Es muss dann ggt(x,q) = 1 gelten. Sonst wäre ggt(x,q) = q, woraus q x folgen würde. Da auch q ein Teiler von n ist, ist q ein gemeinsamer Teiler von x und n, der nach (5.10) ggt(x,n) = p teilt. Aus q p folgt q = p, da p und q Primzahlen sind. Dies ist aber ein Widerspruch zur Voraussetzung p q. Nach a) gilt r m (e d) = 1, also m (e d 1) nach (4.7e). Da q 1 ein Teiler von m = (p 1) (q 1) ist, gilt (q 1) (e d 1) auf Grund der Transitivität der Teilbarkeitsrelation. Da ggt(x, q) = 1 gilt, folgt mit (10.9) (2) r q (x e d ) = r q (x), Aus (1) und (2) folgt mit (4.7e) p (x e d x) und q (x e d x). Wegen ggt(p,q) = 1 ergibt sich unter Verwendung von (5.13a) p q (x }{{} e d x), woraus wiederum mit (4.7e) folgt =n r n (x e d ) = r n (x) ( ) = x. ( ) gilt nach (4.7b) wegen x R n. 3. Fall: ggt(x, n) = q Dieser Fall wird analog zum zweiten Fall bewiesen. 4. Fall: ggt(x,n) = p q = n (1.5a) ggt(x,n) = n = n x. Annahme: x 0 = n x, Widerspruch, da x R n und damit x < n. Also ist x = 0, und für x = 0 gilt r n (x e d ) = x In allen vier Fällen gilt also die Behauptung r n (x e d ) = x.

Chr.Nelius: Zahlentheorie (SoSe 2017) 55 (11.2) Das RSA Verfahren Das RSA Verfahren ist ein Public-Key Verfahren, bei dem ein Teilnehmer den öffentlichen Schlüssel (n, e) und den geheimen Schlüssel (n, d) hat, die entsprechend den Ergebnissen des Satzes (11.1) berechnet werden. BEM: Natürlich haben unterschiedliche Teilnehmer auch verschiedene Schlüssel! Die Schlüssel sind von einer Zentrale berechnet und an die Teilnehmer weitergegeben worden. Bew: Die zu verschlüsselnde Nachricht liege in Form einer Zahl x R n vor. Sie wird mit dem öffentlichen Schlüssel (n, e) des Empfängers zu y := r n (x e ) verschlüsselt und an diesen verschickt. Der Empfänger kann nun die verschlüsselte Botschaft y mit seinem geheimen Schlüssel (n, d) entschlüsseln, indem er berechnet. Es gilt nämlich r n (y d ) r n (y d ) = r n (r n (x e ) d ) (1) = r n ((x e ) d ) (2) = r n (x ed ) (3) = r n (x) (4) = x. zu (1) Gilt nach (4.7h). zu (2) Gilt nach (2.7c). zu (3) Gilt nach (11.1b) zu (4) Für x R n gilt r n (x) = x (4.7b). Damit folgt r n (y d ) = x, so dass der Empfänger die ursprüngliche Nachricht x lesen hat. Da (hoffentlich!) nur der Empfänger seinen geheimen Schlüssel kennt, ist er auch nur der einzige, der den Geheimtext entschlüsseln kann. BEM: Beim Verschlüsseln und Entschlüsseln werden nur die beiden Schlüssel des Empfängers eingesetzt, die Schlüssel des Senders spielen hierbei keine Rolle.

Chr.Nelius: Zahlentheorie (SoSe 2017) 56 (11.3) Die praktische Durchführung des RSA Verfahrens Empfänger B habe den öffentlichen Schlüssel (n, e) und den geheimen Schlüssel (n, d). Beide Schlüssel sind von einer Zentrale entsprechend den Vorgaben des Satzes (11.1) berechnet worden. Der geheime Schlüssel ist nur B bekannt, während der öffentliche Schlüssel in ein allgemein zugängliches Verzeichnis aufgenommen wird. Der Text, den der Sender A dem Teilnehmer B übermitteln möchte, muss zunächst in eine oder mehrere Zahlen umgewandelt werden. Dafür gibt es viele Möglichkeiten. Damit es nicht zu schwierig wird, benutzen wir für unsere Beispiele die in der Tabelle (11.4) angegebene Ersetzung von Buchstaben und Zeichen durch zweiziffrige Zahlen. Will jetzt A eine verschlüsselte Nachricht an B schicken, so sucht A den öffentlichen Schlüssel von B aus dem Verzeichnis heraus und wandelt seinen Text in eine Zahl x um. Ist x < n, so sendet A an B die Nachricht y = r n (x e ), die B mit Hilfe von r n (y d ) entschlüsseln kann. Ist die Zahl x n, so wird x in Blöcke x 1,x 2,...,x r mit x i < n aufgespalten. Dann werden die einzelnen Zahlen x i zu y i := r n (x e i ) verschlüsselt und an B gesandt. Die einzelnen Blöcke y i kann B dann durch r n (y d i ) wieder zu x i entschlüsseln und daraus die ursprüngliche Nachricht zusammensetzen. (11.4) Tabelle A 10 M 22 X 33 B 11 N 23 Y 34 C 12 O 24 Z 35 D 13 P 25. 36 E 14 Q 26, 37 F 15 R 27! 38 G 16 S 28? 39 H 17 T 29 blank 40 I 18 U 30-41 J 19 V 31 : 42 K 20 W 32 ; 43 L 21

Chr.Nelius: Zahlentheorie (SoSe 2017) 57 (11.5) BEISPIEL für das RSA Verfahren: I) Schlüsselerzeugung (wird nicht vom Teilnehmer vorgenommen) p := 9587 und q := 9811 sind zwei verschiedene Primzahlen. Setze n := p q = 9587 9811 = 94058057. Dann ist m = (p 1) (q 1) = 9586 9810 = 94038660. Die Zahl e := 1723 ist teilerfremd zu p 1 und q 1 (e ist hier sogar eine Primzahl, was aber nicht notwendig ist). Daher ist e auch teilerfremd zu m. Die Zahl d R m, für die r m (d e) = 1 gilt, lässt sich mit Hilfe des erweiterten euklidischen Algorithmus berechnen. Man erhält 46773727 e + ( 857) m = 1, also d := 46773727. Jetzt ist (n,e) der öffentliche und (n,d) der geheime Schlüssel des Teilnehmers B. II) Durchführung (die erforderlichen Rechnungen sind nicht dokumentiert) A möchte den Klartext RSA in verschlüsselter Form an B senden. Dazu wandelt A den Klartext in eine Zahl um: Klartext: RSA 272810 =: x (nach Tabelle (11.4)) A verschlüsselt die Zahl x mit dem öffentlichen Schlüssel von B, den er in dem Verzeichnis gefunden hat: Verschlüsselung mit (n,e): r n (x e ) = 87277685 =: y y ist also der Geheimtext, den A an B schickt. B entschlüsselt die erhaltene Nachricht y mit seinem geheimen Schlüssel und wandelt die Zahl wieder in Text um: Entschlüsselung mit (n,d): r n (y d ) = 272810 = x RSA. Jetzt kann B die Nachricht von A lesen. BEM: Die Berechnung von r n (x e ) und r n (y d ) erfordert natürlich einen recht großen Aufwand!

Chr.Nelius: Zahlentheorie (SoSe 2017) 58 Zur Frage nach der Sicherheit des RSA Verfahrens (n,e) sei der öffentliche Schlüssel. Dabei ist n = p q das Produkt zweier Primzahlen, die jedoch unbekannt sind. Wenn man nun auf irgendeine Weise m = (p 1) (q 1) berechnen kann, so lässt sich d R m mit der Eigenschaft r m (d e) = 1 mit Hilfe des EEA berechnen, und der geheime Schlüssel (n, d) ist geknackt. Die Sicherheit des Verfahrens beruht also darauf, dass m nicht berechnet werden kann. Wie der nächste Satz zeigt, ist dies aber äquivalent dazu, dass man die Primfaktorzerlegung von n nicht berechnen kann. (11.6) SATZ: Gegeben sei eine natürliche Zahl n, von der man weiß, dass sie Produkt zweier verschiedener Primzahlen p und q ist, die aber nicht bekannt sind. Ferner sei m = (p 1) (q 1). Dann sind folgende Aussagen äquivalent: a) m lässt sich bestimmen b) Die Primfaktorzerlegung von n lässt sich berechnen. (11.7) BEM: Die Sicherheit des RSA Verfahrens ist also gewährleistet, wenn es unmöglich ist, die Primfaktorzerlegung von n zu berechnen. Nach dem heutigen Stand der Computertechnik und der Faktorisierungsverfahren muss man für p und q zwei mindestens 100 stellige Primzahlen wählen. Dann lässt sich die etwa 200 stellige Zahl n = p q nicht faktorisieren oder es würde zumindest eine sehr sehr lange Zeit dauern. Signatur Verfahren Wenn ein Teilnehmer B eine Nachricht von A erhält, kann er nicht sicher sein, dass die Nachricht auch wirklich von A kommt. Es kann sich irgendjemand anderes für A ausgegeben haben! Um alle Zweifel zu beseitigen, kann A seine Nachricht signieren, damit B sicher gehen kann, dass die Nachricht auch wirklich von A stammt. (11.8) BEM: Das RSA Verfahren lässt sich auch als Signatur Verfahren benutzen. Wenn A eine Nachricht an B signieren möchte, verschlüsselt er sie zusätzlich mit seinem geheimen Schlüssel (also dem geheimen Schlüssel von A). Kann B dann diese Nachricht mit dem öffentlichen Schlüssel von A entschlüsseln, so kann B sicher sein, dass die Nachricht auch wirklich von A gesendet wurde.

Chr.Nelius: Zahlentheorie (SoSe 2017) 59 Schematische Darstellung eines Public Key Verfahrens KT: Klartext GT: Geheimtext A schickt eine verschlüsselte Nachricht an B A KT öffentlicher Schlüssel von B GT B B entschlüsselt die Nachricht von A B GT geheimer Schlüssel von B KT A A signiert eine Nachricht an B A KT geheimer Schlüssel von A GT B B überprüft die Signatur von A B GT öffentlicher Schlüssel von A KT A