Cryptanalysis, Reverse-Engineering and Design of Symmetric - - PowerPoint PPT Presentation

cryptanalysis reverse engineering and design of symmetric
SMART_READER_LITE
LIVE PREVIEW

Cryptanalysis, Reverse-Engineering and Design of Symmetric - - PowerPoint PPT Presentation

Cryptanalysis, Reverse-Engineering and Design of Symmetric Cryptographic Algorithms Lo Perrin CSC & SnT, University of Luxembourg CryptoLUX Team ; supervised by Alex Biryukov July 5th 2018 Introduction What is cryptography?


slide-1
SLIDE 1

Cryptanalysis, Reverse-Engineering and Design of Symmetric Cryptographic Algorithms

Léo Perrin

CSC & SnT, University of Luxembourg CryptoLUX Team ; supervised by Alex Biryukov July 5th 2018

slide-2
SLIDE 2

Introduction What is cryptography?

Cryptography? (1/3)

Alice Bob

1 / 27

slide-3
SLIDE 3

Introduction What is cryptography?

Cryptography? (1/3)

Alice Bob Charlie

1 / 27

slide-4
SLIDE 4

Introduction What is cryptography?

Cryptography? (1/3)

1 / 27

slide-5
SLIDE 5

Introduction What is cryptography?

Cryptography? (2/3)

Cryptography is everywhere!

2 / 27

slide-6
SLIDE 6

Introduction What is cryptography?

Cryptography? (3/3)

CRYPTO LUX

3 / 27

slide-7
SLIDE 7

Introduction What is cryptography?

Cryptography? (3/3)

CRYPTO LUX

Envelope: Confidentiality (nobody can read it)

3 / 27

slide-8
SLIDE 8

Introduction What is cryptography?

Cryptography? (3/3)

CRYPTO LUX

Envelope: Confidentiality (nobody can read it) Seal: Integrity (nobody can modify it)

3 / 27

slide-9
SLIDE 9

Introduction What is cryptography?

Cryptography? (3/3)

CRYPTO LUX

Envelope: Confidentiality (nobody can read it) Seal: Integrity (nobody can modify it) Signature: Authentication (it was wrien by the right person) Paul

3 / 27

slide-10
SLIDE 10

Introduction What is cryptography?

Modern Cryptography

Before Data encrypted Leters/Digits Method By hand/ machine Cryptographers Linguists inventors Example

4 / 27

slide-11
SLIDE 11

Introduction What is cryptography?

Modern Cryptography

Before Now Data encrypted Leters/Digits 0,1 (bits) Method By hand/ Computer program machine Cryptographers Linguists Mathematicians inventors Computer scientists Example

4 / 27

slide-12
SLIDE 12

Introduction How do we make cryptographic algorithms?

How do we design such algorithms?

5 / 27

slide-13
SLIDE 13

Introduction How do we make cryptographic algorithms?

“Cryptographic Pipeline”

Fundamental Research

6 / 27

slide-14
SLIDE 14

Introduction How do we make cryptographic algorithms?

“Cryptographic Pipeline”

Fundamental Research time

Design Public Analysis Deployment

Publication Standardization

6 / 27

slide-15
SLIDE 15

Introduction How do we make cryptographic algorithms?

“Cryptographic Pipeline”

Fundamental Research time

Design Public Analysis Deployment

Publication Standardization Small teams Academic community Industry

6 / 27

slide-16
SLIDE 16

Introduction How do we make cryptographic algorithms?

“Cryptographic Pipeline”

Fundamental Research time

Design Public Analysis Deployment

Publication Standardization Small teams Academic community Industry Scope statement Algorithm specification Design choices justifications Security analysis

6 / 27

slide-17
SLIDE 17

Introduction How do we make cryptographic algorithms?

“Cryptographic Pipeline”

Fundamental Research time

Design Public Analysis Deployment

Publication Standardization Small teams Academic community Industry Scope statement Algorithm specification Design choices justifications Security analysis

6 / 27

slide-18
SLIDE 18

Introduction How do we make cryptographic algorithms?

“Cryptographic Pipeline”

Fundamental Research time

Design Public Analysis Deployment

Publication Standardization Small teams Academic community Industry Scope statement Algorithm specification Design choices justifications Security analysis

