Differential propagation analysis of Keccak Joan Daemen and Gilles - - PowerPoint PPT Presentation

differential propagation analysis of keccak
SMART_READER_LITE
LIVE PREVIEW

Differential propagation analysis of Keccak Joan Daemen and Gilles - - PowerPoint PPT Presentation

Differential propagation analysis of Keccak Differential propagation analysis of Keccak Joan Daemen and Gilles Van Assche STMicroelectronics Fast Software Encryption, March 19-21, 2012 1 / 28 Differential propagation analysis of Keccak Outline


slide-1
SLIDE 1

Differential propagation analysis of Keccak

Differential propagation analysis of Keccak

Joan Daemen and Gilles Van Assche STMicroelectronics Fast Software Encryption, March 19-21, 2012

1 / 28

slide-2
SLIDE 2

Differential propagation analysis of Keccak

Outline

1

Introduction

2

Trails in Keccak-f

3

Generating all trails up to some weight

4

Illustration

5

Conclusions

2 / 28

slide-3
SLIDE 3

Differential propagation analysis of Keccak Introduction

Outline

1

Introduction

2

Trails in Keccak-f

3

Generating all trails up to some weight

4

Illustration

5

Conclusions

3 / 28

slide-4
SLIDE 4

Differential propagation analysis of Keccak Introduction Differential trails and iterated mappings

Differential trails in iterated mappings

Trail: sequence of differences DP(Q): fraction of pairs that exhibit qi differences

4 / 28

slide-5
SLIDE 5

Differential propagation analysis of Keccak Introduction Differential trails and iterated mappings

Differential trails and weight

w = − log2(DP) If independent rounds and w(Q) < b: #pairs(Q) ≈ 2b−w(Q)

5 / 28

slide-6
SLIDE 6

Differential propagation analysis of Keccak Introduction Design approaches

Different design approaches

Rijndael-inspired: strong alignment

estimating #pairs(Q) from Q: easy easy demonstration of strong trail weight bounds still, truncated trails, rebound attack, …

ARX

estimating #pairs(Q) from Q: hard no strong trail weight bounds revert to pre-DC/LC folklore such as avalanche effect

Keccak: weak alignment

#pairs(Q) from Q: easy cryptanalysis seems hard …but proving strong lower bounds also

6 / 28

slide-7
SLIDE 7

Differential propagation analysis of Keccak Introduction Keccak-f: an iterative permutation

Keccak-f: an iterative permutation

Operates on 3D state:

x y z state

(5 × 5)-bit slices 2ℓ-bit lanes parameter 0 ≤ ℓ < 7 Round function with 5 steps: θ: mixing layer ρ: inter-slice bit transposition π: intra-slice bit transposition χ: non-linear layer ι: round constants # rounds: 12 + 2ℓ for width b = 2ℓ25 12 rounds in Keccak-f[25] 24 rounds in Keccak-f[1600]

7 / 28

slide-8
SLIDE 8

Differential propagation analysis of Keccak Introduction Keccak-f: an iterative permutation

Keccak-f: an iterative permutation

Operates on 3D state:

x y z slice

(5 × 5)-bit slices 2ℓ-bit lanes parameter 0 ≤ ℓ < 7 Round function with 5 steps: θ: mixing layer ρ: inter-slice bit transposition π: intra-slice bit transposition χ: non-linear layer ι: round constants # rounds: 12 + 2ℓ for width b = 2ℓ25 12 rounds in Keccak-f[25] 24 rounds in Keccak-f[1600]

7 / 28

slide-9
SLIDE 9

Differential propagation analysis of Keccak Introduction Keccak-f: an iterative permutation

Keccak-f: an iterative permutation

Operates on 3D state:

x y z row

(5 × 5)-bit slices 2ℓ-bit lanes parameter 0 ≤ ℓ < 7 Round function with 5 steps: θ: mixing layer ρ: inter-slice bit transposition π: intra-slice bit transposition χ: non-linear layer ι: round constants # rounds: 12 + 2ℓ for width b = 2ℓ25 12 rounds in Keccak-f[25] 24 rounds in Keccak-f[1600]

7 / 28

slide-10
SLIDE 10

Differential propagation analysis of Keccak Introduction Keccak-f: an iterative permutation

Keccak-f: an iterative permutation

Operates on 3D state:

x y z column

(5 × 5)-bit slices 2ℓ-bit lanes parameter 0 ≤ ℓ < 7 Round function with 5 steps: θ: mixing layer ρ: inter-slice bit transposition π: intra-slice bit transposition χ: non-linear layer ι: round constants # rounds: 12 + 2ℓ for width b = 2ℓ25 12 rounds in Keccak-f[25] 24 rounds in Keccak-f[1600]

