开发者生态
morning
同态加密编译器项目 HEIR 的更新
摘要
On 2026-08-14 I published an article on the Google Security blog with an update on HEIR , our homomorphic encryption (HE) compiler. This is a companion article, in which I have no limits on word count...
the
and
that
The
HEIR
blog
can
you
article
with
2026-09-05
1 阅读
约6分钟阅读
turtleyacht
字号:
2026 年 8 月 14 日,我在 Google 安全博客上发表了一篇文章,其中介绍了我们的同态加密 (HE) 编译器 HEIR 的更新。这是一篇配套文章,其中我对字数或行话没有限制,并且可以随意诚实。所以请系好安全带。假设您不会阅读链接的公司博客文章,HEIR 是一个编译器,可将输入程序转换为直接对加密数据进行操作的程序。同态加密的保证是,假设您没有破解密码,运行程序的计算机在任何时候都不会获得有关用于生成加密输入的明文数据的任何信息。没有有关输入、输出或任何中间值的信息。该博客文章重点介绍了 HEIR 编译预训练 ML 模型的能力,并给出了它可以编译的四个小型但重要模型的示例。因此,同态加密可以使服务提供完美的私密推理。我将在本文后面尝试更多地说明它何时何地有用。首先,我想更具体地了解 HEIR 在这些示例的背景下如何工作,并概述(我的观点)该项目的未来路线图。我无论如何都不会深入研究 HEIR 的内部结构,因为那样会使文章太长。如果你想要的话,请告诉我,但 heir.dev 上有很多文档可供阅读,你可以看到我今年在 ASPLOS 上发表的最近的(快节奏的)演讲。目录:博客文章背后的存储库博客文章以使用 HEIR 编译的示例列表结尾。这些示例指向您可以自行克隆和运行的 GitHub 存储库。最大的障碍是安装 bazel ,然后 bazel 密封地管理其他一切。一些简单的运行时比较 最简单、最快的示例是信用卡欺诈检测器。这是一个简单的三层前馈网络,具有 sigmoid 激活函数,在 Kaggle 数据集上进行训练。线性层的维度为 128、64 和 2(最后一个是欺诈和非欺诈这两个类别的 logits)。您可以在一行中运行基本示例: bazel run -c opt //demos/cc_fraud/lattigo:evaluate_fhe 此命令会将(预训练、签入的)cc_fraud 模型编译到 Lattigo 后端,然后在示例输入上运行它。上面的命令输出: 从 /home/jeremy/完全同态加密/demos/cc_fraud/data/test_rows.csv 加载测试行 0... 花费了 83.226μs 预期标签 ( is_fraud ) : 0 特征向量大小: 82 前 5 个特征: [ -0.31676582 0.85089076 -0.40874073 -0.1833772 -1.7155787] 配置 Lattigo 上下文...花了 2.164051998s 加密输入功能...花了 19.430069ms 运行预处理...花了 573.537941ms 运行 FHE 评估(预处理)...花了 2.020821739s 解密输出...花了488.237μs 解密的 logits:[ 16.464235 -16.781752 ] 预测类别:0 成功:预测类别与预期标签匹配!这里的中心点是,在单线程 CPU 上对加密输入的模型进行评估大约需要 2 秒。将此与明文输入上的相同执行进行比较,请注意这是单个推理的延迟,因此它不会从摊销中受益。 (这需要获取和编码原始数据集,自述文件中对此进行了解释;我将在此处跳过该部分)。 $ bazel run -c opt //demos/cc_fraud/cleartext:evaluate_cleartext 从以下位置加载模型:demos/cc_fraud/data/mlp_fraud_model_sigmoid.pt 评估信用卡欺诈样本索引:0 真实标签:0 (合法) 预测标签:0 (合法) 欺诈概率:0.000000 结果:正确延迟:0.5233 毫秒 任何听说过 HE 的人可能都听说过它很慢,但我想在这里暂停一下来比较一下(单线程 CPU,非摊销!)运行时间:HE 推理为 2 秒,明文为 0.5 毫秒。这是 4,000 倍的减速,并且计算涉及两个矩阵向量乘积(其中矩阵不是私有的),以及 sigmoid 函数的两次评估。该演示有许多值得注意的警告:该模型足够小,私人信息可以容纳在单个(CKKS)密文中。具有超过 32k 个元素的输入张量将需要多个密文,自然会产生更多开销。该模型足够小,不需要引导(HE 最慢的部分)。我没有包含模拟网络开销,也没有包含生成和上传使 HE 工作的相关密钥材料所需的每用户一次性设置。服务器在“运行预处理”步骤中进行了大量的(一次性、特定于模型的)预计算。存储库中的其他示例更加复杂,因此与明文相比,延迟更长,开销更差(并且内存要求为 60-90 GiB)。特别是:network_anomaly,自动编码器的集合:30 秒的推理时间。 criteo,专门针对 HE 的推荐模型:5 分钟推理。热词 , 10
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