Section: New Results
Algorithmes de décodage
Le décodage des codes en bloc connaît un regain d'intérêt et ceci pour trois raisons. La première est la persistance de problèmes ouverts liés à la conception et à l'amélioration d'algorithmes spécifiques – pour décoder des codes performants tels les codes géométriques ou les codes résidus quadratiques . La deuxième est l'apparition de nouvelles applications en correction d'erreurs et en cryptologie. La troisième est l'émergence de techniques de décodage dits itératifs, dont les performances exceptionnelles ont révolutionné les codes correcteurs.
Décodage itératif
Participant : Jean-Pierre Tillich.
Un des axes de recherche est l'étude de familles de codes qui peuvent se décoder itérativement. Une des questions fondamentales qui se pose pour évaluer les performances d'une telle famille est de calculer la distance minimale (voire même tout le polynôme énumérateur de poids). Des résultats partiels ont été obtenus dans ce sens pour une classe très large de codes de Tanner. Jean-Pierre Tillich a notamment exhibé un critère très simple permettant d'assurer qu'une famille de codes de Tanner contienne une forte proportion de codes dont la distance minimale est linéaire en la longueur du code. Par ailleurs, il propose également une modification de la construction de Tanner, qui a pour propriété d'améliorer significativement le polynôme énumérateur des poids. L'intérêt de la modification est que le code de Tanner modifié peut être décodé aussi efficacement que le code de Tanner de départ, tout en ayant une courbe d'erreur après décodage itératif qui est significativement meilleure pour les forts rapports signal à bruit. Par ailleurs, cette amélioration peut aussi être appliquée à la famille des codes LDPC, et là aussi, cela améliore significativement les performances du décodage itératif. Ces travaux ont conduit Jean-Pierre Tillich, en collaboration avec Iryna Andriyanova et Jean-Claude Carlach, à optimiser les paramètres de cette amélioration des codes LDPC. Ils obtiennent ainsi des codes binaires qui se placent parmi les meilleurs connus pour des taux d'erreur bloc faibles (c'est à dire inférieurs à 10 -5 ) et une large gamme de rendement comprise entre 1/2 et 1/10 . Une partie de ces travaux a été publiée dans [42] , [43] .
Codes de Reed-Muller
Participants : Frédéric Didier, Pierre Loidreau, Bassem Sakkour, Jean-Pierre Tillich.
Le projet s'intéresse aussi au décodage des codes de Reed-Muller d'ordre faible, et ce principalement pour les liens entre ce problème et certaines cryptanalyses de systèmes de chiffrement. Ainsi, Bassem Sakkour et Pierre Loidreau ont travaillé sur l'algorithme de décodage des codes de Reed-Muller d'ordre 2 de Sidel'nikov et Pershakov. Ils en ont déduit une amélioration qui permet de décoder significativement plus loin sans augmenter la complexité du décodage. Les résultats sont pour l'instant expérimentaux.
Frédéric Didier et Jean-Pierre Tillich, s'intéressent à ces mêmes codes, mais pour un modèle d'erreur qui est le canal à effacement. L'intérêt de ce modèle d'erreur vient du fait que si l'on est capable de décoder efficacement des codes de Reed-Muller pour ce canal, alors cela fournit également un algorithme efficace de calcul de l'immunité algébrique de fonctions booléennes. Rappelons que ce paramètre quantifie l'immunité d'une fonction booléene cryptographique vis à vis des attaques algébriques. Frédéric Didier a commencé une étude fondamentale de la probabilité de ne pas arriver à compenser les effacements d'un code pour le canal à effacement. Il a notamment obtenu une borne supérieure sur cette probabilité qui peut être appliquée aux codes de Reed-Muller. Cette borne explique entre autres pourquoi l'immunité algébrique d'une fonction booléene aléatoire est aussi élevée. Ce travail va être publié dans [25] .
Frédéric Didier et Jean-Pierre Tillich ont utilisé cette borne pour analyser un algorithme de décodage de codes de Reed-Muller sur le canal à effacements. Cela leur a permis de montrer que ce décodage avait, pour un ordre fixé, une complexité linéaire. Ceci améliore de manière notable les meilleurs algorithmes connus, et permet de calculer l'immunité algébrique de fonctions booléennes jusqu'à des ordres assez elevés et pour un grand nombre de variables [92] .
Décodage fondé sur l'interpolation
Participant : Daniel Augot.
Daniel Augot a travaillé sur les algorithmes de décodage basés sur l'interpolation dérivés de l'algorithme de Sudan et de Guruswami-Sudan. Le premier axe est d'essayer d'améliorer la complexité de ces algorithmes qui reste grande. C'est un travail en cours avec Jean-Charles Faugère, car les techniques de base de Gröbner sont bien appropriées pour implanter diverses étapes de l'algorithme. De manière plus générale, le calcul formel est plus avancé que les techniques de décodage pour traiter efficacement la mise en œuvre des algorithmes à base d'interpolation.
L'autre axe de recherche est de généraliser le contexte d'application des techniques à base d'interpolation à d'autres codes. Avec Mikhail Stepanov de l'université de Saint Petersburg, Daniel Augot a proposé une généralisation naturelle, mais non triviale, aux cas multivariés, c'est-à-dire aux codes produit de Reed-Solomon et aux codes de Reed-Muller généraux. Les résultats en terme de performance ne sont pas ceux espérés, et il semble maintenant qu'il faille devoir utiliser des techniques plus spécifiques, que simplement la généralisation à plusieurs variables. Il est envisagé, dans les perspectives, de s'intéresser à l'application des algorithmes à base d'interpolation aux codes concaténés.
Décodage des codes cycliques avec les bases de Gröbner
Participant : Daniel Augot.
Par ailleurs, en collaboration avec Magali Bardet et Jean-Charles Faugère, Daniel Augot s'intéresse également au décodage des codes cycliques avec les bases de Gröbner. Il s'agit de décoder des codes cycliques génériques qui n'ont pas a priori d'algorithmes de décodage, comme par exemple les codes à résidus quadratiques. Bien qu'en pratique les résultats indiquent la validité de la méthode, nous essayons de démontrer les bonnes propriétés des algorithmes de décodage fondés sur les bases de Gröbner.