Kapitel 2
Moderne Sysmetrische Verfahren
Walter Unger
Lehrstuhl f¨ur Informatik 1
30. Januar 2009
C-36 Idee
Das Verfahren DES
Idee
Das Verfahren Operationsmodi IDEA
Idee
Das Verfahren AES
Idee
Das Verfahren Moderne Angriffe
C-36 (Idee)
Eingabe: ···
Ausgabe: ? ···
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?···
? -
? -
? -
? -
? -
? -
? -
? -
? -
? -
? -
? -
? -
? -
? -
? -
? -
? -···
Schl¨ussel
?
entspricht Zufallsstring
C-36 DES IDEA AES Moderne Angriffe
Idee (2:2) Walter Unger Z
Das C-36 (M-209) Verfahren (Idee)
Versuche m¨oglichst “langen”
Hilfsschl¨ussel zu erzeugen.
Starte mit kleinem Schl¨ussel (step-figure).
Vervielf¨altige Schl¨ussel.
Erzeuge so “Zufallsstring”.
Nehme Plaintext.
Erzeuge Crypttext.
6 3 2
+
1 1
+
2 1 4 2
+
7 1
+
8 6 7 7
+
0 1
+
1 6 8 9
+
3 2
+
5 1 2 1
+
4 2
+
6 6 3 2
+
1 2
+
3 6 4 7
+
7 1
+
8 1 7 2
+
0 1
+
1 6 8 2
+
6 1
+
7 6 2 7
+
5 1
+
6 1 3 9
+
3 1
+
4 6 4 1
+
1 4
+
5 6 7 2
+
5 4
+
9 1 8 7
+
6 4
+
0 6 2 2
+
0 4
+
4 6 3 2
+
1 4
+
5 1 4 7
+
2 4
+
6 6 7 9
+
2 4
+
6 6 8 1
+
5 4
+
9 1 2 2
+
5 4
+
9
Das C-36 (M-209) Verfahren (Teil 1)
Einestep-figure H besteht aus einem Block mit Zeilen der L¨angen 17, 19, 21, 23, 25 und 26, d.h.
a= (a0, . . . ,a16)
b= (b0, . . . ,b16,b17,b18) ...
f = (f0, . . . ,f16,f17,f18, . . . ,f25) Damit wird eine Folge von Vektoren der L¨ange 6 erzeugt:
∀i>0 vi =
aimod 17 bimod 19 ... fimod 26
Die Periode dieser Folge ist 104.405.850 bei entsprechender Wahl der Eintr¨age.
C-36 DES IDEA AES Moderne Angriffe
Das Verfahren (2:4) Walter Unger Z
Das C-36 (M-209) Verfahren (Teil 1)
Beipiel:
0010101111100100000101011110010000010101111001000 1001010001101101010100101000101101010100101000101101010 1001010010101010101001001010010010101010010010100100101010100 001000100100010101010000010001001001010101000
0000101100010101010100100000010110010101010100100 000001010000000100011001000000010100000010001100100
I v10= (111000)
I v22= (010010)
I v43= (000010)
Das C-36 (M-209) Verfahren (Teil 2)
Aufbau:
I
Sei
Meine 6
×27 Matrix aus
{0,1} mit maximal zwei Einsen pro Spalte.
I
Bei Multiplikation eines Vektors aus
{0,1} der L¨ ange 6 (von links) an
Mentsteht ein 27-stelliger Vektor aus
{0,1, 2}.
I
Die Anzahl der Eintr¨ age
>1 dieses Vektors heißt
Hit-number.I
Aus einem Vektor
{0,1}
6wird also durch die Hit-number eine
Zahl aus
{0, . . . ,27} erzeugt.
C-36 DES IDEA AES Moderne Angriffe
Das Verfahren (2:6) Walter Unger Z
Das C-36 (M-209) Verfahren (Teil 2)
Beispiel:
(011001)
×
100000000000100000000000000
011011011001001001100100000 000000001100001100010110001100100100010100010001001010 010010000100010011000000100
000001000001000001000010000
Ergebnis ist: 011012012102002002110220001
Hit-number von (011001) ist 15.
Das C-36 (M-209) Verfahren (Teil 3)
I
Verschl¨ usselung:
I EM,HC−36: ZZ∗27→ZZ∗27
I EM,HC−36(a0, . . . ,an) =c0, . . . ,cn mit
I ci= (#>1(viM)−ai) mod 27,
wobei #>1(x) die Anzahl der Werte>1 vonx angibt (Hit-number).
I
Entschl¨ usselung:
I DM,HC−36: ZZ∗27 →ZZ∗27
I DM,HC−36(c0, . . . ,cn) =a0, . . . ,an mit
I ai = (#>1(viM)−ci) mod 27
C-36 DES IDEA AES Moderne Angriffe
Idee (2:8) Walter Unger Z
DES
Das DES-Verfahren (Data Encryption Standard) wurde 1978 vom amerikanischen NBS (National Bureau of Standards) ver¨offentlicht und war damit das erste ¨offentlich bekanntgegebene Kryptoverfahren
¨
uberhaupt.
EkDES: ZZ642 →ZZ642 Bitabbildung, mitk ∈ {0,1}56 EkDES(a1, . . . ,an) =C(a1, . . . ,a64)EkDES(a65, . . . ,an) Im Folgenden wird nun die FunktionC beschrieben.
Idee ” Wegbeschreibung auf Stadtplan“
I Schl¨ussel ist eine Wegbeschreibung:
I Gehe auf die Mitte der Strasse.
I Drehe dich in Richtung Nord oder West.
I Gehe bis zur n¨achsten Kreuzung.
I Gehe in die dritte Strasseneinm¨undung (gegen den Uhrzeigersinn)
I U.s.w.
I W¨ahle Strassennamen als Plaintext.
I Folge der Wegbeschreibung.
I W¨ahle aktuellen Strassennamen als Crypttext.
I Zum Entschl¨usseln nehme die “reverse Wegbeschreibung”.
C-36 DES IDEA AES Moderne Angriffe
Idee (2:10) Walter Unger Z
DES (Idee)
Eingabe
6
Ausgabe
?
S1 + - S2 ⊕ - S3 + - S4 ⊕- S5 + - S6 ⊕ - S7 + - S8 ⊕ K1 -
?
2 K2 -
?
1 K3 -
?
2 K4 -
?
1 K5 -
?
2 K6 -
?
1 K7 -
?
2 K8
?
1 Sch¨ussel
?
Ki≡ shift (imod 2) + 1
Si≡
⊕ falls 0≡i (mod 2) + sonst
000011
001100 011000 100001 000011 001100 011000 100001 000011
000101
010001 001001 101010 101001 110101 101101 001110
001101
DES (Idee)
P(64)
? ?
Eing.
?
32 32 -32 32 -32 32 -32 32- . . . 32 32 -32 32 P(64)
6
Aus.
- - ?
?
⊕ - ?
?
⊕ - ?
?
⊕ - ?
?
. . . ⊕
6
?
F
6
?
F
6
?
F
6
?
F . . .
. . .
. . . . . . 56B48?
?
56B48
?
56B48
?
56B48
. . .
- Shift - Shift - Shift . . . - Shift
P(56)
Par.
Schl.
6
6 32B48
48B32
⊕
6
?
?
- 32B48
48B32
⊕
6
?
?
- 32B48
48B32
⊕
6
?
?
- 32B48
48B32
⊕
6
?
? -
. . . . . .
. . . . . .
C-36 DES IDEA AES Moderne Angriffe
Idee (2:12) Walter Unger Z
DES (Idee)
P(64)
? ? Eing.
?
32 32 -32 32 -32 32 -32 32 P(64)
6 Aus.
- -
?
?
⊕ -
?
?
⊕ -
?
?
⊕
? 56B48
? 56B48
? 56B48
- Shift - Shift
P(56)
Par.
Schl.
6
6
6
? F
6
? F
6
? F
DES (Schl¨ usselverarbeitung, Teil 1)
I Zur Sicherheit wird der Schl¨ussel mit Parity-Bits auf den Positionen 8,16,24, . . . ,64 ¨ubertragen.
I Permutierek (ohne Parity-Bits) mittels
PermutationP aus folgender Tabelle. ??
?
- - - - 6 -?
? -?
? -?
?
? ? ? - -
•
•
• 6 6
6
?
6
?
6
?
57 49 41 33 25 17 9
1 58 50 42 34 26 18
10 2 59 51 43 35 27
19 11 3 60 52 44 36
63 55 47 39 31 23 15
7 62 54 46 38 30 22
14 6 61 53 45 37 29
21 13 5 28 20 12 4
C-36 DES IDEA AES Moderne Angriffe
Das Verfahren (2:14) Walter Unger Z
DES (Schl¨ usselverarbeitung, Teil 2a)
I Teile das Resultat in zwei Bl¨ocke aus 28
Bits auf; nenne dieseC0undD0. ??
?
- - - - 6 -?
? -?
? -?
?
? ? ? -• - • 6
6 6
?
6
?
6
?
57 49 41 33 25 17 9
1 58 50 42 34 26 18
10 2 59 51 43 35 27
19 11 3 60 52 44 36
63 55 47 39 31 23 15
7 62 54 46 38 30 22
14 6 61 53 45 37 29
21 13 5 28 20 12 4
DES (Schl¨ usselverarbeitung, Teil 2b)
I Teile das Resultat in zwei Bl¨ocke aus 28 Bits auf; nenne dieseC0undD0.
I Bestimme f¨ur 16i616Ci undDi durch
zyklische Links-Shifts nach der 2. Tabelle ??
?
- - - - 6 -?
? -?
? -?
?
? ? ? -• - • 6
6 6
?
6
?
6
?
i 1 2 3 4 5 6 7 8
L-Shift 1 1 2 2 2 2 2 2
i 9 10 11 12 13 14 15 16
L-Shift 1 2 2 2 2 2 2 1
C-36 DES IDEA AES Moderne Angriffe
Das Verfahren (2:16) Walter Unger Z
DES (Schl¨ usselverarbeitung, Teil 3)
I BestimmeKi durch Selektion und Permutation ausCiDi mit der n¨achsten Tabelle.
I JedesKi hat dann 48 Bits. ??
?
- - - - 6 -?
? -?
? -?
?
•? •? •? - - 6
6 6
?
6
?
6
?
14 17 11 24 1 5
3 28 15 6 21 10
23 19 12 4 26 8
16 7 27 20 13 2
41 52 31 37 47 55
30 40 51 45 33 48
44 49 39 56 34 53
46 42 50 36 29 32
DES (Eingabeverarbeitung, Teil 1)
I Permutiere die 64 Bits von w nach folgender Tabelle.
•
??
•
?
- - - - 6 -?
? -?
? -?
?
? ? ? - - 6
6 6
?
6
?
6
?
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
C-36 DES IDEA AES Moderne Angriffe
Das Verfahren (2:18) Walter Unger Z
DES (Eingabeverarbeitung, Teil 2)
I Teile die 64 Bits in zwei Bl¨ockeL0undR0 aus je 32 Bits auf.
I Bestimme nun f¨ur 16i616Li undRi
wie folgt: ??
?
• • -• • -• • -• •- 6 -?
?
• -?
?
• -?
?
•
? ? ? - - 6
6 6
?
6
?
6
?
I Li :=Ri−1
I Ri:=Li−1⊕f(Ri−1,Ki)(⊕: bitweises XOR)
I Man beachte, wieRj und Lj+1jeweils auseinander hervorgehen.
I Dies wird wichtig beim Entschl¨usseln.
DES (Eingabeverarbeitung, Teil 3)
I Permutiere die 64 Bits ausR16L16 mit der inversen Permutation aus folgender Tabelle.
I Damit hat man den verschl¨usselten Text. ??
?
- - - •6
• - -?
? -?
? -?
?
? ? ? - - 6
6 6
?
6
?
6
?
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
Achtung: Das ist die gleiche Permutation wie bei der Eingabe.
C-36 DES IDEA AES Moderne Angriffe
Das Verfahren (2:20) Walter Unger Z
DES (Funktion f , Teil 1)
I f : ZZ322 ×ZZ482 →ZZ322
I Erzeuge aus den 32 Bits mit Hilfe der
folgenden Tabelle 48 Bits. ??
?
- - - - 6 -?
? -?
? -?
?
? ? ? - - 6
6 • 6
?
? - •
6
?
? - •
6
?
? -
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1
I Addiere diese 48 Bits mitKi bitweise (modulo 2).
DES (Funktion f , Teil 2)
I f : ZZ322 ×ZZ482 →ZZ322
I Es stehen 48 Bits als “Eingabe” in eine
Tabelle zur Verf¨ugung. ??
?
- - - - 6 -?
? -?
? -?
?
? ? ? - - 66
• 6
?
? -
• 6
?
? -
• 6
?
? -
I Teile die 48 Bits in 8 Bl¨ocke aus 6 Bits, B1B2. . .B8,Bi ∈ {0,1}6
I Erzeuge aus jedem Bi 4 Bits wie folgt:
I Bi = (a1,a2, . . . ,a6)
I Bestimme daraus Zahlenxi undyi wie folgt:
I xi=int(a1a6), alsoxi∈ {0,1,2,3}(Zeile vonSi).
I yi=int(a2a3a4a5), alsoyi∈ {0,1, . . . ,15} (Spalte vonSi).
I Bestimme nun den Eintragbin(Si(xi,yi)) in einer TabelleSi.
I Dann hat man 4·8 Bits = 32 Bits.
C-36 DES IDEA AES Moderne Angriffe
Das Verfahren (2:22) Walter Unger Z
DES (Funktion f , Teil 3a)
I f : ZZ322 ×ZZ482 →ZZ322
I Es verbleibt die Angabe der TabellenSi. ??
?
- - - - 6 -?
? -?
? -?
?
? ? ? - - 66
• 6
?
? -
• 6
?
? -
• 6
?
? -
I Teile die 48 Bits in 8 Bl¨ocke aus 6 Bits, B1B2. . .B8,Bi ∈ {0,1}6
I Bi = (a1,a2, . . . ,a6)
I Bestimme Eintragbin(Si(int(a1a6),int(a2a3a4a5))) in Tabelle Si
S1:
14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
S2:
15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5
0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
DES (Funktion f , Teil 3b)
S3:
10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1
13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
S4:
7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15
13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9
10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
S5:
2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6
4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
S6:
12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8
9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13
S7:
4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6
1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
S8:
13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2
7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8
2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11
C-36 DES IDEA AES Moderne Angriffe
Das Verfahren (2:24) Walter Unger Z
DES (Funktion f , Teil 4)
I f : ZZ322 ×ZZ482 →ZZ322
I Durch die Tabellen sind 32 Bits erzeugt
worden. ??
?
- - - - 6 -?
? -?
? -?
?
? ? ? - - 66
• 6
?
? -
• 6
?
? -
• 6
?
? -
I Permutiere diese durch die folgende Tabelle.
16 7 20 21
29 12 28 17
1 15 23 26
5 18 31 10
2 8 24 14
32 27 3 9
19 13 30 6
22 11 4 25
DES (Entschl¨ usselung:)
I Ri−1:=Li
I Li−1:=Ri⊕f(Li,Ki)
P(64)
? ?
Eing.
?
32 32 -32 32 -32 32 -32 32- . . . 32 32 -32 32 P(64)
6
Aus.
- - ?
?
⊕ - ?
?
⊕ - ?
?
⊕ - ?
?
. . . ⊕ 56B48?
?
56B48
?
56B48
?
56B48
. . .
- Shift - Shift - Shift . . . - Shift
P(56)
Par.
Schl.
6
6 32B48
48B32
⊕
6
?
?
- 32B48
48B32
⊕
6
?
?
- 32B48
48B32
⊕
6
?
?
- 32B48
48B32
⊕
6
?
? -
. . . . . .
. . . . . .
C-36 DES IDEA AES Moderne Angriffe
Das Verfahren (2:26) Walter Unger Z
DES (Vor- und Nachteile)
I Vorteile
I schnell
I erster Standard
I Probleme bei Analyse sind von NP-schwer.
I Nachteile
I Schl¨ussell¨ange ist konstant
I Sinn der S-Boxen teilweise unklar
I Verdacht einer Hintert¨ur
I mit Spezialhardware vollst¨andige Schl¨usselsuche m¨oglich (Preis 1984: ca. US$ 1.000.000)
I Heute in ca. 24 Stunden mit verteiltem Rechnen
Verbesserungsm¨ oglichkeiten
I Triple-DES:EKDES3
1,K2,K3(w) =EKDES
1 (DKDES
2 (EKDES
3 (w)))
I Multi-DES: EKDESMulti
1,K2,K3 (a1,a2,a3) =EKDES
1 (a1)EKDES
2 (a2)EKDES
3 (a3)
I DESX:EK,KDESX
1,K2(w) =K2⊕EKDES(K1⊕(w))
wobeiK ein 56-Bit-Schl¨ussel ist undK1,K264-Bit-Schl¨ussel sind.
Ist ,,sicher” vor vollst¨andiger Schl¨usselsuche.
I Kompliziertere Mischung aus zwei oder mehreren Verfahren.
C-36 DES IDEA AES Moderne Angriffe
Das Verfahren (2:28) Walter Unger Z
Variationen
I Alternative S-Boxen (es gibt zwar bessere S-Boxen, als die im DES-Verfahren, sie sind aber schwer zu finden).
I Ri in zwei H¨alften aufteilen und dann datenabh¨angig vertauschen (RDES)
I Ver¨andere S-Boxen anhand eines zus¨atzlichen Schl¨ussels
I Ordne die Box in der Folge 2,4,6,7,3,1,5,8
I Auf 16 Bits des neuen Schl¨ussels f¨uhre Vertauschungen aus:
1. Bit: = 1 : tausche 1.,2. Zeile mit 3.,4. Zeile in 1. S-Box 2. Bit: = 1 : tausche 1. bis 4. Spalte mit 5. bis 8. Spalte in 1.
S-Box
... Fortsetzung bis zur 8. S-Box
I Aus 32 weiteren Bits des Schl¨ussels bilde 8 Bl¨ocke `a 4 Bits.
Dann ¨andere jeden Eintrag in S-Box durch Operation XOR.
Operationsmodi (modes of operation)
I Mit DES definiert worden.
I ecb: Electronic Codebook Mode.
I cbc: Cipher-Block Chaining Mode.
I cfb: Cipher Feedback Mode.
I ofb: Output Feedback Mode.
C-36 DES IDEA AES Moderne Angriffe
Operationsmodi (2:30) Walter Unger Z
ecb: Electronic Codebook Mode
I Sein=l·r.
I SeiEs : ZZr2→ZZr2gegeben.
I SeiDs: ZZr2→ZZr2analog gegeben.
I Beispielsweise DES.
I Dann ergibt sich der ecb Modus durch:
I Esecb: (ZZr2)l →(ZZr2)l.
I wi ∈ZZr2 f¨ur 16i6l.
I Esecb(w1,w2,· · ·,wl)7→Es(w1),Es(w2),· · · ,Es(wl)
I Dsecb: (ZZr2)l→(ZZr2)l.
I ci∈ZZr2f¨ur 16i6l.
I Dsecb(c1,c2,· · ·,cl)7→Ds(c1),Ds(c2),· · · ,Ds(cl)
cbc: Cipher-Block Chaining Mode
I Sein=l·r.
I SeiEs : ZZr2→ZZr2undDs : ZZr2→ZZr2gegeben.
I Dann ergibt sich der cbc Modus durch:
I Seic0ein Zufallsstring aus ZZr2.
I Escbc: (ZZr2)l →(ZZr2)l+1.
I Escbc(w1,w2,· · · ,wl)7→c0,c1,c2,· · ·,cl.
I Mitci=Es(wi⊕ci−1) f¨ur 16i6l.
I Dscbc : (ZZr2)l+1→(ZZr2)l.
I Dscbc(c0,c1,c2,· · ·,cl)7→w1,w2,· · · ,wl I Mitwi =Ds(ci)⊕ci−1f¨ur 16i6l.
C-36 DES IDEA AES Moderne Angriffe
Operationsmodi (2:32) Walter Unger Z
cfb: Cipher Feedback Mode.
I Sein=l·r undt >r.
I SeiEs : ZZt2→ZZt2undDs : ZZt2→ZZt2gegeben.
I Seienmsbx(w) diex h¨ochstwertigsten Bits vonw.
I Seienlsbx(w) diex niedrigstwertigsten Bits vonw.
I Dann ergibt sich der cfb Modus durch:
I Es,xcfb1: (ZZr2)l →(ZZr2)l.
I Es,xcfb
1(w1,w2,· · · ,wl)7→c1,c2,· · · ,cl.
I Mitxi∈ZZt2und wi∈ZZr2f¨ur 16i6l.
I Mit
ci =wi⊕msbr(Es(xi)) f¨ur 16i6l.
I Und mit
xi =wi⊕lsbt−r(Es(xi−1)◦ci−1 f¨ur 26i6l.
ofb: Output Feedback Mode.
I Sein=l·r undt >r.
I SeiEs : ZZt2→ZZt2undDs : ZZt2→ZZt2gegeben.
I Seienmsbx(w) diex h¨ochstwertigsten Bits vonw.
I Seienlsbx(w) diex niedrigstwertigsten Bits vonw.
I Dann ergibt sich der ofb Modus durch:
I Es,xofb1: (ZZr2)l →(ZZr2)l.
I Es,xofb
1(w1,w2,· · · ,wl)7→c1,c2,· · · ,cl.
I Mitxi∈ZZt2und wi∈ZZr2f¨ur 16i6l.
I Mit
ci =wi⊕msbr(Es(xi)) f¨ur 16i6l.
I Und mit
xi=Es(xi−1) f¨ur 26i6l.
C-36 DES IDEA AES Moderne Angriffe
Idee (2:34) Walter Unger Z
IDEA ( ¨ Uberblick)
I International Data Encryption Algorithm
I Lizenzinhaber: Schweizer Ascom AG
I Patent Europa bis: 16. Mai 2011 (rechtliche Zweifel).
I Patent USA: 2010.
I Verschl¨usselt 64-Bit-Bl¨ocke
I Schl¨usselgr¨oße: 128 Bits
I Arbeitet intern mit Bl¨ocken aus 16 Bits
I Die Idee von IDEA: Mischen von drei Operationen, die keine algebraischen Gemeinsamkeiten haben. Verwendet werden hierbei:
I ⊕ XOR
I + Addition modulo 216
I Multiplikation modulo 216+ 1 Dabei wird 0 als 216 interpretiert.
IDEA (Teil 1)
Uberblick:¨
Y?1 Y?2 Y?3 Y?4
Schl¨ussel vonZ1(9)bisZ4(9)
extra Runde ? ? ? ?
Schl¨ussel vonZ1(8)bisZ6(8)
achte Runde ? ? ? ?
Schl¨ussel vonZ1(7)bisZ6(7)
siebente Runde ? ? ? ?
Schl¨ussel vonZ1(6)bisZ6(6)
sechste Runde ? ? ? ?
Schl¨ussel vonZ1(5)bisZ6(5)
f¨unfte Runde ? ? ? ?
Schl¨ussel vonZ1(4)bisZ6(4)
vierte Runde ? ? ? ?
Schl¨ussel vonZ1(3)bisZ6(3)
dritte Runde ? ? ? ?
Schl¨ussel vonZ1(2)bisZ6(2)
zweite Runde ? ? ? ?
Schl¨ussel vonZ1(1)bisZ6(1)
erste Runde ? ? ? ?
X1 X2 X3 X4
C-36 DES IDEA AES Moderne Angriffe
Das Verfahren (2:36) Walter Unger Z
IDEA (Teil 2)
Aufbau der Teilschl¨ussel:
I Teile die 128 Bits in 8 Teilschl¨ussel der L¨ange 16 auf.
I Damit erh¨alt manZ1(1) bisZ6(1),Z1(2) undZ2(2).
I Danach schiebt man zyklisch den 128-Bit-Schl¨ussel um 25 Positionen nach links.
I Teile die verschobenen 128 Bits in 8 Teilschl¨ussel der L¨ange 16 auf.
I Damit erh¨alt manZ3(2) bisZ6(2) undZ1(3) undZ4(3).
I Man wiederholt das Ganze, bis manZ4(9) erhalten hat.
IDEA (Teil 3)
Z1(r)- iq
?
?
-
? Z2(r)-
?
?
-
? Z3(r)-
?
?
? Z4(r)- iq
?
?
?
i
i
HH i
i
Z5(r)- iq-
?
? iqZ6(r)
i
? i
?
?
-
?
-
C-36 DES IDEA AES Moderne Angriffe
Das Verfahren (2:38) Walter Unger Z
IDEA (Teil 4)
Finale Runde
Z1(9) - mr?
Z2(9) -
?
Z3(9) -
?
Z4(9) - mr?
H HH
Entschl¨usselung:
Die Entschl¨usselung erfolgt nach demselben Schema mit Hilfe der inversen Teilschl¨ussel.
IDEA (Entschl¨ usselung 1)
Erinnerung:
Y?1 Y?2 Y?3 Y?4
Schl¨ussel vonZ1(9)bisZ4(9)
extra Runde ? ? ? ?
Schl¨ussel vonZ1(8)bisZ6(8)
achte Runde ? ? ? ?
Schl¨ussel vonZ1(7)bisZ6(7)
siebente Runde ? ? ? ?
Schl¨ussel vonZ1(6)bisZ6(6)
sechste Runde ? ? ? ?
Schl¨ussel vonZ1(5)bisZ6(5)
f¨unfte Runde ? ? ? ?
Schl¨ussel vonZ1(4)bisZ6(4)
vierte Runde ? ? ? ?
Schl¨ussel vonZ1(3)bisZ6(3)
dritte Runde ? ? ? ?
Schl¨ussel vonZ1(2)bisZ6(2)
zweite Runde ? ? ? ?
Schl¨ussel vonZ1(1)bisZ6(1)
erste Runde ? ? ? ?
X1 X2 X3 X4
C-36 DES IDEA AES Moderne Angriffe
Das Verfahren (2:40) Walter Unger Z
IDEA (Entschl¨ usselung 2)
Verschl¨usselung Z1(8)-fp
?
?
-
?Z2(8)-
?
? -
? Z3(8)-
?
?
? Z4(8)-fp
?
?
?
f
f
HH f
f
Z5(8)- fp-
?
?fpZ6(8)
f
? f
?
?
-
?
-
Z1(9)-fp?
Z2(9)- ?
Z3(9)- ?
Z4(9)-fp?
HH
t t t t
t t t t
t t t t
t t t t
F
A B C D
A0 B0 C0 D0
A0=A⊕Fr(A⊕C,B⊕D) A=A0⊕ −Fr(A⊕C,B⊕D)
A⊕ −A0=C⊕ −C0bzw.
A⊕ −C=A0⊕ −C0
Entschl¨usselung Z1(9)-−1 fp
?
?
-
?−Z2-(9)
?
? -
? −Z3-(9)
?
?
?Z4(9)-−1 fp
?
?
?
f
f
HH f
f
Z5(8)-fp-
?
?fpZ6(8)
f
? f
?
?
-
?
-
t t t t
t t t t
t t t t
F
A B C D
A0 B0 C0 D0
A⊕A0=C⊕C0 A=A0⊕Fr(A0⊕C0,B0⊕D0)
IDEA (Entschl¨ usselung 3)
Schl¨ussel zur Verschl¨usselung und Entschl¨usselung
1. Z1(1) Z2(1) Z3(1) Z4(1) Z5(1) Z6(1) Z1(9)−1 −Z2(9) −Z3(9) Z4(9)−1 Z5(8) Z6(8) 2. Z1(2) Z2(2) Z3(2) Z4(2) Z5(2) Z6(2) Z1(8)−1 −Z3(8) −Z2(8) Z4(8)−1 Z5(7) Z6(7) 3. Z1(3) Z2(3) Z3(3) Z4(3) Z5(3) Z6(3) Z1(7)−1 −Z3(7) −Z2(7) Z4(7)−1 Z5(6) Z6(6) 4. Z1(4) Z2(4) Z3(4) Z4(4) Z5(4) Z6(4) Z1(6)−1 −Z3(6) −Z2(6) Z4(6)−1 Z5(5) Z6(5) 5. Z1(5) Z2(5) Z3(5) Z4(5) Z5(5) Z6(5) Z1(5)−1 −Z3(5) −Z2(5) Z4(5)−1 Z5(4) Z6(4) 6. Z1(6) Z2(6) Z3(6) Z4(6) Z5(6) Z6(6) Z1(4)−1 −Z3(4) −Z2(4) Z4(4)−1 Z5(3) Z6(3) 7. Z1(7) Z2(7) Z3(7) Z4(7) Z5(7) Z6(7) Z1(3)−1 −Z3(3) −Z2(3) Z4(3)−1 Z5(2) Z6(2) 8. Z1(8) Z2(8) Z3(8) Z4(8) Z5(8) Z6(8) Z1(2)−1 −Z3(2) −Z2(2) Z4(2)−1 Z5(1) Z6(1) 9. Z1(9) Z2(9) Z3(9) Z4(9) Z1(1)−1 −Z2(1) −Z3(1) Z4(1)−1
C-36 DES IDEA AES Moderne Angriffe
Idee (2:42) Walter Unger Z
Einleitung zu AES
I Nachfolger von DES.
I Anforderungen:
I symmetrischer Blockchiffre.
I mindestens 128 Bit lange Bl¨ocke.
I Schl¨ussell¨angen: 128, 192 und 256 Bit.
I leicht in Hard- und Software zu implementieren.
I ¨uberdurchschnittliche Performance.
I sicher gegen alle bekannten Methoden der Kryptoanalyse.
I auch gegen Power- und Timing-Attacken.
I geeignet f¨ur Smartcards.
I Ohne patentrechtlichen Anspr¨uche, unentgeltlich nutzbar.
I Sieger 2000: Rijndael
I Rijndael: Block und Schl¨ussel 128 +i·32 Bits.
I AES: Block 128 Bits und Schl¨ussel 128, 192, 256 Bits.
I Intern auf 8 Bit Bl¨ocke aufgebaut.
Einleitung zu AES
I Bytes aus 8 Bit.
I 4 Bytes in einer Spalte.
I Mindestens 4 Spalten im Datenblock (Schl¨ussel).
I oder auch mehr.
a0,0
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 a4,0
a4,1
a4,2
a4,3 a5,0
a5,1
a5,2
a5,3
C-36 DES IDEA AES Moderne Angriffe
Idee (2:44) Walter Unger Z
Einleitung zu AES
I Eingabe:p1,p2, . . . ,p4·Nb−1mitai,j=pi+4j (06i<4,06j <Nb)
I Ausgabe:c1,c2, . . . ,c4·Nb−1mitai,j=pi+4j (06i<4,06j <Nb)
I Schl¨ussel:z1,z2, . . . ,k4·Nk−1 mitki,j =pi+4j
(06i <4,06j<Nk)
I Dieai,j heißen Statevon AES.
I Der State wird von Plaintext zum Ciphertext umgewandelt.
ak0,0
ak0,1 ak0,2
ak0,3
ak1,0
ak1,1 ak1,2
ak1,3
ak2,0
ak2,1 ak2,2
ak2,3
ak3,0
ak3,1 ak3,2
ak3,3
k4,0
k4,1 k4,2
k4,3
k5,0
k5,1 k5,2
k5,3