A General Proof Framework for Recent AES Distinguishers Christina - - PowerPoint PPT Presentation

a general proof framework for recent aes distinguishers
SMART_READER_LITE
LIVE PREVIEW

A General Proof Framework for Recent AES Distinguishers Christina - - PowerPoint PPT Presentation

A General Proof Framework for Recent AES Distinguishers Christina Boura, Anne Canteaut, Daniel Coggia Inria, Project Team SECRET, France March 27, FSE 2019 Outline Definitions and the multiple-of-8 distinguisher Proof for the distinguisher


slide-1
SLIDE 1

A General Proof Framework for Recent AES Distinguishers

Christina Boura, Anne Canteaut, Daniel Coggia

Inria, Project Team SECRET, France

March 27, FSE 2019

slide-2
SLIDE 2

Outline

Definitions and the multiple-of-8 distinguisher Proof for the distinguisher Generalisation of this proof framework Adaptation to other SPN ciphers

Daniel Coggia 2/ 37

slide-3
SLIDE 3

Definitions and the multiple-of-8 distinguisher

Definitions and the multiple-of-8 distinguisher Proof for the distinguisher Generalisation of this proof framework Adaptation to other SPN ciphers

Daniel Coggia 3/ 37

slide-4
SLIDE 4

Definitions and the multiple-of-8 distinguisher

Some definitions...

xi ∈ F28     x0 x4 x8 x12 x1 x5 x9 x13 x2 x6 x10 x14 x3 x7 x11 x15     ∈ F16

28

Daniel Coggia 4/ 37

slide-5
SLIDE 5

Definitions and the multiple-of-8 distinguisher

Some definitions...

xi ∈ F28     x0 x4 x8 x12 x1 x5 x9 x13 x2 x6 x10 x14 x3 x7 x11 x15     ∈ F16

28

    x0 x1 x2 x3     ∈ C0 Columns

Daniel Coggia 4/ 37

slide-6
SLIDE 6

Definitions and the multiple-of-8 distinguisher

Some definitions...

xi ∈ F28     x0 x4 x8 x12 x1 x5 x9 x13 x2 x6 x10 x14 x3 x7 x11 x15     ∈ F16

28

    x0 x1 x2 x3     ∈ C0 Columns     x0 y0 x1 y1 x2 y2 x3 y3     ∈ C{1,3} I ⊆ {0, . . . , 3} : CI =

i∈I Ci.

Daniel Coggia 4/ 37

slide-7
SLIDE 7

Definitions and the multiple-of-8 distinguisher

    x0 x1 x2 x3     ∈ D0 Diagonals DI

ShiftRows

− − − − − − → CI

Daniel Coggia 5/ 37

slide-8
SLIDE 8

Definitions and the multiple-of-8 distinguisher

    x0 x1 x2 x3     ∈ D0 Diagonals     x0 x1 x2 x3     ∈ ID0 Anti-diagonals CI

ShiftRows

− − − − − − → IDI

Daniel Coggia 5/ 37

slide-9
SLIDE 9

Definitions and the multiple-of-8 distinguisher

    x0 x1 x2 x3     ∈ D0 Diagonals     x0 x1 x2 x3     ∈ ID0 Anti-diagonals     2 · x0 x1 x2 3 · x3 x0 x1 3 · x2 2 · x3 x0 3 · x1 2 · x2 x3 3 · x0 2 · x1 x2 x3     ∈ M0 Mixed IDI

MixColumns

− − − − − − − → MI

Daniel Coggia 5/ 37

slide-10
SLIDE 10

Definitions and the multiple-of-8 distinguisher

DI

R

  • SubBytes

− − − − − → DI

ShiftRows

− − − − − − → CI

MixColumns

− − − − − − − → CI CI

R

  • SubBytes

− − − − − → CI

ShiftRows

− − − − − − → IDI

MixColumns

− − − − − − − → MI

Daniel Coggia 6/ 37

