首页 > 其他分享 >同态加密为什么被称为密码学的圣杯?

同态加密为什么被称为密码学的圣杯?

时间:2024-06-21 14:42:51浏览次数:25  
标签:方案 加密 同态 密文 Gentry 圣杯 密码学 乘法

同态加密是一种支持数据密态处理的密码学技术,可以广泛应用于云计算、医疗、金融等领域。

1.什么是同态加密?

全同态加密是一种加密技术,允许在不解密的前提下,对密文进行一些有意义的运算,使得解密后的结果与在明文上做 “相同计算” 得到的结果相同。

同态加密被称为密码学的圣杯,原因是同态加密算法功能十分强大,可以支持密文上的任意操作。目前的全同态加密算法效率比较低,只能支持一些简单的代数或逻辑计算,对一些复杂的计算逻辑支持较差。

2.理论到实现

2.1理论

全同态加密的思想早在1978年由Rivest,Adleman和Dertouzos(前两位就是RSA中的R和A)在他们的论文《On Data Banks and Privacy Homomorphisms》中提出。论文中提出了对密文进行一定的计算,可以间接地对原文进行操作的构想。需要指出的是,这离公钥密码学概念的提出,才仅过去两年的时间,由此也凸显了密码大牛的想象力和洞见力。后来,这种技术才被重新命名为同态加密。

传统的一些密码方案具有一些简单的同态性质,如教科书式的RSA算法(支持同态乘法),Paillier算法(支持同态加法)等。然而,这些算法离真正的全同态加密还有很大的距离。

2.2方案

经过30多年的发展,Gentry在其博士论文中提出了第一个真正意义上的全同态加密方案。该方案基于理想格,利用环结构上的同态性质设计。

全同态加密方案:
简单来说,假如I⊂R是环RR的一个理想,x∈R是环中的任意一个元素,则xI⊂I(吸收律),I+I=I(封闭性)。考虑商环R/I。对于任意的x,y∈R,x,y∈R,有

这些就是商环的运算性质,而性质恰好可以用来构造同态加密。不严格地讲,如果把运算想象成 “加密” 过程,上面实际上可以翻译为:

“x的密文” 与 “y的密文” 经过 “加法” 运算 ===> “x+y的密文”

“x的密文” 与 “y的密文” 经过 “乘法” 运算 ===》 “xy的密文”

这正是同态加密所要完成的功能!

然而需要指出的是,这种方案还是只能支持有限次的同态乘法和同态加法,离 “任意运算” 还是有不小的距离,所以仍然不是一个真正的全同态加密方案。因为上述由理想格设计出的方案本质上是基于噪声的,运算过程中噪声的规模会增长。当噪声增长到一定程度后,就不能从密文中将信息恢复出来了。Gentry 将这类可以支持一定程度上的同态加法和同态乘法的加密方案称为 “SomeWhat Homomorphic Encryption” (简称为 SHE 或 SWHE) 。

在 Gentry 之前仅有的类似方案是 05 年提出的 BGN 方案。其基于椭圆曲线上的双线性对构造,可以支持同态加法和一次同态乘法。因此,为了实现真正意义上的全同态加密,Gentry并没有停下前进的脚步。

Gentry 的另一个贡献,也是构造全同态加密的关键,那就是提出了 Bootstrapping 技术:通过同态执行解密电路(即始终保持在密文状态下执行解密电路),对密文进行刷新,将其中所含的噪声减少,使其能够再进行同态乘法和同态加法运算。通过重复执行 Bootstrapping, 便可以将 SWHE 方案转化为 FHE 方案。这就是 Gentry 提出的构造全同态加密的蓝图,也是目前唯一已知的构造全同态加密的方式。

