Das RSA Kryptosystem

Ähnliche Dokumente
Computeralgebra in der Lehre am Beispiel Kryptografie

WS 2009/10. Diskrete Strukturen

Mathematische Grundlagen der Kryptografie (1321) SoSe 06

Das RSA-Verfahren. Proseminar Kryptographische Protokolle SS Armin Litzel

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren)

Asymmetrische Algorithmen

RSA-Verfahren Schnelle Ver- / Entschlüsselung Zusammenhang mit dem Faktorisierungsproblem. RSA-Verfahren. Herwig Stütz

Kapitel 2. Elementare Zahlentheorie Primfaktorzerlegung

Regine Schreier

n ϕ n

El. Zahlentheorie I: Der kleine Satz von Fermat

Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34

ADS: Algorithmen und Datenstrukturen 2

Zufallsprimzahlen und eine Revolution in der Kryptographie Stefan Edelkamp

6: Public-Key Kryptographie (Grundidee)

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

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

Aufgabe der Kryptografie

Public Key Kryptographie

11. Das RSA Verfahren

RSA (Rivest, Shamir, Adleman)

Algorithmische Kryptographie

PRIMZAHLEN PATRICK WEGENER

RSA Verfahren. Kapitel 7 p. 103

Abschnitt 5: Kryptographie. j (p j 1). 1 (p 1 1)p α 2

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

Mathematisches Kaleidoskop 2014 Materialien Teil 2. Dr. Hermann Dürkop

RSA Äquivalenz der Parameter

Kryptographie und Komplexität

VI.3 RSA. - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman. - vorgestellt erstes Public-Key Verschlüsselungsverfahren

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

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

3 Public-Key-Kryptosysteme

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

Bsp: Die kleinsten Carmichael-Zahlen sind 561, 1105, 1729, Es gibt unendlich viele Carmichael-Zahlen (Beweis 1994).

Elementare Zahlentheorie II

3.5 Kryptographie - eine Anwendung der Kongruenzrechnung

3. Vortrag: Das RSA-Verschlüsselungsverfahren

Verschlüsselung durch Exponentiation (Pohlig, Hellman, 1976)

Bsp. Euklidischer Algorithmus

Kommunikationsalgorithmus RSA

3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie

Kryptographie und Codierungstheorie

3: Zahlentheorie / Primzahlen

Kryptographie. Teilnehmer: Gruppenleiter: Humboldt-Universität zu Berlin.

Lineare Algebra I 5. Tutorium Die Restklassenringe /n

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

Lineare Algebra I (WS 13/14)

1 Das RSA-Verfahren und seine algorithmischen Grundlagen

Vorlesung Sicherheit

Einführung in die Kryptographie ,

Euklidischer Algorithmus

Vorlesung Sicherheit

Einführung in die Algebra

Public Key Kryptographie mit dem RSA Schema. Karsten Fischer, Sven Kauer

AES und Public-Key-Kryptographie

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G.

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G.

4 Kryptologie. Übersicht

Kryptographie - eine mathematische Einführung

PRIMZAHLEN UND DIE RSA-VERSCHLÜSSELUNG

MGI Exkurs: RSA-Kryptography

Verschlüsselung. Chiffrat. Eve

Ganzzahlige Division mit Rest

Public-Key Verschlüsselung

Rabin Verschlüsselung 1979

Public-Key-Verschlüsselung und Diskrete Logarithmen

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

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

Anwendungen der Linearen Algebra: Kryptologie

Attacken auf RSA und Das Rabin Kryptosystem

Asymmetrische Kryptographie u

6.2 Asymmetrische Verschlüsselung

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

Algebra & Zahlentheorie. Letztes Tutorium. David Müßig. muessig[at]mi.fu-berlin.de WiSe 12/13

Primzahlen im Schulunterricht wozu?