slide-11
SLIDE 11

Definitions and the multiple-of-8 distinguisher

DI

R

  • SubBytes

− − − − − → DI

ShiftRows

− − − − − − → CI

MixColumns

− − − − − − − → CI CI

R

  • SubBytes

− − − − − → CI

ShiftRows

− − − − − − → IDI

MixColumns

− − − − − − − → MI m k0 R1 k1 R2 k2 · · · Rr kr c

Daniel Coggia 6/ 37

slide-12
SLIDE 12

Definitions and the multiple-of-8 distinguisher

Subspace trails

Grassi, Rechberger and Rønjom, ToSC 2016 U

F

⇒ V if ∀a ∈ F16

28, ∃b ∈ F16 28 : F(U + a) = V + b.

F F F

Daniel Coggia 7/ 37

slide-13
SLIDE 13

Definitions and the multiple-of-8 distinguisher

Subspace trails

Grassi, Rechberger and Rønjom, ToSC 2016 U

F

⇒ V if ∀a ∈ F16

28, ∃b ∈ F16 28 : F(U + a) = V + b.

F F F Examples:

◮ {0} F

⇒ {0}

◮ U F

⇒ FN

28 ◮ DI R

⇒ CI

◮ CI R

⇒ MI

Daniel Coggia 7/ 37

slide-14
SLIDE 14

Definitions and the multiple-of-8 distinguisher

The multiple-of-8 distinguisher

Grassi, Rechberger and Rønjom, Eurocrypt 2017 a ∈ F16

28

Daniel Coggia 8/ 37

slide-15
SLIDE 15

Definitions and the multiple-of-8 distinguisher

The multiple-of-8 distinguisher

Grassi, Rechberger and Rønjom, Eurocrypt 2017 a ∈ F16

28

i ∈ {0, . . . , 3} : Di

Daniel Coggia 8/ 37

slide-16
SLIDE 16

Definitions and the multiple-of-8 distinguisher

The multiple-of-8 distinguisher

Grassi, Rechberger and Rønjom, Eurocrypt 2017 a ∈ F16

28

i ∈ {0, . . . , 3} : Di J ⊆ {0, . . . , 3} : MJ

Daniel Coggia 8/ 37

slide-17
SLIDE 17

Definitions and the multiple-of-8 distinguisher

The multiple-of-8 distinguisher

Grassi, Rechberger and Rønjom, Eurocrypt 2017 a ∈ F16

28

i ∈ {0, . . . , 3} : Di J ⊆ {0, . . . , 3} : MJ n = #{ {p0, p1} with p0, p1 ∈ (Di + a) | R5(p0) + R5(p1) ∈ MJ}.

Daniel Coggia 8/ 37

slide-18
SLIDE 18

Definitions and the multiple-of-8 distinguisher

The multiple-of-8 distinguisher

Grassi, Rechberger and Rønjom, Eurocrypt 2017 a ∈ F16

28

i ∈ {0, . . . , 3} : Di J ⊆ {0, . . . , 3} : MJ n = #{ {p0, p1} with p0, p1 ∈ (Di + a) | R5(p0) + R5(p1) ∈ MJ}. Then n ≡ 0 mod 8.

Daniel Coggia 8/ 37

slide-19
SLIDE 19

Definitions and the multiple-of-8 distinguisher

Our contribution starts here

Questions to answer:

◮ Is the maximal branch number necessary ? ◮ Can we adapt this distinguisher to other SPN ?

Daniel Coggia 9/ 37

slide-20
SLIDE 20

Definitions and the multiple-of-8 distinguisher

Our contribution starts here

Questions to answer:

◮ Is the maximal branch number necessary ? New proof ◮ Can we adapt this distinguisher to other SPN ?

Daniel Coggia 9/ 37

slide-21
SLIDE 21

Definitions and the multiple-of-8 distinguisher

Our contribution starts here

Questions to answer:

