跳转至

同态加密实用化进展:从理论突破到 IoT 落地

难度:🟡 中级 | 领域:密码学、隐私计算 | 阅读时间:约 26 分钟

日常类比

想象一个上锁的手套箱:你把零件锁进箱寄给工匠。工匠不打开箱子,只通过箱外操作孔隔着手套加工。寄回后你开锁,得到成品——工匠全程未见零件形貌。

同态加密(Homomorphic Encryption, HE)即:在密文上计算,解密结果等于对明文计算的结果。对物联网(Internet of Things, IoT):端侧或网关加密后上传,云端做聚合/推理仍保持密文;云被攻破时攻击者主要拿到密文。

摘要

从 Gentry 全同态突破[1]到 BFV/CKKS/TFHE 工程库,HE 已能支撑部分外包统计与浅层推理,但仍受噪声增长、密文膨胀与算力墙约束。本文分类 PHE/SHE/FHE,对比三大方案与主流库,讨论端–边–云分工,并给出局限与改进。文中性能数字均为公开基准量级示意,跨 CPU/参数不可直接对比。

1 分类与噪声

类型 全称 支持操作 典型方案 实用度
PHE 部分同态 仅加或仅乘 Paillier(加)、RSA(乘)
SHE / Leveled 有限/层级同态 预设深度的加+乘 BGV/BFV 无自举 中高
FHE 全同态 任意电路(靠自举) CKKS、TFHE、BGV+自举 中,进步快

密文带噪声:乘法增噪远快于加法;噪声超阈值则解密失败。Gentry 的自举(Bootstrapping)在密文上“同态解密”以刷新噪声[1],但成本比普通同态乘高得多;工程上常靠更大参数撑深度,尽量少自举。

2 三大主流方案

特性 BFV CKKS TFHE
数据 精确整数 近似实数 比特/小整数
打包 SIMD 弱(逐比特)
乘法深度 参数受限 参数受限 门级自举可延续
非线性 多项式近似 较自然
单次算子 相对快 相对快 门级更慢
典型用途 计数/精确统计 AI 推理/浮点 比较、布尔电路
  • BFV:整数精确计算[2]
  • CKKS:近似算术,适合模型推理[3]
  • TFHE:环面 FHE,门自举[4]

库侧常用 Microsoft SEAL、OpenFHE、TFHE-rs、Lattigo、TenSEAL、Concrete 等[5][6]。

3 性能与膨胀(量级,非排行榜)

公开基准(如 Xeon + OpenFHE 某版本)常报告:同态加在亚毫秒–毫秒;同态乘与密钥切换在毫秒级;CKKS 自举可达数十毫秒量级;TFHE 门自举在十余毫秒量级——均随多项式次数 \(N\)、模数链与线程数剧变[6][7]。

IoT 任务类型 较可行方案 相对明文的代价直觉
均值/求和 BFV/CKKS 可接受(网关/云)
线性模型推理 CKKS 数十–数百倍量级常见
逻辑回归/浅网 CKKS + 多项式激活 更高
深比较/排序 TFHE 常达数千–数万倍
深神经网络 CKKS+自举或混合 仍重,需专用加速

密文膨胀:BFV/CKKS 打包后有效每槽开销可降到可传输;TFHE 单比特密文开销极大。LoRaWAN 等每包百字节级链路不宜直传大密文;应在边缘批量经宽带回传。

4 硬件加速

路径 思路 状态
CPU SIMD(如 Intel HEXL) 加速 NTT 等 可用,数倍加速常见
GPU 批量 NTT/自举 研究与早期产品
FPGA/ASIC(CraterLake、HERACLES 等) 专用数据通路 多为原型/论文[8]
PIM(如 HE-PIM 类) 近存计算 原型[9]

加速比“10×–1000×”强依赖基线是否单核、是否含 I/O;选型应看延迟、功耗与内存带宽,而非峰值宣传。

5 库对比(工程视角)

方案 语言 IoT 相关备注
Microsoft SEAL BFV, CKKS C++ 文档成熟
OpenFHE 广 C++ 功能全,性能常领先
TFHE-rs / Concrete TFHE Rust/Python 布尔/可编程自举
Lattigo CKKS/BFV Go 服务端友好
TenSEAL BFV/CKKS Python 学习与原型