ggt mit Euklid Satz: Um ggt(k, l) mit dem Euklidischen Algorithmus zu berechnen, braucht man höchstens log Φ k < 3 2 log 2 k rekursive Aufrufe.

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

Grundlagen der Arithmetik und Zahlentheorie

Praktisch modulo n rechnen

WIEDERHOLUNG (BIS ZU BLATT 7)

Funktionsweise des. RSA-Verfahrens

Transkript:

Kryptografie Grundlagen RSA Institut für Mathematik Technische Universität Berlin

Kryptografie Grundlagen RSA mit geheimem mit öffentlichem Schlüssel Realisierung Kryptografie mit geheimem Schlüssel Alice und Bob Einigen sich auf einen geheimen Schlüssel. Alice Verschlüsselt eine Nachricht mit dem geheimen Schlüssel und schickt sie an Bob. Bob Entschlüsselt die Nachricht mit dem geheimen Schlüssel. Nachteil: Alice und Bob müssen miteinander kommunizieren um sich auf einen geheimen Schlüssel zu einigen, den sie für sichere Kommunikation verwenden.

Kryptografie Grundlagen RSA mit geheimem mit öffentlichem Schlüssel Realisierung Kryptografie mit öffentlichem Schlüssel Schlüsselverzeichnis Bobs Schlüssel Bob Erzeugt öffentlichen und privaten Schlüssel. Veröffentlicht den öffentlichen Schlüssel Alice Erhält Bobs öffentlichen Schlüssel aus dem Schlüsselverzeichnis. Verschickt eine mit Bobs öffentlichem Schlüssel verschlüsselte Nachricht. Bob Entschlüsselt die Nachricht von Alice mit seinem privaten Schlüssel.

Kryptografie Grundlagen RSA mit geheimem mit öffentlichem Schlüssel Realisierung Realisierung von Kryptografie mit öffentlichen Schlüsseln Einweg Funktionen mit Trapdoor Können leicht berechnet werden, aber nicht in vertretbarer Zeit invertiert werden. Kennt man aber eine geheime Zusatzinformation, so kann man die Funktion auch effizient invertieren. Beispiele Multiplizieren ist sehr viel einfacher als Faktorisieren. In endlichen Strukturen ist Exponenzieren sehr viel einfacher als Wurzeln zu ziehen. In endlichen Strukturen ist Exponenzieren sehr viel einfacher als Logarithmen zu berechnen.

Division mit Rest Kryptografie Grundlagen RSA mod Fermat Euklid Chinesischer Restsatz Definition Seien a, b N. Dann gibt es q, r N mit a = qb + r und 0 r < b. Die Zahl r heißt Rest der Division von a durch b und wird mit r = a mod b bezeichnet. Bemerkung Wenn r = a mod b, dann gibt es q Z mit r a = qb. Beispiele 8 mod 5 = 3 17 mod 2 = 1 4765 mod 23 = 4 347864817 mod 23478 = 14769

Kleiner Fermatscher Satz Kryptografie Grundlagen RSA mod Fermat Euklid Chinesischer Restsatz Satz Sei p eine Primzahl, dann gilt x p 1 mod p = 1 für alle x {1,..., p 1}. Beweis (i) Sei 1 a p 1. Wenn x, y {1,..., p 1} mit x y dann ax mod p ay mod p. Angenommen ax mod p = ay mod p dann a(x y) mod p = 0. Da (p 1) < x y < p 1 folgt x y = 0. (ii) Sei 1 a p 1. Wegen (i) gilt {1,..., p 1} = {a 1 mod p,..., a (p 1) mod p}. Also p 1 b=1 b mod p = p 1 b=1 ab mod p = ap 1 p 1 b=1 b mod p und damit a p 1 mod p = 1.