Try and break published algo- rithms

6 / 27

slide-19
SLIDE 19

Introduction How do we make cryptographic algorithms?

“Cryptographic Pipeline”

Fundamental Research time

Design Public Analysis Deployment

Publication Standardization Small teams Academic community Industry Scope statement Algorithm specification Design choices justifications Security analysis

Try and break published algo- rithms

6 / 27

slide-20
SLIDE 20

Introduction How do we make cryptographic algorithms?

“Cryptographic Pipeline”

Fundamental Research time

Design Public Analysis Deployment

Publication Standardization Small teams Academic community Industry Scope statement Algorithm specification Design choices justifications Security analysis

Try and break published algo- rithms Unbroken algo- rithm are even- tually trusted

6 / 27

slide-21
SLIDE 21

Introduction How do we make cryptographic algorithms?

“Cryptographic Pipeline”

Fundamental Research time

Design Public Analysis Deployment

Publication Standardization Small teams Academic community Industry Scope statement Algorithm specification Design choices justifications Security analysis

Try and break published algo- rithms Unbroken algo- rithm are even- tually trusted Implements al- gorithm in ac- tual products

6 / 27

slide-22
SLIDE 22

Introduction How do we make cryptographic algorithms?

What about my thesis?

7 / 27

slide-23
SLIDE 23

Introduction How do we make cryptographic algorithms?

What about my thesis? Funded by the FNR (ACRYPT Project)

7 / 27

slide-24
SLIDE 24

Introduction How do we make cryptographic algorithms?

3 Different Directions

Lightweight Cryptography 5 papers (FSE, ASIACRYPT, JoCEn), 2 invited talks 1 new block cipher

8 / 27

slide-25
SLIDE 25

Introduction How do we make cryptographic algorithms?

3 Different Directions

Lightweight Cryptography 5 papers (FSE, ASIACRYPT, JoCEn), 2 invited talks 1 new block cipher S-Box Reverse-Engineering 8 conference papers (CRYPTO, EUROCRYPT...), 7 invited talks Discussions with ISO

8 / 27

slide-26
SLIDE 26

Introduction How do we make cryptographic algorithms?

3 Different Directions

Lightweight Cryptography 5 papers (FSE, ASIACRYPT, JoCEn), 2 invited talks 1 new block cipher S-Box Reverse-Engineering 8 conference papers (CRYPTO, EUROCRYPT...), 7 invited talks Discussions with ISO Purposefully Hard Cryptography 1 paper (ASIACRYPT) 1 patent (+1 paper under submission)

8 / 27

slide-27
SLIDE 27

Introduction How do we make cryptographic algorithms?

Outline

1 Introduction 2 Lightweight Cryptography 3 S-Box Reverse-Engineering 4 Conclusion

9 / 27

slide-28
SLIDE 28

Lightweight Cryptography

Outline

1 Introduction 2 Lightweight Cryptography 3 S-Box Reverse-Engineering 4 Conclusion

9 / 27

slide-29
SLIDE 29

Lightweight Cryptography What is it?

Internet of Things

Everything is being connected to the internet.

10 / 27

slide-30
SLIDE 30

Lightweight Cryptography What is it?

Internet of Things

Everything

10 / 27

slide-31
SLIDE 31

Lightweight Cryptography What is it?

Internet of Things Everything

10 / 27

slide-32
SLIDE 32

Lightweight Cryptography What is it?

Internet of Things

Everything

10 / 27

slide-33
SLIDE 33

Lightweight Cryptography What is it?

Security

“In IoT, the S is for Security.” Internet-enabled devices have security flaws. Security is an aferthought (at best).

11 / 27

slide-34
SLIDE 34

Lightweight Cryptography What is it?

Security

“In IoT, the S is for Security.” Internet-enabled devices have security flaws. Security is an aferthought (at best). Security has a cost in terms of engineering... ... and computationnal resources!

11 / 27

slide-35
SLIDE 35

Lightweight Cryptography What is it?

Lightweight Cryptography

Lightweight cryptography uses litle resources.

12 / 27

slide-36
SLIDE 36

Lightweight Cryptography What is it?

Lightweight Cryptography

Lightweight cryptography uses litle resources.

LWC is a very active research area!

12 / 27

slide-37
SLIDE 37

