Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Paillier cryptosystem

From Wikipedia, the free encyclopedia
Algorithm for public key cryptography

ThePaillier cryptosystem, invented by and named after Pascal Paillier in 1999, is a probabilisticasymmetric algorithm forpublic key cryptography. The problem of computingn-th residue classes is believed to be computationally difficult. Thedecisional composite residuosity assumption is theintractability hypothesis upon which this cryptosystem is based.

The scheme is an additivehomomorphic cryptosystem; this means that, given only the public key and theencryption ofm1{\displaystyle m_{1}} andm2{\displaystyle m_{2}}, one can compute the encryption ofm1+m2{\displaystyle m_{1}+m_{2}}.

Algorithm

[edit]

The scheme works as follows:

Key generation

[edit]
  1. Choose two large prime numbersp{\displaystyle p} andq{\displaystyle q} randomly and independently of each other such thatgcd(pq,(p1)(q1))=1{\displaystyle \gcd(pq,(p-1)(q-1))=1}. This property is assured if both primes are of equal length.[1]
  2. Computen=pq{\displaystyle n=pq} andλ=lcm(p1,q1){\displaystyle \lambda =\operatorname {lcm} (p-1,q-1)}. lcm meansLeast Common Multiple.
  3. Select random integerg{\displaystyle g} wheregZn2{\displaystyle g\in \mathbb {Z} _{n^{2}}^{*}}
  4. Ensuren{\displaystyle n} divides the order ofg{\displaystyle g} by checking the existence of the followingmodular multiplicative inverse:μ=(L(gλmodn2))1modn{\displaystyle \mu =(L(g^{\lambda }{\bmod {n}}^{2}))^{-1}{\bmod {n}}},
where functionL{\displaystyle L} is defined asL(x)=x1n{\displaystyle L(x)={\frac {x-1}{n}}} .
Note that the notationab{\displaystyle {\frac {a}{b}}} does not denote the modular multiplication ofa{\displaystyle a} times themodular multiplicative inverse ofb{\displaystyle b} but rather thequotient ofa{\displaystyle a} divided byb{\displaystyle b}, i.e., the largest integer valuev0{\displaystyle v\geq 0} to satisfy the relationavb{\displaystyle a\geq vb}.

If using p,q of equivalent length, a simpler variant of the above key generation steps would be to setg=n+1,λ=φ(n),{\displaystyle g=n+1,\lambda =\varphi (n),} andμ=φ(n)1modn{\displaystyle \mu =\varphi (n)^{-1}{\bmod {n}}}, whereφ(n)=(p1)(q1){\displaystyle \varphi (n)=(p-1)(q-1)} .[1]The simpler variant isrecommended for implementational purposes, because in the general form the calculation time ofμ{\displaystyle \mu } can be very high with sufficiently large primes p,q.

Encryption

[edit]
  1. Letm{\displaystyle m} be a message to be encrypted where0m<n{\displaystyle 0\leq m<n}
  2. Select randomr{\displaystyle r} where0<r<n{\displaystyle 0<r<n} andgcd(r,n)=1{\displaystyle \gcd(r,n)=1}.
    (Note: if you find a value that hasgcd(r,n)1{\displaystyle \gcd(r,n)\neq 1}, you can use this to calculate the private key: this is unlikely enough to ignore.)
  3. Compute ciphertext as:c=gmrnmodn2{\displaystyle c=g^{m}\cdot r^{n}{\bmod {n}}^{2}}

Decryption

[edit]
  1. Letc{\displaystyle c} be the ciphertext to decrypt, wherecZn2{\displaystyle c\in \mathbb {Z} _{n^{2}}^{*}}
  2. Compute the plaintext message as:m=L(cλmodn2)μmodn{\displaystyle m=L(c^{\lambda }{\bmod {n}}^{2})\cdot \mu {\bmod {n}}}

As the original paper[2] points out, decryption is "essentially one exponentiation modulon2{\displaystyle n^{2}}."

Homomorphic properties

[edit]

A notable feature of the Paillier cryptosystem is itshomomorphic properties along with its non-deterministic encryption (see Electronic voting in Applications for usage). As the encryption function is additively homomorphic, the following identities can be described:

  • Homomorphic addition of plaintexts
The product of two ciphertexts will decrypt to the sum of their corresponding plaintexts,
D(E(m1,r1)E(m2,r2)modn2)=m1+m2modn.{\displaystyle D(E(m_{1},r_{1})\cdot E(m_{2},r_{2}){\bmod {n}}^{2})=m_{1}+m_{2}{\bmod {n}}.\,}
The product of a ciphertext with a plaintext raisingg{\displaystyle g} will decrypt to the sum of the corresponding plaintexts,
D(E(m1,r1)gm2modn2)=m1+m2modn.{\displaystyle D(E(m_{1},r_{1})\cdot g^{m_{2}}{\bmod {n}}^{2})=m_{1}+m_{2}{\bmod {n}}.\,}
  • Homomorphic multiplication of plaintexts
A ciphertext raised to the power of a plaintext will decrypt to the product of the two plaintexts,
D(E(m1,r1)m2modn2)=m1m2modn,{\displaystyle D(E(m_{1},r_{1})^{m_{2}}{\bmod {n}}^{2})=m_{1}m_{2}{\bmod {n}},\,}
D(E(m2,r2)m1modn2)=m1m2modn.{\displaystyle D(E(m_{2},r_{2})^{m_{1}}{\bmod {n}}^{2})=m_{1}m_{2}{\bmod {n}}.\,}
More generally, a ciphertext raised to a constantk will decrypt to the product of the plaintext and the constant,
D(E(m1,r1)kmodn2)=km1modn.{\displaystyle D(E(m_{1},r_{1})^{k}{\bmod {n}}^{2})=km_{1}{\bmod {n}}.\,}

