Kryptografie und Datensicherheit RSA. Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 1. Asymmetrisches Verschlüsselungsverfahren 2.

Slides:



Advertisements
Ähnliche Präsentationen
Eine Einführung in das RSA-Verfahren an Beispielen
Advertisements

Beispiel: RSA Man nehme 2 große Primzahlen p und q. p = 3 , q = 5
Beispiel zum RSA-Algorithmus
Präsentation Der Gruppe: Boll, Barbosa, Blädel Klasse: WG 05 a.
Hauptseminar Asymmetrische Verschlüsselung & Zertifikate
Invariante und Algorithmenentwurf

Asymmetrische Kryptographie
Asymmetrische Kryptographie
Analyse kryptographischer Protokolle mittels Algebren
Verschlüsselte Botschaften - eine Einführung -
GIN1b – Exkurs: Primzahlen
Proseminar Kryptographie – Kolja Engelmann Sichere Signatursysteme Proseminar Kryptographie Kolja Engelmann,
Public Key Kryptographie mit dem RSA Schema
Algorithmentheorie 04 –Hashing
Kapitel 2 Die rationalen und die irrationalen Zahlen.
Symmetrische und Asymmetrische Verschlüsselung Habilitationsvortrag
Bit Commitment mit quadratischen Resten Vortrag von Josef Pozny
Ein Public Key Kryptosystem mit perfekten Codes in Graphen.
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
(Ron Rivest, Adi Shamit, Leonard Adleman , 1977)
Kryptologie.
Zahlen mit Zahlen ausmessen
Kryptologie Entwicklung und Bewertung von Verschlüsselungsverfahren
Einwegfunktionen mit und ohne „Falltür“
Asymmetrische Verfahren
Kryptographie Wie funktioniert Electronic Banking?
TU GRAZ RSA-Public-Key-Kryptograhie Shor `94
Kryptografie & Kryptoanalyse
präsentiert von Ulli, Nina& Kerstin
Hartmut Klauck Universität Frankfurt WS 04/
Sicherheit in Computernetzen
Kryptograhie Wie funktioniert Electronic Banking?
Zero-Knowledge Protokolle
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Institut für Theoretische Informatik
Fachhochschule Südwestfalen
Kurzvortrag für die Lehrerfortbildung
Der kleine Satz des Fermat
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
(C) 2003, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz 1 RSA-Algorithmus 1978 von Ronald Rivest, Adi Shamir und Leonard Adleman erfunden.
ENDLICHE KÖRPER RSA – VERFAHREN.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II Christian Schindelhauer Sommersemester 2006.
Kapitel 4 Restklassen (die modulo-Rechnung)
Michal Olejniczak Pawel Kiedrowski
Projekt Crypt Einfache kryptografische Verfahren
Das RSA-Verfahren Klaus Becker 2010.
RSA ist nach seinen Erfindern Rivest, Shamir und Adleman benannt.
Folie Nr. Stand Jänner 2008 RSA ist nach seinen Erfindern Rivest, Shamir und Adleman benannt RSA ist ein asymmetrisches Kryptosystem 
© 2013 TravelTainment Kryptographie in der IT Kryptographische Verfahren und ihre Anwendung in der IT.
„PGP für alle“ Leitfaden Grundlagen der Sicherheit Andreas Friedrich / Benny Neugebauer Johannes Petrick / Patrick Rutter Brandenburg, 12. Januar 2010.
Kryptografie und Datensicherheit RSA. Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 1. Attacken auf Public – Key - Verfahren 2. Der.
LINUX II Unit Remote Zugriff via SSH.
Systems Architecture RSA & DSA Signaturen Elliptische-Kurven-Kryptographie Mechmet Chiousemoglou Christian Krause 29.Mai.
– Aber sicher! Freiberger Linux User Group (FluX) Martin Grandrath 17. Dezember 2007.
Kryptographie ● Motivation ● Theoretisches ● Symmetrische Verschlüsselung: RC4 ● Asymmetrische Verschlüsselung: RSA.
Verschlüsselung nach dem RSA-Verfahren
CAcert Was ist das?.
RSA public key encryption
Manuel Blechschmidt & Volker Grabsch CdE Sommerakademie 2006 Kirchheim
Kryptographie.
Aufgabenteil (mit Hilfsmittel)
Wiederholung Größte gemeinsame Teiler Satz von Bezout:
Mathematik für alle Bernhard Riemann
Wiederholung Gerichtete Graphen Digraph D=(V,E)
Symmetrische Verschlüsselung
Klausurtermin Klausur Diskrete Mathematik I Do stündig
Mathematik für alle Prof. Dr. Dörte Haftendorn, Leuphana Universität Lüneburg,
Mathematisches Kaleidoskop
 Präsentation transkript:

Kryptografie und Datensicherheit RSA

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 1. Asymmetrisches Verschlüsselungsverfahren 2. der euklidische und der erweiterte euklidische Algorithmus 3. Verschlüsselungs- und Entschlüsselungsfunktion 4. Beweis zur Existenz einer Entschlüsselungsfunktion 5. Einblick in die Sicherheitsfrage

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 1. Asymmetrisches Verschlüsselungsverfahren - Public-Key Verschlüsselung

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Symmetrische Verschlüsselung: klassische Verschlüsselung mithilfe eines Schlüssels der Texte sowohl ver- als auch entschlüsselt und beiden Kommunikationspartnern bekannt ist ● Problem bei dieser Art der Kommunikation: der Schlüssel muss über einen sicheren Kanal ausgetauscht werden um verschlüsselt kommunizieren zu können

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Asymmetrische Verschlüsselungsverfahren Public-Key-Verschlüsselungsverfahren ● Bob generiert ein Schlüsselpaar bestehend aus einem Ver- schlüsselungsschlüssel und einem passenden Entschlüsselungs- schlüssel

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Asymmetrische Verschlüsselungsverfahren Public-Key-Verschlüsselungsverfahren ● Bob generiert ein Schlüsselpaar bestehend aus einem Ver- schlüsselungsschlüssel und einem passenden Entschlüsselungs- schlüssel ● Bob teilt Alice den Schlüssel zum Verschlüsseln mit (der öffentliche Schlüssel)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Asymmetrische Verschlüsselungsverfahren Public-Key-Verschlüsselungsverfahren ● Bob generiert ein Schlüsselpaar bestehend aus einem Ver- schlüsselungsschlüssel und einem passenden Entschlüsselungs- schlüssel ● Bob teilt Alice den Schlüssel zum Verschlüsseln mit (der öffentliche Schlüssel) ● Alice verschlüsselt einen Text mit Bobs öffentlichem Schlüssel

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Asymmetrische Verschlüsselungsverfahren Public-Key-Verschlüsselungsverfahren ● Alice übermittelt Bob den verschlüsselten Text

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Asymmetrische Verschlüsselungsverfahren Public-Key-Verschlüsselungsverfahren ● Alice übermittelt Bob den verschlüsselten Text ● Bob entschlüsselt den Text mithilfe seines passenden Entschlüsselungsschlüssel (dem privaten Schlüssel)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Asymmetrische Verschlüsselungsverfahren Public-Key-Verschlüsselungsverfahren ● Alle Informationen die Eve beim Lauschen erhält sind der öffentliche Schlüssel und der verschlüsselte Text ● Im Idealfall nützen diese Informationen Eve nichts um an den privaten Schlüssel oder den Plaintext zu gelangen

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Verhältnismäßig junges Gebiet in der Kryptografie ● Erste Arbeiten zum Public-Key-Verfahren von Ellis, Cocks und Williamson 1973 im British Government Communication Headquarter ● Unterlag jedoch der Geheimhaltung, wurde nicht publiziert, patentiert und auch nicht weiterentwickelt ● 1977 RSA–Verfahren: Rivest, Shamir und Adleman ● Bis heute sicherstes Public-Key-Verfahren

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 2. Der euklidische und der erweiterte euklidische Algorithmus

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Dargestellt als Pseudo-Code: ● simple_euclid(int a, int b) begin { int r; a = abs(a); b = abs(b); while (b != 0) { r = a%b; a = b; b = r; } return a; }

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Rechenbeispiel: ● ggT(100,35) ● 35 > 0 => ggT(35,100 mod 35) ● 30 > 0 => ggT(30, 35 mod 30) ● 5 > 0 => ggT(5, 30 mod 5) ● 0 = 0 => ggT(100,35) = 5 Algorithmus: ● Für b = 0 ist der ggT(a,b) = a ● Sonst ist der ggT(a,b) = ggT(|b|, a mod |b|)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Beweis für den einfachen euklidischen Algorithmus: Die erste Aussage des Algorithmus ist trivialerweise wahr. Wir beweise also den zweiten Teil der Aussage des Algorithmus.

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Es gilt: Es existiert eine ganze Zahl q so dass: der ggT(a,b) teilt

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Es gilt: Es existiert eine ganze Zahl q so dass: der ggT(a,b) teilt trivialerweise teilt ggT(a,b) auch und muss dementsprechend auch teilen. q.e.d.

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Der Erweiterte euklidische Algorithmus errechnet ein x und y, so dass: Es gelten nun die beiden Folgen: repräsentiert die Restbeträge, die beim Anwenden des einfachen euklidischen Alg. Anfallen. Es gilt hier: und. ist entsprechend die Folge der Quotienten.

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Mit: definieren wir darüberhinaus die beiden Folgen: Es wird gelten:

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Mit: definieren wir darüberhinaus die beiden Folgen: Es wird gelten: ● Die Folge r lässt sich nun darstellen mit:

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Beweis: ● für und ist die Formel korrekt, da ● Aus und folgt:

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Beweis: q.e.d.

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Annahme: reduziert mit dem modulo von r0 ergibt sich: ● Gilt: folgt:

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung a_0 = a; b_0 = b; t_0 = 0; t = 1; s_0 = 1; s = 0; q = abs(a_0 / b_0) r = a0 – q*b_0 while r > 0 r = b_0; return(r,s,t) Euklidischer Algorithmus – Pseudocode temp = t_0 – q*t; t_0 = t; t = temp; temp = s_0 – q*s s_0 = s; s = temp; a_0 = b_0; b_0 = r; q = abs(a_0 / b_0) r = a_0 - q*b_0 r = ggT(a,b) sa + tb = r

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 3. Verschlüsselungs- und Entschlüsselungsfunktion

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Die Schlüsselerzeugung: ● Bob wählt zwei zufällige Primzahlen p und q ● Das Produkt dieser Primzahlen ist n = pq

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Die Schlüsselerzeugung: ● Bob wählt zwei zufällige Primzahlen p und q ● Das Produkt dieser Primzahlen ist n = pq ● φ(n) ist definiert als φ(n) = (p-1)(q-1)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Die Schlüsselerzeugung: ● Bob wählt zwei zufällige Primzahlen p und q ● Das Produkt dieser Primzahlen ist n = pq ● φ(n) ist definiert als φ(n) = (p-1)(q-1) ● Nun wählt Bob ein a mit Und: ggT(a, φ(n)) = 1

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Die Schlüsselerzeugung: ● Bob wählt zwei zufällige Primzahlen p und q ● Das Produkt dieser Primzahlen ist n = pq ● φ(n) ist definiert als φ(n) = (p-1)(q-1) ● Nun wählt Bob ein a mit Und: ggT(a, φ(n)) = 1 ● Anchließend ermittelt Bob ein b mit: und

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● b lässt sich mit dem Erweiterten euklidischen Algorithmus berechnen:

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● n heißt das „RSA - Modul“ ● a heißt der Verschlüsselungsexponent ● b heißt der Entschlüsselungsexponent ● Der private Schlüssel ist (b) ● Der öffentliche Schlüssel ist (n,a)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Rechenbeispiel Schlüsselerzeugung: ● Bob wählt als Primzahlen: p = 13 und q = 17 ● Daraus ergibt sich n = 13 * 17 = 221 ● φ(n) ist dementsprechend φ(n) = 12 * 16 = 192 ● a muss kleiner φ(n) sein und mit φ(n) den ggT(a, φ(n)) = 1 teilen. Es bietet sich a = 5 an.

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Die Ermittlung von b mittels euklidischen Algorithmus: a*b mod Φ(n) = 1 5*b mod 192 = 1 5*b = l* für ein l ϵ Z 5*b – 192 * l = 1

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Notwendige Form für euklidischen Algorithmus: 5*b – 192 * l = 1 = ggT(b,l)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Beispielrechnung zur Ermittlung von b (und l) 5*b – 192 * l = 1 = ggT(b,l) a_0 = a; b_0 = b; t_0 = 0; t = 1; s_0 = 1; s = 0; q = abs(a_0 / b_0) r = a0 – q*b_0 while r > 0 temp = t_0 – q*t; t_0 = t; t = temp; temp = s_0 – q*s s_0 = s; s = temp; a_0 = b_0; b_0 = r; q = abs(a_0 / b_0) r = a_0 - q*b_0 r = b_0; return(r,s,t)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Beispielrechnung zur Ermittlung von b (und l) 5*b – 192 * l = 1 = ggT(b,l) a_0 = a; b_0 = b; t_0 = 0; t = 1; s_0 = 1; s = 0; q = abs(a_0 / b_0) r = a0 – q*b_0 while r > 0 temp = t_0 – q*t; t_0 = t; t = temp; temp = s_0 – q*s s_0 = s; s = temp; a_0 = b_0; b_0 = r; q = abs(a_0 / b_0) r = a_0 - q*b_0 r = b_0; return(r,s,t)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Beispielrechnung zur Ermittlung von b (und l) 5*b – 192 * l = 1 = ggT(b,l) a_0 = a; b_0 = b; t_0 = 0; t = 1; s_0 = 1; s = 0; q = abs(a_0 / b_0) r = a0 – q*b_0 while r > 0 temp = t_0 – q*t; t_0 = t; t = temp; temp = s_0 – q*s s_0 = s; s = temp; a_0 = b_0; b_0 = r; q = abs(a_0 / b_0) r = a_0 - q*b_0 r = b_0; return(r,s,t)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Beispielrechnung zur Ermittlung von b (und l) 5*b – 192 * l = 1 = ggT(b,l) a_0 = a; b_0 = b; t_0 = 0; t = 1; s_0 = 1; s = 0; q = abs(a_0 / b_0) r = a0 – q*b_0 while r > 0 temp = t_0 – q*t; t_0 = t; t = temp; temp = s_0 – q*s s_0 = s; s = temp; a_0 = b_0; b_0 = r; q = abs(a_0 / b_0) r = a_0 - q*b_0 r = b_0; return(r,s,t)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Beispielrechnung zur Ermittlung von b (und l) 5*b – 192 * l = 1 = ggT(b,l) a_0 = a; b_0 = b; t_0 = 0; t = 1; s_0 = 1; s = 0; q = abs(a_0 / b_0) r = a0 – q*b_0 while r > 0 temp = t_0 – q*t; t_0 = t; t = temp; temp = s_0 – q*s s_0 = s; s = temp; a_0 = b_0; b_0 = r; q = abs(a_0 / b_0) r = a_0 - q*b_0 r = b_0; return(r,s,t)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Beispielrechnung zur Ermittlung von b (und l) 5*b – 192 * l = 1 = ggT(b,l) a_0 = a; b_0 = b; t_0 = 0; t = 1; s_0 = 1; s = 0; q = abs(a_0 / b_0) r = a0 – q*b_0 while r > 0 temp = t_0 – q*t; t_0 = t; t = temp; temp = s_0 – q*s s_0 = s; s = temp; a_0 = b_0; b_0 = r; q = abs(a_0 / b_0) r = a_0 - q*b_0 r = b_0; return(r,s,t)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Beispielrechnung zur Ermittlung von b (und l) 5*b – 192 * l = 1 = ggT(b,l) a_0 = a; b_0 = b; t_0 = 0; t = 1; s_0 = 1; s = 0; q = abs(a_0 / b_0) r = a0 – q*b_0 while r > 0 temp = t_0 – q*t; t_0 = t; t = temp; temp = s_0 – q*s s_0 = s; s = temp; a_0 = b_0; b_0 = r; q = abs(a_0 / b_0) r = a_0 - q*b_0 r = b_0; return(r,s,t)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Beispielrechnung zur Ermittlung von b (und l) 5*b – 192 * l = 1 = ggT(b,l) a_0 = a; b_0 = b; t_0 = 0; t = 1; s_0 = 1; s = 0; q = abs(a_0 / b_0) r = a0 – q*b_0 while r > 0 temp = t_0 – q*t; t_0 = t; t = temp; temp = s_0 – q*s s_0 = s; s = temp; a_0 = b_0; b_0 = r; q = abs(a_0 / b_0) r = a_0 - q*b_0 r = b_0; return(r,s,t)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Beispielrechnung zur Ermittlung von b (und l) 5*b – 192 * l = 1 = ggT(b,l) a_0 = a; b_0 = b; t_0 = 0; t = 1; s_0 = 1; s = 0; q = abs(a_0 / b_0) r = a0 – q*b_0 while r > 0 temp = t_0 – q*t; t_0 = t; t = temp; temp = s_0 – q*s s_0 = s; s = temp; a_0 = b_0; b_0 = r; q = abs(a_0 / b_0) r = a_0 - q*b_0 r = b_0; return(r,s,t)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Beispielrechnung zur Ermittlung von b (und l) 5*b – 192 * l = 1 = ggT(b,l) a_0 = a; b_0 = b; t_0 = 0; t = 1; s_0 = 1; s = 0; q = abs(a_0 / b_0) r = a0 – q*b_0 while r > 0 temp = t_0 – q*t; t_0 = t; t = temp; temp = s_0 – q*s s_0 = s; s = temp; a_0 = b_0; b_0 = r; q = abs(a_0 / b_0) r = a_0 - q*b_0 r = b_0; return(r,s,t)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Beispielrechnung zur Ermittlung von b (und l) 5*b – 192 * l = 1 = ggT(b,l) a_0 = a; b_0 = b; t_0 = 0; t = 1; s_0 = 1; s = 0; q = abs(a_0 / b_0) r = a0 – q*b_0 while r > 0 temp = t_0 – q*t; t_0 = t; t = temp; temp = s_0 – q*s s_0 = s; s = temp; a_0 = b_0; b_0 = r; q = abs(a_0 / b_0) r = a_0 - q*b_0 r = b_0; return(r,s,t)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Beispielrechnung zur Ermittlung von b (und l) 5*b – 192 * l = 1 = ggT(b,l) a_0 = a; b_0 = b; t_0 = 0; t = 1; s_0 = 1; s = 0; q = abs(a_0 / b_0) r = a0 – q*b_0 while r > 0 temp = t_0 – q*t; t_0 = t; t = temp; temp = s_0 – q*s s_0 = s; s = temp; a_0 = b_0; b_0 = r; q = abs(a_0 / b_0) r = a_0 - q*b_0 r = b_0; return(r,s,t)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Beispielrechnung zur Ermittlung von b (und l) 5*b – 192 * l = 1 = ggT(b,l) a_0 = a; b_0 = b; t_0 = 0; t = 1; s_0 = 1; s = 0; q = abs(a_0 / b_0) r = a0 – q*b_0 while r > 0 temp = t_0 – q*t; t_0 = t; t = temp; temp = s_0 – q*s s_0 = s; s = temp; a_0 = b_0; b_0 = r; q = abs(a_0 / b_0) r = a_0 - q*b_0 r = b_0; return(r,s,t)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Beispielrechnung zur Ermittlung von b (und l) 5*b – 192 * l = 1 = ggT(b,l) a_0 = a; b_0 = b; t_0 = 0; t = 1; s_0 = 1; s = 0; q = abs(a_0 / b_0) r = a0 – q*b_0 while r > 0 temp = t_0 – q*t; t_0 = t; t = temp; temp = s_0 – q*s s_0 = s; s = temp; a_0 = b_0; b_0 = r; q = abs(a_0 / b_0) r = a_0 - q*b_0 r = b_0; return(r,s,t)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Beispielrechnung zur Ermittlung von b (und l) 5*b – 192 * l = 1 = ggT(b,l) a_0 = a; b_0 = b; t_0 = 0; t = 1; s_0 = 1; s = 0; q = abs(a_0 / b_0) r = a0 – q*b_0 while r > 0 temp = t_0 – q*t; t_0 = t; t = temp; temp = s_0 – q*s s_0 = s; s = temp; a_0 = b_0; b_0 = r; q = abs(a_0 / b_0) r = a_0 - q*b_0 r = b_0; return(r,s,t)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Beispielrechnung zur Ermittlung von b (und l) 5*b – 192 * l = 1 = ggT(b,l) a_0 = a; b_0 = b; t_0 = 0; t = 1; s_0 = 1; s = 0; q = abs(a_0 / b_0) r = a0 – q*b_0 while r > 0 temp = t_0 – q*t; t_0 = t; t = temp; temp = s_0 – q*s s_0 = s; s = temp; a_0 = b_0; b_0 = r; q = abs(a_0 / b_0) r = a_0 - q*b_0 r = b_0; return(r,s,t)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Beispielrechnung zur Ermittlung von b (und l) 5*b – 192 * l = 1 = ggT(b,l) a_0 = a; b_0 = b; t_0 = 0; t = 1; s_0 = 1; s = 0; q = abs(a_0 / b_0) r = a0 – q*b_0 while r > 0 temp = t_0 – q*t; t_0 = t; t = temp; temp = s_0 – q*s s_0 = s; s = temp; a_0 = b_0; b_0 = r; q = abs(a_0 / b_0) r = a_0 - q*b_0 r = b_0; return(r,s,t)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Beispielrechnung zur Ermittlung von b (und l) 5*b – 192 * l = 1 = ggT(b,l) a_0 = a; b_0 = b; t_0 = 0; t = 1; s_0 = 1; s = 0; q = abs(a_0 / b_0) r = a0 – q*b_0 while r > 0 temp = t_0 – q*t; t_0 = t; t = temp; temp = s_0 – q*s s_0 = s; s = temp; a_0 = b_0; b_0 = r; q = abs(a_0 / b_0) r = a_0 - q*b_0 r = b_0; return(r,s,t) 5*77 – 192 * 2 = 1 = ggT(b,l)

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Verschlüsselungsvorgang: ● Klartextraum: ● Verschlüssele m = 110 mit dem Public-Key: 77 ● n = 221 φ(n) = 192 a = 5 b = 77

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Entschlüsselungsvorgang: ● Entschlüssele c = 172 mit dem Private-Key: 5 ● n = 221 φ(n) = 192 a = 5 b = 77

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Blockchiffre mit RSA: ● Alphabetgröße: N mit Σ = {0, 2,..., N-1} ●

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Blockchiffre mit RSA: ● ● c kann zur Basis N geschrieben werden

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Beispielrechnung mit Text: ● „bccbdb“ ● n = 221 φ(n) = 192 a = 5 b = 77

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Beispielrechnung mit Text: ● „bcc“ ● „bdb“ n = 221 φ(n) = 192 a = 5 b = 77 k = 3

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Beispielrechnung mit Text: ● n = 221 φ(n) = 192 a = 5 b = 77 k = 3

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Beispielrechnung mit Text: ● ● „caacaaca“ n = 221 φ(n) = 192 a = 5 b = 77 k = 3

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 3. Beweis zur Existenz einer Entschlüsselungsfunktion

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● →● →

Beweis:

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Beweis: Der kleine Satz von Fermat: Unter der Vorraussetzung a mit p und q teilerfremd:

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Beweis: Nach Fermat: Da p und q Primzahlen und teilerfremd sind: da m < n, gilt:

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 5. Einblick in die Sicherheitsfrage

Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Quellen und Referenzen: „Cryptography, Theory and Practice“ Douglas R. Stinson, Chapman and Hall 2006, Third Edition „Einführung in die Kryptographie“ Prof. Dr. Johannes Buchmann, Springer 2004, Dritte Auflage