How to Analyse an S-box, and, in the Process, Prove the Russian - - PowerPoint PPT Presentation

how to analyse an s box and in the process prove the
SMART_READER_LITE
LIVE PREVIEW

How to Analyse an S-box, and, in the Process, Prove the Russian - - PowerPoint PPT Presentation

How to Analyse an S-box, and, in the Process, Prove the Russian Standardizing Agency Wrong Lo Perrin Based on joint works with Biryukov, Bonnetain, Canteaut, Duval, Tian and Udovenko June 26, 2019 University of Rostock Introduction: S-Boxes


slide-1
SLIDE 1

How to Analyse an S-box, and, in the Process, Prove the Russian Standardizing Agency Wrong

Léo Perrin

Based on joint works with Biryukov, Bonnetain, Canteaut, Duval, Tian and Udovenko June 26, 2019

University of Rostock

slide-2
SLIDE 2

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion

From ↑ to ↓

π :

           F28 → F28 → κ(0) , (α2m+1)j → κ(2m − j), for 1 ≤ j ≤ 2m − 1 , αi+(2m+1)j → κ(2m − i) ⊕ ( α2m+1)s(j) , for 0 < i, 0 ≤ j < 2m − 1 .

1 / 33

slide-3
SLIDE 3

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion

From Russia with Love, Terence Young et al. (1963).

2 / 33

slide-4
SLIDE 4

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion

Outline

1

Introduction: S-Boxes and Standardization

2

TU-Decomposition, a Russian God and a Grasshoper

3

The Final Structure in the Russian S-box

4

Conclusion

3 / 33

slide-5
SLIDE 5

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Outline

1

Introduction: S-Boxes and Standardization

2

TU-Decomposition, a Russian God and a Grasshoper

3

The Final Structure in the Russian S-box

4

Conclusion

3 / 33

slide-6
SLIDE 6

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Plan of this Section

1

Introduction: S-Boxes and Standardization Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

2

TU-Decomposition, a Russian God and a Grasshoper

3

The Final Structure in the Russian S-box

4

Conclusion

3 / 33

slide-7
SLIDE 7

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Symmetric Cryptography

There are many symmetric algorithms! Hash functions, MACs...

Definition (Block Cipher)

Input: n-bit block x Parameter: k-bit key Output: n-bit block E x Symmetry: E and E

1 use the same

E x E x Properties needed: Diffusion Confusion No cryptanalysis!

4 / 33

slide-8
SLIDE 8

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Symmetric Cryptography

There are many symmetric algorithms! Hash functions, MACs...

Definition (Block Cipher)

Input: n-bit block x Parameter: k-bit key κ Output: n-bit block Eκ(x) Symmetry: E and E−1 use the same κ E x Eκ(x)

κ

Properties needed: Diffusion Confusion No cryptanalysis!

4 / 33

slide-9
SLIDE 9

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Symmetric Cryptography

There are many symmetric algorithms! Hash functions, MACs...

Definition (Block Cipher)

Input: n-bit block x Parameter: k-bit key κ Output: n-bit block Eκ(x) Symmetry: E and E−1 use the same κ E x Eκ(x)

κ

Properties needed: Diffusion Confusion No cryptanalysis!

4 / 33

slide-10
SLIDE 10

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

No Cryptanalysis?

Let us look at a typical cryptanalysis technique: the differential attack.

5 / 33

slide-11
SLIDE 11

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Differential Attacks

⊕ 6ec1067e5c5391ae 6ec1067e5c5390ae

a =0000000000000100 x x a a E E

0x7e6f661193739cea 0x04d4595257eb06c8

E x E x a b

7abb3f43c4989a22

b

Differential Attack

If there are many x such that E x E x a b, then the cipher is not secure.

6 / 33

slide-12
SLIDE 12

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Differential Attacks

⊕ 6ec1067e5c5391ae 6ec1067e5c5390ae

a =0000000000000100 x x a a Eκ Eκ

0x7e6f661193739cea 0x04d4595257eb06c8

E x E x a b

7abb3f43c4989a22

b

Differential Attack

If there are many x such that E x E x a b, then the cipher is not secure.

6 / 33

slide-13
SLIDE 13

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Differential Attacks