However, given the Paillier encryptions of two messages there is no known way to compute an encryption of the product of these messages without knowing the private key.

Background

[edit]

Paillier cryptosystem exploits the fact that certaindiscrete logarithms can be computed easily.

For example, bybinomial theorem,

(1+n)x=k=0x(xk)nk=1+nx+(x2)n2+higher powers of n{\displaystyle (1+n)^{x}=\sum _{k=0}^{x}{x \choose k}n^{k}=1+nx+{x \choose 2}n^{2}+{\text{higher powers of }}n}

This indicates that:

(1+n)x1+nx(modn2){\displaystyle (1+n)^{x}\equiv 1+nx{\pmod {n^{2}}}}

Therefore, if:

y=(1+n)xmodn2{\displaystyle y=(1+n)^{x}{\bmod {n}}^{2}}

then

xy1n(modn){\displaystyle x\equiv {\frac {y-1}{n}}{\pmod {n}}}.

Thus:

L((1+n)xmodn2)x(modn){\displaystyle L((1+n)^{x}{\bmod {n}}^{2})\equiv x{\pmod {n}}},
where functionL{\displaystyle L} is defined asL(u)=u1n{\displaystyle L(u)={\frac {u-1}{n}}} (quotient of integer division) andxZn{\displaystyle x\in \mathbb {Z} _{n}}.

Semantic security

[edit]

The original cryptosystem as shown above does providesemantic security against chosen-plaintext attacks (IND-CPA). The ability to successfully distinguish the challenge ciphertext essentially amounts to the ability to decide composite residuosity. The so-calleddecisional composite residuosity assumption (DCRA) is believed to be intractable.

Because of the aforementioned homomorphic properties however, the system ismalleable, and therefore does not enjoy the highest level of semantic security, protection against adaptive chosen-ciphertext attacks (IND-CCA2). Usually in cryptography the notion of malleability is not seen as an "advantage," but under certain applications such as secure electronic voting andthreshold cryptosystems, this property may indeed be necessary.

Paillier and Pointcheval however went on to propose an improved cryptosystem that incorporates the combined hashing of messagem with randomr. Similar in intent to theCramer–Shoup cryptosystem, the hashing prevents an attacker, given onlyc, from being able to changem in a meaningful way. Through this adaptation the improved scheme can be shown to beIND-CCA2 secure in therandom oracle model.

Applications

[edit]

Electronic voting

[edit]

Semantic security is not the only consideration. There are situations under which malleability may be desirable. Secureelectronic voting systems can utilize the above homomorphic properties. Consider a simple binary ("for" or "against") vote. Letm voters cast a vote of either1 (for) or0 (against). Each voter encrypts their choice before casting their vote. The election official takes the product of them encrypted votes and then decrypts the result and obtains the valuen, which is the sum of all the votes. The election official then knows thatn people votedfor andm-n people votedagainst. The role of the randomr ensures that two equivalent votes will encrypt to the same value only with negligible likelihood, hence ensuring voter privacy.

Electronic cash

[edit]

Another feature named in paper is the notion of self-blinding. This is the ability to change one ciphertext into another without changing the content of its decryption. This has application to the development ofecash, an effort originally spearheaded byDavid Chaum. Imagine paying for an item online without the vendor needing to know your credit card number, and hence your identity. The goal in both electronic cash and electronic voting, is to ensure the e-coin (likewise e-vote) is valid, while at the same time not disclosing the identity of the person with whom it is currently associated.

Electronic auction

[edit]

The Paillier cryptosystem plays a crucial role in enhancing the security ofelectronic auctions. It prevents fraudulent activities such as dishonest auctioneers and collusion between bidders and auctioneers who manipulate bids. By ensuring the confidentiality of actual bidding values while revealing auction results, the Pailler cryptosystem successfully promotes fair practices.[3]

Threshold cryptosystem

[edit]

The homomorphic property of Paillier cryptosystem is sometimes used to buildThreshold ECDSA signature.[4]

See also

[edit]

References

[edit]

Notes

[edit]
  1. ^abJonathan Katz, Yehuda Lindell, "Introduction to Modern Cryptography: Principles and Protocols," Chapman & Hall/CRC, 2007
  2. ^Paillier, Pascal (1999). "Public-Key Cryptosystems Based on Composite Degree Residuosity Classes".Advances in Cryptology — EUROCRYPT '99. Lecture Notes in Computer Science. Vol. 1592. Springer. pp. 223–238.doi:10.1007/3-540-48910-X_16.ISBN 978-3-540-65889-4.
  3. ^Pan, M., Sun, J., & Fang, Y. (2011). Purging the Back-Room Dealing: Secure Spectrum Auction Leveraging Paillier Cryptosystem. IEEE Journal on Selected Areas in Communications, 29(4), 866–876.https://doi.org/10.1109/JSAC.2011.110417
  4. ^Canetti, Ran; Gennaro, Rosario; Goldfeder, Steven; Makriyannis, Nikolaos; Peled, Udi (30 October 2020)."UC Non-Interactive, Proactive, Threshold ECDSA with Identifiable Aborts".Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications Security. Association for Computing Machinery. pp. 1769–1787.doi:10.1145/3372297.3423367.ISBN 9781450370899.S2CID 226228099.

External links

[edit]
Algorithms
Integer factorization
Discrete logarithm
Lattice/SVP/CVP/LWE/SIS
Others
Theory
Standardization
Topics
General
Mathematics
Retrieved from "https://en.wikipedia.org/w/index.php?title=Paillier_cryptosystem&oldid=1188810864"
Category:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp