密码学 · Cryptography让信任有规则可循

Fully Homomorphic Encryption

隐私,
仍可计算

全同态加密让机器在看不见数据的情况下完成计算。把数据放进保险箱锁好,在不被打开的情况下照样完成运算。

从一个直觉开始

传统加密保护的是“静止”的数据。

文件存进硬盘时可以加密,经过网络时也可以加密。但一旦服务器要搜索、统计或运行模型,通常必须先把它解开。那一刻,秘密变回了明文。

FHE 改变的是计算时刻的信任边界。

把数字锁起来,
再让它参与运算。

下面是一个帮助理解流程的可视化模拟,并未在浏览器中执行真正的 FHE。

私密输入 / Your secret
7
120
ƒ(x) = 2x + 3

服务器会执行这个函数,但不应该知道 x 是多少。

UNTRUSTED COMPUTE● LIVE
等待加密7
encrypt(x)evaluate(2x+3)decrypt(result)

注意 这里使用确定性占位字符串表现密文,仅用于解释协议流程。

它为什么
真的能运行?

粗略地说,FHE 把一个消息藏进带有可控噪声的数学结构中。密文保留了某些代数关系,因此加法与乘法能够在不知道明文的前提下被映射过去。

01
Enc(x) ⊕ Enc(y)

在密文上运算

数据在整个计算过程中都保持加密。计算者拿到的是密文,返回的也是密文。

02
Dec(ƒ̂(c)) = ƒ(x)

结果仍然正确

把密文计算的结果解密,会得到与明文计算相同的答案——但中间过程不暴露输入。

03
c noisy → c fresh

噪声可以刷新

同态运算会积累噪声。Bootstrapping 像一次密文内的自我清洁,让计算继续进行。

正确性 / Correctness

Decsk(Evalpk(ƒ, Encpk(x))) = ƒ(x)

读法:先加密 x,再让不可信的计算者执行函数 ƒ,最后由持钥者解密;得到的结果,等同于直接对明文 x 运行 ƒ。

Powerful ≠ universal

什么时候
值得用 FHE?

尤其适合

  • 云端处理高度敏感的数据
  • 跨机构联合统计与风险分析
  • 隐私机器学习推理
  • 无法信任计算环境的场景
×

不是默认答案

  • 速度和延迟通常比明文计算更差
  • 算法要改写成受支持的电路
  • 参数选择影响安全与性能
  • 简单的访问控制可能已经足够

密码学
让信任有规则可循

标准与资料Homomorphic Encryption Standard
下一篇MPC:秘密如何被共同计算soon