eine einführung in das rsa- verfahren an beispielen referent: daniel garmann email:...
Post on 05-Apr-2015
106 Views
Preview:
TRANSCRIPT
Eine Einführung in das RSA-Verfahren an Beispielen
Referent: Daniel Garmann
email: dgarmann@freenet.de
Asymmetrische Verschlüsselung
Landesverbandstagung der MNU Nordrhein 2006
Symmetrische ChiffrierungBeispiel: Cäsar-Verfahren
Klartext:
ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ
HORSTH RO ST
L S VWX
LSVWXNachteil: Angriffsmöglichkeit über Buchstabenhäufigkeit
Schlüssel:E
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Chiffre:
Polyalphabetische ChiffrierungBeispiel: Vigenère-Verfahren
ABCDEFGHIJKLMNOPQRSTUVWXYZBCDEFGHIJKLMNOPQRSTUVWXYZACDEFGHIJKLMNOPQRSTUVWXYZABDEFGHIJKLMNOPQRSTUVWXYZABCEFGHIJKLMNOPQRSTUVWXYZABCDFGHIJKLMNOPQRSTUVWXYZABCDEGHIJKLMNOPQRSTUVWXYZABCDEFHIJKLMNOPQRSTUVWXYZABCDEFGIJKLMNOPQRSTUVWXYZABCDEFGHJKLMNOPQRSTUVWXYZABCDEFGHIKLMNOPQRSTUVWXYZABCDEFGHIJLMNOPQRSTUVWXYZABCDEFGHIJKMNOPQRSTUVWXYZABCDEFGHIJKLNOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMN
ZABCDEFGHIJKLMNOPQRSTUVWXY
... ... ...
KELLERREGAL
Schlüssel:DICKDICKDIC
K
DN
HZTOJIN
Klartext: EE K
DI
I
L
C
L
C
L
K
K
N
M
M
N
N
V
VChiffre:
Nachteil: Kennt man die Länge des Schlüsselwortes, so kann man das Verfahren über Buchstabenhäufigkeiten knacken.
Ermittlung der Schlüsselwortlänge durch Kasiski-Test
Symmetrische ChiffrierungOne-Time-Pad-Verfahren
Schlüssel:DIESISTGEHEIMKlartext:
Chiffre:
ZVSKOLERDNMNQ
CDWCWDXXHUQVC
Vorteil: Wenn Schlüsselwort zufällig ist, dann ist das Verfahren absolut sicher.
Nachteil: Schlüssel ist genauso groß wie die Nachricht selbst. Kleiderbügel einer Stasi-Spionin
mit verstecktem One-Time-Pad(Aus: Spiegel Spezial 1/1990)
Symmetrische ChiffrierungGrundprinzip
Symmetrische ChiffrierungGrundprinzip
Aha!
Asymmetrische ChiffrierungGrundprinzippqqqqq
Asymmetrische ChiffrierungGrundprinzippqqqqq
Verdammt...
Grundvoraussetzung asymmetrischer Chiffrierung
Chiffrierung ist eine Einwegfunktion
Eine Funktion f: XY heißt Einwegfunktion, wenny = f(x) leicht zu berechnen ist, aber
x = f -1(y) sehr schwer zu berechnen ist sehr schwer bedeutet in nicht polynomieller Zeit
Beispiele: • Zuordnung Name Telefonnr. im Telefonbuch
• Fallenlassen eines Programms auf Lochkarten
• Multiplizieren zweier großer Primzahlen
Einwegfunktion mit Falltür
Eine Funktion f: XY heißt Einwegfunktion mit Falltür, wenn
• y = f(x) mit einem Algorithmus E leicht zu berechnen ist,• x = f -1(y) mit einem Algorithmus D leicht zu berechnen ist, aber
• die Bestimmung des Algorithmus D aus E nur sehr schwer möglich ist.
RSA nutzt eine Einwegfunktion mit Falltür
Idee der zwei Schlüsselprivate key – public key
Wähle zwei Primzahlen p und q
public keyprivate key
Ermittle daraus(d,n) (e,n)
Bilde n = p·q
Idee der zwei Schlüsselprivate key – public key
Wähle zwei Primzahlen p und q
public keyprivate key
Ermittle daraus(d,n) (e,n)
Algorithmus E:Berechne C=Me mod n
Algorithmus D:Berechne Cd mod n = Med mod n = ... = M
Bilde n = p·q
Das RSA-Verfahren
Nach Ron Rivest, Adi Shamir, Len Adleman Quelle: http://www.usc.edu/dept/molecular-science/RSA-2003.htm
Etwas MathematikWie funktioniert RSA
Bilde n = p·q. Rechnen im Restklassenring Zn
Idee: Wähle als Falltürfunktion f(p,q) = p·q, wobei p, q große Primzahlen sind
dann gilt
m(n) mod n = 1 (Satz von Euler)
(n) = (p–1)·(q–1) sei die Eulersche - Funktion,
p = 5, q = 7
n = 35
(n)= 4·6 = 24
Satz von Euler - anschaulich
Z35
0 1 23
4
5
6
7
8
9
10
11
12
13
1415
1617181920
21
22
23
24
25
26
27
28
29
30
31
3233
34
Wir wählten p = 5, q = 7 Damit ergab sich n = 35 und (n) = 24
Nach Satz von Euler gilt:
424 mod 35 = 1
Es ist also
46 mod 35 = 1
Dann gilt aber auch
424 mod 35 = 1
64
46 / 81 / 116
44
36
Satz von Euler - anschaulich
Z35
0 1 23
4
5
6
7
8
9
10
11
12
13
1415
1617181920
21
22
23
24
25
26
27
28
29
30
31
3233
34
Wir wählten p = 5, q = 7 Damit ergab sich n = 35 und (n) = 24
Anderes Beispiel:
224 mod 35 = 1
Es ist also
212 mod 35 = 1
Dann gilt aber auch
224 mod 35 = 1
64
58
46
44
36
dann gilt
m(n) mod n = 1 (Satz von Euler)
Etwas MathematikWie funktioniert RSA
Bilde n = p·q. Rechnen im Restklassenring Zn
Idee: Wähle als Falltürfunktion f(p,q) = p·q, wobei p, q große Primzahlen sind
(n) = (p–1)·(q–1) sei die Eulersche - Funktion,
Wähle e teilerfremd zu (n), dann gibt es ein d mit e·d mod (n) = 1 (Berechnung mit Hilfe des erweiterten euklidischen Algorithmus)
Mit diesen Werten n, e, d und (n) = (p–1)·(q–1) gilt nun:
e = 5
d = 5
p = 5, q = 7
n = 35
(n)= 4·6 = 24
Etwas MathematikWie funktioniert RSA
Mit diesen Werten n, e, d und (n) gilt nun:
(Me mod n)d mod n
= Mk·(n) + 1 mod n
= Mk·(n) · M mod n
= (M(n))k · M mod n
= 1k · M mod n
= M
= Me·d mod n es ist e·d mod (n) = 1 also gibt es k mit e·d = k·(n) + 1
Satz von Euler besagt:
m(n) mod n = 1, also
M < n
Algorithmus E
Algorithmus D
Warum ist RSA so schwer zu knacken???
Algorithmus E benötigt Zahlen e und n.
Algorithmus D benötigt Zahlen d und n.
Berechnung von d mit Hilfe von n und e bedeutet:
Zerlege die Zahl n in ihre Primfaktoren
... und das kann dauern ...
Zerlegung in Primfaktoren ist Problem der Klasse NPEs ist nach wie vor nicht bewiesen, dass P NP ist.Sollte P = NP sein, so wäre RSA nicht mehr sicher.
Wie setze ich RSA im Unterricht ein?
• Cryptool
• www.Matheprisma.de
• Delphi
• Netzwerke
Soweit zur Theorie!
Weitere Informationen aufwww.gymnasium-odenthal.de/download/rsa
oder email an...dgarmann@freenet.de
Der erweiterteeuklidische Algorithmus
read a, b (b < a)
(u1, u2, u3) = (1, 0, a)
(v1, v2, v3) = (0, 1, b)
while v3 != 0 do
q = u3 div v3 (Division ohne Rest)
(t1, t2, t3) = (u1, u2, u3) - q (v1, v2, v3)
(u1, u2, u3) = (v1, v2, v3)
(v1, v2, v3) = (t1, t2, t3)
top related