• Aucun résultat trouvé

Rappels sur les algorithmes de chiffrement homomorphe

Partie II Cryptographie à seuil 79

Chapitre 4 Partages du cryptosystème de Paillier 111

4.2 Rappels sur les algorithmes de chiffrement homomorphe

Plusieurs cryptosystèmes basés sur des schémas de chiffrement randomisésE(M)chiffrent un mes-sageM en calculantgà la puissanceM [98, 16, 50, 182, 128, 136, 139]. Leur sécurité est basée sur la difficulté de calculer le logarithme discret en baseg. Ce calcul est facile si l’on utilise une trappe qui est la clé secrète. Une conséquence importante de ces schémas de chiffrement est qu’ils ont des propriétés d’homomorphisme qui peuvent être résumées de la manière suivante :

E(M1+M2)≡ E(M1)× E(M2) et E(k×M)≡ E(M)k

4.2.1 Le cryptosystème Goldwasser-Micali

Goldwasser et Micali ont proposé en 1984 [98] le premier système de chiffrement sémantiquement sûr. Ce système permet de chiffrer un bit à la fois et a la propriété queE(b)× E(b0)≡ E(b⊕b0). Cette propriété a été récemment utilisée dans [113] pour construire un compteur cryptographiquement sûr avec des registres à décalage.

Génération des clés

SoitN = pqun module RSA. La clé publique pkest constituée de (N, y) oùy est un non résidu quadratique, i.e. (y|p) = (y|q) = −1. La clé secrète sk est constituée de la factorisation de N, par exemplep.

Chiffrement

Pour chiffrer un bitb, l’émetteur tire aléatoirementz∈ZN et calculec=E(b, z) =ybz2 modN. Déchiffrement

Pour déchiffrerc, le receveur calcule(c|p) = cp−12 modpqui vaut1sicest un résidu quadratique, i.e. sibvaut0, et−1sicest un non-résidu quadratique, i.e. sibvaut1.

Sécurité

Il est clair que la sécurité sémantique de ce schéma est basée sur le problème de la résiduosité qua-dratique qui consiste à décider si un élément aléatoirexdeZN est un carré ou non.

4.2.2 Le cryptosystème de Benaloh et Fisher

Afin d’augmenter la longueur du clair, Benaloh et Fisher dans [16, 50] ont proposé une variante fon-dée sur la difficulté de décider si un élément aléatoire deZN est une puissancer-ième modulo un nombre composé. Ceci généralise le problème de la résiduosité quadratique. L’inconvénient de ce cryptosystème est que le déchiffrement est lent. Une optimisation utilisant la méthode Pollard-Rho permet de déchiffrer avec une complexité enO(√

r).

Génération des clés

SoitN =pqun module RSA tel querdivisep−1mais sans diviser(p−1)/ret(q−1). Ainsir diviseϕ(N) = (p−1)(q−1)etpgcd(r,ϕ(N)r ) = 1. La clé publiquepkest constituée deN,ret d’un élémentgdeZN qui ne soit pas une puissancer-ième. La clé secrèteskestϕ(N).

Chiffrement

Pour chiffrer un messagem ∈ Zr, l’émetteur tire aléatoirementz ∈ ZN et calculec =E(m, z) = gmzrmodN.

Déchiffrement

Pour déchiffrerc, le receveur doit tester pour toutj ∈ Zr sic×g−j est unr-résidu, c’est-à-dire si (c×g−j)ϕ(N)r = 1 modN et dans ce cas,m=j.

4.2.3 Le cryptosystème Naccache-Stern

Naccache et Stern dans [128] ont proposé en 1998 une variante permettant d’augmenter la taille du clair et de rendre plus efficace le déchiffrement. L’idée consiste à utiliser l’algorithme de Pohlig-Hellman [145].

Génération des clés

Soit N un module RSA etσ = Qk

i=1piun diviseur deϕ(N)tel quepgcd(σ,ϕ(N)σ ) = 1où lespi

sont des nombres premiers deux à deux distincts. La clé publiquepkest constituée deN, deσ et d’un élémentgdeZN d’ordre égal à un multiple deσ. La clé secrèteskest constituée duk-uplet(p1, . . . , pk) et deϕ(N).

Chiffrement

Pour chiffrer un messagem ∈Zσ, l’émetteur tire aléatoirementz ∈ ZN et calculec=gmzσ mod N.

Déchiffrement

Pour déchiffrer un chiffréc, le receveur utilise le mécanisme précédent modulo chaquepiet recons-truit le clair moduloσgrâce au théorème des restes chinois.

Sécurité

Ce schéma est sémantiquement sûr si le problème dit des hauts résidus qui consiste à distinguer des puissancesσ-ièmes est difficile.

4.2.4 Le cryptosystème d’Okamoto-Uchiyama

Le mécanisme de déchiffrement des systèmes précédents consiste à tester toutes les puissances, mais il n’existe pas à proprement parler de trappe pour calculer un logarithme discret. Okamoto et Uchiyama ont proposé en 1998 dans [136] un schéma qui permet de déchiffrer sans utiliser de recherche exhaustive.

Ainsi, l’algorithme de déchiffrement est indépendant de la longueur du clair. Pour ce faire, ils ont utilisé un module de la formeN =p2q. L’idée consiste à remarquer que(1+p)m= 1+mpmodp2en utilisant la formule du binôme de Newton.

Génération des clés

Soit N = p2q où p est de taille k publique, (2k−1 < p < 2k), et g un élément deZN tel que gp−1modp2 soit d’ordrep. La clé secrèteskest le facteurp.