◮ Is the maximal branch number necessary ? New proof ◮ Can we adapt this distinguisher to other SPN ? Adaptation of the new

proof

Daniel Coggia 9/ 37

slide-22
SLIDE 22

Proof for the distinguisher

Definitions and the multiple-of-8 distinguisher Proof for the distinguisher Generalisation of this proof framework Adaptation to other SPN ciphers

Daniel Coggia 10/ 37

slide-23
SLIDE 23

Proof for the distinguisher

A key lemma

Grassi, Rechberger and Rønjom, Eurocrypt 2017

2

  • DI

R

⇒ CI

R

⇒ MI

2

  • DJ

R

⇒ CJ

R

⇒ MJ

Daniel Coggia 11/ 37

slide-24
SLIDE 24

Proof for the distinguisher

A key lemma

Grassi, Rechberger and Rønjom, Eurocrypt 2017

2

  • DI

R

⇒ CI

R

⇒ MI

1

  • Lemma

R

  • 2
  • DJ

R

⇒ CJ

R

⇒ MJ

Daniel Coggia 11/ 37

slide-25
SLIDE 25

Proof for the distinguisher

A key lemma

Grassi, Rechberger and Rønjom, Eurocrypt 2017

2

  • DI

R

⇒ CI

R

⇒ MI

1

  • Lemma

R

  • 2
  • DJ

R

⇒ CJ

R

⇒ MJ

Lemma

Let a ∈ F16

28, I ⊂ 0, 3, J ⊆ 0, 3. We define

n = #{ {p0, p1} with p0, p1 ∈ (MI + a) | R(p0) + R(p1) ∈ DJ}. Then n ≡ 0 mod 8.

Daniel Coggia 11/ 37

slide-26
SLIDE 26

Proof for the distinguisher

Step 1: equivalence relation between pairs

In M0            2 · x0 x1 z2 3 · z3 x0 x1 3 · z2 2 · z3 x0 3 · x1 2 · z2 z3 3 · x0 2 · x1 z2 z3     ,     2 · y0 y1 z2 3 · z3 y0 y1 3 · z2 2 · z3 y0 3 · y1 2 · z2 z3 3 · y0 2 · y1 z2 z3           

Definition

p0, p1 ∈ (MI + a). The information set K of the pair {p0, p1} is {k ∈ {0, . . . , 3} | ∃i ∈ I : xi,k = yi,k}. It is K = {0, 1} in the example.

Daniel Coggia 12/ 37

slide-27
SLIDE 27

Proof for the distinguisher

           2 · x0 x1 z2 3 · z3 x0 x1 3 · z2 2 · z3 x0 3 · x1 2 · z2 z3 3 · x0 2 · x1 z2 z3     ,     2 · y0 y1 z2 3 · z3 y0 y1 3 · z2 2 · z3 y0 3 · y1 2 · z2 z3 3 · y0 2 · y1 z2 z3            ∼            2 · x0 y1 w2 3 · w3 x0 y1 3 · w2 2 · w3 x0 3 · y1 2 · w2 w3 3 · x0 2 · y1 w2 w3     ,     2 · y0 x1 w2 3 · w3 y0 x1 3 · w2 2 · w3 y0 3 · x1 2 · w2 w3 3 · y0 2 · x1 w2 w3           

Definition

p0, p1, q0, q1 ∈ (MI + a), P = {p0, p1}, Q = {q0, q1} P ∼ Q if:

◮ P and Q share the same information set K. ◮ ∀k ∈ K, ∃b ∈ {0, 1} : ∀i ∈ I, q0 i,k = pb i,k et q1 i,k = p1−b i,k .

∼ is an equivalence relation on the pairs of (MI + a).

Daniel Coggia 13/ 37

slide-28
SLIDE 28

Proof for the distinguisher

Theorem

The function ∆ : {p0, p1} − → R(p0) + R(p1) is constant on the equivalence classes of ∼.

Daniel Coggia 14/ 37

