Cryptographie à base de couplages

De testwiki
Aller à la navigation Aller à la recherche

La cryptographie à base de couplages désigne une branche de la cryptographie qui s'intéresse aux constructions utilisant les accouplements ou couplages. Un couplage est une application bilinéaire non dégénérée, c'est-à-dire qui n'est pas identiquement nulle. L'utilisation de ces objets permet de débloquer des constructions que l'on ne sait pas faire en utilisant uniquement un groupe vérifiant des propriétés cryptographiques, comme l'hypothèse décisionnelle de Diffie-Hellman. Par exemple, le chiffrement par attributs.

L'utilisation des couplages en cryptographie a été popularisé par Antoine Joux en 2002Modèle:Sfn.

Définition

Un couplage est une application e:G1×G2GT, qui est bilinéaire, c'est-à-dire qui vérifie pour tout entiers (a,b)2 et tous éléments de groupes (g,h)G1,G2 l'égalité e(ga,hb)=e(g,h)ab. De plus le couplage ne doit pas être dégénéré, c'est-à-dire que e(g,h)=1g=1 ou h=1. Finalement, comme on souhaite utiliser cette primitive en cryptographie, on souhaite finalement que le calcul de la fonction e puisse être évalué par un algorithme fonctionnant en temps polynomial.

Catégorisation

On distingue principalement deux grandes familles de couplages: les couplage symétriques, lorsque les deux groupes sources sont les mêmes : G1=G2, et les couplages asymétriques lorsqu'ils sont différents.

Usuellement, les cryptographes distinguent de plus les couplages asymétriques forts, où il est difficile d’établir un homomorphisme entre G1 et G2, et faibles dans le cas contraire. Cette taxonomie est résumée en trois typesModèle:Sfn :

  • Type 1 : les couplages symétriques, G1=G2 ;
  • Type 2 : les couplages asymétriques faibles, lorsqu'il existe un homomorphisme calculable en temps polynomial φ:G2G1 ;
  • Type 3 : les couplages asymétriques forts, lorsqu'on ne connaît pas un tel homomorphisme entre G1 et G2.

Utilisation en cryptographie

Les couplages sont associés à des hypothèses de sécurité, comme une généralisation de l'hypothèse décisionnelle de Diffie-Hellman dans les groupes d'origine G1 et G2, appelé « Hypothèse de Diffie-Hellman symétrique externe » (SXDH en anglais)Modèle:Sfn.

À l'heure actuelle, ces hypothèses servent de base pour construire des cryptosystèmes, comme le chiffrement fondé sur l'identité de Boneh et FranklinModèle:Sfn.

Exemple : échange de clefs tripartite

Le protocole d’échange de clefs Diffie-Hellman permet à deux utilisateurs de s’entendre sur une clef privée qui reste secrète aux yeux d’un observateur extérieur et qui pourra ensuite être utilisée pour commencer un échange secret. La sécurité de cette primitive repose sur la sécurité de l'hypothèse calculatoire de Diffie-Hellman. Le principe est le suivant : Alice souhaite échanger une clef secrète avec Bob. Pour cela ils commencent tous les deux par générer un entier a pour Alice et b pour Bob. Alice calcule ensuite A=ga et Bob de son côté calcule B=gb. Ces deux valeurs sont ensuite échangées entre les deux partis. Ainsi Alice peut calculer gab=Ba et Bob peut calculer gab=Ab ; mais un observateur qui ne dispose ni de a ni de b ne peut déterminer gab, auquel cas il résout l'hypothèse calculatoire de Diffie-Hellman. Ainsi gab consistue la clef secrète partagée par Alice et Bob.

Ce protocole peut être étendu à trois utilisateurs en un seul tour à l'aide d'un couplage symétriqueModèle:Sfn. En effet, si Alice partage A=ga𝔾, Bob partage B=gb et Charles partage C=gc pour un entier aléatoire et secret c, alors Alice peut calculer 𝗌𝗄=e(g,g)abc=e(gb,gc)a=e(B,C)a, Bob peut calculer e(g,g)abc=e(A,C)b et Charles peut finalement calculer la même valeur e(g,g)abc=e(A,B)c.

Notes et références

Notes

Modèle:Traduction/Référence

Références

Modèle:Références

Annexes

Articles connexes

Bibliographie

Modèle:Portail