Ferienübung - CDC - Technische Universität Darmstadt
Ferienübung - CDC - Technische Universität Darmstadt
Ferienübung - CDC - Technische Universität Darmstadt
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
TECHNISCHE UNIVERSITÄT DARMSTADT<br />
FACHGEBIET THEORETISCHE INFORMATIK<br />
PROF. JOHANNES BUCHMANN<br />
FATEME SHIRAZI<br />
NABIL ALKEILANI ALKADRI<br />
Einführung in die<br />
Kryptographie<br />
WS 2013/2014<br />
<strong>Ferienübung</strong> — 20.12.2013<br />
Erstellen Sie zunächst aus Ihrer Matrikelnummer Ihr privates Codewort k. Bei jeder Übung werden Sie ein zu diesem<br />
Codewort passendes Lösungswort suchen. Das Codewort berechnet sich wie folgt:<br />
Prosa<br />
Beispiel<br />
Ihre Matrikelnummer ist µ µ = 1371853<br />
Die letzten 6 Ziffern von µ sind ˆµ ˆµ = 371853<br />
Nehmen Sie ⌊ ˆµ ⌋ 2 ⌊ ˆµ ⌋ = 185926<br />
2<br />
Schließlich ist k = 2 19 + ⌊ ˆµ 2 ⌋ k = 710214<br />
Wir bezeichnen mit k 19 k 18 .....k 1 k 0 die 20-stellige Binärdarstellung vom Codewort k. Im Beispiel oben ist<br />
k 19 k 18 .....k 1 k 0 = 10101101011001000110<br />
Personalia (ausfüllen) Lösungsworte (ausfüllen) Erreichte Punkte<br />
F1:<br />
Name:<br />
Matrikelnummer:<br />
Codewort in Dezimal:<br />
F2:<br />
F3:<br />
F4:<br />
F5:<br />
Bonuspunkte:<br />
Für jede gelöste Aufgabe gibt es maximal 1 Bonuspunkt für die Klausur. Sie können bis zu 5 Bonuspunkte erreichen.<br />
Geben Sie in der ersten Woche nach den Ferien Ihren handgeschriebenen vollständigen Rechenweg sowie dieses Deckblatt<br />
ausgefüllt und zusammengeheftet in einer Übung oder Sprechstunde ab. Ansonsten elektronisch schicken an:<br />
fshirazi@cdc.informatik.tu-darmstadt.de<br />
Alle Übungen, die bis Freitag, den 17.01.2014 nicht abgegeben werden, sind automatisch ungültig.<br />
F1 Blockchiffrenmodi<br />
Verschlüsseln Sie den 20-stelligen Bitstring k 19 k 18 .....k 1 k 0 in den Blockchiffrenmodi ECB, CBC, CFB und OFB. Verwenden<br />
Sie dazu die affin lineare Blockchiffre mit Klar- und Schlüsseltextraum 5 2<br />
, Blocklänge n = 5 und dem Schlüssel (A, b),<br />
wobei ⎛<br />
A = ⎝<br />
⎞<br />
k 15 1 0 0 1<br />
0 0 1 0 0<br />
1 0 0 1 0<br />
0 0 0 0 1<br />
1 0 1 0 k 19<br />
⎠ und b = (k 0 k 1 k 2 k 3 k 4 ) T ist. Benutzen Sie den Initialisierungsvektor IV = 10011 und die verkürzte<br />
Blocklänge r = 4.<br />
Das Lösungswort l 1 lässt sich wie folgt berechnen:<br />
• Wenden Sie die bitweise XOR-Verknüpfung auf Ihre Schlüsseltexte an, d.h. C = C ECB<br />
⊕<br />
CCBC<br />
⊕<br />
CC F B<br />
⊕<br />
COF B<br />
• Identifizieren Sie jeweils einen Block der Länge 4 des Bitstrings C mit einer Hexadezimalzahl. Das Lösungswort l 1<br />
ist also eine 5-stellige Hexadezimalzahl.
F2 Erweiterter Euklidischer Algorithmus<br />
Sei 7 = /7 der endliche Körper mit 7 Elementen und sei p(x) = x 7 + 5x 6 + 3x 5 + 3x 3 + 4x 2 + x + 3 ∈ 7 [x].<br />
Identifizieren Sie den 7-stelligen Bitvektor (k 19 k 18 k 17 k 16 k 15 k 14 k 13 ) mit einem Polynom k(x) ∈ 7 [x] vom Grad ≤ 6<br />
mit dem Leitkoeffizienten k 19 . Mit dem Beispiel-Codewort ist k(x) = x 6 + x 4 + x 2 + x.<br />
Finden Sie nun zwei Polynome f (x) und g(x) in 7 [x] mit<br />
Das Lösungswort ist l 2 = f (x) + g(x) ∈ 7 [x].<br />
p(x) · f (x) + k(x) · g(x) = 1.<br />
F3 Chinesischer Restsatz<br />
Berechnen Sie das Inverse M −1 der folgenden Matrix M modulo 1111 mit dem Chinesischen Restsatz.<br />
⎛<br />
⎞<br />
311 19 a<br />
⎜<br />
⎟<br />
M = ⎝ 0 149 0 ⎠<br />
0 83 151<br />
Dabei ist a der Rest modulo 1111 der Zahl, die aus den ersten 3 Ziffern Ihres Codewortes k besteht. Mit dem Beispiel-<br />
Codewort ist a = 710.<br />
Das Lösungswort l 3 ist die Summe der Einträge von M −1 modulo 1111.<br />
F4 Elementordnungen<br />
Sei a die Zahl, die aus den ersten 3 Ziffern Ihres Codewortes besteht. Mit dem Beispiel-Codewort ist a = 710.<br />
Bestimmen Sie die Ordnung von a modulo 1009. Verwenden Sie das in der Vorlesung eingeführte Verfahren und die<br />
schnelle Exponentation.<br />
Das Lösungswort ist l 4 = order(a + 1009).<br />
F5 RSA<br />
Seien p = 1009 und a die Zahl, die aus den ersten 3 Ziffern Ihres Codewortes besteht. Sei weiterhin q die größte Primzahl,<br />
die kleiner gleich a ist. Mit dem Beispiel-Codewort ist a = 710, und q = 709.<br />
Sei nun n = pq Ihr RSA Modul. Ihr öffentlicher RSA Exponent e ist die größte Zahl kleiner gleich 2 7 −1, welche teilerfremd<br />
zu ϕ(n) = (p − 1)(q − 1) ist. Berechnen Sie den passenden privaten RSA Schlüssel d und entschlüsseln Sie den Ciffretext<br />
c = a + c 0 zum Klartext m, wobei c 0 die Dezimalzahl ist, die dem Bitstirng (k 1 k 3 k 5 k 7 k 9 k 11 k 13 k 15 k 17 k 19 ) entspricht.<br />
Das Lösungswort l 5 ist d + m mod n.<br />
2