Séminaire de Cryptographie

Accueil     Présentation     Archives

Sabine Leveiller


Quelques résultats sur la cryptanalyse des registres filtrés

Les systèmes de chiffrement à flot sont couramment utilisés en pratique puisqu'ils permettent un chiffrement rapide des données tout en consommant peu d'énergie. L'objet de cette présentation est d'étudier la cryptanalyse d'un tel système ; plus précisément, nous nous intéresserons au générateur de clé constitué d'un registre à décalage filtré non linéairement par une fonction Booléenne. Nous supposerons que la structure de ce générateur de clé est parfaitement connue du cryptanalyste. Seule l'initialisation du registre à décalage est secrète : elle constitue la clé du système, la cible du cryptanalyste. Les différentes attaques que nous allons présenter au cours de cet exposé se caractérisent par une utilisation accrue de la connaissance de la fonction Booléenne, justifiée par la structure du registre filtré.

Après avoir rappelé les principales attaques développées dans la littérature, nous présenterons une attaque "déterministe", qui, sous certaines hypothèses, permet de déterminer la clé secrète avec une probabilité d'erreur nulle. A l'inverse, des attaques dites "probabilistes" seront ensuite exposées : une extension de l'algorithme de Gallager au "décodage" de la fonction Booléenne dans un premier temps, un algorithme baptisé "SOJA" (Soft Output Joint Algorithm) ensuite. Ce dernier utilise conjointement la connaissance de la fonction et celle du registre à décalage pour déterminer des probabilités a posteriori sur les bits de la clé secrète. Nous terminerons cet exposé par une attaque qui est à mi-chemin entre l'algorithme SOJA et la cryptanalyse linéaire développée par Matsui dans le cadre du chiffrement par bloc, et qui présente l'avantage d'etre efficace et peu complexe.