Ciphertext- and Polynomial-Level Optimization for Fully Homomorphic Encryption
本文介绍了 Recifhe,一种新型的全同态加密多级编译器,它通过在密文层级进行全局优化并在更细粒度的多项式层级消除冗余计算,实现了 1.25 倍的加速。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下你正在试图解开一个巨大的拼图,但你不能直接看拼图碎片。相反,你必须戴着一副厚厚的、模糊了所有形状和颜色的雾状护目镜来解开这个拼图。这就是**全同态加密(Fully Homomorphic Encryption, FHE)**的世界。这是一种神奇的数学,它能让计算机在从未真正“看到”数据的情况下对秘密数据进行运算。这就像是一个银行保险库,机器人可以在保险库门始终锁闭、机器人从未见过一张钞票的情况下,计算你的钱、增加利息并计算你的余额。
为了让这种魔法奏效,秘密数据被打乱成了一种被称为**密文(ciphertext)**的东西。在计算机内部,这个密文不仅仅是一个巨大的数据块;它实际上是一个庞大且复杂的多项式(一个有很多项的高级数学方程)。当计算机执行一个简单的任务,比如“把这两个数字相加”时,它实际上是在运行一段长而曲折的小型多项式步骤序列。问题在于,我们用来告诉计算机如何操作的软件工具一直有点笨拙。它们一直把整个密文看作一个沉重的行李箱。它们知道如何高效地打包这个行李箱,但它们不会看向箱子内部,看看是否可以通过重新排列其中的物品来节省空间或时间。由于观察问题的视角太远,它们错失了那些让数学运算变得更快的微小且隐藏的机会。
于是,由 Seongho Kim 及其团队开发的全新超级智能编译器(一种将人类指令翻译成机器代码的程序)——Recifhe 登场了。你可以把 Recifcia 想象成一位大师级的整理者,他不仅是看着行李箱,而是打开它,取出每一件物品,并重新排列整个堆叠,使旅程更加顺畅。
研究人员发现,通过从两个不同的层面观察问题,他们可以显著提高速度。首先,他们观察了“密文层面”,即大局观。在这里,他们组织了数据的流动,以确保繁重的工作在正确的时间进行。但真正的魔法发生在“多项式层面”。这是微观视角,他们观察的是单个数学步骤。他们注意到,计算机经常在做重复的数学运算,或者带着不需要的额外“重量”(冗余计算)。
Recifhe 使用了一种被称为“性能感知提升(performance-aware hoisting)”的聪明策略。想象一下你正背着一个沉重的背包爬坡。有时,最好在开始走路之前就把沉重的物品从背上取下来,单独携带,直到绝对必要时再把它放回去。Recifhe 对数学运算也是如此。它能精准判断将一项沉重的计算移动到序列中不同位置是否值得。如果数学证明移动计算所节省的时间比移动它所花费的时间更多,编译器就会执行此操作。如果不是,它就保持原样。这并非猜测;团队测量了在特定硬件上每个微小数学步骤所需的时间,以确保每一次移动都是有利可图的。
结果令人印象深刻。当他们在 12 个不同的任务(从简单的数学问题到像神经网络这样的复杂人工智能模型)上测试 Recifhe 时,它的运行速度比之前仅关注大局观的最佳方法快了 1.25 倍。更重要的是,它不仅变得更快,而且在内存使用上也变得更聪明了。虽然其他尝试重新排列数学运算的方法往往会导致计算机内存耗尽(就像试图把太多行李箱塞进一辆小汽车里),但 Recifhe 细致的调度保持了较低的内存占用,仅使用了现有库中手动优化版本内存的 0.93 倍。
简而言之,这篇论文表明,通过剥开加密的层级并优化内部的微小数学步骤,我们可以让秘密计算变得更快、更高效。它证明了你不需要在安全性和速度之间做出选择;有了正确的工具,两者皆可兼得。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。