5、隐私计算--同态加密
目录
同态加密
同态加密研究进展
同态加密原理及方案
同态加密分类
HE方案安全性
同态加密与区块链
同态加密应用
全同态工程实现开源工具
参考推荐:
同态加密_federated的博客-CSDN博客_同态加密代码
同态加密的含义_夏不哉下的博客-CSDN博客_什么是同态加密
完全同态加密_xiaoluo91的博客-CSDN博客_同态加密-FHE方案分析
全同态加密_yuxinqingge的博客-CSDN博客_全同态加密-全同态加密
同态加密整理_啥都不会可咋办的博客-CSDN博客_同态加密的分类
https://blog.csdn.net/jason_cuijiahui/article/details/79121702?
同态加密与区块链_Harry.Wong的博客-CSDN博客_同态加密在区块链中的应用
同态加密技术总结_liyakai_cn的博客-CSDN博客_同态加密
同态加密技术_jiezhu2007的博客-CSDN博客
同态加密知识介绍_月泪同学的博客-CSDN博客_同态加密
同态加密:SEAL项目_张轻语的博客-CSDN博客_seal同态加密-SEAL项目
同态加密之Paillier算法_林立可的博客-CSDN博客_paillier-Paillier算法
同态加密库HElib快速入门_LOVETEDA的博客-CSDN博客_helib-同态加密库HElib
同态加密(1) GSW加密方案_Artisgrammer的博客-CSDN博客_gsw算法-GSW加密方案
同态加密
同态加密(HE,homomorphic encryption)是密码学里一种特殊的加密模式,同态加密使我们可以将加密后的密文发给任意的第三方进行计算,并且在计算前不需要解密,即:在密文上进行计算。虽然同态加密的概念最早出现于1978年,但是第一个支持在密文上进行任意运算的全同态加密(Fully Homomorphic Encryption)框架出现较晚,在 2009 年由 Craig Gentry 提出。
Craig Gentry给出同态加密的直观定义是:A way to delegate processing of your data, without giving away access to it--一种不需要访问数据本身就可以加工数据的方法。同态加密是一种可以支持在密文上进行计算的加密方式, 密文状态下对加密消息进行计算的结果再进行同态解密后的明文结果与明文数据进行加密再解密的处理结果一致。
同态加密的数学定义为:
其中 E 为加密算法,M 是所有可能信息的集合。如果加密算法 E 满足公式,那么我们称 E 在★运算上符合同态加密的性质。目前的同态加密算法,主要支持两种运算上的同态:加法和乘法。简单来说,同态加密就是一种能够对密文进行运算,然后用密钥对运算结果进行解密,解密得到的结果等于对明文相同运算之后的结果。
1、由对称加密到同态加密
密码学在数据保护方面具有重要意义,目前国内主流使用的加密技术(SM2\3\4…)可以通过密钥的方式来实现数据的加密,但加密的数据只是在加密的时候是安全的,由于外界的不确定性,密钥的泄露还是会造成隐私的暴露或数据的被盗。而同态加密技术作为密码学的一个分支,可以在不对加密数据进行解密的情况下对其进行运算,可以极大降低敏感数据的暴露问题,对访问系统的内部用户以及外部用户都起到同样的作用。使用同态加密模型可以保护用户的隐私不受数据处理者的影响:访问者无法查看正在处理的数据,只能看到数据处理的最终结果。在云计算以及需要进行数据保护的分布式系统中,同态加密技术对其具有重要作用,因为用户可以在不访问原始未加密数据的情况下进行计算。
2、同态加密与云计算
在云计算中,我们可以把加密后的数据上传到云服务器上,在云服务器上进行运算,然后下载运算后的结果,对结果进行解密。这样就得到了计算结果并且能够保证数据不被泄露。因为数据是被加密的,所以把加密后的数据公布给所有人也不会发生数据泄露。
同态加密研究进展
1978年,Rivest、Adleman(“RSA”中的“R”和“A”)和Dertouzos提出了全同态加密的构想,自此成为了密码学研究领域的一个公开难题。目前,同态加密算法主要分为半同态加密和全同态加密两大类。半同态加密主要包括以RSA算法和ElGamal算法为代表的乘法同态加密、以Paillier算法为代表的加法同态加密以及以Boneh-Goh-Nissim方案为代表的有限次数全同态加密;全同态加密算法主要包括以Gentry方案为代表的第一代方案、以BGV方案和BFV方案为代表的第二代方案、以GSW方案为代表的第三代方案以及支持浮点数近似计算的CKKS方案等等。上述方案及其基本特性和应用情况总览如表所示。
类型 |
算法 |
时间 |
说明 |
实际应用 |
|
半同态加密 |
乘法同态 |
RSA算法 |
1977 |
非随机化加密,具有乘法同态性的原始算法面临选择明文攻击 |
在非同态场景中应用广泛 |
ElGamal算法 |
1985 |
随机化加密 |
DSS数字签名标准基于ElGamal数字签名算法的变体 |
||
加法同态 |
Paillier算法 |
1999 |
应用最为成熟 |
联邦学习 |
|
有限次数全同态 |
Boneh-Goh-Nissim方案 |
2005 |
仅支持1次乘法同态运算 |
/ |
|
全同态加密 |
Gentry方案 |
2009 |
第一代全同态加密,性能较差 |
/ |
|
BGV方案 |
2012 |
第二代全同态加密,性能相对较好 |
IBM HElib开源库 |
||
BFV方案 |
2012 |
第二代全同态加密,与BGV类似 |
微软SEAL开源库 |
||
GSW方案 |
2013 |
第三代全同态加密,基于近似特征向量 |
TFHE开源库 |
||
CKKS方案 |
2017 |
可实现浮点数近似计算,适合机器学习建模场景 |
HElib和SEAL |
同态加密原理及方案
同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。
2009年以后的HE方案是建立在哪个困难问题上呢?是一个被称作Learning With Errors(LWE)的困难问题。LWE问题分为两类,一个叫做Search-LWE,一个叫做Decision-LWE。后来,随着另一个新的工具出现,密码学家们又致力于基于Ring Learning With Errors(Ring-LWE)问题的HE构造。目前可以构造全同态加密的密码学假设主要有:理想格上的 理想陪集问题(Ideal Coset Problem, ICP)、整数上的近似最大公因子问题(Approximate Greatest Common Devisior, AGCD)、带错学习问题(Learning with Errors, LWE)等等。
全同态加密方案:
- The Brakerski-Gentry-Vaikuntanathan cryptosystem (BGV)
- Brakerski’s scale-invariant cryptosystem
- The NTRU-based cryptosystem due to Lopez-Alt, Tromer, and Vaikuntanathan (LTV)
- The Gentry-Sahai-Waters cryptosystem (GSW)
- The Brakerski/Fan-Vercauteren cryptosystem (BFV)
- The Cheon-Kim-Kim-Song cryptosystem (CKKS)
同态加密分类
同态加密分为半同态加密和全同态加密两种。
加法同态:加密函数满足条件:
f(A)+f(B)=f(A+B)
乘法同态:加密函数满足条件:
f(A)×f(B)=f(A×B)
1、半同态加密算法
如果一个加密函数f只满足加法同态,就只能进行加减法运算;如果一个加密函数f只满足乘法同态,就只能进行乘除法运算;如果一个密码学算法只满足乘法同态或者加法同态,我们就称其为半同态加密(SHE,Somewhat Homomorphic Encryption)或(PHE,Partially Homomorphic Encryption)。常见的乘法同态算法有RSA,ElGamal等,常见的加法同态算法有Pallier、Schorr协议等。
2、有限全同态加密算法
2005年提出的Boneh-Goh-Nissim方案是一种基于双线性映射的公钥密码方案,支持任意次加法同态和一次乘法同态运算。
3、全同态加密算法
如果一个密码学算法既满足乘法同态又满足加法同态,我们就称其为全同态加密(FHE,Fully Homomorphic Encryption)。第一个满足加法和乘法同态的同态加密方法直到2009年才由Craig Gentry提出。全同态目前正在发展当中,进展最为火热的全同态算法有基于理想格的全同态加密算法等。
HE方案:
- KeyGen算法-密钥生成:该算法生成加密公钥和解密私钥,还可能生成一个密文计算公钥,用于Evaluate中密文计算。
- Enc算法-加密:该算法生成密文,另外,通过Enc得到的密文的噪音最低,经过同态计算后的密文噪音将逐渐增强。
- Dec算法-解密:当密文噪音在阈值内时解密正确,超过阈值后解密不可靠。
- Evaluate算法-密文计算:这个算法是完全同态加密最重要的部分,通过Evaluate可以对任意功能函数进行计算,输入都是密文,特别重要的是该算法可以计算解密函数,这是形成完全同态加密方案的关键。
1)第一代全同态加密
2009 年,Gentry [Gen09] 取得突破性进展,构造出第一个全同态加密方案(Fully Homomorphic Encryption, FHE) 摘取了“ 密码学圣杯”。
随后,van Dijk 等人 [vDGHV10] 提出了一个 整数上的全同态加密方案。
这些被称为第一代全同态加密方案。
2)第二代全同态加密
随着 Gentry 全同态加密方案的提出,人们开始尝试基于 (R)LWE 构造全同态加密方案,并 结合理想格的代数结构、快速运算等优良性质 来进行方案的优化和实现,最终取得了巨大的成功。
2011 年,Brakerski 和 Vaikuntanathan [BV11a, BV11b] 基于 LWE 与 RLWE 分别提出了全同态加密方案,其核心技术是再线性化和模数转换,这样方案的安全性完全基于 (R)LWE 的困难性。
Brakerski 和 Vaikuntanathan [BV11b] 还提出了循环安全的类同态加密方案。
Brakerski 等人 [BGV12] 指出:依次使用模数转换能够很好的控制噪音的增长,据此他们设计了一个层次型的全同态加密方案:BGV。目前来看,(优 化后的)BGV 方案是最高效的全同态加密方案 之一。
2012 年,Brakerski [Bra12] 又提出了一个基 于 LWE 的无模数转换的全同态加密方案,该方案不需要模数转换管理噪音,也能够很好地控制噪音的增长。
以上方案与第一代方案相比,无需压缩解密电路,也就不需要稀疏子集和假设。这样一来, 方案的效率与安全性都得到极大的提升,但在同态计算时仍然需要计算密钥的辅助,故被称为第二代全同态加密方案。
3)第三代全同态加密
2013 年,Gentry 等 人 [GSW13] 利 用“ 近 似 特征向量”技术,设计了一个无需计算密钥的全同态加密方案:GSW,标志着第三代全同态加密方案的诞生。他们进而还设计了基于身份和基于属性的全同态加密方案,掀起了全同态加密研究的一个新高潮。此后,研究人员在高效的自举算法、多密钥全同态加密、CCA1 安全的全同态加密和电路私密的全同态加密等方面进行了大量的研究,得到了丰硕的成果。
HE方案安全性
HE方案的最基本安全性是语义安全性(Semantic Security)。直观地说,就是密文(Ciphertext)不泄露明文(Plaintext)中的任意信息。如果用公式表述的话,为:
这里PK代表公钥(Public Key),公式中的"约等于"符号,意味着多项式不可区分性,即不存在高效的算法,可以区分两个结果,即使已知m0, m1和PK。这是因为加密算法中还用到一个很重要的量:随机数。也就是说,对于同样的明文m进行加密,得到的结果都不一样,即一个明文可以对应多个密文(many ciphertexts per plaintext)。
在密码学中,还有更强的安全性定义,叫做选择密文安全性(Chosen Ciphertext Security)。选择密文安全性分为非适应性(None-Adaptively)和适应性(Adaptively),也就是CCA1和CCA2。HE方案是不可能做到CCA2安全的。那么,HE方案能不能做到CCA1安全呢?至今还没有CCA1安全的FHE方案,但是在2010年,密码学家们就已经构造出了CCA1的SWHE方案了。
HE方案还有一方面的安全性,就是函数f是否也可以保密?如果能保密,Cloud不仅不能够得到数据本身的内容,现在连数据怎么处理的都不知道,只能按照给定的算法执行,然后返回的结果就是用户想要的结果。如果HE方案满足这样的条件,我们称这个HE方案具有Function-Privacy特性。不过,现在还没有Function-privacy FHE,甚至Function-privacy SWHE也没有。
同态加密与区块链
隐私保护技术在区块链中的应用还是初期阶段,针对fisco bcos链实现同态加密的过程:凡是上链的数据可通过调用paillier库完成加密,链上的密文数据可通过调用paillier预编译合约实现密文的同态加运算,密文返还回业务层后,可通过调用paillier库完成解密,得到执行结果。具体流程如下图所示:
有一些应用场景需要用到同态加密计算,如在联盟链中,不同的业务场景需要配套不同的隐私保护策略。对于强隐私的业务,比如金融机构之间的对账,对资产数据进行加密是很有必要的。在FISCO BCOS中,用户可以调用同态加密库对数据进行加密,共识节点执行交易的时候调用同态加密预编译合约,得到密文计算的结果。
同态加密应用
1、安全外包计算(secure outsourced computation), 如安全云计算服务:完全同态可以解决云计算的安全性问题,委托至云端的数据都是加密的,云端在不解密的前提下可以实现用户请求的操作。
图1.云场景下同态加密过程
以云计算应用场景为例,如图所示。Alice通过Cloud,以Homomorphic Encryption(以下简称HE)处理数据的整个处理过程大致是这样的:
- Alice对数据进行加密。并把加密后的数据发送给Cloud;
- Alice向Cloud提交数据的处理方法,这里用函数f来表示;
- Cloud在函数f下对数据进行处理,并且将处理后的结果发送给Alice;
- Alice对数据进行解密,得到结果。
如,医疗机构可以将病人的医疗数据加密后存储至云端,云端对数据进行一些统计分析,可以对病情进行预测和给出治疗建议,这样既保证了病人的隐私有充分利用了云端的强大的计算能力。
2、银行等实体之间的安全协作:例如,银行有许多交易数据需要进行分析,但若其本身的数据处理能力较弱,可以把交易数据加密后交给云端数据处理中心来进行处理分析。处理中心对数据进行分析,得出结果并返回。在这个过程中,数据处理中心接触到的都是密文,这样就可以充分保证银行数据的机密性。
3、邮件安全:同态加密还可用于垃圾邮件过滤。假如你发布了加密公钥,你的好友可以向你发送加密的电子邮件,但垃圾邮件发送者也可以利用公钥加密广告和其他垃圾邮件来填塞你的邮箱。利用完全同态加密技术,垃圾邮件过滤器在无法解密邮件的前提下也能过滤掉垃圾邮件。
4、文件存储与密文检索:用户可以将自己的数据加密后存储在一个不信任的远程服务器上,日后可以向远程服务器查询自己所需要的信息,存储与查询都使用密文数据,服务器将检索到的密文数据发回。用户可以解密得到自己需要的信息,而远程服务器却对存储和检索的信息一无所知。此种方法同样适用于搜索引擎的数据检索。
5、电子选举:安全投票系统, 抗碰撞哈希函数, PSI(private set intersection), PIR(private information retrieval)方案,基于同态加密技术设计的电子选举方案,统计方可以在不知道投票者投票内容的前提下,对投票结果进行统计,既保证了投票者的隐私安全,有能够保证投票结果的公证。
全同态工程实现开源工具
- HElib
- SEAL
Ps:仅作资料整理!
如有错误、侵权,请联系笔者更改、删除!!!
5、隐私计算--同态加密相关推荐
- 隐私计算:数据脱敏、匿名化、假名化、差分隐私和同态加密
随着数据挖掘技术的普遍应用,一些厂商通过发布用户数据集的方式鼓励研究人员进一步深入挖掘数据的内在价值,在数据集发布的过程中,就存在安全隐患,可能导致用户隐私的泄露.2016年欧盟通过< ...
- 万向区块链蜂巢学院:王爽:隐私计算—数据经济、数据要素的基石
3月24日晚,锘崴科技创始人.董事长王爽先生做客万向区块链蜂巢研习社直播间,分享隐私计算行业概述.隐私计算赋能数据要素化.隐私计算赋能医疗领域的应用等当下热门议题. 下文根据速记整理,略有不影响原意的 ...
- 隐私计算-密码学-同态加密
文章目录 1 隐私计算综述 2 隐私计算发展史 3 加密技术概述 4 同态加密的历史 5 什么是同态加密 6 同态加密的定义 6.1 场景定义 6.2 核心流程 6.3 HE的分类 7 同态加密库Pa ...
- 「机密计算-隐私计算」科普
前言 提醒:全文10千字,预计阅读时长15分钟: 读者:对隐私计算感兴趣的小伙伴: 目的:读者利用15~30 分钟对本文沉浸式阅读理解,能够掌握隐私计算 80% 的概念: 关键词 :隐私计算.多方安全 ...
- 2022爱分析· 隐私计算厂商全景报告 | 爱分析报告
报告编委 张扬 爱分析 合伙人&首席分析师 洪逸群 爱分析 高级分析师 孟晨静 爱分析 分析师 目录 1.研究范围定义 \2. 厂商全景地图 \3. 市场定义与厂商评估 \4. 入选厂商列表 ...
- 隐私计算及密码学学习记录
隐私计算 隐私计算(Privacy compute)是指在保护数据本身不对外泄露的前提下实现数据分析计算的技术集合. 与传统数据使用方式相比,隐私计算的加密机制能够增强对于数据的保护.降低数据泄露风险 ...
- 专访洞见科技李博:科技向实,隐私计算规模化应用吹响号角
1 洞见科技,从"信用科技"到"隐私计算" 风口已至,隐私计算成为数据安全流通的"技术最优解" 作为专注于隐私计算领域的技术服务商,洞见科技 ...
- 同态滤波 python_使用python差异隐私和同态的各种数据隐私保护方法
同态滤波 python Matt Canute, Young-Min Kim, Donggu Lee, Suraj Swaroop, Adriena Wong Matt Canute,Kim Youn ...
- 清华博士段安:隐私计算如何打破数据孤岛 实现数据价值最大化 l 华坤道威专访
去年,随着国家数安法和个保法的相继出台,监管重拳的落地,个人隐私安全.隐私泄露等问题越来越受到人们的重视. 在此背景下,如何在合法合规的情况下,让企业经营持续不断增长,如何解决数据孤岛壁垒,真正让数据 ...
最新文章
- 报错提示:java.lang.IllegalArgumentException: Target must not be null
- Android程序label居中
- LINQPad学习与验证工具
- 每个Web开发者都应该知道的SOLID原则
- python数据库实例_Python3.6简单的操作Mysql数据库的三个实例
- 【强化学习】A3C代码注释版本
- c语言尹宝林答案,c程序设计导引 尹宝林
- OpenStack-Mitaka 一键安装测试环境脚本
- 如何写文章,如何说话
- 中国移动苏州研发中心前端笔试(1)
- ppt学习02——字体
- 软件测试常用的黑盒测试方法有哪些,简述什么是黑盒测试方法(最常用的黑盒测试方法)...
- JS函数传参是传值还是传引用
- ​PHP现在不好找工作是真的吗?
- 魏晋名士:骂人都不带脏字
- Shell 循环检查的格式
- Viz-artist常用脚本操作
- 双环形图表_excel两个环形图怎么画
- 【邢不行|量化小讲堂系列45-实战篇】关于股票市值:99%投资者不知道的坑,你知道吗?
- 室内设计软件除了常用的几款还有7…