⊕ 6ec1067e5c5391ae 6ec1067e5c5390ae

a =0000000000000100 x x a a Eκ Eκ

0x7e6f661193739cea 0x04d4595257eb06c8

E x E x a b

7abb3f43c4989a22

b

Differential Attack

If there are many x such that E x E x a b, then the cipher is not secure.

6 / 33

slide-14
SLIDE 14

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Differential Attacks

⊕ 6ec1067e5c5391ae 6ec1067e5c5390ae

a =0000000000000100 x x a a Eκ Eκ

0x7e6f661193739cea 0x04d4595257eb06c8

E x E x a b =7abb3f43c4989a22

b

Differential Attack

If there are many x such that E x E x a b, then the cipher is not secure.

6 / 33

slide-15
SLIDE 15

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Differential Attacks

⊕ 6ec1067e5c5391ae 6ec1067e5c5390ae

a 0000000000000100 x x ⊕ a a Eκ Eκ

0x7e6f661193739cea 0x04d4595257eb06c8

Eκ(x) Eκ(x ⊕ a) b

7abb3f43c4989a22

b

⊕ Differential Attack

If there are many x such that E x E x a b, then the cipher is not secure.

6 / 33

slide-16
SLIDE 16

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Differential Attacks

⊕ 6ec1067e5c5391ae 6ec1067e5c5390ae

a 0000000000000100 x x ⊕ a a Eκ Eκ

0x7e6f661193739cea 0x04d4595257eb06c8

Eκ(x) Eκ(x ⊕ a) b

7abb3f43c4989a22

b

⊕ Differential Attack

If there are many x such that Eκ(x) ⊕ Eκ(x ⊕ a) = b, then the cipher is not secure.

6 / 33

slide-17
SLIDE 17

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Basic Block Cipher Structure

How do we build block ciphers that prevent such attacks (as well as

  • thers)?

S S S S S S S S

i

L

Substitution-Permutation Network

Such a block cipher iterates the round function above several times. S is the Substitution Box (S-Box).

7 / 33

slide-18
SLIDE 18

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Basic Block Cipher Structure

How do we build block ciphers that prevent such attacks (as well as

  • thers)?

S

S

S

S

S

S

S

S

⊕ κi

L

Substitution-Permutation Network

Such a block cipher iterates the round function above several times. S is the Substitution Box (S-Box).

7 / 33

slide-19
SLIDE 19

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Basic Block Cipher Structure

How do we build block ciphers that prevent such attacks (as well as

  • thers)?

S

S

S

S

S

S

S

S

⊕ κi

L

Substitution-Permutation Network

Such a block cipher iterates the round function above several times. S is the Substitution Box (S-Box).

7 / 33

slide-20
SLIDE 20

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

The S-Box (1/2)

The S-Box π of the latest Russian standards, Kuznyechik (BC) and Streebog (HF).

8 / 33

slide-21
SLIDE 21

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

The S-Box (2/2)

Importance of the S-Box

If S is such that S(x) ⊕ S(x ⊕ a) = b does not have many solutions x for all (a, b) then the cipher may be proved secure against differential attacks.

In academic papers presenting new block ciphers, the choice of S is carefully explained.

9 / 33

slide-22
SLIDE 22

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

The S-Box (2/2)

Importance of the S-Box

If S is such that S(x) ⊕ S(x ⊕ a) = b does not have many solutions x for all (a, b) then the cipher may be proved secure against differential attacks.

In academic papers presenting new block ciphers, the choice of S is carefully explained.

9 / 33

slide-23
SLIDE 23

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

S-Box Design

10 / 33

slide-24
SLIDE 24

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

S-Box Design

10 / 33

slide-25
SLIDE 25

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

S-Box Design

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

10 / 33

slide-26
SLIDE 26

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

S-Box Reverse-Engineering

S

11 / 33

slide-27
SLIDE 27

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

S-Box Reverse-Engineering

S

? ? ?

11 / 33

slide-28
SLIDE 28

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Life Cycle of a Cryptographic Primitive

Fundamental Research time

Design Public Analysis Deployment

Publication Standardization Small teams Academic community Industry Conf., competition NIST, ISO, IETF... Scope statement Algorithm specification Design choices justifications Security analysis Try and break pub- lished algorithms Unbroken algorithms are even- tually trusted Implements algorithms in actual products... ...unless a new attack is found

