Les fonctions-T sont des objets introduits par Klimov et Shamir en 2002.

Définition formelle modifier

Ce sont des applications bijectives de l'ensemble des blocs de   bits ayant une propriété particulière.

Si l'on note   une fonction-T, et que l'on pose   et   alors,   ne dépend que de  .

Ou encore, formulation équivalente : le  -ème bit de sortie d'une fonction T ne dépend que des   premiers bits de l'entrée.

C'est d'ailleurs ce qui donne le T, pour triangulaire.

Utilisation modifier

Ces fonctions ont, au moins, deux intérêts. D'une part, elles s'implémentent facilement à l'aide des opérations logiques et arithmétiques disponibles sur un processeur classique. Ensuite, elles permettent une résistance plus élevée à certaines attaques portant sur des chiffrements par flot. Ces derniers utilisent très fréquemment des registres à décalage à rétroaction linéaire (linear feedback shift register dans la terminologie anglosaxone, qui donne l'abréviation LFSR). La présence de tels registres peut avoir tendance, sous certaines conditions, à faciliter les attaques dites algébriques. Les fonctions-T ayant une description algébrique plus difficile à exploiter, remplacer les LFSR par des fonctions-T réduit la vulnérabilité du système.