全同态加密是什么?为什么“在密文上算数”被称为密码学圣杯 图 1
全同态加密是什么?为什么“在密文上算数”被称为密码学圣杯 · 图 1

一句话先说清

同态加密是一种允许“在加密状态上做计算”的加密方式:对密文做某种运算,得到的结果解密后,等于对明文做同样的运算。只做加法的叫加法同态(Paillier 之类),只做乘法的有(教科书 RSA 天然对乘法同态),而对加减乘(等价于任意可计算电路)都支持的,叫全同态加密(FHE)。这个概念由 Rivest、Adleman 与 Dertouzos 在 1978 年的“数据银行与隐私同态”论文里作为设想提出——他们顺手列了一堆能算但都不安全的例子,随后这个空位悬了三十一年,直到 2009 年斯坦福博士生 Craig Gentry 给出第一个可行构造,学界因此把它称作密码学圣杯。

全同态加密是什么?为什么“在密文上算数”被称为密码学圣杯 图 2
全同态加密是什么?为什么“在密文上算数”被称为密码学圣杯 · 图 2

为什么这件事难得反直觉

直觉上,加密与计算天生矛盾:加密要“把结构打乱藏起来”,计算要“把结构利用起来”,两者拉锯。加法同态能实现,是因为整数加法结构足够宽松——把两个密文乘起来,解出来正好是明文的和(这就是 Paillier 与早期 Benaloh 类方案的核心)。但一旦想同时支持乘法,噪声与密文尺寸会像滚雪球:两个带噪密文相乘,噪声按乘积增长,算几步密文就“脏”到解不开。Gentry 的天才突破是“自举”(bootstrapping)这个开关:如果一套方案能同态地评估“它自己的解密电路”,就可以定期对密文做一遍解密加重新加密——噪声被洗白,密文恢复新鲜,于是可算的深度不再封顶。他把这个性质叫 boostrappable,剩下两件事是造出一套接近此性质的格上方案、并把解密电路削薄到能被自己评估。这个“三十一年后靠格密码与自举兑现”的叙事,是它封圣的真正原因。

今天的性能账本与真实用途

第一代 FHE 每算一步都要处理天文数字大的密文,实用化无从谈起。此后十七年里,方案迭代(BFV/BGV/CKKS 等家族)、硬件库(微软 SEAL、OpenFHE、Intel HEXL、专用加速卡)与参数工程把成本压了几百万倍:如今一台服务器对密文做加法是每秒千万次的量级,做乘法与自举仍然慢得多——同一安全参数下,密文乘法往往比明文对应运算慢上百万倍、密文体积也大上千倍。这决定了 FHE 的现实定位:不是通用计算的替代品,而是特定瓶颈环节的隐私胶水——例如加密投票的计票、机器学习推理的隐私外包、可搜索加密、多方安全计算里的通信压缩、以及合规场景里“验证计算但不见数据”的构件。

与加密内存池方案的分工

加密圈提到“在密文上处理交易”时,常被归进同一片话题,但要区分技术族:让交易在进块前保持密文、落块后才解密的私有内存池方案,主力是门限加密——一组解密服务器共同持有密钥、按批解锁,追求的是“先排序后解密”的抗抢跑时序,运算本身并不在同态密文上做(Choudhuri、Garg、Policharla、Wang 2024 年的 ePrint 2024/1516 即这条线的代表作)。全同态则解决另一类问题:有人想对一批加密数据算出统计结果却不想解密任何单笔(比如跨机构风险汇总)。两者都姓“密文上工作”,但一个是时序盾牌,一个是计算盾牌,选型时千万别拿后者的通用性为前者背书。

一个能落地的最小例子

设想一个隐私投票场景:每张选票用加法同态加密(Paillier 一类),计票服务器把所有密文相乘——解密后正好是票数总和。服务器全程没见过任何一张选票,选举委员会拿私钥开一个总账即可。这就是同态加密最成熟的形态,也解释了为什么“部分同态”早已在计票、隐私集合求交、简单的密文聚合里服役,而全同态至今更多出现在科研与高端合规计算里。顺带一提加密圈的近亲案例:门罗币的隐秘交易就利用 Pedersen 承诺与环签名的加法同态性质,让节点不打开金额也能验证“进出相抵”——那是同态思想在不依赖 FHE 的前提下最漂亮的工程应用之一。

快速问答

问:量子计算对 FHE 是机会还是威胁?威胁:主流 FHE 基于格问题的难度假设,格密码同样在 Shor 算法射程内,NIST 的后量子标准化里格方案(ML-KEM、ML-DSA)与哈希方案并行,正是为远期风险备的胎。 问:既然 RSA 对乘法同态,为什么不直接拿来算?密文膨胀、缺少噪声管理,且教科书 RSA 不加填充根本不安全——它只是“有同态味道”,离实用很远。 问:FHE 会取代可信计算或 TEE 吗?威胁模型不同:FHE 假设服务器诚实执行但不诚实偷看,TEE 假设硬件可信、软件可作弊。工程上常组合使用。

常见误区

一是把“部分同态”宣传成“全同态”:很多项目对加法同态做了漂亮优化,却无法做两步以上的乘法,遇到非线性的活就卡住。二是把论文基准与产品基准混为一谈:学术论文报的是单点运算吞吐,实际负载还要摊噪声管理、密文搬运和自举开销。三是以为同态加密自带认证:密文上计算只保证保密性,不保证计算者没乱算——要完整性得再叠零知识证明或消息认证码。

风险提示:本文为密码学概念科普,不构成任何投资建议;具体加密方案的安全边界请以对应算法规范与专业审计结论为准。