Upload
others
View
21
Download
0
Embed Size (px)
Citation preview
Kryptographie und Kryptoanalyse
Fakultät Informatik Institut Systemarchitektur Professur Datenschutz und Datensicherheit
Dr.-Ing. Elke [email protected]
SS 2015
Überblick über die Vorlesung
Organisatorisches
• Vorlesung: Mittwoch, 3. DS, HSZ/103 • Übung: Donnerstag, 1. DS, APB/E010 (ab 7.5.)
bzw. Freitag, 1. DS, APB/E009 (ab 8.5.)
• Ausfälle: 6.5., 14.5. und 15.5.2015
• Art der Prüfung: mündliche Prüfung / Modulprüfung /Schein
• Lehrmaterialien: Folienskript, Übungsaufgaben Literaturhinweise
• Webseite: dud.inf.tu-dresden.de (Studium Lehrveranstaltungen Sommersemester)
Kryptographie und Kryptoanalyse 2
Überblick über die Vorlesung
Ziele dieser Vorlesung
• Vermittlung grundlegender Aspekte der Kryptographie– Was kann man mit Kryptographie erreichen? – Wie kann man es prinzipiell erreichen? – Wie kann man das Erreichte beurteilen?
• Vermittlung vertiefter Kenntnisse über kryptographische Verfahren und deren Sicherheit– Ausgewählte kryptographische Verfahren– Ansätze zur Analyse dieser Verfahren– Anforderungen an die sichere Verwendung unter Beachtung
möglicher Angriffe
Kryptographie und Kryptoanalyse 3
Kryptographie und Kryptoanalyse 4
Überblick über die Vorlesung
1. Einführung– Begriffe– Bedrohungen – Schutzziele
2. Grundlagen– Mathematische Beschreibung– Typen kryptographischer Systeme– Überblick über Angriffe– Sicherheit kryptographischer Systeme
3. Klassische Verfahren– Transpositionen– MM-Substitutionen– PM-Substitutionen
Kryptographie und Kryptoanalyse 5
Überblick über die Vorlesung
3. Symmetrische Verfahren– Blockchiffren– Feistel-Chiffre– Kryptographische Güte– DES / 3-DES– AES– Betriebsarten
4. Asymmetrische Verfahren– Grundlagen– Diffie-Hellman-Schlüsselaustausch– ElGamal– RSA– Kryptosysteme auf Basis elliptischer Kurven
Kryptographie und Kryptoanalyse 6
1 Einführung – Begriffe
Kryptologie
Kryptographie Kryptoanalyse
Kryptographie (griech. „kryptos“+ „graphein“)Wissenschaft von den Methoden der Ver- undEntschlüsselung von Informationen.
Kryptoanalyse (griech. „kryptos“+ „analyein“)Wissenschaft vom Entschlüsseln von Nachrichten ohne Kenntnis dazu notwendiger geheimer Informationen.
1 Einführung – Begriffe
Einordnung von Kryptographie als Schutzmechanismus• IT-Sicherheit
– IT-System soll sich trotz unerwünschter Ereignisse so verhalten wie erwartet
Schutz vor unerwünschten Ereignissen
Unerwünschte Ereignisse
Unbeabsichtigte Fehler und Ereignisse
Beabsichtigte Angriffe
Kryptographie und Kryptoanalyse 8
1 Einführung – Bedrohungen
Mögliche Bedrohungen durch Angriffe
• Unbefugte Kenntnisnahme der Informationen• Verfälschen von Informationen (bei Nachrichten auch von
deren Absendern)• Stören der Verfügbarkeit
Kryptographie und Kryptoanalyse 9
1 Einführung – Schutzziele
Charakteristik der Bedrohungen
• Unbefugter Informationsgewinn Verlust der Vertraulichkeit
• Unbefugte Modifikation der Information Verlust der Integrität
• Beeinträchtigung der Funktionalität Verlust der Verfügbarkeit
Nicht erkennbar, aber verhinderbar
Nicht verhinderbar, aber erkennbar
Kryptographie und Kryptoanalyse 10
1 Einführung – Schutzziele
Unterteilung der Schutzziele
Inhalte Umstände
Unerwünschtes verhindern
VertraulichkeitVerdecktheit
AnonymitätUnbeobachtbarkeit
Erwünschtes leisten
Integrität Zurechenbarkeit
VerfügbarkeitErreichbarkeit Verbindlichkeit
Kryptographie und Kryptoanalyse 11
1 Einführung – Schutzziele
Mittels Kryptographie erreichbare Schutzziele• Vertraulichkeit
Informationen werden nur Berechtigten bekannt.• Integrität
Informationen können nicht unerkannt modifiziert werden.• Zurechenbarkeit
Dem Sender einer Nachricht kann das Senden (auch gegenüber Dritten) nachgewiesen werden.(Nachweis des Empfangs sowie des Zeitpunktes des Sendens/Empfangens erfordert weitere Maßnahmen.)
Kryptographie und Kryptoanalyse 12
1 Einführung - Schutzziele
Einordnung von Kryptographie in das Modell der gestörten Informationsübertragung
Quelle Quellen-kodierung
Kanal
Senke
Störung
Kanal-kodierung
Quellen-dekodierung
Kanal-dekodierung
Kry
ptog
raph
ie
Kryptographie und Kryptoanalyse 13
Überblick über die Vorlesung
1. Einführung2. Grundlagen
– Mathematische Beschreibung– Typen kryptographischer Systeme– Überblick über Angriffe– Sicherheit kryptographischer Systeme
3. Klassische Verfahren4. Symmetrische Verfahren5. Asymmetrische Verfahren
Kryptographie und Kryptoanalyse 14
c = enc(ke, m) Hallo, ...Hallo, ...
Nachricht
m M
Nachricht
Vertrauensbereich des Senders (Alice)
Vertrauensbereich des Empfängers (Bob)
2 Grundlagen – Mathematische Beschreibung
Schlüssel
ke K
g9b02...
Schlüsseltext
c C
Schlüssel
kd K
m = dec(kd, c)
Verschlüsse-lungsfkt.
enc ENC
Entschlüsse-lungsfkt.
dec DEC
Unsicherer Kanal:
Angriffsbereich
Kryptographie und Kryptoanalyse 15
2 Grundlagen – Mathematische Beschreibung
Kryptosystem (M, C, K, Enc, Dec)• Nachrichtenraum M:
endliche Menge möglicher Nachrichten (Klartexte; messages)
• Schlüsseltextraum C: endliche Menge möglicher Schlüsseltexte (Kryptogramme, Chiffrate, Chiffretexte; ciphertexts)
• Schlüsselraum K: endliche Menge möglicher Schlüssel (keys)
• Funktionsräume Enc (Verschlüsselung, encryption) und Dec (Entschlüsselung, decryption)
Kryptographie und Kryptoanalyse 16
2 Grundlagen – Mathematische Beschreibung
Alphabet• endliche, nichtleere, totalgeordnete Menge
A = {a0, a1, a2, …, al-1}Alphabet mit l Elementenai: Zeichen bzw. Buchstaben
m = (m0m1m2 … mn-1) mit mi A, m An
Wort der Länge n über dem Alphabet A
• Nachrichten, Schlüsseltexte, Schlüssel: endliche Folgen bzw. Worte über den zugrunde liegenden Alphabeten AM, AC, AK
Kryptographie und Kryptoanalyse 17
2 Grundlagen – Mathematische Beschreibung
Funktion• allgemein f: X Y; f(x) = y
X: Definitionsbereich, Y: Wertebereich
• Eigenschaften– injektiv: " x, x’ X. f(x) = f(x’) x = x’– surjektiv: " y Y .$ x X f(x) = y– bijektiv: injektiv und surjektiv
• Umkehrfunktion bzw. inverse Funktionf bijektiv inverse Funktion g = f -1: " y Y. g(y) = x mit x X und f(x) = y
Kryptographie und Kryptoanalyse 18
2 Grundlagen – Mathematische Beschreibung
Ver- und Entschlüsselungsfunktionen• n, l, o N; AM, AC, AK Alphabete• m M = AM Nachricht, c C = AC Schlüsseltext,
k K = AK Schlüssel
• Verschlüsselung: c = enc(ke,m) bzw. c = enck (m)enc Enc: M μ K C
• Entschlüsselung: m = dec(kd,c) bzw. m = deck (c)dec Dec: C μ KM
Verhältnis l/n: Expansionsfaktorn = l: Kryptofunktion heißt längentreu
e
d
n l
o
Kryptographie und Kryptoanalyse 19
2 Grundlagen – Mathematische Beschreibung
Kerckhoffs-PrinzipDie Sicherheit eines Verfahrens darf nicht von der Geheimhaltung des Verfahrens abhängen, sondern nur von der Geheimhaltung des Schlüssels.
[Auguste Kerkhoffs: La Cryptographie militaire. Journal des Sciences Militaires, Januar 1883.]
• Keine „Security by Obscurity“• Annahme: Angreifer kennt das Verfahren und die öffentlichen
Parameter• Sicherheit des Verfahrens begrenzt durch
– Sicherheit der Schlüsselgenerierung und – Sicherheit des Schlüsselaustauschs
Kryptographie und Kryptoanalyse 20
2 Grundlagen – Einteilung kryptographischer Systeme
Kriterien für eine Einteilung• Zweck
– KonzelationssystemeSysteme zum Schutz der Vertraulichkeit der Daten
– AuthentikationssystemeSysteme zum Schutz der Integrität der Daten
- digitale Signatursysteme (spezielle Authentikationssysteme) Systeme zur Realisierung von Zurechenbarkeit von Daten
• Schlüsselverteilung– Symmetrische Verfahren: ke = kd– Asymmetrische Verfahren: ke kd
Notation: kA,B: symmetrischer Schlüssel für Kommunikation
zwischen Teilnehmern A und Bke,A/kd,A: Schlüssel zur Ver-/Entschlüsselung des Teilnehmers
A (asymmetrisches System)
Kryptographie und Kryptoanalyse 21
2 Grundlagen – Typen kryptographischer Systeme
geheimer Schlüssel
kA,B
Schlüsseltextc
c ú enc(kA,B,m)
geheimer Schlüssel
kA,B
Symmetrisches Konzelationssystem
Schlüssel-generierung
kA,B úkeygen(r)
Zufallszahl r
Angriffsbereich
Entschlüs-selung
dec
Verschlüs-selung
enc
VertrauensbereichSicherer Kanal für Schlüsselaustausch
Nachricht
mNachricht
m ú dec(kA,B, c)
öffentlich bekannter Algorithmus
Alice Bob
Kryptographie und Kryptoanalyse 22
2 Grundlagen – Typen kryptographischer Systeme
Symmetrisches Konzelationssystem
Alice Bob
Kryptographie und Kryptoanalyse 23
2 Grundlagen – Typen kryptographischer Systeme
• Schlüsselaustausch– Notwendig: sicherer Kanal für Schlüsselaustausch – Offenes System: Sender und Empfänger können sich nicht
vorab treffen
Lösung: Schlüsselverteilzentrale X• Jeder Teilnehmer (z.B. A) meldet sich an und tauscht einen
geheimen Schlüssel kA,X mit X aus• Kommunikation mit Teilnehmer B: Anfrage an X nach
geheimem Schlüssel kA,B• X generiert Schlüssel kA,B und sendet ihn an A und B
• Problem: X kann alle Nachrichten lesen• Verbesserung: verschiedene Schlüsselverteilzentralen
verwenden und geheime Schlüssel lokal berechnen
Kryptographie und Kryptoanalyse 24
auth(kA,B,m) =
MAC
Alice
2 Grundlagen – Typen kryptographischer Systeme
Nachricht, MAC (message authenti-
cation code)m, MAC
MAC ú auth(kA,B,m)
Symmetrisches Authentikationssystem
kA,B úkeygen(r)
Angriffsbereich
MAC testenMAC
berechnen auth
Bob
Zufallszahl r
Schlüssel-generierung
geheimer Schlüssel
kA,B
geheimer Schlüssel
kA,B
Nachricht
m
VertrauensbereichSicherer Kanal für Schlüsselaustausch
öffentlich bekannter Algorithmus
?
Kryptographie und Kryptoanalyse 25
2 Grundlagen – Typen kryptographischer Systeme
Schlüsseltextc
c ú enc(ke,B,m, r’)
Asymmetrisches Konzelationssystem
(ke,B, kd,B)úkeygen(r)
Angriffsbereich
Nachricht
m ú dec(kd,B, c)
Nachr. m
Zufallsz. r’
öffentlicher Schlüssel
ke,B
privater Schlüssel
kd,B
Zufallszahl r
Entschlüs-selung
dec
Verschlüs-selung
enc
Schlüssel-generierung
Vertrauensbereich öffentlich bekannter Algorithmus
Alice Bob
Zufallszahl r‘: probabilistische bzw. indeterministische Verschlüsselung
Kryptographie und Kryptoanalyse 26
2 Grundlagen – Typen kryptographischer Systeme
• Schlüsselaustausch– Jeder Teilnehmer generiert eigenes Schlüsselpaar – kein (gegen
Abhören) sicherer Kanal für Schlüsselaustausch notwendig– Verteilung der öffentlichen Schlüssel: veröffentlichen
Andere Möglichkeit: Öffentliches Schlüsselregister R• Jeder Teilnehmer (z.B. A) trägt seinen öffentlichen Schlüsel
ein (ke,A)• Teilnehmer B will mit A kommunizieren: bittet R um
öffentlichen Schlüssel ke,A von A• B erhält ke,A, beglaubigt durch die Signatur von R;
R beglaubigt Zusammenhang zwischen A und ke,A
• Problem: einzelnes Register R hat Möglichkeit für aktiven Angriff• Verbesserung: verschiedene Register verwenden
Kryptographie und Kryptoanalyse 27
test(kt,B ,m, s)
{true, false}
2 Grundlagen – Typen kryptographischer Systeme
Nachricht, Signaturm, s
s := sign(ks,B,m)
Asymmetrisches Authentikations-system (Digitales Signatursystem)
(ks,B, kt,B) :=keygen(r)
Angriffsbereich
Signierensign
Testen test
Zufallszahl r
Schlüssel-generierung
öffentlicher Schlüssel
kt,B
privater Schlüssel
ks,B
Nachr. m
Vertrauensbereich öffentlich bekannter Algorithmus
Alice Bob
2 Grundlagen – Typen kryptographischer Systeme
Kryptographie und Kryptoanalyse 28
SymmetrischeAuthentikationssysteme(MAC)
Asymmetrische Authentikationssysteme(Digitale Signatursysteme)
Schlüssel
Geheimer Schlüssel, einem Paar von Kommunikationspartner zugeordnet
Schlüsselpaar: privaterSignaturschlüssel undöffentlicher Testschlüssel
Prüfung
MAC für empfangene Daten berechnen und mit empfangenem MAC vergleichen
Testalgorithmus erforderlich
Schutzziele IntegritätIntegrität
Zurechenbarkeit
Kryptographie und Kryptoanalyse 29
2 Grundlagen – Typen kryptographischer Systeme
• Schlüsselaustausch– Jeder Teilnehmer generiert eigenes Schlüsselpaar – kein (gegen
Abhören) sicherer Kanal für Schlüsselaustausch notwendig
– Notwendig für Zurechenbarkeit: Bestätigung der Zuordnung des öffentlichen Testschlüssels zum jeweiligen Teilnehmer mittels Schlüsselzertifikat, ausgestellt von Zertifizierungsinstanz (certification authority CA)
– Verbreitetes Format für Schlüsselzertifikat: X.509• Erstmals 1988 veröffentlicht, aktuell in Version 3 (X.509v3)• Standard der ITU-T für Public-Key Infrastructure:
http://www.itu.int/rec/T-REC-X.509• RFC 5280• Sperrlisten für Zertifikate
2 Grundlagen – Typen kryptographischer Systeme
• Aufbau eines X.509-Zertifikats [RFC 5280]
Kryptographie und Kryptoanalyse 30
• TBSCertificate– Version– Seriennummer– Signaturalgorithmus– Aussteller Name– Gültigkeit– Inhaber Name– Inhaber Public Key Info– Aussteller ID– Inhaber ID– Erweiterungen
• Signaturalgorithmus• Signatur
Nur für v2 und v3
Nur für v3, Beispiel: Key Identifier von CA
ID und (optional) Parameter des Signaturalgorithmus, der von CA für Signatur des TBSCertificats benutzt wird
Public Key und Algorithmus, für den er benutzt wird (ID und (optional) Parameter)
Für TBSCertificate
Kryptographie und Kryptoanalyse 31
2 Grundlagen – Typen kryptographischer Systeme
Symmetrische Verfahren
Asymmetrische Verfahren
Sicherer Kanal für Schlüsselaustausch erforderlich?
JaNein (allerdings: Zuordnung der öffentlichen Schlüssel)
Performance In der Regel sehr gut Weniger gut
Umsetzbare Schutzziele
Konzelation Vertraulichkeit
Symmetrische Authentikation (MAC) Integrität
Konzelation Vertraulichkeit
Digitale Signatursysteme Integrität Zurechenbarkeit
Kryptographie und Kryptoanalyse 32
2 Grundlagen – Typen kryptographischer Systeme
privater Schlüssel
kd,B
Hybrides Konzelationssystem
öffentlicher Schlüssel
ke,B
geheimer Schlüssel(session key) kA,B
enc
enc
dec
decNachricht
mNachricht
m = dec(kA,B, c2)c2
c1
c1, c2c1 = enc(ke,B, kA,B), c2 = enc(kA,B,m)
kA,B = dec(kd,B, c1)
Kryptographie und Kryptoanalyse 33
2 Grundlagen – Überblick über Angriffe
Generelle Aspekte der Kryptoanalyse• Ziel und Erfolg des Angriffs• Klassifizierung von Angriffen
• Nicht Gegenstand der Kryptoanalyse:– Implementierung und Einsatz des Verfahrens– Organisatorische Sicherheit
… aber natürlich relevant für die Sicherheit
• Angriffserfolg ganz allgemein– Konzelationssysteme: Vertraulichkeit verletzt
(Inhalt/Informationen über verschlüsselte Nachricht ermittelt)– Authentikationssysteme: Nachricht unentdeckt modifiziert
(gültigen MAC bzw. Signatur für modifizierte/selbst gewählte Nachricht generiert)
Kryptographie und Kryptoanalyse 34
2 Grundlagen – Überblick über Angriffe
Ziel und Erfolg des Angriffs• Finden des geheimen Schlüssels (vollständiges Brechen,
total break)• Finden eines zum Schlüssel äquivalenten Verfahrens
(universelles Brechen, universal break)• Brechen nur für manche Nachrichten (nachrichtenbezogenes
Brechen):– für eine selbstgewählte Nachricht (selective break)– für irgendeine Nachricht (existential break)
• Unterscheidung für universelles und nachrichtenbezogenes Brechen von Konzelationssystemen:– Komplette Entschlüsselung– Partielle Entschlüsselung
Kryptographie und Kryptoanalyse 35
2 Grundlagen – Überblick über Angriffe
Generell: Kein Schutz vor einem allmächtigen Angreifer!
Ein allmächtiger Angreifer …• kann alle ihn interessierenden Daten erfassen• kann Daten unbemerkt ändern• kann die Verfügbarkeit des Systems durch physische Zerstörung
beeinträchtigen
AngreifermodellAngabe der maximal berücksichtigten Stärke eines Angreifers, d.h., Stärke des Angreifers, gegen die ein bestimmter Schutzmechanismus gerade noch sicher ist
Kryptographie und Kryptoanalyse 36
2 Grundlagen – Überblick über Angriffe
Inhalt des Angreifermodells• Rollen des Angreifers
(Nutzer, Außenstehender, …)
• Verbreitung des Angreifers (kontrollierte Subsysteme, Leitungen, …)
• Verhalten des Angreifers (passiv/aktiv, beobachtend/verändernd)
• Rechenkapazität (komplexitätstheoretisch (un)beschränkt)
• Verfügbare Mittel (Zeit, Geld)
2 Grundlagen – Überblick über Angriffe
Annahmen über Wissen und Möglichkeiten des Angreifers
• Als bekannt vorausgesetzt– System (Algorithmen, Protokolle)– Öffentliche Schlüssel– Beobachtung (unsicherer Kanal)
• Unbekannt (Vertrauensbereich)– Geheime Schlüssel
• Aktiver Angreifer: bringt Inhaber der geheimen Schlüssel dazu, die entsprechenden Operationen für selbst gewählte Daten auszuführen
Kryptographie und Kryptoanalyse 37
Angreifer, der nur dieses Wissen
ausnutzt:passiver Angreifer
Kryptographie und Kryptoanalyse 38
2 Grundlagen – Überblick über Angriffe
Klassifizierung von Angriffen (Konzelationssysteme)• Passive Angriffe
– Reiner Schlüsseltext-Angriff (ciphertext-only attack)
– Klartext-Schlüsseltext-Angriff (known-plaintext attack)
• Aktive Angriffe– Gewählter Klartext-Schlüsseltext-Angriff
(chosen-plaintext attack CPA; „Verschlüsselungsorakel“)– Gewählter Schlüsseltext-Klartext-Angriff
(chosen-ciphertext attack; „Entschlüsselungsorakel“) CCA1 (auch als „lunchtime“, „lunch-break“ oder „midnight
attack“ bezeichnet)
• Weiteres Kriterium: Adaptivität CCA2
mke
ckd
menc dec
2 Grundlagen – Überblick über Angriffe
Übersicht über die Angriffstypen
Kryptographie und Kryptoanalyse 39
Konzelationssysteme Authentikationssysteme
symmetrisch asymmetrisch symmetrisch asymmetrisch
Angreifer kennt System und ... c c; ke m, MAC m, s; kt
Passive Angriffe
Key only attack Key only attack
Ciphertext only attack
Known plaintext attack Known message attack
Aktive Angriffe
Chosen plaintext attack Chosen message attack
Chosen ciphertext attack
Kryptographie und Kryptoanalyse 40
2 Grundlagen – Sicherheit kryptographischer Systeme
Klassifizierung von Kryptosystemen nach ihrer Sicherheit• informationstheoretisch sicher
Auch einem unbeschränkten Angreifer gelingt es nicht, das System zu brechen. („unconditional security“, „perfect secrecy“)
• beste erreichbare Sicherheit
• Verschiedene Begriffe zur Bewertung der Sicherheit der übrigen Systeme
• Annahmen über Möglichkeiten des Angreifers, Betrachtung der Sicherheit unter bestimmten Angriffen
Kryptographie und Kryptoanalyse 41
2 Grundlagen – Sicherheit kryptographischer Systeme
Informationstheoretische (perfekte) Sicherheit[Claude Shannon: Communication Theory of Secrecy Systems. Bell Systems Technical Journal, 28(1949), 656-715.]
• Informelle Beschreibung (bzgl. Konzelationssystem):
Selbst ein unbeschränkter Angreifer gewinnt aus seinen Beobachtungen keinerlei zusätzliche Informationen über Klartext oder Schlüssel.
• „unbeschränkt“: beliebiger Rechen- und Zeitaufwand • „zusätzliche Informationen“: nicht besser als bloßes Raten
Kryptographie und Kryptoanalyse 42
2 Grundlagen – Sicherheit kryptographischer Systeme
Definition der informationstheoretischen Sicherheit• a priori Wissen p(m):
Wissen des Angreifers über mögliche Nachrichten vor einer Beobachtung (als bekannt vorausgesetzt)
• a posteriori Wissen p(m|c): Wissen des Angreifers über mögliche Nachrichten nach der Beobachtung des gesendeten Schlüsseltexts
Ein System heißt informationstheoretisch sicher, wenn für alle Nachrichten und Schlüsseltexte gilt, dass die a posterioriWahrscheinlichkeiten p(m|c) der möglichen Nachrichten nach Beobachtung eines gesendeten Geheimtextes gleich der a priori Wahrscheinlichkeiten p(m) dieser Nachrichten sind:
" m M " c C: p(m|c) = p(m).
Kryptographie und Kryptoanalyse 43
2 Grundlagen – Sicherheit kryptographischer Systeme
• Berechnung der a posterioi Wahrscheinlichkeiten p(m|c) nach dem Theorem von Bayes:
Notwendige und hinreichende Bedingung für informationstheoretische Sicherheit:
" m M " c C: p(c|m) = p(c).
Nachrichten und Schlüsseltexte müssen stochastisch unabhängig voneinander sein.
cp
mcpmpcmp ||
Kryptographie und Kryptoanalyse 44
2 Grundlagen – Sicherheit kryptographischer Systeme
• Berechnung der Wahrscheinlichkeiten p(cj|mi), p(cj)
ij mkcKk
ij kpmcp,enc:
|
1
0|
n
iijij mcpmpcp
p(cj|mi)
m0
m1
mn-1
c0
c1
cn-1
mi cj
.
.
....
.
.
....
p(c0|m0)Nachrichten Schlüsseltexte Wahrscheinlichkeit p(cj|mi),
Schlüsseltext cj bei Verschlüsselung der Nachricht mi zu erhalten:
Wahrscheinlichkeit des Schlüsseltextes cj:
Kryptographie und Kryptoanalyse 45
2 Grundlagen – Sicherheit kryptographischer Systeme
Bedingungen für informationstheoretische Sicherheit Beispiel 1:
nicht informationstheoretisch sicher Anforderungen an die Anzahl der Schlüssel notwendig!
Nachrichten Schlüsseltexte Verschlüsselung
00
01
10
11
00
01
10
11
enc(00, m)enc(01, m)
Kryptographie und Kryptoanalyse 46
2 Grundlagen – Sicherheit kryptographischer Systeme
(1) Anzahl der Schlüssel• Verschlüsselung injektiv: enc(k, m1) = enc(k, m2) m1 = m2
– Verschlüsselung n verschiedener Nachrichten m0, m1, …, mn-1mit einem Schlüssel k liefert n verschiedene Schlüsseltexte c0, c1, …, cn-1
– Bedingung gilt für jeden der möglichen Schlüssel |C| ¥ |M|
• Sicherheit des Systems:– Jeder Schlüsseltext muss das Ergebnis der Verschlüsselung
jeder möglichen Nachricht sein können– Für eine Nachricht m und n verschiedene Schlüsseltexte muss es
n verschiedene Schlüssel k0, k1, …, kn-1 geben |K| ¥ |C|
|K| ¥ |C| ¥ |M|
Kryptographie und Kryptoanalyse 47
2 Grundlagen – Sicherheit kryptographischer Systeme
Beispiel 2:
Nachrichten Schlüsseltexte Verschlüsselung
m0 = 00
m1 = 01
m2 = 10
m3 = 11
c0 = 00
c1 = 01
c2 = 10
c3 = 11
enc(k0 = 00, m)enc(k1 = 01, m)
enc(k2 = 10, m)
enc(k3 = 11, m)
p(m0) = 0,15p(m1) = 0,05p(m2) = 0,50p(m3) = 0,30
p(k0) = 0,20p(k1) = 0,70p(k2) = 0,05p(k3) = 0,05
als bekannt vorausgesetzt:
Kryptographie und Kryptoanalyse 48
2 Grundlagen – Sicherheit kryptographischer Systeme
• resultierende Wahrscheinlichkeiten der Schlüsseltexte:
• resultierende a posteriori Wahrscheinlichkeiten:
nicht informationstheoretisch sicher Anforderungen an Wahrscheinlichkeiten der Schlüssel notwendig!
p(m1|c0) = 0,333p(m1|c1) = 0,013p(m1|c2) = 0,008p(m1|c3) = 0,026
p(m2|c0) = 0,238p(m2|c1) = 0,130p(m2|c2) = 0,312p(m2|c3) = 0,915
p(m3|c0) = 0,143p(m3|c1) = 0,312p(m3|c2) = 0,656p(m3|c3) = 0,039
p(m0|c0) = 0,286p(m0|c1) = 0,545p(m0|c2) = 0,023p(m0|c3) = 0,020
p(c0) = 0,1050p(c1) = 0,1925p(c2) = 0,3200p(c3) = 0,3825
Kryptographie und Kryptoanalyse 49
2 Grundlagen – Sicherheit kryptographischer Systeme
(2) Wahrscheinlichkeiten der Schlüssel (für |K| = |C| = |M|)
Schlüssel müssen mit gleicher Wahrscheinlichkeit verwendet werden
Resultierende Schlüsseltexte sind ebenfalls gleichwahrscheinlich
Bedingung:" m M " c C: p(c|m) = p(c)
z.B. für c0: p(c0|m0) = p(c0|m1) = p(c0|m2) = p(c0|m3)
Nachrichten Schlüsseltexte
m0 = 00
m1 = 01
m2 = 10
m3 = 11
c0 = 00
c1 = 01
c2 = 10
c3 = 11
Kryptographie und Kryptoanalyse 50
2 Grundlagen – Sicherheit kryptographischer Systeme
Beispiel 3:
informationstheoretisch sicher
Verschlüsselung
enc(k0 = 00, m)enc(k1 = 01, m)
enc(k2 = 10, m)
enc(k3 = 11, m)
m0 = 00
m1 = 01
m2 = 10
m3 = 11
c0 = 00
c1 = 01
c2 = 10
c3 = 11
p(m0) = 0,15; p(m1) = 0,05; p(m2) = 0,5; p(m3) = 0,3 p(ki) = p(k) = 0,25
Nachrichten Schlüsseltexte
Kryptographie und Kryptoanalyse 51
2 Grundlagen – Sicherheit kryptographischer Systeme
Beispiel 4: (Nutzung des Kryptosystems aus Beispiel 3)Verschlüsselung von zwei Nachrichten mit ein und demselbenSchlüssel; Angreifer beobachtet: 0111 = c1c3
Nur vier mögliche Nachrichten:
Nachrichten Schlüsseltexte Verschlüsselung
m0 = 00
m1 = 01
m2 = 10
m3 = 11
c0 = 00
c1 = 01
c2 = 10
c3 = 11
enc(k0 = 00, m)enc(k1 = 01, m)
enc(k2 = 10, m)
enc(k3 = 11, m)
k0: 1101 = m3m1k1: 0010 = m0m2
k2: 0111 = m1m3k3: 1000 = m2m0
p(m0) = 0,15; p(m1) = 0,05; p(m2) = 0,50; p(m3) = 0,30
Kryptographie und Kryptoanalyse 52
2 Grundlagen – Sicherheit kryptographischer Systeme
• Wahrscheinlichkeiten der Nachrichten:
• resultierende a posteriori Wahrscheinlichkeiten:
nicht informationstheoretisch sicher
(3) Wahl der Schlüssel – Zufällige Wahl des Schlüssels für Verschlüsselung jedes „Blocks“– Einer Folge von Nachrichten muss eine Zufallsfolge von
Schlüsseln entsprechender Länge zugeordnet sein
p(m3m1|c1c3) = 0,0833p(m0m2|c1c3) = 0,4167
p(m3m1) = 0,015p(m0m2) = 0,075
p(m1m3) = 0,015p(m2m0) = 0,075
p(m1m3|c1c3) = 0,0833p(m2m0|c1c3) = 0,4167
Kryptographie und Kryptoanalyse 53
2 Grundlagen – Sicherheit kryptographischer Systeme
Zusammenfassung der Anforderungen• Notwendige Bedingung für informationstheoretische
Sicherheit:Nachrichten und Schlüsseltexte müssen stochastisch unabhängig voneinander sein, d.h., die Wahrscheinlichkeit für einen Schlüsseltext darf nicht von der verschlüsselten Nachricht abhängen.
Resultierende Anforderungen an die Schlüssel:
(1) |K| ¥ |C| ¥ |M|(2) Bei einem System mit |K| = |C| = |M| müssen die Schlüssel
gleichwahrscheinlich sein.(3) Die Wahl des Schlüssels muss jeweils zufällig erfolgen.
Aussagen bzgl. Sicherheit gelten nur für den Algorithmus!
2 Grundlagen – Sicherheit kryptographischer Systeme
Erreichbare Sicherheit asymmetrischer Systeme
Kryptographie und Kryptoanalyse 54
c m
ke,B kd,B
enc
Alice Bob
decm
ke,B
enc
Angreifer
Sicherheit gegen unbe-schränkten Angreifer (informationstheoretische Sicherheit) nicht möglich.
Kryptographie und Kryptoanalyse 55
2 Grundlagen – Sicherheit kryptographischer Systeme
Anmerkungen zur informationstheoretischen Sicherheit• Betrachtet wurde zunächst passiver Angriff
(ciphertext only attack)• Informationstheoretisch sicheres System ist jedoch auch
gegen aktive Angriffe sicher
• Keine Annahmen über die zu verarbeitenden Nachrichten notwendig
• Informationstheoretische Sicherheit kann nur von symmetrischen Systemen erreicht werden
• Systeme, die ein und denselben Schlüssel mehrfach verwenden, können nicht informationstheoretisch sicher sein
Kryptographie und Kryptoanalyse 56
2 Grundlagen – Sicherheit kryptographischer Systeme
• Schlüsselmanagement problematisch:– jede neue Nachricht erfordert einen neuen Schlüssel– Schlüssel symmetrischer Systeme müssen über sicheren Kanal
ausgetauscht und geheim gehalten werden• Schutzziel „Zurechenbarkeit“ kann nicht mit symmetrischen
Systemen erbracht werden
Verwendung von nicht informationstheoretisch sicheren Systemen notwendig
Annahmen über den Angreifer notwendig (notwendige Berechnungen des Angreifers sind nicht effizient möglich)
Kryptographie und Kryptoanalyse 57
2 Grundlagen – Sicherheit kryptographischer Systeme
Weitere Sicherheitsbegriffe• „beweisbar sicher“ (provable security)
Beweis besteht in Reduktion auf mathematisches Problem (Zielstellung: Wenn der Angreifer das System bricht, kann er das schwierige mathematische Problem lösen.)Wesentliche Probleme mit „beweisbarer Sicherheit“– Betrachtet nur Angriffe spezieller Art; sagt nichts aus über
mögliche andere Angriffe– Bedingte Aussagen von der Art „unter der Annahme, dass
niemand einen effizienten Algorithmus für dieses mathematische Problem findet“
Sicherheit gegen bestimmte Angriffe
Kryptographie und Kryptoanalyse 58
2 Grundlagen – Sicherheit kryptographischer Systeme
Semantische Sicherheit [GoMi_84]
Ein System heißt semantisch sicher, wenn alles, was bei Kenntnis des zugehörigen Schlüsseltextes effizient über den Klartext berechnet werden kann, auch effizient ohne Kenntnis des Schlüsseltextes berechnet werden kann.
• „effizient“: (polynomiell) beschränkter Angreifer• Vorteil des Angreifers betrachtet (nicht besser als bloßes Raten)
Ununterscheidbarkeit („polynomielle Sicherheit“) [GoMi_84]Angreifer ist nicht in der Lage, zwei beliebige Nachrichten zu finden, so dass er die Verschlüsselung einer dieser Nachrichten korrekt der Nachricht zuordnen kann.
• äquivalent zu semantischer Sicherheit (s. [NaYu_90, KoMe_04] f. Referenzen)
• „Charakterisierung von semantischer Sicherheit“ [BeSa_99]
2 Grundlagen – Sicherheit kryptographischer Systeme
Kryptographie und Kryptoanalyse 59
• Semantische Sicherheit bietet intuitive Beschreibung von Sicherheit (Geheimhaltung)
• Ursprünglich eingeführt für CPA, später aber auch unter aktiven Angriffen betrachtet [BDPR_98]
• Ununterscheidbarkeit oft in Sicherheitsbeweisen verwendet
• Begründet die Notwendigkeit indeterministischer Verschlüsselung (semantisch sicheres System sicher gegen vollständige Suche eines polynomiell beschränkten Angreifers)
• Semantisch sicheres Kryptosystem in [GoMi_84] vorgestellt– basiert auf dem Problem zu entscheiden, ob eine Zahl ein quadratischer
Rest ist (QRP)– Nachteil: Expansion (Verschlüsselung eines Bits liefert k Bit langen
Schlüsseltext)
2 Grundlagen – Sicherheit kryptographischer Systeme
Kryptographie und Kryptoanalyse 60
Alice Angreifer
Schlüsselgenerierung: kd, ke keygen(param) kennt ke
wählt m0, m1 Mmit length(m0) = length(m1)
ke
m0, m1
cb = enc(ke, mb)wählt zufällig b {0,1}verschlüsselt mb
Entscheidung: b = 0 oder b = 1
Ununterscheidbarkeit unter CPA
2 Grundlagen – Sicherheit kryptographischer Systeme
Kryptographie und Kryptoanalyse 61
Alice Angreifer
Schlüsselgenerierung: kd, ke keygen(param) kennt ke
wählt m0, m1 Mmit length(m0) = length(m1)
ke
ci
mi = dec(kd, ci)
m0, m1
cb = enc(ke, mb)wählt zufällig b {0,1}verschlüsselt mb
entschlüsselt cibeliebig oft
Entscheidung: b = 0 oder b = 1
Ununterscheidbarkeit unter CCA1
2 Grundlagen – Sicherheit kryptographischer Systeme
Kryptographie und Kryptoanalyse 62
Alice Angreifer
Schlüsselgenerierung: kd, ke keygen(param) kennt ke
wählt m0, m1 Mmit length(m0) = length(m1)
ke
ci
mi = dec(kd, ci)
m0, m1
cb = enc(ke, mb)wählt zufällig b {0,1}verschlüsselt mb
entschlüsselt cibeliebig oft
ci cb
mi = dec(kd, ci)entschlüsselt cibeliebig oft
Entscheidung: b = 0 oder b = 1
Ununterscheidbarkeit unter CCA2
2 Grundlagen – Sicherheit kryptographischer Systeme
Kryptographie und Kryptoanalyse 63
Non-Malleability [DoDN_91]
Ein System bietet Sicherheit gegen adaptive aktive Angriffe (Non-Malleability), wenn es für einen polynomiell beschränkten Angreifer nicht einfacher ist, bei Kenntnis eines Schlüsseltextes einen weiteren Schlüsseltext zu generieren, so dass die zugehörigen Klartexte in Relation zueinander stehen, als ohne Kenntnis dieses Schlüsseltextes.
• Motivation: contract bidding• Beispiel für ein Kryptosystem: System von Cramer und Shoup
[CrSh_98] Erweiterung des ElGamal-Kryptosystems Basiert auf dem Diffie-Hellman Entscheidungsproblem
Kryptographie und Kryptoanalyse 64
Überblick über die Vorlesung
1. Einführung2. Grundlagen3. Klassische Verfahren
– Mathematische Grundlagen– Transpositionen– MM-Substitutionen– PM-Substitutionen
4. Symmetrische Verfahren5. Asymmetrische Verfahren
Kryptographie und Kryptoanalyse 65
3 Klassische Verfahren – Mathematische Grundlagen
Modulare Arithmetik• Endliche Strukturen (z.B. Gruppen), basierend z.B. auf den
natürlichen oder ganzen Zahlen
• n = {0,1,2, …, n-1} Restklassenring modulo n
• Kongruenza, b ; n N, n > 1: n|(a-b) a, b kongruent
a b mod n
• Restklasse ā zu jedem a : ā ú {b | a b mod n}
Kryptographie und Kryptoanalyse 66
3 Klassische Verfahren – Transpositionen
Transpositionen• Verwürfeln der Klartextzeichen, Permutation der Stellen
des Klartextes (Permutationschiffren)• Beispiel: Skytala
• Formale Beschreibung:M = C = Al
m = (m1m2m3 … ml), mi A, l N
Permutation
enck(m) = enck(m1m2m3 … ml) = (mp(1)mp(2)mp(3) … mp(l))
1 2 ...1 2 ...
lP
p p p l
Kryptographie und Kryptoanalyse 67
3 Klassische Verfahren – Transpositionen
Beispiel
• Matrixtranspositionen Beispiel: Spaltenpermutation
Schlüssel: 5x7 MatrixP = (1,4)(2,5,3,7,6)
P-1 = (4,1)(5,2,6,7,3)
1 2 3 4 5 6 73 1 4 2 7 5 6
P
Kryptographie und Kryptoanalyse 68
3 Klassische Verfahren – MM-Substitutionen
MM-Substitution (monoalphabetisch, monographisch)
a0
a2
a3
ai
M K C
b3k
b1 b0
bjk
k
k
AMAC
AM, AC Alphabete, enc: AMl AC
l
m = (m0m1m2 … ml-1), mi AM, m AMl, l N
enck(m) = enck(m0) enck(m1) … enck(ml-1)
Kryptographie und Kryptoanalyse 69
Nachricht a b c d e f g … x y z
Schlüsseltext D E F G H I J … A B C
3 Klassische Verfahren – MM-Substitutionen
• Verschiebechiffre (Additive Chiffre)AM = AC = {A:Z}Schlüssel: s {0:n-1}, n = 26
encs(mi) = -1[( (mi) + s) mod n], (mi) {0:n-1}decs(ci) = -1[( (ci) - s) mod n]
Cäsarchiffre für s = 3
Kryptographie und Kryptoanalyse 70
:A B C D E F G H I J K L M N0 1 2 3 4 5 6 7 8 9 10 11 12 13
O P Q R S T U V W X Y Z14 15 16 17 18 19 20 21 22 23 24 25
Beispiel
n = 26, A = {A:Z}, s = 3
3 Klassische Verfahren – MM-Substitutionen
Kryptographie und Kryptoanalyse 71
3 Klassische Verfahren – MM-Substitutionen
Kryptoanalyse der Verschiebechiffre• Nur 26 verschiedene Schlüssel• Vollständige Suche möglich Durchprobieren aller möglichen Schlüssel
Beispiel:
c = FMTKOJVIVGTNZDNOYVNOCZHVYZMCZPODBZIQJMGZNPIB
Kryptographie und Kryptoanalyse 72
s m
13 SZGXBWIVITGAM14 RYFWAVHUHSFZL15 QXEVZUGTGREYK16 PWDUYTFSFQDXJ17 OVCTXSEREPCWI18 NUBSWRDQDOBVH19 MTARVQCPCNAUG20 LSZQUPBOBMZTF21 KRYPTOANALYSE22 JQXOSNZMZKXRD23 IPWNRMYLYJWQC24 HOVMQLXKXIVPB25 GNULPKWJWHUOA
3 Klassische Verfahren – MM-Substitutionen
s m
0 FMTKOJVIVGTNZ1 ELSJNIUHUFSMY2 DKRIMHTGTERLX3 CJQHLGSFSDQKW4 BIPGKFRERCPJV5 AHOFJEQDQBOIU6 ZGNEIDPCPANHT7 YFMDHCOBOZMGS8 XELCGBNANYLFR9 WDKBFAMZMXKEQ10 VCJAEZLYLWJDP11 UBIZDYKXKVICO12 TAHYCXJWJUHBN
s = 21 ergibt den einzigen sinnvollen Text s = 21
Kryptographie und Kryptoanalyse 73
• Schema von PolybiosAM = {A:Z}AC = {ij | i, j {1, 2, 3, 4, 5}}
enc:
1 2 3 4 51 A B C D E2 F G H I J3 K L M N O4 P Q R S T5 U V W X/Y Z
Beispiel
3 Klassische Verfahren – MM-Substitutionen
i j
Kryptographie und Kryptoanalyse 74
Q
I SP O
F M
H
3 Klassische Verfahren – MM-Substitutionen
• Allgemeine Substitution: Permutation des Alphabets Beispiel
AM = AC = {A:Z}
P = (A,G)(B,J,Y,R,N,L,E,W)(C,K,H,Q,T,U,I,X)(D,M,O,F,P,S,Z,V)
P-1 = (G,A)(B,W,E,L,N,R,Y,J)(C,X,I,U,T,Q,H,K)(D,V,Z,S,P,F,O,M)
• Freimaurerchiffre (Kreuzchiffre) Beispiel
RW K C
A E
L VZ
X JB
U
Y G ND
T
Kryptographie und Kryptoanalyse 75
3 Klassische Verfahren – MM-Substitutionen
Statistische Analysen• Möglichkeiten der vollständigen Suche sind eingeschränkt• Aufwand für eine allgemeine Substitution: |A|!• Angriffspunkt: MM-Substitutionen übertragen statistische
Eigenschaften der Klartexte in die Schlüsseltexte
m = B E I S P I E L
Polybios: c =
Permutation (Bsp. F. 74): c = J W X Z S X W E
Verschiebechiffre (s = 3): c = E H L V S L H O
12 15 24 44 41 24 15 32
Kryptographie und Kryptoanalyse 76
3 Klassische Verfahren – MM-Substitutionen
Struktur der Sprache• unterschiedliche Auftrittswahrscheinlichkeiten der Zeichen• Redundanz R
– nicht alle Zeichenfolgen der Länge l sind gleichwahrscheinlich– Unterschied zwischen Entropie des Alphabets H(X) und
zugehöriger maximaler Entropie H0(X) (bei Gleichwahrschein-lichkeit der N Zeichen des Alphabets):
R = H0(X) – H(X);
– Natürliche Sprachen weisen bereits für l = 1 eine relativ hohe Redundanz auf
– Redundanz wächst mit der Länge der betrachteten Zeichenfolgen
– Einfache Substitutionschiffren (deutsche oder englische Nachricht) können i. Allg. bereits ab ca. 30 Zeichen entschlüsselt werden
1
00 ld;1ld
N
i ii NXH
xpxpXH
Kryptographie und Kryptoanalyse 77
3 Klassische Verfahren – MM-Substitutionen
Deutsch Englisch
* 15.15 - 19.25 -a 4.58 5.40 6.60 8.17b 1.60 1.89 1.21 1.49c 2.67 3.15 2.25 2.78d 4.39 5.17 3.43 4.25e 15.35 18.10 10.26 12.70f 1.36 1.60 1.80 2.23g 2.67 3.15 1.63 2.02h 4.36 5.14 4.92 6.09i 6.38 7.52 5.63 6.97j 0.16 0.19 0.12 0.15k 0.96 1.13 0.62 0.77l 2.93 3.45 3.25 4.03m 2.13 2.51 1.94 2.41
Deutsch Englisch
n 8.84 10.42 5.45 6.75o 1.90 2.24 6.06 7.51p 0.50 0.59 1.56 1.93q 0.01 0.01 0.08 0.10r 6.86 8.08 4.84 5.99s 5.39 6.35 5.11 6.33t 4.73 5.57 7.31 9.06u 3.48 4.10 2.23 2.76v 0.72 0.87 0.77 0.96w 1.42 1.67 1.91 2.36x 0.01 0.01 0.12 0.15y 0.02 0.02 1.59 1.97z 1.42 1.67 0.06 0.07
Zeichenhäufigkeiten (%)
Kryptographie und Kryptoanalyse 78
3 Klassische Verfahren – MM-Substitutionen
Zeichenhäufigkeiten (deutsch)H
äufig
keite
n
* a b c d e f g h i j k l m n o p q r s t u v w x y z
Kryptographie und Kryptoanalyse 79
3 Klassische Verfahren – MM-Substitutionen
Gruppe Deutsch EnglischI e e
II n r i s t d h a t a o i n s h r
III u l c g d l
IV m o b z w f c u m w f g y p b
V k v p j y q x v k j x q z
Einteilung der Zeichen in Gruppen
Kryptographie und Kryptoanalyse 80
3 Klassische Verfahren – MM-Substitutionen
Rang
Häufigkeiten von Bi- und Trigrammen
Rang1 EN TH EIN THE2 ER HE ICH ING3 CH IN NDE AND4 ND ER DIE HER5 EI AN UND ERE6 DE RE DER ENT7 IN ED CHE THA8 ES ON END NTH9 TE ES GEN WAS10 IE ST SCH ETH11 UN EN CHT FOR12 GE AT DEN DTH13 ST TO INE HAT14 IC NT NGE SHE15 HE HA NUN ION
16 NE ND UNG INT17 SE OU DAS HIS18 NG EA HEN STH19 RE NG IND ERS20 AU AS ENW VER21 DI OR ENS TTH22 BE TI IES TER23 SS IS STE HES24 NS ET TEN EDT25 AN IT ERE EST26 SI AR LIC THI27 UE TE ACH HAD28 DA SE NDI OTH29 AS HI SSE ALL30 NI OF AUS ATI
Deutsch
Englisch
Kryptographie und Kryptoanalyse 81
3 Klassische Verfahren – MM-Substitutionen
• Analyse von MM-Substitutionen- Analyse der Häufigkeiten einzelner Buchstaben- Analyse der Häufigkeiten von Bi- und Trigrammen- Nutzung der Redundanz zur Ermittlung fehlender
Zeichen- bei bekannten Wortgrenzen: Identifikation kurzer
Wörter, Vorsilben, Endungen, Anfangs- und Endbuchstaben
Beispiel: QOTC RQXVUXZX FXAFX SHXVVXV KOZTCQOB DHV KXV TCQZQSFXZWBFWBTCXV XWUXVBTCQJFXV KXZ DXZLXVKXFXV BEZQTCX QGLXWTCXV QRRXZKWVUB WBF XB WY QRRUXYXWVXV VWTCF YHXURWTC NXKX TCQZQSFXZWBFWBTCX XWUXVBTCQJF XWVXZ BEZQTCX MO DXZYXWKXV OVK BWTC KXVVHTC WV KWXBXZ BEZQTCX QOBMOKZOXTSXV
Kryptographie und Kryptoanalyse 82
3 Klassische Verfahren – MM-Substitutionen
Analyse von Transpositionen• statistische Eigenschaften des Klartextes nur teilweise
erhalten• einfache Analyse bei Klartext-Schlüsseltext-Angriff• ansonsten: Rekonstruktion der Bi- und Trigramme• zunächst Ermittlung der Blocklänge
Beispiel
CESVLRHEESUUSLLGANOSGMIHRSTUCESVLRH EESUUSL LGANOSG MIHRSTUReduktion der möglichen Kombinationen:EVLRSCH, EVRLSCH, …, VELRSCH, ...
Kryptographie und Kryptoanalyse 83
3 Klassische Verfahren – PM-Substitutionen
PM-Substitution (1) (polyalphabetisch, monographisch)
k1
b20kr
k2
br1
b14
AC1
AC2
ACr
a0
a2
a3
ai
AM
AM, AC1, AC2, …, ACr Alphabete, enc: AM
l (AC1 » AC2 » … » ACr)l
m = (m1m2 … ml), mi AM, m AMl, l N
enck(m) = enck (m0) enck (m1) … enck (ml), kj {1:r}0 1 l
M K C
Kryptographie und Kryptoanalyse 84
3 Klassische Verfahren – PM-Substitutionen
PM-Substitution (2)
k1 k2
kr
k3
a0
a2
a3
ai
M K C
b3
b1
b0
bj
AMAC
Kryptographie und Kryptoanalyse 85
3 Klassische Verfahren – PM-Substitutionen
• Vigenère-Chiffre (1)klassische Darstellung: Vigenère-Tableau
a b c d e f … zA A B C D E F … ZB B C D E F G … AC C D E F G H … BD D E F G H I … CE E F G H I J … DF F G H I J K … E
…… … … … … … … … … … …
Z Z A B C D E … Y
Kryptographie und Kryptoanalyse 86
3 Klassische Verfahren – PM-Substitutionen
• Vigenère-Chiffre (2)AM = AC = {A:Z}
Schlüssel: K = {k |k = (k0k1 … kr-1) ki {A:Z}}
enck(m) = enc (m0) enc (m1) … enc (mi) enc (mi+1) … enc (ml-1)
mitenc (mi) = -1[( (mi) + (kj)) mod n], (mi), (kj) {0:n-1}dec (ci) = -1[( (ci) - (kj)) mod n]
Beispiel
k1k0 kr-1 k0 k(l-1) mod r
kj
kj
Kryptographie und Kryptoanalyse 87
3 Klassische Verfahren – PM-Substitutionen
• Binäre Vigenère-ChiffreA = {0,1}n = 2
Klartextbuchstabe mi, Schlüsselbuchstabe ki:ci = (mi+ki) mod 2 bzw. ci = mi ki
mi = (ci+ki) mod 2 bzw. mi = ci ki
• Schlüssel– sollten Zufallsfolgen sein– kürzer als Klartext: periodische Wiederholung– Autokey-Verfahren
Kryptographie und Kryptoanalyse 88
3 Klassische Verfahren – PM-Substitutionen
Vernam-Chiffre (one-time pad)• Jeder Schlüssel wird nur einmal verwendet• Schlüssellänge und Länge des Klartextes sind gleich• Schlüssel sind zufällig Einzige informationstheoretisch sichere Chiffre.
• Binäre Vernam-Chiffre
c = enc(ki, mi) = mi ki m = dec(ki, ci) = ci ki
Nachrichten Schlüsseltexte Verschlüsselung
0
1
0
1
enc(0, m)enc(1, m)
p(k0) = p(k1) = 0,5
Kryptographie und Kryptoanalyse 89
3 Klassische Verfahren – PM-Substitutionen
Analyse von PM-Substitutionen• statistische Eigenschaften des Klartextes werden nicht in
den Schlüsseltext übertragen• unter bestimmten Bedingungen sicher (Schlüssel!)
2 Schritte:1. Ermittlung der
Schlüssellänge r
Vereinfachung der Analyse auf Analyse von r MM-Substitutionen
2. Analyse der MM-Substitutionen
Schlüssel k0 k1 k2 … kr-1
Schlüsseltext c0 c1 c2 … cr-1
cr cr+1 cr+2 … cr+(r-1)
c2r c2r+1 c2r+2 … c2r+(r-1)
… … … … …
MM-Substitution mit Schlüssel k0
Kryptographie und Kryptoanalyse 90
3 Klassische Verfahren – PM-Substitutionen
• Kasiski-Test– 1863 von Friedrich Wilhelm Kasiski publiziert– Suche nach identischen Abschnitten im Schlüsseltext– Annahme: identische Abschnitte im Klartext mit
denselben Schlüsselzeichen verschlüsselt– Rückschlüsse auf Schlüssellänge: ggT der Abstände– zufällige Wiederholungen möglich untersuchte Folgen sollten mindestens die Länge 3 haben
Kryptographie und Kryptoanalyse 91
3 Klassische Verfahren – PM-Substitutionen
Wiederholungen durch Verschlüsselung identischer Klartextabschnittezufällige Wiederholungen
ggT(Abstände) = 3
m = A L B E R T I S K R E I S S C H E I B E N S I N Dk = K E Yc = K P Z O V R S W I B I G C W A R I G L I L C M L N
m ... E I N E V E R B E S S E R T E F O R M D E R V E Rk ... E Y K E Y K E Y K E Y K E Y K E Y K E Y K E Y K Ec ... I G X I T O V Z O W Q O V R O J M B Q B O V T O V
m ... S C H I E B E C H I F F R E Nk ... Y K E Y K E Y K E Y K E Y K E c ... Q M L G O F C M L G P J P O R
Abstände: ‚OVR‘: 33 ‚TOV‘: 18 ‚MLG‘: 6
‚CML‘: 35
= 3 11= 2 32
= 2 3
= 5 7
K E Y K E Y K E Y K E Y K E Y K E Y K E Y K
Kryptographie und Kryptoanalyse 92
3 Klassische Verfahren – PM-Substitutionen
• Friedman-Test– von William F. Friedman veröffentlicht– analysiert die Redundanz des Schlüsseltextes– basiert auf dem Koinzidenzindex I (1922, Friedman)
– Länge der Nachricht m: length(m) = N– Länge des Schlüssels k: length(k) = r
Wiederum 2 Schritte:1. Ermittlung der Schlüssellänge r2. Ermittlung des Schlüssels durch Analyse der
MM-Substitutionen
Kryptographie und Kryptoanalyse 93
3 Klassische Verfahren – PM-Substitutionen
Koinzidenzindex I• Wahrscheinlichkeit, dass zwei unabhängig voneinander
gewählte Zeichen ai übereinstimmen
• I minimal, wenn alle Zeichen gleichwahrscheinlich:
A = {A:Z}: n = 26, Imin = 1/26 = 0,0385
• I „maximal“ für Texte in natürlichen Sprachen:Nachricht in deutscher Sprache: Imax = 0,0762Nachricht in englischer Sprache: Imax = 0,0655
12
0, ( ),
n
i i i ii
I p p p a a A
min1 1, 0,1,..., 1 :ip i n In n
Kryptographie und Kryptoanalyse 94
3 Klassische Verfahren – PM-Substitutionen
Koinzidenzindex für Beispieltexte (deutsch, nur “A” – “Z”)
─ r = 1 r = 4 r = 12 r = 26
N = 110 038 0,07379 0,07379 0,04769 0,04030 0,03847
N = 10 090 0,07226 0,07226 0,04714 0,04009 0,03856
N = 2 059 0,08002 0,08002 0,04936 0,04107 0,04094
Imin = 0,0385Imax = 0,0762
Kryptographie und Kryptoanalyse 95
3 Klassische Verfahren – PM-Substitutionen
Einordnung des Schlüsseltextes in eine Tabelle
Schlüssel k0 k1 k2 … kr-1
Schlüsseltext c0 c1 c2 … cr-1
cr cr+1 cr+2 … cr+(r-1)
c2r c2r+1 c2r+2 … c2r+(r-1)
c3r c3r+1 c3r+2 … c2r+(r-1)
… … … … …
Imin = 0,0385
Imax = 0,0762
Kryptographie und Kryptoanalyse 96
3 Klassische Verfahren – PM-Substitutionen
Wahrscheinlichkeit, ein Paar gleiche Zeichen auszuwählen:
Anzahl von Buchstabenpaaren
• aus einer gleichen Spalte:
• aus verschiedenen Spalten:
• insgesamt:
1
2gl
NNranz
2v
NN Nranz
12bp
N Nanz
1
0
minmax2n
i bp
vgli anz
IanzIanzpI
Kryptographie und Kryptoanalyse 97
3 Klassische Verfahren – PM-Substitutionen
Einsetzen und Umformen nach r liefert:
max min
max min
( ) 0,0377( 1) ( 1) 0,0762 0,0385
I I N NrN I I I N N I N
0,03770,0385
rI
21 1 12 2
2 20 0 0
( ) 1 ( )n n n
ii i
i i i
anz aI p anz aN N
für N >> 1
Kryptographie und Kryptoanalyse 98
3 Klassische Verfahren – PM-Substitutionen
• Analyse einer PM-Substitution ohne periodische Wiederholung des Schlüssels– Methode von Friedman 1918 vorgestellt– Voraussetzung: Schlüssel und Klartext entstammen einer
natürlichen Sprache– Basis: eine relativ kleine Menge von Buchstaben macht bereits
einen großen Teil des Textes aus (ca. 75% des Englischen oder Deutschen bestehen aus den jeweils 10 häufigsten Buchstaben)
Kryptographie und Kryptoanalyse 99
3 Klassische Verfahren – PM-Substitutionen
Vigenère-Tableau für die 10 häufigsten Buchstaben (D):
Ermittlung sinnvoller Kombinationen, Ausschluss …
e n r i s t d h a u
E I R V M W X H L E Y
N R A E V F G Q U N H
R V E I Z J K U Y R L
I M V Z Q A B L P I C
S W F J A K L V Z S M
T X G K B L M W A T N
D H Q U L V W G K D X
H L U Y P Z A K O H B
A E N R I S T D H A U
U Y H L C M N X B U O
Kryptographie und Kryptoanalyse 100
3 Klassische Verfahren – PM-Substitutionen
Mögliche Zusammensetzung der Schlüsseltextbuchstaben
A B C D E F G H I J K L M
a+a i+t i+u a+d a+e n+s d+d a+h e+e r+s s+s e+h t+t
n+n h+u n+r n+t e+d r+r d+h i+d e+i
i+s n+u a+i r+t s+t s+u
h+ t r+u
N o P Q R S T U V W X Y Z
a+n h+h h+i i+i a+r a+s a+t a+u d+s d+t d+u e+u i+r
t+u u+u d+n e+n d+r e+r e+s e+t h+r h+s
h+n i+n
Kryptographie und Kryptoanalyse 101
3 Klassische Verfahren – PM-Substitutionen
• Beispiel
H: (a+h), (e+d), (n+u)Q: (i+i), (d+n)R: (a+r), (e+n)
T: (a+t)B: (i+t), (h+u)P: (h+i)
m = E I N B I L D V E R A R B E I T U N G S …
k = D I E S T E G A N O G R A P H I E E R M …
c = H Q R T B P J V R F G I B T P B Y R X E …
insgesamt 6 · 3 · 4 = 72Möglichkeiten, darunter (die, ein)
insgesamt 2 · 4 · 2 = 16Möglichkeiten, keine sinnvolle Kombination darunter
Kryptographie und Kryptoanalyse 102
3 Klassische Verfahren
Zusammenfassung• MM-Substitutionen erhalten alle Gesetzmäßigkeiten des
Klartextes – Angriffe mittels statistischer Analysen• PM-Substitionen beseitigen diesen Nachteil durch
Anwendung unterschiedlicher Schlüsselzeichen; relevant für die Sicherheit: Schlüssellänge und Wahl des Schlüssels
• Transpositionen erhalten Einzelwahrscheinlichkeiten, aber nicht die Wahrscheinlichkeiten von Zeichenfolgen
• Ansatzpunkt für die vorgestellten Analysen: erhaltene Redundanz des Klartextes Kryptoanalyse m. H. eines reinen Schlüsseltext-Angriffsfür Klartext „ohne“ Redundanz nicht möglich;Reduktion der Redundanz erschwert Kryptoanalyse
Kryptographie und Kryptoanalyse 103
Überblick über die Vorlesung
1. Einführung2. Grundlagen3. Klassische Verfahren4. Symmetrische Verfahren
– Blockchiffren– Feistel-Chiffre– Kryptographische Güte einer Verschlüsselungsfunktion– DES
• Differentielle Kryptoanalyse• Lineare Kryptoanalyse
– AES– Betriebsarten
5. Asymmetrische Verfahren
Kryptographie und Kryptoanalyse 104
4 Symmetrische Verfahren – Blockchiffren
Blockchiffren• Verschlüsselung von Nachrichten fester Länge
(Stromchiffren: Verschlüsselung von Nachrichten beliebiger Länge)
• Nachricht m in b Blöcke der Länge l unterteilt:
m = m1m2 … mb, mi = mi1mi2 … mil, mij {0, 1}
• Verschlüsselung der Nachrichtenblöcke mit k K:
ci = enc(k, mi)
praktischer Einsatz: Betriebsarten• längentreue Verfahren: length(mi) = length(ci)• Anforderungen an enck: Sicherheit und Performance
Kryptographie und Kryptoanalyse 105
4 Symmetrische Verfahren – Blockchiffren
Sicherheitsanforderungen an enck• Diffusion und Konfusion
[Claude Shannon: Communication Theory of Secrecy Systems. Bell Systems Technical Journal, 28(1949), 656-715.]
• Ziel: Erschweren statistischer Angriffe
• Diffusion: im Klartext enthaltene Redundanz wird im Schlüsseltext „verteilt“
• Konfusion: Beziehungen zwischen Schlüsseltexten und Schlüsseln so komplex wie möglich
• Produktchiffre: Kombination von Verschlüsselungsverfahren
Kryptographie und Kryptoanalyse 106
4 Symmetrische Verfahren – Blockchiffren
• Produktchiffre als Kombination von Substitution ( Konfusion) und Transposition ( Diffusion)bietet Möglichkeit der effizienten Konstruktion entsprechender Verschlüsselungsfunktionen Substitutions-Permutations-Netzwerk (SP-Netzwerk)
• Iterierte Blockchiffren– Verschlüsselung erfolgt in mehreren Runden
c = encn(kn, encn-1(kn-1, ... enc2(k2, enc1(k1, m)) ... ))– Verwendung von Rundenschlüsseln– Algorithmus zur Generierung der Runden- bzw. Teilschlüssel– Verschlüsselungsfunktion muss im Allgemeinen invertierbar sein– Anwendung der Rundenschlüssel bei Entschlüsselung in
umgekehrter Reichenfolgem = dec1(k1, dec2(k2, ... decn-1(kn-1, decn(kn, c)) ... ))
Kryptographie und Kryptoanalyse 107
4 Symmetrische Verfahren – Blockchiffren
Allgemeine Ansätze zur Kryptoanalyse von Blockchiffren• Unabhängig von der internen Struktur• Vollständige Schlüsselsuche
– Klartext-Schlüsseltext-Angriff– Aufwand abhängig vom Schlüsselraum
• Zugriff auf eine vorab berechnete Tabelle– Gewählter Klartext-Schlüsseltext-Angriff– Aufwand abhängig vom Schlüsselraum
• Time-Memory-Tradeoff– Gewählter Klartext-Schlüsseltext-Angriff– Aufwand abhängig vom Schlüsselraum
• Kodebuchanalyse– Klartext-Schlüsseltext-Angriff– Ziel: Rekonstruktion des Klartextes– Aufwand abhängig von Struktur und Redundanz des Klartextes
Kryptographie und Kryptoanalyse 108
4 Symmetrische Verfahren – Feistel-Chiffre
Feistel-Chiffre• Forschungsprogramm „Lucifer“ in den späten 60er Jahren• Feistel-Chiffre 1973 von Horst Feistel veröffentlicht• Permutationen und Substitutionen • Iterierte Blockchiffre• Struktur dieser Chiffre gehört zu den grundlegenden
Konzepten der Kryptographie • Anwendung des Prinzips z.B. in DES, 3-DES, Blowfish, CAST,
FEAL und Twofish
Kryptographie und Kryptoanalyse 109
4 Symmetrische Verfahren – Feistel-Chiffre
• Zerlegung des Nachrichtenblocks mi Al in zwei Teilblöcke:
mi = (L0, R0)ci = (Ln, Rn)
• Schema ist selbstinvers: Ver- und Entschlüsselung geschieht mit den gleichen Funktionen, nur Reihenfolge der Rundenschlüssel wird umgekehrt
• Rundenfunktion f muss nicht bijektiv sein• Pro Runde wird jeweils nur ein Teilblock modifiziert ermöglicht effiziente Implementierung
• f bestimmt kryptographische Sicherheit des Verfahrens
Kryptographie und Kryptoanalyse 110
4 Symmetrische Verfahren – Feistel-Chiffre
Verschlüsselung in einer Runde
enc(ki, (Li-1, Ri-1)) = Ri-1, f(Ri-1, ki) Li-1 = Li, Ri
Runde 1: R0L0
L1 R1
fk1
enc(k1, (L0, R0)) = R0, f(R0, k1) L0 = L1, R1
Kryptographie und Kryptoanalyse 111
4 Symmetrische Verfahren – Feistel-Chiffre
Entschlüsselung in einer Runde
dec(ki, (Li, Ri)) = f(Li, ki) Ri, Li = Li-1, Ri-1
Runde 1: R1L1
L0 R0
k1f
dec(k1, (L1, R1)) = f(L1, k1) R1, L1 = L0, R0
Kryptographie und Kryptoanalyse 112
4 Symmetrische Verfahren – Kryptographische Güte
Kryptographische Güte einer Verschlüsselungsfunktion • Kryptographisch entscheidende Funktion f muss bestimmten
Anforderungen genügen ( Konfusion und Diffusion)• Merkmale zur Beurteilung von f: Designkriterien• Beispiele:
– Vollständigkeit– Avalanche – Nichtlinearität– keine Informationen über Outputbits ohne Wissen über
Inputbits ( Korrelationsimmunität)
Kryptographie und Kryptoanalyse 113
4 Symmetrische Verfahren – Kryptographische Güte
VollständigkeitEine Funktion f: {0,1}n {0,1}m heißt vollständig, wenn jedes Bit des Outputs von jedem Bit des Inputs abhängt.
Grad der Vollständigkeit k/n: im Mittel hängen k Output-Bits von den n Inputbits ab
Beispiel: SBsp
y1 = x1x2 x1x3 x2x3 x2 x3 1y2 = x1x2 x1x3 x2x3 x1 x3 1y3 = x1x2 x1x3 x2x3 x1 x2 1
kein hinreichendes Kriterium
Kryptographie und Kryptoanalyse 114
4 Symmetrische Verfahren – Kryptographische Güte
y1 = x1x2 x1x3 x2x3 x2 x3 1y2 = x1x2 x1x3 x2x3 x1 x3 1y3 = x1x2 x1x3 x2x3 x1 x2 1
Input Outputx3 x2 x1 y3 y2 y1
0 0 0 1 1 10 0 1 0 0 10 1 0 0 1 00 1 1 0 1 11 0 0 1 0 01 0 1 1 0 11 1 0 1 1 01 1 1 0 0 0
6 von 8 möglichen Belegungen des Inputs
werden identisch ausgegeben!
Kryptographie und Kryptoanalyse 115
4 Symmetrische Verfahren – Kryptographische Güte
Beispiel: Vollständigkeit der Feistel-Chiffre (f vollst.)
Inputbit i
Out-put-bit j
c0 = m = L0, R0
0 1 2 3 4 5 6 7
1234567
0Inputbit i
Out-put-bit j
c1 = L1, R1
0 1 2 3 4 5 6 7
1234567
0
Inputbit i
Out-put-bit j
c2 = L2, R2
0 1 2 3 4 5 6 7
1234567
0Inputbit i
Out-put-bit j
c3 = L3, R3
0 1 2 3 4 5 6 7
1234567
0
Kryptographie und Kryptoanalyse 116
4 Symmetrische Verfahren – Kryptographische Güte
AvalancheEine Funktion f: {0,1}n {0,1}m besitzt dann den Avalanche-Effekt, wenn die Änderung eines Input-Bits im Mittel die Hälfte aller Output-Bits ändert.
Wird durch Änderung eines Input-Bits jedes Output-Bit mit einer Wahrscheinlichkeit von 50% verändert, erfüllt f das strikte Avalanche-Kriterium.
Erfüllt f das strikte Avalanche-Kriterium, so ist f stetsvollständig.
Kryptographie und Kryptoanalyse 117
4 Symmetrische Verfahren – Kryptographische Güte
Beispiel (SBsp)
000 001 010 011 100 101 110 111
000 2 2 2 6
001 2 1 1 4
010 2 1 1 4
011 1 1 2 4
100 2 1 1 4
101 1 1 2 4
110 1 1 2 4
111 2 2 2 6
Gesamtzahl der geänderten Bits 36
m1m2
Kryptographie und Kryptoanalyse 118
4 Symmetrische Verfahren – Kryptographische Güte
LinearitätEine Funktion f: {0,1}n {0,1}m ist dann linear, wenn jedesOutput-Bit yi linear von den Input-Bits xi abhängt:
yi = aj,1 x1 + aj,2 x2 + … + aj,n xn + bj
Wenn wenigstens ein Output-Bit linear von den Input-Bits abhängt, ist f partiell linear.
weiteres Maß: Grad der Übereinstimmung von f mit ihrer besten linearen Approximation gGüte der Approximation: Anteil der Funktionswerte, in denen f und g übereinstimmen
Kryptographie und Kryptoanalyse 119
4 Symmetrische Verfahren – Kryptographische Güte
Korrelationsimmunitätf(x1, x2, …, xn) boolesche Funktion in n Variablen
Die Funktion f heißt dann k-korrelationsimmun, wenn man aus Kenntnis von k beliebigen Eingangswerten keine Information über den resultierenden Ausgangswert erhalten kann und umgekehrt.
Kryptographie und Kryptoanalyse 120
4 Symmetrische Verfahren – Kryptographische Güte
Abhängigkeitsmatrix AM• Beurteilungsmethode für die Gütekriterien Vollständigkeit,
Avalanche, Nichtlinearität/partielle Nichtlinearität[W. Fumy, H. Rieß: Kryptographie: Einsatz, Entwurf und Analyse symmetrischer Kryptoverfahren. 2. akt. u. erw. Aufl., Oldenburg, 1994.]
• Die AM einer Funktion f: {0,1}n {0,1}m ist eine (n x m)-Matrix, deren Einträge ai,j die Wahrscheinlichkeit angeben, dass bei einer Änderung des i-ten Eingabebits das j-te Ausgabebit komplementiert wird.
• Eigenschaften von AM:– AM(f = const): Nullmatrix– AM(f: Permutation): Permutationsmatrix– AM(f) = AM(1 f)
Kryptographie und Kryptoanalyse 121
4 Symmetrische Verfahren – Kryptographische Güte
Eigenschaften von f (xi: Inputbits, yj: Outputbits)ai,j = 0 yj nicht von xi abhängig; f ist nicht vollständig
Anzahl ai,j mit ai,j > 0: Grad der Vollständigkeit ai,j > 0 f ist vollständig
ai,j = 1 yj ändert sich bei jeder Änderung von xi yj hängt linear von xi ab
j. i. ai,j {0,1} f ist partiell linear (Spalte aj binärer Vektor) i. j. ai,j {0,1} f ist linear (AM binäre Matrix)
f besitzt Avalanche-Effekt
i. j.ai,j 0,5 f erfüllt striktes Avalanche-Kriterium
m
i
n
jjia
nm 1 1, 5,011
Kryptographie und Kryptoanalyse 122
4 Symmetrische Verfahren – Kryptographische Güte
Berechnung der Abhängigkeitsmatrixexakte Berechnung nur für kleine n, m möglichnäherungsweise Berechnung
i. j. ai,j := 0für „hinreichend viele“ X
wähle zufälligen n-Bit Vektor Xfür alle i von 1 bis n
Bestimme Xi (unterscheidet sich von X genau im Bit i)Vi = f(X) f(Xi)ai,j := ai,j + Vi,j
Division aller ai,j durch Anzahl der Vektoren X
Kryptographie und Kryptoanalyse 123
0 00
00 0
00 0
4 Symmetrische Verfahren – Kryptographische Güte
Beispiel (SBsp)
X = 000 X2 = 010 V2 = 111 010 = 101X3 = 100 V3 = 111 100 = 011
X = 001 …
y1 y2 y3
x1
x2
x3
0 11
00 0
00 0
0 11
01 1
00 0
0 11
01 1
11 0
4 44
44 4
44 4
0,5 0,50,5
0,50,5 0,5
0,50,5 0,5
X1 = 001 V1 = 111 001 = 110
Kryptographie und Kryptoanalyse 124
4 Symmetrische Verfahren – Kryptographische Güte
Designkriterien – Zusammenfassung• Kriterien sind zwar notwendig, aber nicht hinreichend• Teilweise gegenläufig• Optimierung notwendig• Notwendig:
– Höchstmaß an Vollständigkeit, Avalanche, Nichtlinearität und Korrelationsimmunität,
– Geringhaltung der Existenz linearer Faktoren der Verschlüsselungsfunktion
• Gewünscht:– Gute Implementierbarkeit, Schnelligkeit, Längentreue,
Minimierung der Fehlerfortpflanzungsmöglichkeiten
Kryptographie und Kryptoanalyse 125
4 Symmetrische Verfahren – DES
DES (Data Encryption Standard)• 1973 Ausschreibung des National Bureau of Standards (NBS) der
USA für ein standardisiertes kryptographisches Verfahren• 1974 erneute Ausschreibung• 1975 Veröffentlichung der Einzelheiten des Algorithmus im Federal
Register• 1976 zwei Workshops zur Evaluierung des Algorithmus• 1977 vom NBS als Standard publiziert (FIPS PUB 46)• Überprüfung der Sicherheit aller 5 Jahre • 1992 differenzielle Kryptoanalyse (Biham, Shamir)• 1994 lineare Kryptoanalyse (Matsui)• 1999 Brute-Force-Angriff (Deep Crack und weitere Rechner): 22
Stunden, 15 Minuten• 1999 FIPS 46-3: Empfehlung 3-DES• 2001 Veröffentlichung des AES (FIPS 197)• 2002 AES tritt in Kraft
Kryptographie und Kryptoanalyse 126
4 Symmetrische Verfahren – DES
Überblick über den Algorithmus• grundlegende Struktur: Feistel-Chiffre mit n = 16 Runden
• Einteilung der Nachricht in l Blöcke der Länge 64 Bits:m = m1m2 … ml, mi {0, 1}64
c = c1c2 … cl, ci {0, 1}64
• Schlüssel der Länge 64 Bits:k {0,1}64, davon jedoch nur 56 Elemente frei wählbarTeilschlüssel ki, i = 1, …, 16 aus k erzeugt (Länge ki: 48 Bit)
• Permutation vor der ersten und nach der letzten Runde (IPbzw. IP -1) (kryptographisch nicht relevant)
Kryptographie und Kryptoanalyse 127
L15
4 Symmetrische Verfahren – DES
Struktur des DESmi k
(56 Bit wählbar)
L0
ci
R0
L16 R16
R15
L1 R1
L2 R2
Iterationsrunde 16
Iterationsrunde 2
Iterationsrunde 1
IP-1
IP
......
Teil-schlüs-
sel-generie-
rung
64
64
k148
k248
k1648
64
Kryptographie und Kryptoanalyse 128
19172533414957
210182634425058
311192735435159
412202836445260
513212937455361
614223038465462
715233139475563
816243240485664
4 Symmetrische Verfahren – DES
Eingangspermutation IP
Folge der Klartextbits:
58606264
50525456
34363840
26283032
18202224
10121416
2468
42444648
linke Hälfte
49515355
57596163
41434547
25272931
17192123
9111315
1357
33353739
rechte Hälfte
Kryptographie und Kryptoanalyse 129
Iterationsrunde i: Rundenfunktion f
Ef
48
Ri-1
32
P
f(Ri-1,ki) = P(S(E(Ri-1) ki))
32
ki48
S2S1 S8…6 6 6
44 4
4 Symmetrische Verfahren – DES
Kryptographie und Kryptoanalyse 130
4 Symmetrische Verfahren – DES
Expansionsabbildung E
32481216202428
1591317212529
26101418222630
37111519232731
48121620242832
5913172125291
32 1 3 4 52
1 2 43
4 5 7 8 96
5 6 87
28 29 31 32 130
29 30 3231…
Kryptographie und Kryptoanalyse 131
4 Symmetrische Verfahren – DES
Substitutionsboxen Si
8310155912511
910612117086
106129321127
1112117141310612
125931012690
13951000935
140356511214
1578013105159
0140415153013
1415112113148
213714884710
31482147111
4214134615103
515269112415
611132138134
78111741412
01230123
S1:
S2:
0123
S8: 1012015
95612
36109
1411130
50153
01435
12956
72811
13172
215111
813414
4817
61094
1531210
117148
14213
... ...
b5b4b3b2b1b0
6-Bit Wertvor der
Substitution
Kryptographie und Kryptoanalyse 132
4 Symmetrische Verfahren – DES
Permutation P
161219
715813
20232430
2126146
2953222
12182711
283134
1710925
S1 S2 S3 S4 S5 S6 S7 S8
S1 S2 S3 S4 S5 S6 S7 S8
Kryptographie und Kryptoanalyse 133
4 Symmetrische Verfahren – DES
Teilschlüsselgenerierung (Verschlüsselung)
PC-1
k
64
56
DC
28 28
PC-2ki
48
Kryptographie und Kryptoanalyse 134
19172533414957
210182634425058
311192735435159
412202836445260
513212937455361
614223038465462
715233139475563
816243240485664
4 Symmetrische Verfahren – DES
Schlüsselpermutation PC-1 (Permuted Choice)
externer Schlüssel k:
57585960
49505152
33343536
252627
171819
91011
123
41424344
C
555453
636261
474645
31302928
23222120
15141312
7654
393837
D
Paritätsbits
Kryptographie und Kryptoanalyse 135
4 Symmetrische Verfahren – DES
Anzahl der ShiftsVerschlüsselung: Links-ShiftsEntschlüsselung: Rechts-Shifts
Schlüsselauswahl: PC-2
911
1022
1122
1222
1322
1422
1522
1611
110
211
322
422
522
622
722
822
RundeAnzahl Links-Shifts:Anzahl Rechts-Shifts:
141526415134
1768524553
112116313346
24107374842
12327474450
51920554936
31213303929
2842405632
Kryptographie und Kryptoanalyse 136
4 Symmetrische Verfahren – DES
Bewertung der SchlüsselBis auf wenige Ausnahmen liefert das Verfahren für jede Runde einen anderen Teilschlüssel.
4 schwache Schlüssel, die jeweils 16 identische Teilschlüssel erzeugen:
0F0F
0F0F
0F0F
0F0F
0F0F
0F0F
0F0F
C0FF0
0FF0
0FF0
0FF0
0FF0
0FF0
0FF0
D01FE1FE0
01FE1FE0
01FE1FE0
01FE1FE0
01FE0EF1
01FE0EF1
01FE0EF1
01FE0EF1
externer Schlüssel k
Kryptographie und Kryptoanalyse 137
4 Symmetrische Verfahren – DES
12 semi-schwache Schlüssel, die jeweils nur 2 verschiedene Teilschlüssel erzeugen:
A5A5A5A500FF
A5A5A5A500FF
A5A5A5A500FF
A5A5A5A500FF
A5A5A5A500FF
A5A5A5A500FF
A5A5A5A500FF
CA55A00FFA5A5
A55A00FFA5A5
A55A00FFA5A5
A55A00FFA5A5
A55A00FFA5A5
A55A00FFA5A5
A55A00FFA5A5
D01FE1FE001E01FFE011FE0FE
FE01E01FE001FE1F1F01FEE0
01FE1FE001E01FFE011FE0FE
FE01E01FE001FE1F1F01FEE0
01FE0EF101F10EFE010EF1FE
FE01F10EF101FE0E0E01FEF1
01FE0EF101F10EFE010EF1FE
FE01F10EF101FE0E0E01FEF1
externer Schlüssel k
Kryptographie und Kryptoanalyse 138
4 Symmetrische Verfahren – DES
Eigenschaften des DES • Vollständig: jedes Output-Bit hängt von jedem Input-Bit ab
(nach ca. 5 Durchläufen), Avalanche, Nichtlinearität• Problem schwacher und semischwacher Schlüssel
(einfach explizit ausschließen)
• Komplement-Eigenschaft:
enc(k, m) = enc(k, m)
ermöglicht Einschränkung des Schlüsselraums: Etwas reduzierter Aufwand bei Angriff bei Kenntnis von zwei
Klartext-Schlüsseltextpaaren (m1, c1) und (m2, c2) mit m2 = m1
Kryptographie und Kryptoanalyse 139
4 Symmetrische Verfahren – DES
3-DES• Schlüssellänge heute zu kurz• Erhöhung der Sicherheit durch mehrmalige Verschlüsselung
(Kaskadenverschlüsselung) Meet-in-the-Middle-Angriff:
Sicherheitsgewinn bei Doppelverschlüsselung: 1 Bit
• 3-DES (Triple-DES): Verbesserung der Sicherheit durch 3-fache Anwendung
• Verschiedene Varianten, häufig EDE
c = enc(k1, (dec(k2, (enc(k1, m)))
Kryptographie und Kryptoanalyse 140
4 Symmetrische Verfahren – Kryptoanalyse des DES
Kryptoanalyse des DES• Allgemeine Angriffe auf Blockchiffren:
– Vollständige Schlüsselsuche– Zugriff auf eine vorab berechnete Tabelle– Time-Memory-Tradeoff– Kodebuchanalyse
• Angriffe auf DES, auch relevant für andere Blockchiffren: – Differentielle Kryptoanalyse– Lineare Kryptoanalyse
Kryptographie und Kryptoanalyse 141
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
Differentielle Kryptoanalyse• E. Biham and A. Shamir: Differential Cryptanalysis of DES-
like Cryptosystems. Advances in Cryptology – CRYPTO '90. Springer-Verlag. 2-21.
• Gewählter Klartext-Schlüsseltext Angriff• Aufwand für DES lt. Standard, 16 Runden:
ca. 247 Klartextpaare bei ca. 237 Verschlüsselungsschritten• Anwendbar für iterierte Blockchiffren
• Prinzip:– Verwendung von beliebigen Klartextpaaren mit bestimmten
Differenzen– Analyse der Auswirkungen der Klartext-Differenzen auf die
Differenzen der resultierenden Schlüsseltextpaare– Ermittlung wahrscheinlicher Schlüssel
Kryptographie und Kryptoanalyse 142
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
Notation (1)• Eingangs- und Ausgangs-
permutation haben keinenEinfluss – weggelassen
• Lm, Rm: linke bzw. rechteHälfte des Klartextes
• Lc, Rc: linke bzw. rechteHälfte des Schlüsseltextes
• xi / yi: Input / Output der Rundenfunktion in Runde i
• x, x*: zusammengehörigeZwischenwerte
• x‘ = x x*: Differenz
Schlüsseltext c = (Lc, Rc)
Klartext m = (Lm, Rm)
f
f
f
. . .
x1y1
x2y2
x16y16
k1
k2
k16
Kryptographie und Kryptoanalyse 143
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
Notation (2)
Ef
48
32
ki
…6 6 6
44 4
P
32
S2S1 S8
S1Ii
S1Ei S2Ei S8EiS3Ei … S1Ki S2Ki S8KiS3Ki …
S2Ii S8Ii
S1Oi S2Oi S8Oi
48
xi
yi
Kryptographie und Kryptoanalyse 144
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
Einfluss der Operationen auf die XOR-Differenzen• Expansionsabbildung E:
E(x) E(x*) = E(x x*)• Bitweise Addition mit Rundenschlüssel k:
(x k) (x* k) = x x*• Permutation P:
P(x) P(x*) = P(x x*)• Verknüpfung von Zwischenwerten
(Input und Output aufeinander folgender Rundenfunktionen):(x y) (x* y*) =
(x x*) (y y*)
Klartext m = (Lm, Rm)
f
f
. . .
x1y1
x2y2
k1
k2
Kryptographie und Kryptoanalyse 145
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
• Substitutionsboxen Si– Nichtlinear komplexe Beziehungen zwischen Eingabe-
und Ausgabedifferenzen
– 26·24 mögliche Tupel von Eingabe- und Ausgabedifferenzen
– nicht alle möglichen Ausgabedifferenzen SiO‘ existieren– existierende SiO‘ sind nicht gleichwahrscheinlich
SiI
SiO
SiI*
SiO*
SiI‘ = SiI SiI*
SiO‘ = SiO SiO*
Eingabe:
Ausgabe:
Differenz:
Si
6
4
Si
6
4
Kryptographie und Kryptoanalyse 146
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
Beschreibung der Differenzen – Differenzentabelle
S1I* = S1O‘ = S1O S1O*S1I S1I‘ 0000 0001 0010 0011 … 1101 1110 1111
000000 110100000001 110101
111110 001010 1111111 001011 1Differenzenverteilung: 0 8 16 6 … 8 0 6
Differenzentabelle für S1, Eingabediff. S1I‘ = 1101002 = 34x
S1I
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
0123
8310155
91061211
1061293
111211714
1259310
1395100
140356
1578013
0140415
1415112
2137148
31482
4214134
515269
6111321
781117
S1:
Kryptographie und Kryptoanalyse 147
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
Differenzenverteilungstabelle von S1
80006
901064
A01284
B0460
C010122
D0662
E0242
F0420
0640014
10004
20002
30682
400010
50246
60444
70442
0123
444
422
004
428
008
1286
442
442
004
888
624
222
224
640
042
8144
...
...
Eingabe-diff. S1I
’Ausgabedifferenzen S1O
’
333435
3D3E3F
...
402
482
6164
260
1028
800
400
2120
4614
004
206
208
400
682
0414
460
444
422
004
428
008
1286
442
442
004
888
624
222
224
640
042
8144
...
S1I‘ S1O
‘, z.B.: 34x 1x, 34x 2x, 34x 5x
Kryptographie und Kryptoanalyse 148
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
Analyse der Rundenfunktion (1)
Ef
P
S2S1 S8
S1I‘
S1E S2E S8ES3E … S1K S2K S8KS3K …
S2I‘ S8I‘
S1O, S1O*
S1O‘S2O , S2O
*
S2O‘
S8O , S8O*
S8O‘
gewählt: x, x* x‘ gesucht: k
S1E‘, S2E‘, …, S8E‘
beobachtet: y, y* y‘
…
Kryptographie und Kryptoanalyse 149
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
Analyse der Rundenfunktion (2)• Gewählt: Inputpaar x, x* ( x’)• Beobachtet: y, y* Outputdifferenz y’
1. Schritt:Bestimmung von Kandidaten für die Belegung der Input-Vektoren der S-Box
2. Schritt:Ermittlung möglicher Schlüsselbits mit Hilfe der ermittelten Input-Vektoren
• Wiederholen dieser Schritte zur weiteren Einschränkung des Schlüsselraums
• Vollständige Suche über eingeschränkten Schlüsselraum
Beispiel: S1E = 01x, S1E* = 35x; S1O‘ = 0Dx
Kryptographie und Kryptoanalyse 150
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
Mögliche Inputpaare für S1I‘ = 34x
Outputdiffe-renzen S1O‘
Eingabepaare für S1I‘ = 34x
1 03, 37; 0F, 3B; 1E, 2A; 1F, 2B
2 04, 30; 05, 31; 0E, 3A; 11, 25; 12, 26; 14, 20;1A, 2E; 1B, 2F
3 01, 35; 02, 36; 15, 21
4 13, 27
7 00, 34; 08, 3C; 0D, 39; 17, 23; 18, 2C; 1D, 29
8 09, 3D; 0C, 38; 19, 2D
D 06, 32; 10, 24; 16, 22; 1C, 28
F 07, 33; 0A, 3E; 0B, 3F
Kryptographie und Kryptoanalyse 151
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
Mögliche Schlüsselbits S1K
S1I, S1I* Mögliche Schlüsselbits
06, 32 07, 33
10, 24 11, 25
16, 22 17, 23
1C, 28 1D, 29
S1I, S1I* Mögliche Schlüsselbits
01, 35 20, 14
02, 36 23, 17
15, 21 34, 00
1. Paar: S1E = 01x, S1E
* = 35x
S1I‘ = 34x
S1O‘ = 0Dx
2. Paar: S1E = 21x, S1E
* = 15x
S1I‘ = 34x
S1O‘ = 03x
Kryptographie und Kryptoanalyse 152
4 Symmetrische Verfahren – Lineare Kryptoanalyse
Analyse des DES mit 3 Runden
m = (Lm, Rm)
c = (Lc , Rc)
f
k1
f
k2
f
k3
y1 x1 = Rm
y2 x2
y3 x3 = Rc
LC = y3 x2
y3 = Lc Lm y1
LC = y3 Lm y1
y3* = Lc
* Lm* y1
*
y3‘ = Lc‘ Lm‘ y1‘
Rm‘ = 0 y1‘ = 0
Outputdifferenz der 3. Runde bestimmen:
Kryptographie und Kryptoanalyse 153
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
Analyse des DES• Bei mehr als 5 Runden kann die Ausgabedifferenz der letzten
Runde nicht mehr berechnet werden• Betrachtung der einzelnen S-Boxen:
Inputdifferenz SiI’ liefert Outputdifferenz SiO’ mit P(Si, SiI’ SiO’ ) (Differenzenverteilungstabelle)
• Analyse der Input- und Output-Differenzen der Rundenfunktion m. H. der Input- und Output-Differenzen der S-Boxen:
• Verfolgen von Differenzen und Wahrscheinlichkeiten über mehrere Runden: Charakteristik
8
1
)'',()'',(i
OI SiSiSiPyxfP
Kryptographie und Kryptoanalyse 154
n-Runden-Charakteristik (1) = (m, , c) = (1, 2, …, n) mit: i = (Ii, Oi)
m= m’ = (L m , R m)c = c’ = (L c , R c)Ii = xi’, Oi = yi’
Es gilt: I1 = R m I2 = L m O1
In = R cOn= L c In-1
2 i n-1: Oi = Ii-1 Ii+1
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
f
Schlüsseltext c
Klartext m
f
f
. . .
x1y1
x2y2
x16y16
k1
k2
k16
fx15y15
k15
Kryptographie und Kryptoanalyse 155
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
n-Runden-Charakteristik (2)• Wahrscheinlichkeit pi
der Runde i einer Charakteristik pi
= P(Ii Oi)• Wahrscheinlichkeit p einer n-Runden-Charakteristik
• Richtiges Paar bzgl. einer n-Runden-Charakteristik und eines unabhängigen Schlüssels k:– m’ = m und c’ = c
– für die ersten n Runden der Berechnung gilt:xi’ = Ii ⁄ yi’ = Oi
• Übrige Paare: falsche Paare
n
iipp
1
Kryptographie und Kryptoanalyse 156
c = ( , 00 00 00 00)
y1‘ = (00 00 00 00)
m = (L m, 00 00 00 00)
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
1-Runden-Charakteristik mit p = 1einziger möglicher Fall: Ii = (00 00 00 00)
f
k1x1‘ = (00 00 00 00)
p = 1
L m
Kryptographie und Kryptoanalyse 157
532
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
1-Runden-Charakteristik mitIi ∫ 0• Ziel: p möglichst groß
– SiI’ 0 für nur eine S-Box: nur die mittleren Bits dürfen mit 1 belegt sein
SiI’ = 000100 001000 001100 = 04x 08x 0Cx
– Wahrscheinlichkeit für SiI’ SiO’ maximal (S1: bei 0Cx Ex)
• 1-Runden-Charakteristik mit p = für
S1: 0Cx Ex mit Wahrscheinlichkeit
S2, …, S8: 00x 0x mit Wahrscheinlichkeit 1
1 3 42
1 2 43
S1E:
1464
14
64
Kryptographie und Kryptoanalyse 158
m = (L m, 60 00 00 00)
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
1-Runden-Charakteristik mit p = 1464
1464 = P(E0 00 00 00)
c = (L m 00 80 82 00, 60 00 00 00)
y1‘ = (00 80 82 00)p = f
k1x1‘ = (60 00 00 00)
P(E0 00 00 00): 161219
715813
20232430
2126146
2953222
12182711
283134
1710925
Kryptographie und Kryptoanalyse 159
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
Konkatenation von n-Runden Charakteristikena = (m,a, ,a, c,a) sei n-Runden-Charakteristik,b = (m,b, ,b, c,b) sei m-Runden-Charakteristikm,a = (L m,a, R m,a), c,a = (L c,a, R c,a) etc.
a und b können verbunden werden, falls
L c,a = R m,b und R c,a = L m,b
= ab = (m,a, , c,b)mit = (a1, a2, …, an, b1, b2, …, bm)
Kryptographie und Kryptoanalyse 160
m = (00 80 82 00 60 00 00 00)
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
3-Runden-Charakteristik mit p = 0,051464
2
c = (00 80 82 00 60 00 00 00)
1464
y1‘ = (00 80 82 00)p = f
k1x1‘ = (60 00 00 00)
y2‘ = (00 00 00 00)p = 1 f
k2x2‘ = (00 00 00 00)
1464
y3‘ = (00 80 82 00)p = f
k3x3‘ = (60 00 00 00)
1
2
3
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
Iterative Charakteristik = (m, , c)• kann mit sich selbst konkateniert warden: L m = R c ⁄ R m = L c
• erlaubt Konstruktion von n-Runden-Charakteristiken mit begrenzter Verringerung von p
• besonders hilfreich: SiI’ SiO’ mit SiI’ 0 ⁄ SiO’ = 0
Kryptographie und Kryptoanalyse 161
m = (L m,00 00 00 00)
c = (00 00 00 00, L m)
y1‘ = (00 00 00 00)p = 1 f
k1x1‘ = (00 00 00 00)
y2‘ = (00 00 00 00)p f
k2x2‘ = (L m)
1
2
Kryptographie und Kryptoanalyse 162
4 Symmetrische Verfahren – Differentielle Kryptoanalyse
• Falsche Paare liefern nicht notwendigerweise den richtigen Teilschlüssel Betrachten der Schnittmenge i. Allg. nicht möglich
• Richtiger Teilschlüssel jedoch häufiger vertreten (mit Wahrscheinlichkeit p von den richtigen Paaren geliefert, dazu kommt zufälliges Auftreten in falschen Paaren)
• DES: Erschweren der differentiellen Kryptoanalyse durch entsprechende Designkriterien für die Substitutionen und Permutationen Don Coppersmith: The Data Encryption Standard and its strength against attacks. IBM Journal of Research and Development 38/3, 1994, 243-250.
• Wichtiges Designkriterium: möglichst hohe Anzahl aktiver S-Boxen pro Runde
Kryptographie und Kryptoanalyse 163
4 Symmetrische Verfahren – Lineare Kryptoanalyse
Lineare Kryptoanalyse• Matsui, M.: Linear Cryptanalysis Method for DES Cipher.
Advances in Cryptology – EUROCRYPT '93, LNCS 765, Springer-Verlag, 386-397.
• Klartext-Schlüsseltext Angriff• Anwendbar für iterierte Blockchiffren• Aufwand: ca. 243 Klartextblöcke erforderlich
• Prinzip:– Ziel: Approximation der Chiffrierfunktion durch eine lineare
Abbildung– Suche nach Approximationsgleichungen mit möglichst hoher
Güte– Untersuchung genügend vieler Klartext-Schlüsseltext-Paare
liefert Schlüsselbits
Kryptographie und Kryptoanalyse 164
4 Symmetrische Verfahren – Lineare Kryptoanalyse
Grundlagen• Körper:
Menge F2 = {0, 1}, Addition , Multiplikation ·• Vektorraum:
Menge Addition: (b1, b2, …, bn) (c1, c2, …, cn) = (b1 c1, b2 c2, …, bn cn)Skalare Multiplikation: a · (b1, b2, …, bn) = (a · b1, a · b2, …, a · bn)
• U, V Vektorräume über K; L: U V Abbildung • L linear, wenn für alle u, u1, u2 U und k K gilt:
– L(u1 + u2) = L(u1) + L(u2)– L(k· u) = k· L(u)
}|),...,,{( 2212 FF inn bbbb
Kryptographie und Kryptoanalyse 165
4 Symmetrische Verfahren – Lineare Kryptoanalyse
• Matrixdarstellung einer linearen Abbildung4
432162654321
462 22
)(;)(;: FFFF aaaaaeeeeeeeL
6
5
4
3
2
1
464544434241
363534333231
262524232221
161514131211
4
3
2
1
)(
eeeeee
llllllllllllllllllllllll
eL
aaaa
646242141
636232131
626222121
616212111
...
...
...
...
elelelelelelelelelelelel
Kryptographie und Kryptoanalyse 166
4 Symmetrische Verfahren – Lineare Kryptoanalyse
Vorüberlegungen zur linearen Kryptoanalyse• DES: Substitutionen sind die einzigen nicht-linearen
Abbildungen• Lineare Abhängigkeit einzelner Ausgabebits einer S-Box
SiO[i]? gesucht: Funktionen mit
SiO[i] = (SiI) = l1SiI[1] l2SiI[2] … l6SiI[6]
Paritätsfunktionen (alle Bits: Parität; nur Berechnung über bestimmte Bits: gewichtete Parität)
• Kennzeichnung der verwendeten Bits mittels Auswahlvektor w: wTSiI
Indexmenge: Angabe der verwendeten Positionen SiI[p1, p2, …]
262: FF
Kryptographie und Kryptoanalyse 167
4 Symmetrische Verfahren – Lineare Kryptoanalyse
Untersuchung der Substitutionsboxen• Paritätsfunktionen bzgl. der Eingabe SiI
nicht vorhanden• Paritätsfunktionen bzgl. Eingabe SiI und Ausgabe SiO
Auswahlvektoren u = (u1u2u3u4u5u6) und v = (v1v2v3v4)mit uTSiI = vTSiO
nicht vorhanden (Ausnahme u = 000000, v = 0000)• Affine Abbildungen
Auswahlvektoren u, v, bei denen uTSiI und vTSiO stets unterschiedlichNutzen für Analyse: uTSiI = vTSiO 1 nicht vorhanden
Approximation notwendigGüte pA der Approximation der Funktion S: Anteil der Argumente, in denen die Funktionswerte übereinstimmen
Kryptographie und Kryptoanalyse 168
4 Symmetrische Verfahren – Lineare Kryptoanalyse
Beste lineare Approximation von S5O[1]
Substitution Lineare Abbildung (Auswahlvektor u)S5I S5O 000000 000001 … 110111 … 111110 111111
000000 0010 0 0 … 0 … 0 0000001 1110 0 1 … 1 … 0 1000010 1100 0 0 … 1 … 1 1000011 1011 0 1 … 0 … 1 0000100 0100 0 0 … 1 … 1 1
111101 0101 0 1 … 0 … 0 1111110 1110 0 0 … 0 … 1 1111111 0011 0 1 … 1 … 1 0
Häufigkeit: 32 32 … 44 … 34 34
... ... ... ...... ... ...
Kryptographie und Kryptoanalyse 169
4 Symmetrische Verfahren – Lineare Kryptoanalyse
Approximationsmatrix von S5
832323632
932323232
A32323430
B32323038
C32323430
D32323030
E32323236
F32322828
064323232
132323632
232323030
332323438
432323030
532323430
632322836
732323228
000000000001000010000011
303434
423030
323038
323030
343632
342832
363228
323632
323232
362828
343628
342828
363446
363438
303026
343430
...
...
Ausw.-vektor u
Auswahlvektor v
001111010000010001
111101111110111111
...
323232
303434
303030
403232
383236
363034
322630
342428
343236
363034
403034
302832
403224
263426
344234
321236
...
Kryptographie und Kryptoanalyse 170
4 Symmetrische Verfahren – Lineare Kryptoanalyse
Bestimmung von Schlüsselbits
k
S5
S5I
S5O
m
c
mit pA = 0,81:(010000)Tm (010000)Tk
= (1111)Tc 1
bzw. m[2] k[2] = c[1,2,3,4] 1
Umstellen nach k[2]:k[2] = m[2] c[1,2,3,4] 1
Analyse von genügend Klartext-Schlüsseltext-Paaren liefert k[2]
6
6
4
Kryptographie und Kryptoanalyse 171
4 Symmetrische Verfahren – Lineare Kryptoanalyse
Analyse der DES-Rundenfunktion• Verwendung der Approximationsfunktion• Einbeziehung der Expansionsabbildung E
und der Schlüsseladdition
• Berücksichtigung der Permutation P
Approximationsgleichung für Rundenfunktion
32481216202428
26101418222630
37111519232731
48121620242832
5913172125291
1591317212529
161219
715813
20232430
2126146
2953222
12182711
283134
1710925
Kryptographie und Kryptoanalyse 172
4 Symmetrische Verfahren – Lineare Kryptoanalyse
Allgemeines VorgehenVorbereitung:
Auswahlvektoren u, v, w bestimmen mit:wTk = uTm vTc oderwTk = uTm vTc 1
Güte der Approximation pA > 0,5
1. Schritt:Untersuchung von N Klartext-Schlüsseltext-PaarenZ: Anzahl von Paaren, für die die rechte Seite der entsprechenden Gleichung 0 ist
2. Schritt:Z > N/2: wTk = 0Z < N/2: wTk = 1
Kryptographie und Kryptoanalyse 173
4 Symmetrische Verfahren – Lineare Kryptoanalyse
Analyse des DES mit 3 Runden
m = (Lm, Rm)
c = (Lc , Rc)
f
k1
f
k2
f
k3
y1 = Lm x2 x1 = Rm
y2 x2
y3 = Lc x2 x3 = Rc
k[26] =1
1 1x[17] y[3,8,14,25] 1
k[26] =3
3 3x[17] y[3,8,14,25] 1
Kryptographie und Kryptoanalyse 174
4 Symmetrische Verfahren – AES
AES (Advanced Encryption Standard)• 1997 Ausschreibung eines öffentlichen Wettbewerbs für die
Einreichung eines kryptographischen Algorithmus “AES” alsNachfolger des DES durch das National Institute of Standards and Technology (NIST) der USA
• Kriterien:– Sicherheit (bestmöglich, resistent gegen alle bekannten
Angriffe)– Kosten (weltweit ohne Einschränkungen und Lizenzgebühren
verfügbar)– Performance (effiziente Realisierbarkeit in Hard- und Software)– Algorithmische Eigenschaften (klar strukturiert, flexibel, für
möglichst viele Anwendungen einsetzbar)• Einreichungsfrist bis zum 15.6.1998• 15 Algorithmen erfüllten formale Kriterien und wurden in
einer ersten Verfahrensrunde begutachtet
Kryptographie und Kryptoanalyse 175
4 Symmetrische Verfahren – AES
August 1999: 5 Finalisten• MARS (IBM, USA):
komplexes Verfahren mit 32 Runden, aus Feistel-Chiffre abgeleitet
• RC6 (Ron Rivest u.a., RSA Labs, USA): “Rons Code”, Weiterentwicklung von RC5, basiert auf Feistel-Netzwerk mit 20 Runden
• Rijndael (Vincent Rijmen und Joan Daemen, Belgien): SP-Netzwerk mit wahlweise 10, 12 oder 14 Runden; Weiterentwicklung von SAFER
• Serpent (Ross Anderson/UK, Eli Biham/Israel, Lars Knudsen/Norwegen): SP-Netzwerk mit 32 Runden
• Twofish (Bruce Schneier u.a., USA): Weiterentwicklung von Blowfish, Feistel-Algorithmus mit 16 Runden
Kryptographie und Kryptoanalyse 176
4 Symmetrische Verfahren – AES
Sieger des Wettbewerbs: Rijndael• Entscheidung Oktober 2000• Begründung:
Beste Kombination von Sicherheit, Leistungsfähigkeit, Effizienz und Implementierbarkeit sowohl in Software als auch in Hardware.
• Publikation als Standard im Herbst 2001 (FIPS Standard „Specification for the Advanced Encryption Standard“, FIPS 197)
• 2002 trat AES in Kraft• Einsatz z.B.: Verschlüsselungsstandard 802.1 für Wireless
LAN bzw. für Wi-Fi WPA2, SSH, IPSec, 7-Zip, PGP
Kryptographie und Kryptoanalyse 177
4 Symmetrische Verfahren – AES
Überblick über den Algorithmus• Verschlüsselung von Klartextblöcken der Länge 128 Bit
(vorgeschlagene Längen von 192 und 256 Bits nicht standardisiert)
• Schlüssellänge wahlweise 128, 192 oder 256 Bits• Mehrere Runden, jeweils Substitutionen, Permutationen und
Schlüsseladdition• Anzahl der Runden r hängt von Schlüssel- und Klartextlänge
ab:Schlüssel- Blocklänge des Klartextes nb
länge nk 128 Bit 192 Bit 256 Bit128 Bit 10 12 14192 Bit 12 12 14256 Bit 14 14 14
Kryptographie und Kryptoanalyse 178
Iterationsrunde r
Iterationsrunde 2
Iterationsrunde 1
4 Symmetrische Verfahren – AES
Struktur des AES
......
Teil-schlüs-
sel-generie-
rung
k1nb
k2nb
krnb
mi
ci
nb
nb
k0nb
k nk
Kryptographie und Kryptoanalyse 179
4 Symmetrische Verfahren – AES
Struktur der Iterationsrunden
Runde i, i = 1, 2, …, r-1
SubBytes
MixColumn
ShiftRow
ki
si,a
si,c
si,b
si,d
si
si+1
Runde r
SubBytes
ShiftRow
kr
sr,a
sr,c
sr,b
sr
Kryptographie und Kryptoanalyse 180
4 Symmetrische Verfahren – AES
Notation• Darstellung eines Bytes als Folge von Bits:
a = {a7a6a5a4a3a2a1a0}2, ai {0,1}
• Darstellung als Polynom:
• Darstellung als Hexadezimalzahl
7
0i
ii xaa
Kryptographie und Kryptoanalyse 181
4 Symmetrische Verfahren – AES
Darstellung der OperandenByte-Matrizen mit 4 Zeilen und Nb (Nk) Spalten mit Nb (Nk): Blocklänge nb (Schlüssellänge nk) / 32
a0,0 a0,1 a0,2 a0,3 a0,4 a0,5 a0,6 a0,7
a1,0 a1,1 a1,2 a1,3 a1,4 a1,5 a1,6 a1,7
a2,0 a2,1 a2,2 a2,3 a2,4 a2,5 a2,6 a2,7
a3,0 a3,1 a3,2 a3,3 a3,4 a3,5 a3,6 a3,7
Matrix (state) für Blocklänge
128 , 192 , 256
Bit
k0,0 k0,1 k0,2 k0,3 k0,4 k0,5 k0,6 k0,7
k1,0 k1,1 k1,2 k1,3 k1,4 k1,5 k1,6 k1,7
k2,0 k2,1 k2,2 k2,3 k2,4 k2,5 k2,6 k2,7
k3,0 k3,1 k3,2 k3,3 k3,4 k3,5 k3,6 k3,7
Schlüssel für Schlüssellänge
128 , 192 , 256
Bit
Kryptographie und Kryptoanalyse 182
4 Symmetrische Verfahren – AES
Mathematische Grundlagen• Alle Verschlüsselungsschritte basieren auf Operationen in
endlichen Strukturen• Alle Bytes als Elemente des Körpers GF(28) interpretierbar:
a7x7 + a6x6 + a5x5 + a4x4 + a3x3 + a2x2 + a1x + a0 mod m(x)mit m(x) = x8 + x4 + x3 + x + 1 (irreduzibles Polynom)
• Addition :a = {a7a6a5a4a3a2a1a0}, b = {b7b6b5b4b3b2b1b0}c = a b mit ci = ai bi
• Multiplikation :c = a b = a · b mod m(x)
Kryptographie und Kryptoanalyse 183
4 Symmetrische Verfahren – AES
• Polynome dritten Grades mit Koeffizienten aus GF(28):Polynomring GF(28)[x]/(x4+1)
a(x) = a3x3 + a2x2 + a1x + a0 mit ai GF(28)
• Addition :c(x) = a(x) b(x) =
(a3 b3)x3 + (a2 b2)x2 + (a1 b1)x + (a0 b0)
• Multiplikation :c(x) = a(x) b(x) = a(x) · b(x) mod (x4+1)
Kryptographie und Kryptoanalyse 184
4 Symmetrische Verfahren – AES
c(x) = c6x6 + c5x5 + c4x4 + c3x3 + c2x2 + c1x + c0
c0 = (a0 b0)c1 = (a1 b0) (a0 b1) c2 = (a2 b0) (a1 b1) (a0 b2) c3 = (a3 b0) (a2 b1) (a1 b2) (a0 b3) c4 = (a3 b1) (a2 b2) (a1 b3) c5 = (a3 b2) (a2 b3) c6 = (a3 b3)
mit xi mod (x4+1) = xi mod 4: d(x) = d3x3 + d2x2 + d1x + d0
d0 = (a0 b0) (a3 b1) (a2 b2) (a1 b3) d1 = (a1 b0) (a0 b1) (a3 b2) (a2 b3) d2 = (a2 b0) (a1 b1) (a0 b2) (a3 b3) d3 = (a3 b0) (a2 b1) (a1 b2) (a0 b3)
(oftmals Matrixschreibweise)
Kryptographie und Kryptoanalyse 185
4 Symmetrische Verfahren – AES
Schritt 1: SubBytes• Alle Bytes einer Matrix werden unabhängig voneinander
substituiert• Nichtlinearität
a0,0 a0,1 a0,2 a0,3
a1,0 a1,1 a1,2 a1,3
a2,0 a2,1 a2,2 a2,3
a3,0 a3,1 a3,2 a3,3
b0,0 b0,1 b0,2 b0,3
b1,0 b1,1 b1,2 b1,3
b2,0 b2,1 b2,2 b2,3
b3,0 b3,1 b3,2 b3,3
a1,1 b1,1
bi,j := S8(ai,j)
si,a = = si,b
Kryptographie und Kryptoanalyse 186
4 Symmetrische Verfahren – AES
Substitutionsbox S8(a7a6a5a4a3a2a1a0)
830AD3407526A45BC
901D4A5123BCBF9B6
A67A2E580D6BE02DA
B2BAFF1E2B3397F21
CFE9C71EB294A5010
DD7A4D827E34C3CFF
EAB7231B22F589FF3
F76C0157584CFA8D2
063CAB7040953D051
17C82FDC783D1EFA3
277C993232C00AA40
37B7D26C31AEDFB8F
4F2FA36181B204392
56B593F966EFC4D9D
66F47F7055AB13338
7C5F0CC9AA05B85F5
01234567
CDEF
E8619B41
DD351E99
7457872D
1FB9E90F
4B86CEB0
BDC15554
8B1D28BB
8A9EDF16
BA70E18C
783EF8A1
25B59889
2E66110D
1C4869BF
A603D9E6
B4F68E42
C60E9468
... ...
a7a6a5a4 a3a2a1a0
Kryptographie und Kryptoanalyse 187
4 Symmetrische Verfahren – AES
Schritt 2: ShiftRow• Zyklische Verschiebung der Zeilen nach links• Diffusion
b0,0 b0,1 b0,2 b0,3
b1,0 b1,1 b1,2 b1,3
b2,0 b2,1 b2,2 b2,3
b3,0 b3,1 b3,2 b3,3
c0,0 c0,1 c0,2 c0,3
c1,0 c1,1 c1,2 c1,3
c2,0 c2,1 c2,2 c2,3
c3,0 c3,1 c3,2 c3,3
si,b = = si,c
Zeile 0 1 2 3
Nb = 4 0 1 2 3
Nb = 6 0 1 2 3
Nb = 8 0 1 3 4
Kryptographie und Kryptoanalyse 188
4 Symmetrische Verfahren – AES
Schritt 3: MixColumn• Operiert jeweils auf Spalten der Matrix (32-Bit Substitution)• Diffusion
c0,0 c0,1 c0,2 c0,3
c1,0 c1,1 c1,2 c1,3
c2,0 c2,1 c2,2 c2,3
c3,0 c3,1 c3,2 c3,3
d0,0 d0,1 d0,2 d0,3
d1,0 d1,1 d1,2 d1,3
d2,0 d2,1 d2,2 d2,3
d3,0 d3,1 d3,2 d3,3
di := a(x) ci mod (x4+ 1)
c0,1
c1,1
c2,1
c3,1
d0,1
d1,1
d2,1
d3,1
si,c = = si,d
Kryptographie und Kryptoanalyse 189
4 Symmetrische Verfahren – AES
di := a(x) ci mod (x4+1)
a(x) = {03} x3 + {01} x2 + {01} x + {02}
d0,i = ({02}·c0,i) ({03}·c1,i) c2,i c3,id1,i = c0,i ({02}·c1,i) ({03}·c2,i) c3,id2,i = c0,i c1,i ({02}·c2,i) ({03}·c3,i)d3,i = ({03}·c0,i) c1,i c2,i ({02}·c3,i)
d0,i
d1,i
d2,i
d3,i
c0,i
c1,i
c2,i
c3,i
02 03 01 0101 02 03 0101 01 02 0303 01 01 02
=
Kryptographie und Kryptoanalyse 190
4 Symmetrische Verfahren – AES
Schritt 4: AddRoundKey• Macht Iterationsrunden schlüsselabhängig• Länge des Rundenschlüssels ki: nb
d0,0 d0,1 d0,2 d0,3
d1,0 d1,1 d1,2 d1,3
d2,0 d2,1 d2,2 d2,3
d3,0 d3,1 d3,2 d3,3
a0,0 a0,1 a0,2 a0,3
a1,0 a1,1 a1,2 a1,3
a2,0 a2,1 a2,2 a2,3
a3,0 a3,1 a3,2 a3,3
si,d si+1,a
k0,0 k0,1 k0,2 k0,3
k1,0 k1,1 k1,2 k1,3
k2,0 k2,1 k2,2 k2,3
k3,0 k3,1 k3,2 k3,3
ki
=
Kryptographie und Kryptoanalyse 191
4 Symmetrische Verfahren – AES
Teilschlüsselgenerierung• Expansion des AES-Schlüssels, abhängig von nb und nk
• nb bestimmt Länge der Rundenschlüssel• nb und nk bestimmen Anzahl der Runden Anzahl der
Rundenschlüssel
• Länge des expandierten Schlüssels in Byte = 4Nb(r+1):
Schlüssel- Blocklänge des Klartextes nb
länge nk 128 Bit 192 Bit 256 Bit128 Bit 16·11 24·13 32·15192 Bit 16·13 24·13 32·15256 Bit 16·15 24·15 32·15
Kryptographie und Kryptoanalyse 192
4 Symmetrische Verfahren – AES
Teilschlüsselgenerierung• Verschiedene Expansionsalgorithmen für Nk = 4, 6
und Nk = 8• Expandierter Schlüssel: Folge von 4-Byte Blöcken wi
w0 w1 w2 … wi … wN *(r+1)-1
• Auswahl der Rundenschlüssel:
w0 w1 w2 … wN -1 wN wN +1 …
k0 k1
b bb
b
Kryptographie und Kryptoanalyse 193
4 Symmetrische Verfahren – AES
SubWordRot
w0
k[0:3]
w1
k[4:7]w3
k[12:15]
w2
k[8:11]
w4
w7
w6
w5
Rcon[1]
SubWordRot
… … … …
Rcon[2]
Schlüsselexpansion für Nk = 4
Kryptographie und Kryptoanalyse 194
4 Symmetrische Verfahren – AES
Schlüsselexpansion – Verwendete Funktionen
• Rot: zyklische VerschiebungRot([a0, a1, a2, a3]) = [a1, a2, a3, a0]
• SubWord: byteweise Substitution unter Nutzung von S8SubWord([a0, a1, a2, a3]) = [S8(a0), S8(a1), S8(a2), S8(a3)]
• Rcon: Konstante für die betreffenden RundenRcon[j = i/Nk] = [xj-1, {00}, {00}, {00}]
Kryptographie und Kryptoanalyse 195
Entschlüsselung• Umgekehrte Reihenfolge, inverse Funktionen
• Zum Schluss Addition des Rundenschlüssels k0
4 Symmetrische Verfahren – AES
Runde r Runde i, i = r-1, r-2, …, 1
kr
siShiftRow-1
SubBytes-1
MixColumn-1
SubBytes-1
ShiftRow-1
ki
si,a
si,c
si,b
si,d
si
si+1
sr,a
sr,c
sr,b
sr
Kryptographie und Kryptoanalyse 196
4 Symmetrische Verfahren – AES
Inverse Funktionen• ShiftRow-1:
zyklische Verschiebung nach rechts
• SubBytes-1:Anwendung der inversen Substitution ai,j := S8
-1(bi,j)
• MixColumn-1:Multiplikation mit dem multiplikativen Inversen mod (x4 + 1)a-1(x) = ({03} x3 + {01} x2 + {01} x + {02})-1 mod (x4 + 1)
= {0b} x3 + {0d} x2 + {09} x + {0e}
Kryptographie und Kryptoanalyse 197
4 Symmetrische Verfahren – AES
Entschlüsselung in äquivalenter Reihenfolge• SubBytes(ShiftRow(si)) = ShiftRow(SubBytes(si))
undSubBytes-1(ShiftRow-1(si)) = ShiftRow-1(SubBytes-1(si))
• MixColumn(si ki) = MixColumn(si) MixColumn(ki) undMixColumn-1(si ki) = MixColumn-1(si) MixColumn-1(ki)
Reihenfolge der Abarbeitung wie bei Verschlüsselung ki’ = MixColumn-1(ki), i = 1, 2, …, r-1
Kryptographie und Kryptoanalyse 198
4 Symmetrische Verfahren – AES
Entschlüsselung in äquivalenter Reihenfolge• Addition des Rundenschlüssels kr
Runde i, i = r-1, r-2, …, 1
SubBytes-1
MixColumn-1
ShiftRow-1
ki‘
si,a
si,c
si,b
si,d
si+1
si
SubBytes-1
ShiftRow-1
k0
s1,a
s1,c
s1,b
s1
4 Symmetrische Verfahren – AES
Analyse des AES• Darstellung als algebraische Formel 2001 [FeSW_01]
(für nk = 128 ca. 250 Terme, für nk = 256 ca. 270 Terme)• XSL-Angriff (Extended Sparse Linearisation) [CoPi_02]
(Darstellung mit Hilfe eines quadratischen Gleichungssystems; für nk = 128: 8000 Gleichungen mit 1600 Variablen)
• Weitere Angriffe wie z.B. Collision attacks, Related-key attacks und Seitenkanalangriffe
• Übersicht über Angriffe z.B. unter: http://www.cryptosystem.net/aes/http://www.iaik.tugraz.at/content/research/krypto/aes/
Kryptographie und Kryptoanalyse 199
4 Symmetrische Verfahren – Betriebsarten
Betriebsarten Verschlüsselung längerer Nachrichten, Authentikation
Beispiele für Betriebsarten:– Verschlüsselung:
• Electronic Code Book (ECB)• Cipher Block Chaining (CBC)• Cipher Feedback (CFB)• Output Feedback (OFB)• Counter Mode (CTR)
– Authentikation:• Cipher-based MAC (CMAC)
– Authentikation und Verschlüsselung:• Counter with CBC-MAC (CCM)• Galois/Counter Mode (GCM bzw. GMAC)
Kryptographie und Kryptoanalyse 200
1981 für DES standardisiert
(FIPS 81)
Kryptographie und Kryptoanalyse 201
4 Symmetrische Verfahren – Betriebsarten
• Anwendung der Betriebsarten erlaubt die Konstruktion von synchronen oder selbstsynchronisierenden „Stromchiffren“ aus Blockchiffren (zugrunde liegendes Alphabet wird dabei teilweise gewechselt) – Synchrone Stromchiffre: Verschlüsselung eines Zeichens ist
abhängig von der Position bzw. von vorhergehenden Klartext-oder Schlüsselzeichen
– Selbstsynchronisierende Stromchiffre: Verschlüsselung ist nur von begrenzter Anzahl vorhergehender Zeichen abhängig
• ECB, CBC und CFB: selbstsynchronisierende Stromchiffre• OFB, CTR: synchrone Stromchiffre
Kryptographie und Kryptoanalyse 202
4 Symmetrische Verfahren – Betriebsarten
• Betrachtung von Fehlerauswirkungen / Manipulationen– Zeitpunkt des Fehlers / der Manipulation
• während der Übertragung (Speicherung)• während der Ver- bzw. Entschlüsselung (transient)
– Art des Fehlers / der Manipulation• Additive Fehler: Verfälschung einzelner Bits („Addition
eines Fehlermusters“); Blockgrenzen bleiben erhalten• Synchronisationsfehler: Hinzufügen bzw. Verlust von
Blöcken / Bits (letzteres ändert die Blockgrenzen)
enc
Sender Empfän-ger
dec
Kryptographie und Kryptoanalyse 203
4 Symmetrische Verfahren – Betriebsarten
Electronic Codebook (ECB)
ci = enc(k, mi), 1 < i ≤ n
k
enclmi l ci
Verschlüsselung Entschlüsselung
mi = dec(k, ci), 1 < i ≤ n
c = enc(k, m1) enc(k, m2) ... enc(k, mn) m = dec(k, c1) dec(k, c2) ... dec(k, cn)
k
decci mil l
Kryptographie und Kryptoanalyse 204
4 Symmetrische Verfahren – Betriebsarten
Electronic Codebook (ECB) – Eigenschaften• Selbstsynchronisierend (Abhängigkeit von 0 Blöcken)• Länge der verarbeiteten Einheiten: entsprechend Blockgröße
der Blockchiffre (DES: l = 64 Bit) • Keine Abhängigkeiten zwischen den Blöcken
– Direktzugriff auf einzelne Schlüsseltextblöcke möglich– gleiche Klartextblöcke liefern gleiche Schlüsseltextblöcke ggf. Kodebuchanalysen möglich
• Fehlerauswirkungen– additive Fehler: keine Fehlerfortpflanzung– Synchronisationsfehler bzgl. ganzer Blöcke: keine
Fehlerfortpflanzung gezieltes Einfügen und Entfernen von Blöcken möglich
– Synchronisationsfehler bzgl. Bits: Entschlüsselung fehlerhaft, bis Blockgrenzen erneut festgelegt (falls nicht explizit kenntlich gemacht)
Kryptographie und Kryptoanalyse 205
4 Symmetrische Verfahren – Betriebsarten
Cipher Block Chaining (CBC) – Verschlüsselung
k
lenc
l
…1 l
cimi
ci-1 IV
c1 = enc(k, (m1 IV )); IV: Initialisierungsvektorci = enc(k, (mi ci-1)), 1 < i ≤ n
c = enc(k, (m1IV)) enc(k, (m2c1)) enc(k, (m3c2)) … enc(k, (mncn-1))
Speicher für Schlüsseltextblock ci-1 bzw. IV
Kryptographie und Kryptoanalyse 206
4 Symmetrische Verfahren – Betriebsarten
Cipher Block Chaining (CBC) – Entschlüsselung
k
ldec
l
…1 l
mici
m1 = dec(k, c1) IVmi = dec(k, ci) ci-1, 1 < i ≤ n
m = dec(k, c1) IV dec(k, c2) c1 dec(k, c3) c2 … dec(k, cn ) cn-1
ci-1 IV
Speicher für Schlüsseltextblock ci-1 bzw. IV
Kryptographie und Kryptoanalyse 207
4 Symmetrische Verfahren – Betriebsarten
Cipher Block Chaining (CBC)– Eigenschaften• Selbstsynchronisierend (Abhängigkeit von 1 Block)• Länge der verarbeiteten Einheiten: entsprechend Blockgröße
der Blockchiffre (DES: l = 64 Bit) • Abhängigkeiten zwischen den Blöcken
– kein Direktzugriff auf einzelne Schlüsseltextblöcke möglich– gleiche Klartextblöcke liefern unterschiedliche
Schlüsseltextblöcke Kodebuchanalysen erschwert
• Initialisierungsvektor IV muss Sender und Empfänger bekannt sein; muss nicht geheim sein, darf aber nicht vorhersagbar sein
Kryptographie und Kryptoanalyse 208
4 Symmetrische Verfahren – Betriebsarten
• Fehlerauswirkungen– Fehler während der Übertragung
• additive Fehler: Fehlerfortpflanzung in den Folgeblock• Synchronisationsfehler bzgl. ganzer Blöcke: 2 Blöcke
betroffen• Synchronisationsfehler bzgl. Bits: Entschlüsselung fehlerhaft,
bis Blockgrenzen erneut festgelegt– Fehler während der Verschlüsselung
• ab Fehlerstelle wird ein anderer Schlüsseltext erzeugt• Entschlüsselung: nur ein Klartextblock betroffen
Verfahren eignet sich zur Authentikation: Manipulationen, Einfügen und Entfernen von Blöcken erkennbar
Kryptographie und Kryptoanalyse 209
4 Symmetrische Verfahren – Betriebsarten
k
enc
…1 l
ci
mi
ci-1 IVletzter Schlüssel-textblock cn
CBC zur Authentikation (CBC-MAC)
letzter Schlüsseltextblock wird als MAC angehängt: m1 m2 m3 … mn cn
Empfänger berechnet ebenfalls cn und vergleicht mit erhaltenem cn
IV = 0…0
Kryptographie und Kryptoanalyse 210
4 Symmetrische Verfahren – Betriebsarten
Cipher Feedback (CFB) – Verschlüsselung
kenc
mi
1l rr+1… …
r ci
Schieberegister Aai Inhalt zum Zeitpunkt ia1 = IVai = LSBl-r(ai-1)|ci-1
Ausgabeblock Bbi Ausgabe zum Zeitpunkt i
rr
ci = mi selectr (enc(k, ai))für l = 64, r = 8: ai = ci-8 ci-7 ci-6 … ci-2 ci-1
select
Kryptographie und Kryptoanalyse 211
4 Symmetrische Verfahren – Betriebsarten
Cipher Feedback (CFB) – Entschlüsselung
kenc
ci
1l rr+1… …
r mi
rr
mi = ci selectr (enc(k, ai))für l = 64, r = 8: ai = ci-8 ci-7 ci-6 … ci-2 ci-1
select
Schieberegister Aai Inhalt zum Zeitpunkt ia1 = IVai = LSBl-r(ai-1)|ci-1
Kryptographie und Kryptoanalyse 212
4 Symmetrische Verfahren – Betriebsarten
Cipher Feedback (CFB) – Eigenschaften • Selbstsynchronisierend (Abhängigkeit von Einheiten; l:
Blockgröße der Chiffre; DES: l = 64)• Länge der verarbeiteten Einheiten: r < b, frei wählbar (z.B.
8 Bit, also byteweise Verarbeitung) • Abhängigkeiten zwischen den Blöcken
– kein Direktzugriff auf einzelne Schlüsseltextblöcke möglich– gleiche Klartextblöcke liefern unterschiedliche
Schlüsseltextblöcke • Initialisierungsvektor IV muss Sender und Empfänger
bekannt sein; muss nicht geheim sein, darf aber nicht vorhersagbar sein
• Nur Verschlüsselungsfunktion verwendet – es entsteht immer eine symmetrische Chiffre
rl
Kryptographie und Kryptoanalyse 213
4 Symmetrische Verfahren – Betriebsarten
• Fehlerauswirkungen– Fehler während der Übertragung
• additive Fehler und Synchronisationsfehler bzgl. ganzer Blöcke: Fehlerfortpflanzung entsprechend der Abhängigkeiten von vorherigen Blöcken
• Synchronisationsfehler bzgl. Bits: Entschlüsselung fehlerhaft, bis Blockgrenzen erneut festgelegt; durch geeignete Wahl von r können Verschiebungen der Blockgrenzen verhindert werden
– Fehler während der Verschlüsselung entsprechend CBC
Verfahren eignet sich zur Authentikation (verschlüsselten letzten Block cn als MAC): Manipulationen, Einfügen und Entfernen von Blöcken erkennbar
Kryptographie und Kryptoanalyse 214
4 Symmetrische Verfahren – Betriebsarten
Output Feedback (OFB) – Ver-/Entschlüsselung
kenc
mi
1l…
…
ci
Eingabeblock Aai Inhalt zum Zeitpunkt ia1 = IV
l 1
ci = mi enc(k, ai) mi = ci enc(k, ai)
ci mi
Anmerkung: in FIPS 81 Länge der verarbeiteten Einheiten frei wählbar
ll
Kryptographie und Kryptoanalyse 215
4 Symmetrische Verfahren – Betriebsarten
Output Feedback (OFB) – Eigenschaften • Synchron• Abhängigkeit von Position der verarbeiteten Einheit
– kein Direktzugriff auf einzelne Schlüsseltextblöcke möglich– gleiche Klartextblöcke liefern unterschiedliche
Schlüsseltextblöcke • Initialisierungsvektor IV muss Sender und Empfänger
bekannt sein; darf bzgl. eines Schlüssels nur einmal verwendet werden
• Nur Verschlüsselungsfunktion verwendet – es entsteht immer eine symmetrische Chiffre
• Fehlerauswirkungen– additive Fehler: keine Fehlerfortpflanzung– anfällig gegen Synchronisationsfehler
Kryptographie und Kryptoanalyse 216
4 Symmetrische Verfahren – Betriebsarten
Counter Mode (CTR) – Ver-/Entschlüsselung
kenc
mi
1l…
…
ci
Ti Zähler zum Zeitpunkt iT1 Startwert des ZählersTi = inc(Ti - 1)
l 1
ci = mi enc(k, Ti) mi = ci enc(k, Ti)
ci mi
Kryptographie und Kryptoanalyse 217
4 Symmetrische Verfahren – Betriebsarten
Counter Mode (CTR) – Eigenschaften • Synchron• Abhängigkeit von Position der verarbeiteten Einheit
– gleiche Klartextblöcke liefern unterschiedliche Schlüsseltextblöcke
• Direktzugriff auf einzelne Schlüsseltextblöcke möglich• Zähler muss Sender und Empfänger bekannt sein, darf
bzgl. eines Schlüssels nur einmal verwendet werden• Nur Verschlüsselungsfunktion verwendet – es entsteht
immer eine symmetrische Chiffre• Fehlerauswirkungen
– additive Fehler: keine Fehlerfortpflanzung– anfällig gegen Synchronisationsfehler
• Vorteil: Effizienz
4 Symmetrische Verfahren – Betriebsarten
Cipher-based MAC (CMAC)• Bietet auch Sicherheit für Nachrichten beliebiger Länge• Schlüssel k1 und k2 werden mit Hilfe des geheimen Schlüssels
k ermittelt (abhängig von Blocklänge) und mit letztem Nachrichtenblock XOR-verknüpft
• Berechnung des MAC ansonsten wie mit CBC (IV = 0…0); Auswahl der Tlen MSBs (most significant bits) als MAC
Kryptographie und Kryptoanalyse 218
kenc
kenc
kenc
…
m1 m2 mn*
k1, falls mnkompletter Block /k2 sonst
ggf. aufgefüllt
*
cn[1:Tlen]
4 Symmetrische Verfahren – Betriebsarten
Counter with CBC-MAC (CCM)• Vertraulichkeit und Integrität für die Nachricht (payload P)• Integrität für zusätzliche Daten (assigned data A)• Zufallszahl (nonce N; verschieden für verschiedene Paare
(A,P))
• Generieren & Verschlüsseln:– MAC berechnen für P, A und N mittels CBC-MAC (IV = 0)– Verschlüsselung von N, P und MAC mittels CTR
• Entschlüsseln & Prüfen:– Entschlüsselung mittels CTR N, P, MAC– Berechnung des MAC für P, A und N mittels CBC-MAC und
Vergleich mit entschlüsseltem MAC
Kryptographie und Kryptoanalyse 219
4 Symmetrische Verfahren – Betriebsarten
Galois/Counter Mode (GCM bzw. GMAC)• Vertraulichkeit und Integrität für die Nachricht• Integrität für zusätzliche Daten• Initialisierungsvektor IV (darf nur einmal verwendet werden)• GMAC: zu verschlüsselnde Nachricht der Länge 0
• Verschlüsselung: – CTR mit spezieller inc-Funktion (nur ein Teil der Bits des
Zählers werden inkrementiert)– erster Wert des Zählers von IV abgeleitet
• Berechnung des MAC:– Hashfunktion GHASH: Multiplikation mit einem festen
Parameter H (hash subkey) in einem endlichen Körper– H = enc(k, 0128)
Kryptographie und Kryptoanalyse 220
Kryptographie und Kryptoanalyse 221
Überblick über die Vorlesung
1. Einführung2. Grundlagen3. Klassische Verfahren4. Symmetrische Verfahren5. Asymmetrische Verfahren
– Grundlagen– Diffie-Hellman-Schlüsselaustausch– ElGamal– RSA– Kryptosysteme auf Basis elliptischer Kurven
Kryptographie und Kryptoanalyse 222
5 Asymmetrische Verfahren – Grundlagen
Asymmetrische Verfahren• Schlüsselverteilungsproblem bei symmetrischen Systemen• Asymmetrische bzw. Public-Key-Systeme: Schlüsselpaare,
bestehend aus privatem und öffentlichem Schlüssel
Es darf praktisch nicht möglich sein, den privaten Schlüssel aus dem öffentlichen Schlüssel zu ermitteln.
Grundlage: Trapdoor-EinwegfunktionA, B Mengenf: A B heißt Einwegfunktion, wenn gilt:f: A B leicht berechenbar für alle a A, aberf -1: B A schwierig oder nicht berechenbar für fast alle b BTrapdoor-Eigenschaft:Berechnung von f -1(b) durch Kenntnis bestimmter Zusatzparameter ebenfalls leicht berechenbar.
Kryptographie und Kryptoanalyse 223
5 Asymmetrische Verfahren – Grundlagen
• n = {0,1,2, …, n-1} Restklassenring modulo n• n
*: multiplikative Gruppe, n* ú {a n | ggT(a,n) = 1}
• Eulersche Φ-Funktion– Anzahl der zu n teilerfremden Zahlen kleiner n:Φ(n) ú |{a n | ggT(a,n) = 1}|
– Ordnung der Gruppe n* (bzw. p
*) ; n* ú {a n | ggT(a,n) = 1}
(Anzahl der Elemente dieser Gruppe)
– Φ(p)= p-1 (p prim)
– n = p∏q; p, q prim, p∫q: Φ(p∏q)=(p-1)(q-1)
Kryptographie und Kryptoanalyse 224
5 Asymmetrische Verfahren – Grundlagen
• Erweiterter Euklidscher Algorithmus (EEA)– Bestimmung von ggT(a,b) und seiner
Linearkombinationsdarstellung:
EEA(a,b) ggT(a,b) = u∏ a + v∏ b
– Bestimmung des multiplikativen Inversen a-1 von a in n
*:
EEA(a,n) ggT(a,n) = u∏ a + v∏ n = 1u = a-1 mit aa-1 1 mod n
EEA: a,b N, b > a ggT(a,b), ggT(a,b) = u∏ a + v∏ b
Beispiel
Kryptographie und Kryptoanalyse 225
5 Asymmetrische Verfahren – Grundlagen
Initiali-sierung
Abbruch:rk = 0
ggT(a,b) = rk-1, u = tk-1, v = sk-1
-2 b 1 0
-1 a 0 1
… … … … …
i ri-2 mod ri-1 ri-2 div ri-1 si-2 – qi∏ si-1 ti-2 – qi∏ ti-1
… … … … …
k-1 rk-1 qk-1 v u
k 0 qk
0 b mod a b div a s-2 – q0∏ s-1 t-2 – q0∏ t-1
r q s t
Kryptographie und Kryptoanalyse 226
5 Asymmetrische Verfahren – Grundlagen
• Erzeugung von Primzahlen1. Wahl einer Zufallszahl p als Kandidat für die Primzahl2. Test, ob p prim ist3. Wiederholung von 1. und 2., bis Primzahl gefunden
• Primzahltest nach Rabin-Miller für p 3 mod 4p prim: a Zp: a 1 mod pfalls p nicht prim, gilt dies für höchstens ¼ der möglichen a
• Test für l zufällig gewählte Werte a durchführen – Ergebnis einmal 1: p nicht prim– Ergebnis bei allen l Versuchen = 1: p prim mit
Wahrscheinlichkeit 1 – 4-l
* p-12
Kryptographie und Kryptoanalyse 227
5 Asymmetrische Verfahren – Grundlagen
• Kleiner Satz von FermatFür alle x Z * gilt: x p-1 1 mod p
• Zyklische Gruppe– alle Elemente der Gruppe G lassen sich aus einem Element
g G (erzeugendes Element oder Generator) durch Potenzieren von g erzeugen: G = <g>
– Ordnung von Gruppenelementen a G: orderG a bzw. order a kleinste natürliche Zahl e mit ae = 1 (e > 0)zyklische Gruppe: order g = |G| (Ordnung von G)
– Multiplikative Gruppe Z* = {1, 2, …, p-1} (p prim) ist zyklisch:Z* = <g> = {g i mod p | i = 0, 1, …, (p)-1}
p
p
p
Kryptographie und Kryptoanalyse 228
5 Asymmetrische Verfahren – Grundlagen
Z7 = {1,2,3,4,5,6}
30 = 131 = 30 ∏ 3 = 332 = 31 ∏ 3 = 9 ª 2 mod 733 = 32 ∏ 3 = 634 = 33 ∏ 3 = 18 ª 4 mod 735 = 34 ∏ 3 = 12 ª 5 mod 7
36 = 35 ∏ 3 = 15 ª 1 mod 7…
*
*
36 ª 1 mod 7 order 3 = 6 3 ist Generator von Z7
x
y = 3x mod 7
0 1 2 3 4 5 6 7 8 9 10 11 120
1
2
3
4
5
6
Kryptographie und Kryptoanalyse 229
5 Asymmetrische Verfahren – Grundlagen
Z7 = {1,2,3,4,5,6}
20 = 121 = 20 ∏ 2 = 222 = 21 ∏ 2 = 4
23 = 22 ∏ 2 = 8 ª 1 mod 724 = 23 ∏ 2 = 225 = 24 ∏ 2 = 4
26 = 25 ∏ 2 = 8 ª 1 mod 7…
*23 ª 1 mod 7 order 2 = 3 2 ist kein Generator von Z7
*
y = 2x mod 7
x0 1 2 3 4 5 6 7 8 9 10 11 12
0
1
2
3
4
5
6
Kryptographie und Kryptoanalyse 230
5 Asymmetrische Verfahren – Grundlagen
• Finden eines Generators g einer Gruppe G– Satz von Lagrange: In endlichen Gruppen G teilt die Ordnung
jeder Untergruppe H die Ordnung von G: |H| | |G|.– Für a G mit order a = e und k Z gilt:
ak = 1 e | k
• Algorithmus zum Finden von g G– Benötigt: n = |G|, Primfaktorzerlegung – Wahl eines zufälligen Elements a G– Für i = 1, 2, … k:
b = 1: a kein Generator, Wahl eines anderen Elements aus G
kek
ee pppn ...2121
ipn
ab
Kryptographie und Kryptoanalyse 231
5 Asymmetrische Verfahren – Grundlagen
• Problem für G = Z*
– Algorithmus benötigt Primfaktorzerlegung von |G||Z*| = Φ(p) = p-1 Faktorisierung schwierig
Algorithmus für spezielle Primzahlen:sichere Primzahl: p = 2q + 1, q prim
• Algorithmus zum Finden von g Z* für sichere Primzahl p mit k Bit– Wahl einer Primzahl q mit k-1 Bit– Test, ob p = 2q + 1 prim– Suche nach Generator g mit vorherigem Algorithmus
p
p
p
Kryptographie und Kryptoanalyse 232
5 Asymmetrische Verfahren – Grundlagen
• Operationen in n– Addition, Subtraktion und Multiplikation leicht– Berechnung von y = a x mod n ebenfalls effizient möglich:
Square-and-Multiply-AlgorithmusBinärdarstellung des Exponenten: x10 = (xl-1xl-2 … x1x0)2
z = 1;for (i = l-1; i 0; i--) {
z = z2;if (xi == 1) then z = z a mod n;
}
Kryptographie und Kryptoanalyse 233
5 Asymmetrische Verfahren – Grundlagen
• Diskreter Logarithmus– Für jede Zahl y Z* gibt es einen Exponenten x mit
0 x p-2, so dass gilt:y = g x mod p.
– Der Exponent x wird diskreter Logarithmus von y zur Basis gmodulo p genannt:
x = logg y mod pBestimmen von x: Diskreter-Logarithmus-Problem
• kein Algorithmus zur effizienten Berechnung des diskreten Logarithmus bekannt
• besser als Durchprobieren: Babystep-Giantstep-Algorithmus von Shanks, aber ebenfalls nicht praktikabel für größere Gruppen (ca. ab |G| > 2160):weniger Operationen, aber mehr Speicherplatz benötigt
p
Kryptographie und Kryptoanalyse 234
5 Asymmetrische Verfahren – Grundlagen
• Beispiel: Diskreter Logarithmus für p = 229, g = 6
x
y = log6 x mod 229
50 100 150 200
50
100
150
200
Kryptographie und Kryptoanalyse 235
5 Asymmetrische Verfahren – Grundlagen
• Berechnung des diskreten Logarithmus mit dem Babystep-Giantstep-Algorithmus: x = logg y mod p
, |G|: Ordnung der Gruppe
Ansatz: x = qm + r, 0 § r < mAlgorithmus berechnet q und ry = gx y = g qm + r
(g m)q = y g -r
Babystep-Liste: B = {(i, y (g i) -1 mod p), 0 § i < m} rGiantstep-Liste: G = {(j, (g m) j mod p), 0 § j < m} q
Berechnung der Elemente von G, bis (g m) j als zweite Komponente eines Elements in B gefunden.
Kryptographie und Kryptoanalyse 236
5 Asymmetrische Verfahren – Grundlagen
• Weitere Algorithmen zur Ermittlung des diskreten Logarithmus sind z.B.:– Pollard- -Algorithmus (begrenzter Speicheraufwand)– Pohlig-Hellman-Algorithmus (falls p-1 kleine Primteiler hat)– Index-Calculus-Algorithmus (effizientester Algorithmus, für
prime Restklassengruppe modulo einer Primzahl)
• Möglichkeiten zur Berechnung des diskreten Logarithmus sind bei der Wahl der Parameter für entsprechende kryptographische Verfahren zu beachten!
Kryptographie und Kryptoanalyse 237
5 Asymmetrische Verfahren – DH-Schlüsselaustausch
Diffie-Hellman-SchlüsselaustauschÖffentlich bekannt: Primzahl p, Generator g
Teilnehmer A Teilnehmer B
wählt xA mit 0 xA p-2(xA geheim)
berechnet yA = g x mod pA
wählt xB mit 0 xB p-2(xB geheim)
berechnet yB = g x mod p
kA,B = yBx mod p kA,B = yA
x mod p
unsicherer Kanal
A
B
B
yA
yB
enc (kA,B , m)
p, g p, g
Kryptographie und Kryptoanalyse 238
5 Asymmetrische Verfahren – DH-Schlüsselaustausch
Sicherheit des Diffie-Hellman-Schlüsselaustauschs
• Diffie-Hellman-Problem:Geg.: p, g, yA = g x mod p und yB = g x mod pProblem: bestimme g x x mod p
• Angreifer beobachtet yA, yB, kann er xA = logg yA mod p oderxB = logg yB mod p
berechnen, kann er das Geheimnis kAB = g x x mod p ermitteln.
• sicher gegen passive Angriffe• aber: unsicher gegen aktive Angriffe
A B
A B
A B
Kryptographie und Kryptoanalyse 239
5 Asymmetrische Verfahren – DH-Schlüsselaustausch
Aktiver Angriff (Man-in-the-Middle-Angriff)C gibt sich gegenüber A als B und gegenüber B als A aus.
Teilnehmer A Teilnehmer B
wählt xAyA = g x mod pA
wählt xB
kA,C = yCx mod pA
yB = g x mod pB
kB,C = yCx mod pB
yC
yB
enc (kB,C , m)
Angreifer C
wählt xCyC = g x mod pC
yA
yC
enc (kA,C , m)
KanalKanal
kB,C = yBx mod pC
kA,C = yAx mod pC
p, g p, g p, g
Kryptographie und Kryptoanalyse 240
5 Asymmetrische Verfahren – DH-Schlüsselaustausch
Abhilfe: Vertrauenswürdige Instanz
Teilnehmer A Teilnehmer B
wählt xAyA = g x mod pA
wählt xB
kAB = yBx mod pA
yB = g x mod pB
kAB = yAx mod pB
Angreifer C
wählt xCyC = g x mod pC
enc (kA,B, m)
Vertrauens-würdige InstanzyA, yB, yCp, g
p, g
p, g1.
2.
3.
4.
5.
Kryptographie und Kryptoanalyse 241
5 Asymmetrische Verfahren – ElGamal-Kryptosystem
ElGamal-Kryptosystem• Taher ElGamal: A Public-Key Cryptosystem and a Signature
Scheme Based on Discrete Logarithms. CRYPTO 84, Springer-Verlag, 10–18 / IEEE Transactions on Information Theory, v. 31, n. 4, 1985, 469–472.
• Basiert auf Problem des diskreten Logarithmus• Verwendung als Konzelations- und Signatursystem• Verschiedene Varianten des ElGamal-Signatursystems
bekannt; Digital Signature Algorithm (DSA) basiert auf einer dieser Varianten, DSA als Digital Signature Standard (DSS) vom NIST 1994 publiziert (FIPS186)
Kryptographie und Kryptoanalyse 242
5 Asymmetrische Verfahren – ElGamal-Kryptosystem
ElGamal als Konzelationssystem
Schlüsselgenerierung Jeder Teilnehmer • wählt Primzahl p und Generator g Z*
• wählt zufällige Zahl kd mit 0 kd p-2• berechnet ke = g k mod p
• Öffentlicher Schlüssel: (p, g, ke)• Privater Schlüssel: kd
d
p
Kryptographie und Kryptoanalyse 243
5 Asymmetrische Verfahren – ElGamal-Kryptosystem
Verschlüsselung (B A)• Verschlüsselung von Nachrichten m Zp, d.h.,
m {0, 1, …, p-1} (ggf. Aufteilung größerer Nachrichten)• B benötigt öffentlichen Schlüssel von A: (p, g, ke)
– wählt Zufallszahl r mit 0 r p-2– berechnet c = (c1, c2) mit
c1 = g r mod pc2 = m k r mod p
– sendet c = (c1, c2) an A
Entschlüsselung• A berechnet m = c1 c2 mod p bzw. m = (c1 ) c2 mod p
e
p-1-kd-1dk
Kryptographie und Kryptoanalyse 244
5 Asymmetrische Verfahren – ElGamal-Kryptosystem
Anmerkungen• Systemweit gültige Parameter p, g möglich• Benutzung des zufälligen Parameters r ergibt
indeterministische Verschlüsselung
Sicherheit• Sicherheit basiert auf Diffie-Hellman-Problem• Wahl sicherer Parameter - Berechnung des DL schwierig:
– Länge von p– Anforderungen an p aufgrund spezieller Algorithmen
• sichere Verwendung: Nutzung verschiedener Zufallszahlen r für Verschlüsselung
verschiedener NachrichtenGewählter Schlüsseltext-Klartext-Angriff möglich Angriff
vereiteln
Kryptographie und Kryptoanalyse 245
5 Asymmetrische Verfahren – ElGamal-Kryptosystem
Verwendung verschiedener Zufallszahlen• Verschlüsselung zweier verschiedener Nachrichten m1, m2 mit
derselben Zufallszahl r ist eine der Nachrichten bekannt, kann die zweite berechnet werden:
m1: c1 = (c1,1, c1,2)m2: c2 = (c2,1, c2,2)
c1,2 c2,2: c1,2 = m1 k r mod pc2,2 = m2 k r mod p
m1 bekannt: c1,2 c2,2 = m1 m2 mod pm2 = m1 c1,2 c2,2 mod p
e
c1,1 = c2,1 = g r mod p
e
-1 -1
-1
Kryptographie und Kryptoanalyse 246
5 Asymmetrische Verfahren – ElGamal-Kryptosystem
Gewählter Schlüsseltext-Klartext-Angriff• Ziel: Ermittlung von m aus beobachtetem c = (c1, c2)
• Angreifer– sendet c‘ = (c1, c2 ) an Empfänger (c2 beliebig)
• Empfänger – entschlüsselt: m‘ = c1 c2 mod p
• Angreifer – berechnet: c1 = c2 (m’)-1 mod p– entschlüsselt: m = c1 c2 mod p
‘
-kd
kd
‘
‘
‘-kd
Kryptographie und Kryptoanalyse 247
5 Asymmetrische Verfahren – ElGamal-Kryptosystem
Vereitelung des gewählten Schlüsseltext-Klartext-Angriffs• Einfügen von Redundanz vor der Verschlüsselung, z.B.
mittels einer Hashfunktion h():
m* = m, h(m)c1 = g r mod pc2 = m* k r mod p
• Überprüfung der Redundanz beim Empfänger:
Entschlüsselung liefert m* = m, xNachricht wird nur ausgegeben, wenn x = h(m)
• Anmerkung: Verwendung unterschiedlicher Zufallszahlen ( unterschiedliche c1) reicht nicht: c1 kann unkenntlich gemacht werden
e
Kryptographie und Kryptoanalyse 248
5 Asymmetrische Verfahren – ElGamal-Kryptosystem
ElGamal als Signatursystem
SchlüsselgenerierungWie beim Konzelationssystem – jeder Teilnehmer• wählt Primzahl p und Generator g Z*
• wählt zufällige Zahl ks mit 0 ks p-2 • berechnet kt = g k mod p
• Öffentlicher Schlüssel: (p, g, kt)• Privater Schlüssel: ks
s
p
Kryptographie und Kryptoanalyse 249
Signieren• Signieren von Nachrichten m Zp, d.h.,
m {0, 1, …, p-1} (ggf. Aufteilung größerer Nachrichten oder Anwendung einer Hashfunktion h(m) mit h(m) < p)
• A führt die folgenden Schritte aus:– wählt Zufallszahl r Z*
– berechnet r -1 mit r r -1 1 mod (p-1)– berechnet s = (s1, s2) mit
s1 = gr mod ps2 = r -1 (h(m) - ks s1) mod (p-1)
– sendet m, (s1, s2)
5 Asymmetrische Verfahren – ElGamal-Kryptosystem
p-1
Kryptographie und Kryptoanalyse 250
5 Asymmetrische Verfahren – ElGamal-Kryptosystem
Test der Signatur• Teilnehmer benötigt öffentlichen Schlüssel von A: (p, g, kt)
– testet, ob 1 s1 p-1– berechnet v1 = kt s1 mod p– berechnet h(m) und v2 = g h(m) mod p– akzeptiert Signatur, wenn v1 ª v2
Sicherheit• Sicherheit basiert auf Diffie-Hellman-Problem• Wahl sicherer Parameter: p (Berechnen DL schwierig)• sichere Verwendung:
Nutzung verschiedener Zufallszahlen r zum Signieren verschiedener Nachrichten
Verwendung einer Hashfunktion (sonst existentielles Brechen)
s2s1
Kryptographie und Kryptoanalyse 251
5 Asymmetrische Verfahren – ElGamal-Kryptosystem
Verwendung verschiedener Zufallszahlen• Signatur für zwei verschiedene Nachrichten m1, m2 mit
derselben Zufallszahl r berechnen Ermittlung des geheimen Signaturschlüssels ks:
m1: s1 = (s1,1, s1,2)m2: s2 = (s2,1, s2,2)
s1,2 s2,2: s1,2 = r -1 (h(m1) - ks s1,1) mod (p-1)s2,2 = r -1 (h(m2) - ks s2,1) mod (p-1)
s1,2 - s2,2 = r -1 (h(m1) - h(m2)) mod (p-1)
falls s1,2 - s2,2 0 mod (p-1) und ggT(s1,2 - s2,2, p-1) = 1:r = (s1,2 - s2,2)-1 (h(m1) - h(m2)) mod (p-1)
ks = s1,1 (h(m1) – s1,2 r) mod (p-1)
s1,1 = s2,1 = g r mod p
-1
Kryptographie und Kryptoanalyse 252
5 Asymmetrische Verfahren – ElGamal-Kryptosystem
Existentielles Brechen• nachrichtenbezogenes Brechen für irgendeine Nachricht m• Verifikationskongruenz (ohne Hashfunktion):
kt s1 g mod p
• Ersetzen: mit u, v Z, ggT(v, p-1) = 1
• Exponenten = 0 ermöglicht das Bestimmen von s2 und m:
linke Seite:rechte Seite:
s2s1
m - u s2s1 + v s2 kt g mod p
vs1 = gu kt mod p
s2 = - s1 v -1 mod (p-1)m = s2 u mod (p-1)
m
Kryptographie und Kryptoanalyse 253
5 Asymmetrische Verfahren – ElGamal-Kryptosystem
• Durchführung: – Wahl von u, v Z mit ggT(v, p-1) = 1– Berechnen von s1, s2 und m
• Damit gilt:kt s1
(s1, s2) ist gültige Signatur für m = s2 u mod (p-1)
Verwendung einer Hashfunktion: nur Signaturen für h(m) berechenbar
s2s1 s2us1 -s1kt g kt gm mod p
Kryptographie und Kryptoanalyse 254
5 Asymmetrische Verfahren – ElGamal-Kryptosystem
Varianten des ElGamal-Verfahrens• Effizientere Verfahren (kürzere Signaturen):
– Signatursystem nach Schnorr (1989)– Digital Signature Algorithm (DSA)
• 1991 vom NIST vorgeschlagen • 1994 zum Standard erklärt (DSS, FIPS 186)
• Sicherheit gegen adaptive Angriffe:– Cramer, Shoup (1998) Konzelationssystem
(adaptive chosen-plaintext attack)– Pointcheval, Stern (1998) Signatursystem
(adaptive chosen-ciphertext attack)
• Verallgemeinerung des Verfahrens– Realisierung in beliebigen zyklischen Gruppen möglich
(Bedingung: DH-Problem schwer), z.B. Punktgruppe einer elliptischen Kurve über einem endlichen Körper
Kryptographie und Kryptoanalyse 255
5 Asymmetrische Verfahren – ElGamal / DSA
Digital Signature Algorithm (DSA)
• Öffentliche Parameter– Primzahl q mit 2159 < q < 2160
– Primzahl p mit q|(p-1), 2L-1 < p < 2L, 512 § L § 1024 und L = t ÿ64– Element g Z* mit order g = q
• Jeder Teilnehmer– wählt zufällig ks mit 0 < ks < q– berechnet kt = gk mod p
p
s
Kryptographie und Kryptoanalyse 256
Signieren• A führt die folgenden Schritte aus:
– wählt Zufallszahl r Z*
– berechnet r -1 mit r r -1 1 mod q– berechnet s = (s1, s2) mit
s1 = (g r mod p) mod qs2 = r -1 (h(m) + ks s1) mod q
– sendet m, (s1, s2)
5 Asymmetrische Verfahren – ElGamal / DSA
q
Kryptographie und Kryptoanalyse 257
5 Asymmetrische Verfahren – ElGamal / DSA
Test der Signatur• Teilnehmer benötigt öffentlichen Schlüssel von A: (p, q, g, kt)
– testet, ob 1 s1 q-1 und 1 s2 q-1– berechnet v1 = h(m) s2
-1 mod qv2 = s1 s2
-1 mod q– akzeptiert Signatur, wenn (g kt mod p) mod q ª s1
• Berechnungen in einer Untergruppe von Z* der Ordnung qdurchgeführt kürzere Signaturen
v2v1
p
Kryptographie und Kryptoanalyse 258
5 Asymmetrische Verfahren – RSA-Kryptosystem
RSA-Kryptosystem• Ronald L. Rivest, Adi Shamir, Leonhard M. Adleman: A
Method for Obtaining Digital Signatures and Public-Key Cryptosystems. Communications of the ACM, vol. 21, no. 2, 1978, 120-126.
• Basiert auf der Faktorisierungsannahme (bislang jedoch kein Beweis)
• Verwendung als Konzelations- und Signatursystem
Kryptographie und Kryptoanalyse 259
5 Asymmetrische Verfahren – RSA-Kryptosystem
Mathematische Grundlagen• Berechnung von n = pq leicht, aber Faktorisierung von n
schwer• Faktorisierungsalgorithmen
– Spezielle Algorithmen: Anforderungen an die Faktoren von n– Allgemeine Algorithmen: hängen nur von der Größe von n ab
• Beispiele für spezielle Algorithmen:– Faktorisierung nach Fermat (1643)
n ungerade, p, q
• Zerlegung n = x2 – y2 = (x+y)(x–y)• Start mit • Berechnung von x2 – n, (x+1)2 – n, (x+2)2 – n, …
bis Ergebnis eine Quadratzahl ist (y2 = x2 – n)• Faktoren von n: p = x + y, q = x - y
n
nx
Kryptographie und Kryptoanalyse 260
5 Asymmetrische Verfahren – RSA-Kryptosystem
– Pollard (p-1)-Methode (1974) n hat Primfaktor p, für den p-1 nur kleine Primfaktoren hat
(„glatt“ bzgl. einer Schranke B)• Ermitteln eines Vielfachen k von p-1 ohne Kenntnis von p• Es gilt:
ak 1 mod p (k = l (p - 1), ggT(a, p) = 1)
p| ak – 1n F ak – 1 d = ggT(ak – 1, n) echter Teiler von n
(1 < d < n)
• Kandidaten für k: Produkte aller Primzahlpotenzen B
Kryptographie und Kryptoanalyse 261
5 Asymmetrische Verfahren – RSA-Kryptosystem
• Beispiele für allgemeine Algorithmen:– Quadratisches Sieb (Pomerance, 1981)– Zahlkörpersieb (Anfang der 1990er Jahre)
– Grundlage beider Verfahren:• Bestimme x, y Z, so dass gilt:
x2 y2 mod n xT ±y mod n
• Dann gilt:
n | x2 – y2 = (x – y) (x + y) n F (x – y) n F (x + y) ggT(x – y, n) und ggT(x + y, n) sind Teiler von n
– Quadratisches Sieb für Faktorisierung von Zahlen bis ca. 110 Dezimalstellen schnellster Algorithmus
• Weiteres zur Faktorisierung: http://www.rsa.com/rsalabs/(RSA Factoring Challenge, bis 2007 aktualisiert)
Kryptographie und Kryptoanalyse 262
5 Asymmetrische Verfahren – RSA-Kryptosystem
• Spezialfall des Chinesischen Restsatzes: für n = p·q gilt
a b mod n a b mod p a b mod qd.h.: n|(a-b) p|(a-b) q|(a-b)
• Effiziente Berechnung von f(x) mod n mit Hilfe der Kenntnis von p, q möglich (yp = f(x) mod p, yq = f(x) mod q):
y f(x) mod n y yp mod p y yq mod q
Chinesischer Restealgorithmus (CRA):1. bestimme u, v mit u·p + v·q = 1 (mittels EEA)2. y = CRA(yp, yq) = u·p·yq + v·q·yp mod n
Kryptographie und Kryptoanalyse 263
5 Asymmetrische Verfahren – RSA-Kryptosystem
Schlüsselgenerierung (Konzelationssystem)Jeder Teilnehmer • wählt zufällig und unabhängig 2 verschiedene Primzahlen p, q
ungefähr gleicher Länge• berechnet n = pq• wählt zufällige Zahl ke mit 1 < ke < (n), ggT(ke, (n)) = 1• berechnet kd = ke mod (n)
• Öffentlicher Schlüssel: (n, ke)• Geheimer Schlüssel: (p, q, kd)
• Signatursystem: ks statt kd und kt statt ke
-1
Kryptographie und Kryptoanalyse 264
5 Asymmetrische Verfahren – RSA-Kryptosystem
RSA als Konzelationssystem (unsichere Variante)
Teilnehmer A Teilnehmer B
öffentlich: n, ke
privat: p, q, kd
Verschlüsselung
unsicherer Kanal
c
Schlüsselgenerierung
bekannt: n, ke
c = mk mod n (m < n)e
Entschlüsselungm = ck mod nd
Nachzuweisen: nmmmm dede kkkkn mod:Ζ
Kryptographie und Kryptoanalyse 265
5 Asymmetrische Verfahren – RSA-Kryptosystem
RSA als Signatursystem (unsichere Variante)
Teilnehmer A Teilnehmer B
öffentlich: n, kt
privat: p, q, ks
Testen
unsicherer Kanal
m, s
Schlüsselgenerierung
bekannt: n, kt
m = sk mod n?t
Signierens = mk mod n (m < n)s
Kryptographie und Kryptoanalyse 266
Effiziente Berechnung der Entschlüsselung• mit Hilfe der Kenntnis von p und q• Statt Berechnung von f(x) mod n:
Berechnung von yp mod p und yq mod q und CRA(yp, yq)
• Einmal zu berechnen:kd,p = ke mod (p-1) (c ) c mod pkd,q = ke mod (q-1) (c ) c mod q
• Entschlüsselung eines Schlüsseltextes c:yp = c mod pyq = c mod q
ke
5 Asymmetrische Verfahren – RSA-Kryptosystem
kd,p
kd,q
kd,p
kd,q m = CRA(yp, yq)
-1
-1 ke
Kryptographie und Kryptoanalyse 267
5 Asymmetrische Verfahren – RSA-Kryptosystem
Sicherheit• Parameterwahl
– Stand der Faktorisierung• Länge der verwendeten Primzahlen• Anforderungen an die Primzahlen aufgrund spezieller
Algorithmen Angriff auf RSA als Konzelationssystem bei zu kleinem
öffentlichen Schlüssel• sichere Verwendung
Verwendung unterschiedlicher Module für unterschiedliche Nutzer (z.B. Verhinderung der „Common Modulus Attack“)
Verhinderung passiver Angriffe durch indeterministischeVerschlüsselung
Verhinderung aktiver Angriffe durch Hinzufügen von Redundanz
Kryptographie und Kryptoanalyse 268
5 Asymmetrische Verfahren – RSA-Kryptosystem
Wahl des öffentlichen Schlüssels (1)• Bedingung: ggT(ke, (n)) = 1, aber frei wählbar• Aus Effizienzgründen möglichst kurz, möglichst nur Nullen
Möglicher Angriff auf RSA als Konzelationssystem für ke = 3:• Ein Teilnehmer verschlüsselt Nachricht m für drei Teilnehmer
mit ke = 3 und n1 n2 n3
• Angreifer beobachtet:c1 = mk mod n1 = m3 mod n1
c2 = mk mod n2 = m3 mod n2
c3 = mk mod n3 = m3 mod n3
e
e
e
Kryptographie und Kryptoanalyse 269
5 Asymmetrische Verfahren – RSA-Kryptosystem
Wahl des öffentlichen Schlüssels (2)• m3 mod (n1n2n3) = CRA(c1, c2, c3)• m3 < n1n2n3 m3 mod (n1n2n3) = m3
• Ermittlung von m: Ziehen der dritten Wurzel
• Allgemein: Angreifer müsste ke Verschlüsselungen derselben Nachricht beobachten
• Oftmals vorgeschlagen:Signatursystem: kt = 3Konzelationssystem: ke = 216+1
Kryptographie und Kryptoanalyse 270
5 Asymmetrische Verfahren – RSA-Kryptosystem
Passive Angriffe• RSA arbeitet deterministisch • Konzelationssystem
– Angreifer: probeweise Verschlüsselung von Klartextblöcken und Vergleich mit beobachteten Schlüsseltextblöcken
– Abhilfe: Hinzunahme einer Zufallszahl r indeterministische Verschlüsselung der Nachrichten („Randomisierung“, „Padding“)
c = (r, m) k mod n
– PKCS #1 v 1.5 (verwendet in SSL v 3.0): 1998 von Bleichenbacher gebrochen (gewählter Schlüsseltext-Klartext-Angriff)
– PKCS #1 v 2.1 basierend auf OAEP (Optimal Asymmetric Encryption Padding, Bellare und Rogaway 1995)
e
Kryptographie und Kryptoanalyse 271
5 Asymmetrische Verfahren – RSA-Kryptosystem
• Signatursystem– Angreifer: Wahl einer Signatur, Berechnung der zugehörigen
Nachricht mit m = sk mod n– Existentielles Brechen damit möglich– Forderung: sinnvolle Texte dürfen sich nur mit sehr geringer
Wahrscheinlichkeit ergeben– Angriff wird zusätzlich erschwert durch Verwendung einer
Hashfunktion (zur Verhinderung aktiver Angriffe)
t
Kryptographie und Kryptoanalyse 272
5 Asymmetrische Verfahren – RSA-Kryptosystem
Aktive Angriffe (am Beispiel des Signatursystems)• Grundlage: RSA ist Homomorphismus bzgl. Multiplikation• Angreifer
– beobachtet Signaturen s1, s2 für Nachrichten m1, m2
– berechnet Signatur s3 = s1 s2 mod n fürNachricht m3 = m1 m2 mod n (m3 jedoch nicht frei wählbar)
Aktiver Angriff von Davida (selektiv)• Ziel: Signatur für gewählte Nachricht m3
• Angreifer– wählt m1 und berechnet m1 mod n– berechnet m2 = m3 m1 mod n– lässt m1 und m2 signieren erhält s1, s2
– berechnet s3 = s1 s2 mod n
-1
-1
Kryptographie und Kryptoanalyse 273
5 Asymmetrische Verfahren – RSA-Kryptosystem
Verbesserter aktiver Angriff von Moore (selektiv)• Ziel: Signatur für gewählte Nachricht m2
• Angreifer – wählt r Zn, berechnet r -1 mod n– berechnet m1 = m2 r k mod n– lässt m1 signieren erhält s1
– berechnet s2 = s1 r -1 mod n
• Anwendung der Angriffe auf RSA als Konzelationssystem möglich
*
t
Kryptographie und Kryptoanalyse 274
5 Asymmetrische Verfahren – RSA-Kryptosystem
Anmerkung: Blinde Signaturen mit RSA• Ausnutzen des Angriffs von Moore• Empfänger der Signatur möchte Text unterschreiben lassen,
ohne dass der Signierer den Text erfährt• Anwendung z.B. für digitale Zahlungssysteme
• Ziel: blinde Signatur für Nachricht m2
• Teilnehmer– wählt r Zn, berechnet r-1 mod n– „blendet“ m2 durch Multiplikation mit r k : m1 = m2 r k mod n– lässt m1 signieren erhält s1
– berechnet s2 = s1 r-1 mod n
tt
*
Kryptographie und Kryptoanalyse 275
5 Asymmetrische Verfahren – RSA-Kryptosystem
Verhinderung der skizzierten Angriffe Konzelationssystem:• Hinzunahme einer Zufallszahl r• Hinzufügen von Redundanz, die nach der Entschlüsselung
geprüft wird: Anwendung einer kollisionsresistenten Hashfunktion h() auf Nachricht und Zufallszahl:
c = (r, m, h(r, m))k
Signatursystem:• Anwendung einer kollisionsresistenten Hashfunktion h() auf
die Nachricht:s = (h(m))k
c
s
Kryptographie und Kryptoanalyse 276
5 Asymmetrische Verfahren – Rabin-Kryptosystem
Rabin-Kryptosystem• Michael O. Rabin: Digitalized Signatures and Public-Key
Functions as Intractable as Factorization. MIT/LCS/TR-212, MIT Laboratory for Computer Science, January 1979.
• Beweisbar sicher gegen reine Schlüsseltextangriffe, aber der Beweis liefert auch einen gewählten Schlüsseltext-Angriff
• Sichere Verwendung möglich, Verschlüsselung effizienter als bei RSA
• Verwendung als Konzelations- und Signatursystem
Kryptographie und Kryptoanalyse 277
5 Asymmetrische Verfahren – Rabin-Kryptosystem
Mathematische GrundlagenQuadratische Reste modulo p (QRp):
QRp = {x p | y p: y2 x mod p}x: quadratischer Rest, y: Wurzel aus x
-y: ebenfalls Wurzel aus x • Elemente x p , für die diese Kongruenz nicht lösbar ist,
heißen quadratische Nichtreste modulo p
• Für Primzahlen 2 gibt es genau quadratische Reste:
* *
*
∗ 1 2 …1
21
2 … -2 -1
1 4 … 12
12
… 4 1
Kryptographie und Kryptoanalyse 278
5 Asymmetrische Verfahren – Rabin-Kryptosystem
• Entscheidung, ob eine Zahl ein quadratischer Rest ist, liefert das Euler-Kriterium:
∈ QR , falls ≡ 1mod
(effizient berechenbar m.H. der Square-and-Multiply-Methode)
• Wurzelziehen für p 3 mod 4:
(für p 1 mod 4 gibt es keine Lösungsformel, aber einen effizienten Algorithmus)
pzyp
mod41
Kryptographie und Kryptoanalyse 279
5 Asymmetrische Verfahren – Rabin-Kryptosystem
Quadratische Reste modulo · , (QRn)
• Laut Chinesischem Restsatz gilt: y2 x mod n y2 x mod p y2 x mod q
• Lösbarkeit der quadratischen Kongruenzen modulo p und modulo q mittels Euler-Kriterium überprüfen
• Wurzeln modulo p ( ) und modulo q ( ) bestimmen
• CRA( , ) liefert die vier Wurzeln modulo n:
CRA , mit ≡ mod und ≡ modCRA , mit ≡ mod und ≡ modCRA , mit ≡ mod und ≡ modCRA , mit ≡ mod und ≡ mod
Kryptographie und Kryptoanalyse 280
5 Asymmetrische Verfahren – Rabin-Kryptosystem
SchlüsselgenerierungJeder Teilnehmer • wählt zufällig und unabhängig 2 verschiedene Primzahlen p, q
mit ≡ ≡ 3mod4 (vereinfacht die Entschlüsselung)• berechnet n = pq• Öffentlicher Schlüssel: n• Geheimer Schlüssel: p, q
Verschlüsselung• 0, 1, … , : mod
Entschlüsselung• Empfänger bestimmt die vier Quadratwurzeln aus c• Nachteil: unklar, welche Wurzel die Nachricht ist
Kryptographie und Kryptoanalyse 281
5 Asymmetrische Verfahren – Rabin-Kryptosystem
Sicherheit• Leicht zu zeigen: Wer faktorisieren kann, kann das Rabin-
Kryptosystem brechen.• Zu zeigen: Wer das Rabin-Kryptosystem brechen kann, kann
faktorisieren.
Annahme: Es gibt einen Algorithmus R, der das Rabin-Kryptosystem bricht R liefert zu jedem c eine Quadratwurzel m R c .
Angreifer: • wählt ∈ • berechnet mod und m‘ R c• ≡ : neues m wählen, Angriff wiederholen• ≢ : fallsggT , 1,liefert der ggT p oder q
nach einem Durchlauf n mit Wahrscheinlichkeit ½ faktorisiert beweisbar sicher gegen diesen Angriff
Kryptographie und Kryptoanalyse 282
5 Asymmetrische Verfahren – Rabin-Kryptosystem
Begründung für Möglichkeit der Faktorisierung• tatsächliche Nachricht m ist eine der vier Wurzeln CRA( , )
• berechnetesm‘ R c erfüllt eine der folgenden Bedingungen:(1) ≡ mod ∧ ≡ mod(2) ≡ mod ∧ ≡ mod(3) ≡ mod ∧ ≡ mod(4) ≡ mod ∧ ≡ mod
• damit gilt:
(1) | ∧ ⇔ ⇒ ggT ,(2) | ∧ | ⇒ ggT , p(3) | ∧ | ⇒ ggT , q(4) | ∧ | ⇒ ggT , 1
Kryptographie und Kryptoanalyse 283
5 Asymmetrische Verfahren – Rabin-Kryptosystem
Genügt diese beweisbare Sicherheit?• Betrachtet wurde nur ein passiver Angriff• Aus dem Beweis lässt sich jedoch der folgende gewählte
Schlüsseltext-Angriff herleiten:
Angreifer: • wählt ∈ • berechnet mod• lässt sich entschlüsseln Kann mit Wahrscheinlichkeit ½ faktorisieren!
Einführen von Redundanz (SAEP) verhindert diesen aktiven Angriff und erlaubt die Bestimmung der tatsächlichen Nachricht unter den 4 Wurzeln
Kryptographie und Kryptoanalyse 284
5 Asymmetrische Verfahren – Rabin-Kryptosystem
Sichere Verwendung des Rabin-Kryptosystems• Dan Boneh: Simplified OAEP for the RSA and Rabin Functions.
CRYPTO 2001, Springer, LNCS 2139, pp. 275-291, 2001.
• SAEP: Rabin, SAEP+: Rabin, RSA
• Verfahren beschreiben das Hinzufügen von Redundanz vor der Verschlüsselung (Padding)
• H, G: Hashfunktionen
• Effizienz: Padding im Vergleich zu den kryptographischen Operationen vernachlässigbar
Abbildung aus [Bone_01]
Kryptographie und Kryptoanalyse 285
5 Asymmetrische Verfahren – ECC
Kryptosysteme auf Basis elliptischer Kurven• Elliptic Curve Cryptography (ECC) • V. Miller: Use of Elliptic Curves in Cryptography. Crypto ‘85,
Springer, LNCS 218, 417-426, 1985.• N. Koblitz: Elliptic Curve Cryptosystems. Mathematics of
Computation, 48, 203-209, 1987.
• Grundlage: Auf elliptischen Kurven können (additive) abelsche Gruppendefiniert werden, in denen das diskrete Logarithmus Problem (elliptic curve discrete logarithm problem, ECDLP) sehr schwer zu lösen ist (vermutlich schwerer als in multiplikativen Gruppen von Körpern gleicher Größe).
Kryptographie und Kryptoanalyse 286
5 Asymmetrische Verfahren – ECC
Elliptische Kurven über • Eine elliptische Kurve über den reellen Zahlen ist die Menge
aller Punkte x , die eine kubische Gleichung der Form
y2 = x3 + ax + b
mit a, b erfüllen sowie der „Punkt im Unendlichen“ O.
• Bedeutung für Kryptographie: nicht-singuläre elliptische Kurven
Nullstellen des Polynoms dürfen nicht zusammenfallen
Bedingung: Diskriminante 0, d.h.: 4a3 + 27b2 0
Kryptographie und Kryptoanalyse 287
5 Asymmetrische Verfahren – ECC
Beispiele für elliptische Kurven über den reellen Zahlen (1)
4 (-7)3 + 27 12 = -1345Diskriminante:
4 (-8)3 + 27 102 = 652
y2 = x3 - 7x + 1 y2 = x3 - 8x + 10
Kryptographie und Kryptoanalyse 288
5 Asymmetrische Verfahren – ECC
Beispiele für elliptische Kurven über den reellen Zahlen (2)
4 (-3)3 + 27 22 = 0Diskriminante:
4 (0)3 + 27 02 = 0
y2 = x3 - 3x + 2 y2 = x3
Kryptographie und Kryptoanalyse 289
5 Asymmetrische Verfahren – ECC
Definition einer (additiven) abelschen Gruppe• Menge der Punkte, welche die Gleichung erfüllen sowie
„Punkt im Unendlichen“ O als neutrales Element• Operation „+“ auf dieser Menge: Addition von Punkten
E sei eine elliptische Kurve; Punkte P, Q, R E
Folgende Axiome gelten:Abgeschlossenheit: P + Q = RAssoziativität: (P + Q) + R = P + (Q + R)Neutrales Element: P + O = O + P = PInverses Element : P + (-P) = OKommutativität: P + R = R + P
Kryptographie und Kryptoanalyse 290
Punktaddition R = P + Q mit Q -P
• Gerade durch P und Q legen• Schnittpunkt der Geraden mit der Kurve ergibt R‘• Spiegelung von R‘ an der x-Achse ergibt R = P + Q
5 Asymmetrische Verfahren – ECC
y2 = x3 - 7x + 0,5
P
Q
R‘
R = P + Q
Kryptographie und Kryptoanalyse 291
5 Asymmetrische Verfahren – ECC
Punktaddition R = P + Q mit Q = -P
• Gerade durch P und –P: Parallele zur y-Achse• Kein weiterer Schnittpunkt mit der Kurve• Als Schnittpunkt definiert: O
P
-P
y2 = x3 - 7x + 0,5
R = P + -P = O
Kryptographie und Kryptoanalyse 292
Punktaddition R = P + P = 2P mit yP ∫ 0
• Tangente im Punkt P• Schnittpunkt der Tangente mit der Kurve ergibt R‘• Spiegelung von R‘ an der x-Achse ergibt R = 2P
5 Asymmetrische Verfahren – ECC
y2 = x3 - 8x + 10
P R‘
R = 2P
Kryptographie und Kryptoanalyse 293
Punktaddition R = P + P = 2P mit yP = 0
• Tangente im Punkt P: Parallele zur y-Achse• Kein Schnittpunkt der Tangente mit der Kurve• Sonderfall von R = P + -P: R = 2P = P + -P = O
5 Asymmetrische Verfahren – ECC
y2 = x3 - 8x + 10
P
R = 2 P = P + - P = O
Kryptographie und Kryptoanalyse 294
5 Asymmetrische Verfahren – ECC
Berechnung der Koordinaten des Punktes R = (xR, yR)P + Q = R mit P = (xP, yP), Q = (xQ, yQ); P Q• Anstieg s der Geraden durch P und Q:
s = (yQ – yP)/(xQ – xP) xR = s2 – xP – xQ
yR = - yP + s(xP – xR)
P + P = 2P = R mit P = (xP, yP), yP 0• Anstieg s der Tangente am Punkt P :
s = (3xP + a)/(2yP) xR = s2 – 2xP
yR = - yP + s(xP – xR)
2
Kryptographie und Kryptoanalyse 295
5 Asymmetrische Verfahren – ECC
Elliptische Kurven über endlichen Körpern• Für Kryptographie relevant• Möglichkeiten: GF(p) oder GF(2m)
E(p; a, b): y2 = x3 + ax + b mod p; a, b p, p > 3
• Menge aller Punkte, die diese Gleichung erfüllen, sowie O• Rechenoperationen äquivalent (nun jedoch mod p) additive abelsche Gruppe
• Bedingung wiederum: Nullstellen dürfen nicht zusammenfallen (4a3 + 27b2 mod p 0)
Kryptographie und Kryptoanalyse 296
5 Asymmetrische Verfahren – ECC
Punkte der elliptischen Kurve E(p; a, b)• Quadratische Reste QR:
QRp = {x p | y p: y2 x mod p}x: quadratischer Rest, y: Wurzel aus x
-y: ebenfalls Wurzel aus x
• Ermitteln der Punkte von E(p; a, b):Berechnung von z = x3 + ax + b mod p für x p
z = 0: (x,0) ist ein Punkt von E(p; a, b)z 0: Prüfen, ob es sich um einen quadratischen Rest handelt
z QRp z = y2 Wurzelziehen(x,y) und (x, -y) sind Punkte von E(p; a, b)
z – QRp keine Punkte von E(p; a, b) gefunden
* *
Kryptographie und Kryptoanalyse 297
5 Asymmetrische Verfahren – ECC
Beispiel: y2 = x3 + x + 6 mod 11Diskriminante: 4 �13 + 27 �62 8 mod 11 0
0 6 ‐1
1 8 ‐1
2 5 1 4,7
3 3 1 5,6
4 8 ‐1
5 4 1 2,9
6 8 ‐1
7 4 1 2,9
8 9 1 3,8
9 7 ‐1
10 4 1 2,9
z x3 x 6mod11x Punkte dieser elliptischen Kurve:
{(2,4),(2,7),(3,5),(3,6),(5,2), (5,9),(7,2),(7,9),(8,3),(8,8), (10,2),(10,9),O}
mod mod
Kryptographie und Kryptoanalyse 298
5 Asymmetrische Verfahren – ECC
Beispiel: y2 = x3 + x + 6 mod 11• Punkte dieser elliptischen Kurve:
{(2,4), (2,7), (3,5), (3,6), (5,2), (5,9), (7,2), (7,9), (8,3), (8,8), (10,2), (10,9), O}
x
y
Kryptographie und Kryptoanalyse 299
5 Asymmetrische Verfahren – ECC
Operationen auf elliptischen Kurven E(p; a, b)• Punktaddition, Punktverdopplung; nun mod p• Berechnung des Vielfachen eines Punktes R = cP:
Double-and-(Add or Subtract)-Algorithmus
Darstellung des Faktors: , ci {-1, 0, 1}R = O;for (i = l-1; i 0; i--) {
R = 2R;if (ci == 1) then R = R + P mod p;
else if (ci == -1) then R = R - P mod p;}
1
02
l
i
iicc
Kryptographie und Kryptoanalyse 300
5 Asymmetrische Verfahren – ECC
• Effizienzverbesserung durch Darstellung des Exponenten in nichtadjazenter Form (NAF) es gibt keine zwei aufeinanderfolgenden Stellen 0
• Überführen einer Binärdarstellung in NAF:von rechts beginnend ersetzen
(0, 1, 1, …, 1, 1)
(1, 0, 0, …, 0, -1)
• Darstellung in NAF enthält weniger Einsen weniger Additionen erforderlich
Kryptographie und Kryptoanalyse 301
5 Asymmetrische Verfahren – ECC
Problem des diskreten Logarithmus auf elliptischen Kurven• Durch einen Punkt P mit Ordnung n erzeugte additive
zyklische Untergruppe von E(p; a, b): P = {O, P, 2P, 3P, …, (n-1)P}
• Ordnung eines Punktes: order P = n; kleinste natürliche Zahl n mit nP = OGegeben seien – eine elliptische Kurve E über GF(p), – ein Punkt P E(p; a, b) sowie
– ein Punkt Q P.ECDLP: Bestimmung von d mit
Q = dP.
ECDLP
Kryptographie und Kryptoanalyse 302
5 Asymmetrische Verfahren – ECC
Parameter für ECC• Öffentlich bekannte Parameter:
Primzahl p, Kurve E(p; a, b), Punkt P und Ordnung n von P• Geheimer Schlüssel: kd mit 1 kd < n• Öffentlicher Schlüssel: Q = kdP (= ke)
• Relevant bzgl. Sicherheit: Ordnung |E(p; a, b)| der elliptischen Kurven (Punktanzahl) sowie Ordnung zufällig gewählter Punkte
|E(p; a, b)| [1, 2p + 1]• Theorem von Hasse:
p + 1 – 2◊p |E(p; a, b)| p + 1 + 2◊p (Hasse-Intervall)• Klassen schwacher Kurven vermeiden
Kryptographie und Kryptoanalyse 303
5 Asymmetrische Verfahren – ECC
ECDH: Protokoll für Schlüsselaustausch • Basiert auf Diffie-Hellman-Schlüsselaustausch• Öffentlich bekannte Parameter:
Primzahl p, Kurve E(p; a, b), Punkt P, order P = n
Teilnehmer A Teilnehmer B
kA,B = xAQB mod p kA,B = xB QA mod p
unsicherer Kanal
QA
QB
enc(kA,B, m)
p, E(p; a, b), P, n p, E(p; a, b), P, n
berechnet QA = xA P mod p QB = xB P mod p
wählt xA mit 1 xA n-1(xA geheim)
wählt xB mit 1 xB n-1(xB geheim)
Kryptographie und Kryptoanalyse 304
5 Asymmetrische Verfahren – ECC
ElGamal Verschlüsselung mit elliptischen Kurven
Schlüsselgenerierung• Als öffentliche Parameter gegeben:
p, E(p; a, b) über p, P E(p; a, b), order P = n
• Jeder Teilnehmer – wählt als seinen geheimen Dechiffrierschlüssel
zufällige Zahl kd mit 1 kd n-1– berechnet als öffentlichen Schlüssel (ke)
einen Punkt Q auf E(p; a, b) mit Q = kd P mod p
Kryptographie und Kryptoanalyse 305
5 Asymmetrische Verfahren – ECC
Verschlüsselung der Nachricht m (B A)• B kennt öffentliche Parameter und Schlüssel Q von A
– stellt m als Punkt M E(p; a, b) dar– wählt Zufallszahl r mit 1 r n-1– berechnet c1 = rP mod p
c2 = M + rQ mod p– sendet c = (c1, c2) an A
Entschlüsselung• A berechnet M = c2 – kd c1 mod p • ermittelt m aus M
• Nachricht muss als Punkt der elliptischen Kurve dargestellt werden
• Expansionsfaktor ~4
Kryptographie und Kryptoanalyse 306
5 Asymmetrische Verfahren – ECC
Relevanz von ECC• Vorteil: geringere Schlüssellängen im Vergleich zu anderen
kryptographischen Systemen• Interessant für Einsatz in Umgebungen mit begrenzter
Kapazität (Chipkarten, zusätzlich Punkt(de)kompression)• Alternative zu RSA • In verschiedenen Standards berücksichtigt, z.B.
– ANSI X9.62, – FIPS 186-2, – IEEE 1363-2000, – ISO/IEC 15946-2
• Beispiele:– ECDSA (Elliptic Curve Digital Signature Algorithm)– ECIES (Elliptic Curve Integrated Encryption Scheme)
Kryptographie und Kryptoanalyse 307
5 Asymmetrische Verfahren – ECC
Reduktion des Speicherbedarfs für Punkte
E(p; a,b): y2 = x3 + ax + b mod p(x,y) œ E, y2 ª 0 mod p: (x,y1), (x,y2) œ E, y2 ª - y1 mod p
• Punkt-Kompression PK(x,y)
E(p; a,b) \ {O} Zp μ Z2
PK(x,y) = (x, y mod 2)
• Punkt-Dekompression PD(x,i)z = x3 + ax + b mod py = ◊ z mod pif (y ª i mod 2) then PD(x,i) = (x,y)
else PD(x,i) = (x,-y)
Kryptographie und Kryptoanalyse 308
5 Asymmetrische Verfahren – ECC
ECIES (vereinfacht, nur Verschlüsselung)• Öffentlich bekannte Parameter:
Primzahl p, Kurve E(p; a, b), Punkt P und Ordnung n von P• Geheimer Schlüssel: kd mit 1 kd < n• Öffentlicher Schlüssel: Q = kd P
• Verschlüsselung von m œ Zp*
– Sender wählt Zufallszahl r mit 1 r n-1– berechnet c1 = PK(rP mod p)
c2 = m x0 mod p mit (x0, y0) = r Q mod p, x0 ∫0
• Entschlüsselung– PD(c1) = rP mod p– (x0, y0) = kd rP mod p– m = c2 x0 mod p-1