12 / 33

slide-29
SLIDE 29

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Life Cycle of a Cryptographic Primitive

Fundamental Research time

Design Public Analysis Deployment

Publication Standardization Small teams Academic community Industry Conf., competition NIST, ISO, IETF... Scope statement Algorithm specification Design choices justifications Security analysis Try and break pub- lished algorithms Unbroken algorithms are even- tually trusted Implements algorithms in actual products... ...unless a new attack is found

12 / 33

slide-30
SLIDE 30

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Life Cycle of a Cryptographic Primitive

Fundamental Research time

Design Public Analysis Deployment

Publication Standardization Small teams Academic community Industry Conf., competition NIST, ISO, IETF... Scope statement Algorithm specification Design choices justifications Security analysis Try and break pub- lished algorithms Unbroken algorithms are even- tually trusted Implements algorithms in actual products... ...unless a new attack is found

12 / 33

slide-31
SLIDE 31

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Life Cycle of a Cryptographic Primitive

Fundamental Research time

Design Public Analysis Deployment

Publication Standardization Small teams Academic community Industry Conf., competition NIST, ISO, IETF... Scope statement Algorithm specification Design choices justifications Security analysis Try and break pub- lished algorithms Unbroken algorithms are even- tually trusted Implements algorithms in actual products... ...unless a new attack is found

12 / 33

slide-32
SLIDE 32

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Life Cycle of a Cryptographic Primitive

Fundamental Research time

Design Public Analysis Deployment

Publication Standardization Small teams Academic community Industry Conf., competition NIST, ISO, IETF... Scope statement Algorithm specification Design choices justifications Security analysis Try and break pub- lished algorithms Unbroken algorithms are even- tually trusted Implements algorithms in actual products... ...unless a new attack is found

12 / 33

slide-33
SLIDE 33

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Life Cycle of a Cryptographic Primitive

Fundamental Research time

Design Public Analysis Deployment

Publication Standardization Small teams Academic community Industry Conf., competition NIST, ISO, IETF... Scope statement Algorithm specification Design choices justifications Security analysis Try and break pub- lished algorithms Unbroken algorithms are even- tually trusted Implements algorithms in actual products... ...unless a new attack is found

12 / 33

slide-34
SLIDE 34

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Life Cycle of a Cryptographic Primitive

Fundamental Research time

Design Public Analysis Deployment

Publication Standardization Small teams Academic community Industry Conf., competition NIST, ISO, IETF... Scope statement Algorithm specification Design choices justifications Security analysis Try and break pub- lished algorithms Unbroken algorithms are even- tually trusted Implements algorithms in actual products... ...unless a new attack is found

12 / 33

slide-35
SLIDE 35

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Life Cycle of a Cryptographic Primitive

Fundamental Research time

Design Public Analysis Deployment

Publication Standardization Small teams Academic community Industry Conf., competition NIST, ISO, IETF... Scope statement Algorithm specification Design choices justifications Security analysis Try and break pub- lished algorithms Unbroken algorithms are even- tually trusted Implements algorithms in actual products... ...unless a new attack is found

12 / 33

slide-36
SLIDE 36

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Life Cycle of a Cryptographic Primitive

Fundamental Research time

Design Public Analysis Deployment

Publication Standardization Small teams Academic community Industry Conf., competition NIST, ISO, IETF... Scope statement Algorithm specification Design choices justifications Security analysis Try and break pub- lished algorithms Unbroken algorithms are even- tually trusted Implements algorithms in actual products... ...unless a new attack is found

12 / 33

slide-37
SLIDE 37

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Breaking the Pipeline

Fundamental Research time

Design Public Analysis Deployment

Publication Standardization Implements algorithms in actual products Small teams Academic community Industry Scope statement Algorithm specification Design choices justifications Security analysis Try and break pub- lished algorithms Unbroken algorithms are eventually trusted ???

13 / 33

slide-38
SLIDE 38

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Breaking the Pipeline

Fundamental Research time

Design Public Analysis Deployment

Publication Standardization Implements algorithms in actual products Small teams Academic community Industry Scope statement Algorithm specification Design choices justifications Security analysis Try and break pub- lished algorithms Unbroken algorithms are eventually trusted ???

