帕利耶概率公钥系统的推广与相关协议解析
1. 系统基础与调整
在密码学领域,为了便于与帕利耶(Paillier)的原始系统进行比较,我们对系统进行了设计,使其尽可能接近帕利耶系统。不过,我们可以始终选择 $g = n + 1$ 而不损失安全性,此时公钥仅由模数 $n$ 组成。这一特性允许接收者在加密消息时自行决定参数 $s$。具体而言,系统的工作流程如下:
- 密钥生成 :选择一个 RSA 模数 $n = pq$,公钥为 $n$,私钥为 $\lambda$,即 $(p - 1)$ 和 $(q - 1)$ 的最小公倍数。
- 加密 :对于明文 $i \in Z_{ns}$,随机选择 $r \in Z_{ns + 1}^ $,密文为 $E(i, r) = (1 + n)^i r^{ns} \bmod n^{s + 1}$。
- 解密 *:给定密文 $c$,首先根据中国剩余定理计算 $d$,使得 $d = 1 \bmod n^s$ 且 $d = 0 \bmod \lambda$(密文长度通常能帮助确定正确的 $s$ 值,出错概率可忽略不计)。然后计算 $c^d \bmod n^{s + 1}$。若 $c = E(i, r)$,则 $c^d = ((1 + n)^i r^{ns})^d = (1 + n)^{i \bmod n^s} (r^{ns})^{d \bmod \lambda} = (1 + n)^i \bmod n^{s + 1}$,最后应用上述算法计算 $i \bmod n^s$。
下面通过一个 mermaid 流程图展示系统的加密和解密流程: <