On S-Box Reverse-Engineering: from Cryptanalysis to the Big APN - - PowerPoint PPT Presentation

on s box reverse engineering from cryptanalysis to the
SMART_READER_LITE
LIVE PREVIEW

On S-Box Reverse-Engineering: from Cryptanalysis to the Big APN - - PowerPoint PPT Presentation

On S-Box Reverse-Engineering: from Cryptanalysis to the Big APN Problem Lo Perrin DTU, Lyngby perrin dot leo at gmail 4th of July 2017 Boolean Functions and Their Applications The content of this talk is based on joint works with Biryukov,


slide-1
SLIDE 1

On S-Box Reverse-Engineering: from Cryptanalysis to the Big APN Problem Léo Perrin

DTU, Lyngby perrin dot leo at gmail 4th of July 2017

Boolean Functions and Their Applications The content of this talk is based on joint works with Biryukov, Canteaut, Duval, Khovratovich and Udovenko, and my PhD thesis.

slide-2
SLIDE 2

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion In this Talk What is an S-Box? S-Box Design

If you only know the Look-Up Table of an S-Box, what can you do?

1 / 42

slide-3
SLIDE 3

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion In this Talk What is an S-Box? S-Box Design

If you only know the Look-Up Table of an S-Box, what can you do?

Random?

Was it picked uniformly at random?

1 / 42

slide-4
SLIDE 4

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion In this Talk What is an S-Box? S-Box Design

If you only know the Look-Up Table of an S-Box, what can you do?

Random?

Was it picked uniformly at random?

Structured?

Was it built using a particular structure ?

1 / 42

slide-5
SLIDE 5

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion In this Talk What is an S-Box? S-Box Design

S-Box?

An S-Box is a small non-linear function mapping m bits to n usually specified via its look-up table.

2 / 42

slide-6
SLIDE 6

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion In this Talk What is an S-Box? S-Box Design

S-Box?

An S-Box is a small non-linear function mapping m bits to n usually specified via its look-up table. Typically, n = m,n ∈ {4, 8} Used by many block ciphers/hash functions/stream ciphers. Necessary for the wide trail strategy.

2 / 42

slide-7
SLIDE 7

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion In this Talk What is an S-Box? S-Box Design

Example

Screen capture from [GOST, 2015].

3 / 42

slide-8
SLIDE 8

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion In this Talk What is an S-Box? S-Box Design

S-Box Design

4 / 42

slide-9
SLIDE 9

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion In this Talk What is an S-Box? S-Box Design

S-Box Design

4 / 42

slide-10
SLIDE 10

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion In this Talk What is an S-Box? S-Box Design

S-Box Design

Khazad... iScream... Grøstl...

4 / 42

slide-11
SLIDE 11

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion In this Talk What is an S-Box? S-Box Design

S-Box Reverse-Engineering

S

5 / 42

slide-12
SLIDE 12

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion In this Talk What is an S-Box? S-Box Design

S-Box Reverse-Engineering

S

? ? ?

5 / 42

slide-13
SLIDE 13

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion In this Talk What is an S-Box? S-Box Design

Motivation

A malicious designer can easily hide a structure in an S-Box.

6 / 42

slide-14
SLIDE 14

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion In this Talk What is an S-Box? S-Box Design

Motivation

A malicious designer can easily hide a structure in an S-Box. To keep an advantage in implementation (WB crypto)...

6 / 42

slide-15
SLIDE 15

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion In this Talk What is an S-Box? S-Box Design

Motivation

A malicious designer can easily hide a structure in an S-Box. To keep an advantage in implementation (WB crypto)... ... or an advantage in cryptanalysis (backdoor)?

6 / 42

slide-16
SLIDE 16

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Outline

1

Introduction

2

Overview of S-Box Reverse-Engineering Methods

3

The TU-Decomposition

4

A Decomposition of the 6-bit APN Permutation

5

Conclusion

6 / 42

slide-17
SLIDE 17

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Plan of this Section

1

Introduction

2

Overview of S-Box Reverse-Engineering Methods Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

3

The TU-Decomposition

4

A Decomposition of the 6-bit APN Permutation

5

Conclusion

6 / 42

slide-18
SLIDE 18

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

The Two Tables

Let S : Fn

2 → Fn 2 be an S-Box.

7 / 42

slide-19
SLIDE 19

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

The Two Tables

Let S : Fn

2 → Fn 2 be an S-Box.

Definition (DDT)

The Difference Distribution Table of S is a matrix of size 2n × 2n such that DDT[a,b] = #{x ∈ Fn

2 | S (x ⊕ a) ⊕ S(x) = b}.

7 / 42

slide-20
SLIDE 20

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

The Two Tables

Let S : Fn

2 → Fn 2 be an S-Box.

Definition (DDT)

The Difference Distribution Table of S is a matrix of size 2n × 2n such that DDT[a,b] = #{x ∈ Fn