13 / 33

slide-39
SLIDE 39

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Basics of Symmetric Cryptography Block Cipher Design How Standardization (Doesn’t) Work

Breaking the Pipeline

Fundamental Research time

Design Public Analysis Deployment

Publication Standardization Implements algorithms in actual products Small teams Academic community Industry Scope statement Algorithm specification Design choices justifications Security analysis Try and break pub- lished algorithms Unbroken algorithms are eventually trusted ???

Hidden defect?

13 / 33

slide-40
SLIDE 40

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion The Two Tables Streebog and Kuznyechik Decomposing the Mysterious S-Box

Outline

1

Introduction: S-Boxes and Standardization

2

TU-Decomposition, a Russian God and a Grasshoper

3

The Final Structure in the Russian S-box

4

Conclusion

13 / 33

slide-41
SLIDE 41

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion The Two Tables Streebog and Kuznyechik Decomposing the Mysterious S-Box

Plan of this Section

1

Introduction: S-Boxes and Standardization

2

TU-Decomposition, a Russian God and a Grasshoper The Two Tables Streebog and Kuznyechik Decomposing the Mysterious S-Box

3

The Final Structure in the Russian S-box

4

Conclusion

13 / 33

slide-42
SLIDE 42

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion The Two Tables Streebog and Kuznyechik Decomposing the Mysterious S-Box

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

n 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

n 2

x a S x b 2n

1

1 2

x

n 2

1 a x

b S x

14 / 33

slide-43
SLIDE 43

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion The Two Tables Streebog and Kuznyechik Decomposing the Mysterious S-Box

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

n 2

x a S x b 2n

1

1 2

x

n 2

1 a x

b S x

14 / 33

slide-44
SLIDE 44

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion The Two Tables Streebog and Kuznyechik Decomposing the Mysterious S-Box

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

= 1

2 ×

x∈Fn

2

(−1)a·x+b·S(x)

14 / 33

slide-45
SLIDE 45

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion The Two Tables Streebog and Kuznyechik Decomposing the Mysterious S-Box

Example

S = [4, 2, 1, 6, 0, 5, 7, 3] The DDT of S.

       

8 2 2 2 2 2 2 2 2 4 4 2 2 2 2 4 4 4 4 2 2 2 2

       

The LAT of S.

       

4 2 2 2

−2

2 2 2

−2

2 2

−2

2 2

−2 −2 −2 −2

2

−2 −2 −2

2

−2 −2 −4

       

15 / 33

slide-46
SLIDE 46

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion The Two Tables Streebog and Kuznyechik Decomposing the Mysterious S-Box

Coding Time! (Basics)

1

Computing the DDT and LAT.

2 Differential uniformity, linearity. 3 What do DDT coefficients mean? 4 What do LAT coefficients mean? 5 Permutation vs. function

16 / 33

slide-47
SLIDE 47

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion The Two Tables Streebog and Kuznyechik Decomposing the Mysterious S-Box

Coding Time! (Bigger S-box)

1

Using the sage.crypto.sboxes module.

2 The AES S-box: differential uniformity, etc 3 The Jackon Pollock representation 4 Comparison with a random permutation

17 / 33

slide-48
SLIDE 48

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion The Two Tables Streebog and Kuznyechik Decomposing the Mysterious S-Box

Kuznyechik/Stribog

Stribog

Type Hash function Publication 2012

Kuznyechik

Type Block cipher Publication 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, π.

18 / 33

slide-49
SLIDE 49

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion The Two Tables Streebog and Kuznyechik Decomposing the Mysterious S-Box

Kuznyechik/Stribog

Stribog

Type Hash function Publication 2012

Kuznyechik

Type Block cipher Publication 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, π.

18 / 33

slide-50
SLIDE 50

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion The Two Tables Streebog and Kuznyechik Decomposing the Mysterious S-Box

Coding Time!

1

JP representation of the LAT of π

2 Reordering the columns 3 Reordering both rows and columns with linear permutations 4 Deduce an interesting permutation L′ ◦ π ◦ L 5 Notice the integral distinguisher

19 / 33

slide-51
SLIDE 51

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion The Two Tables Streebog and Kuznyechik Decomposing the Mysterious S-Box

