Séminaire de Cryptographie

Accueil     Présentation     Archives

Claude Carlet


Fonctions booléennes et fonctions booléennes vectorielles pour le chiffrement symétrique

Les fonctions booléennes sont, depuis longtemps, utilisées comme fonctions de combinaison et de filtrage dans les schémas de chiffrement à flots. Des progrès importants (qu'on rappellera) on été obtenus ces dernières années, sur les limites dans lesquelles se situent nécessairement les paramètres cryptographiques de ces fonctions (degré, ordre de résilience, nonlinéarité). Il reste un travail important à faire pour la génération de fonctions atteignant ou s'approchant de ces limites. Nous verrons quelques progrès récents dans ce domaine.

Les fonctions booléennes vectorielles (c'est à dire à sorties multiples) sont utilisées comme boites S dans les schémas de chiffrement par blocs. L'attaque de Matsui a mené à une notion de nonlinéarité pour ces fonctions, étudiée par Nyberg et par Chabaud et Vaudenay, qui en donnèrent une borne supérieure (ces études théoriques ont mené au choix des boites S dans le cryptosystème Rijndael, retenu pour l'AES). Nous rappellerons les résultats connus dans ce domaine.

Les fonctions booléennes vectorielles sont également utilisées comme fonctions de combinaison dans des générateurs de pseudo-aléas dont les sorties sont des mots et non des bits (ce qui permet d'accélérer les schémas par flots correspondants). Une nouvelle notion de nonlinéarité (qu'on appellera universelle) est liée à une telle utilisation (en liaison avec la notion de résilience). Nous étudierons une borne supérieure sur la nonlinéarité universelle des fonctions vectorielles.