Séminaire de Cryptographie

Accueil     Présentation     Archives

Charles Bouillaguet


Systèmes de chiffrement par bloc minimalistes, obfuscation et implémentations en "boite blanche"

La plupart du temps, la sécurité des systèmes de chiffrement est évaluée en supposant que les adversaires interagissent avec le dispositif à travers une "interface", mais qu'ils n'ont pas le système de chiffrement sous la main pour étudier les détails de son fonctionnement interne. En effet, le fonctionnement de tels systèmes repose largement sur le fait qu'ils contiennent des informations secrètes (comme des clefs de chiffrement). Cette hypothèse est réaliste dans certains cas, par exemple si on communique avec un serveur web qui contient un mécanisme de chiffrement.

Cependant, dans bon nombre de situations, on a sous la main une implémentation soit matérielle soit logicielle du dispositif cryptographique, dont on peut donc observer le fonctionnement... et tenter d'extraire les secrets. On s'intéresse ici à cette deuxième situation. Est-il possible de concevoir des mécanismes cryptographiques contenant des secrets, mais dont le code source serait publiquement distribuable ? C'est en principe l'objet de la cryptographie à clef publique, mais on s'intéresse ici plus particulièrement à des constructions à clef secrète.

Le problème qui consiste à dissimuler des secrets cryptographiques dans du code source est un cas particulier du problème de l'obfuscation de programme, qui consiste à rendre incompréhensible et impossible à analyser le code de programmes arbitraires. Nous survolerons cette problématique dans l'exposé. Nous présenterons ensuite plusieurs systèmes de chiffrement par blocs, susceptibles de telles implémentations en boite-blanche. Ce sont pour certains des héritiers du système "2R" conçu par J. Patarin en 1997.

Cet exposé est dérivé de l'article "Cryptographic Schemes Based on the ASASA Structure: Black-box, White-box, and Public-key", disponible à l'adresse : http://eprint.iacr.org/2014/474.pdf