这里有一个比较有意思的点。前面说了 ,SWHE 只能支持有限次的同态乘法操作,而 Bootstrapping 中需要同态执行解密电路,那么一个很显然的推论就是,解密电路中需要执行的乘法运算不能超过 SWHE 中能支持的同态乘法的界限,因为需要在 SWHE 中实现 Bootstrapping 操作。但是,通过分析发现,几乎所有的可用的加密方案,执行其解密电路所需的乘法操作总是超过了 SWHE 中能支持的同态乘法的界限。

这个看似不可逾越的鸿沟,好像给Gentry的同态加密构造蓝图打上了 “不可能” 的标签。但是 Gentry 通过引入一些新的计算假设,成功地将解密电路中所需的乘法操作拉到 SWHE 能支持的乘法操作范围内。从而成功地构造出了第一个全同态加密方案。

三、全同态加密发展历程

此后的第二代(BGV等方案为代表)、第三代(GSW方案为代表)全同态加密方案中,都有Gentry的贡献。可以毫不夸张地说是Gentry大神敲开了全同态体系的大门,并在随后的14年中不断地推动【同态加密算法】的发展。由于在同态加密领域的杰出工作,Gentry获得了2022年的哥德尔奖。有人预测,一旦同态加密获得大规模应用,Gentry很可能获得图灵奖。

花边新闻:Gentry在哈佛获得法学学位后,曾做过一段时间律师。令人津津乐道的跨界成功的教科书式案例,“出道即巅峰”的典型代表。

从Gentry提出第一个全同态加密方案开始,全同态加密算法在设计、分析、优化、实现、应用等研究方向上都取得了很大的进展。而全同态加密算法本身也经历了几轮的迭代升级。

发展历程 同态加密方案
第一代 主要是以 Gentry 基于理想格的方案和 van Dijk 等基于整数环上的 AGCD 困难性的 DGHV 方案为代表。Gentry 的方案涉及了较多的代数数论,方案有些复杂。而 DGHV 方案基于整数,方案简单,便于理解,但计算复杂度高,公钥尺寸非常大,很不实用
第二代 以 Brakerski 和 Vaikuntanathan 等人基于 LWE 问题等设计的 BV 方案为起点,代表性的有 BGV 方案和 BFV 方案。这一类方案主要以层次型(leveled FHE)结构为主,针对一些特定的场景,通过精心设计参数,可以避免在计算过程中引入耗时的 Bootstrapping 操作。此外,同一时间内,López-Alt 等人还基于 NTRU(一个格密码方案)提出了一种称为多密钥 FHE 的同态加密方案的概念,支持对不同密钥加密的密文进行计算。进一步提升了同态加密的功能性,扩展了其在实际中的使用范围
第三代 以 Gentry 等人(GSW)方案为开端。GSW 方案基于近似特征向量构造,设计了一种不同的方法来执行同态运算。该方案一个非常有意思的点是可以用来构造属性基(Attribute-Based)加密。现在一些高级的设计中,很多都以 GSW 方案为组件。与此同时,比较著名的代表方案还包括 FHEW 和 TFHE 等
第四代 以 CKKS 为主要代表。也有学者将其归为第二代,与 BGV、BFV 方案等并列。严格来讲,CKKS 并不是同态加密方案,而是近似同态加密方案。D(E(m1)∘E(m2))≈m1∙m2然而,由于其对浮点数的支持比较好。因此被广泛使用在隐私保护机器学习等场景中。此外,Li 等人还对 CKKS 算法给出了攻击和修复建议

噪声管理是目前全同态加密方案中的一个重要部分,很多方案论文中,考虑的关键点就是更好的噪声管理方式。实际上,也出现过一些无噪声的 “同态加密方案”,主要基于非交换代数设计,但是这类方案安全性很低,基本上每出现一个方案,很快就被攻破了。

引用

什么是同态加密?同态加密为什么能被称为密码学的圣杯?
什么是全同态加密(FHE)中的自举(Bootstrapping)?

标签:方案,加密,同态,密文,Gentry,圣杯,密码学,乘法
From: https://www.cnblogs.com/route/p/18260492

