PROJET : CODES

previous up next contents
Précédent : Codes convolutifs Remonter : Résultats nouveaux Suivant : Contrats industriels (nationaux, européens et


Sous-sections


   
Cryptographie

 

  
Protocoles basés sur les codes correcteurs



Participants : Anne Canteaut, Pierre Loidreau, Nicolas Sendrier, Antoine Valembois.

Décodage aléatoire.

A. Canteaut, en collaboration avec F. Chabaud
(GRECC, ENS-Ulm), a élaboré un algorithme de recherche de mots de poids faible dans un code linéaire quelconque. Cet algorithme améliore notablement les performances de tous les algorithmes connus précédemment.

D'un point de vue cryptographique, il constitue une amélioration de toutes les attaques connues sur les systèmes cryptographiques fondés sur les codes correcteurs d'erreurs. Il existe en effet plusieurs systèmes de chiffrement à clef publique (systèmes de McEliece et de Niederreiter) et schémas d'identification (schémas de Girault, de Stern et de Véron) qui reposent sur la difficulté de trouver un mot de poids minimum dans un code linéaire dont seule une matrice génératrice est connue. Leur principal intérêt est qu'ils constituent désormais une des rares alternatives connues aux systèmes à clef publique fondés sur la théorie des nombres (RSA). Une étude très précise de la complexité de cette nouvelle attaque par la théorie des chaînes de Markov a montré que le système de chiffrement de McEliece employé avec ses paramètres originaux n'assure pas une sécurité satisfaisante.

Du reste, cet algorithme a également été utilisé dans l'optique de la théorie des codes puisqu'il a permis à Anne Canteaut de déterminer la distance minimale de certains codes BCH en longueur 511, qui était jusqu'à ce jour inconnue. Tous ces éléments se trouvent dans un article qui vient de paraître dans les Transactions on Information Theory [[8]].

D'autre part, A. Canteaut et N. Sendrier se sont intéressés à l'implémentation des cryptosystèmes à clé publique basés sur les codes correcteurs. Des éléments nouveaux permettant d'optimiser le choix des paramètres ont été présentés au colloque de cryptographie ASIACRYPT'98 [[28]].

Identification de codes.

L'étude des codes permutés est un autre aspect de la recherche sur les protocoles basés sur les codes correcteurs. Il s'agit de savoir dans quelle mesure l'action d'une permutation détruit la structure d'un code donné. C'est en ce sens que les travaux sur les codes équivalents ont des applications en cryptographie (cf. §4.3.1 et §4.3.2). Cette attaque, dite attaque par structure, permettrait de retrouver la clé secrète d'un cryptosystème de type McEliece; de façon générale, il s'agit de déterminer des classes de clés (i.e. de codes) faibles.


Une étude de la structure des codes concaténés du premier ordre à permis à N. Sendrier d'obtenir des résultats concernant l'utilisation de ces codes pour des systèmes cryptographiques à clé publique ; la forme très particulière des mots de petit poids du dual des codes concaténés permet de retrouver la structure concaténée pourtant cachée par une permutation aléatoire [[20]]. Cette étude a des conséquences immédiates en cryptographie puisqu'elle montre que l'utilisation de ces codes dans des cryptosystèmes à clé publique de type McEliece ou Niedereitter, n'est pas fiable. Des travaux récents sur les cryptosystèmes à clé publique envisagent l'utilisation de codes concaténés dont le code externe est choisi dans une famille de codes géométriques et le code interne est un code de parité simple. Cette famille de codes concaténés permet d'éviter l'attaque mise au point par N. Sendrier en 1995. Il semble néanmoins possible de généraliser cette attaque et de fragiliser ainsi ce nouveau système.

Jusqu'à ce jour, il n'y avait pas de résultat connu sur l'attaque par structure du système de McEliece basé sur les codes de Goppa. La structure des codes de Goppa semble suffisament complexe, la classe suffisamment large. Dans ce contexte, P. Loidreau et N. Sendrier ont réalisé une avancée importante en isolant des classes de codes de Goppa qui possèdent certains invariants, des isomorphismes de corps. Il s'agit d'une application remarquable de l'algorithme de séparation du support de N. Sendrier (cf. §4.3.2). Une étude précise des invariants utilisés avait été réalisée par P. Loidreau pour son mémoire de DEA, et ceci aboutit à la mise en évidence de clés faibles dès que l'on veut cacher un ensemble de messages avec des codes de Goppa. Ce travail a été présenté au dernier colloque IEEE de Théorie de l'Information [[41]].


A. Valembois étudie, dans le cadre de sa thèse, les diverses procédures d'identification de codes linéaires. L'effet des entrelacements et les variations obtenues selon les alphabets ont été au centre de ses préoccupations pour sa première année de thèse.

  
Fonctions cryptographiques et chiffrement



Participants : Paul Camion, Anne Canteaut, Claude Carlet, Pascale Charpin, Caroline Fontaine.

Les fonctions booléennes sont un objet de codage, au sens large. Ainsi leur utilisation dans les protocoles de chiffrement ou dans la définition de séquences fortement autocorrélées est bien connue.

D'autre part, leurs propriétés ont surtout été étudiées par les théoriciens des codes. En effet, ces propriétés sont étroitement liées aux propriétés des codes cycliques. Plus précisément, le degré d'une fonction détermine son appartenance à l'un ou l'autre des codes de Reed et Muller, codes de référence dans la théorie.

Il s'agit là d'un des thèmes de recherche important du projet. Le travail se poursuit surtout dans l'optique cryptographique. On veut étudier et construire des classes de fonctions qui augmentent la potentialité des systèmes ou leur résistance aux différentes cryptanalyses connues.

La haute non-linéarité

Une fonction est de haute non-linéarité lorsqu'elle se situe à grande distance de l'espace R(1, m)des fonctions affines de m variables. Cela signifie qu'elle définit un translaté de l'espace R(1, m) de poids de Hamming élevé.

La notion de fonction courbe, introduite en 1975, désigne la non-linéarité maximum des fonctions booléennes, lorsque m est un nombre pair. Ce maximum est inconnu lorsque m est impair. La classification des fonctions courbes et la détermination de la non linéarité en dimension impaire, sont des problèmes cruciaux, réputés très difficiles. Une partie de l'étude demandée par la DRET (voir §6.1.1) se situe dans ce contexte.

C. Fontaine a mené une étude exploratoire de la propriété de non linéarité, s'appuyant sur un corpus de fonctions ayant une représentation courte, dits idempotents. Ce corpus, algébriquement très structuré, est aisément manipulable. Les premiers résultats ont montré une bonne distribution des éléments du corpus dans l'ensemble des fonctions booléennes.

L'exploration du corpus des idempotentes a permis d'obtenir des fonctions à m variables présentant la meilleure non-linéarité connue pour m $ \leq$ 15. Certaines possèdent un spectre de Fourier jusqu'alors inconnu, et donnent ainsi de nouvelles distributions des poids pour des translatés du code de Reed-Muller d'ordre 1, R(1, m), dont le poids minimum est maximal. Ces nouveaux spectres correspondent à des fonctions équilibrées, i.e. dont la sortie est équidistribuée, qui sont de degré élevé ; elles permettent de construire des fonctions présentant de plus un ordre de résilience élevé, qui peuvent être directement utilisées dans certains générateurs pseudo-aléatoires dédiés au chiffrement à flot. Ces résultats ont été présentés à deux conférences internationales [[36],[39]] et font l'objet d'un article à IEEE Transactions on Information Theory [[16]]. C. Fontaine a soutenu sa thèse en Novembre 98 [[3]].

Fonctions courbes

C. Carlet a obtenu avec Ph. Guillot, une caractérisation univoque des fonctions courbes binaires [[11]]. On dispose ainsi d'un nouvel outil pour leur étude, dans la perspective, sans doute lointaine, de leur classification.

D'autre part, le travail de C. Carlet sur les fonctions hypercourbes se poursuit maintenant dans l'étude et la construction des fonctions qui satisfont le plus généralement les critères de propagation (caractère PC($ \ell$)). Ses premiers résultats ont été présentés à EUROCRYPT'98 [[31]]. La suite de l'étude constitue un article invité dans un volume de Theoretical Computer Science dédié à la cryptographie [[13]].

Fonctions presque courbes, presque parfaitement non-linéaires, et chiffrement à clés secrètes

La cryptanalyse linéaire et la cryptanalyse différentielle sont les principales attaques connues des systèmes de chiffrement à clé secrète. Actuellement l'algorithme DES répond à ces impératifs puisqu'aucune technique de cryptanalyse n'est sensiblement plus efficace que l'énumération de toutes les clefs possibles. Toutefois, comme la clef secrète ne comporte que 56 bits, le DES est aujourd'hui extrêmement vulnérable à une recherche exhaustive de la clef. C'est pourquoi le besoin d'un nouveau DES opérant sur des clefs plus longues se fait actuellement sentir. Pour cela il est nécessaire de remplacer la fonction itérée dans le DES (spécifiée par les boîtes S) par une permutation définie sur un corps fini d'ordre plus élevé ; cette permutation doit de plus vérifier certains critères afin que le système de chiffrement résiste aux attaques classiques.

Dans ce cadre, on utilise des fonctions presque parfaitement non linéaires et presque courbes car elles assurent une résistance optimale aux cryptanalyses différentielle et linéaire. Ces propriétés apparaissent également dans l'étude des suites de longueur maximale puisque les fonctions puissances presque courbes coïncident avec des couples de suites de longueur maximale dont la corrélation croisée est optimale.


Au plan théorique, C. Carlet, P. Charpin et V. Zinoviev ont mené une étude fondamentale sur ces fonctions, mettant en évidence les liens avec la classification des codes cycliques de grande dimension. Ceci permet d'utiliser la ``boîte à outils'' des codes cycliques dans ce contexte. Ce travail a fait l'objet de plusieurs conférences en particulier à un Workshop IEEE de théorie de l'information, session ``Coding and Cryptography'', en 1997. Un article va paraître dans Designs, Codes and Cryptography [[10]]. Une étude complémentaire est menée avec A. Tietäväinen (cf. §4.3.4).


Il est montré dans [[10]] que les fonctions presque courbes correspondent à des codes linéaires exceptionnels, dont la distribution de poids est optimale. Dans le cas des fonctions puissances, ces codes sont en fait les duaux de certains codes cycliques à deux zéros. Grâce à cette analogie, A. Canteaut, P. Charpin et H. Dobbertin ont prouvé que les fonctions presque courbes sont entièrement caractérisées par la distance duale et la divisibilité des poids du code qui leur est associé. Ce résultat leur a notamment permis de démontrer une conjecture formulée par Welch en 1968, selon laquelle la fonction x $ \mapsto$ x2$\scriptscriptstyle {\frac{m-1}{2}}$ + 3 est presque courbe sur  F2mquand m est pair. Ce résultat est l'objet d'une note à l'académie des sciences de Paris [[9]]. Deux articles plus généraux sont soumis, [[55]] et [[56]].


Par une étude approfondie des fonctions presque parfaitement non linéaires et des chiffrement de type DES, A. Canteaut a d'autre part donné une nouvelle construction permettant d'obtenir des familles infinies de fonctions offrant une résistance presque optimale à la cryptanalyse différentielle. Ces fonctions ont l'avantage d'être beaucoup moins structurées que les fonctions presque parfaitement non linéaires. Leur utilisation dans un algorithme de chiffrement de type DES permet donc d'éviter la plupart des attaques algébriques. Ces résultats ont été présentés au dernier symposium IEEE de Theorie de l'Information [[29]].

Fonctions t-résilientes

Les fonctions t-résilientes forment une classe de fonctions booléennes très utilisées en cryptographie, en particulier pour l'assemblage des sorties de registres à décalage pour le chiffrement par flux. Elles interviennent également dans la conception de nombreuses primitives conventionnelles telles les fonctions de hachage. P. Camion et A. Canteaut ont établi plusieurs caractérisations générales de ces fonctions en exploitant certaines propriétés de leur transformée de Fourier et leur lien avec les codes correcteurs. Ces travaux leur ont permis de construire de nouvelles classes de fonctions résilientes particulièrement bien adaptées aux applications cryptographiques. La mise à jour, par ce biais, de nouvelles propriétés algébriques des fonctions résilientes et sans corrélation a également conduit à la définition d'un nouveau critère de sécurité pour les primitives cryptographiques conventionnelles. Un article regroupant l'ensemble des résultats va paraître dans Designs, Codes and Cryptography [[7]].



previous up next contents
Précédent : Codes convolutifs Remonter : Résultats nouveaux Suivant : Contrats industriels (nationaux, européens et