加性同态加密的原理与函数解析
一、加性同态加密的核心定义
加性同态加密是同态加密的一种特殊类型,其核心特性为:支持对密文进行加法运算,且运算结果解密后等于原始明文相加的结果。具体来说,若 E 为加密函数,D 为解密函数,则对于任意明文 、
,满足:
其中,“
” 在密文层面为特定的同态加法运算(并非简单的数值相加,需符合加密算法的数学定义)。
二、加性同态加密的数学原理与函数构造
以经典的Paillier 加密算法(典型的加性同态加密方案)为例,其原理和函数构造如下:
(一)密钥生成函数
- 输入:安全参数
(决定加密强度,通常取
或
)。
- 步骤:
- 随机选择两个大素数
),满足
;
- 计算
,
(
为最小公倍数);
- 选择
(或满足特定条件的整数);
- 公钥为
,私钥为
。
- 随机选择两个大素数
(二)加密函数 E(m)
- 输入:明文 m(满足
),随机数 r(
),且
)。
- 计算过程:
其中,
为模运算的模数,
用于引入随机性,确保同一明文加密结果不同(即 “概率加密”)。
(三)加性同态运算函数
- 密文加法:对于两个密文
,
,其同态加法定义为:
(注意:此处为密文层面的乘法运算,对应明文层面的加法)。
- 同态性验证:
- 即密文相乘的结果等价于明文相加后的密文。
(四)解密函数 
- 输入:密文
,私钥
。
- 计算过程:
- 定义辅助函数
(当
时有效);
- 解密公式为:
其中,(
) 为模 n 下的乘法逆元,可通过私钥
计算得到。
- 定义辅助函数
三、加性同态加密的应用场景
- 隐私求和:多方数据无需解密即可求总和,如医疗数据统计、联邦学习中的梯度聚合。
- 安全投票:选民密文投票后,计票方直接对密文求和,解密后得到总票数,不泄露单个选票内容。
- 金融风控:银行间共享客户信用评分时,可对密文评分求和后解密,保护各自数据隐私。
四、与乘法同态、全同态加密的对比
类型 | 支持的同态运算 | 典型算法 | 计算复杂度 |
---|---|---|---|
加性同态加密 | 密文加法(对应明文加法) | Paillier、ElGamal(部分情况) | 较低 |
乘法同态加密 | 密文乘法(对应明文乘法) | RSA(部分情况) | 中等 |
全同态加密(FHE) | 任意复杂运算(加法 + 乘法) | Gentry、BGV、CKKS | 极高 |
五、数学本质:保持运算结构的 “同态映射”
从代数系统角度看,同态加密构建了 明文空间 与 密文空间 的 “同态映射关系”,核心是让密文运算等价于明文运算。
设:
- 明文空间为
(
为明文加法、
为明文乘法);
- 密文空间为
(
为密文加法、
为密文乘法);
- 加密函数为
,解密函数为
。
则同态加密需满足:
简单说,密文运算的解密结果 ≡ 明文直接运算的结果。这意味着:无需解密明文,直接对密文做特定操作,就能得到 “明文运算后再加密” 的等效结果。
六、应用本质:“密文域计算” 实现隐私保护
从实际价值看,同态加密的本质是 让数据 “可用但不可见”:
- 数据所有者可将加密后的密文(而非明文)委托给第三方(如云端、协作方);
- 第三方直接对密文执行计算(无需解密),得到的结果仍为密文;
- 数据所有者用私钥解密,即可获得 “明文计算结果”。
整个过程中,原始明文从未暴露给第三方,但第三方能完成计算任务 —— 这是同态加密最核心的价值:在保护数据隐私的前提下,实现 “数据计算的外包/协同”。
七、本质特征的延伸理解
-
与传统加密的区别 传统加密(如 AES、RSA)的密文是 “静态的”:只能存储 / 传输,无法直接计算。而同态加密的密文是 “动态的”:支持计算操作,且计算结果仍有意义(解密后对应明文运算)。
-
全同态 vs 部分同态
- 部分同态(如 RSA 乘法同态、Paillier 加法同态):仅支持单一类型运算(加法或乘法),或有限次数混合运算(受噪声、模数限制);
- 全同态(如 Gentry 方案、CKKS):理论上支持任意次数加法
乘法组合运算(通过 “自举(Bootstrapping)” 技术刷新噪声,突破运算次数限制)。
八、核心总结
加性同态加密的本质是通过数论构造(如模 运算、欧拉函数性质),使密文乘法对应明文加法,从而实现 “无需解密即可对数据进行求和” 的隐私保护能力。其函数设计严格依赖于数论难题(如大整数分解困难性),确保密文计算过程中原始明文的安全性。