DS09 - Liberté et sécurité de l’Europe, de ses citoyens et de ses résidents

Conception d'outils d'audit de primitives cryptographiques – CryptAudit

Résumé de soumission

Les systèmes de chiffrement symétriques sont largement répandu car ils sont les seuls à proposer des fonctionnalités essentielles comme le chiffrement très rapide, le chiffrement à petit coût, l'authentification de messages en temps réel et le hachage efficace. Mais, Contrairement aux algorithmes cryptographiques à clef publique, les algorithmes à clef secrète ne disposent pas de preuves de sécurité satisfaisantes. La sécurité de ces algorithmes est donc établie empiriquement par la non-découverte d'attaques ou faiblesses par les chercheurs en cryptographie. Il est clair que ce critère de sécurité, malgré son relatif succès empirique, n'est pas satisfaisant, au moins moralement. On peut par exemple estimer que le nombre d'êtres humains qui cherchent activement à "casser" des primitives à clef secrète est de l'ordre de la centaine. Aussi, vu la faiblesse de l'effort de recherche d'attaque, il n'est pas clair du tout que la non-découverte d'attaques sur une primitive particulière pendant une certaine période, signifie quoi que ce soit. On peut espérer qu'une large classe d'attaques, et en particulier les plus simples, puissent être découvertes automatiquement. L'énoncé "nous n'avons pas trouvé d'attaques de ce type" qui offre une garantie purement subjective pourrait devenir "l'outil X n'a pas trouvé d'attaques" qui est un énoncé formel, donnant une garantie objective.

Le projet JCJC CryptAudit de l'ANR est une proposition pour répondre à ce problème dans lequel nous proposons de développer de nouvelles techniques de cryptanalyse ainsi qu'un ensemble d'outils open-sources dédiés à l'évaluation des primitives de la cryptographie symétrique. Plus précisément, nous voulons conduire des recherches sur 4 principaux sujets:

- Extension des attaques de Demirci et Selçuk sur les chiffrements par bloc. Notre premier objectif sera d'étendre ces attaques aux modèles à clés reliées et à tweaks reliés. Cela nous permettra d'appliquer cette technique aux chiffrements par bloc prenant en entrée un paramètre public supplémentaire (le tweak), aux fonctions de compression et aux algorithmes de chiffrement authentifié. Nous voulons aussi améliorer la technique de Demirci et Selçuk dans le cas des schémas de Feistel.

- Cryptanalyse de chiffrements par flot. Pour l'instant il n'existe pas d'outils dédiés au chiffrements par flot et les analyses de sécurité sont faîtes à la main. En conséquence, plusieurs systèmes (par exemple: FIDES, SPROUT, FLIP) ont été cassés peu de temps après leur publication. Pour cet axe, nous nous intéresserons en priorité aux chiffrements les plus utilisés comme Snow3G, ZUC, HiTag et Chacha. Notre objectif est de fournir des outils recherchant automatiquement certains types d'attaques sur ces primitives ainsi que sur celles présentant une conception similaire. Ensuite nous nous intéresserons aux chiffrements par flot utilisés pour le chiffrement homomorphe et développerons de nouvelles techniques de cryptanalyse.

- Cryptanalyse de SHA-3. La conception de SHA-3 est beaucoup plus compliquée que celle de l'AES car son état interne contient 1600 bits vus comme un pavé (5 x 5 x 64). Ainsi il est pour ainsi dire impossible de trouver des attaques à la main. Quelques outils ont été développés pour rechercher des chemins différentiels utilisés pour attaquer la fonction de hachage. Notre objectif est de continuer dans cette direction, en étudiant tout particulièrement la permutation interne car toute la sécurité de SHA-3 repose dessus. Nous étudierons aussi des versions réduites car de telles versions sont notamment utilisées dans les chiffrements authentifiés Ketje et Keyak.

- Conception de primitives symétriques assistée par ordinateur. Dans cet axe, nous voulons utiliser les outils développés dans les axes ci-dessus ainsi qu'en développer de nouveaux dans l'objectif de concevoir un nouveau système de chiffrement par flot adapté aux besoins de la 5G et de mener des recherches sur les algorithmes de cadencement de clés.

Coordination du projet

Patrick Derbez (Institut de recherche en informatique et systèmes aléatoires)

L'auteur de ce résumé est le coordinateur du projet, qui est responsable du contenu de ce résumé. L'ANR décline par conséquent toute responsabilité quant à son contenu.

Partenaire

IRISA Institut de recherche en informatique et systèmes aléatoires

Aide de l'ANR 222 480 euros
Début et durée du projet scientifique : - 48 Mois

Liens utiles

Explorez notre base de projets financés

 

 

L’ANR met à disposition ses jeux de données sur les projets, cliquez ici pour en savoir plus.

Inscrivez-vous à notre newsletter
pour recevoir nos actualités
S'inscrire à notre newsletter