slide-29
SLIDE 29

Proof for the distinguisher

Theorem

The function ∆ : {p0, p1} − → R(p0) + R(p1) is constant on the equivalence classes of ∼.

Proposition

Let C be an equivalence class with information set K. Then #C = 2|K|−1+8|I|(4−|K|)≡ 0 mod 8.

Daniel Coggia 14/ 37

slide-30
SLIDE 30

Proof for the distinguisher

Lemma

If n = #{ {p0, p1} with p0, p1 ∈ (MI + a) | R(p0) + R(p1) ∈ DJ}, then n ≡ 0 mod 8.

Proof.

n = #∆−1(DJ) =

  • C

# (∆−1(DJ) ∩ C)

  • ∅ or C

≡ 0 mod 8

Daniel Coggia 15/ 37

slide-31
SLIDE 31

Proof for the distinguisher

What about the branch number ?

With a proposition of Grassi, Rechberger and Rønjom, if b is the branch number, n = #∆−1(DJ) =

  • C

#(∆−1(DJ) ∩ C) =

  • C: |K(C)|≥b−|J|

# (∆−1(DJ) ∩ C)

  • ∅ or C

+

  • C: |K(C)|<b−|J|

# (∆−1(DJ) ∩ C)

≡ 0 mod 8

Daniel Coggia 16/ 37

slide-32
SLIDE 32

Proof for the distinguisher

First question answered

◮ Is the maximal branch number necessary ? No ◮ Can we adapt this distinguisher to other SPN ? Adaptation of the new

proof

Daniel Coggia 17/ 37

slide-33
SLIDE 33

Generalisation of this proof framework

Definitions and the multiple-of-8 distinguisher Proof for the distinguisher Generalisation of this proof framework Adaptation to other SPN ciphers

Daniel Coggia 18/ 37

slide-34
SLIDE 34

Generalisation of this proof framework

A few slides earlier...

CI

ShiftRows

− − − − − − → IDI

MixColumns

− − − − − − − → MI

Daniel Coggia 19/ 37

slide-35
SLIDE 35

Generalisation of this proof framework

A few slides earlier...

CI

ShiftRows

− − − − − − → IDI

MixColumns

− − − − − − − → MI

Definition

p0, p1, q0, q1 ∈ (MI + a), P = {p0, p1}, Q = {q0, q1} P ∼ Q if:

◮ P and Q share the same information set K. ◮ ∀k ∈ K, ∃b ∈ {0, 1} : ∀i ∈ I, q0 i,k = pb i,k et q1 i,k = p1−b i,k .

∼ is an equivalence relation on the pairs of (MI + a).

Daniel Coggia 19/ 37

slide-36
SLIDE 36

Generalisation of this proof framework

A few slides earlier...

CI

ShiftRows

− − − − − − → IDI

MixColumns

− − − − − − − → MI

Definition

p0, p1, q0, q1 ∈ (MI + a), P = {p0, p1}, Q = {q0, q1} P ∼ Q if:

◮ P and Q share the same information set K. ◮ ∀k ∈ K, ∃b ∈ {0, 1} : ∀i ∈ I, q0 i,k = pb i,k et q1 i,k = p1−b i,k .

∼ is an equivalence relation on the pairs of (MI + a).

Theorem

The function ∆ : {p0, p1} − → R(p0) + R(p1) is constant on the equivalence classes of ∼.

Daniel Coggia 19/ 37

slide-37
SLIDE 37

Generalisation of this proof framework

What relationship between MI and R makes it work ?

Daniel Coggia 20/ 37

slide-38
SLIDE 38

Generalisation of this proof framework

What relationship between MI and R makes it work ? Hint: basis of M0,2 in the canonical basis (basis on which SubBytes is defined)                              2 1 1 3 1 2 3 1 1 3 1 2 3 1 2 1 1 2 3 1 2 1 1 3 3 1 2 1 1 3 1 2                             

Daniel Coggia 20/ 37