2 | S (x ⊕ a) ⊕ S(x) = b}.

Definition (LAT)

The Linear Approximations Table of S is a matrix of size 2n × 2n such that LAT[a,b] = #{x ∈ Fn

2 | x · a = S(x) · b} − 2n−1 = WS (a,b)

2

7 / 42

slide-21
SLIDE 21

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Coefficient Distribution in the DDT

If an n-bit S-Box is bijective, then its DDT coefficients behave like independent and identically distributed random variables following a Poisson distribution: Pr [DDT[a,b] = 2z] = e−1/2 2zz .

8 / 42

slide-22
SLIDE 22

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Coefficient Distribution in the DDT

If an n-bit S-Box is bijective, then its DDT coefficients behave like independent and identically distributed random variables following a Poisson distribution: Pr [DDT[a,b] = 2z] = e−1/2 2zz . Always even, ≥ 0 Typically between 0 and 16 (for n =) Lower is beter.

8 / 42

slide-23
SLIDE 23

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Coefficient Distribution in the LAT

If an n-bit S-Box is bijective, then its LAT coefficients behave like independent and identically distributed random variables following this distribution: Pr [LAT[a,b] = 2z] = 2n−1

2n−2+z

  • 2n

2n−1

  • .

9 / 42

slide-24
SLIDE 24

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Coefficient Distribution in the LAT

If an n-bit S-Box is bijective, then its LAT coefficients behave like independent and identically distributed random variables following this distribution: Pr [LAT[a,b] = 2z] = 2n−1

2n−2+z

  • 2n

2n−1

  • .

Always even, signed. Typically between -40 and 40 (for n = 8). Lower absolute value is beter.

9 / 42

slide-25
SLIDE 25

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Looking Only at the Maximum

δ log2 (Pr [max(D) ≤ δ]) 14

  • 0.006

12

  • 0.094

10

  • 1.329

8

  • 16.148

6

  • 164.466

4

  • 1359.530

DDT ℓ log2 (Pr [max(L) ≤ ℓ]) 38

  • 0.084

36

  • 0.302

34

  • 1.008

32

  • 3.160

30

  • 9.288

28

  • 25.623

26

  • 66.415

24

  • 161.900

22

  • 371.609

LAT Probability that the maximum coefficient in the DDT/LAT of an 8-bit permutation is at most equal to a certain threshold.

10 / 42

slide-26
SLIDE 26

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Looking Only at the Maximum

δ log2 (Pr [max(D) ≤ δ]) 14

  • 0.006

12

  • 0.094

10

  • 1.329

8

  • 16.148

6

  • 164.466

4

  • 1359.530

DDT ℓ log2 (Pr [max(L) ≤ ℓ]) 38

  • 0.084

36

  • 0.302

34

  • 1.008

32

  • 3.160

30

  • 9.288

28

  • 25.623

26

  • 66.415

24

  • 161.900

22

  • 371.609

LAT Probability that the maximum coefficient in the DDT/LAT of an 8-bit permutation is at most equal to a certain threshold.

10 / 42

slide-27
SLIDE 27

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Taking Number of Maximum Values into Account

Probability (log2)

−70 −60 −50 −40 −30 −20

N28

5 10 15 20 25 30 35 40

