Einwegfunktionen mit und ohne *Falltür*

Download Report

Transcript Einwegfunktionen mit und ohne *Falltür*

Einwegfunktionen mit und ohne
„Falltür“
Technisches Seminar 2012
von Bjarne Adam
Gliederung
1. Einführung – Was sind Einwegfunktionen
2. Einwegfunktion ohne Falltür
- Hashalgorithmus
3. Zahlentheorie
4. Diffie-Hellman Schlüsselaustausch Protokoll
5. Einwegfunktion mit Falltür
- RSA
1. Einführung
Was sind Einwegfunktionen?
Eine Funktion f(x) lässt sich „leicht“ berechnen!
Die Umkehrfunktion f‾¹(x) lässt nicht bzw. nur
sehr „schwer“ berechnen!
Was heißt leicht oder schwer berechnen?
1. Einführung
Was sind Einwegfunktionen?
leicht:
Algorithmus der in Polynomialzeit den
Funktionswert von f(x) lösen kann:
Ơ(nk) -> k konstant!
schwer:
kein Algorithmus der in Polynomialzeit f‾¹(x) bei
bekanntem Funktionswert y lösen kann:
Ơ(2n) -> exponentiell wachsend!
1. Einführung
Was sind Einwegfunktionen?
Diskretes Logarithmus Problem
- Diffie-Hellman-Protokoll
- ElGamal Verschlüsselung
- Eleptic Curve Diffie-Hellman
Faktorisierung eines Produktes großer Primzahlen
- RSA
1. Einführung
Was sind Einwegfunktionen?
Einwegfunktionen mit Falltür (One-Way-Trapdoor)
Effiziente Umkehrung der Funktion durch Besitz
einer Zusatzinformation (Falltür).
Beispiel: Briefkasten
Gliederung
1. Einführung – Was sind Einwegfunktionen
2. Einwegfunktion ohne Falltür
- Hashalgorithmus
3. Zahlentheorie
4. Diffie-Hellman Schlüsselaustausch Protokoll
5. Einwegfunktion mit Falltür
- RSA
2. Einwegfunktion ohne Falltür
Hashalgorithmus
Abbildung eines beliebig langen Klartext auf einen
Hashwert fester länge.
Ziel: - einzigartiger Fingerabdruck (Fingerprint)
- keine Umkehrung von Hashwert auf Klartext
Hashwert ist Hexadezimal
2. Einwegfunktion ohne Falltür
Hashalgorithmus - Anforderungen
Kollisionsresistent
Kompression
Chaos
Surjektivität
Effizienz
Preimage resistant
Second Preimage resistant
2. Einwegfunktion ohne Falltür
Hashalgorithmus – Ablauf
Merkle-Demgard-Verfahren
Padding
Trennen
Kompression
Transformation (optional)
2. Einwegfunktion ohne Falltür
Hashalgorithmus – Ablauf
Sha-1 Hashfunktion
2. Einwegfunktion ohne Falltür
Hashalgorithmus - Anwendung
Signierung von Daten:
Wurde der Inhalt manipuliert?
Prüfsummen:
Wurden Daten fehlerfrei übertragen?
Identifikation größerer Datenmengen mit Hashwert:
Identifikation von Inhalten in Peer-to-Peer-Tauschbörsen
Passwortschutz bei Internetseite
Speicherung des Hashwert, nicht des Klartextes
Gliederung
1. Einführung – Was sind Einwegfunktionen
2. Einwegfunktion ohne Falltür
- Hashalgorithmus
3. Zahlentheorie
4. Diffie-Hellman Schlüsselaustausch Protokoll
5. Einwegfunktion mit Falltür
- RSA
3. Zahlentheorie
Eulersche-Phi-Funktion
Anzahl der Teilerfremden ganzen Zahlen einer Zahl n
für alle ganzen Zahlen 1 bis n.
Wenn n = prim, dann gilt: φ( n ) = n – 1
Wenn n das Produkt zweier verschiedener
Primzahlen ist, dann gilt:
φ( p * q ) = (p – 1) * (q – 1)
φ( 8 ) = 4 : { 1, 3, 5, 7 }
φ( 11 ) = 10 : { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
3. Zahlentheorie
Prime Restklassengruppen ℤn*
Berechnung ℤ7*:
Zeilen*Spalte % n
Ordnung:
φ( n ) = φ( 7 ) = 6
3. Zahlentheorie
Primitivwurzeln
Berechnung ℤ7:
Zeilen^Spalten % n
Primitivwurzeln:
φ( φ( n )) = φ( φ( 7 ))
= φ( 6) = 2
Zeile 3 und 5 sind PW!
Gliederung
1. Einführung – Was sind Einwegfunktionen
2. Einwegfunktion ohne Falltür
- Hashalgorithmus
3. Zahlentheorie
4. Diffie-Hellman Schlüsselaustausch Protokoll
5. Einwegfunktion mit Falltür
- RSA
4. Diffie-Hellman-Verfahren
Schlüsselvereinbarung
- 1976, Whitefield Diffie und Martin Hellman
- Protokoll zur Schlüsselvereinbarung
- Sichere Schlüsselvereinbarung über unsicheren Kanal
- Diskretes Logarithmus Problem
4. Diffie-Hellman-Verfahren
Funktion und Aufbau
Exponentialfunktion mit Restbildung
p = große Primzahl
g = Primitivwurzel von p
x = Zufallszahl
mod := Division mit Rest
4. Diffie-Hellman-Verfahren
Ablauf
Alice und Bob bestimmen g und p
Alice
Wählt Zufallszahl a (geheim)
A = ga mod p
A wird Bob zugesendet
Bob
Wählt Zufallszahl b (geheim)
B = gb mod p
B wird Alice zugesendet
S = Ba mod p
S = Ab mod p
4. Diffie-Hellman-Verfahren
Beispiel
p = 23, g = 17
Alice
Bob
Zufallszahl a = 4
A = ga mod p
A = 174 mod 23 = 8
Zufallszahl b = 9
B = gb mod p
B = 179 mod 23 = 7
S = Ba mod p
S = 74 mod 23 = 9
S = Ab mod p = 9
S = 89 mod 23 = 9
Gliederung
1. Einführung – Was sind Einwegfunktionen
2. Einwegfunktion ohne Falltür
- Hashalgorithmus
3. Zahlentheorie
4. Diffie-Hellman Schlüsselaustausch Protokoll
5. Einwegfunktion mit Falltür
- RSA
5. Einwegfunktion mit Falltür
RSA
- 1978, Ronald Linn Rivest, Adi Shamir und Leonard
Adleman
- asymmetrische Verschlüsselung
- Faktorisierung eines Produkts großer Primzahlen
5. Einwegfunktion mit Falltür
RSA - Funktion und Aufbau
Exponentialfunktion mit Restbildung
n = Produkt großer Primzahlen
x = zu verschlüsselnde/entschlüsselnde Zahl
d = öffentlicher / privater Teil von Schlüssel
mod := Division mit Rest
5. Einwegfunktion mit Falltür
RSA - Ablauf
Empfänger:
- bestimmt Primzahl p und q
- n = p*q
- φ( n )
- bestimmt Zahl e: 1 < e < φ( n ) und teilerfremd zu φ( n )
- bestimmt Zahl d: e*d und φ( n ) teilerfremd
- Öffentliches Zahlenpaar (n,e)
5. Einwegfunktion mit Falltür
RSA - Ablauf
Sender:
- nimmt öffentliches Zahlenpaar (n,e)
- Verschlüsselt Nachricht g = ke % n
- Sendet verschlüsselte Nachricht
-Empfänger
- Entschlüsselung durch k = gd % n
5. Einwegfunktion mit Falltür
RSA - Beispiel: Zahl 14 Ver-/Entschlüsseln
Empfänger:
- bestimmt Primzahl p = 5 und q = 11
- n = p*q = 55
- φ( n ) = 40
- bestimmt Zahl e: 1 < e < φ( n ) und teilerfremd zu φ( n )
e=7
- bestimmt Zahl d: e*d und φ( n ) teilerfremd
d = 23
- Öffentliches Zahlenpaar (55,7)
5. Einwegfunktion mit Falltür
RSA - Beispiel: Zahl 14 Ver-/Entschlüsseln
Sender:
- nimmt öffentliches Zahlenpaar (55,7)
- Verschlüsselt Nachricht g = 147 % 55 = 9
- Sendet verschlüsselte Nachricht
-Empfänger
- Entschlüsselung durch k = 923 % 55 = 14
Schlusswort
Ende
Vielen Dank!