本文作者: Flavio Bergamaschi
发布时间: June 4, 2020
每当我向某人初次解释全同态加密(Fully Homomorphic Encryption,FHE),我通常会先说我已经在这个领域工作了将近十年之久,但我依然需要花点时间来把这个词拼对,所以干脆就叫它FHE好了。
半开玩笑的话就不说了,当你第一次听到FHE这个词时感觉很神奇,但它其实是基于非常可靠的数学理论。主要的不同在于,FHE需要改变我们习惯的编程模式,这使得很难去投入到应用程序中。而在今天这不再是难题了,因为我们为MacOS、iOS以及不久之后的Linux和Android提供了新工具包。事实上,熟悉基本平台工具的开发人员可以很快地按照一些简单的说明进行启动和运行。将11年的顶级密码学研究合成到一个流线型的开发人员体验中,任何人都可以访问和免费获取,只需要大多数人花在煮咖啡或整理桌子的时间,这是一个不小的壮举。
什么是FHE?
与同事和合作伙伴之间存储和共享敏感数据的一些常用方式存在薄弱环节。今天,文件通常在传输和静态时加密,但在使用时解密。这为黑客和内部人员提供了很多机会来过滤得到未加密的数据。FHE补上了这些漏洞。它允许被许可方在数据保持加密的同时对其进行操作,最大限度地缩短了数据处于最脆弱状态的时间。
结合其他技术,FHE也能够有选择地限制解密能力,因此人们只能看到他们有权使用并且是完成工作必需的那部分文件内容。
1970年及以后
FHE最初是在1970年代末被提出的,但真正的突破是在2009年5月31日举行的第41届ACM计算理论研讨会上,密码学家Craig Gentry在其备受引用的开创性论文《Fully Homomorphic Encryption Using Ideal Lattices》中首次证明了这一点。
虽然这篇论文是一个令人兴奋的消息,但许多业内人士认为FHE会继续留在密码架上,因为它在日常的使用中速度太慢了,归结于其计算的复杂性和所需要的巨大计算能力。值得庆幸的是,IBM Research的一个小团队将此视为一项挑战,十年后,FHE的性能已经提高到足以满足某些应用的水平,而这将会随着算法的进步和未来硬件的加速而继续提高。
应用实例
FHE在许多用例中有着重要的应用前景,例如从隐私数据中提取价值;数据集交集;基因组学分析;不经意的查询(例如不透露意图的查询)和安全外包。
FHE特别适用在受监管并使用隐私、机密和“皇冠宝石”般的数据的行业里,如金融和医疗保健,因为该技术能够共享金融信息或患者健康记录,同时限制对所有必要数据的访问。
例如,我们最近与巴西 Brazil’s Banco Bradesco SA一起发表了一篇论文(paper),其中我们对数据和模型进行了同态加密,表明了其进行预测和不加密的情况得到了相同的精度和满意的性能。结果就是银行可以将运行预测的任务安全的外包给不受信任的环境。
展示工具包
MacOS、iOS下新的FHE工具包现在在GitHub上,Linux和Android版的预计将在几周内推出。每一个工具包都是基于HELib,世界上最成熟和最通用的加密库,包括一些示例程序,使基于FHE的代码更容易编写的。
iOS工具包包括一个简单易操作的演示,展示了针对一个加密数据库的保护隐私的搜索。该数据库是键值存储的,其中预先填充了欧洲各国及其首都的英文名称。选择国家将搜索其对应的首都。
我应该指出,这些都不是完美的或最终的结果。我们希望尽快将其投入实际应用,将这些技术交到早期使用者手中,他们希望让这些概念不再那么抽象而是更加具体,而我们正打算建立一个用户和事例的社区。
从开发人员的角度,请阅读我的同事Eli Dow的Q&A Q&A by my colleague Eli Dow,如果您有任何问题,请加入我们的 Slack community。