Le cryptosystème de Paillier est un cryptosystème basé sur un algorithme asymétrique conçu par Pascal Paillier en 1999. Son principe repose sur des travaux de Okamoto et Uchiyama présentés en 1998.

Le système est un homomorphisme additif; en d'autres termes, avec la clef publique et les chiffrés de m 1 {\displaystyle m_{1}} et m 2 {\displaystyle m_{2}} , il est possible de calculer le chiffré de m 1 m 2 {\displaystyle m_{1} m_{2}} . Comme de plus ce chiffrement est prouvé sûr face à un attaquant passif, les chiffrés sont indistinguables, ce qui permet de remélanger un chiffré en rajoutant un chiffrement de zéro à un chiffré existant. Cette propriété est importante dans de nombreuses constructions visant à préserver la vie privée, étant donné qu'elle rend intraçable un message ainsi remélangé.

Fonctionnement

Génération des clefs

  1. Choisir deux nombres premiers de grande taille, indépendants et aléatoires : p   {\displaystyle p~} et q   {\displaystyle q~} ;
  2. Calculer la clef publique p k N = p q {\displaystyle {\mathsf {pk}}\triangleq N=p\cdot q} (un module RSA) et la clé privée s k φ ( N ) = ( p 1 ) ( q 1 )   {\displaystyle {\mathsf {sk}}\triangleq \varphi (N)=(p-1)\cdot (q-1)~} .

Chiffrement

Soit m   {\displaystyle m~} un message à chiffrer avec 0 m < N   {\displaystyle 0\leq m . Soit r   {\displaystyle r~} , un entier aléatoire tel que 0 < r < N   {\displaystyle 0 (appelé l'aléa). Le chiffré est alors :

c = ( 1 N ) m r N mod N 2 {\displaystyle c=(1 N)^{m}\cdot r^{N}\mod N^{2}}

Déchiffrement

Pour retrouver le texte clair m {\displaystyle m} , on commence par remarquer que :

c r N mod N , {\displaystyle c\equiv r^{N}\mod N,}

car

c r N = ( 1 N ) m mod N 2 = 1 m N N 2 ( i = 2 m ( m i ) N i 2 ) mod N 2 = 1 m N mod N 2 . {\displaystyle {\begin{aligned}{\frac {c}{r^{N}}}&=(1 N)^{m}\mod N^{2}\\&=1 m\cdot N N^{2}\cdot \left(\sum _{i=2}^{m}{\binom {m}{i}}N^{i-2}\right)\mod N^{2}\\&=1 m\cdot N\mod N^{2}.\end{aligned}}}

On obtient ainsi :

r = c N 1 mod φ ( N ) mod N . {\displaystyle r=c^{N^{-1}{\bmod {\varphi }}(N)}\mod N.}

D’où :

m = ( c r N mod N 2 ) 1 N . {\displaystyle m={\frac {(c\cdot r^{-N}\mod N^{2})-1}{N}}.}

On remarque que le calcul de r {\displaystyle r} n'est possible qu’à l'aide de la clef privée s k = φ ( N ) {\displaystyle {\mathsf {sk}}=\varphi (N)} , qui reste secrète sous l'hypothèse de la difficulté de la factorisation.

Homomorphisme

Le cryptosystème de Paillier est un homomorphisme additif, c'est-à-dire qu’avec la clef publique, un chiffré c 1 = C h i f f r e r ( m 1 ) {\displaystyle c_{1}={\mathsf {Chiffrer}}(m_{1})} et un chiffré c 2 = C h i f f r e r ( m 2 ) {\displaystyle c_{2}={\mathsf {Chiffrer}}(m_{2})} , il est possible de construire un chiffré c 1 2 = C h i f f r e r ( m 1 m 2 ) {\displaystyle c_{1 2}={\mathsf {Chiffrer}}(m_{1} m_{2})} sans connaître ni m 1 {\displaystyle m_{1}} ni m 2 {\displaystyle m_{2}} .

Cette opération s'effectue en multipliant c 1 {\displaystyle c_{1}} et c 2 {\displaystyle c_{2}} , ce qui mène à:

c 1 c 2 = ( 1 N ) m 1 r 1 N ( 1 N ) m 2 r 2 N mod N 2 = ( 1 N ) m 1 m 2 ( r 1 r 2 ) N mod N 2 {\displaystyle {\begin{aligned}c_{1}\cdot c_{2}&=(1 N)^{m_{1}}r_{1}^{N}\cdot (1 N)^{m_{2}}\cdot r_{2}^{N}{\bmod {N}}^{2}\\&=(1 N)^{m_{1} m_{2}}(r_{1}\cdot r_{2})^{N}{\bmod {N}}^{2}\end{aligned}}}

Qui correspond à un chiffré de m 1 m 2 {\displaystyle m_{1} m_{2}} sous l'aléa r 1 r 2 {\displaystyle r_{1}\cdot r_{2}} .

Notes et références

Annexes

Bibliographie

  • [Okamoto et Uchiyama 1998] (en) Tatsuaki Okamoto et Shigenori Uchiyama, « A new public-key cryptosystem as secure as factoring », Eurocrypt,‎ , p. 308–318 (DOI 10.1007/BFb0054135, lire en ligne)
  • [Paillier 1999] (en) Pascal Paillier, « Public-Key Cryptosystems Based on Composite Degree Residuosity Classes », Eurocrypt,‎ , p. 223–238 (DOI 10.1007/3-540-48910-X_16, lire en ligne [PDF])

Articles connexes

  • Cryptographie asymétrique
  • Chiffrement homomorphe
  • Malléabilité

Liens externes

  • (en) Paillier's Cryptosystem Revisited
  • (en) Extensions to the Paillier Cryptosystem with Applications to Cryptological Protocols
  • Portail de la cryptologie

Paillier Algorithm V. OUR ARCHITECTURE Download Scientific Diagram

KryptoAssets und BlockchainÖkosysteme Teil 1 Funktionsweise und

PPT Paillier cryptosystem PowerPoint Presentation, free download ID

GitHub abrarhasan3/PaillierEncryptionDecryptionInJava Here is

Parallel encryption process of Paillier Download Scientific Diagram