7 / 28

slide-11
SLIDE 11

Differential propagation analysis of Keccak Introduction Goal of this work

This work

Security of Keccak relies on absence of exploitable trails …and not on presumed hardness of finding them Bounds for small versions of Keccak-f b bound 25 30 per 5 rounds tight 50 54 per 6 rounds tight 100 146 per 16 rounds non-tight 200 206 per 18 rounds non-tight 1600 this work Inspired by similar efforts for

Noekeon [Nessie, 2000] MD6 [Rivest et al., SHA-3 2008][Heilman, Ecrypt Hash 2011]

8 / 28

slide-12
SLIDE 12

Differential propagation analysis of Keccak Trails in Keccak-f

Outline

1

Introduction

2

Trails in Keccak-f

3

Generating all trails up to some weight

4

Illustration

5

Conclusions

9 / 28

slide-13
SLIDE 13

Differential propagation analysis of Keccak Trails in Keccak-f Conventions and concepts

Trails in Keccak-f

Round: linear step λ = π ◦ ρ ◦ θ and non-linear step χ ai fully determines bi = λ(ai) χ has degree 2: w(bi−1) independent of ai

10 / 28

slide-14
SLIDE 14

Differential propagation analysis of Keccak Trails in Keccak-f Conventions and concepts

Trails in Keccak-f

For Keccak-f: w(Q): # conditions on intermediate state bits b: # degree of freedom

10 / 28

slide-15
SLIDE 15

Differential propagation analysis of Keccak Trails in Keccak-f Trail generation techniques

Trail generation techniques

Given a trail, we can extend it:

forward: iterate ar+1 over A(br) backward: iterate b−1 over all differences χ−1-compatible with a0 = λ−1(b0)

Tree search:

extension can be done recursively pruning as soon as weight exceeds some limit

11 / 28

slide-16
SLIDE 16

Differential propagation analysis of Keccak Generating all trails up to some weight

Outline

1

Introduction

2

Trails in Keccak-f

3

Generating all trails up to some weight

4

Illustration

5

Conclusions

12 / 28

slide-17
SLIDE 17

Differential propagation analysis of Keccak Generating all trails up to some weight First order approach

First-order approach

Fact An r-round trail Q with w(Q) ≤ T has at least one bi with weight ≤ T/r Generating trails up to weight T, first order approach Generate V1 = {b|w(b) ≤ tavg} with tavg = T/r ∀0 ≤ i < r, iterate bi over V1

extend forward up to br−1 extend backward down to b0 prune as soon as weight exceeds T

13 / 28

slide-18
SLIDE 18

Differential propagation analysis of Keccak Generating all trails up to some weight First order approach

Limits of first-order approach

V1 grows quickly with tavg and Keccak-f width:

14 / 28

slide-19
SLIDE 19

Differential propagation analysis of Keccak Generating all trails up to some weight Second order approach

Definitions: minimum reverse weight and trail cores

Minimum reverse weight: wrev(a) min

b : a∈A(b) w(b)

Can be used to lower bound of set of trails Trail core: set of trails with b1, b2, . . . in common

15 / 28

slide-20
SLIDE 20

Differential propagation analysis of Keccak Generating all trails up to some weight Second order approach

Definitions: minimum reverse weight and trail cores

Minimum reverse weight: wrev(a) min

b : a∈A(b) w(b)

Can be used to lower bound of set of trails Trail core: set of trails with b1, b2, . . . in common

15 / 28

slide-21
SLIDE 21

Differential propagation analysis of Keccak Generating all trails up to some weight Second order approach

Second-order approach

Observation For most low-weight a, b = λ(a) has high weight and vice versa Generating trails up to weight T, second order approach Generate V2 = {b|b = λ(a) and wrev(a) + w(b) ≤ 2tavg} ∀0 ≤ i < r, iterate bi over V2

extend forward up to br−1 extend backward down to b0 prune as soon as weight exceeds T

But how does the size of V2 behave with tavg?

16 / 28

slide-22
SLIDE 22

Differential propagation analysis of Keccak Generating all trails up to some weight Intermezzo: θ properties

θ, the mixing layer

+ =

column parity θ effect combine

Compute parity cx,z of each column Add to each cell the parities of two nearby columns

17 / 28

slide-23
SLIDE 23

Differential propagation analysis of Keccak Generating all trails up to some weight Intermezzo: θ properties

