Section: New Results
Chiffrement symétrique : cryptanalyse
Participants : Anne Canteaut, Éric Filiol, Marion Videau, Daniel Augot, Marine Minier, Jean-Pierre Tillich.
Cryptanalyse des chiffrements par blocs
Dans un algorithme de chiffrement par blocs, le choix de la fonction de substitution (correspondant aux boîtes-S du DES) est d'une extrême importance car il conditionne la résistance du système aux attaques classiques (cryptanalyses différentielle et linéaire). Il s'agit ici de fonctions vectorielles possédant le même nombre de bits en entrée et en sortie. Les fonctions dites presque courbes, qui sont celles qui assurent une résistance maximale aux attaques classiques, ont fait l'objet de nombreux travaux du projet Codes . Nous avons notamment donné de nouvelles caractérisations de cette propriété qui ont permis de construire de nouvelles fonctions presque courbes.
Toutefois, la résistance aux cryptanalyses linéaire et différentielle ne suffit évidemment pas à assurer la solidité d'un algorithme. Certains systèmes de chiffrement présentent ainsi des faiblesses particulières qui les rendent vulnérables à d'autres types d'attaques. Dans ce contexte, Anne Canteaut et Marion Videau se sont récemment intéressées aux critères de résistance liés à la cryptanalyse différentielle d'ordre supérieur. Cette attaque, introduite par Lai et Knudsen en 1994, exploite l'existence d'un biais statistique dans la distribution des dérivées d'ordre supérieur de la fonction itérée. Elle s'applique notamment lorsque le degré multivarié de la fonction de chiffrement est petit. Mais, la détermination de ce degré est un problème difficile dans la pratique puisqu'elle nécessite une étude précise de l'évolution du degré au cours des itérations successives de la fonction de tour. C'est pourquoi le champ d'application de cette attaque était jusqu'à présent réduit aux systèmes utilisant une fonction itérée de petit degré. Anne Canteaut et Marion Videau ont alors montré que le degré de deux itérations d'une fonction était étroitement lié à la divisibilité de ses coefficients de Fourier. Cette étude les a notamment conduit à exhiber une attaque différentielle d'ordre supérieur très générale sur les chiffrements de Feistel utilisant une fonction itérée de non-linéarité optimale. Elle leur a également permis de comprendre l'origine d'une attaque sur l'algorithme MISTY1, dont une variante est utilisée pour assurer la confidentialité des communications pour les mobiles de troisième génération. Ces travaux ont montré que, paradoxalement, la vulnérabilité de MISTY1 aux attaques différentielles d'ordre supérieur résultait directement de l'utilisation de fonctions presque courbes, alors que celles-ci garantissent une résistance optimale aux attaques différentielles et linéaires. Cette étude a conduit à formuler un nouveau critère de sécurité pour les chiffrements itératifs par blocs impliquant le spectre de Fourier de la fonction itérée. Il apparaît alors que la fonction inverse dans un corps fini d'ordre 2 2 n , qui a été choisie pour l'AES, est la seule fonction connue qui assure simultanément une résistance optimale aux attaques différentielles et linéaires, et aux attaques différentielles d'ordre supérieur.
Cryptanalyse des chiffrements à flot
Les systèmes de chiffrement à flot sont des algorithmes à clef secrète qui permettent de chiffrer et de déchiffrer à la volée, c'est-à-dire que tout bit de message peut être chiffré ou déchiffré sans qu'il soit nécessaire d'attendre la transmission des bits suivants. Ces algorithmes, qui ont également l'avantage d'être extrêmement rapides, sont donc très utilisés dans les applications embarquées, par exemple en téléphonie mobile. La plupart de ces systèmes utilisent des générateurs pseudo-aléatoires composés de registres à décalage à rétroaction linéaire. Dès lors que la sortie du générateur présente une corrélation avec la suite produite par l'un des registres employés, elle peut être assimilée au résultat de la transmission de cette suite à travers un canal bruité. La suite générée par un seul registre étant fortement redondante, on peut la reconstituer à l'aide d'un algorithme de décodage. L'efficacité de cette attaque, appelée attaque par corrélation rapide, dépend donc des performances du code correcteur utilisé pour représenter le système.
Une autre grande classe de générateurs pseudo-aléatoires utilisant des registres à décalage à rétroaction linéaire est celle des systèmes par combinaison. Les attaques par corrélation ont ici pour but de retrouver l'initialisation d'un petit ensemble de registres (c'est-à-dire une partie de la clef secrète) indépendamment des autres. Le nombre minimal de registres à attaquer simultanément est déterminé par l'ordre de corrélation de la fonction booléenne de combinaison. Mais les performances de l'attaque dépendent à la fois du nombre de registres attaqués, et de la qualité de l'approximation de la fonction de combinaison par une fonction qui ne dépend que de ces registres. Ainsi, si on augmente le nombre de registres considérés, on augmente la dimension du code à décoder, mais on diminue la probabilité d'erreur. Il est donc indispensable de déterminer le meilleur compromis entre ces deux paramètres. Dans ce but, Anne Canteaut s'est intéressée à la précision des approximations d'une fonction booléenne par des fonctions possédant moins de variables. Elle a notamment montré que toute fonction booléenne de haute non-linéarité (c'est-à-dire dont la distance aux fonctions affines est élevée) est nécessairement loin des fonctions possédant un petit nombre de variables. Ce résultat implique que le nombre optimal de registres mis en jeu dans les attaques par corrélation correspond exactement à l'ordre de corrélation de la fonction de combinaison.
Attaques sur les canaux auxiliaires et micro-architecture
Participants : Anne Canteaut, Cédric Lauradoux.
L'implémentation d'un algorithme de chiffrement est une question délicate. En effet, les grandeurs physiques associées à l'implémentation (comme le temps ou la consommation de puissance) peuvent donner de l'information à l'attaquant quand à la clef secrète employée. Dans ce contexte, Anne Canteaut et Cédric Lauradoux se sont intéressés avec le concours d'André Seznec aux attaques relatives à la micro-architecture et plus particulièrement aux mémoires caches. Les mémoires caches peuvent provoquer d'importantes variations sur le temps de calcul ou sur la consommation de puissance. De plus, même si l'on élimine l'influence des caches, la micro-architecture des processeurs modernes influence significativement le temps de calcul. Nous avons pu étudier toutes ces attaques contre l'AES et proposer des contre mesures adéquates.