Lösung_12 - CDC - Technische Universität Darmstadt

TECHNISCHE UNIVERSITÄT DARMSTADT
FACHGEBIET THEORETISCHE INFORMATIK
PROF. JOHANNES BUCHMANN
DR. JULIANE KRÄMER
Einführung in die
Kryptographie
WS 2015/ 2016
12. Lösungsblatt — 21.01.2016
Ankündigung
Die korrigierten Ferienübungen können während der Klausureinsicht ebenfalls eingesehen werden.
P1 Digitale Signaturen
1. Wofür braucht man Signaturen? (Nennen Sie ein Beispiel, wo in der Praxis digitale Signaturen nötig sind.)
Lösung. Zum Beispiel braucht man Signaturen für Softwareupdates: Wenn beispielsweise ein moderner SmartTV ein Update bekommt, möchte der Fernsehzuschauer sicher sein, dass dieses Update zum einen tatsächlich
vom Hersteller kommt und zum anderen so ist, wie es der Hersteller programmiert hat. Anderenfalls könnten
böswillige Angreifer sehr einfach Programme einschleusen, die beispielsweise über die Kamera des Fernsehers das
Wohnzimmer filmen.
2. Welche der vier Hauptziele der Kryptographie werden durch Signaturen erreicht?
Lösung. Integrität, Authentizität und Nicht-Abstreitbarkeit.
3. Angriffsziele: Beschreiben Sie die Begriffe existentielle Fälschung, selektive Fälschung und Total Break.
Lösung. Eine existentielle Fälschung liegt vor, wenn ein Angreifer es schafft, ein Paar (m, s) zu erzeugen, so dass
s eine gültige Signatur von m ist, ohne dass der Angreifer den geheimen Signaturschlüssel kennt. Eine selektive
Fälschung liegt vor, wenn ein Angreifer gültige Signaturen zu Nachrichten, die er sich vorher ausgesucht hat,
berechnen kann, ohne den geheimen Signaturschlüssel zu kennen. Schafft es ein Angreifer, den Signaturschlüssel
zu berechnen, ist das Verfahren vollständig gebrochen (engl. Total Break).
4. Angriffstypen: Beschreiben Sie No-Message-Angriffe, Known-Message-Angriffe und Chosen-Message-Angriffe.
Lösung. Bei einem No-Message-Angriff kennt der Angreifer nur den öffentlichen Verfifikationsschlüssel und sonst
nichts. Insbesondere kennt er also keine Nachrichten mit dazugehörigen Signaturen.
In einem Known-Message-Angriff kennt der Angreifer den öffentlichen Verfifikationsschlüssel und zusätzlich verschiedene Nachrichten und ihre Signaturen. Diese erhält er zum Beispiel dadurch, dass er Kommunikationsverbindungen abhört.
Der stärkste Angriff ist ein Chosen-Message-Angriff. Hierbei kennt der Angreifer den öffentlichen Verfifikationsschlüssel und darf sich beliebige Nachrichten wählen, zu denen er die passende Signatur erhält. (Wenn der
Eingreifer eine Signatur zu einer bestimmten Nachricht m fälschen will, darf er bei einem Chosen-Message-Angriff
natürlich nicht die Signatur zu m einfordern.)
5. Angenommen, man möchte ein Signatur-Verfahren aus einem Verschlüsselungsverfahren ableiten. Nimmt man
hierzu ein symmetrisches oder ein asymmetrisches Verschlüsselungsverfahren?
Lösung. Man nimmt ein asymmetrisches Verfahren, zum Beispiel RSA.
P2 Hashfunktionen
Es stehen zwei Kandidaten für Hashfunktionen zur Verfügung, die beide Zahlen aus N von beliebiger Größe als Eingabe
haben.
h1 (n) = b2n sin( 1n )c
und
h2 (n) = nn mod ϕ(99) (mod 99)
1
(1)
• Werte die Kandidaten für n = 10, 11, 12 aus.
Lösung.
h1 (10) = 102
h1 (11) = 185
h1 (12) = 340
h2 (10) = 1
h2 (11) = 77
h2 (12) = 45
• Bewerten Sie die beiden Kandidaten bzgl. folgender Aspekte ist:
– Kompression
– Umkehrresistenz/ Einwegfunktion
– Kollisionsresistenz
Sind die Kandidaten als kryptographische Hashfunktionen nutzbar?
Lösung.
– Kandidat 1 ist nicht komprimierend. Sie ist darüber hinaus leicht umkehrbar, da die Funktion streng monoton
steigend ist für n ≥ 2. Deshalb ist sie auch für n ≥ 2 injektiv und daher kollisionsresistent (es gibt aber die
Kollision h1 (1) = h1 (2)). Da sie leicht umkehrbar und nicht komprimierd ist, sollte diese Funktion nicht als
kryptographische Hashfunktion genutzt werden.
– Kandidat 2 ist komprimierend. Die Funktion ist nicht einfach umkehrbar. Da es nur 99 Funktionswerte gibt,
findet sich unter den Funktionswerten für n ∈ {1, . . . , 100} aber sicher eine Kollision. Daher sollte Kandidat
2 nicht als kryptographische Hashfunktion genutzt werden.
P3 Wiederholung: Identifikation von Polynomen mit Zahlen
Ein endlicher Körper mit 4 Elementen ist F := Z2 [X ]/(X 2 + X + 1). Jede Polynom-Restklasse aus diesem Körper hat einen
eindeutigen Repräsentanten vom Grad < 2 mit Koeffizienten in {0, 1}. Diesen Repräsentanten können wir wiederum
mit einer natürlichen Zahl zwischen 0 und 3 identifizieren, indem wir die Koeffizienten des Polynoms als Ziffern einer
binären Zahl ansehen (der Binärdarstellung ab2 entspricht das Polynom a x + b). Rechne bei den folgenden Aufgaben
mit Polynomen, aber schreibe das Ergebnis als binäre Zahl auf. Berechne mit der Addition und Multiplikation von F die
folgenden Werte:
1. 2 · 3
2. 2 + 3
3. 23
Hinweis: Die Potenz 3 in 3. ist als natürliche Zahl zu verstehen, das heißt es ist 2 · 2 · 2 zu berechnen.
Lösung.
1. 2 · 3 = 102 · 112 = X · (X + 1) = X 2 + X = 1 = 012
2. 2 + 3 = 102 + 112 = X + (X + 1) = 1 = 012
3. 23 = 102 · 102 · 102 = X · X · X = X · X 2 = X · (X + 1) = X 2 + X = 1 = 012
P4 Wiederholung - Multiple Choice
Beantworten Sie die folgenden Fragen jeweils mit „Richtig“ oder „Falsch“.
(a) Aus Sicherheitsgründen müssen RSA-Module mindestens 1024, besser aber noch 2048 Bit lang sein.
Lösung. Richtig.
(b) Es wird bei einer RSA Verschlüsselung das RSA-Modul n = 35 verwendet. Die Zahl 15 könnte als geheimer Entschlüsselungexponent d gewählt werden.
Lösung. Falsch.
(c) Es gibt keinen Angriff, der mit weniger als 260 Hashauswertungen, eine beliebige 80-bit Hashfunktion bricht.
Lösung. Falsch.
(d) Man kann Hashfunktionen auf der Basis von sicheren Blockchiffren bauen.
Lösung. Richtig.
2
(e) AES ist eine affin lineare Blockchiffre.
Lösung. Falsch.
(f) Das Vernam OTP ist perfekt geheim.
Lösung. Richtig.
(g) Die Gleichung 32x − 23 y = 1 hat mehrere ganzzahligen Lösungen x, y .
Lösung. Richtig.
(h) Eine Matrix M ∈ (Z/mZ)n×n ist invertierbar, wenn det(M ) invertierbar in (Z/mZ) ist.
Lösung. Richtig.
(i) Die multiplikative Gruppe (Z/15Z)∗ hat die Ordnung 14.
Lösung. Falsch.
H1 Replay-Angriff
Eine Bank möchte in einem Online-Banking-Verfahren digitale Signaturen einsetzen, fürchtet jedoch, daß ein Angreifer
eine mitgehörte Nachricht zeitversetzt ein zweites Mal an die Bank weiterleitet (z.B. für eine zweimalige Kreditierung
eines Überweisungsbetrages, wenn der Empfänger mit dem Angreifer in Verbindung steht). Dies ist ein sogenannter
Replay Angriff.
Um sich zu schützen, könnte die Bank alle eingegangenen Nachrichten bzw. deren Hashwerte speichern, und neue
Nachrichten mit den schon empfangenen vergleichen. Dies ist jedoch für die Praxis viel zu aufwendig. Finden Sie ein
alternatives Verfahren.
Lösung. Es gibt verschiedene Möglichkeiten, das Problem der Bank zu lösen:
• Die Bank kann verlangen, dass die Kunden in die zu signierende Transaktion eine laufende Nummer einfügen.
Im Zuge der Erzeugung der Signatur ist der Hashwert von dem Text der Transaktion unter Einschluß der Seriennummer zu berechnen. Die Bank merkt sich die zuletzt eingegangene Seriennummer des Kunden und weist
Nachrichten mit einer geringeren oder gleichen Seriennummer als der gespeicherten zurück.
Der Angreifer kann also die abgehörte Nachricht kein zweites Mal in Umlauf bringen. Da das Fälschen von Signaturen zu schwer ist, ist es ihm auch nicht möglich, eine signierte Nachricht zu produzieren, die eine höhere
Seriennummer enthält.
Nachteil: Der Kunde muß darauf achten, daß seine Nachrichten in der Reihenfolge, in der sie nummeriert wurden,
bei der Bank eingehen.
• Die Bank kann verlangen, daß die Nachricht einen Zeitstempel enthält. Wieder wird der Hash unter Einschluß
dieses Stempels berechnet. Die Bank weist dann Nachrichten mit zu weit zurückliegendem Zeitstempel zurück.
Zusätzlich kann sie für die Dauer eines bestimmten Zeitfensters die eingegangenen Nachrichten (bzw. ihre Hashwerte) speichern und neu eingegangene Nachrichten mit der Liste vergleichen.
Die Speicheranforderungen und der Zeitaufwand für den Abgleich verringert sich erheblich im Vergleich zur Abspeicherung aller Nachrichten.
Nachteil: die Uhren von Bank und Kundinnen müssen synchronisiert sein (zumindest nahezu).
• Die Bank kann schließlich an jeden Kunden, der eine Transaktion durchführen will, eine Zufallszahl senden. Die
Signatur muß diese Zufallszahl enthalten, um angenommen zu werden. Hier muß die Bank eine Liste aller versendeten, aber noch nicht verwendeten Zufallszahlen führen. Um die Liste kurz zu halten, können vor längerer Zeit
versandte Zufallszahlen gestrichen werden.
Nachteil: zusätzlicher (geringer) Kommunikationsaufwand für Bank und Kunden.
3