Lightweight Cryptography Our Contributions

Overview

Fundamental Research

Design Public Analysis Deployment

13 / 27

slide-38
SLIDE 38

Lightweight Cryptography Our Contributions

Overview

Fundamental Research

Design Public Analysis Deployment

  • Extensive survey of the state of the art

13 / 27

slide-39
SLIDE 39

Lightweight Cryptography Our Contributions

Overview

Fundamental Research

Design Public Analysis Deployment

  • Extensive survey of the state of the art
  • Invention of a new design strategy
  • Block cipher Sparx

13 / 27

slide-40
SLIDE 40

Lightweight Cryptography Our Contributions

Overview

Fundamental Research

Design Public Analysis Deployment

  • Extensive survey of the state of the art
  • Invention of a new design strategy
  • Block cipher Sparx
  • Atacks on Gluon
  • Results on Prince
  • Results on Twine

13 / 27

slide-41
SLIDE 41

Lightweight Cryptography Our Contributions

Highlights

Atacks on Prince We won round 1 of the “PRINCE challenge” The corresponding paper was selected in the top 3 papers at FSE’15;

14 / 27

slide-42
SLIDE 42

Lightweight Cryptography Our Contributions

Highlights

Atacks on Prince We won round 1 of the “PRINCE challenge” The corresponding paper was selected in the top 3 papers at FSE’15; Sparx First ARX-based block cipher proven secure against some atacks. Design strategy re-used by third parties from Waterloo (Canada) to build sLiSCP

14 / 27

slide-43
SLIDE 43

Lightweight Cryptography Our Contributions

Highlights

Atacks on Prince We won round 1 of the “PRINCE challenge” The corresponding paper was selected in the top 3 papers at FSE’15; Sparx First ARX-based block cipher proven secure against some atacks. Design strategy re-used by third parties from Waterloo (Canada) to build sLiSCP NIST Survey greatly appreciated (and cited) by NIST in their

  • ngoing standardization effort

I presented Sparx at a NIST workshop

14 / 27

slide-44
SLIDE 44

S-Box Reverse-Engineering

Outline

1 Introduction 2 Lightweight Cryptography 3 S-Box Reverse-Engineering 4 Conclusion

14 / 27

slide-45
SLIDE 45

S-Box Reverse-Engineering What is it?

What is an S-Box?

The “S-Box” of the last Russian standards

15 / 27

slide-46
SLIDE 46

S-Box Reverse-Engineering What is it?

Breaking the Pipeline

time

Design Public Analysis Deployment

Publication Standardization

Implements al- gorithm in ac- tual products

Small teams Academic community Industry Scope statement Algorithm specification Design choices justifications Security analysis

Try and break published algo- rithm Unbroken algo- rithm are even- tually trusted

16 / 27

slide-47
SLIDE 47

S-Box Reverse-Engineering What is it?

Breaking the Pipeline

time

Design Public Analysis Deployment

Publication Standardization

Implements al- gorithm in ac- tual products

Small teams Academic community Industry ???

16 / 27

slide-48
SLIDE 48

S-Box Reverse-Engineering What is it?

The Need for Reverse-Engineering

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

17 / 27

slide-49
SLIDE 49

S-Box Reverse-Engineering What is it?

The Need for Reverse-Engineering

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

17 / 27

slide-50
SLIDE 50

S-Box Reverse-Engineering What is it?

The Need for Reverse-Engineering

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

17 / 27

slide-51
SLIDE 51

S-Box Reverse-Engineering Our Contributions

Kuznyechik/Stribog

Stribog Type Hash function Publication 2012 Kuznyechik Type Block cipher Publication 2015

18 / 27

slide-52
SLIDE 52

S-Box Reverse-Engineering Our Contributions

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 / 27

slide-53
SLIDE 53

S-Box Reverse-Engineering Our Contributions

How?

Given an S-Box... Where do we even start?

19 / 27

slide-54
SLIDE 54

S-Box Reverse-Engineering Our Contributions

Fourier to the Rescue

Linear Approximations Table (LAT) The LAT of S : {0, 1}n → {0, 1}n is a 2n × 2n matrix such that LATS[a, b] =

  • x ∈Fn

2

(−1)a·x ⊕b·S(x) .

20 / 27