slide-39
SLIDE 39

Generalisation of this proof framework

Basis g of V ⊆ F16

28 for which the theorem holds

i.e. V is compatible with SubBytes:

Daniel Coggia 21/ 37

slide-40
SLIDE 40

Generalisation of this proof framework

Basis g of V ⊆ F16

28 for which the theorem holds

i.e. V is compatible with SubBytes:                    ∗ · · · ∗ . . . λ0,ℓ,i . . . ∗ · · · ∗ ∗ · · · ∗ . . . λk,ℓ,i . . . ∗ · · · ∗ ∗ · · · ∗ . . . λh−1,ℓ,i . . . ∗ · · · ∗                    ↑ ↑ ↑ g0,i gk,i gh−1,i

Daniel Coggia 21/ 37

slide-41
SLIDE 41

Generalisation of this proof framework

Basis g of V ⊆ F16

28 for which the theorem holds

i.e. V is compatible with SubBytes: #C ≡ 0 mod 2h−1                    ∗ · · · ∗ . . . λ0,ℓ,i . . . ∗ · · · ∗ ∗ · · · ∗ . . . λk,ℓ,i . . . ∗ · · · ∗ ∗ · · · ∗ . . . λh−1,ℓ,i . . . ∗ · · · ∗                    ↑ ↑ ↑ g0,i gk,i gh−1,i

Daniel Coggia 21/ 37

slide-42
SLIDE 42

Generalisation of this proof framework

                             2 1 1 3 1 1 3 2 1 3 2 1 3 2 1 1                              M0 is compatible with SubBytes.     2 · x0 x1 x2 3 · x3 x0 x1 3 · x2 2 · x3 x0 3 · x1 2 · x2 x3 3 · x0 2 · x1 x2 x3     ∈ M0

Daniel Coggia 22/ 37

slide-43
SLIDE 43

Generalisation of this proof framework

First mixture differential

Grassi, ToSC 2018 a ∈ F16

28

Daniel Coggia 23/ 37

slide-44
SLIDE 44

Generalisation of this proof framework

First mixture differential

Grassi, ToSC 2018 a ∈ F16

28

U = vectF28(e0,1, e1,1)

Daniel Coggia 23/ 37

slide-45
SLIDE 45

Generalisation of this proof framework

First mixture differential

Grassi, ToSC 2018 a ∈ F16

28

U = vectF28(e0,1, e1,1) J ⊆ {0, 1, 2, 3} : MJ

Daniel Coggia 23/ 37

slide-46
SLIDE 46

Generalisation of this proof framework

First mixture differential

Grassi, ToSC 2018 a ∈ F16

28

U = vectF28(e0,1, e1,1) J ⊆ {0, 1, 2, 3} : MJ p0, p1, q0, q1 ∈ (U + a) p0 ≡ (x0, x1), p1 ≡ (y0, y1) q0 ≡ (x0, y1), q1 ≡ (y0, x1)

Daniel Coggia 23/ 37

slide-47
SLIDE 47

Generalisation of this proof framework

First mixture differential

Grassi, ToSC 2018 a ∈ F16

28

U = vectF28(e0,1, e1,1) J ⊆ {0, 1, 2, 3} : MJ p0, p1, q0, q1 ∈ (U + a) p0 ≡ (x0, x1), p1 ≡ (y0, y1) q0 ≡ (x0, y1), q1 ≡ (y0, x1) Then R4(p0) + R4(p1) ∈ MJ ⇐ ⇒ R4(q0) + R4(q1) ∈ MJ.

Daniel Coggia 23/ 37

slide-48
SLIDE 48

Generalisation of this proof framework

Proof for the first mixture differential

U = C0 ∩ D0,1

Daniel Coggia 24/ 37

slide-49
SLIDE 49

Generalisation of this proof framework

Proof for the first mixture differential

U = C0 ∩ D0,1 V = M0 ∩ C0,1