Euklidischer Algorithmus Kryptografie Grundlagen RSA mod Fermat Euklid Chinesischer Restsatz Algorithmus Seien r 0, r 1 N mit r 0 > r 1. Bestimme q 2 und 0 < r 2 < r 1 so dass r 0 = q 2 r 1 + r 2.. Bestimme q i+2 und 0 < r i+2 < r i+1 so dass r i = q i+2 r i+1 + r i+2.. Bis zu q m mit r m 1 = q m r m. r m ist größter gemeinsamer Teiler von r 0 und r 1. r m teilt r m 1, r m teilt r m 2,...,r m teilt r 1 und r m teilt r 0. Also ist r m Teiler von r 0 und r 1. Ein gemeinsamer Teiler t von r 0 und r 1 teilt auch r i für i m. Also teilt jeder gemeinsame Teiler von r 0 und r 1 sie Zahl r m. Daher ist r m der grösste gemeinsame Teiler von r 0 und r 1.

Kryptografie Grundlagen RSA mod Fermat Euklid Chinesischer Restsatz Euklidischer Algorithmus Beispiel r 0 = 74188, r 1 = 391 r 0 = 74188 = 189 391 + 289 r 1 = 391 = 1 289 + 102 r 2 = 289 = 2 102 + 85 r 3 = 102 = 1 85 + 17 r 4 = 85 = 5 17 + 0 Es gibt b, c Z mit br 0 + cr 1 = r m = ggt(r 0, r 1 ). r 2 = r 0 q 1 r 1, r 3 = r 1 q 2 r 2 = (1 + q 1 q 2 )r 1 q 2 r 0,... Also läßt sich r m als Linearkombination vom r 0 und r 1 darstellen. Zu a, n N mit ggt(a, n) = 1 bestimme b Z mit ba mod n = 1. Es gibt b, c Z mit ba + cn = 1, also ba = 1 cn und ba mod n = 1.

Chinesischer Restsatz Kryptografie Grundlagen RSA mod Fermat Euklid Chinesischer Restsatz Chinesischer Restsatz Seien a, b, p, q N mit ggt(p, q) = 1, 0 a < p und 0 b < q. Es gibt ein modulo pq eindeutig bestimmtes x N mit x mod p = a und x mod q = b. Existenz Bestimme c, d N mit qc mod p = 1 und pd mod q = 1. Setze x = acq + bdp mod pq. Dann x mod p = a und x mod q = b. Eindeutigkeit Zu jeder der pq Kombinationen von 0 a < p und 0 b < q gibt es ein x. Es gibt pq Zahlen mit 0 x < pq also ist x eindeutig.

RSA Kryptografie Grundlagen RSA RSA Grundlagen Beschreibung Challenges 1977 von Ron Rivest, Adi Shamir und Len Adleman erfunden. RSA war das erste Kryptosystem mit öffentlichem Schlüssel und ist noch heute das am weitesten verbreitete. Einsatzgebiete Homebanking und e-commerce, SSL/TLS und IPSec, automatische Softwareupdates, Chipkarten und Reisepässe.

Kryptografie Grundlagen RSA RSA Grundlagen Beschreibung Challenges RSA Grundlagen Satz Seien p, q Primzahlen mit ggt(p, q) = 1. Für alle a {0,..., pq 1} gilt a 1+c(p 1)(q 1) mod pq = a. Beweis (i) p teilt a, ggt(a, q) = 1. Nach dem kleinen Fermatschen Satz gilt a (q 1) mod q = 1. Also a 1+c(p 1)(q 1) mod q = a. Weiterhin folgt aus a mod p = 0, dass a 1+c(p 1)(q 1) mod p = 0. Nach dem chinesischen Restsatz ist a 1+c(p 1)(q 1) mod pq eindeutig bestimmt. Daher a 1+c(p 1)(q 1) mod pq = a. (ii) ggt(a, pq) = 1. Nach dem kleinen Fermatschen Satz gilt: a 1+c(p 1)(q 1) mod p = a und a 1+c(p 1)(q 1) mod q = a. Die Aussage folgt wiederum mit dem chinesischen Restsatz.

