Sie sind auf Seite 1von 3

Kryptografie und Datensicherheit I Prof. Dr.-Ing.

Christof Paar

Musterlösung
Klausur WS2005/2006, 29. März 2006

1. (a) Gilbert S. Vernam erfand 1917 die Vernam Chiffre, auch bekannt als das One Time Pad.
(b) Aus einer Zahlensequenz, welche von einem PRNG erzeugt wurde, lassen sich u.U. recht
einfach nachfolgende Zahlenelemente in der Sequenz bestimmen, bei einem CPRNG ist
dies ein mathematisches nicht einfaches Problem.
(c) Ein System, welches starke kryptographische Algorithmen beruht, ist nicht unbedingt als
sicher anzusehen, da Implementierungsschwächen, wie z.B. Buffer Overflow Fehler, in
der Vergangenheit oftmals zu erheblichen Sicherheitsrisiken geführt haben.
(d) Social engineering bezeichnet das Erlangen von geheimen Sicherheitsinformationen, wie
Passwörtern und Schlüsseln, durch einen Angreifer, indem dieser ein künstliches Ver-
trauensverhältnis zu den Personen, die über diese Informationen verfügen, aufzubauen
versucht.
(e) Der DES lässt sich besonders leicht in Hardware implementieren, da die vielen Bitper-
mutation lediglich einer Kreuzverdrahtung im Layout entsprechen und die S-boxen (im
Vergleich zu anderen Algorithmen, wie dem AES) sehr klein sind. Aufgrund der Bitper-
mutationen ist es in der Regel recht aufwendig, den DES in Software zu implementieren.
(f) Der wesentliche Vorteil des One Time Pads liegt in dessen beweisbarer Sicherheit begrün-
det. Nachteilhaft ist die Tatsache, dass Schlüssel und Klartext die gleiche Länge haben
müssen. Dies kann gerade bei langen Schlüsseln ein Problem sein.

2. (a) Die maximale Periode des LCGs ist m = 32.


(b) Bekannter Klartext: x577 = 31 (-), x578 = 26 (!), x579 = 28 (%)
Bekannter Geheimtext: y577 = 3 (D), y578 = 31 (-), y579 = 6 (G)
Schlüssel: z577 = 3−31 = 4mod32, z578 = 31−26 = 5mod32 , z579 = 6−28 = 10mod32
z578 = a · z577 + b ⇒ 5 = a · 4 + b
z579 = a · z578 + b ⇒ 10 = a · 5 + b
⇒ a = 5, b = 17
Max. Periode des LCGs ist m = 32. Daher ist z576 = z0 .
z577 = a · z576 + b ⇒ z576 = (z577 − b) · a−1 = 19 · 5−1
32 = 6 · 5 + 2 ⇒ 5 = 2 · 2 + 1
⇒ 1 = 5 − 2 · 2 = 5 − 2 · (32 − 6 · 5) = 13 · 5 − 2 · 32 = 13 · 5
⇒ 5−1 = 13 ⇒ z0 = z576 = 19 · 13 = 23.

3. (a) Die Key XOR/S-box Struktur wird in vielen Blockchiffren verwendet, da sie sich zu-
nächst einmal einmal recht einfach implementieren lässt. Eine XOR Operation kann so-
wohl in Software als auch Hardware leicht implementiert werden, bei der S-Box hängt
die Implementierbarkeit hauptsächlich von der Tabellengröße bzw. deren Beschreibung
als arithmetische Funktion ab. Wesentlich ist allerdings die kryptographische Bedeutung
dieser Struktur. Zunächst wird ein Schlüssel bzw. ein vom Schlüssel abgeleiteter Wert
K auf den Eingang X per XOR addiert, d.h. der Eingang der S-Box ist schlüsselabhän-
gig. Die S-Box kann nun so gewählt werden, dass ein Ausgangsbit von möglichst vielen
Eingangsbits (und somit von vielen Schlüsselbits) abhängt (Lawinen (engl. Avalanche)
Effekt). Darüber hinaus kann die S-Box so gewählt werden, dass sie möglichst nicht-
linear wird, d.h. Ausgangsbits (bzw. eine Linearkombination von Ausgangsbits) lassen

