Coefficient H
En cryptologie, la technique des coefficients H[1], aussi appelée technique de décorrélation[2], est une méthode permettant de prouver la sécurité de constructions cryptographiques, en particulier les algorithmes de chiffrement par bloc. Elle constitue une alternative aux preuves par jeux, qui reposent souvent sur des arguments hybrides[3], et aux preuves d'indifférentiabilité qui nécessitent un simulateur[4].
La technique a été introduite par le cryptologue français Jacques Patarin en 1991[5]Modèle:,[6]Modèle:,[7] pour l'analyse des constructions de Luby-Rackoff (dont DES est l'archétype), et formalisée autour de 2008[1]Modèle:,[2]Modèle:,[8]. Cette technique a notamment permis d'étudier précisément la sécurité des constructions d'Even-Mansour[3]Modèle:,[9] (dont AES est un exemple) et les codes d'authentification CBC-MAC[10].
L'objectif de la technique des coefficients H est de borner l'avantage d'un adversaire dont l'objectif est de distinguer deux systèmes aléatoires. En général, l'un des systèmes correspond à l'objet réel dont on souhaite prouver la sécurité (par exemple un chiffrement par bloc) et l'autre système est un modèle idéalisé (par exemple une permutation pseudo-aléatoire). L'analyse porte sur une étude combinatoire des échanges entre l'adversaire et chaque système (réel ou idéal), appelés dans ce contexte « transcriptions ». L'ensemble des transcriptions est réparti en deux catégories : les transcriptions « bonnes » (qui correspondent sommairement à un bon accord entre l'objet réel et l'objet idéal) et les « mauvaises ». Ces dernières correspondent à des situations dans lesquelles l'objet étudié se comporte de façon différente de son homologue idéalisé : si elles sont trop nombreuses cela facilite le travaille d'un attaquant.
Il est alors possible de fournir une borne sur l'avantage adversarial, ou dans de nombreux cas lorsqu'une telle borne ne peut être obtenue, de construire explicitement une attaque puisqu'on obtient immédiatement un distingueur.
Histoire et variantes
La technique des coefficients H a été formalisée, avec ce nom, en 2008 par Jacques Patarin[1]. Cependant on en retrouve l'usage dans plusieurs travaux antérieurs [6]Modèle:,[11]Modèle:,[12]Modèle:,[13]Modèle:,[14], y compris dans sa thèse[7] puis celle de Serge Vaudenay[15]. De façon indépendante, Daniel Bernstein introduit en 1999 sous le nom de « théorème d'interpolation » un résultat qui est en fait une variante de la technique des coefficients H[16]Modèle:,[17]. Les origines fragmentaires, en français, et le manque de clarté dans les premiers travaux présentant la technique ont beaucoup freiné son adoption[9]. À partir de 2014, plusieurs travaux ont donc revisité l'approche, clarifiant et simplifiant substantiellement la présentation et permettant une utilisation de la technique dans plus de contextes que ce qui était faisable auparavant[18]Modèle:,[19]Modèle:,[20].
Quelques-unes des constructions qui ont pu bénéficier d'une analyse au moyen de cette technique includent entre autres : les chiffrement de Feistel[13], MHCBC et MCBC[21], la construction d'Even-Mansour[9], CBC-MAC[22], EWCDM[23], OCB3[24], GCM-SIV[25].
Présentation de la technique
Soit D un adversaire tentant de distinguer entre un modèle idéal et un objet réel[Note 1]. On note l'ensemble des transcriptions possibles, (resp. ) la distribution de probabilités des transcriptions issues de l'objet réel (resp. issues du modèle idéal)[Note 2]. L'ensemble est partitionné en deux sous-ensembles disjoints [Note 3].
S'il existe tels que pour tout on a[9]Modèle:,[26] :avec et , alors , qui est ce que l'on cherche à démontrer.
Pour cela, la technique des coefficients H consiste à introduire une quantité définie comme suit. Fixons un entier positif N, notons l'ensemble des chaînes de N bits et soit une séquence d'éléments deux à deux distincts de . Soit une séquence d'éléments de . On note — ou simplement si le contexte de et est clair — le nombre d'éléments tels que:où est un ensemble fixé (dont les éléments seront appelés les « clés ») et est la fonction dont nous voulons étudier la sécurité, selon la situation étudiée. Pour chaque clé , est ainsi une fonction de dans . Ainsi, compte le nombre de clés qui envoient toutes les entrées vers les valeurs . Si on parvient à borner , alors on obtient en appliquant le résultat ci-dessus une borne sur l'avantage de l'attaquant.
Premières applications
Les théorèmes qui suivent constituent des cas importants, et sont les bases de la technique générale de preuve. L'objectif est de prouver des résultats de sécurité de générateurs de fonctions et de permutations. Les preuves sont mentionnées dans [1]Modèle:,[7]Modèle:,[27]. Avec cette technique, on obtient un jeu de conditions suffisantes pour établir la sécurité contre différentes classes d'adversaires. Des améliorations de la technique permettent d'obtenir des conditions nécessaires, et ainsi des bornes optimales[9]. Nous noterons ici KPA les attaques à clairs connus, CPA1 les attaques à clairs choisis non adaptatives, CPA2 les attaques à clairs choisis adaptatives et CCA2 les attaques à clairs et chiffrés choisis adaptatives.
Sécurité contre une attaque à clairs connus
Soit et deux nombres réels, et . Si pour des valeurs aléatoires , de telles que les sont des éléments deux à deux distincts, avec probabilité nous avons ; alors une attaque avec clairs (aléatoires) connus possède un avantage borné , dans le jeu consistant à distinguer d'une fonction aléatoire. Ici comme dans la suite, cela signifie distinguer lorsque est tiré uniformément au hasard dans d'une fonction tirée uniformément parmi les fonctions de dans .
Sécurité contre une attaque à non adaptative clairs choisis
Soit et deux nombres réels, et . Si pour toutes les séquences , de éléments deux à deux distincts de , il existe un sous-ensemble de tel que et tel que pour toutes les séquences de nous avons ; alors dans une attaque non adaptative avec clairs choisis nous avons : , dans le jeu consistant à distinguer d'une fonction aléatoire.
Sécurité contre une attaque adaptative à clairs choisis
Soit et deux nombres réels, et . Soit un sous-ensemble de tel que . Si pour toutes les séquences , d'éléments deux à deux distincts de et pour toutes les séquences , de nous avons ; alors pour une attaque adaptative avec clairs choisis nous avons : , dans le jeu consistant à distinguer d'une fonction aléatoire.
Attaques à clairs et chiffrés choisis
Sécurité contre une attaque adaptative à clairs et chiffrés choisis
Soit un nombre réel, . Si pour toutes les séquences d'éléments deux à deux distincts , et pour toutes les séquences d'éléments deux à deux distincts , nous avons ; alors dans une attaque adaptative avec clairs ou chiffrés choisis nous avons , où cette fois l'avantage est considété dans le jeu consistant à distinguer d'une permutation aléatoire de .
Autre théorème plus général pour les attaques à clairs et chiffrés choisis
Il est possible de généraliser ce résultat ainsi : soit et deux nombres réels, et . S'il existe un sous-ensemble de tel que :
- pour tout , nous avons ;
- pour chaque attaque adaptative à clairs et chiffrés choisis sur une permutation aléatoire , la probabilité que est où ici désigne les ou , , successifs qui vont apparaître ;
Alors pour chaque attaque adaptative à clairs et chiffrés choisis avec clairs choisis nous avons : , dans le jeu consistant à distinguer d'une permutation aléatoire.
Généralisations
Il y a beaucoup de variantes et de généralisations des théorèmes rappelés ci-dessus. Par exemple, les résultats sont aussi vrais si nous changeons par . Cependant, pour une utilisation cryptographique la première forme est généralement préférée, car il est plus souvent facile en pratique d'évaluer les exceptions où est en moyenne nettement inférieure à la borne, plutôt que les exceptions se produisant quand lui est nettement supérieure.
Notes et références
Liens externes
- Modèle:En Ashwin Jha et Nmridul Nandi, A Survey on Applications of H-Technique: Revisiting Security Analysis of PRP and PRF, 2019. ePrint IACR
Notes
- ↑ En particulier, on ne suppose pas D limité dans ses capacités calculatoires.
- ↑ Les distributions et dépendent a priori de D, puisqu'elles dépendent des requêtes formulées par ce dernier.
- ↑ Le choix de cette partition n'est pas dicté par la technique et différentes partitions donnent des résultats différents. Une des difficultés consiste donc à trouver une bonne partition pour pouvoir appliquer la méthode.
Références
- ↑ 1,0 1,1 1,2 et 1,3 Modèle:Chapitre
- ↑ 2,0 et 2,1 Modèle:Article
- ↑ 3,0 et 3,1 Modèle:Ouvrage
- ↑ Modèle:Chapitre
- ↑ Modèle:Chapitre
- ↑ 6,0 et 6,1 Modèle:Chapitre
- ↑ 7,0 7,1 et 7,2 Modèle:Article
- ↑ Modèle:Article
- ↑ 9,0 9,1 9,2 9,3 et 9,4 Modèle:Chapitre
- ↑ Modèle:Chapitre
- ↑ Modèle:Article
- ↑ Modèle:Chapitre
- ↑ 13,0 et 13,1 Modèle:Chapitre
- ↑ Modèle:Chapitre
- ↑ Modèle:Article
- ↑ Modèle:Article
- ↑ Modèle:Chapitre
- ↑ Modèle:Chapitre
- ↑ Modèle:Chapitre
- ↑ Modèle:Chapitre
- ↑ Modèle:Chapitre
- ↑ Modèle:Article
- ↑ Modèle:Chapitre
- ↑ Modèle:Chapitre
- ↑ Modèle:Chapitre
- ↑ Modèle:Lien web
- ↑ Modèle:Ouvrage