Daniel Coggia 24/ 37

slide-50
SLIDE 50

Generalisation of this proof framework

Proof for the first mixture differential

U = C0 ∩ D0,1 V = M0 ∩ C0,1 U

R

⇒ V ∃b : R(p0), R(p1), R(q0), R(q1) ∈ (V + b)

Daniel Coggia 24/ 37

slide-51
SLIDE 51

Generalisation of this proof framework

                             2 1 1 3 1 1 3 2                              V is compatible with SubBytes.     2 · x0 x1 x0 x1 x0 3 · x1 3 · x0 2 · x1     ∈ V .

Daniel Coggia 25/ 37

slide-52
SLIDE 52

Generalisation of this proof framework

An easy computation gives: R(p0) ≡ (Sbox(x0 + a0,i), Sbox(x1 + a1,i)) R(p1) ≡ (Sbox(y0 + a0,i), Sbox(y1 + a1,i)) R(q0) ≡ (Sbox(x0 + a0,i), Sbox(y1 + a1,i)) R(q1) ≡ (Sbox(y0 + a0,i), Sbox(x1 + a1,i))

Daniel Coggia 26/ 37

slide-53
SLIDE 53

Generalisation of this proof framework

An easy computation gives: R(p0) ≡ (Sbox(x0 + a0,i), Sbox(x1 + a1,i)) R(p1) ≡ (Sbox(y0 + a0,i), Sbox(y1 + a1,i)) R(q0) ≡ (Sbox(x0 + a0,i), Sbox(y1 + a1,i)) R(q1) ≡ (Sbox(y0 + a0,i), Sbox(x1 + a1,i)) {R(p0), R(p1)}∼{R(q0), R(q1)} in the compatible coset (V + b)

Daniel Coggia 26/ 37

slide-54
SLIDE 54

Generalisation of this proof framework

Theorem

The function ∆ : {r0, r1} − → R(r0) + R(r1) is constant on the equivalence classes of ∼.

Daniel Coggia 27/ 37

slide-55
SLIDE 55

Generalisation of this proof framework

Theorem

The function ∆ : {r0, r1} − → R(r0) + R(r1) is constant on the equivalence classes of ∼. ⇒ R2(p0) + R2(p1) = R2(q0) + R2(q1)

Daniel Coggia 27/ 37

slide-56
SLIDE 56

Generalisation of this proof framework

Theorem

The function ∆ : {r0, r1} − → R(r0) + R(r1) is constant on the equivalence classes of ∼. ⇒ R2(p0) + R2(p1) = R2(q0) + R2(q1) Since DJ

R

⇒ CJ

R

⇒ MJ, R4(p0) + R4(p1) ∈ MJ ⇐ ⇒ R4(q0) + R4(q1) ∈ MJ.

Daniel Coggia 27/ 37

slide-57
SLIDE 57

Adaptation to other SPN ciphers

Definitions and the multiple-of-8 distinguisher Proof for the distinguisher Generalisation of this proof framework Adaptation to other SPN ciphers

Daniel Coggia 28/ 37

slide-58
SLIDE 58

Adaptation to other SPN ciphers

Midori

Banik, Bogdanov, Isobe, Shibutani, Hiwatari, Akishita and Regazzoni at Asiacrypt 2015.     x0 x4 x8 x12 x1 x5 x9 x13 x2 x6 x10 x14 x3 x7 x11 x15     ∈ F16

2d ◮ Sbox : F2d → F2d, d = 4 or d = 8 ◮ ShuffleCell SC (ShiftRows-type permutation) ◮ MixColumns with branch number 4

MMixColumns =     1 1 1 1 1 1 1 1 1 1 1 1    

Daniel Coggia 29/ 37

slide-59
SLIDE 59

Adaptation to other SPN ciphers

Leander, Tezcan and Wiemer at ToSC 2018: The longest subspace trails are of the form: DMi

I R

⇒ CI

R

⇒ MMi

