Paillier暗号
Zn の元 m を暗号化するには以下のようにする。
Z n 2 ∗ {\displaystyle \mathbb {Z} _{n^{2}}^{*}} からランダムに r を選ぶ。
c = g m ⋅ r n mod n 2 {\displaystyle c=g^{m}\cdot r^{n}{\bmod {n}}^{2}} が暗号文である。
暗号文 c ∈ Z n 2 ∗ {\displaystyle c\in \mathbb {Z} _{n^{2}}^{*}} を復号するには λ = lcm(p − 1, q − 1) とし、
m = L ( c λ mod n 2 ) / L ( g λ mod n 2 ) mod n {\displaystyle m=L(c^{\lambda }\mod n^{2})/L(g^{\lambda }\mod n^{2}){\bmod {n}}}
を出力する。