slide-55
SLIDE 55

S-Box Reverse-Engineering Our Contributions

Fourier to the Rescue

Linear Approximations Table (LAT) The LAT of S : {0, 1}n → {0, 1}n is a 2n × 2n matrix such that LATS[a, b] =

  • x ∈Fn

2

(−1)a·x ⊕b·S(x) . a b

  • LATS[a, b]

= 0 c d

  • LATS[c, d]

≥ 20

20 / 27

slide-56
SLIDE 56

S-Box Reverse-Engineering Our Contributions

The LAT of π

21 / 27

slide-57
SLIDE 57

S-Box Reverse-Engineering Our Contributions

The LAT of π (reordered columns)

22 / 27

slide-58
SLIDE 58

S-Box Reverse-Engineering Our Contributions

The LAT of η ◦ π ◦ µ

23 / 27

slide-59
SLIDE 59

S-Box Reverse-Engineering Our Contributions

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

24 / 27

slide-60
SLIDE 60

S-Box Reverse-Engineering Our Contributions

S-Box Reverse-Engineering: Summary

Set up a process and tools to recover hidden structures and/or design criteria for S-Boxes. Successful applications to Streebog/Kuznyechik (FSB), Skipjack (NSA)... and a theorem! Found new cryptographic atacks.

25 / 27

slide-61
SLIDE 61

S-Box Reverse-Engineering Our Contributions

S-Box Reverse-Engineering: Summary

Set up a process and tools to recover hidden structures and/or design criteria for S-Boxes. Successful applications to Streebog/Kuznyechik (FSB), Skipjack (NSA)... and a theorem! Found new cryptographic atacks. Hopefully, deterred publications of unjustified algorithms.

25 / 27

slide-62
SLIDE 62

S-Box Reverse-Engineering Our Contributions

S-Box Reverse-Engineering: Summary

Set up a process and tools to recover hidden structures and/or design criteria for S-Boxes. Successful applications to Streebog/Kuznyechik (FSB), Skipjack (NSA)... and a theorem! Found new cryptographic atacks. Hopefully, deterred publications of unjustified algorithms. Caught the atention of the community: I gave many invited talks on this topic.

25 / 27

slide-63
SLIDE 63

Conclusion

Outline

1 Introduction 2 Lightweight Cryptography 3 S-Box Reverse-Engineering 4 Conclusion

25 / 27

slide-64
SLIDE 64

Conclusion

Conclusion

My co-authors and I made significant contribution to lightweight cryptography.

26 / 27

slide-65
SLIDE 65

Conclusion

Conclusion

My co-authors and I made significant contribution to lightweight cryptography. We pioneered the field of S-Box reverse-engineering and obtained important results in cryptography and in mathematics.

26 / 27

slide-66
SLIDE 66

Conclusion

Conclusion

My co-authors and I made significant contribution to lightweight cryptography. We pioneered the field of S-Box reverse-engineering and obtained important results in cryptography and in mathematics. We worked on another topic (“Purposefully hard cryptography”, useful for crypto-currencies, DRM systems, spam mitigation...).

26 / 27

slide-67
SLIDE 67

Conclusion

Conclusion

My co-authors and I made significant contribution to lightweight cryptography. We pioneered the field of S-Box reverse-engineering and obtained important results in cryptography and in mathematics. We worked on another topic (“Purposefully hard cryptography”, useful for crypto-currencies, DRM systems, spam mitigation...).

26 / 27

slide-68
SLIDE 68

Conclusion

I am grateful to... my PhD advisor Alex Biryukov, the uni.lu for providing such a good research environment,

27 / 27

slide-69
SLIDE 69

Conclusion

I am grateful to... my PhD advisor Alex Biryukov, the uni.lu for providing such a good research environment, my colleagues and co-authors,

27 / 27

slide-70
SLIDE 70

Conclusion

I am grateful to... my PhD advisor Alex Biryukov, the uni.lu for providing such a good research environment, my colleagues and co-authors, my friends and family,

27 / 27

slide-71
SLIDE 71

Conclusion

I am grateful to... my PhD advisor Alex Biryukov, the uni.lu for providing such a good research environment, my colleagues and co-authors, my friends and family, the Amis de l’Université and their sponsors... ... and to you for listening!

27 / 27