Cryptosystème de Cramer-Shoup

De testwiki
Aller à la navigation Aller à la recherche

Modèle:Voir homonymes En cryptologie, le cryptosystème de Cramer-Shoup est un chiffrement à clé publique introduit en 1998 par les cryptologues Ronald Cramer et Victor ShoupModèle:SfnModèle:,Modèle:SfnModèle:,Modèle:Sfn. Historiquement, il s'agit du premier cryptosystème combinant les trois propriétés suivantes : il est résistant aux attaques adaptatives à chiffrés choisis (IND-CCA2), il est prouvé sûr dans le modèle standard, et il est efficaceModèle:SfnModèle:,Modèle:Sfn. Ces propriétés et d'autres le rendent particulièrement attrayant pour construire des mécanismes d'encapsulation de clésModèle:SfnModèle:,Modèle:Sfn.

Histoire et motivation

La résistance aux attaques adaptatives à chiffrés choisis (IND-CCA2), introduite par Rackoff et Simon en 1991Modèle:Sfn, correspond au plus haut niveau de sécurité atteignable par un cryptosystème pour le chiffrementModèle:Sfn. La nécessité pratique d'une telle sécurité a été mise en avant par Bleichenbacher en 1998Modèle:Sfn.

Plusieurs constructions IND-CCA2 ont été proposées dans le modèle de l'oracle aléatoire, notamment OAEP. Par ailleurs, des transformations génériques permettent d'atteindre ce niveau de sécurité, mais ils reposent sur des preuves à divulgation nulle de connaissance et s'avèrent très inefficaces. Jusqu'à l'introduction du cryptosystème de Cramer-Shoup, aucun chiffrement IND-CCA2 efficace n'était connu, dont la sécurité pouvait être prouvée dans le modèle standardModèle:Sfn. La première preuve que de tels cryptosystèmes existent pourtant est due à Dolev, Dwork et NaorModèle:Sfn.

Le cryptosystème de Cramer-Shoup est une extension de celui d'ElGamal qui bloque la malléabilité du chiffré. Le prix à payer est que les clés et les chiffrés sont beaucoup plus larges que pour ElGamal (4 éléments de groupe pour le chiffré). De nombreuses variantes de Cramer-Shoup proposées depuis cherchent à réduire ce phénomène, quitte à réintroduire des hypothèses hors du modèle standardModèle:Sfn.

Description du cryptosystème

Le cryptosystème de Cramer-Shoup repose sur trois algorithmes (G,E,D) décrits iciModèle:SfnModèle:,Modèle:NoteModèle:,Modèle:Sfn.

Génération de clé

L'algorithme de « génération de clé » G prend en entrée un paramètre de sécurité λ. Il détermine un groupe cyclique 𝔾 d'ordre q et une fonction H:𝔾3/(q). Le choix de q et de la fonction H dépend de λ et se fait à partir de l'analyse de sécurité, voir plus bas.

L'algorithme donne deux générateurs aléatoires g1,g2 de 𝔾 et tire six exposants aléatoires x1,x2,y1,y2,z1,z2/(q). Il calcule alors :

cg1x1g2x2,dg1y1g2y2,ethg1z1g2z2

Finalement l'algorithme retourne une clé publique 𝗉𝗄={c,d,h}, des paramètres publics 𝗉𝗉={λ,𝔾,g1,g2,q,H}, et la clé privée 𝗌𝗄={x1,x2,y1,y2,z1,z2}.

Chiffrement

L'algorithme de chiffrement E prend en entrée les paramètres publics, la clé publique, et un message m𝔾. Un exposant r/(q) est choisi uniformément au hasard, puis l'algorithme calcule :

u1g1r,u2g2r,emhr,αH(u1,u2,e)etv(cdα)r

Le chiffré correspondant est 𝖼𝗍={u1,u2,e,v}𝔾4.

Déchiffrement

L'algorithme de déchiffrement D prend en entrée les paramètres publics, la clé privée, et un chiffré 𝖼𝗍={u1,u2,e,v}𝔾4. Il calcule αH(u1,u2,e) et vérifie u1x1+αy1u2x2+αy2 =? v. Si l'égalité est fausse, l'algorithme de déchiffrement échoue et renvoie un symbole d'erreur (). Sinon, il renvoie meu1z1u2z2.

Sécurité

Le cryptosystème de Cramer-Shoup est résistant aux attaques adaptatives à chiffrés choisis (IND-CCA2) lorsque la fonction H est choisie dans une famille de fonctions de hachage universelles à sens uniqueModèle:SfnModèle:,Modèle:Note par réduction, dans le modèle standard, à la difficulté du problème décisionnel de Diffie-Hellman dans 𝔾Modèle:SfnModèle:,Modèle:Note.

Notes et références

Notes

Modèle:Notes

Références

Modèle:Références

Annexes

Bibliographie

Modèle:Portail