Mars Attacks! Revisited. Differential Attack 12 Rounds of the MARS - - PowerPoint PPT Presentation

mars attacks revisited
SMART_READER_LITE
LIVE PREVIEW

Mars Attacks! Revisited. Differential Attack 12 Rounds of the MARS - - PowerPoint PPT Presentation

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion Mars Attacks! Revisited. Differential Attack 12 Rounds of the MARS Core and Defeating the Complex MARS Key Schedule INDOCRYPT11 Michael Gorski,


slide-1
SLIDE 1

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Mars Attacks! Revisited.

Differential Attack 12 Rounds of the MARS Core and Defeating the Complex MARS Key Schedule INDOCRYPT’11 Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Bauhaus-University Weimar, Germany

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 1 / 27

slide-2
SLIDE 2

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Motivation

What is MARS?

  • block cipher with 128 bit block size
  • developed 1998 by a team from IBM as a candidate for the

Advanced Encryption Standard (AES)

  • one of five finalists in the AES competition 2001
  • no attacks from 2001 till 2009

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 2 / 27

slide-3
SLIDE 3

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Motivation (cont’d)

Why is MARS an interesting subject to study?

  • full AES is theoretically broken

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 3 / 27

slide-4
SLIDE 4

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Motivation (cont’d)

Why is MARS an interesting subject to study?

  • full AES is theoretically broken
  • many attacks on AES base on exploiting the relatively weak

key schedule of AES

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 3 / 27

slide-5
SLIDE 5

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Motivation (cont’d)

Why is MARS an interesting subject to study?

  • full AES is theoretically broken
  • many attacks on AES base on exploiting the relatively weak

key schedule of AES

  • MARS structure differs from other ciphers (mixing rounds)

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 3 / 27

slide-6
SLIDE 6

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Motivation (cont’d)

Why is MARS an interesting subject to study?

  • full AES is theoretically broken
  • many attacks on AES base on exploiting the relatively weak

key schedule of AES

  • MARS structure differs from other ciphers (mixing rounds)
  • key scheduler much stronger/ more complex than key

scheduler of AES

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 3 / 27

slide-7
SLIDE 7

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

What we did

We propose two attacks:

  • extend 11-round distinguisher by Kelsey et al to 12 core

rounds

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 4 / 27

slide-8
SLIDE 8

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

What we did

We propose two attacks:

  • extend 11-round distinguisher by Kelsey et al to 12 core

rounds

  • establish first key recovery attack on the MARS key schedule,

using the distinguisher to recover the secret key

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 4 / 27

slide-9
SLIDE 9

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Outline

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 5 / 27

slide-10
SLIDE 10

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

MARS

A i−

1

B i−

1

C i−

1

Di−

1

Ai Bi Ci Di

Plaintext Ciphertext Whitening Rounds Whitening Rounds Core Core

  • 128 bit block size
  • internal state:

4 × 32 bit words (A, B, C, D)

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 6 / 27

slide-11
SLIDE 11

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

MARS - Structure of the Core Rounds

E

<<< 13

A B C D

E

<<< 13

8 x forward round 8 x backward round

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 7 / 27

slide-12
SLIDE 12

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Distinguisher and Subkey Recovery

Exploits differential properties of the MARS core

  • 3-round differential characteristic with probability 1

(0, 0, 0, α) → (β, 0, 0, 0)

  • distinguisher uses the 3-rounds characteristic twice,

for rounds 4 - 6 and 7 - 9

  • differences, if multiplied with a constant,

propagate only in the most significant bits (used in round 10)

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 8 / 27

slide-13
SLIDE 13

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Distinguisher and Subkey Recovery (cont’d)

For each of the 2154 subkey candidates of the first three rounds do:

Round 1 Round 2 Round 3

E E

<<< 13 <<< 13

E

<<< 13

(0,0,c,d) (0,a,b,0)

A B C D

K+ K4 K5 K6 K7 K9 K* K* K* K+

  • 1. choose 256 texts with

arbitrary differences (0, a, b, 0)

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 9 / 27

slide-14
SLIDE 14

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Distinguisher and Subkey Recovery (cont’d)

For each of the 2154 subkey candidates of the first three rounds do:

Round 1 Round 2 Round 3

