Enc(x) ⊕ Enc(y)
在密文上运算
数据在整个计算过程中都保持加密。计算者拿到的是密文,返回的也是密文。
文件存进硬盘时可以加密,经过网络时也可以加密。但一旦服务器要搜索、统计或运行模型,通常必须先把它解开。那一刻,秘密变回了明文。
FHE 改变的是计算时刻的信任边界。
下面是一个帮助理解流程的可视化模拟,并未在浏览器中执行真正的 FHE。
服务器会执行这个函数,但不应该知道 x 是多少。
注意 这里使用确定性占位字符串表现密文,仅用于解释协议流程。
粗略地说,FHE 把一个消息藏进带有可控噪声的数学结构中。密文保留了某些代数关系,因此加法与乘法能够在不知道明文的前提下被映射过去。
数据在整个计算过程中都保持加密。计算者拿到的是密文,返回的也是密文。
把密文计算的结果解密,会得到与明文计算相同的答案——但中间过程不暴露输入。
同态运算会积累噪声。Bootstrapping 像一次密文内的自我清洁,让计算继续进行。
Decsk(Evalpk(ƒ, Encpk(x))) = ƒ(x)
读法:先加密 x,再让不可信的计算者执行函数 ƒ,最后由持钥者解密;得到的结果,等同于直接对明文 x 运行 ƒ。
Powerful ≠ universal