Whitebox techniques for DES

161 vues

Publié le

intro to the chow et al. techniques for whiteboxing DES

Publié dans : Sciences
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
161
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
2
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Whitebox techniques for DES

  1. 1. Impl´ementation et Analyse d’une White-box du DES David Wong Jacques Monin Hugo Bonnin Universit´e de Bordeaux 2014
  2. 2. A quoi ¸ca sert ?
  3. 3. Base de la cryptographie
  4. 4. Man At The End .-----------------. | ATTAQUANT | | .-----------. | | | | | | | PROGRAMME | | | | | | | ’-----------’ | | | ’-----------------’
  5. 5. Exemples
  6. 6. D´efinition
  7. 7. Algorithme DES Le but est de transformer toutes ces op´erations
  8. 8. Github DES : www.github.com/mimoo/DES WHITEBOX-DES : www.github.com/mimoo/whiteboxDES
  9. 9. Partial evaluation Regrouper le XOR entre le bloc et la cl´e avec l’op´eration de substitution. On peut ensuite pr´e-calculer toutes les sorties possibles de cette op´eration. Les tables cr´e´ees sont les seules du programme `a ˆetre modifi´ees lorsqu’une nouvelle cl´e est utilis´ee.
  10. 10. Tabularization Figure 1: Tabularisation
  11. 11. Transformation
  12. 12. D´ecomposition de Matrice Figure 2: D´ecomposition de Matrice
  13. 13. Input/Output Encoding Figure 3: Encoding
  14. 14. Concepts secondaires ********************************************* * state 2 (96 bits) * ********************************************* | | | | v v v ... v ????????????????????????????????????????????? | | | ... | v v v v ********************************************* * state 3 (96 bits) * *********************************************
  15. 15. Randomization
  16. 16. Mixing Bijection 000000000000000000000000000000010000000000000000000000001000000000000000000000000000000000000000 100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000 010000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000 000100000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000 000010000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000 000100000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000 000010000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000 000001000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000 000000100000000000000000000000000000000000000000000000000001000000000000000000000000000000000000 000000010000000000000000000000000000000000000000100000000000000000000000000000000000000000000000 G−1 · (G · M1) o`u G · M1
  17. 17. Bypass On empˆeche l’identification facile des op´erations On rajoute des bits en entr´ee et en sortie
  18. 18. Combined Function (P||Q)(inputP||inputQ).
  19. 19. Split-Path Encoding Entr´ee S-box Sortie .--------------------. 0011||0010 --> |...| 0011||0010 |...| |----------------|---| |...| 0001 |...| --> 0001 ’--------------------’ | v .--------------------. 0011||0010 --> |...| 0011||0010 |...| |----------------|---| |...| 0001||xxxx |...| --> 0001||1001 ’--------------------’
  20. 20. External Encoding Appliquer deux bijections `a l’entr´ee et la sortie de DES Whitebox = E ◦ DES(input) ◦ G
  21. 21. Conclusion Beaucoup d’effort pour d’autres solutions (API, cl´es publiques) Taille importante La non-connaissance des algorithmes est “trop” importante. Utilis´e profesionnellement

×