相关文章

  • c语言实现密码学算法应用
    一实验目的   1、掌握对称密钥密码体制的基本概念;   2、掌握对称密钥密码体制DES加密/解密的工作原理;   3、掌握非对称密码算法RSA加密/解密的基本原;   4、通过用DES和RSA算法对实际的数据进行加密/解密运算深刻理解加密算法原理。二实验内容   根据给......
  • 椭圆曲线密码学(ECC)加解密,附带python代码
    想起来很久没写博客了,刚好今天要写实验报告,随便把之前的也完成吧1.椭圆曲线概念椭圆曲线在经过化解后,可以用这条式子表达:E:y²=x³+ax+b其背后的密码学原理,是基于椭圆曲线离散对数问题,比RSA算法更有安全且运算速度更快。在看上面的式子,我们知道构造一个椭圆曲线,需要a,b两个参数......
  • js圣杯模式
    //圣杯模式改变子属性不会影响父对应的属性//functioninherit(Target,Origin){//functionF(){}//F.prototype=Origin.prototype//Target.prototype=newF()//Target.prototype.constuctor=Target//}varinherit=......
  • 在密码学中,“加盐”(Salting)是指在存储用户密码的哈希值之前,向原始密码添加一个随机生
    在密码学中,“加盐”(Salting)是指在存储用户密码的哈希值之前,向原始密码添加一个随机生成的字符串(称为“盐”Salt)的过程。这个盐值通常是全球唯一的,并且与每个用户账户相关联,存储在数据库中与哈希值一起。加盐的目的主要有两个:抵御彩虹表攻击:彩虹表是一种预先计算好的哈希值对照表......
  • 零知识证明与同态加密:隐私计算的双剑
    PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。在数字时代,隐私保护已成为全球关注的焦点。隐私计算作为解决数据隐私问题的关键技术,其核心目标是在不泄露个人或敏感信息的前提下,实现数据的计......
  • 深入了解PBKDF2:密码学中的关键推导函数
    title:深入了解PBKDF2:密码学中的关键推导函数date:2024/4/2020:37:35updated:2024/4/2020:37:35tags:密码学对称加密哈希函数KDFPBKDF2安全密钥派生第一章:密码学基础对称加密和哈希函数对称加密:对称加密是一种加密技术,使用相同的密钥进行加密和解密。常见......
  • 密码学中的RSA算法与椭圆曲线算法
    PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。在数字安全领域,加密算法扮演着至关重要的角色。它们确保了信息的机密性、完整性和不可否认性。RSA算法和椭圆曲线算法(ECC)是当前最广泛使用的两......
  • 群的同态与同构
    同态(Homomorphism)现在我们能够更深刻地理解“群”到底描述了什么。群描述且仅描述一个给定集合以及定义在该集合上的唯一的一个二元运算。任意给定群里的两个元素,我们总能通过“运算”这一方式确定是群里的哪个元素与这两个元素对应。如果我们抛开群中每个元素的具体名字不看,元......
  • 密码学基础--搞清RFC和PKCS(1)
    目录1.CryptoDriver里KeyElement格式2.挖掘RFC标准3.小结昨天从生成密钥对开始逐步了解了公钥、证书等各种编码方式,今天继续趁热打,做一个理论知识汇总。Ps:我只是标准的翻译搬运工。1.CryptoDriver里KeyElement格式在 CryptoKeyElement配置项里,我们会发现有form......
  • 密码学基础--搞清RFC和PKCS(2)
    目录1.引入​2.RFC是什么3.PKCS是什么4.小结1.引入 老规矩,先从RFC是什么开始说起​2.RFC是什么RFC是“RequestforComments”的缩写,本身它是一系列文件,描述了互联网的各种协议、技术规范、方法。它们由互联网工程任务组(IETF)发布,并由网络社区进行讨论和审查。RF......