I

Daniel Coggia 30/ 37

slide-60
SLIDE 60

Adaptation to other SPN ciphers

A basis of MMi

0 :

                             . . . 1 . . . 1 . . . 1 . . . . 1 . . . 1 . . . 1 . . . . . . . 1 . . . . . . 1 . . . 1 . . . . 1 . . . 1 . . . 1 . . .                              4 blocks ⇒ #C ≡ 0 mod 8.

Daniel Coggia 31/ 37

slide-61
SLIDE 61

Adaptation to other SPN ciphers

Multiple-of-8 distinguisher on 5 (out of 16 or 20) rounds for Midori even if the branch number is 4:

2

  • DMi

I R

⇒ CI

R

⇒ MMi

I 1

  • Adapted Lemma

R

  • 2
  • DMi

J R

⇒ CJ

R

⇒ MMi

J

#{{p0, p1} with p0, p1 ∈ DMi

i

+ a | R5(p0) + R5(p1) ∈ MMi

j } ≡ 0

mod 8

Daniel Coggia 32/ 37

slide-62
SLIDE 62

Adaptation to other SPN ciphers

Klein

Lightweight blockcipher proposed in 2011 by Gong, Nikova and Law.     x0 x4 x1 x5 x2 x6 x3 x7     ∈ F8

28 ◮ Sbox : F28 → F28 nibbles → F64 2 = F4 28 × F4 28 ◮ RN: RotateNibbles ◮ MN: MixNibbles applies the AES MixColumns

Daniel Coggia 33/ 37

slide-63
SLIDE 63

Adaptation to other SPN ciphers

Leander, Tezcan and Wiemer at ToSC 2018: Longest subspace trail: DKl

i R

⇒ Ci

R

⇒ MKl

i

Daniel Coggia 34/ 37

slide-64
SLIDE 64

Adaptation to other SPN ciphers

MKl

0 basis:

                             2 . 3 . . . . . . 2 . 3 . . . . 1 . 2 . . . . . . 1 . 2 . . . . 1 . 1 . . . . . . 1 . 1 . . . . 3 . 1 . . . . . . 3 . 1 . . . . . . . . 1 . 1 . . . . . . 1 . 1 . . . . 3 . 1 . . . . . . 3 . 1 . . . . 2 . 3 . . . . . . 2 . 3 . . . . 1 . 2 . . . . . . 1 . 2                              2 blocks ⇒ #C ≡ 0 mod 2.

Daniel Coggia 35/ 37

slide-65
SLIDE 65

Adaptation to other SPN ciphers

Multiple-of-2 distinguisher for 5 (out of 12, 16 or 20) rounds for Klein:

2

  • DKl

i R

⇒ Ci

R

⇒ MKl

i 1

  • Adapted Lemma

R

  • 2
  • DKl

j R

⇒ Cj

R

⇒ MKl

j

#{{p0, p1} with p0, p1 ∈ DKl

i

+ a | R5(p0) + R5(p1) ∈ MKl

j } ≡ 0

mod 2

Daniel Coggia 36/ 37

slide-66
SLIDE 66

Adaptation to other SPN ciphers

Conclusion

◮ Our generalised proof framework with algorithms of Leander, Tezcan

and Wiemer can find:

◮ mixture-differential distinguishers, ◮ multiple-of properties.

in a systematic way for any SPN.

Daniel Coggia 37/ 37

slide-67
SLIDE 67

Adaptation to other SPN ciphers

Conclusion

◮ Our generalised proof framework with algorithms of Leander, Tezcan

and Wiemer can find:

◮ mixture-differential distinguishers, ◮ multiple-of properties.

in a systematic way for any SPN.

◮ Improvements highly limited by subspace trails 2

  • DI

R

⇒ CI

R

⇒ MI

1

  • Adapted Lemma

R

  • 2
  • DJ

R

⇒ CJ

R

⇒ MJ

Daniel Coggia 37/ 37