The TU-Decomposition

Definition

The TU-decomposition is a decomposition algorithm working against S-Boxes with vector spaces of zeroes in their LAT. S TU-decomposition T U

α ω

T and U are mini-block ciphers ; µ and η are linear permutations.

20 / 33

slide-52
SLIDE 52

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion The Two Tables Streebog and Kuznyechik Decomposing the Mysterious S-Box

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

21 / 33

slide-53
SLIDE 53

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion The Two Tables Streebog and Kuznyechik Decomposing the Mysterious S-Box

Hardware Performance

Structure Area (µm2) Delay (ns) Naive implementation 3889.6 362.52 Feistel-like 1534.7 61.53 Multiplications-first 1530.3 54.01 Feistel-like (with tweaked MUX) 1530.1 46.11

22 / 33

slide-54
SLIDE 54

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion The Two Tables Streebog and Kuznyechik Decomposing the Mysterious S-Box

Conclusion for Kuznyechik/Stribog?

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

Belarussian inspiration

The last standard of Belarus (BelT) uses an 8-bit S-box, somewhat similar to π... ... based on a finite field exponential!

23 / 33

slide-55
SLIDE 55

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion The Two Tables Streebog and Kuznyechik Decomposing the Mysterious S-Box

Conclusion for Kuznyechik/Stribog?

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

Belarussian inspiration

The last standard of Belarus (BelT) uses an 8-bit S-box, somewhat similar to π... ... based on a finite field exponential!

23 / 33

slide-56
SLIDE 56

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion The Two Tables Streebog and Kuznyechik Decomposing the Mysterious S-Box

Conclusion for Kuznyechik/Stribog?

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

Belarussian inspiration

The last standard of Belarus (BelT) uses an 8-bit S-box, somewhat similar to π... ... based on a finite field exponential!

23 / 33

slide-57
SLIDE 57

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion The Two Tables Streebog and Kuznyechik Decomposing the Mysterious S-Box

Conclusion for Kuznyechik/Stribog?

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

Belarussian inspiration

The last standard of Belarus (BelT) uses an 8-bit S-box, somewhat similar to π... ... based on a finite field exponential!

23 / 33

slide-58
SLIDE 58

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Generation Process Cryptographic Properties

Outline

1

Introduction: S-Boxes and Standardization

2

TU-Decomposition, a Russian God and a Grasshoper

3

The Final Structure in the Russian S-box

4

Conclusion

23 / 33

slide-59
SLIDE 59

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Generation Process Cryptographic Properties

Plan of this Section

1

Introduction: S-Boxes and Standardization

2

TU-Decomposition, a Russian God and a Grasshoper

3

The Final Structure in the Russian S-box Generation Process Cryptographic Properties

4

Conclusion

23 / 33

slide-60
SLIDE 60

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Generation Process Cryptographic Properties

Timeline

July 2012 GOST standardization of Streebog

  • Aug. 2013 RFC for Streebog (RFC6986)

June 2015 GOST standardization of Kuznyechik

  • Mar. 2016 RFC for Kuznyechik (RFC7801)

May 2016 Publication of the first decomposition1

  • Oct. 2018 ISO standardization of Streebog (ISO 10118-3)
  • 1A. Biryukov, L. Perrin, A. Udovenko. Reverse-engineering the S-box of Streebog, Kuznyechik and
  • STRIBOBr1. EUROCRYPT’16

24 / 33

slide-61
SLIDE 61

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Generation Process Cryptographic Properties

Timeline

July 2012 GOST standardization of Streebog

  • Aug. 2013 RFC for Streebog (RFC6986)

June 2015 GOST standardization of Kuznyechik

  • Mar. 2016 RFC for Kuznyechik (RFC7801)

May 2016 Publication of the first decomposition1

  • Oct. 2018 ISO standardization of Streebog (ISO 10118-3)
  • 1A. Biryukov, L. Perrin, A. Udovenko. Reverse-engineering the S-box of Streebog, Kuznyechik and
  • STRIBOBr1. EUROCRYPT’16

24 / 33

slide-62
SLIDE 62

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Generation Process Cryptographic Properties

Timeline