E E

<<< 13 <<< 13

E

<<< 13

(0,0,c,d) (0,a,b,0)

A B C D

K+ K4 K5 K6 K7 K9 K* K* K* K+

  • 1. choose 256 texts with

arbitrary differences (0, a, b, 0)

  • 2. partially decrypt

(0, a, b, 0) to reach (A, B, C, D)

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 9 / 27

slide-15
SLIDE 15

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Distinguisher and Subkey Recovery (cont’d)

For each of the 2154 subkey candidates of the first three rounds do:

Round 1 Round 2 Round 3

E E

<<< 13 <<< 13

E

<<< 13

(0,0,c,d) (0,a,b,0)

A B C D

K+ K4 K5 K6 K7 K9 K* K* K* K+

  • 1. choose 256 texts with

arbitrary differences (0, a, b, 0)

  • 2. partially decrypt

(0, a, b, 0) to reach (A, B, C, D)

  • 3. create 256 batches

with 302 texts each with difference (A, B, C, D) between batches

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 9 / 27

slide-16
SLIDE 16

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Distinguisher and Subkey Recovery (cont’d)

For each of the 2154 subkey candidates of the first three rounds do:

E

<<< 13

((?6,a,06,?19),0,0,0)

Round 10 Round 11 Round 12

E

<<< 13

E

<<< 13

((?15,a,06,?10),?,?,?) (?,?,?,(?2,a,06,?23)) K+ K26 K27 K*

  • 5. partially decrypt all

ciphertexts with each

  • f the 232 subkey

candidates for Round 12 and extract the bit “a” for each ciphertext

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 10 / 27

slide-17
SLIDE 17

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Distinguisher and Subkey Recovery (cont’d)

For each of the 2154 subkey candidates of the first three rounds do:

E

<<< 13

((?6,a,06,?19),0,0,0)

Round 10 Round 11 Round 12

E

<<< 13

E

<<< 13

((?15,a,06,?10),?,?,?) (?,?,?,(?2,a,06,?23)) K+ K26 K27 K*

  • 5. partially decrypt all

ciphertexts with each

  • f the 232 subkey

candidates for Round 12 and extract the bit “a” for each ciphertext

  • 6. build 256 strings of

302 “a” bits for each batch

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 10 / 27

slide-18
SLIDE 18

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Distinguisher and Subkey Recovery (cont’d)

For each of the 2154 subkey candidates of the first three rounds do:

E

<<< 13

((?6,a,06,?19),0,0,0)

Round 10 Round 11 Round 12

E

<<< 13

E

<<< 13

((?15,a,06,?10),?,?,?) (?,?,?,(?2,a,06,?23)) K+ K26 K27 K*

  • 7. store and sort the

resulting bit strings in order of the chosen plaintexts

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 11 / 27

slide-19
SLIDE 19

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Distinguisher and Subkey Recovery (cont’d)

For each of the 2154 subkey candidates of the first three rounds do:

E

<<< 13

((?6,a,06,?19),0,0,0)

Round 10 Round 11 Round 12

E

<<< 13

E

<<< 13

((?15,a,06,?10),?,?,?) (?,?,?,(?2,a,06,?23)) K+ K26 K27 K*

  • 7. store and sort the

resulting bit strings in order of the chosen plaintexts

  • 8. compare the bit

strings pairwise to identify the correct subkey candidate

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 11 / 27

slide-20
SLIDE 20

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

What we got from the Distinguisher

valid subkeys for {K +

4 , K ∗ 5 , K + 6 , K ∗ 7 , K ∗ 9 , K + 26, K ∗ 27(9 bit)}.

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 12 / 27

slide-21
SLIDE 21

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

MARS Key Schedule

  • expands 256-bit secret key to 40 subkeys
  • four iterations, each iteration generates 10 round keys

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 13 / 27

slide-22
SLIDE 22

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

MARS Key Schedule

  • expands 256-bit secret key to 40 subkeys
  • four iterations, each iteration generates 10 round keys
  • uses internal array T[0 . . . 14] with 15 × 32-bit words

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 13 / 27

slide-23
SLIDE 23

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