1
sich nicht durch eine lineare Funktion von Eingangsbits beschreiben. Ließe sich eine S-
Box mit Hilfe von lineare Gleichungen approximieren, könnte die Blockchiffre mit Hilfe
eines linearen Gleichungssystems dargestellt werden und der Schlüssel könnte ggF. bei
einer ausreichenden Anzahl Klar-/Geheimtextpaaren bestimmt werden (lineare Krypt-
analyse). Schließlich kann die S-Box so gewählt werden, dass für alle möglichen S-Box
Eingangspaare die auftretenden Differenzen am Ausgang der S-Box möglichst gleichver-
teilt sind. Dies verhindert die differentielle Kryptanalyse.
(b) Gegeben: X = 3 und ∆X = X1 ⊕ X2 = 1 und ∆S = S(X1 ⊕ K) ⊕ S(X2 ⊕ K) = 7.
Die Eingangsdifferenz ∆X =1 führt in der S-Box zu einem Spaltensprung um genaue eine
Spalte, d.h. immer von einer geraden und zu einer ungeraden Spalte und umgekehrt, z.B.
von Spalte 0 zu Spalte 1, usw. Die Ausgangsdifferenz 7 tritt genau für S-Box Inputs 12
und 13 auf. Es gibt daher zwei mögliche Schlüssel K:
X ⊕ K ′ = 12 ⇒ K ′ = 3 ⊕ 12 = 15
X ⊕ K ′′ = 13 ⇒ K ′′ = 3 ⊕ 13 = 14
(c) Da die Serpent S-Boxen bijektiv sind, kann keine Kollision, d.h. ∆S = 0, am S-Box
Ausgang auftreten! ⇒ ∆X = 0.
(d) Der S-Box Ausgangswert S(X ⊕ K) = 12 führt zu vier möglichen S-Box Einganswerten
und daher zu vier Schlüsseln:
X ⊕ K1 = 22 = 010110|2 ⇒ K1 = 26 = 011010|2
X ⊕ K2 = 21 = 010101|2 ⇒ K2 = 25 = 011001|2
X ⊕ K3 = 50 = 110010|2 ⇒ K3 = 62 = 111110|2
X ⊕ K4 = 35 = 100011|2 ⇒ K4 = 47 = 101111|2

4. (a) Beachten Sie, dass auf der Senderseite der DES ebenfalls im Entschlüsselungsmodus be-
trieben werden muß. l = 8 und b = 64.

SR l
64

~
zi 8
−1
DES
64

k 64:8 Y i−1
zi
8 8 8
Xi
Yi

Abbildung 1: Verschlüsselung auf der Senderseite.

(b) Das sechste und achte Bit im entschlüsselten Klartextblock Xi ist fehlerhaft. Die Klartex-
teblöcke Xi+1 bis Xi+8 sind von dem fehlerhaften Block Yi komplett betroffen.

2
5. 273 = 100010001|2

802 = 6400 = 79 mod 129


792 = 6241 = 49 mod 129
492 = 2401 = 79 mod 129
792 = 6241 = 49 mod 129 ⇒ 49 · 80 = 3920 = 50 mod 129
502 = 2500 = 49 mod 129
492 = 2401 = 79 mod 129
792 = 6241 = 49 mod 129
492 = 2401 = 79 mod 129 ⇒ 79 · 80 = 6320 = 128 mod 129

6. (a) Affine Chiffre: Ci = ((Pi + K1 ) · K2 ) · K3 + K4 = Pi · K ′ + K ′′


mit K ′ = K2 · K3 und K ′′ = K1 · K2 · K3 + K4
(b) Schlüsselraum: 256 · Φ(256) = 256 · (28 − 27 ) = 256 · 128 = 32768
(c) Pi = (Ci −K ′′ )·(K ′ )−1 K ′ = K2 ·K3 = 3·9 = 27 mod 256 und K ′′ = K1 ·K2 ·K3 +K4 =
123 · 3 · 9 + 201 = 28 mod 256. (K ′ )−1 = 27−1 = 19 mod 256 ⇒ Pi = (23 − 28) · 19 =
79 mod 256.
Φ(256)
(d) Xi = 1 mod 256, nur möglich falls ggT (Xi , 256) = 1
Φ(256)−1
−1
⇒ Xi = Xi = Xi127 mod 256
(e) Pi = (Ci − K ′′ ) · (K ′ )−1 = (Ci − K ′′ ) · (K ′ )127

Das könnte Ihnen auch gefallen