• Keine Ergebnisse gefunden

Algorithmische Kryptographie Kapitel 2 Moderne Sysmetrische Verfahren

N/A
N/A
Protected

Academic year: 2022

Aktie "Algorithmische Kryptographie Kapitel 2 Moderne Sysmetrische Verfahren"

Copied!
58
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Kapitel 2

Moderne Sysmetrische Verfahren

Walter Unger

Lehrstuhl f¨ur Informatik 1

30. Januar 2009

(2)

C-36 Idee

Das Verfahren DES

Idee

Das Verfahren Operationsmodi IDEA

Idee

Das Verfahren AES

Idee

Das Verfahren Moderne Angriffe

(3)

C-36 (Idee)

Eingabe: ···

Ausgabe: ? ···

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?···

? -

? -

? -

? -

? -

? -

? -

? -

? -

? -

? -

? -

? -

? -

? -

? -

? -

? -···

Schl¨ussel

?

entspricht Zufallsstring

(4)

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

(5)

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.

(6)

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)

(7)

Das C-36 (M-209) Verfahren (Teil 2)

Aufbau:

I

Sei

M

eine 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

M

entsteht 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}

6

wird also durch die Hit-number eine

Zahl aus

{0, . . . ,

27} erzeugt.

(8)

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 000000001100001100010110001

100100100010100010001001010 010010000100010011000000100

000001000001000001000010000

Ergebnis ist: 011012012102002002110220001

Hit-number von (011001) ist 15.

(9)

Das C-36 (M-209) Verfahren (Teil 3)

I

Verschl¨ usselung:

I EM,HC−36: ZZ27→ZZ27

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: ZZ27 →ZZ27

I DM,HC−36(c0, . . . ,cn) =a0, . . . ,an mit

I ai = (#>1(viM)−ci) mod 27

(10)

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.

(11)

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”.

(12)

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 0i (mod 2) + sonst

000011

001100 011000 100001 000011 001100 011000 100001 000011

000101

010001 001001 101010 101001 110101 101101 001110

001101

(13)

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

?

? -

. . . . . .

. . . . . .

(14)

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

(15)

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

(16)

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

(17)

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

(18)

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

(19)

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

(20)

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.

(21)

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.

(22)

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).

(23)

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.

(24)

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

(25)

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

(26)

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

(27)

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

?

? -

. . . . . .

. . . . . .

(28)

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

(29)

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.

(30)

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.

(31)

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.

(32)

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)

(33)

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.

(34)

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.

(35)

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.

(36)

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.

(37)

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)

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

(38)

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.

(39)

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

?

?

-

?

-

(40)

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.

(41)

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)

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

(42)

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=AFr(AC,BD) A=A0⊕ −Fr(AC,BD)

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

AA0=CC0 A=A0Fr(A0C0,B0D0)

(43)

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

(44)

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.

(45)

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

(46)

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

Referenzen

ÄHNLICHE DOKUMENTE

Bei der Berechnung des Sichtbarkeitsgraphen einer Menge sich nicht kreuzender Linien- segmente wird eine Routine ben¨otigt, die im folgenden genauer analysiert werden soll?.

Ist die Parallelausf¨ uhrung eines ZKP auch wieder ZKP Ist die Seriellausf¨ uhrung eines ZKP auch wieder ZKP Wie macht man eine Identifikation mit ZKP als Basis Wie

Protokolle ZKP Wahlen Geld Was ist die Idee beim zweiten Protokoll mit Mischern (ohne Stimmkauf) (19:39) Walter Unger Z.

Was ist der Unterschied zwischen der Verschl¨ usselung mit Elliptischen Kurven und ElGamal (18:40) Walter Unger Z..

Welche Probleme kann man zum Aufbau eines Public-Key Systems nutzen Was ist eine One-Way Funktion.. Welche One-Way Funktionen gibt es Wie geht das Public-Key System

Threshold-Scheme und Homomorphe Verschl¨ usselung Durch ein Zentrum aufgebautes Wahlsystem Wahlsystem ohne Zentrum.. (15:1) Walter

I Der Lauscher misst die Ausrichtung des Photons, dann erzeugt er auch ein neues in gleicher Ausrichtung.. I Daher ist die Idee

I Bei den oben angegeben stochastischen Verfahren, werden Zeugen zuf¨ allig erzeugt und dann getestet, ob solch ein Zeuge widerlegt, das m eine Primzahl ist. I Je mehr Zeugen