MARS Key Schedule

  • expands 256-bit secret key to 40 subkeys
  • four iterations, each iteration generates 10 round keys
  • uses internal array T[0 . . . 14] with 15 × 32-bit words
  • three phases per iteration:

◮ linear transformation ◮ four stirring rounds ◮ removing patterns from multiplication keys Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 13 / 27

slide-24
SLIDE 24

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Key Schedule (cont’d)

  • Initialization (T[0] . . . T[7] = key; T[8] . . . T[14] = 0)

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 14 / 27

slide-25
SLIDE 25

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Key Schedule (cont’d)

  • Initialization (T[0] . . . T[7] = key; T[8] . . . T[14] = 0)

and four iterations of. . .

  • Linear transformation

for (i = 0, . . . , 14) T[i] = T[i]⊕((T[(i−7) mod 15]⊕T[(i−2) mod 15]) ≪ 3)⊕(4i+j)

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 14 / 27

slide-26
SLIDE 26

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Key Schedule (cont’d)

  • Initialization (T[0] . . . T[7] = key; T[8] . . . T[14] = 0)

and four iterations of. . .

  • Linear transformation

for (i = 0, . . . , 14) T[i] = T[i]⊕((T[(i−7) mod 15]⊕T[(i−2) mod 15]) ≪ 3)⊕(4i+j)

  • Four stirring rounds

for (k = 1, . . . , 4) for (i = 0, . . . , 14) T[i] = (T[i] + S[low 9 bits of T[(i − 1) mod 15]]) ≪ 9

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 14 / 27

slide-27
SLIDE 27

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Key Schedule (cont’d)

  • Initialization (T[0] . . . T[7] = key; T[8] . . . T[14] = 0)

and four iterations of. . .

  • Linear transformation

for (i = 0, . . . , 14) T[i] = T[i]⊕((T[(i−7) mod 15]⊕T[(i−2) mod 15]) ≪ 3)⊕(4i+j)

  • Four stirring rounds

for (k = 1, . . . , 4) for (i = 0, . . . , 14) T[i] = (T[i] + S[low 9 bits of T[(i − 1) mod 15]]) ≪ 9

  • Storing next 10 keys

for (i = 0, . . . , 9) K[10j + i] = T[4i mod 15]

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 14 / 27

slide-28
SLIDE 28

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Key Schedule (cont’d)

  • Initialization (T[0] . . . T[7] = key; T[8] . . . T[14] = 0)

and four iterations of. . .

  • Linear transformation

for (i = 0, . . . , 14) T[i] = T[i]⊕((T[(i−7) mod 15]⊕T[(i−2) mod 15]) ≪ 3)⊕(4i+j)

  • Four stirring rounds

for (k = 1, . . . , 4) for (i = 0, . . . , 14) T[i] = (T[i] + S[low 9 bits of T[(i − 1) mod 15]]) ≪ 9

  • Storing next 10 keys

for (i = 0, . . . , 9) K[10j + i] = T[4i mod 15]

  • Modification of multiplication keys

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 14 / 27

slide-29
SLIDE 29

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

MITM Attack on the MARS Key Schedule

  • Kelsey et al. finished after recovering subkeys:
  • subkeys from 3rd and 4th iteration

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 15 / 27

slide-30
SLIDE 30

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

MITM Attack on the MARS Key Schedule

  • Kelsey et al. finished after recovering subkeys:
  • subkeys from 3rd and 4th iteration
  • difficult to invert multiple iterations

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 15 / 27

slide-31
SLIDE 31

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

MITM Attack on the MARS Key Schedule

  • Kelsey et al. finished after recovering subkeys:
  • subkeys from 3rd and 4th iteration
  • difficult to invert multiple iterations
  • idea: mount a Meet-in-the-Middle-Attack on the first iteration

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 15 / 27

slide-32
SLIDE 32

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Key Schedule (cont’d)

  • Initialization (T[0] . . . T[7] = key; T[8] . . . T[14] = 0)

and four iterations of. . .

  • Linear transformation

for (i = 0, . . . , 14) T[i] = T[i]⊕((T[(i−7) mod 15]⊕T[(i−2) mod 15]) ≪ 3)⊕(4i+j)

  • Four stirring rounds

