VL04 - Universität Siegen

Werbung
Private-Key-Kryptosysteme
Public-Key-Kryptosysteme
IT-Sicherheit
WS 2016/2017
Jun.-Prof. Dr. Gábor Erdélyi
Lehrstuhl für Entscheidungs- und Organisationstheorie, Universität Siegen
Siegen, 29. November 2016
Private-Key-Kryptosysteme
Public-Key-Kryptosysteme
Wiederholung
• Kryptologie - Einführung und Grundlagen
• Symmetrische Kryptosysteme - Substitutions- und
Permutationschiffen
• Blockchiffre und Substitutionschiffre
• Permutationschiffre
• Verschiebungschiffre
• Affine Chiffre
• Kryptoanalyse der affinen Chiffre
• Perfekte Geheimhaltung
Private-Key-Kryptosysteme
Public-Key-Kryptosysteme
AES I
• Advanced Encryption Standards (AES) - Seit 2002 der
offizielle NIST-Standard
• Anforderungen:
• 128- bis 256-Bit Schlüssel
• Eingabeblöcke bis 128 Bit
• Für Software und Hardware leicht implementierbar
• Geringe Resourcenanforderung
• Sicher gegen bekannte Kryptoanalysemethoden
• Entwickelt von Daemen und Rijmen (Rijndael-Verfahren)
Private-Key-Kryptosysteme
Public-Key-Kryptosysteme
AES II
• Arbeitet im Galois-Feld GF (28 )
• Jeder Klartextblock wird in mehreren Runden mit einer
festen Abfolge von Funktionen bearbeitet.
• Details im Buch von C. Eckert!
• Anwendungen:
• WLAN
• SSH
• Win.ZIP
• Skype
Private-Key-Kryptosysteme
Public-Key-Kryptosysteme
RSA
• Rivest, Shamir, Adleman - 1978: Das erste
Public-Key-Kryptosystem (in der offenen Literatur)
• GCHQ: Ellis, Cocks und Williamson - 1973
• Basiert auf das Faktorisierungsproblem
Private-Key-Kryptosysteme
Public-Key-Kryptosysteme
RSA - Protokoll I
Schlüsselerzeugung: Bob wählt große Primzahlen p 6= q,
berechnet n = pq. Er wählt einen Exponenten e ∈ N, für den
gilt:
1 < e < ϕ(n) = (p − 1)(q − 1) und ggT (e, ϕ(n)) = 1
Er bestimmt das inverse Element d von e mod ϕ(n).
(n, e) ist Bobs öffentlicher, und d sein privater Schlüssel.
Private-Key-Kryptosysteme
Public-Key-Kryptosysteme
RSA - Protokoll II
1. (n, e) wird veröffentlicht.
2. Verschlüsselung: Jede Nachricht wird Blockweise
verschlüsselt, sei m < n die zu verschlüsselnde Nachricht.
Alice verschlüsselt:
c = E(n,e) (m) = me mod n.
3. Alice schickt c an Bob.
4. Entschlüsselung: Bob entschlüsselt c:
Dd (c) = c d mod n.
Private-Key-Kryptosysteme
Public-Key-Kryptosysteme
RSA - Digitale Signatur
1. Alice wählt n = pq, e und d wie Bob in RSA.
2. (n, e) wird veröffentlicht.
3. Signieren: Alice signiert die Nachricht m mit:
sigA (m) = md mod n.
4. Alice schickt die signierte Nachricht hm, sigA (m)i an Bob.
5. Verifikation: Bob verifiziert:
m ≡ (sigA (m))e mod n.
Private-Key-Kryptosysteme
Public-Key-Kryptosysteme
Primzahltests
• RSA benutzt große Primzahlen
• In der Praxis: raten - testen
• Zufallsgenerator - In der Praxis nur
Pseudozufallsgeneratoren
• Die Primzahltests nutzen aus, dass Primzahlen relativ
dicht liegen
Private-Key-Kryptosysteme
Public-Key-Kryptosysteme
Primzahl-Theorem
Theorem
Ist π(N) die Anzahl der Primzahlen p mit p ≤ N, so gilt:
π(N)lnN
= 1.
N
N→∞
lim
Private-Key-Kryptosysteme
Public-Key-Kryptosysteme
Primzahltests II
• Probedivision (für große Zahlen unbrauchbar)
• Fermat-Test
• Miller-Rabin-Test
• Solovay-Strassen-Test
Private-Key-Kryptosysteme
Public-Key-Kryptosysteme
Faktorisierungsalgorithmen
• (p − 1)-Methode von Pollard: Funktioniert gut für
zusammengesetzte Zahlen mit Primfaktor p, so dass die
Primfaktoren von p − 1 klein sind.
• Das quadratische Sieb:
• Mit einer Siebmethode bestimmt man Zahlen a und b mit
a2 ≡ b2 mod n und a 6≡ ±b mod n.
• Folglich teilt n die Zahl a2 − b 2 = (a − b)(a + b), aber nicht
a − b oder a + b.
• Daraus folgt, dass ggT (n, a − b) und ggT (n, a + b) sind
nichttriviale Faktoren von n.
• Zahlkörpersieb
Private-Key-Kryptosysteme
Public-Key-Kryptosysteme
Faktorisierungsangriffe auf RSA
• Ziel: Aus (n, e) den privaten Schlüssel d zu berechnen, in
dem p und q von n = pq bestimmt werden.
• Brute-Force: Hinreichend große Zahl n wählen, mind. 1024
Bits
• Spezial-Faktorisierungsmethoden (z. B. Pollard): Wähle
starke Primzahlen
• Universal-Faktorisierungsmethoden (z.B, quadratisches
Sieb): Große Primzahlen wählen
Private-Key-Kryptosysteme
Public-Key-Kryptosysteme
Weitere Angriffe auf RSA
• Faktorisieren mit der Euler-Funktion
• Superverschlüsselung
• Small-Message Attack
• Wieners Angriff (funktioniert nur, wenn 3d <
q < p < 2q)
• Low-Exponent Attack
√
4
n und
Private-Key-Kryptosysteme
Public-Key-Kryptosysteme
Fälschen von RSA-Signaturen
• Eve fängt Nachrichten mit Signaturen ab:
hm1 , sigA (m1 )i, . . . , hmk , sigA (mk )i
• Eve erstellt ein neues Nachricht-Signatur-Paar
hm, sigA (m)i durch
m=r
e
k
Y
miei
mod n;
i=1
sigA (m) = r
k
Y
i=1
(sigA (mi ))ei
mod n;
Private-Key-Kryptosysteme
Public-Key-Kryptosysteme
Chinesischer Restesatz
Theorem
Seien m1 , m2 , . . . , mk positive ganze Zahlen, mit
Q
ggT (mi , mj ) = 1 für i 6= j. Sei M = ki=1 mi , und seien
a1 , a2 , . . . , ak beliebige ganze Zahlen. Für jedes i mit 1 ≤ i ≤ k
definieren wir Mi = M/mi und sei yi = Mi−1 das inverse
Element von Mi in Z∗mi .
Dann hat das System von k Kongruenzen x ≡ ai mod mi , mit
1 ≤ i ≤ k, die eindeutige Lösung
x=
k
X
i=1
ai Mi yi
mod M.
Herunterladen