Fonction-T

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

Définition formelle

Ce sont des applications bijectives de l'ensemble des blocs de n   {\displaystyle n~} bits ayant une propriété particulière.

Si l'on note f : F n F n   {\displaystyle f:F^{n}\to F^{n}~} une fonction-T, et que l'on pose x = x 0 . . . x n 1   {\displaystyle x=x_{0}...x_{n-1}~} et f ( x ) = ( f 0 ( x ) , . . . , f n 1 ( x ) )   {\displaystyle f(x)=(f_{0}(x),...,f_{n-1}(x))~} alors, f i ( x )   {\displaystyle f_{i}(x)~} ne dépend que de x 0 . . . x i 1   {\displaystyle x_{0}...x_{i-1}~} .

Ou encore, formulation équivalente : le ( i + 1 )   {\displaystyle (i+1)~} -ème bit de sortie d'une fonction T ne dépend que des i   {\displaystyle i~} premiers bits de l'entrée.

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

Utilisation

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.

  • icône décorative Portail de la cryptologie