Top Banner
56

Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Mar 28, 2018

Download

Documents

phamquynh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings
Page 2: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Organisation• Organised by the ECRYPT-CSA

project

• Submission server developed by CryptoExperts

• Submission server hosted by TU Eindhoven

Page 3: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

White-box crypto• Obfuscation for crypto

implementations

• Should at least be secure against key extraction

• Every published scheme broken

• Big trend in the industry (mobile payment, DRM, …)

• Deployed implementations based on secret technologies

(picture source: http://www.whiteboxcrypto.com/)

Page 4: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

• Following an open discussion at the WhibOx workshop (co-located with CHES & CRYPTO 2016)

• Goal: confront designers and attackers of practical white-box crypto

• Designers can submit WB AES implementations st: • C source code at most 50MB • Executable at most 20MB • Use at most 20MB of RAM • Run in at most 1sc

• Attackers can try to recover the keys of submitted implem.

White-box contest

Page 5: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Contest rules• A WB implem. gets ST points as long as it stays

unbroken

• n new ST on day n (quadratic growth)

• When a WB implem. with q ST is broken:

• the attacker gets q BN points (with max rule)

• the ST score of the implem. starts to decrease symmetrically down to 0

• the designer of the implem. gets q ST points

Page 6: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Strawberry scores over time

Page 7: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Strawberry scores over time

No implementation got more than 1 before 08/20

Page 8: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Strawberry scores over time

No implementation got more than 1 before 08/20

Everything was broken in the end!

Page 9: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Strawberry scores over time

No implementation got more than 1 before 08/20

Everything was broken in the end!

Outstanding winner

Page 10: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Strawberry scores over time

No implementation got more than 1 before 08/20

Everything was broken in the end!

Outstanding winner

Several challengingimplementations

Page 11: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

May 25 Jun 9 Jun 24 Jul 9 Jul 24 Aug 8 Aug 230

10

20

30

40

50

60

70

80

90

0

10

20

30

40

50

60

70

80

90

Submissions over time

Server down

Server upgrade

Page 12: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Submitters

chaeskluxc3qa1

GMorseCode

negainoido

therealvalensteam

BugsBunny

sebastien-riou

bluecat

geronimo

ssmiler

coder1987

aleksejs

grothendieckJustTesting

Qe1d28d67

uglyalgaealec

Mr.Hyde

cryptolux

Stradivarius

Feeker

dequeue

team4

Nemo

Luigi37yixin

BendHer

Guntram

test1234

olesona

Milky

fumiste

double

lulu

tester

yyx

T33

Alt

20 chaes 1 uglyalgae7 kluxc3qa1 1 tester7 GMorseCode 1 test12345 negainoido 1 T334 bluecat 1 Stradivarius4 alec 1 Qe1d28d673 therealvalensteam 1 olesona3 ssmiler 1 Mr.Hyde3 BugsBunny 1 Milky2 yixin 1 Luigi372 team4 1 JustTesting2 sebastien-riou 1 Guntram2 Nemo 1 grothendieck2 lulu 1 fumiste2 geronimo 1 double2 Feeker 1 dequeue2 coder1987 1 cryptolux2 aleksejs 1 BendHer1 yyx 1 Alt

Page 13: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

May 27 Jun 14 Jul 2 Jul 20 Aug 7 Aug 25 Sep 120

100

200

300

400

500

600

700

800

900

0

100

200

300

400

500

600

700

800

900

Number of breaks over time

Page 14: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Breakers

Team Megaloblasttpschorrhacker

jean_onchedoegox

OverTimeTheRealDonkeyKong

2coolHeartmice SdeH

Lockboa11

bluecat

jonny_the_depp

kerckhoffs

RonaldRietmanBugsBunny

stephen_curry_gsw

MiWCryptAnalytics

team_cryptoexperts

amberheijden

Nainphomane

sheepwracker

GMorseCode

userwww

hhhhhkkkkkkk

cryptoluxTeamPhilips

relaxstalWalter White

atreff

hellman

mlyons3

pluto

aleksejs

Pasithea

ymgve

Luigi37

Dr.Jekyll

BendHervafandal

patcdr

Nemo

lhc1469

ZetaTwo

username

olesona

wserdx

chidoben

derks

matlink

705lab

E1w00d

luigi

Jack87

gilles

team4

xanes

jibe

tester2

yixin

c633

You!

bl627

rain1fort

89 Team Megaloblastt 3 c63385 pschorrhacker 3 amberheijden83 OverTime 2 ZetaTwo83 doegox 2 xanes69 jean_onche 2 Walter White66 mice 2 team456 SdeH 2 sheepwracker41 2coolHeart 2 patcdr36 bluecat 2 olesona31 TheRealDonkeyKong 2 Nainphomane29 Lockboa11 2 mlyons320 kerckhoffs 2 MiWCryptAnalytics14 RonaldRietman 2 matlink13 atreff 2 Luigi3712 BugsBunny 2 luigi10 userwww 2 jibe10 jonny_the_depp 2 aleksejs8 relaxstal 2 705lab8 pluto 1 You!8 hellman 1 yixin7 Nemo 1 username7 GMorseCode 1 tester26 Pasithea 1 TeamPhilips6 derks 1 team_cryptoexperts4 ymgve 1 rain14 stephen_curry_gsw 1 Jack874 lhc1469 1 gilles4 BendHer 1 fort3 wserdx 1 E1w00d3 vafandal 1 Dr.Jekyll3 hhhhhkkkkkkk 1 chidoben3 cryptolux 1 bl627

Page 15: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Slack activity

Jun Jul Aug Sep

0

500

1000

1500

2000

2500

20772 messages + 615 files exchanged

Direct messages

Private messages

Public messages

Page 16: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Challengeswere broken 9.33 times on average

#Breaks Most broken

39 wizardly_shannon

37 angry_meitner

20hopeful_liskovquirky_keller

18 elegant_sinoussi

16 stupe ed_varahamihira

14famous_stonebrakerpractical_cori

13 eloquent_indiana

12

festive_jenningsmodest_clarkezealous_ardinghellidetermined_goldwassernostalgic_noethervigilant_heyrovsky

#Breaks Least broken

5

mystifying_galileosilly_feynmanpriceless_stallmanrelaxed_allenmusing_lalandecompassionate_albattanismart_ardinghelliangry_jonesnervous_montalcini

3sad_goldstinebright_morse

2relaxed_brownhungry_clarkevibrant_goldberg

1jolly_davincicompetent_agnesiadoring_poitras

Page 17: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Challengeswere broken 9.33 times on average

#Breaks Most broken

39 wizardly_shannon

37 angry_meitner

20hopeful_liskovquirky_keller

18 elegant_sinoussi

16 stupe ed_varahamihira

14famous_stonebrakerpractical_cori

13 eloquent_indiana

12

festive_jenningsmodest_clarkezealous_ardinghellidetermined_goldwassernostalgic_noethervigilant_heyrovsky

#Breaks Least broken

5

mystifying_galileosilly_feynmanpriceless_stallmanrelaxed_allenmusing_lalandecompassionate_albattanismart_ardinghelliangry_jonesnervous_montalcini

3sad_goldstinebright_morse

2relaxed_brownhungry_clarkevibrant_goldberg

1jolly_davincicompetent_agnesiadoring_poitras

Winner (28 days / 406 )

Second (12 days / 78 )

Third (11 days / 66 )

Page 18: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Strawberry scoreboard

Page 19: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Strawberry scoreboard

Winners:Alex Biryukov

Aleksei Udovenko(U. Luxembourg)

Page 20: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Strawberry scoreboard

Stillanonymous

Page 21: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Strawberry scoreboard

Anonymous

Brent Carmer, Tancrède Lepoint, Alex Malozemoff, Mariana Raykova

(iO with degraded parameters)

Page 22: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Banana scoreboard

Page 23: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Banana scoreboard

Winners:Louis Goubin, Pascal Paillier, Matthieu Rivain, Junwei Wang

(CryptoExperts)

Page 24: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Banana scoreboard

Winners:Louis Goubin, Pascal Paillier, Matthieu Rivain, Junwei Wang

(CryptoExperts)

We didn’t cheat!* We didn’t host the server* Sources on GitHub* Junwei’s presentation next* White-paper coming soon

Page 25: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Banana scoreboard

Alex BiryukovAleksei Udovenko(U. Luxembourg)

Page 26: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Banana scoreboard

Stillanonymous

Page 27: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Reveal Secrets in Adoring PoitrasA victory of reverse engineering and cryptanalysis over challenge 777

Louis Goubin

1,4Pascal Paillier

1

Matthieu Rivain

1

Junwei Wang

1,2,3

1CryptoExperts

2University of Luxembourg

3University of Paris 8

4University of Versailles-St-Quentin-en-Yvelines

CHES 2017, Rump Session, Taipei

Page 28: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Outline

0 ⌅ Downloading and Compiling the Code

1 ⌅ Cleaning the Code

2 ⌅De-Virtualization

3 ⌅ From Bitwise Program to Boolean Circuits

4 ⌅ Boolean Circuits Minimization

5 ⌅Data Dependency Analysis

6 ⌅ Algebraic Analysis

2

Page 29: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Outline

0 ⌅ Downloading and Compiling the Code

1 ⌅ Cleaning the Code

2 ⌅De-Virtualization

3 ⌅ From Bitwise Program to Boolean Circuits

4 ⌅ Boolean Circuits Minimization

5 ⌅Data Dependency Analysis

6 ⌅ Algebraic Analysis

3

Page 30: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Downloading and Compiling the code Code

⌅ Browsers stuck at loading it...

⌅ Editors are broken by it...

⌅ Some compilers (e.g., llvm) keep compiling and reportingwarnings...

4

Page 31: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Outline

0 ⌅ Downloading and Compiling the Code

1 ⌅ Cleaning the Code

2 ⌅De-Virtualization

3 ⌅ From Bitwise Program to Boolean Circuits

4 ⌅ Boolean Circuits Minimization

5 ⌅Data Dependency Analysis

6 ⌅ Algebraic Analysis

5

Page 32: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Untidy Code

More than 1k functions

6

Page 33: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Readability Processing

⌅ Duplicate / redundancy / unused codes elimination⌅ Functions / variables renaming⌅ Constants rewriting⌅ Code combination

Only 20 functions are remaining

7

Page 34: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Readability Processing

⌅ Duplicate / redundancy / unused codes elimination⌅ Functions / variables renaming⌅ Constants rewriting⌅ Code combination

Only 20 functions are remaining

7

Page 35: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Outline

0 ⌅ Downloading and Compiling the Code

1 ⌅ Cleaning the Code

2 ⌅De-Virtualization

3 ⌅ From Bitwise Program to Boolean Circuits

4 ⌅ Boolean Circuits Minimization

5 ⌅Data Dependency Analysis

6 ⌅ Algebraic Analysis

8

Page 36: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Universal Turing Machine

9

Page 37: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Universal Turing Machine (2)

10

Page 38: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Universal Turing Machine (3)

11

Page 39: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

De-virtualization - Simulate the UTM

We get a bitwise-based program (600k operations).

12

Page 40: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

De-virtualization - Simulate the UTM

We get a bitwise-based program (600k operations).

12

Page 41: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Outline

0 ⌅ Downloading and Compiling the Code

1 ⌅ Cleaning the Code

2 ⌅De-Virtualization

3 ⌅ From Bitwise Program to Boolean Circuits

4 ⌅ Boolean Circuits Minimization

5 ⌅Data Dependency Analysis

6 ⌅ Algebraic Analysis

13

Page 42: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Bitwise-based program

Input: plaintext bits (b1

, b2

, · · · , b128

)

Output: ciphertext bits (c1

, c2

, · · · , c128

)

for i = 1 to 128 dot[addr

1,i ] 0bbi bi bi · · · bi . expand bi to unsigned long integer (64 bits)

for j = 1 to 64 dot[addr

2,i + j ⇤ 212] t[addr1,i ]

end forend for

BitwiseOperationLoop1 . loop for 64 times

BitwiseOperationLoop2· · ·BitwiseOperationLoop2573

for i = 1 to 129 dot[addr

3,i ] vi . vi 2 GF(2) is a constant

for j = 1 to 64 dotmp t[addr

4,i + j ⇤ 212]� t[addr5,i + j ⇤ 212]

t[addr3,i ] t[addr

3,i ]� Parity(tmp) . Parity computes the number of 1-bit modulo 2

end forend for

BitwiseOperationLoop2574· · ·BitwiseOperationLoop2582

for i = 1 to 128 doci t[addr

6,i ]

end for14

Page 43: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

From Bitwise Program to Boolean Circuits

⌅ 64 (loop length) * 64 (number of bits in a unsigned longinteger) independent AES computations operated in booleancircuits

⌅ 3 out of 64*64 are the real and identical AES computations(e.g., bit 42 of loop 26)

⌅ Hence, the bitwsie-based program can be simplified as aboolean circuits with 600k gates (XOR, AND, OR, NOT).

15

Page 44: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Outline

0 ⌅ Downloading and Compiling the Code

1 ⌅ Cleaning the Code

2 ⌅De-Virtualization

3 ⌅ From Bitwise Program to Boolean Circuits

4 ⌅ Boolean Circuits Minimization

5 ⌅Data Dependency Analysis

6 ⌅ Algebraic Analysis

16

Page 45: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Boolean Circuits Minimization

⌅ Constant variable detection and propagation

⌅ Dead code elimination

⌅ Deduplication

⌅ “Potential” pseudorandomness detection and removal

⌅ Repeat the above steps until no more constant / duplicate /”potential” pseudorandomness can be detected

Finally, the circuits is reduced to 280k boolean gates (53% smaller)

17

Page 46: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Outline

0 ⌅ Downloading and Compiling the Code

1 ⌅ Cleaning the Code

2 ⌅De-Virtualization

3 ⌅ From Bitwise Program to Boolean Circuits

4 ⌅ Boolean Circuits Minimization

5 ⌅Data Dependency Analysis

6 ⌅ Algebraic Analysis

18

Page 47: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Data Dependency Graph (DDG)

x =a;

y =b;

x =y + x ;

y =x ⇤ y ;z =x � y ;

x =z ⇤ x ;

x

y

z

19

Page 48: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

DDG of the Circuits (First 5%)

20

Page 49: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

First Round Computation of AES

MixColumns

SubBytes

21

Page 50: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Extracting the Branches (Clustering)

22

Page 51: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Outline

0 ⌅ Downloading and Compiling the Code

1 ⌅ Cleaning the Code

2 ⌅De-Virtualization

3 ⌅ From Bitwise Program to Boolean Circuits

4 ⌅ Boolean Circuits Minimization

5 ⌅Data Dependency Analysis

6 ⌅ Algebraic Analysis

23

Page 52: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Assumption

Assumption (Informal)

Each of the green ”branch” corresponds to an individual S-Boxcomputation in the first round of AES, the t-bit output(s

1

, s2

, · · · , st) of which is a linear encoding of a real S-Box outputbit.

24

Page 53: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Output Bits of A Branch

Bits in a branch (530)

S-Box output bits (34)

25

Page 54: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Solve a Systems of Linear Equations

2

66664

s

(1)

1

s

(1)

2

. . . s

(1)

34

, 1

s

(2)

1

s

(2)

2

. . . s

(2)

34

, 1...

.... . .

...

s

(n)1

s

(n)2

. . . s

(n)34

, 1

3

77775

2

666664

a

1

a

2

...a

34

a

35

3

777775=

2

6664

SBox(x (1) � k̂)[i ]SBox(x (2) � k̂)[i ]

...SBox(x (n) � k̂)[i ]

3

7775

If n � 35 + 8 + �, Pr[“k̂ 6= k

⇤ has a solution”] 2��.

26

Page 55: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Results

27

Page 56: Organisation - ches.2017.rump.cr.yp.to · PDF fileOrganisation • Organised by the ... 16 stupe ed_varahamihira 14 famous_stonebraker practical _cori 13 eloquent_indiana 12 festive_jennings

Thank you!

28