📖 术语 🔰 新手

🔐 全同态加密 FHE

一种加密方式,让计算机不必解密就能直接对加密数据做运算。等你最终打开结果,它和你拿原始数据去算出来的一模一样。

💡
常见误解 — FHE 能让数据彻底碰不得吗?不全是。服务器在运算的过程中确实看不到你的原始数字,可从一个非常具体的查询里解密出的结果,仍可能透出当初输入了什么。FHE 藏住的是输入,未必藏得住输出会泄露什么。
你这一侧 只有你拿着密钥 🔑 服务器一侧 从不看见真实数字 🙈 🔒 把数据锁好 出门前先加密 🧮 对锁着的盒子做运算 全程保持密封 🔒 密封盒子送出去 🔒 密封答案送回来 🔑 f( 🔒数据 ) 🔒 f( 数据 ) → 同一个答案 ✅
🔒 你的密封盒子送到服务器 → 🧮 它在盒子仍锁着的状态下做运算 → 🔑 一个密封的答案只回到你手里。在服务器上,它从未离开过锁定状态。

📦 通俗来说 — 那位会算账的会计

设想你把一个装着数字的密封上锁的盒子交给会计。有了 FHE,他能直接在密封盒子上把账算清楚,再交回一个装着答案、同样密封的新盒子。他自始至终看不见你的真实数额,只有你握着钥匙能打开结果。这就是它的全部精髓:计算机处理的是一份全程锁着的数据,它交回的那个锁着的答案,照样准确无误。

🆚 这跟普通加密有什么不一样?

普通加密保护的是存着传输中的数据,可一旦你要用它,就必须先解密——也就把它暴露了出来。FHE 保护的是正在被处理的数据。它的密文经过特殊构造,对打乱版本做的运算,正好对应到对隐藏数字做的同样运算。所以人们把它叫做「用于使用中数据的加密」

状态普通加密FHE
💾 静止(存着)✅ 受保护✅ 受保护
📡 传输中(发送)✅ 受保护✅ 受保护
🧮 使用中(做运算)❌ 必须先解密✅ 保持加密

🔡 「全」到底指什么?

它说的是你能在锁着的数据上跑多少运算。同态加密支持任意深度的任意运算——这是最大的灵活度。从对加密数字做加法、乘法这些最基本的积木出发,就能搭出比较、逻辑门,乃至更多。它那几位本事更弱的「表亲」则受限不少:

  • 部分同态加密 — 只支持一种运算
  • 🔢 有限同态加密 — 只支持有限步数的运算
  • ♾️ 全同态加密 — 支持任意运算,没有深度上限

⛓️ 新手为什么会在加密圈遇到 FHE

大多数区块链都极度透明:每一笔余额、每一笔交易都公开可查。FHE 让机密智能合约成为可能——运算跑在加密后的数值上,验证节点和公众都看不到背后的数字,可结果依旧正确。这就打开了一扇门:加密余额、隐私 DeFi、机密代币、密封竞价拍卖、不公开的投票。Zama 正在为以太坊等公链打造一层 FHE 机密层。

🛡️ FHE 还有一点受人看重:它通常被认为具备抗量子特性,因为它建立在格密码的困难性之上。把这当成一个预期的性质,而非已被证明的保证——具体要看用的是哪种方案。

🚨 新手须知

  • 🐢 它很慢 — 在加密数据上做运算,可能比在明文上慢许多倍;这是普及还处在早期的主要原因
  • 🕳️ 输出可能泄露 — FHE 藏住的是输入,但一个非常具体的查询得出的结果仍可能透露些什么;访问权限规则依旧重要
  • 🔑 密钥就是一切 — 谁握着解密密钥,谁就能打开结果,所以密钥的保管才是真正的安全边界
  • 🧪 仍在成熟中 — 它能用,也在快速变好,但要预料到会有些毛刺、工具也还在变

❓ 常见问题

用了 FHE,计算机会看到我的真实数据吗?
不会。运算的整个过程中,计算机看到的只是打乱后的密文。它在锁着的数据上做运算,再交回一个锁着的答案。只有你手里的密钥能打开结果,所以你的真实数字在处理过程中从不暴露。
全同态加密里的「全」是什么意思?
意思是任意深度的任意运算都能在加密数据上跑起来。部分同态加密只支持一种运算,有限同态加密只支持有限的步数。「全」把这些限制都拿掉了。
服务器用了 FHE,我的数据就绝对安全了吗?
FHE 藏住的是输入,未必藏得住输出会泄露什么。服务器看不到你的原始数字,但从一个非常具体的查询里解密出来的结果,仍可能透露关于你的信息。访问权限规则和周密的设计依旧重要。
既然这么好,FHE 为什么还没到处都在用?
在加密数据上做运算,比在明文上慢得多,常常慢上许多倍。这份性能代价,正是 FHE 普及还处在早期的主要原因,不过它正在快速改善。

🔗 相关术语 · 币种