for (k = 1, . . . , 4) for (i = 0, . . . , 14) T[i] = (T[i] + S[low 9 bits of T[(i − 1) mod 15]]) ≪ 9

  • Storing next 10 keys

for (i = 0, . . . , 9) K[10j + i] = T[4i mod 15]

  • Modification of multiplication keys

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 16 / 27

slide-33
SLIDE 33

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

MITM - Forward Step

27 27 24 24 21 21 18 18 24 15 21 12 18 9 15 12 6 6 9 3 3 5 6 6 9 9 6 3 3 3 T[0] T[1] T[2] T[3] T[4] T[5] T[6] T[7] T[8] T[9] T[10] T[11] T[12] T[13] T[14] 18 18 15 15 12 12 9 15 6 12 9 6 9 9 32 12 12 15 15 15 12 15 15 18 21 15 3 18 T[0] T[1] T[2] T[3] T[4] T[5] T[6] T[7] T[8] T[9] T[10] T[11] T[12] T[13] T[14] 9 9 6 6 3 3 6 18 18 32 21 21 24 24 24 21 21 T[0] T[1] T[2] T[3] T[4] T[5] T[6] T[7] T[8] T[9] guessed bit sequence unknown bit sequence known bit sequence comparable bit sequence

  • Linear Transformation:

T[i] = T[i] ⊕ ((T[i − 7 mod 15] ⊕ T[i − 2 mod 15]) ≪ 3) ⊕ (4i + j) Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 17 / 27

slide-34
SLIDE 34

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

MITM - Forward Step

27 27 24 24 21 21 18 18 24 15 21 12 18 9 15 12 6 6 9 3 3 5 6 6 9 9 6 3 3 3 T[0] T[1] T[2] T[3] T[4] T[5] T[6] T[7] T[8] T[9] T[10] T[11] T[12] T[13] T[14] 18 18 15 15 12 12 9 15 6 12 9 6 9 9 32 12 12 15 15 15 12 15 15 18 21 15 3 18 T[0] T[1] T[2] T[3] T[4] T[5] T[6] T[7] T[8] T[9] T[10] T[11] T[12] T[13] T[14] 9 9 6 6 3 3 6 18 18 32 21 21 24 24 24 21 21 T[0] T[1] T[2] T[3] T[4] T[5] T[6] T[7] T[8] T[9] guessed bit sequence unknown bit sequence known bit sequence comparable bit sequence

  • First Stirring Round:

T[i] = (T[i] + S[low 9 bits of T[i − 1 mod 15]]) ≪ 9 Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 18 / 27

slide-35
SLIDE 35

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

MITM - Forward Step

27 27 24 24 21 21 18 18 24 15 21 12 18 9 15 12 6 6 9 3 3 5 6 6 9 9 6 3 3 3 T[0] T[1] T[2] T[3] T[4] T[5] T[6] T[7] T[8] T[9] T[10] T[11] T[12] T[13] T[14] 18 18 15 15 12 12 9 15 6 12 9 6 9 9 32 12 12 15 15 15 12 15 15 18 21 15 3 18 T[0] T[1] T[2] T[3] T[4] T[5] T[6] T[7] T[8] T[9] T[10] T[11] T[12] T[13] T[14] 9 9 6 6 3 3 6 18 18 32 21 21 24 24 24 21 21 T[0] T[1] T[2] T[3] T[4] T[5] T[6] T[7] T[8] T[9] guessed bit sequence unknown bit sequence known bit sequence comparable bit sequence

  • Second Stirring Round:

T[i] = (T[i] + S[low 9 bits of T[i − 1 mod 15]]) ≪ 9 Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 19 / 27

slide-36
SLIDE 36

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

MITM - Backward Step

  • our distinguisher recovers five subkeys from first iteration:

{K +

4 , K ∗ 5 , K + 6 , K ∗ 7 , K ∗ 9 }

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 20 / 27

slide-37
SLIDE 37

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

MITM - Backward Step

  • our distinguisher recovers five subkeys from first iteration:

{K +

4 , K ∗ 5 , K + 6 , K ∗ 7 , K ∗ 9 }

  • attack uses four subkeys that are mapped to T[i]s as follows:

{K +

4 , K ∗ 5 , K + 6 , K ∗ 9 } → {T[1], T[5], T[9], T[6]}

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 20 / 27