Chiffrement

Pour chiffrer un message m ∈ [0,2k−1[, l’émetteur tire aléatoirement z ∈ ZN et calcule c = gmzN modN.

Déchiffrement

Pour déchiffrerc, il suffit d’appliquer la formule

m= (cp−1−1 modp2)/p

(gp−1−1 modp2)/p modp (4.1) En réception, le receveur vérifie sim <2k−1. L’équation 4.1 peut être vérifiée en remarquant quegp−1 est d’ordrepmodulop2. De plus, il est égal à1 modp, donc il existektel quegp−1 modp2 = 1 +kp.

En outre, pour toutx∈ZN,xp(p−1)= 1 modp2carϕ(p2) =p(p−1). Ainsi,

cp−1=gm(p−1)zN(p−1) =gm(p−1) = (1 +kp)m = 1 +kmpmodp2

Ce schéma est sûr contre les attaques à clair choisi. Cependant, si on ne prend pas la précaution de vérifier sim <2k−1et d’utiliser des conversions génériques comme [82], une attaque à chiffrés choisis peut être mise en œuvre aisément [111] en chiffrant un messagex > p. Dans ce cas, le déchiffrement retournera le résultatx0 < ptel quex−x0est un multiple dep. En calculantpgcd(N, x−x0), on obtientp.

Sécurité

La sécuritéone-waynessest basée sur la factorisation en utilisant la même technique que dans l’at-taque précédente. En effet, s’il existe un adversaire qui sait inverser la fonction de chiffrement, alors en chiffrant une valeur supérieure àp, et en lui demandant de déchiffrer le chiffré obtenu, on peut construire un attaquant qui obtientpet sait casser le module RSA. Il reste à prouver que le chiffré obtenu en chiffrant une valeur supérieure àpest indistinguable de tout chiffré dont le clair est pris dans[0,2k−1[.

La sécuritésémantiquede ce cryptosystème est basée sur l’hypothèse p-sous-groupe qui dit que l’on ne peut pas distinguer une puissance p-ième. L’inconvénient de cette hypothèse est quep est une quantité secrète.

4.2.5 Le cryptosystème de Paillier

En continuant l’idée d’Okamoto et Uchiyama, Paillier a proposé un cryptosystème utilisant des mo-dules de la formeN =p2q2. Dans la suite, on utilisera un module RSAN =pqet on calculera modulo N2 =p2q2. Paillier a présenté trois cryptosystèmes reliés entre eux dans [139]. On utilise seulement le premier d’entre eux. Par rapport aux précédents schémas, ce cryptosystème est celui qui a la plus grande bande passante, appelée aussi taux d’expansion : rapport entre la longueur du clair et la longueur du chiffré.

Ce cryptosystème est basé sur les propriétés de la fonction lambda de Carmichael dansZN2. On rappelle les deux principales propriétés : pour toutw∈ZN2,

wλ(N)= 1 modN, et wN λ(N)= 1 modN2 Génération des clés

SoitN un module RSAN =pq, où petq sont des nombres premiers. Soitgun entier d’ordre un multiple deN moduloN2. La clé publique estpk= (N, g)et la clé secrète estsk=λ(N).

Chiffrement

Pour chiffrer un message M ∈ ZN, on choisit au hasardx dans ZN et on calcule le chiffréc = gMxN modN2.

Déchiffrement

Pour déchiffrerc, on calcule

M = L(cλ(N)modN2)

L(gλ(N)modN2) modn (4.2)

où la fonctionLprend ses entrées dans l’ensembleSN ={u < N2|u = 1 modN}et calculeL(u) =

u−1 N .

Les entierscλ(N)modN2etgλ(N)modN2sont égaux à 1 quand ils sont élevés à la puissanceN, ce sont donc des racinesN-ième de l’unité. De telles racines48sont de la forme(1+N)` = 1+`N modN2. L’ensembleSN est le sous-groupe deZN2 des racinesN-ièmes de l’unité49. La fonctionLpermet de calculer les valeurs`modN de ces racines. En effet :L(1 +`N) = 1+`NN−1 = `. Ainsi, si on noteg sous la formeg= (1 +N)abN modN2, alors

L(cλ(N)modN2) = L(gM λ(N)xN λ(N)modN2)

= L((1 +N)aM λ(N)(xbM)N λ(N) modN2)

= L((1 +N)aM λ(N)modN2)

= M aλ(N) modN

= M×L((1 +N)aλ(N) modN2)

= M×L((1 +N)aλ(N)bN λ(N)modN2)

= M×L(gλ(N)modN2) D’où la formule de déchiffrement.

Sécurité

Il est conjecturé que le problème de classe de résiduosité composite qui consiste exactement à in-verser ce cryptosystème est difficile. La sécurité sémantique est basée sur la difficulté de distinguer les résidus d’ordreN moduloN2 des non-résidus d’ordreN. Les résidus d’ordreN modulo N2 sont les élémentsxdeZN2 tels qu’il existeytel quex =yN modN2. Ce problème est en rapport avec l’indis-tinguabilité des résidus quadratiques dansZN.

On noteCR[N]le problème de décider les résidus de degréN, i.e. distinguer les résidus de degré N des non-résidus de degré N. La sécurité sémantique du schéma de Paillier avec comme moduloN est équivalent au problèmeCR[N]. Le lecteur intéressé par ce problème pourra lire la thèse de Pascal Paillier [138] pour plus de détails. Dans la suite, le problème Decisional Composite Residuosity Assump-tion (DCRA) fait comme hypothèse queCR[N]est difficile.