形式陈述
Paillier 是一种加法同态公钥加密公理库同态加密与紧致求值Homomorphic encryption在公钥加密上加入公开求值接口,分开求值正确性、紧致性、深度参数与输入保密,并用非紧致反例解释真正外包了什么。:密文相乘,解密得到明文相加。这里给出常用的 版本。[1]
生成不同的大奇素数 ,令
最后一个条件保证 在模 下可逆。公开 和 ,保留 及 。这里 是数论指数,不是一般记号中的密码学安全参数。
明文为 。每次独立均匀抽取 ,输出
对合法密文,先算 。它满足 ,所以整数函数
有定义。解密为
所有等式的模数都很重要:加密和密文运算在模 中,消息和最后解密结果在模 中。相关记号见同余与模运算公理库模同余Congruence modulo n两整数之差被给定正整数整除时成立的等价关系。。
保密性依赖判定合数剩余类假设(DCRA):对合法生成的大模数 ,高效算法不能区分均匀 次剩余 与均匀的 元素。此处的随机化与假设是计算安全公理库计算安全Computational security仅要求任何资源受限攻击者的成功优势足够小的安全概念。条件,不能由式 (2) 的正确性推出。
直觉
负责携带消息。二项式展开模 后,二次及以上项都消失,只留下 ,所以这里藏着一个很简单的线性编码。
则把编码藏到一个随机陪集里。知道分解的人能用 消去随机因子,再用 把“偏离1的多少个 ”读出来。外部观察者看到的是陪集中的随机元素,而不是直接可读的 。
例子与边界
模225的完整计算
取教学参数 ,于是 、、,因为 。这两个素数太小,完全不提供保密性。
加密2时选 ,加密4时选 。模225计算给出
先分别检查:,故 ,再乘4模15得到2;,故 ,解密得到4。
服务器无须私钥,直接相乘:
现在 ,所以
随机因子也有具体含义:,因而134正是采用随机因子14的一份加密6。
为什么解密会消去随机性
中国剩余定理公理库整数中国剩余定理Chinese remainder theorem for integers用最大公因数判定一般联立同余的相容性,并构造模最小公倍数唯一的解。允许分别在 上验证。因为 都是 与 的倍数,对单位元 有
于是也模 等于1。另一因子满足
故 ,再乘逆元 就恢复 。 只应用在已确认模 等于1的结果上,不是对任意整数随意整除。
加法、常数倍与回绕
由式 (1) 直接相乘,
同样,密文的已知整数次幂对应明文的已知倍数。这里没有给出“两个未知明文相乘”的接口,因此 Paillier 本身不是通用 FHE。
在模15的例子中,12加7解出4,而非19。要把结果解释为普通非负整数和,必须预先证明总和小于 ;有符号编码则应保证不越过所选代表区间。加密不会替应用消除整数溢出。
若固定 ,式 (1) 退化为 ,任何人都可应用 直接读出消息。即使固定了一个未知的 ,重复使用也使两份密文的比值消掉随机因子,从而泄漏明文差。
推论与应用
DCRA 为什么对应消息隐私? 次剩余构成子群 , 在陪集 上均匀。在 DCRA 下, 的均匀分布与全体单位元的均匀分布计算不可区分;乘上公开可逆元素 保持这一性质。于是每个消息的密文都不可区分于同一个全群均匀分布,两条消息之间再用三角不等式衔接。这给出 CPA 的归约机制,而非仅说“分解大数很难”。
已算出的密文可乘一份独立的加密零 来重随机化。固定原随机因子 后, 仍在 上均匀,所以对合法密文,这一步确实恢复相同消息的新鲜加密分布;它也不能使错误明文变正确。
若用平方—乘模幂算法,加密的 与解密的 各需要 次模 乘法; 可直接用 计算。若 表示 位乘法的成本,并采用相应量级的模约简,每次加密或解密的位成本为 ,密文用约 位。生成与检验素数、求最小公倍数及逆元属于另计的密钥生成成本。
这种结构适合加密计数、线性加权和与需要隐藏操作痕迹的线性子协议。其公开可塑性同时意味着原方案不具普通 CCA2 安全,协议不能把任意相关密文的解密结果反馈给攻击者。它与ElGamal公理库ElGamal 加密ElGamal encryption在循环群中用临时 Diffie–Hellman 共享值随机掩蔽群元素消息的公钥加密方案。的群乘法同态在明文语义和困难假设上都不同。
参考资料