slide-38
SLIDE 38

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

MITM - Backward Step

  • Modification of multiplication keys
  • invert multiplication keys {K ∗

5 , K ∗ 9 }

  • lookup table for K → T projections
  • max. 102 ≈ 27 candidates
  • 214 candidates

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 21 / 27

slide-39
SLIDE 39

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

MITM - Backward Step

  • Modification of multiplication keys
  • invert multiplication keys {K ∗

5 , K ∗ 9 }

  • lookup table for K → T projections
  • max. 102 ≈ 27 candidates
  • 214 candidates
  • Two stirring rounds backwards
  • require least significant nine bits for each of our four words

T[i] for each stirring round

  • know the bits for T[6] after guessing T[5]
  • 29·3·2 op. = 254 op.
  • 214 · 254 op. = 268 op. for backward step

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 21 / 27

slide-40
SLIDE 40

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

MITM Attack on the MARS Key Schedule

T[0] T[1] T[14]

Forwards Step

T[0] T[1] T[14]

Backwards Step K4 K6 K5 K7 K9

107 bit Linear Transformation guess 210 bits from secret key 2241 268 2202 Op. Op. candidates subkeys 107 bit 2 Stirring Rounds Key Masking 2 Stirring Rounds compare

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 22 / 27

slide-41
SLIDE 41

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Attack Analysis

Distinguisher operations:

  • 265 Texts ·2186 Keys ·3 Executions ≈ 2252 Encryptions
  • 3 executions are required as one 3-round differential for round 7-9

has probability = 1

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 23 / 27

slide-42
SLIDE 42

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Attack Analysis

Forward step:

◮ guessing the bits of T[0] . . . T[7]: 2210 ◮ guessing 5 bit of T[6] and 3 bit of T[7]: 28 ◮ carry bit for 23 additions: 223 ◮ summarize: 2241

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 24 / 27

slide-43
SLIDE 43

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Attack Analysis

Forward step:

◮ guessing the bits of T[0] . . . T[7]: 2210 ◮ guessing 5 bit of T[6] and 3 bit of T[7]: 28 ◮ carry bit for 23 additions: 223 ◮ summarize: 2241

Backward step:

◮ nine bits for T[0], T[4], T[8] (two stirring rounds): 254 ◮ multiplication keys (from possible table entries): 214 ◮ summarize: 268

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 24 / 27

slide-44
SLIDE 44

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Attack Analysis

  • probability of finding a matching pair of 107 bits is 2−107.

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 25 / 27

slide-45
SLIDE 45

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Attack Analysis

  • probability of finding a matching pair of 107 bits is 2−107.
  • combine forward and backward step:

2241 · 268 · 2−107 = 2202.

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 25 / 27

slide-46
SLIDE 46

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Attack Analysis

  • probability of finding a matching pair of 107 bits is 2−107.
  • combine forward and backward step:

2241 · 268 · 2−107 = 2202.

  • We gather 2202 candidates for 210 bits of the secret key
  • 2202 · 246 = 2248 Op. for final testing

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 25 / 27

slide-47
SLIDE 47

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Conclusion

  • we have . . .
  • extended the 11-round attack by Kelsey et al to a differential

attack on 12 rounds

  • suggested a MITM attack on the MARS key schedule that

allows to recover the secret key more efficiently than exhaustive search

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 26 / 27

slide-48
SLIDE 48

MARS Distinguisher and Subkey Recovery Recovery of the secret key Attack Analysis Conclusion

Recent Attacks on MARS/Analysis

Type Rounds Texts Bytes Op. Reference Differential 12C 265 269 2252 this work

  • Amp. Boomerang

11C 265 270 2229 [KKS00]

  • Amp. Boomerang

6M, 6C 269 273 2197 [KS00] MITM 16M, 5C 8 2236 2232 [KS00]

  • Diff. MITM

16M, 5C 250 2197 2247 [KS00] Impossible Diff. 8C

  • [BF00]

Differential 8M, 8C 2105 2109 2231 [Pes09] Table: Op: operations, C: core rounds, M: mixing rounds

Michael Gorski, Thomas Knapke, Eik List, Stefan Lucks, Jakob Wenzel Mars Attacks! Revisited! 27 / 27