Title: Folie 1
1Public Key Kryptographie mit dem RSA Schema
2Gliederung
- Historischer Hintergrund
- Public Key Kryptographie
- Beispielszenario
- Einweg-Funktion
- RSA Verfahren
- Algorithmus
- Beispiel
- Signieren von Nachrichten
- Schwächen des RSA
- Angriffe auf den RSA
- Einsatzgebiete
- Zusammenfassung
- Quellen
3Historischer Hintergrund
- Bis in die 70er symmetrische Verfahren
- ? Problem der Schlüsselverteilung
- 1976 Theorie über asymmetrische Verschlüsselung
- 1977 RSA am MIT (Rivest, Shamir, Adleman)
- 1980 durch RSA Data Security Inc. patentiert
- 1991 implemetiert in PGP durch Phil Zimmermann
- 2000 US-Patent läuft aus
- ? RSA weltweit einsetzbar
4Public Key Kryptographie
- Theorie von W. Diffie und M. Hellman, 1976
- Asymmetrisches Verfahren
- zwei verschiedene Schlüssel
- Kodierung einer Nachricht
- Dekodierung einer Nachricht
- Kodierungsschlüssel soll keine Schlüsse auf den
Dekodierungsschlüssel zulassen
5Public Key Kryptographie
- Public Key-Prinzip
- (wichtige) asymmetrischen Variante
- Kodierungsschlüssel öffentlich (public key)
- Dekodierungsschlüssel geheim (private key)
6Public Key Kryptographie
- Public Key-Prinzip
- jeder Teilnehmer T hat folgende Schlüssel
- Public Key E ET (Encryption)
- Private Key D DT (Decryption)
- Eigenschaften der Schlüssel
- für jede Nachricht m gilt D(E(m)) m und
E(D(m)) m - privater Schlüssel D (praktisch) nicht aus
Schlüssel E zu erschließen.
7Beispielszenario
- Vorbereitungen
- Kommunikationsgruppe
- Jeder Teilnehmer T bekommt Schlüsselpaar (ET, DT)
- Schlüsselpaare der Teilnehmer sind verschieden
- Schlüssel E wird verteilt (Publikationsorgan/Zerti
fizierungsstelle) - Schlüssel D bleibt geheim
8Beispielszenario
- Senden und Empfang
- A will B die Nachricht m Schicken
- A sucht Schlüssel EB von B heraus
- A verschlüsselt m mittels EB
- A verschickt EB(m) an B
- B entschlüsselt mit DB(m)
- DB(EB(m)) m
9Beispielszenario
- Sicherheit
- Kein anderer Teilnehmer kann EB(m) entschlüsseln,
weil ihm DB von B fehlt - Analogie Briefkasten
- jeder kann Post in den Briefkasten einwerfen
- nur Briefkastenbesitzer kann sie herausholen
- Public Key E ? Namensschild
- Private Key D ? Briefkastenschlüssel
10Einweg-Funktionen
- Kodierungsschlüssel soll keine Schlüsse auf den
Dekodierungsschlüssel zulassen - ?
- Suche eine bijektive Funktion f(x) y, die
folgende Anforderungen erfüllt - einfache Berechnung von y bei bekanntem x
- schwere Berechnung von x bei bekanntem y
- ?
- Einweg-Funktionen (Trapdoor-functions)
11Einweg-Funktionen
- Def Eine umkehrbar eindeutige ("bijektive")
Funktion - f A ? B mit x ? y f (x)
- heißt Einweg-Funktion, wenn der Funktionswert y
relativ leicht aus dem Argument x berechnet
werden kann, wenn es aber andererseits bei
Kenntnis von y nur mit sehr großem Aufwand
möglich ist, das Argument x zu ermitteln, das zum
Funktionswert y gehört.
12Einweg-Funktionen
- Analogie Telefonbuch (einer großen Stadt)
- Funktion f ermittelt Telefonnummer x aus Namen y
- ? Nachschlagen (TB ist alphabetisch sortiert)
- Umkehrfunktion f -1 nur sehr aufwendig
- (ermittele Name y zur Telefonnummer x)
- ? nach Nummern sortiertes TB?
13Einweg-Funktionen
- Einige Einwegfunktionen
- Faktorisierung
- y x1 x2
- Diskreter Logarithmus
- y bx mod n
- Diskrete Wurzel
- y xa mod n (n nicht prim)
14RSA-Verfahren
- 1977 entdeckt von Rivest, Shamir und Adleman
- Verfahren zum Erzeugen von Einweg-Funktionen
- basiert insbesondere auf
- Euklidischer Algorithmus
- (kleinen) Satz von Fermat
- kein Algorithmus zur schnellen Primfaktorzerlegung
bekannt
15RSA-Verfahren
Euklidischer Algorithmus
While (agt0) And (bgt0) If a gt b Then a a Mod
b Else b b Mod a End If Wend ggT a b
16RSA-Verfahren
Erweiterter Euklidischer Algorithmus Satz Zu
je zwei natürlichen Zahlen a und b (b ? 0)
gibt es ganze Zahlen x und y mit der
Eigenschaft GGT(a, b) a x b y. D.h. für
teilerfremde a,b (GGT(a,b)1) a x 1 - b y
bzw. a x 1 (mod b) ? x ist das Inverse zu
a mod b
17RSA-Verfahren
- Beispiel Erweiterter Euklidischer Algorithmus
- Zwei teilerfremde Zahlen a 14, b 51
(GGT(14, 51)1) - mögliche Werte x 11, y -3
-
- ?
- 11 ist das Inverse zu 14 mod 51
a x - b y 1 (a x) mod b 1
14 11 - 51 -3 1 (14 11) mod 51 1
18RSA-Verfahren
- Satz von Fermat
- Satz Ist p eine Primzahl und a eine zu p
teilerfremde natürliche Zahl, so ist ap-1 1
(mod p). - Findet man auch als ap a (mod p)
19RSA-Verfahren
Satz von Fermat
2 2mod7 3 3mod7 5 5mod7
0 1 1 1 1 1 1
1 2 2 3 3 5 5
2 4 4 9 2 25 4
3 8 1 27 6 125 6
4 2 2 81 4 625 2
5 4 4 243 5 3125 3
6 8 1 729 1 15625 1
7 2 2 2187 3 78125 5
20RSA-Verfahren
- Beweis Satz von Fermat
- Sind a, b inkongruent modulo einer festen Zahl n
, dann sind auch x a und x b inkongruent (mod
n) f.a. x gt 0 mit GGT(x,n )1 - ?
- 1 2 (p-1) (1 a) (2 a)
((p-1) a) (mod p) - ?
- W W ap-1 (mod p)
- ?
- 1 ap-1 (mod p)
- qed.
21RSA-Verfahren
- Anwendungen des Satzes
- Primzahlerzeugung?
-
- Wenn p Primzahl, dann gilt
- ap a (mod p)
- Gilt auch
- Wenn ap a (mod p), dann ist p Primzahl?
- Nein ? Fermatsche Pseudoprimzahlen
22RSA-Verfahren
- Anwendungen des Satzes
- Primzahltest?
-
- Fermatscher Primzahltest
- Berechne b an-1 (mod n)
- Prüfe b 1, bei erfolg b Primzahlkandidat
- Langsam und Aufwendig
23Algorithmus Kodierung
- Wähle Zufällig zwei Primzahlen p und q, welche
nahe beieinander liegen. - Bestimmt deren Produkt N.
- Ermittle .
- Bestimme ein e , s. d. e gt 1 und teilerfremd zu
. - Berechne aus den geheimen Schlüssel d.
- Somit ist der öffentliche Schlüssel N, e
- und der geheime Schlüssel d
- Die Kodierung erfolgt mit
24Beispiel Schlüsselerstellung
- Primzahlen p 463 und q 467
- öffentliche Schlüssel N 216221 und e 277
- geheimer Schlüssel d 17099
25Beispiel Verschlüsselung
- gerechnet mit modularer Exponentiation
-
- Quad b, Halb e, Erg 1
- while Halb gt 0
- if Halb mod 2 gt 0 then Erg (Erg Quad) mod
m - Quad (Quad Quad) mod m
- Halb Halb div 2
- end while
- return Erg
26Beispiel Dekodierung
- gerechnet mit modularer Exponentiation
- Klartext K 174
27Signieren von Nachrichten
- Idee Dokumente mit einer digitalen
Unterschrift versehen. - 1. Vorteil Integrität, d. h. es wird die
Unversehrtheit der übermittelten Nachricht
sichergestellt - 2. Vorteil Authentizität, d. h. die Nachricht
wurde vom richtigen Absender versandt
28Signieren von Nachrichten
- Absender besitzt eigenen Schlüsselsatz.
- Absender kodiert seine Nachricht mit d,
- sprich
- Absender versendet signierte und unsignierte
Nachricht an Empfänger. - Empfänger dekodiert die Nachricht mit e,
- sprich
- Empfänger vergleicht unsignierte und dekodierte
Nachricht miteinander und prüft auf Gleichheit.
29Schwächen des RSA
- asymmetrisches Verfahren, welches für das Ver-
und Entschlüsseln große K viel Zeit benötigt - Wahl der Primzahlen kann nicht einfach zufällig
erfolgen - Sicherheit beruht auf der Annahme das die
Zerlegung von N in seine Primfaktoren in
polynomieller Zeit nicht gelingen kann. - Beweis steht aus
- Shor-Algorithmus löst das Problem auf
Quantencomputern in P
30Angriffe auf den RSA
- Verfahren substituiert Klartext zu Geheimtext,
weshalb Angriffe mit der Known-Plaintext-Angriffe
und Wahrscheinlichkeitsanalyse möglich sind. - Bei schlecht gewählten Primzahlen, kann aus N auf
wenige mögliche Paare geschlossen werden. - Zerlegung in Primfaktoren ist bedingt schon
gelungen RSA-567 mit 174 Ziffern - Mersenne-Zahl mit 228 Ziffern
- Timing Attacks
31Timing Attacks auf den RSA
- Idee Geheimtexte mit dem öffentlichen Schlüssel
so erstellen, das die Dechiffrierung lange
benötigt, um fehl zu schlagen. - Vorgehen
- Festlegen eines großen Startwertes
- Schleife
- Messen der Laufzeit der einzelnen Anfragen wird
gemessen. - Aus auffälligen Messwerten wird auf Werte
geschlossen, welche ausprobiert werden. - Ausgabe des geheimen Schlüssels
32Einsatzgebiet
- Internet- u. Telefonie-Infrastruktur
X.509-Zertifikate - Übertragungs-Protokolle IPSec
- SSL
- TLS
- SSH
- WASTE
- E-Mail-Verschlüsselung PGP
- S/MIME
- Authentifizierung französischer Telefonkarten
33Zusammenfassung RSA
- asymmetrisches Verschlüsselungsverfahren
- benutzt öffentliche und geheime Schlüssel
- Nachrichten können nur von einem Empfänger
gelesen, aber vielen Absendern versandt werden - Algorithmus beruht auf der scheinbaren
Unmöglichkeit der Zerlegung von großen Produkten
in Primfaktoren - Verschlüsselung und Entschlüsselung erfolgt nach
einfachen Formeln
34Quellen
- Handbook of Applied Cryptography
- A. Menezes, P. C. van Oorschot, S. A. Vanstone
- Remote Timing Attacks are Practical
- D. Brumley, D. Boneh
- Pulic Key Cryptographie
- J. Ziegenbalg
- http//de.wikipedia.org/wiki/RSA-Kryptosystem
- http//www.heise.de/newsticker/meldung/42719