Pr[max = 28] Pr[max = 26] Pr[max = 28, #28 ≤ N28]

11 / 42

slide-28
SLIDE 28

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Application of this Analysis? We applied this method on the S-Box of Skipjack.

12 / 42

slide-29
SLIDE 29

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

What is Skipjack?

Type Block cipher Bloc 64 bits Key 80 bits Authors NSA Publication 1998 (classified at first)

13 / 42

slide-30
SLIDE 30

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Reverse-Engineering the S-Box of Skipjack

Skipjack uses F, a permutation of F8

2 with max(LAT) = 28 and #28 = 3.

14 / 42

slide-31
SLIDE 31

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Reverse-Engineering the S-Box of Skipjack

Skipjack uses F, a permutation of F8

2 with max(LAT) = 28 and #28 = 3. Probability (log2)

−70 −60 −50 −40 −30 −20

N28

5 10 15 20 25 30 35 40

Pr[max = 28] Pr[max = 26] Pr[max = 28, #28 ≤ N28] 14 / 42

slide-32
SLIDE 32

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Reverse-Engineering the S-Box of Skipjack

Skipjack uses F, a permutation of F8

2 with max(LAT) = 28 and #28 = 3. Probability (log2)

−70 −60 −50 −40 −30 −20

N28

5 10 15 20 25 30 35 40

Pr[max = 28] Pr[max = 26] Pr[max = 28, #28 ≤ N28] 14 / 42

slide-33
SLIDE 33

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Reverse-Engineering the S-Box of Skipjack

Skipjack uses F, a permutation of F8

2 with max(LAT) = 28 and #28 = 3. Probability (log2)

−70 −60 −50 −40 −30 −20

N28

5 10 15 20 25 30 35 40

Pr[max = 28] Pr[max = 26] Pr[max = 28, #28 ≤ N28]

Pr [max(LAT) = 28 and #28 ≤ 3] ≈ 2−55

14 / 42

slide-34
SLIDE 34

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

What Can We Deduce?

F has not been picked uniformly at random. F has not been picked among a feasibly large set of random S-Boxes. Its linear properties were optimized (though poorly).

15 / 42

slide-35
SLIDE 35

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

What Can We Deduce?

F has not been picked uniformly at random. F has not been picked among a feasibly large set of random S-Boxes. Its linear properties were optimized (though poorly). The S-Box of Skipjack was built using a dedicated algorithm.

15 / 42

slide-36
SLIDE 36

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Conclusion on Skipjack

F

16 / 42

slide-37
SLIDE 37

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Conclusion on Skipjack

F

16 / 42

slide-38
SLIDE 38

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Different Techniques

Statistics

17 / 42

slide-39
SLIDE 39

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Different Techniques

Ad Hoc

17 / 42

slide-40
SLIDE 40

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Different Techniques

Structural Atacks

17 / 42

slide-41
SLIDE 41

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Atacks Against SPN (1/2)

S0,0 S0,1 ... S0,n/m−1 L0 S1,0 S1,1 ... S1,n/m−1 L1 S2,0 S2,1 ... S2,n/m−1

18 / 42

slide-42
SLIDE 42

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Atacks Against SPN (1/2)

S0,0 S0,1 ... S0,n/m−1 L0 S1,0 S1,1 ... S1,n/m−1 L1 S2,0 S2,1 ... S2,n/m−1 j yj yj

1

yj

n/m−1

18 / 42

slide-43
SLIDE 43

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Atacks Against SPN (1/2)

S0,0 S0,1 ... S0,n/m−1 L0 S1,0 S1,1 ... S1,n/m−1 L1 S2,0 S2,1 ... S2,n/m−1 j yj yj

1

yj

n/m−1

Zero sums 2m−1

j=0

S2,i (yj

i ) = 0, for all i.

18 / 42

slide-44
SLIDE 44

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Atacks Against SPN (1/2)

S0,0 S0,1 ... S0,n/m−1 L0 S1,0 S1,1 ... S1,n/m−1 L1 S2,0 S2,1 ... S2,n/m−1 j yj yj

1

yj

n/m−1

Zero sums 2m−1

j=0

S2,i (yj

i ) = 0, for all i. Repeat for different constant then solve

system [Biryukov, Shamir, 2001]

18 / 42

slide-45
SLIDE 45

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Atacks Against SPN (2/2)

Works against more than 3 rounds if deg(S(AS)r−1) is low enough.

SPN degree bound

20 40 60 80 100 120

Number of rounds

1 2 3 4 5 6 7 8

19 / 42

slide-46
SLIDE 46

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Atacks Against SPN (2/2)

Works against more than 3 rounds if deg(S(AS)r−1) is low enough.

SPN degree bound

20 40 60 80 100 120

Number of rounds

1 2 3 4 5 6 7 8

Degree Bound (SPN) [Biryukov et al., 2017]

Let σ operate on m bits, deg(σ) = m − 1, and n be the block size. Rhoughly speaking, deg

  • S(AS)r−1

< n − 1 as long as (m − 1) ⌊r /2⌋ < n .

19 / 42

slide-47
SLIDE 47

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

Atacks Against Feistel Networks

Degree Bound (Feistel Network) [Perrin and Udovenko, 2016]

Let {Fi}i<r be permutations of Fn/2

2

  • f degree d and let F r (F) denote the

r-round n-bit Feistel Network with round function Fi. If d ⌊r /2⌋−1 + d ⌈r /2⌉−1 < n , then some degree n − 1 terms in the ANF of F r (F) are missing.

20 / 42

slide-48
SLIDE 48

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Statistical Analysis of the DDT/LAT Summary of Different Techniques Structural Atacks Against Block Ciphers

What Does it Take to Have Full Degree?

The degree based distinguishers for SPNs and Feistel networks can be seen as particular cases of this lemma.

Lemma

Let F : Fn

2 → F2 be a Boolean function and let G : Fn 2 → Fn 2 be a

  • permutation. Then:

deg(F ◦ G) = n − 1 =⇒ deg(F) + deg(G−1) ≥ n .

21 / 42

slide-49
SLIDE 49

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

Outline

1

Introduction

2

Overview of S-Box Reverse-Engineering Methods

3

The TU-Decomposition

4

A Decomposition of the 6-bit APN Permutation

5

Conclusion

21 / 42

slide-50
SLIDE 50

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

Plan of this Section

1

Introduction

2

Overview of S-Box Reverse-Engineering Methods

3

The TU-Decomposition Definition of the TU-decomposition Application to the Last Russian Standards

4

A Decomposition of the 6-bit APN Permutation

5

Conclusion

21 / 42

slide-51
SLIDE 51

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

What is the TU-Decomposition?

The TU-decomposition is a decomposition algorithm working against vast groups of algorithms: 3-round Feistel, Dillon’s APN permutation, SAS, ... S TU-decomposition T U µ η T and U are mini-block ciphers ; µ and η are linear permutations.

22 / 42

slide-52
SLIDE 52

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

TU-Decomposition in a Nutshell

Let L be the LAT of the target S : Fn

2 → Fn 2 .

T U µ η

23 / 42

slide-53
SLIDE 53

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

TU-Decomposition in a Nutshell

Let L be the LAT of the target S : Fn

2 → Fn 2 . 1 Identify vector spaces U and V of dimension

n/2 such that: L(a,b) = 0, ∀(a,b) ∈ U × V . T U µ η

23 / 42

slide-54
SLIDE 54

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

TU-Decomposition in a Nutshell

Let L be the LAT of the target S : Fn

2 → Fn 2 . 1 Identify vector spaces U and V of dimension

n/2 such that: L(a,b) = 0, ∀(a,b) ∈ U × V .

2 Deduce linear permutations µ′ and η′ such that

L(µ′(a),η′(b)) = 0, ∀(a,b) ∈ Fn/2

2

× Fn/2

2

T U µ η

23 / 42

slide-55
SLIDE 55

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

TU-Decomposition in a Nutshell

Let L be the LAT of the target S : Fn

2 → Fn 2 . 1 Identify vector spaces U and V of dimension

n/2 such that: L(a,b) = 0, ∀(a,b) ∈ U × V .

2 Deduce linear permutations µ′ and η′ such that

L(µ′(a),η′(b)) = 0, ∀(a,b) ∈ Fn/2

2

× Fn/2

2 3 Built new LAT L′ such that

L′(a,b) = L(µ′(a),η′(b)) and recover S′ with LAT L′. Deduce µ,η. T U µ η

23 / 42

slide-56
SLIDE 56

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

TU-Decomposition in a Nutshell

Let L be the LAT of the target S : Fn

2 → Fn 2 . 1 Identify vector spaces U and V of dimension

n/2 such that: L(a,b) = 0, ∀(a,b) ∈ U × V .

2 Deduce linear permutations µ′ and η′ such that

L(µ′(a),η′(b)) = 0, ∀(a,b) ∈ Fn/2

2

× Fn/2

2 3 Built new LAT L′ such that

L′(a,b) = L(µ′(a),η′(b)) and recover S′ with LAT L′. Deduce µ,η. T U µ η S’

23 / 42

slide-57
SLIDE 57

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

Bootstrapping TU-Decomposition

OK... But how do we find U and V?

24 / 42

slide-58
SLIDE 58

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

Bootstrapping TU-Decomposition

OK... But how do we find U and V? For now: we just look at the LAT and hope for the best!

24 / 42

slide-59
SLIDE 59

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

Kuznyechik/Stribog

Stribog

Type Hash function Publication [GOST, 2012]

Kuznyechik

Type Block cipher Publication [GOST, 2015]

25 / 42

slide-60
SLIDE 60

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

Kuznyechik/Stribog

Stribog

Type Hash function Publication [GOST, 2012]

Kuznyechik

Type Block cipher Publication [GOST, 2015]

Common ground

Both are standard symmetric primitives in Russia. Both were designed by the FSB (TC26). Both use the same 8 × 8 S-Box, π.

25 / 42

slide-61
SLIDE 61

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

The LAT of the S-Box of Kuznyechik

26 / 42

slide-62
SLIDE 62

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

Applying one Linear Layer

27 / 42

slide-63
SLIDE 63

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

Applying two Linear Layers

28 / 42

slide-64
SLIDE 64

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

Final Decomposition Number 1

ω σ ϕ ⊙ ν1 ν0 I ⊙ α ⊙ Multiplication in F24 α Linear permutation I Inversion in F24 ν0,ν1,σ 4 × 4 permutations ϕ 4 × 4 function ω Linear permutation

29 / 42

slide-65
SLIDE 65

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

Final Decomposition Number 1

ω σ ϕ ⊙ ν1 ν0 I ⊙ α T U ⊙ Multiplication in F24 α Linear permutation I Inversion in F24 ν0,ν1,σ 4 × 4 permutations ϕ 4 × 4 function ω Linear permutation

29 / 42

slide-66
SLIDE 66

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

Conclusion for Kuznyechik/Stribog?

The Russian S-Box was built like a strange Feistel...

30 / 42

slide-67
SLIDE 67

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

Conclusion for Kuznyechik/Stribog?

The Russian S-Box was built like a strange Feistel... ... or was it?

30 / 42

slide-68
SLIDE 68

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

Conclusion for Kuznyechik/Stribog?

The Russian S-Box was built like a strange Feistel... ... or was it?

Belarussian inspiration

The last standard of Belarus [Bel. St. Univ., 2011] uses an 8-bit S-box, somewhat similar to π...

30 / 42

slide-69
SLIDE 69

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

Conclusion for Kuznyechik/Stribog?

The Russian S-Box was built like a strange Feistel... ... or was it?

Belarussian inspiration

The last standard of Belarus [Bel. St. Univ., 2011] uses an 8-bit S-box, somewhat similar to π... ... based on a finite field exponential!

30 / 42

slide-70
SLIDE 70

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

Final Decomposition Number 2 (!)

ω′ ⊗ −1 ⊞ q′ logw,16 T

0 1 2 3 4 5 6 7 8 9 a b c d e f T0 0 1 2 3 4 5 6 7 8 9 a b c d e f T1 0 1 2 3 4 5 6 7 8 9 a b c d e f T2 0 1 2 3 4 5 6 7 8 9 a b c d f e T3 0 1 2 3 4 5 6 7 8 9 a b c f d e T4 0 1 2 3 4 5 6 7 8 9 a b f c d e T5 0 1 2 3 4 5 6 7 8 9 a f b c d e T6 0 1 2 3 4 5 6 7 8 9 f a b c d e T7 0 1 2 3 4 5 6 7 8 f 9 a b c d e T8 0 1 2 3 4 5 6 7 f 8 9 a b c d e T9 0 1 2 3 4 5 6 f 7 8 9 a b c d e Ta 0 1 2 3 4 5 f 6 7 8 9 a b c d e Tb 0 1 2 3 4 f 5 6 7 8 9 a b c d e Tc 0 1 2 3 f 4 5 6 7 8 9 a b c d e Td 0 1 2 f 3 4 5 6 7 8 9 a b c d e Te 0 1 f 2 3 4 5 6 7 8 9 a b c d e Tf 0 f 1 2 3 4 5 6 7 8 9 a b c d e

31 / 42

slide-71
SLIDE 71

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

Final Decomposition Number 2 (!)

ω′ ⊗ −1 ⊞ q′ logw,16 T

0 1 2 3 4 5 6 7 8 9 a b c d e f T0 0 1 2 3 4 5 6 7 8 9 a b c d e f T1 0 1 2 3 4 5 6 7 8 9 a b c d e f T2 0 1 2 3 4 5 6 7 8 9 a b c d f e T3 0 1 2 3 4 5 6 7 8 9 a b c f d e T4 0 1 2 3 4 5 6 7 8 9 a b f c d e T5 0 1 2 3 4 5 6 7 8 9 a f b c d e T6 0 1 2 3 4 5 6 7 8 9 f a b c d e T7 0 1 2 3 4 5 6 7 8 f 9 a b c d e T8 0 1 2 3 4 5 6 7 f 8 9 a b c d e T9 0 1 2 3 4 5 6 f 7 8 9 a b c d e Ta 0 1 2 3 4 5 f 6 7 8 9 a b c d e Tb 0 1 2 3 4 f 5 6 7 8 9 a b c d e Tc 0 1 2 3 f 4 5 6 7 8 9 a b c d e Td 0 1 2 f 3 4 5 6 7 8 9 a b c d e Te 0 1 f 2 3 4 5 6 7 8 9 a b c d e Tf 0 f 1 2 3 4 5 6 7 8 9 a b c d e

31 / 42

slide-72
SLIDE 72

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

Conclusion on Kuznyechik/Stribog

π

32 / 42

slide-73
SLIDE 73

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

Conclusion on Kuznyechik/Stribog

π

32 / 42

slide-74
SLIDE 74

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

Conclusion on Kuznyechik/Stribog

π

32 / 42

slide-75
SLIDE 75

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Definition of the TU-decomposition Application to the Last Russian Standards

Conclusion on Kuznyechik/Stribog

π ?

32 / 42

slide-76
SLIDE 76

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion The Big APN Problem and its Only Known Solutions On Buterflies

Outline

1

Introduction

2

Overview of S-Box Reverse-Engineering Methods

3

The TU-Decomposition

4

A Decomposition of the 6-bit APN Permutation

5

Conclusion

32 / 42

slide-77
SLIDE 77

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion The Big APN Problem and its Only Known Solutions On Buterflies

Plan of this Section

1

Introduction

2

Overview of S-Box Reverse-Engineering Methods

3

The TU-Decomposition

4

A Decomposition of the 6-bit APN Permutation The Big APN Problem and its Only Known Solutions On Buterflies

5

Conclusion

32 / 42

slide-78
SLIDE 78

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion The Big APN Problem and its Only Known Solutions On Buterflies

The Big APN Problem

Definition (APN function)

A function f : Fn

2 → Fn 2 is Almost Perfect Non-linear (APN) if

f (x ⊕ a) ⊕ f (x) = b has 0 or 2 solutions for all a 0 and for all b.

33 / 42

slide-79
SLIDE 79

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion The Big APN Problem and its Only Known Solutions On Buterflies

The Big APN Problem

Definition (APN function)

A function f : Fn

2 → Fn 2 is Almost Perfect Non-linear (APN) if

f (x ⊕ a) ⊕ f (x) = b has 0 or 2 solutions for all a 0 and for all b.

Big APN Problem

Are there APN permutations operating on Fn

2 where n is even?

33 / 42

slide-80
SLIDE 80

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion The Big APN Problem and its Only Known Solutions On Buterflies

Dillon et al.’s Permutation

Only One Known Solution!

For n = 6, Dillon et al. found an APN permutation.

34 / 42

slide-81
SLIDE 81

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion The Big APN Problem and its Only Known Solutions On Buterflies

Dillon et al.’s Permutation

Only One Known Solution!

For n = 6, Dillon et al. found an APN permutation.

34 / 42

slide-82
SLIDE 82

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion The Big APN Problem and its Only Known Solutions On Buterflies

Dillon et al.’s Permutation

Only One Known Solution!

For n = 6, Dillon et al. found an APN permutation.

34 / 42

slide-83
SLIDE 83

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion The Big APN Problem and its Only Known Solutions On Buterflies

Dillon et al.’s Permutation

Only One Known Solution!

For n = 6, Dillon et al. found an APN permutation. It is possible to make a TU-decomposition!

34 / 42

slide-84
SLIDE 84

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion The Big APN Problem and its Only Known Solutions On Buterflies

On the Buterfly Structure

βx3 x1/3 ⊙ α ⊕ ⊕ βx3 x3 ⊙ α ⊕ ⊕

Definition (Open Buterfly H3

α,β)

This permutation is an open buterfly.

35 / 42

slide-85
SLIDE 85

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion The Big APN Problem and its Only Known Solutions On Buterflies

On the Buterfly Structure

βx3 x1/3 ⊙ α ⊕ ⊕ βx3 x3 ⊙ α ⊕ ⊕ T U

Definition (Open Buterfly H3

α,β)

This permutation is an open buterfly.

Lemma

Dillon’s permutation is affine-equivalent to H3

w,1, where Tr (w) = 0.

35 / 42

slide-86
SLIDE 86

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion The Big APN Problem and its Only Known Solutions On Buterflies

CCZ-equivalence (1/2)

Definition (CCZ-equivalence)

Let F and G be functions of Fn

2 . They are CCZ-equivalent if there exists a

linear permutation L of Fn

2 × Fn 2 such that

  • x, F (x)
  • ,∀x ∈ Fn

2

  • =
  • L
  • x,G(x)
  • ,∀x ∈ Fn

2

  • 36 / 42
slide-87
SLIDE 87

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion The Big APN Problem and its Only Known Solutions On Buterflies

CCZ-equivalence (1/2)

Definition (CCZ-equivalence)

Let F and G be functions of Fn

2 . They are CCZ-equivalent if there exists a

linear permutation L of Fn

2 × Fn 2 such that

  • x, F (x)
  • ,∀x ∈ Fn

2

  • =
  • L
  • x,G(x)
  • ,∀x ∈ Fn

2

  • Properties

CCZ-equivalence preserves: the distribution of the coefficients in the LAT (Walsh spectrum), the distribution of the coefficients in the DDT. It does not preserve: the position of the DDT/LAT coefficients the algebraic degree.

36 / 42

slide-88
SLIDE 88

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion The Big APN Problem and its Only Known Solutions On Buterflies

Closed Buterflies

⊙ α ⊕ x3 βx3 ⊕ ⊙ α ⊕ x3 βx3 ⊕

Definition (Closed buterfly V3

α,β)

This quadratic function is a closed buterfly.

37 / 42

slide-89
SLIDE 89

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion The Big APN Problem and its Only Known Solutions On Buterflies

Closed Buterflies

⊙ α ⊕ x3 βx3 ⊕ ⊙ α ⊕ x3 βx3 ⊕

Definition (Closed buterfly V3

α,β)

This quadratic function is a closed buterfly.

Lemma (Equivalence)

Open and closed buterflies with the same parameters are CCZ-equivalent.

37 / 42

slide-90
SLIDE 90

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion The Big APN Problem and its Only Known Solutions On Buterflies

Buterflies and Feistel Networks

When α = 1, buterflies can be greatly simplified. βx3 ⊕ x1/3 ⊕ βx3 ⊕ βx3 x3 βx3 ⊕ ⊕ ⊕

38 / 42

slide-91
SLIDE 91

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion The Big APN Problem and its Only Known Solutions On Buterflies

Some Properties of Buterflies

Theorem (Properties of buterflies [Canteaut et al., 2017])

Let V3

α,β and H3 α,β be buterflies operating on 2n bits, n odd. Then:

deg

  • V3

α,β

  • = 2,

if n = 3, Tr (α ) = 0 and β + α 3 ∈ {α, 1/α }, then max(DDT ) = 2, max(W) = 2n+1 and deg

  • H3

α,β

  • = n + 1 ,

if β = (1 + α )3, then max(DDT ) = 2n+1, max(W) = 2(3n+1)/2 and deg

  • H3

α,β

  • = n ,
  • therwise,

max(DDT ) = 4, max(W) = 2n+1 and deg

  • H3

α,β

  • ∈ {n, n + 1}

and deg

  • H3

α,β

  • = n if and only if

1 + α β + α 4 = (β + α + α 3)2 .

39 / 42

slide-92
SLIDE 92

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Conclusion

Outline

1

Introduction

2

Overview of S-Box Reverse-Engineering Methods

3

The TU-Decomposition

4

A Decomposition of the 6-bit APN Permutation

5

Conclusion

39 / 42

slide-93
SLIDE 93

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Conclusion

Plan of this Section

1

Introduction

2

Overview of S-Box Reverse-Engineering Methods

3

The TU-Decomposition

4

A Decomposition of the 6-bit APN Permutation

5

Conclusion

39 / 42

slide-94
SLIDE 94

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Conclusion

Conclusion

We can recover the majority of known S-Box structures and derive new results about Skipjack and Kuznyechik.

40 / 42

slide-95
SLIDE 95

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Conclusion

Conclusion

We can recover the majority of known S-Box structures and derive new results about Skipjack and Kuznyechik. We can generalize the permutation of Dillon et al...

40 / 42

slide-96
SLIDE 96

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Conclusion

Conclusion

We can recover the majority of known S-Box structures and derive new results about Skipjack and Kuznyechik. We can generalize the permutation of Dillon et al... but we can prove that our generalizations are never APN (except in the known case).

40 / 42

slide-97
SLIDE 97

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Conclusion

Conclusion

We can recover the majority of known S-Box structures and derive new results about Skipjack and Kuznyechik. We can generalize the permutation of Dillon et al... but we can prove that our generalizations are never APN (except in the known case). There are still S-Boxes with unknown building strategies (CMEA, CSS)!

40 / 42

slide-98
SLIDE 98

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Conclusion

The Last S-Box

14 11 60 6d e9 10 e3 2 b 90 d 17 c5 b0 9f c5 d8 da be 22 8 f3 4 a9 fe f3 f5 fc bc 30 be 26 bb 88 85 46 f4 2e e fd 76 fe b0 11 4e de 35 bb 30 4b 30 d6 dd df df d4 90 7a d8 8c 6a 89 30 39 e9 1 da d2 85 87 d3 d4 ba 2b d4 9f 9c 38 8c 55 d3 86 bb db ec e0 46 48 bf 46 1b 1c d7 d9 1b e0 23 d4 d7 7f 16 3f 3 3 44 c3 59 10 2a da ed e9 8e d8 d1 db cb cb c3 c7 38 22 34 3d db 85 23 7c 24 d1 d8 2e fc 44 8 38 c8 c7 39 4c 5f 56 2a cf d0 e9 d2 68 e4 e3 e9 13 e2 c 97 e4 60 29 d7 9b d9 16 24 94 b3 e3 4c 4c 4f 39 e0 4b bc 2c d3 94 81 96 93 84 91 d0 2e d6 d2 2b 78 ef d6 9e 7b 72 ad c4 68 92 7a d2 5 2b 1e d0 dc b1 22 3f c3 c3 88 b1 8d b5 e3 4e d7 81 3 15 17 25 4e 65 88 4e e4 3b 81 81 fa 1 1d 4 22 6 1 27 68 27 2e 3b 83 c7 cc 25 9b d8 d5 1c 1f e5 59 7f 3f 3f ef

41 / 42

slide-99
SLIDE 99

Introduction Overview of S-Box Reverse-Engineering Methods The TU-Decomposition A Decomposition of the 6-bit APN Permutation Conclusion Conclusion 42 / 42

slide-100
SLIDE 100

Appendix Bibliography Back-Up Slides

Details About Skipjack

Number of occurrences (log scale)

100 200 300

Absolute value of the coefficients in the LAT

22 23 24 25 26 27 28 1 / 4

slide-101
SLIDE 101

Appendix Bibliography Back-Up Slides

Proof of Full Degree Condition

If deg(F ◦ G) = n − 1, then ∃i ≤ n such that

  • x ∈Ci (F ◦ G)(x) = 1.

2 / 4

slide-102
SLIDE 102

Appendix Bibliography Back-Up Slides

Proof of Full Degree Condition

If deg(F ◦ G) = n − 1, then ∃i ≤ n such that

  • x ∈Ci (F ◦ G)(x) = 1.

Let Ii : Fn

2 → F2 be such that Ii (x) = 1 ⇔ x ∈ Ci:

  • x ∈Ci

(F ◦ G)(x) =

  • x ∈Fn

2

F

  • G(x)
  • × Ii (x) ,

2 / 4

slide-103
SLIDE 103

Appendix Bibliography Back-Up Slides

Proof of Full Degree Condition

If deg(F ◦ G) = n − 1, then ∃i ≤ n such that

  • x ∈Ci (F ◦ G)(x) = 1.

Let Ii : Fn

2 → F2 be such that Ii (x) = 1 ⇔ x ∈ Ci:

  • x ∈Ci

(F ◦ G)(x) =

  • x ∈Fn

2

F

  • G(x)
  • × Ii (x) ,

and let y = G(x). Then:

  • x ∈Ci

(F ◦ G)(x) =

  • y ∈Fn

2

F (y) × Ii

  • G−1(y)
  • .

2 / 4

slide-104
SLIDE 104

Appendix Bibliography Back-Up Slides

Proof of Full Degree Condition

If deg(F ◦ G) = n − 1, then ∃i ≤ n such that

  • x ∈Ci (F ◦ G)(x) = 1.

Let Ii : Fn

2 → F2 be such that Ii (x) = 1 ⇔ x ∈ Ci:

  • x ∈Ci

(F ◦ G)(x) =

  • x ∈Fn

2

F

  • G(x)
  • × Ii (x) ,

and let y = G(x). Then:

  • x ∈Ci

(F ◦ G)(x) =

  • y ∈Fn

2

F (y) × Ii

  • G−1(y)
  • .

This sum is equal to 1 if and only if x → F (x) × Ii

  • G−1(x)
  • has degree n.

2 / 4

slide-105
SLIDE 105

Appendix Bibliography Back-Up Slides

Proof of Full Degree Condition

If deg(F ◦ G) = n − 1, then ∃i ≤ n such that

  • x ∈Ci (F ◦ G)(x) = 1.

Let Ii : Fn

2 → F2 be such that Ii (x) = 1 ⇔ x ∈ Ci:

  • x ∈Ci

(F ◦ G)(x) =

  • x ∈Fn

2

F

  • G(x)
  • × Ii (x) ,

and let y = G(x). Then:

  • x ∈Ci

(F ◦ G)(x) =

  • y ∈Fn

2

F (y) × Ii

  • G−1(y)
  • .

This sum is equal to 1 if and only if x → F (x) × Ii

  • G−1(x)
  • has degree n.

Ii is affine (Ii (x) = 1 + xi).

2 / 4

slide-106
SLIDE 106

Appendix Bibliography Back-Up Slides

Proof of Full Degree Condition

If deg(F ◦ G) = n − 1, then ∃i ≤ n such that

  • x ∈Ci (F ◦ G)(x) = 1.

Let Ii : Fn

2 → F2 be such that Ii (x) = 1 ⇔ x ∈ Ci:

  • x ∈Ci

(F ◦ G)(x) =

  • x ∈Fn

2

F

  • G(x)
  • × Ii (x) ,

and let y = G(x). Then:

  • x ∈Ci

(F ◦ G)(x) =

  • y ∈Fn

2

F (y) × Ii

  • G−1(y)
  • .

This sum is equal to 1 if and only if x → F (x) × Ii

  • G−1(x)
  • has degree n.

Ii is affine (Ii (x) = 1 + xi). Thus, the sum can be equal to 1 only if deg(F) + deg(G−1) ≥ n .

  • 2 / 4
slide-107
SLIDE 107

Appendix Bibliography

Bibliography I

  • Bel. St. Univ. (2011).

“Information technologies. Data protection. Cryptographic algorithms for encryption and integrity control.”. State Standard of Republic of Belarus (STB 34.101.31-2011). http://apmi.bsu.by/assets/files/std/belt-spec27.pdf. Biryukov, A., Khovratovich, D., and Perrin, L. (2017). Multiset-algebraic cryptanalysis of reduced Kuznyechik, Khazad, and secret SPNs. IACR Transactions on Symmetric Cryptology, 2016(2):226–247. Canteaut, A., Duval, S., and Perrin, L. (2017). A generalisation of Dillon’s APN permutation with the best known differential and nonlinear properties for all fields of size 24k+2. IEEE Transactions on Information Theory, (to appear). GOST (2012). Gost r 34.11-2012: Streebog hash function. https://www.streebog.net/.

3 / 4

slide-108
SLIDE 108

Appendix Bibliography

Bibliography II

GOST (2015). (GOST R 34.12–2015) information technology – cryptographic data security – block ciphers. http://tc26.ru/en/standard/gost/GOST_R_34_12_2015_ENG.pdf. Perrin, L. and Udovenko, A. (2016). Algebraic insights into the secret feistel network. In Peyrin, T., editor, Fast Sofware Encryption – FSE 2016, volume 9783 of Lecture Notes in Computer Science, pages 378–398. Springer, Heidelberg.

4 / 4