6 IoT 可行模式:端–边–云

终端:采集 + 轻预处理(明文短距)
   → 边缘网关:HE.Encrypt / 存私钥或门限份额
   → 云:HE.Eval(只触密文)
   → 边缘:Decrypt → 控制指令
运算 乘法深度直觉 IoT 可行性
加法聚合 0
加权和/线性层 1–2
多项式近似激活 3–5 中(网关/云)
深比较 很高 低,除非 TFHE+强算力
完整深网 很高 需自举/混合明文协议

多方场景可与门限 HE / MPC 组合[10]:私钥分片,消除“网关单点看明文”。

7 参数选择(128-bit 安全示意)

poly_modulus_degree(量级) 典型用途
4096 浅加法/极浅电路
8192 1–2 层乘
16384 数层乘
32768 深电路/自举预算

更大 \(N\) 更安全也更慢、密文更大。CKKS 近似误差相对 IoT 传感器噪声(如温度 ±0.1°C)往往可忽略,但仍需任务级误差预算。

8 局限、挑战与可改进方向

1. 终端算力与电池撑不起 FHE

局限:MCU 上密钥生成与密文乘不现实;若强行端侧加密,功耗与延迟不可接受。 改进:加密上移网关;终端只做明文采集与 TLS;评估 PHE 是否已够用。

2. 密文膨胀与 LPWAN 不兼容

局限:单包无法承载数百 KB 密文。 改进:边缘汇聚;SIMD 打包摊销;只上传必要统计密文而非原始时序。

3. 电路深度与模型精度两难

局限:深层非线性逼近误差累积;加大参数则内存墙。 改进:模型蒸馏为低深度多项式;混合 HE(线性密文 + 非线性 TEE/MPC);量化感知训练。

4. 实现与侧信道风险

局限:库默认实现未必抗时序/缓存攻击;错误参数可能“看起来能跑”但不安全。 改进:遵循 HomomorphicEncryption.org 安全白皮书参数;生产用审计过的库版本;密钥在 HSM/TEE。

5. 与法规“可解释解密权”冲突

局限:出事故时谁持有私钥、能否依法解密,产品常未设计。 改进:门限解密与审计日志;明确数据方/计算方合同;备援密钥仪式。

9 入门路径(简)

  1. TenSEAL 做 CKKS 向量加/点积,观察噪声预算
  2. 按任务选 BFV / CKKS / TFHE
  3. 学会 SIMD 打包
  4. 压测真实 \(N\) 与线程,再谈 GPU/FPGA
  5. IoT 架构先定密钥边界,再写电路

参考文献

[1] C. Gentry, "Fully Homomorphic Encryption Using Ideal Lattices," STOC, 2009. [2] Z. Brakerski / J. Fan & F. Vercauteren, BFV 相关工作, CRYPTO/其他, 2012 前后. [3] J. H. Cheon et al., "Homomorphic Encryption for Arithmetic of Approximate Numbers," ASIACRYPT, 2017. [4] I. Chillotti et al., "TFHE: Fast Fully Homomorphic Encryption over the Torus," Journal of Cryptology, 2020. [5] Microsoft, "SEAL" Documentation & GitHub, 2024. [6] A. Al Badawi et al., "OpenFHE: Open-Source Fully Homomorphic Encryption Library," WAHC@CCS, 2022. [7] J.-P. Bossuat et al., "Efficient Bootstrapping for Approximate Homomorphic Encryption," Eurocrypt 相关, 2021–2024. [8] N. Samardzic et al., "CraterLake: A Hardware Accelerator for Efficient Unbounded Computation on Encrypted Data," ISCA, 2022. [9] S. Kim et al., "HE-PIM / PIM acceleration for HE," IEEE Micro 等, 2024. [10] C. Mouchet et al., "Multiparty Homomorphic Encryption from Ring-Learning-with-Errors," PoPETs, 2021. [11] HomomorphicEncryption.org, "Security Standard / Whitepapers," 近年版本. [12] Zama, "TFHE-rs / Concrete" 文档与基准, 2023–2025.