Top Banner
Impl´ ementation et Analyse d’une White-box du DES David Wong Jacques Monin Hugo Bonnin Universit´ e de Bordeaux 2014
21

Whitebox techniques for DES

Apr 15, 2017

Download

Science

David Wong
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: Whitebox techniques for DES

Implementation et Analyse d’une White-box duDES

David Wong Jacques Monin Hugo Bonnin

Universite de Bordeaux

2014

Page 2: Whitebox techniques for DES

A quoi ca sert ?

Page 3: Whitebox techniques for DES

Base de la cryptographie

Page 4: Whitebox techniques for DES

Man At The End

.-----------------.

| ATTAQUANT |

| .-----------. |

| | | |

| | PROGRAMME | |

| | | |

| ’-----------’ |

| |

’-----------------’

Page 5: Whitebox techniques for DES

Exemples

Page 6: Whitebox techniques for DES

Definition

Page 7: Whitebox techniques for DES

Algorithme DES

I Le but est de transformer toutes ces operations

Page 8: Whitebox techniques for DES

GithubI DES : www.github.com/mimoo/DESI WHITEBOX-DES : www.github.com/mimoo/whiteboxDES

Page 9: Whitebox techniques for DES

Partial evaluation

I Regrouper le XOR entre le bloc et la cle avec l’operation desubstitution.

I On peut ensuite pre-calculer toutes les sorties possibles decette operation.

I Les tables creees sont les seules du programme a etremodifiees lorsqu’une nouvelle cle est utilisee.

Page 10: Whitebox techniques for DES

Tabularization

Figure 1: Tabularisation

Page 11: Whitebox techniques for DES

Transformation

Page 12: Whitebox techniques for DES

Decomposition de Matrice

Figure 2: Decomposition de Matrice

Page 13: Whitebox techniques for DES

Input/Output Encoding

Figure 3: Encoding

Page 14: Whitebox techniques for DES

Concepts secondaires

*********************************************

* state 2 (96 bits) *

*********************************************

| | | |

v v v ... v

?????????????????????????????????????????????

| | | ... |

v v v v

*********************************************

* state 3 (96 bits) *

*********************************************

Page 15: Whitebox techniques for DES

Randomization

Page 16: Whitebox techniques for DES

Mixing Bijection

000000000000000000000000000000010000000000000000000000001000000000000000000000000000000000000000

100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000

010000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000

001000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000

000100000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000

000010000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000

000100000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000

000010000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000

000001000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000

000000100000000000000000000000000000000000000000000000000001000000000000000000000000000000000000

000000010000000000000000000000000000000000000000100000000000000000000000000000000000000000000000

G−1 · (G ·M1) ou G ·M1

Page 17: Whitebox techniques for DES

Bypass

I On empeche l’identification facile des operations

I On rajoute des bits en entree et en sortie

Page 18: Whitebox techniques for DES

Combined Function

(P||Q)(inputP ||inputQ).

Page 19: Whitebox techniques for DES

Split-Path Encoding

Entree S-box Sortie

.--------------------.

0011||0010 --> |...| 0011||0010 |...|

|----------------|---|

|...| 0001 |...| --> 0001

’--------------------’

|

v

.--------------------.

0011||0010 --> |...| 0011||0010 |...|

|----------------|---|

|...| 0001||xxxx |...| --> 0001||1001

’--------------------’

Page 20: Whitebox techniques for DES

External Encoding

I Appliquer deux bijections a l’entree et la sortie de DES

I Whitebox = E ◦ DES(input) ◦ G

Page 21: Whitebox techniques for DES

ConclusionI Beaucoup d’effort pour d’autres solutions (API, cles publiques)I Taille importanteI La non-connaissance des algorithmes est “trop” importante.I Utilise profesionnellement