July 2012 GOST standardization of Streebog

  • Aug. 2013 RFC for Streebog (RFC6986)

June 2015 GOST standardization of Kuznyechik

  • Mar. 2016 RFC for Kuznyechik (RFC7801)

May 2016 Publication of the first decomposition1

  • Oct. 2018 ISO standardization of Streebog (ISO 10118-3)
  • 1A. Biryukov, L. Perrin, A. Udovenko. Reverse-engineering the S-box of Streebog, Kuznyechik and
  • STRIBOBr1. EUROCRYPT’16

24 / 33

slide-63
SLIDE 63

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Generation Process Cryptographic Properties

A Third and Final Decomposition: the TKlog

π is a TKlog! π operates on F22m where m = 4 using:

α: a generator of F22m, κ: an affine function Fm

2 → F22m with κ(Fm 2 ) ⊕ F2m = F22m,

s: a permutation of Z/(2m − 1)Z; it works as follows:

    

π(0)

= κ(0) ,

π

( (α2m+1)j) = κ(2m − j), for 1 ≤ j ≤ 2m − 1 ,

π

( αi+(2m+1)j) = κ(2m − i) ⊕ ( α2m+1)s(j) , for 0 < i, 0 ≤ j < 2m − 1 .

25 / 33

slide-64
SLIDE 64

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Generation Process Cryptographic Properties

Timeline

July 2012 GOST standardization of Streebog

  • Aug. 2013 RFC for Streebog (RFC6986)

June 2015 GOST standardization of Kuznyechik

  • Mar. 2016 RFC for Kuznyechik (RFC7801)

May 2016 Publication of the first decomposition

  • Oct. 2018 ISO standardization of Streebog (ISO 10118-3)
  • Jan. 2019 Publication of the final decomposition2
  • Feb. 2019 Kuznyechik at ISO: decision post-poned
  • Sep. 2019 Kuznyechik at ISO: decision must be taken!
  • 2L. Perrin. Partitions in the S-box of Streebog and Kuznyechik. IACR ToSC. 2019.

26 / 33

slide-65
SLIDE 65

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Generation Process Cryptographic Properties

Timeline

July 2012 GOST standardization of Streebog

  • Aug. 2013 RFC for Streebog (RFC6986)

June 2015 GOST standardization of Kuznyechik

  • Mar. 2016 RFC for Kuznyechik (RFC7801)

May 2016 Publication of the first decomposition

  • Oct. 2018 ISO standardization of Streebog (ISO 10118-3)
  • Jan. 2019 Publication of the final decomposition2
  • Feb. 2019 Kuznyechik at ISO: decision post-poned
  • Sep. 2019 Kuznyechik at ISO: decision must be taken!
  • 2L. Perrin. Partitions in the S-box of Streebog and Kuznyechik. IACR ToSC. 2019.

26 / 33

slide-66
SLIDE 66

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Generation Process Cryptographic Properties

Timeline

July 2012 GOST standardization of Streebog

  • Aug. 2013 RFC for Streebog (RFC6986)

June 2015 GOST standardization of Kuznyechik

  • Mar. 2016 RFC for Kuznyechik (RFC7801)

May 2016 Publication of the first decomposition

  • Oct. 2018 ISO standardization of Streebog (ISO 10118-3)
  • Jan. 2019 Publication of the final decomposition2
  • Feb. 2019 Kuznyechik at ISO: decision post-poned
  • Sep. 2019 Kuznyechik at ISO: decision must be taken!
  • 2L. Perrin. Partitions in the S-box of Streebog and Kuznyechik. IACR ToSC. 2019.

26 / 33

slide-67
SLIDE 67

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Generation Process Cryptographic Properties

From the Designers, at ISO

[...] Everything is wrong except for the green part.

27 / 33

slide-68
SLIDE 68

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Generation Process Cryptographic Properties

From the Designers, at ISO

[...] Everything is wrong except for the green part.

27 / 33

slide-69
SLIDE 69

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Generation Process Cryptographic Properties

The Russian S-box is too simple

165 ASCII characters that fit on 7 bits: this program is 1155-bit long It is impossible that all 21684 8-bit permutations have an implementation this short!

https://codegolf.stackexchange.com/questions/186498/ proving-that-a-russian-cryptographic-standard-is-too-structured

