Coefficient H

De testwiki
Aller à la navigation Aller à la recherche

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, Tr (resp. Ti) 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 𝒯=𝒯1𝒯2[Note 3].

S'il existe ϵ1,ϵ2>0 tels que pour tout τ𝒯1on a[9]Modèle:,[26] :Pr[tr=τ]Pr[ti=τ]1ϵ1etPr[ti𝒯2]ϵ2avec trTr et tiTi, alors 𝖠𝖽𝗏(D)ϵ1+ϵ2, qui est ce que l'on cherche à démontrer.

Pour cela, la technique des coefficients H consiste à introduire une quantité H définie comme suit. Fixons un entier positif N, notons IN l'ensemble des chaînes de N bits et soit a=(ai)1imune séquence d'éléments deux à deux distincts de IN. Soit b=(bi)1im une séquence d'éléments de IN. On note H(a,b) — ou simplement H si le contexte de ai et bi est clair — le nombre d'éléments kK tels que:i,1im,G(k)(ai)=biK est un ensemble fixé (dont les éléments seront appelés les « clés ») et G est la fonction dont nous voulons étudier la sécurité, selon la situation étudiée. Pour chaque clé kK, G(k) est ainsi une fonction de IN dans IN. Ainsi, H compte le nombre de clés qui envoient toutes les entrées ai vers les valeurs bi. Si on parvient à borner H, 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, α>0 et β>0. Si pour des valeurs aléatoires ai,bi,1im, de IN telles que les ai sont des éléments deux à deux distincts, avec probabilité 1β nous avons H|K|(1α)/2Nm; alors une attaque avec m clairs (aléatoires) connus possède un avantage borné 𝖠𝖽𝗏KPAα+β, dans le jeu consistant à distinguer G d'une fonction aléatoire. Ici comme dans la suite, cela signifie distinguer G(k) lorsque k est tiré uniformément au hasard dans K d'une fonction f tirée uniformément parmi les fonctions de IN dans IN.

Sécurité contre une attaque à non adaptative clairs choisis

Soit α et β deux nombres réels, α>0 et β>0. Si pour toutes les séquences a=(ai),1im, de m éléments deux à deux distincts de IN, il existe un sous-ensemble E(a) de INm tel que |E(a)|(1β)2Nm et tel que pour toutes les séquences b=(bi),1im de E(a) nous avons H|K|(1α)/2Nm; alors dans une attaque non adaptative avec m clairs choisis nous avons : 𝖠𝖽𝗏CPA1α+β, dans le jeu consistant à distinguer G d'une fonction aléatoire.

Sécurité contre une attaque adaptative à clairs choisis

Soit α et β deux nombres réels, α>0 et β>0. Soit E un sous-ensemble de INm tel que |E|(1β)2Nm. Si pour toutes les séquences ai,1im, d'éléments deux à deux distincts de IN et pour toutes les séquences bi,1im, de E nous avons H|K|(1α)/2Nm; alors pour une attaque adaptative avec m clairs choisis nous avons : 𝖠𝖽𝗏CPA2α+β, dans le jeu consistant à distinguer G 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, α>0. Si pour toutes les séquences d'éléments deux à deux distincts ai,1im, et pour toutes les séquences d'éléments deux à deux distincts bi,1im, nous avons H|K|(1α)/2Nm ; alors dans une attaque adaptative avec m clairs ou chiffrés choisis nous avons 𝖠𝖽𝗏CCA2α+m(m1)22N, où cette fois l'avantage est considété dans le jeu consistant à distinguer G d'une permutation aléatoire de IN.

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, α>0 et β>0. S'il existe un sous-ensemble E de (INm)2 tel que :

  1. pour tout (a,b)E, nous avons H|K|(1α)/2Nm;
  2. pour chaque attaque adaptative à clairs et chiffrés choisis sur une permutation aléatoire f, la probabilité que (a,b)E est 1β où ici (a,b) désigne les bi=f(ai) ou ai=f1(bi), 1im, successifs qui vont apparaître ;

Alors pour chaque attaque adaptative à clairs et chiffrés choisis avec m clairs choisis nous avons : 𝖠𝖽𝗏PRFα+m(m1)22N, dans le jeu consistant à distinguer G 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 H|K|(1α)/2Nm par H|K|(1+α)/2Nm. 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ù H est en moyenne nettement inférieure à la borne, plutôt que les exceptions se produisant quand H 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

  1. En particulier, on ne suppose pas D limité dans ses capacités calculatoires.
  2. Les distributions Tr et Ti dépendent a priori de D, puisqu'elles dépendent des requêtes formulées par ce dernier.
  3. 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

Modèle:Palette Modèle:Portail