Kryptografie Grundlagen RSA RSA Grundlagen Beschreibung Challenges RSA Beschreibung Schlüsselverzeichnis Bobs Schlüssel: (n, e). Alice Verschlüsselt Nachricht m zu x = m e mod n. Bob Findet zwei große Primzahlen p und q Wählt e N mit ggt ( e, (p 1)(q 1) ) = 1. Berechnet d mit ed mod (p 1)(q 1) = 1. Veröffentlicht e und n = pq. Bob Entschlüsselt die Nachricht mittels x d mod n = m. Bemerkung Nach Satz gilt für 0 m < n = pq x d mod n = (m e ) d mod n = m ed mod n = m da ed mod (p 1)(q 1) = 1.

Kryptografie Grundlagen RSA RSA Grundlagen Beschreibung Challenges RSA Beispiel Schlüsselverzeichnis Bobs Schlüssel: (n = 391, e = 5) Alice Verschlüsselt 8 zu x = 8 5 mod 391 = 315 Bob Wählt Primzahlen 17 und 23 Wählt e = 5 mit ggt ( e, 16 22 ) = 1. Berechnet d =141 mit d 5 mod 16 22 = 1. Veröffentlicht e = 5 und n = pq = 391. Bob Entschlüsselt die Nachricht mittels x d mod n = 315 141 mod 391 = 8. Die Sicherheit von RSA hängt davon ab ob schnellere Faktorisierungsalgorithmen entdeckt werden, schnellere Computer gebaut werden.

Kryptografie Grundlagen RSA RSA Grundlagen Beschreibung Challenges RSA Challenges Die Firma RSA hat Preise für die Faktorisierung von ganzen Zahlen in für das RSA Kryptosystem relevanter Größenordnung ausgelobt. RSA-140 Die Zahl RSA-140 (140 Dezimalstellen) ist 212902463182587575474978820162715174978067039632772162782333 832153819499840564959113665738530219183167831073879953172308 89569230873441936471 Sie wurde 1999 zerlegt in die Primfaktoren 339871742302843855453012362761387583563398649596959742349092 9302771479 und 626420018740128509615165494826444221930203717862350901911166 0653946049 Der Preis betrug 10000 US$. Die Faktorisierung dauerte 8,9 CPU Jahre.

Kryptografie Grundlagen RSA RSA Grundlagen Beschreibung Challenges RSA Challenges Die Firma RSA hat Preise für die Faktorisierung von ganzen Zahlen in für das RSA Kryptosystem relevanter Größenordnung ausgelobt. RSA-640 Die Zahl RSA-640 (193 Dezimalstellen) ist 310741824049004372135075003588856793003734602284272754572016194882 320644051808150455634682967172328678243791627283803341547107310850 1919548529007337724822783525742386454014691736602477652346609 Sie wurde 2005 zerlegt in die Primfaktoren 1634733645809253848443133883865090859841783670033092312181110 852389333100104508151212118167511579 und 190087128166482211312685157393541397547189678996851549366663 8539088027103802104498957191261465571 Der Preis betrug 20000 US$. Die Faktorisierung dauerte 30 2.2GHz-Opteron-CPU Jahre.

Kryptografie Grundlagen RSA RSA Grundlagen Beschreibung Challenges RSA Challenges Die Firma RSA hat Preise für die Faktorisierung von ganzen Zahlen in für das RSA Kryptosystem relevanter Größenordnung ausgelobt. RSA-1024 Die Zahl RSA-1024 (309 Dezimalstellen) ist 135066410865995223349603216278805969938881475605667027524485 143851526510604859533833940287150571909441798207282164471551 373680419703964191743046496589274256239341020864383202110372 958725762358509643110564073501508187510676594629205563685529 475213500852879416377328533906109750544334999811150056977236 890927563 Der ausgelobte Preis beträgt 100000 US$.