28 / 33

slide-70
SLIDE 70

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Generation Process Cryptographic Properties

The Russian S-box is too simple

165 ASCII characters that fit on 7 bits: this program is 1155-bit long It is impossible that all 21684 8-bit permutations have an implementation this short!

https://codegolf.stackexchange.com/questions/186498/ proving-that-a-russian-cryptographic-standard-is-too-structured

28 / 33

slide-71
SLIDE 71

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Generation Process Cryptographic Properties

Cosets to Cosets

F28

π(F28) = F28

{0} {fc}

24 24 16 24 4 2

...

2 24 1 24

15

24

14

24

... ...

29 / 33

slide-72
SLIDE 72

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Generation Process Cryptographic Properties

Cosets to Cosets

F28

π(F28) = F28

{0} {fc}

F∗

24

κ(0) ⊕ F∗

24 16 24 4 2

...

2 24 1 24

15

24

14

24

... ...

29 / 33

slide-73
SLIDE 73

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Generation Process Cryptographic Properties

Cosets to Cosets

F28

π(F28) = F28

{0} {fc}

F∗

24

κ(0) ⊕ F∗

24

α16 ⊙ F∗

24

κ((F4

2)∗)

...

2 24 1 24

15

24

14

24

... ...

29 / 33

slide-74
SLIDE 74

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Generation Process Cryptographic Properties

Cosets to Cosets

F28

π(F28) = F28

{0} {fc}

F∗

24

κ(0) ⊕ F∗

24

α16 ⊙ F∗

24

κ((F4

2)∗)

...

α2 ⊙ F∗

24

α1 ⊙ F∗

24

κ(15) ⊕ F∗

24

κ(14) ⊕ F∗

24

... ...

29 / 33

slide-75
SLIDE 75

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Generation Process Cryptographic Properties

Cosets to Cosets

F28

π(F28) = F28

{0} {fc}

F∗

24

κ(0) ⊕ F∗

24

α16 ⊙ F∗

24

κ((F4

2)∗)

...

α2 ⊙ F∗

24

α1 ⊙ F∗

24

κ(15) ⊕ F∗

24

κ(14) ⊕ F∗

24

... ...

29 / 33

slide-76
SLIDE 76

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Generation Process Cryptographic Properties

Why it is Worrying

Russia’s π

{0} V

α × V α2 × V

...

α16 × V κ(0) ⊕ V κ(15) ⊕ V κ(14) ⊕ V

...

κ({1, . . . , 15})

κ(0) ...

Backdoored S-box

κ(0) ⊕ V κ(15) ⊕ V κ(14) ⊕ V

...

β(0) ⊕ W β(15) ⊕ W β(14) ⊕ W

...

30 / 33

slide-77
SLIDE 77

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Conclusion

Outline

1

Introduction: S-Boxes and Standardization

2

TU-Decomposition, a Russian God and a Grasshoper

3

The Final Structure in the Russian S-box

4

Conclusion

30 / 33

slide-78
SLIDE 78

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Conclusion

Plan of this Section

1

Introduction: S-Boxes and Standardization

2

TU-Decomposition, a Russian God and a Grasshoper

3

The Final Structure in the Russian S-box

4

Conclusion

30 / 33

slide-79
SLIDE 79

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Conclusion

Conclusion

1 Cryptographers use mathematics but mathematicians could

also use crypto!

2 If you design a cipher, justify every step of your design. 3 If you choose a cipher, demand a full design explanation.

31 / 33

slide-80
SLIDE 80

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Conclusion

Conclusion

1 Cryptographers use mathematics but mathematicians could

also use crypto!

2 If you design a cipher, justify every step of your design. 3 If you choose a cipher, demand a full design explanation.

31 / 33

slide-81
SLIDE 81

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Conclusion

Conclusion

1 Cryptographers use mathematics but mathematicians could

also use crypto!

2 If you design a cipher, justify every step of your design. 3 If you choose a cipher, demand a full design explanation.

31 / 33

slide-82
SLIDE 82

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box 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

32 / 33

slide-83
SLIDE 83

Introduction: S-Boxes and Standardization TU-Decomposition, a Russian God and a Grasshoper The Final Structure in the Russian S-box Conclusion Conclusion 33 / 33