Netzwerksicherheit – Übung 2

Transcription

Netzwerksicherheit – Übung 2
Besprechung der Hausaufgabe
RSA
Betriebsmodi
Netzwerksicherheit – Übung 2
Tobias Limmer, Christoph Sommer, David Eckhoff
Computer Networks and Communication Systems
Dept. of Computer Science, University of Erlangen-Nuremberg, Germany
15. – 19.11.2010
Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 2
1 / 10
Besprechung der Hausaufgabe
RSA
Betriebsmodi
Besprechung der Hausaufgabe
Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 2
2 / 10
Besprechung der Hausaufgabe
RSA
Betriebsmodi
Besprechung der Hausaufgabe
Originalnachricht
UKW: B
W/0: B241
Stecker: ATBLDFGJHMNWOPQYRZVX
Rings: AAAV
Message key: VJNA
vonvonjlooksjhffttteinseinsdreizwoyyqnnsneuninhalt
xxbeiangriffunterwassergedruecktywabosxletztergegn
erstandnulachtdreinuluhrmarquantonjotaneunachtseyh
sdreiyzwozwonulgradyachtsmystossenachxeknsviermbfa
elltynnnnnnooovierysichteinsnull
Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 2
3 / 10
Besprechung der Hausaufgabe
RSA
Betriebsmodi
Besprechung der Hausaufgabe
Interpretation
Von Looks:
Funktelegramm 1132/19 Inhalt:
Bei Angriff unter Wasser gedrueckt, Wasserbomben.
Letzter Gegnerstandort 08:30 Uhr, Marqu AJ 9863,
220 Grad, 8 Seemeilen, stosse nach. 14 Millibar
faellt, NNO 4, Sicht 10.
Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 2
4 / 10
Besprechung der Hausaufgabe
RSA
Betriebsmodi
RSA
1
Wähle zwei Primzahlen q, p mit q 6= p
2
Berechne n = p · q
Berechne ϕ(n) = (p − 1) · (q − 1)
3
Weil ϕ(a · b) = ϕ(a) · ϕ(b) · (d/ϕ(d)) mit d = gcd(a, b)
ϕ(x) berechnet die Anzahl der Zahlen relativ prim zu x.
Falls x prim, so ist dies x − 1.
4
Wähle e relativ prim zu ϕ(n) mit 1 < e < ϕ(n)
5
Berechne d mit eea, so dass e · d mod ϕ(n) = 1
6
Public Key: K + = {e, n}, Private Key: K − = {d, n}.
7
En/Decryption:
M e mod n = C
C d mod n = M
Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 2
5 / 10
Besprechung der Hausaufgabe
RSA
Betriebsmodi
RSA
Erweiterter Euklidischer Algorithmus:
d = gcd(a, b) = m × a + n × b
Algorithmus:
(int d, m, n) = ExtendedEuclid(int a, b)
{
if (b=0) return (a, 1, 0);
(d’, m’, n’) = ExtendedEuclid(b, a mod b);
(d, m, n) = (d’, n’, m’-RoundDown(a/b)*n’);
return (d, m, n);
}
Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 2
6 / 10
Besprechung der Hausaufgabe
RSA
Betriebsmodi
Betriebsmodus ECB (Electronic Code Book)
ECB
Encrypt
K
Time = 1
Time = 2
P1
P2
Encrypt
C1
K
Encrypt
C2
Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 2
Time = n
...
Pn
...
K
Encrypt
Cn
7 / 10
Besprechung der Hausaufgabe
RSA
Betriebsmodi
Betriebsmodus CBC (Cipher Block Chaining)
Symmetric Block Ciphers - Modes of Encryption - CBC
CBC
Encrypt
Decrypt
Time = 1
Time = 2
P1
P2
IV
+
+
K
Encrypt
K
Encrypt
Time = n
...
Pn
Cn-1
...
K
+
Encrypt
C1
C2
Cn
C1
C2
Cn
K
Decrypt
K
IV
+
+
P1
P2
Decrypt
Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 2
...
K
Cn-1
Decrypt
+
Pn
8 / 10
Besprechung der Hausaufgabe
RSA
Betriebsmodi
Betriebsmodus CFB (Ciphertext Feedback)
CFB
Time = 1
Time = 2
Shift‐Reg.
b ‐j | j
b
Encrypt
K
K
K
Select Discard
j | b‐j
j
j | b‐j
j
j | b‐j
j
C1
j
P2
j
+
K
Encrypt
j
C2
j
Pm
+
j
Cm‐1
Shift‐Reg.
b‐j | j
b
j
Encrypt
b
b
Select Discard
Select Discard
Select Discard
j | b‐j
j
j | b‐j
j
j | b‐j
j
+
j
C1
P2
j
+
Cm
Shift‐Reg.
b‐j | j
b
... K
Encrypt
b
P1
b
Select Discard
Shift‐Reg.
b‐j | j
b
Decrypt
Encrypt
b
Select Discard
+
j
Shift‐Reg.
b‐j | j
b
... K
Encrypt
b
P1
Cm‐1
Shift‐Reg.
b‐j | j
b
Encrypt
Time = m
...
j
C2
Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 2
Pm
j
+
j
Cm
9 / 10
Besprechung der Hausaufgabe
RSA
Betriebsmodi
Betriebsmodus OFB (Output Feedback)
OFB
Shift‐Reg.
b‐j | j
b
Encrypt
K
K
Encrypt
Select Discard
Select Discard
j | b‐j
j | b‐j
j
j | b‐j
j
+
K
C1
j
P2
+
j
K
Encrypt
Pm
+
j
S(j, EK(Rm‐1))
b
Select Discard
j | b‐j
Select Discard
j | b‐j
j | b‐j
j
+
j
C1
P2
j
Cm
Encrypt
b
j
j
Shift‐Reg.
b‐j | j
b
... K
Encrypt
Select Discard
j
C2
j
Shift‐Reg.
b‐j | j
b
b
P1
b
Select Discard
Shift‐Reg.
b‐j | j
b
Decrypt
Encrypt
b
j
j
Shift‐Reg.
b‐j | j
b
... K
Encrypt
b
P1
S(j, EK(Rm‐1))
Shift‐Reg.
b‐j | j
b
j
+
j
C2
Tobias Limmer, Christoph Sommer, David Eckhoff: Netzwerksicherheit – Übung 2
Pm
j
+
j
Cm
10 / 10