θ, the mixing layer

+ =

column parity θ effect combine

Single-bit parity flips already 10 bits Other linear mapping ρ and π just move bits around

17 / 28

slide-24
SLIDE 24

Differential propagation analysis of Keccak Generating all trails up to some weight Intermezzo: θ properties

θ, the mixing layer

+ =

column parity θ effect combine

Effect collapses if parity is zero The kernel

17 / 28

slide-25
SLIDE 25

Differential propagation analysis of Keccak Generating all trails up to some weight Limits of the second-order approach

Limits of second-order approach

V2 still grows quickly with tavg and Keccak-f width Reason: V2 contains states in kernel

18 / 28

slide-26
SLIDE 26

Differential propagation analysis of Keccak Generating all trails up to some weight Third-order approach

Third-order approach: dealing with the kernel

V3: trail cores (b, d) with wrev(a) + w(b) + w(d) ≤ 3tavg

a = λ−1(b) is in the kernel c = λ−1(d) is in the kernel

Elements of V3 can then be extended as usual

19 / 28

slide-27
SLIDE 27

Differential propagation analysis of Keccak Generating all trails up to some weight Third-order approach

Third-order approach: dealing with the kernel

V3: trail cores (b, d) with wrev(a) + w(b) + w(d) ≤ 3tavg

a = λ−1(b) is in the kernel c = λ−1(d) is in the kernel

Elements of V3 can then be extended as usual

19 / 28

slide-28
SLIDE 28

Differential propagation analysis of Keccak Generating all trails up to some weight ρ and π

Tame states

Tame state: value of b that satisfies two conditions

1

a = λ−1(b) is in the kernel

2

Intersection of A(b) and kernel is not empty

Second condition can be handled slice-by-slice:

  • rbital: two bits in the same column

knot: at least 3 active bits

First condition: bits occur in pairs per column in a

Combined with orbitals these form chains between knots

20 / 28

slide-29
SLIDE 29

Differential propagation analysis of Keccak Generating all trails up to some weight ρ and π

Chains

Sequence of active bits pi with: p2i and p2i+1 are in same column in a p2i+1 and p2i are in same column in b

1 2 3 4 5 y x z ρ, π 1 2 3 4 5

21 / 28

slide-30
SLIDE 30

Differential propagation analysis of Keccak Generating all trails up to some weight ρ and π

Third-order approach

We efficiently generate V3 using this representation

set of chains between knots plus some circular chains: vortices

Full coverage guaranteed by

monotonous weight prediction function well-defined order of chains

22 / 28

slide-31
SLIDE 31

Differential propagation analysis of Keccak Illustration

Outline

1

Introduction

2

Trails in Keccak-f

3

Generating all trails up to some weight

4

Illustration

5

Conclusions

23 / 28

slide-32
SLIDE 32

Differential propagation analysis of Keccak Illustration

An in-kernel 3-round trail with a single knot

z = 0 z = 21 z = 43 z = 54 weight: 16 χ z = 0 z = 21 z = 43 z = 54

a

θ, ρ, π z = 0 z = 18 z = 34

b

weight: 13 χ z = 0 z = 18 z = 34

c

θ, ρ, π z = 15 z = 35 z = 36 z = 38 z = 57 z = 62

d

weight: 12 24 / 28

slide-33
SLIDE 33

Differential propagation analysis of Keccak Illustration

An in-kernel 3-round trail with a vortex

z = 9 z = 43 z = 56 weight: 12 χ z = 9 z = 43 z = 56

a

θ, ρ, π z = 0 z = 6 z = 7

b

weight: 12 χ z = 0 z = 6 z = 7

c

θ, ρ, π z = 25 z = 26 z = 28 z = 33 z = 43

d

weight: 11 25 / 28

slide-34
SLIDE 34

Differential propagation analysis of Keccak Conclusions

Outline

1

Introduction

2

Trails in Keccak-f

3

Generating all trails up to some weight

4

Illustration

5

Conclusions

26 / 28

slide-35
SLIDE 35

Differential propagation analysis of Keccak Conclusions

Conclusions

Current bound for Keccak-f[1600]:

scanned all 3-round trails up to weight 36 after extension: minimum weight 74 for 6-round trails

Work in progress:

improving bounds by increasing tavg probabilistic evidence for absence of low-weight trails

27 / 28

slide-36
SLIDE 36

Differential propagation analysis of Keccak Conclusions

Questions?

Thanks for your attention!

Q?

http://keccak.noekeon.org/

28 / 28