Paillier暗号
二つの大きな素数 p, q をランダムに選び、n = pq とする。
k ∈ Zn を任意に選び、g = 1 + kn mod n とする。
公開鍵 pk = (n, g) と秘密鍵 sk = (p, q) を出力する。