全同态加密算法
同态加密——精选推荐
![同态加密——精选推荐](https://img.taocdn.com/s3/m/c88281c8a48da0116c175f0e7cd184254b351bee.png)
同态加密同态加密是指这样⼀种加密函数,对明⽂进⾏环上的加法和乘法运算再加密,与加密后对密⽂进⾏相应的运算,结果是等价的。
全同态加密是指同时满⾜加同态和乘同态性质,可以进⾏任意多次加和乘运算的加密函数。
⽤数学公式来表达,即Dec(f(En(m1),En(m2),…,En(mk)))=f(m1,m2,…,mk),或写成:f(En(m1),En(m2),…,En(mk))=En(f(m1,m2,…,mk)),如果f是任意函数,称为全同态加密。
加法同态,如果存在有效算法⊕,E(x+y)=E(x)⊕E(y)或者 x+y=D(E(x)⊕E(y))成⽴,并且不泄漏 x 和 y。
乘法同态,如果存在有效算法,E(x×y)=E(x) E(y)或者 xy=D(E(x) E(y))成⽴,并且不泄漏 x 和 y。
加密就是将消息或原始信息,⽤数学⽅法打乱,然后将其保存或传递给另⼀⽅,后者将使⽤另⼀种数学⽅法对信息进⾏解密并读取它。
理想情况下,加密可以增加数据的安全性,因为只有我们授权的⼈可以读取消息。
信息在解密之前都是很难辨认的,⼀旦加密后,则只有给定密钥才可以解密。
虽然不同形式的加密已存在⼏个世纪,但它仍然是有效果的:加密的数据⼀定⽐不加密的数据安全得多,哪怕是在防⽕墙和杀毒软件之后也⼀样。
加密是保护您的数据避免第三⽅窥探的⽅法,就像你的⽹上购物车⾥,填满了商品。
Gentry发现了⼀个⽅法:Boostrapping,该⽅法我把它称之为:同态解密。
(他为什么可以构造全同态加密⽅案呢)这个⽅法的作⽤是约减噪⾳。
因为格上加密法案是噪⾳⽅案,即在密⽂中含有噪⾳,所以每次密⽂计算后,噪⾳都会增加,尤其是密⽂乘法导致噪⾳增长的⾮常快。
即使你构造了⼀个具有同态性的加密⽅案,由于噪⾳增长,导致⽆法获得同态性。
因此,约减密⽂计算后的噪⾳变得异常关键。
当然在此之前应该构造⼀个具有同态性的⽅案Gentry是在格上⾸先构造⼀个具有同态性的加密⽅案,该⽅案能够做加法,也能够做乘法,但是只能做有限次的乘法。
适用于字符串加密的全同态加密方案
![适用于字符串加密的全同态加密方案](https://img.taocdn.com/s3/m/8ca2ab6aa36925c52cc58bd63186bceb19e8ed64.png)
适用于字符串加密的全同态加密方案梅宇;孙霓刚;李雪佳【摘要】现有的全同态加密思想主要实现对整数进行加密,在密文的状态下可以实现加、减、乘、除等四则运算,将其密文进行解密得到的结果与对明文做相同运算的结果一致,然而当加密对象为字符串的时候这些运算将变的毫无意义;为了使得全同态加密算法可以应用在字符串中,设计了一个可以适用于字符串加密的全同态加密算法;首先介绍了全同态加密算法在整数上的实现原理,通过对中国剩余定理的证明过程中发现了中国剩余定理具备定位字符的能力,然后将中国剩余定理引入整数上全同态加密的思想中;引入的中国剩余定理便是可以在加密过程中实现字符串的定位,避免出现加密完成后无法按照原有顺序回复出原文;最后通过举例论证的方式,验证了实现字符串全同态加密算法的的正确性;从而丰富了全同态加密算法的使用范围.【期刊名称】《计算机测量与控制》【年(卷),期】2016(024)004【总页数】4页(P195-198)【关键词】中国剩余定理;全同态加密;字符串【作者】梅宇;孙霓刚;李雪佳【作者单位】常州大学信息科学与工程学院,江苏常州 213000;常州大学信息科学与工程学院,江苏常州 213000;常州大学信息科学与工程学院,江苏常州 213000【正文语种】中文【中图分类】TP309全同态加密思想是由Rivest等人在1978年提出的,希望在不对密文进行解密的条件下,对密文进行任何运算,得到的结果解密后与明文进行相应运算的结果相同。
这个思想提出后,国内外研究人员进行了大量的研究,直到2009年Gentry提出来基于理想格的全同态加密方案,并对该方案进行了详细论述。
此后国内外学者都提出来许多改进的全同态加密方案。
但这些方案的加密对象都是对整数进行加密。
当加密对象为“字符串”的时候,现有的算法将毫无办法。
在“大数据时代”,数据信息越来越中重要。
数据的存储方式最常见的便是以字符串的形式进行存储。
因此设计出一种可以适用于字符串的全同态加密算法,不仅可以扩展当前全同态加密算法的应用范围,还可以使得全同态加密更加具备实用性。
同态bfv算法
![同态bfv算法](https://img.taocdn.com/s3/m/3a18a25b6fdb6f1aff00bed5b9f3f90f76c64d22.png)
同态BFV算法是基于RLWE难题的全同态加密方案。
BFV算法,全称Brakerski-Fan-Vercauteren算法,是一种实现全同态加密(FHE)的方法。
它允许在加密数据上直接进行计算,而无需先对数据进行解密。
这种算法对于保护数据隐私和安全具有重要的意义,因为它可以在不暴露原始信息的情况下,对加密数据进行处理和分析。
以下是关于BFV算法的一些关键信息:
1. 算法基础:BFV算法是基于环上的学习带错误问题(Ring-LWE或RLWE)构建的。
RLWE问题是LWE(学习带错误问题)的一个变种,它们都属于格密码学的范畴。
2. 优化重线性化:BFV算法引入了两种优化版本的重线性化技术,这些技术能够减少重线性化密钥的大小,并且加快计算速度。
重线性化是全同态加密中的一个重要步骤,它允许加密数据的多次运算而不会耗尽密文的“噪音”容量。
3. 实用性:BFV算法是第二代同态加密方案中的核心之一,它被广泛应用于各种需要隐私保护的计算场景。
微软的全同态加密软件库SEAL最初就是基于BFV算法实现的。
4. 全同态特性:BFV算法支持全同态操作,这意味着可以在加密数据上执行任意深度的电路计算。
通过使用bootstrapping程序,部分同态加密可以转换为全同态加密,从而允许更深的电路计算。
基于整数多项式环的多对一全同态加密算法
![基于整数多项式环的多对一全同态加密算法](https://img.taocdn.com/s3/m/c170e321a22d7375a417866fb84ae45c3b35c239.png)
基于整数多项式环的多对一全同态加密算法王彩芬;赵冰;刘超;成玉丹;许钦百【摘要】针对传统公钥加密模式多数只能由单发送方将消息发送给单接收方的限制,基于整数全同态加密方案,设计一种基于整数多项式环的一对一全同态加密算法.在此基础上,通过修改一对一全同态加密算法的密钥生成方式,扩展加密方个数,提出基于整数多项式环的多方加密一方解密的全同态加密算法.给出该算法的正确性和同态性证明,并在随机预言机模型下,基于离散子集求和问题和近似最大公因子问题证明该算法的安全性.性能比较结果表明,该算法可扩展加密方个数,提高解密方效率.【期刊名称】《计算机工程》【年(卷),期】2019(045)004【总页数】6页(P130-135)【关键词】整数多项式环;多对一全同态加密方案;离散子集求和问题;近似最大公因子问题;随机预言机模型【作者】王彩芬;赵冰;刘超;成玉丹;许钦百【作者单位】西北师范大学计算机科学与工程学院,兰州730070;西北师范大学计算机科学与工程学院,兰州730070;西北师范大学计算机科学与工程学院,兰州730070;西北师范大学计算机科学与工程学院,兰州730070;西北师范大学计算机科学与工程学院,兰州730070【正文语种】中文【中图分类】TP309.70 概述随着科学技术的发展,特别是互联网+和云计算的兴起,人们对加密数据的关注和需求越来越高。
与此同时,可以解决云计算中数据隐私保护的同态加密方法越来越受到人们的重视。
文献[1]提出隐私同态,它可以确保被操作数据的隐私性,能够在不知晓明文的前提下,对密文直接操作然后进行解密,其结果和对明文进行同样操作得到的数据一致。
利用该特性明显的同态性质,将加密数据交付给不可信的第三方进行处理就不会泄露隐私。
随后,很多学者对全同态加密进行了深入的研究,并提出多种同态加密方案。
IBM公司的成员Gentry[2]研究出第一个可以定义为全同态加密的机制,文献[3]给出了其正确性证明,Gentry的方案是基于理想格进行运算的,实施起来比较困难。
一种基于全同态加密的密文检索算法
![一种基于全同态加密的密文检索算法](https://img.taocdn.com/s3/m/a34f9934c4da50e2524de518964bcf84b9d52d15.png)
一种基于全同态加密的密文检索算法
一、什么是全同态加密
1、定义:全同态加密技术(Fully Homomorphic Encryption,FH)是一
种特殊的加密技术,该技术实现了对数据持有方保留全权以及安全,
不受任何数据操作者影响的数据安全技术。
2、特点:全同态加密可以构成一种数据安全新体系,该体系可以实现
完全对称的数据安全技术,不会损害数据的结构或改变它的内容,而
且可以在不可靠攻击者的无授权情况下保护数据的安全。
3、优势:全同态加密无法完全攻破,而且可以实现完全保护,这是它
的最大优势,其中,数据方可以完全保留其权利,即使攻击者也无法
获取它们的权利,也无法对其任何更改数据。
其中,计算消耗很少,
可以减少计算操作的技术消耗,从而大大提高运行速度。
二、全同态加密的密文检索算法
1、实现:全同态加密的密文检索算法是一种在全同态加密环境下实现
数据检索的算法,该算法利用全同态加密的特性,为查询者提供各种
查询操作,进行有效的密文检索操作。
2、优点:该技术有利于构建一个安全、可靠和易于维护的数据库系统,可以提供给数据持有方完整的数据保护。
由于全同态加密本身不会破
坏查询结果的结构,可以避免由于加密过程中造成的结果错误的问题,大大的提高查询的正确性和准确性,而且可以减少查询处理速度,降
低查询能耗。
3、缺点:现阶段应用不多,需要更多研究来发挥其优势;计较体系以及加密计算方法也是一块有待进一步完善。
同态加密方案
![同态加密方案](https://img.taocdn.com/s3/m/5ecb6ef45ef7ba0d4a733b76.png)
若一个加密方案对密文进行任意深度的操作后解密,结果与对明文做相应操作的结果相同,则该方案为完全同态加密方案。
通常一个公钥加密方案有三个算法:KeyGen算法(密钥生成),Enc算法(加密),Dec算法(解密)。
但是在全同态加密中,除了上述三个算法之外,还包含第四个算法:Evaluate算法(密文计算),这个算法的功能是对输入的密文进行计算。
KeyGen算法(密钥生成)用于生成公钥和密钥,公钥用于加密,私钥用于解密。
还可能生成另外一种公钥,即密文计算公钥,我们把它称之为Evk。
密文计算公钥Evk的作用是在执行Evaluate算法时用到,而且Evk 的形式与使用的全同态方案直接相关。
例如,如果是通过启动技术(Bootstrapple)获得全同态加密,即每次密文计算前要用同态解密约减密文的噪音,这时Evk就是对密钥的每一位加密后生成的密文,即密钥有多少位,Evk里包含的公钥就有多少个。
Evk中每个公钥的大小就是使用Enc加密后产生密文的大小。
当然还有其他情况,例如,如果使用密钥交换与模交换技术获得全同态加密,典型代表就是BGV方案。
这时Evk中包含的就是L–1个矩阵,L是方案中电路的深度,该矩阵用于密钥转换。
每次密文计算后,都需要使用Evk中的公钥将维数扩张的密文向量转换成正常维数的密文向量。
当然还有一种情况就是不需要Evk,例如在Crypto13会议的论文GSW13中,Gentry使用的密文是矩阵(方阵),所以密文乘积或相加不会产生密文维数改变的事情,所以在密文计算时没有用到公钥,这也是该论文可以产生基于身份或基于属性全同态加密方案的根本原因。
Enc算法(加密)和我们平常意义的加密是一样的,但是在全同态加密的语境里,使用Enc算法加密的密文,一般称之为新鲜密文,即该密文是一个初始密文,没有和其他密文计算过。
所以新鲜密文的噪音称之为初始噪音。
Dec算法(解密)不仅能对初始密文解密,还能对计算后的密文解密。
全同态加密方案
![全同态加密方案](https://img.taocdn.com/s3/m/604c7cc2c9d376eeaeaad1f34693daef5ef713e9.png)
引言全同态加密是一种先进的加密技术,可以将加密数据进行计算而无需解密,在计算结果上也能保持加密状态。
这种加密方案广泛应用于云计算、数据隐私保护等领域,具有重要的研究和实际价值。
本文将介绍全同态加密的基本概念、原理和应用,并探讨其在信息安全领域的前景。
全同态加密的基本概念全同态加密是指一种加密方案,允许对密文进行计算操作,得到的结果仍然是加密后的数据。
具体来说,对于两个密文C1和C2,全同态加密方案应具备以下性质:1.加法同态性: 对于明文m1和m2,通过加密算法加密得到的密文C1和C2,满足C1+C2 = Enc(m1) + Enc(m2) = Enc(m1+m2)。
即,对密文进行加法运算的结果与对应的明文之和的加密结果相同。
2.乘法同态性: 对于明文m1和m2,通过加密算法加密得到的密文C1和C2,满足C1 * C2 = Enc(m1) * Enc(m2) = Enc(m1 * m2)。
即,对密文进行乘法运算的结果与对应的明文乘积的加密结果相同。
3.解密性: 对于密文C,通过解密算法解密得到的结果D(C),满足D(C) = m。
即,密文经过解密操作能够还原为明文。
全同态加密的实现原理主要基于数学上的复杂运算和密码学技术。
其中,主要的数学基础涉及到离散对数问题、整数分解问题等难题。
具体实现全同态加密的算法有DGHV方案、BGV方案等。
下面简要介绍DGHV方案的原理:DGHV方案是一种基于整数分解问题的全同态加密方案。
其主要思想是通过整数分解问题构建一个同态系统,并利用置换和扩展技术来实现同态性。
具体实现步骤如下:1.参数生成:选择合适的安全参数n,并生成两个大素数p和q,使得p q >n^2。
此外,还需生成一些辅助参数,如模数N=p q、生成元g。
2.密钥生成:随机选择一个秘密密钥sk,并根据参数生成公钥pk。
3.加密算法:对于明文m,根据公钥pk和参数生成一个加密密钥ek,并将明文m和加密密钥ek进行加密,得到密文C。
同态加密
![同态加密](https://img.taocdn.com/s3/m/52ac214c69eae009581beca9.png)
同态加密同态加密是基于数学难题的计算复杂性理论的密码学技术。
对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。
一.同态加密的简介2009年9月,Craig Gentry 的论文发表于STOC。
一名IBM研究员解决了一项棘手的数学问题,该问题自从几十年前公钥加密发明以来一直困扰着科学家们。
该项创新为“隐私同态(privacy homomorphism)”或“全同态加密(fully homomorphic encryption)”领域的重要技术突破,使得加密信息,即刻意被打乱的数据仍能够被深入和无限的分析,而不会影响其保密性。
IBM研究员Craig Gentry设计了这一解决方案。
他使用被称为“理想格ideal lattice”的数学对象,使人们可以充分操作加密状态的数据,而这在过去根本无法设想。
经过这一突破,存储他人机密电子数据的电脑销售商就能受用户委托来充分分析数据,不用频繁与用户交互,也不必看到任何隐私数据。
利用Gentry的技术,对加密信息的分析能得到同样细致的分析结果,就好像原始数据完全可见一样。
使用该解决方案能增强云计算业务模式。
计算机销售商可以受托在任意互联网环境中保管他人的机密数据。
以往加密手段的一个弊处在于它通常是将数据保存在盒子内而不让外界使用或者分析数据,除非使用解密密钥将盒子打开,而完全同态加密方案可以让你在数据加密的情况下对数据进行分析和计算。
IBM的工程师们近日突破了一项折腾他们几十年的老大难问题:如何对数据进行加密,这样其他人可以进行排序和搜索,而无需实际揭示它的内容。
如果说,一种加密算法,对于乘法和加法都能找到对应的操作,就称其为全同态加密算法。
换句话说,它的意义就在于,对于允许任意复杂的明文操作,都能构造出相应的加密操作。
但直到目前还没有真正可用的全同态加密算法,因为“在同步加密方案成为实用工具前,还需要进行很多理论上的工作以提高其“效率”。
全同态加密技术实用化研究
![全同态加密技术实用化研究](https://img.taocdn.com/s3/m/af20991703020740be1e650e52ea551810a6c948.png)
摘要摘要云计算推动了互联网深入到我们的生活中,我们已经无法避免的需要将数据交给云进行处理。
但是,目前我们只能以明文的形式将数据提供给服务器进行处理,从而带来严重的安全隐患,也限制了云计算的进一步发展。
如果可以将明文上的运算映射到密文上,就解决了云计算中的数据安全问题。
其实,密码学家在三十年前就已经提出了这个概念,现被称为同态加密算法。
由于这种算法的构建十分困难,最初建立的是部分同态(Somewhat Fully Homomorphic)算法,例如RSA就是一种支持乘法运算的部分同态算法。
全同态(Fully Homomorphic)加密算法是这样一类算法:对明文的运算,与对密文的运算,在经过解密后是相同的,使得我们可以将加密后数据交给云进行处理。
但是在长达三十年的时间内都没有找到可以支持任意运算的全同态加密算法。
2009年Gentry第一次构造出了全同态加密方案,其通过重加密技术实现了部分同态加密方案到全同态加密的方案的转变,从而引起了研究人员的广泛关注。
此后,研究者又相继提出了基于LWE和RLWE的层次化的全同态方案。
但是,由于方案均是人为构造的,涉及了大量的基础理论,使其十分难以被理解,更加难以实现。
目前,研究工作仍然是停留在理论层面上,离实用化还存在较大的距离。
全同态加密技术实用化的关键问题是如何简化目标电路的设计过程,使得理论方案支持的运算更好的与现实场景中的运算匹配。
目前这一问题还没有得到充分的研究。
本文以全同态加密技术的实用化研究为目标,在基础理论研究上首先对基于格的全同态加密方案进行了实现和实验;对基于RLWE的全同态加密方案的关键部分进行了实现设计,解决了理论方案实现过程中的各种难题。
然后,本文以第三方数据处理为业务背景分析得出了全同态加密技术实用化的两个基本问题:参数和电路深度的匹配问题以及运算空间的匹配问题。
最后,本文以基于RLWE的方案为例,通过噪音分析的技术手段对两个基本问题进行了详细的分析,提出了相应的解决方法。
全同态加密自举方案
![全同态加密自举方案](https://img.taocdn.com/s3/m/8e318e6a0166f5335a8102d276a20029bc64637f.png)
全同态加密自举方案引言在现代密码学中,全同态加密(Fully Homomorphic Encryption,FHE)是一种特殊的加密方案,它允许在加密状态下进行计算,而不需要解密。
自举方案是指使用加密的密文对加密方案进行更新或修改。
全同态加密自举方案将全同态加密与自举技术相结合,允许对密文进行操作和计算,从而实现更强大的功能。
本文将介绍全同态加密自举方案的基本原理和应用场景,并分析其中的优缺点。
全同态加密概述全同态加密是一种特殊的加密技术,它允许对密文进行特定的计算操作,而不需要解密密文。
这意味着在不暴露明文内容的情况下,可以对密文进行数学运算,得到计算结果。
全同态加密可以实现加法和乘法操作,有些方案还支持更复杂的计算,如逻辑门操作。
全同态加密方案通常包括三个算法: - 密钥生成算法(Key Generation):生成公钥和私钥,用于加密和解密操作。
- 加密算法(Encryption):将明文转换为密文。
- 解密算法(Decryption):将密文转换回明文。
全同态加密的核心挑战是在保持加密状态下进行计算,并在解密时获得正确的结果。
全同态加密自举方案全同态加密自举方案是一种特殊的应用,它允许使用加密的密文对全同态加密方案进行更新或修改。
自举方案的关键思想是使用全同态加密的密文进行计算和加密操作,以实现更复杂的功能。
一种常见的全同态加密自举方案是基于评估电路(Circuit Evaluation)的方法。
该方法将计算任务表示为一个电路,然后使用全同态加密方案对电路进行计算。
通过将输入数据和电路表示为加密的密文,可以在不暴露明文的情况下进行计算,并获得加密的结果。
全同态加密自举方案的一个重要应用是安全外包计算(Secure Outsourced Computation)。
通过将计算任务外包给不可信的云服务器,使用全同态加密自举方案可以保护用户的隐私和数据安全。
全同态加密自举方案的优缺点优点1.隐私保护:使用全同态加密自举方案可以在不暴露明文的情况下进行计算,保护数据隐私和安全。
基于NTRU的全同态加密方案
![基于NTRU的全同态加密方案](https://img.taocdn.com/s3/m/10ed5ca768dc5022aaea998fcc22bcd126ff427f.png)
基于NTRU的全同态加密方案李子臣;张卷美;杨亚涛;张峰娟【摘要】本文提出一种基于公钥密码体制(Number Theory ResearchUnit,NTRU)选择明文攻击(Chosen Plaintext Attack,CPA)可证明安全的全同态加密方案.首先,对NTRU的密钥生成算法进行改进,通过格上的高斯抽象算法生成密钥对,避免了有效的格攻击,同时,没有改变密钥的分布.然后,基于改进的NTRU加密算法,利用Flattening技术,构造了一个全同态加密体制,并在标准模型下证明方案是选择明文攻击不可区分性IND-CPA安全的.%A fully homomorphic encrgption scheme was presented based on number theory research unit (NTRU),which is provable security about indistinguishable chosen plaintext attack (IND-CPA).Firstly,to avoid the effective lattice attacks,we modified the key generation algorithm of NTRU by Gaussian abstraction algorithm of lattices,and the distribution of the key is not changed.Then,we proposed a new homomorphic encrypfion scheme based on the improved NTRU encryption algorithm by using the Flattening technique.Its IND-CPA security was proved strictly under the standard model.【期刊名称】《电子学报》【年(卷),期】2018(046)004【总页数】7页(P938-944)【关键词】全同态加密;公钥密码体制NTRU;高斯抽样算法;可证明安全【作者】李子臣;张卷美;杨亚涛;张峰娟【作者单位】北京印刷学院,北京102600;北京电子科技学院,北京100070;北京电子科技学院,北京100070;西安电子科技大学通信工程学院,陕西西安710071;北京电子科技学院,北京100070;西安电子科技大学通信工程学院,陕西西安710071【正文语种】中文【中图分类】TP309.71 引言全同态加密允许对密文进行任意的运算,运算后的结果解密后等价于对明文进行相应计算的结果.随着互联网技术的日趋成熟和应用的广泛普及,用户的个人信息的隐私性也越来越多地得到重视.而全同态加密正是迎合了这一需求,全同态加密在云计算、密文检索、安全多方计算等方面都有着很重要的应用,因此,全同态加密成为近些年密码学家们的研究热点.早在1978年,Rivest等提出了全同态加密的概念[1].自从全同态加密的概念提出之后,构造全同态加密体制一直是一个公开的难题.密码学家们提出了很多同态加密体制,但它们都只具有单一的同态性,例如,ElGamal加密体制[2]、Goldwasser-Micali加密体制[3]、Paillier加密体制[4]都具有加法同态特性,RSA加密体制[5]具有乘法同态特性.直到2009年,Gentry提出了第一个全同态加密体制[6],开启了全同态密码研究的先河.Gentry的体制是基于理想格,是具有开创性的奠基之作,但是,体制的效率较低,同时实现还较困难.所以,在第一个全同态加密方案提出之后,许多新的全同态加密方案的构造致力于向实际实现上靠近,并且基于更少的困难性假设.例如,基于整数的全同态加密方案[7],基于LWE(Learning With Errors)困难问题的全同态方案[8]以及它的一系列改进方案[9,10],等.在Brakerski,Gentry等提出的基于LWE的BGV方案[11]中,描述了一种新的约减密文噪音的方法“模交换”,使得全同态加密方案不再使用Gentry原始框架中的Bootstrapping方法,而Bootstrapping方法正是Gentry的全同态加密方案效率低下的症结所在.2013年,IBM研究中心发布了一个开源代码库HElib[12],该库实现的是BGV方案.文献[13]提出一种基于同态加密的高效多方保密计算.文献[14]提出一种基于身份的同态加密方案,方案的安全性基于RLWE困难问题.文献[15]提出的全同态加密方案,降低了密文的扩张率. NTRU公钥加密体制是后量子加密算法中的典型代表[16],是一个基于多项式环的密码体制.NTRU的安全性可以规约为格上的“近似最近向量问题”,可以抵抗已知的量子攻击.目前为止,并没有任何理由说明NTRU加密体制是不安全的[17].NTRU加密体制整个过程只包括小整数的加法、乘法以及模运算等线性运算,因此,算法的执行速度较快,被认为是公钥加密体制中最快的算法,也是比较容易实现的算法.最近,Lopez等提出基于NTRU的全同态加密方案[18],但在密钥生成过程存在格攻击的安全问题,方案的安全性没有严格证明.本文在此基础上,在密钥生成部分,通过格上的高斯抽样算法生成密钥对,有效避免格攻击,并且不改变密钥的分布.在加密算法部分,把明文空间由原来的2扩展至p.利用Flattening技术[19],构造一个全同态加密体制,在标准模型下严格地证明了该体制满足IND-CPA安全.2 相关定义及符号表示2.1 相关定义定义1 格上的高斯函数对于任意的s>0,定义n上的高斯函数,以c为中心,参数为s:∀(1)当下标s和c缺省时,s和c分别看做是1和0.对于任意的c∈n,实数s>0,n维格Λ,Λ的秩为k≤n,定义Λ上的离散高斯分布如下:∀(2)定义2 整数上的高斯抽样算法整数可以看做一维格,令在输入(s,c)和安全参数n的基础上,随机均匀地选择一个整数x←Z=∩[c-s·t,c+s·t],那么,称以概率ρs(x-c)输出x.定义3[20] 格上的高斯抽样算法算法输入为n维基B∈n×k,基的秩为k,一个足够大的高斯参数s,一个中心c∈n,span(b1,…,bk-1)表示由b1,…,bk-1所张成的空间,输出为一个从DL(B),s,c中的一个样本.过程如下:(1)如果k=0,返回0.(2)计算即bk与span(b1,…,bk-1)正交的非零向量.(3)计算t,即c在span(B)上的映射,计算标量值(4)使用定义2中的针对的高斯抽样算法,选择一个整数(5)输出zbk+SampleD(B′,s,t-zbk),其中,B′=[b1,…,bk-1].详细内容可参考文献[20].定义4[21] RLWE对于安全参数λ,令f(x)=xd+1,其中,d是2的幂次.令q≥2,并且是一个整数.令R=[x]/(f(x)),Rq=R/qR,χ=χ(λ)是R上的一个分布.RLWEd,q,χ问题是指区分以下两个分布:(1)从中均匀取样(ai,bi).(2)首先,均匀地从Rq中取样s,即s←Rq,然后均匀取样ai←q,从χ中取样ei,令bi=ai·s+ei.RLWEd,q,χ假设是指RLWEd,q,χ问题是不可行的.定义5 B-界多项式一个多项式e∈R是B-界的,如果满足定义6 B-界分布R上的一组分布{χn}n∈N是B-界的,如果从χn中选取的所有多项式e满足也就是说,B-界分布产生B-界多项式.定义7 IND-CPA安全定义一个敌手与挑战者之间的游戏,分为以下几个阶段.初始化阶段:挑战者运行加密体制的密钥生成算法,将生成的公钥交给敌手.预言机访问阶段:敌手选择明文,询问加密预言机,在得到密文应答之后,敌手可以多次分阶段提交选择的明文,并得到相对应于不同明文的密文.挑战阶段:敌手选取两个明文m0和m1,把这两个明文发送给挑战者,挑战者选取b∈{0,1},并把挑战密文c=Encpk(mb)发送给敌手.猜测阶段:敌手试图猜测挑战密文所对应的b′,当b′=b时,认为敌手在攻击游戏中获胜.如果对于任意一个多项式时间的敌手A,在游戏中获胜的概率AdvIND-CPA(A)满足(3)其中,negl是可以忽略,λ是方案的安全参数.则称该体制是IND—CPA安全的.2.2 参数的表示及选取对于安全参数λ,方案的参数选取如下:整数n=n(λ).p=p(λ),q=q(λ).n次多项式φ(x)=φλ(x).环R=q[x]/〈φ(x)〉上的一个B(λ)-界的误差分布χ=χ(λ).对于R中的元素a(x)=a0+a1x+…+an-1xn-1,它的l∞范数表示为多项式a(x)的系数ai∈{-⎣q/2」,…,⎣q/2」},符号⎣」表示向下取整.3 NTRU加密体制3.1 NTRU加密体制[16]密钥生成KeyGen:在多项式环R=Z[x]/(xN-1)中,随机选取两个多项式f,g,次数均为N-1,系数为整数.p,q是整数,也不需要是素数,满足gcd(p,q)=1,q比p大.多项式f满足模p和模q都有逆,分别记为Fp,Fq,即Fp*f ≡ 1(modp)(4)Fq*f ≡ 1(modq)(5)计算h=Fq*g(modq),上述式子中的modp,modq是指多项式的系数分别是区间和中的整数.那么,公钥pk=h,私钥sk=(f,Fp).加密Enc:m表示为多项式,次数为N-1,系数为整数.随机选取一个多项式φ,次数为N-1,系数为整数.c=pφ*h+m(modq)(6)解密Dec:首先计算a=f*c(modq),其中a的系数属于集合然后计算m=Fp*a(modp).3.2 改进的NTRU加密体制密钥生成KeyGen(1λ):λ为安全参数.选择一个足够大的标准差σ,使得f可以表示成如下形式:f=p·f ′+1,其中,f ′为从离散高斯分布Dn,σ中取样一个多项式,即f ≡ 1(modp),从而使得解密过程更加高效.输入:其中,是Rq中可逆元素的集合,Rq=R/qR=Zq[x]/Φ.输出:一对密钥具体生成过程如下:(1)从离散高斯分布Dn,σ中取样f ′,令f=p·f ′+1,如果fmodq∉重新取样.当维数n取得很大的整数时,f ′是项数为n的多项式,f也是项数为n的多项式,Rq中模q可逆的多项式的概率很大,因此,满足条件的f的个数很多,保证了f 可以生成,并且是安全的.(2)从离散高斯分布Dn,σ中取样g,如果gmodq∉重新取样.(3)返回私钥sk=f,公钥Enc(pk,m):明文空间为p,所有的计算都是在环R=q[x]/〈φ(x)〉上进行的,即模q和模φ(x)运算.输出密文c=hs+pe+m,其中,s和e都是从χ中抽样选取的多项式,且c∈R. Dec(sk,c):m=fc(modp)(7)下面进行正确性分析:=f(hs+pe+m)=pgs+fpe+fm=p(gs+fe)+fm=fm(modp)(8)由密钥生成算法可知:f ≡ 1(modp),正确性得证.4 全同态加密体制首先介绍文献[19]中的几个函数和Flattening技术.一个向量a=(a0,…,ak-1)分解成它的比特表示如下:BitDecomp(a)=(a0,0,…,a0,l-1,…,ak-1,0,…,ak-1,l-1)反之,我们也可从比特表示中恢复出这个向量,如下:BitDecomp-1(a)=(∑2ja0,j,…,∑2jak-1,j)(9)Flatten(a)=BitDecomp(BitDecomp-1(a))(10)然后,基于改进后的NTRU加密体制构造全同态加密方案,方案具体如下.密钥生成算法KeyGen:与改进的NTRU加密方案的密钥生成算法相同.即,通过格上的高斯抽样算法得到公私钥对,这样可以避免有效的格攻击,同时不会改变密钥的分布空间[22].加密算法Enc:首先,选取一个明文m∈p,然后利用改进后的NTRU加密体制的加密算法对0进行加密,得到一个长度为l=logq的密文向量c,如下:c=(cl-1,cl-2,…,c0)其中,ci是由改进的NTRU的加密体制对0加密得到的密文.即,ci=hsi+pei. 利用BitDecomp把c转化为一个l×l矩阵C,如下:(12)其中,是一个二进制多项式.然后计算C′=Flatten(Il·m+C),其中,Il为l×l单位矩阵.C′即为消息m对应的密文矩阵.解密算法Dec:取矩阵C′的最后一行,并应用BitDecomp-1,如下:(13)m=⎣C0 f」=modp(14)密文计算算法Eval:(15)(16)5 方案分析5.1 正确性分析由加密算法可知:C=BitDecomp(cT)(17)其中,c(i,j)表示二进制多项式中第j项的系数. Il·m+CC′=Flatten(Il·m+C)(18)Flatten函数是把上面的矩阵转化为0/1矩阵. 取矩阵C′的最后一行,计算=BitDecomp-1(c(0,l-1),c(0,l-2),…,c(0,0)+m)(19)∴ C0=m+c0=m+hs0+pe0(20)C0 f=(m+hs0+pe0)f=mf+pgf-1s0 f+pe0 f =mf+pgs0+pe0f(21)⎣C0 f」modp =(mf+pgs0+pe0 f)modp =mfmodp(22)∵ f≡1(modp)∴ ⎣C0 f」modp=m(23)证毕.5.2 同态性分析加法同态:是把上面的矩阵转化为0/1矩阵.下面对按照同态解密算法进行解密.取上述矩阵的最后一行,并应用BitDecomp-1,如下:BitDecomp-1(c1(0,l-1)+c2(0,l-1),…,c1(0,0)+m1+c2(0,0)+m2)=m1+m2+c1(0)+c2(0)=C3其中,c1(0)=hs1(0)+pe1(0),c2(0)=hs2(0)+pe2(0). ⎣C3f」modp=(m1+m2+hs1(0)+pe1(0)+hs2(0)+pe2(0))fmodp =(m1+m2+pgf-1s1(0)+pe1(0)+pgf-1s2(0)+pe2(0))fmodp=m1+m2加法同态得证.乘法同态:(24)把上述矩阵转化为0/1矩阵.下面对按照同态解密算法进行解密.上述乘法所得矩阵的最后一行的元素为:c1(0,l-1)·[c2(l-1,l-1)+m2]+c1(0,l-2)·c2(l-2,l-1)+ …+[c1(0,0)+m1]·c2(0,l-1)c1(0,l-1)·c2(l-1,l-2)+c1(0,l-2)·[c2(l-2,l-2)+m2]+ …+[c1(0,0)+m1]·c2(0,l-2)⋮c1(0,l-1)·c2(l-1,0)+c1(0,l-2)·c2(l-2,0)+…+[c1(0,0)+m1]·[c2(0,0)+m2](25)对最后一行的元素应用BitDecomp-1,结果如下:2l-1c1(0,l-1)·c2(l-1,l-1)+2l-1c1(0,l-2)·c2(l-2,l-1)+ …+2l-1c1(0,0)·c2(0,l-1)+2l-2c1(0,l-1)·c2(l-1,l-2) +2l-2c1(0,l-2)·c2(l-2,l-2)+…+2l-2c1(0,0)·c2(0,l-2) +…+c1(0,l-1)·c2(l-1,0)+c1(0,l-2)·c2(l-2,0) +…+c1(0,0)·c2(0,0)+2l-1c1(0,l-1)·m2+2l-1c2(0,l-1)·m1+2l-2c1(0,l-2)·m2+2l-2c2(0,l-2)·m1+…+c1(0,0)·m2+c2(0,0)·m1+m1·m2上式=c1(0,l-1)·c2(l-1)+c1(0,l-2)·c2(l-2)+…+c1(0,0)·c2(0)+c1(0)·m2+c2(0)·m1+m1·m2=C3上式中的c1(i)和c2(i)均为0的加密,其中i=0,…,l-1.即c1(i)=hs1(i)+pe1(i),c2(i)=hs2(i)+pe2(i).⎣C3 f」modp=[c1(0,l-1)·c2(l-1)+c1(0,l-2)·c2(l-2)+…+c1(0,0)·c2(0)+c1(0)·m2+c2(0)·m1+m1·m2]fmodp(26)将c1(i)=hs1(i)+pe1(i),c2(i)=hs2(i)+pe2(i),h=pgf-1,f ≡ 1(modp)带入式(26),得:⎣C3 f」modp=m1·m2(27)乘法同态性得证.5.3 安全性分析定理在RLWEd,q,χ的困难假设下,本文的全同态加密体制是IND-CPA安全的. 证明定理证明采用基于游戏的Game-Hopping方法,游戏中包含一个多项式时间的敌手A,用AdvIND-CPA(A)表示敌手A在游戏中获胜的概率.Game0:标准的IND-CPA游戏,即,挑战者调用全同态加密体制的KeyGen算法,将生成的公钥pk=h交给敌手A.A具备访问加密预言机的能力.挑战者输出挑战密文c=Encpk(mb),敌手A尝试区分c所对应的明文mb,b∈{0,1}.Game0中敌手A的优势为(28)Game1:Game1与Game0的区别在于公钥pk的生成方式.Game1中的公钥pk 不通过私钥sk=f和高斯抽样算法得到,而是直接从中随机均匀选取.文献[20]中指出,根据离散高斯分布输出的样本与上的均匀分布是概率不可区分的.因此,敌手A无法区分Game0与Game1,有|AdvGame1(A)-AdvIND-CPA(A)|=0(29)Game2:Game2与Game1的区别在于Game2中的加密算法不再按照全同态加密体制中的改进后的NTRU加密算法进行加密,而是直接从{0,1}l×l中随机均匀选取.由文献[19]可知,BitDecomp,BitDecomp-1,Flatten操作并不会对方案的安全性产生影响.根据文献[23]中NTRU加密体制到RLWE问题的规约,可知Game2与Game1中,敌手A的优势差在于解决RLWE问题的优势|AdvGame2(A)-AdvGame1(A)|=RLWEd,q,χAdv(A)(30)Game3:在Game3中,挑战者给出的挑战密文c不再由加密算法生成,而是随机均匀地从{0,1}l×l中随机均匀选取.Game3的安全性分析与Game2相同,有|AdvGame3(A)-AdvGame2(A)|=RLWEd,q,χAdv(A)(31)至此,在Game3中,挑战者给出的公钥pk,挑战密文c都是随机的,与明文mb,b∈{0,1}没有关系.因此,敌手A在Game3中的优势为0,即AdvGame3(A)=0(32)综上,由式(28)~(32)可得AdvIND-CPA(A)=RLWEd,q,χAdv(A)+RLWEd,q,χAdv(A)因此,在RLWEd,q,χ的困难假设下,AdvIND-CPA(A)可忽略,本文的全同态加密体制是IND-CPA安全的.6 小结NTRU加密体制是后量子加密算法中最受青睐的算法,以其高速的加解密速度得到了十分广泛的应用,而且,目前并没有发现NTRU算法不能抵抗的量子攻击.但是,它的可证明安全问题一直是一个悬而未决的问题.全同态加密是目前密码学研究的热点问题,在云计算、密文检索、安全多方计算等方面都有广泛应用.本文基于原始的NTRU加密体制,提出一种新的NTRU加密体制.基于改进后的加密体制,利用Flattening技术,提出一种基于NTRU加密体制的全同态加密算法,在标准模型下证明了全同态加密方案选择明文攻击的不可区分性IND-CPA安全.参考文献【相关文献】[1]RIVEST R L,ADLEMAN L,DERTOUZOS M L.On data banks and privacy homomorphisms[A].Foundations of Secure Computation[C].USA:AcademiaPress,1978.169-179.[2]GAMAL T E.A public key cryptosystem and a signature scheme based on discrete logarithms[A].Proceedings of CRYPTO 84 on Advances in Cryptology[C].NewYork:Springer-Verlag,1985.10-18.[3]GOLDWASSER S,MICALI S.Probabilistic encryption & how to play mental poker keeping secret all partial information[A].Proceedings of Fourteenth ACM Symposium on Theory of Computing[C].New York:ACM,1982.365-377.[4]PAILLIER P.Public-key cryptosystems based on composite degree residuosityclasses[J].Lecture Notes in Computer Science,1999,547(1):223-238.[5]RIVEST R,SHAMIR A,ADLEMAN L M.A method for obtaining digital signatures and public-key cryptosystems[J].Communications of the ACM,1978,26(2):96-99.[6]GENTRY C.A Fully Homomorphic Encryption Scheme[D].USA:Stanford University,2009.[7]DIJK M V,GENTRY C,HALEVI S,et al.Fully homomorphic encryption over theintegers[J].Lecture Notes in Computer Science,2009,(4):24-43.[8]BRAKERSKI Z,VAIKUNTANATHAN V.Efficient fully homomorphic encryption from (standard) LWE[A].Proceedings of Foundations of Computer Science[C].USA:IEEE,2010.97-106.[9]MANDAL A,TIBOUCHI M.Fully homomorphic encryption over the integers with shorter public keys[A].Proceedings of Conference on Advances in Cryptology[C].NewYork:Springer-Verlag,2011.487-504.[10]CORON J,NACCACHE D,TIBOUCHI M.Public key compression and modulus switching for fully homomorphic encryption over the integers[A].Proceedings of International Conference on Theory and Applications of Cryptographic Techniques[C].NewYork:Springer-Verlag,2012.446-464.[11]YAGISAWA M.Fully homomorphic encryption without bootstrapping[J].ACM Transactions on Computation Theory,2015,6(3):1-36.[12]HALEVI S,SHOUP V.HElib,Homomorphic EncryptionLibrary[OL].http://shaih.github.io/HElib/,2012.[13]李顺东,王道顺.基于同态加密的高效多方保密计算[J].电子学报,2013,41(4):798-803.LI Shun-dong,WANG Dao-shun.Efficient secure multiparty computation based on homomorphic encryption[J].Acta Electronica Sinica,2013,41(4):798-803.(in Chinese) [14]辛丹,顾纯祥,郑永辉,光焱,康元基.利用RLWE构造基于身份的全同态加密体制[J].电子学报,2016,44(12):442887-2893.XIN Dan,GU Chun-xiang,ZHENG Yong-hui,GUANG Yan,KANG Yuan-ji.Identity-based fully homomorphic encryption from ring learning with errors problem[J].Acta Electronica Sinica,2016,44(12):2887-2893.(in Chinese)[15]CHEN H,YUPU H,LIAN Z.Double batch for RLWE-based leveled fully homomorphic encryption[J].Chinese Journal of Electronics,2015,24(3):661-666.[16]HOFFSTEIN J,PIPHER J,SILVERMAN J H.NTRU:a ring-based public key cryptosystem[A].Proceedings of the 3rd International Symposium on Algorithmic Number Theory[C].Berlin:Springer,1998.267-288.[17]杨铭,曹云飞.NTRU的应用前景分析及展望[J].信息安全与通信保密,2007,(8):36-38.YANG Ming,CAO Yun-fei.Application prospect and analysis of NTRU[J].Information Security and Communications Privacy,2007,(8):36-38.(in Chinese)[18]TROMER E,VAIKUNTANATHAN V.On-the-fly multiparty computation on the cloud via multikey fully homomorphic encryption[A].Proceedings of Forty-Fourth ACM Symposiumon Theory of Computing[C].New York,ACM,2012.1219-1234.[19]GENTRY C,SAHAI A,WATERS B.Homomorphic Encryption from Learning with Errors:Conceptually-Simpler,Asymptotically-Faster,Attribute-Based[M].Berlin:Springer,2013.75-92.[20]GENTRY C,PEIKERT C,VAIKUNTANATHAN V.Trapdoors for hard lattices and new cryptographic constructions[A].Proceedings of DBLP[C].Germany:DBLP,2008.197-206. [21]LYUBASHEVSHY V,PEIKERT C,REGEV O.On ideal lattice and learning with errors over rings[A].Proceedings of Eurocrypt 2010[C].New York:Springer-Verlag,2010.1-23. [22]张建航,贺健,胡予濮.基于R-LWE问题的新型NTRU加密方案[J].电子科技,2012,25(5):76-78. ZHANG Jian-hang,HE Jian,HU Yu-pu.A novel NTRU encryption scheme based on R-LWE problem[J].Electronic Science and Technology,2012,25(5):76-78.(in Chinese)[23]STEINFELD R.Making NTRU as secure as worst-case problems over ideallattices[A].Proceedings of International Conference on Theory and Applications of Cryptographic Techniques:Advances in Cryptology[C].New York:Springer-Verlag,2011.27-47.。
Bv11b全同态加密方案
![Bv11b全同态加密方案](https://img.taocdn.com/s3/m/2ce329d75fbfc77da269b11b.png)
基于LWE(格中带错学习问题)的全同态加密方案一、LWE问题1、格。
格是R n中m个(m≤n)线性无关的向量b1,b2,⋯b m的所有整系数线性组合,记为:L(B)={b1x1+b2x2+⋯+b m x m}。
其中b1,b2,⋯b m称为格B的基,m称为格的维数。
且当m=n时称其为满秩格。
2、Lwe问题。
由Regev于2005年提出。
主要有两种描述方式:I输入矩阵A∈Z q m×n和向量v,满足v=AS+e。
其中e为扰动变量,服从Z q m上的某种公开分布,S∈Z q n,且A与S均依均匀分布选择。
判定版本的LWE问题旨在区分由LWE实例构造的v和在Z q m中按均匀分布随机选择的v。
搜索版本的LWE问题要求恢复S。
II(本文所用形式)对∀S∈Z q n,∀a i∈Z q n,e i∈Z q(e i≪q且服从Z q上的某种分布χ),u i服从Z q上的均匀分布。
记b i=<a i,S>+e i,试区分b i与u i。
注:⑴在第二种描述形式中,若记A=(a1,a2,⋯,a m)∈Z q m×n,e= (e1,e2,⋯,e m)T∈Z q m,U=(u1,u,⋯,u m)T∈Z q m,则可变为第一种形式。
⑵LWE问题困难性。
已经证明,即使使用某些量子算法,目前最好的计算复杂度为近似指数级。
二、重线性化技术(Relinearization)1、本文基本加密方案。
加密:C=(a,b=<a,S>+2e+m)∈Z q n×Z q。
其中m∈{0,1}为明文,S∈Z q n是解密私钥,a 为随机向量,且a∈Z q n,e≪q为噪音,C为密文。
q为大奇数,不需要为素数。
解密:(b−<a,S>)(modq)(mod2)。
注:⑴该方案显然是符合加法同态的,但据有人分析,只支持一次乘法同态操作,因为乘法操作使得密文膨胀很巨大。
⑵为方便分析,考察以下函数:nf a,b(X)=b−<a,x>(modq)=b−∑a i X ii=0这里x=(x1,x2,⋯,x n)。
多密钥全同态加密方案及其在回归算法中的应用
![多密钥全同态加密方案及其在回归算法中的应用](https://img.taocdn.com/s3/m/a37bd405b207e87101f69e3143323968011cf4ca.png)
多密钥全同态加密方案及其在回归算法中的应用多密钥全同态加密方案及其在回归算法中的应用密钥全同态加密是一种用于保护数据隐私的技术,它允许在加密状态下对数据进行计算,而不需要解密。
通过多密钥全同态加密方案,可以进一步提高数据的安全性和隐私性。
本文将介绍多密钥全同态加密方案的基本原理和算法,并探讨其在回归算法中的应用。
一、多密钥全同态加密方案的基本原理多密钥全同态加密方案是在传统的全同态加密方案基础上发展而来的,它允许多个密钥拥有者同时对数据进行计算。
其基本原理是通过混合多个密钥的属性和功能,生成一个加密文本,然后可以使用任何一个密钥进行计算,得到的结果仍然是在加密状态下。
当计算完成后,密文可以被解密并返回给相应的密钥拥有者。
这种方案的优势在于,不需要解密数据就能进行计算,能够更好地保护数据的隐私。
二、多密钥全同态加密方案的算法多密钥全同态加密方案的算法通常由两个部分组成:密钥生成算法和加密算法。
密钥生成算法用于生成多个不同的密钥,每个密钥都有自己的属性和功能,如读取数据、计算等。
加密算法用于将原始数据转换成加密文本,并将多个密钥的属性和功能混合在一起。
在密钥生成算法中,首先需要确定每个密钥的属性和功能,如读取数据、计算等。
然后,根据这些属性和功能,生成相应的密钥,并将其存储在密钥库中。
在生成密钥的过程中,需要注意设置适当的访问控制策略,确保只有授权的密钥拥有者才能访问相应的密钥。
在加密算法中,首先需要将原始数据进行加密,生成加密文本。
加密的过程是通过将原始数据与密钥的属性和功能进行混合计算得到的。
在计算过程中,需要使用密钥拥有者授权的密钥来完成相应的计算。
计算完成后,可以得到加密文本,并将其存储在安全的存储设备中。
三、多密钥全同态加密方案在回归算法中的应用回归算法是统计学中常用的一种分析方法,在数据挖掘、机器学习等领域广泛应用。
然而,回归算法通常需要处理大量的敏感数据,如个人隐私数据、商业机密数据等。
全同态密码算法
![全同态密码算法](https://img.taocdn.com/s3/m/34f5485d5e0e7cd184254b35eefdc8d377ee147f.png)
全同态密码算法全同态密码算法是一种重要的密码学技术,可以对加密的数据进行完全保密的同时进行计算,并生成加密结果。
在云计算和数据隐私保护等领域,全同态密码算法被广泛应用。
全同态密码算法的特点是可以在不解密数据的情况下进行计算操作,这意味着用户可以将加密数据发送给云服务器进行计算,而不必担心数据的泄露。
这种算法的应用可以实现数据所有权的保护、数据共享和隐私保护等需求。
全同态密码算法的核心是同态加密技术。
同态加密是一种特殊的加密方式,可以在密文上进行运算,然后解密得到与明文运算结果相对应的结果。
具体而言,全同态密码算法可以分为完全同态加密和部分同态加密两种类型。
完全同态加密算法允许对加密的数据进行任意的加法和乘法运算,并可以通过解密操作得到运算结果,而不需要解密原始数据。
这种算法的实现相对复杂,但能够满足更多的数据处理需求。
部分同态加密算法则是对部分运算进行了加密保护。
一般情况下,部分同态加密算法可以支持一种基本的运算,如加法或乘法,但不能同时支持两种运算。
这种算法的实现相对简单,但在某些复杂计算场景下可能无法满足需求。
全同态密码算法的应用非常广泛。
在云计算中,用户可以将加密的数据上传至云服务器,云服务器使用全同态密码算法进行计算,然后将结果返回给用户解密。
这样一来,用户的数据得到了保护,同时享受到了云计算的高效便捷。
除了云计算,全同态密码算法还可以应用于数据隐私保护、安全多方计算等场景。
在数据隐私保护中,全同态密码算法可以对敏感数据进行保护,防止未授权访问和信息泄露。
在安全多方计算中,多个参与方可以在不暴露自己私密数据的情况下进行联合计算。
然而,全同态密码算法也存在一些挑战和限制。
首先,全同态密码算法的计算效率较低,对计算资源要求较高。
其次,完全同态加密算法的实现复杂度较高,需要很高的算法设计和数学基础。
此外,由于全同态密码算法的安全性较强,对攻击的容忍度也较高,因此可能会引发新的安全漏洞。
为了解决这些问题,研究人员一直在努力改进全同态密码算法。
全同态加密算法
![全同态加密算法](https://img.taocdn.com/s3/m/8b5240344a35eefdc8d376eeaeaad1f3469311c4.png)
全同态加密算法
摘要
本⽂主要讲述完全同态加密算法。
1. 是什么?
同态加密是⼀种对称加密算法,由Craig Gentry发明提出。
其同态加密⽅案包括4个算法,即密钥⽣成算法、加密算法、解密算法和额外的评估算法。
全同态加密包括两种基本的同态类型,即乘法同态和加法同态,加密算法分别对乘法和加法具备同态特性。
2. 算法的原理
全同态加密的原理:
如果E为针对function_a的全同态函数,即
则存在可构造的函数操作function_b,使得
其中,加密操作为E,明⽂为m,加密得e,如果对于任意复杂的明⽂操作function_a,都能针对E构造出相应的function_b。
那么,E就是⼀个针对function_a的同态加密算法,则称E为针对function_a的全同态加密算法。
全同态加密的⽬的在于找到⼀种能在加密的数据上进⾏任意数量的加法和乘法运算的加密算法,使得对加密数据进⾏某种操作所得到的结果恰好等于对加密前的数据进⾏预期操作再加密后得到的密⽂。
3. 算法的应⽤
全同态加密保证了数据处理⽅⽆法知道所处理的数据的明⽂信息,可以直接对数据的密⽂进⾏相应的处理,这样以来,⽤户的信息资料可以得到相应的安全保障。
例如,银⾏有⼀些交易数据需要进⾏分析,银⾏可以把交易数据加密后交给数据处理中⼼来进⾏处理分析。
数据处理中⼼拿到加密后的数据进⾏分析,得出银⾏想要得到的分析结果,然后把结果返回。
在这个过程中,数据处理中⼼得到的仅仅是加密后的数据,所以他的处理也是在加密数据的基础上进⾏处理,⽽对于数据的明⽂,数据处理中⼼并不知晓。
另外,完全同台加密算法也在云计算领域有相当⼴泛的应⽤。
全同态加密方案的研究
![全同态加密方案的研究](https://img.taocdn.com/s3/m/e2bdcc2a571252d380eb6294dd88d0d233d43cc5.png)
全同态加密方案的研究全同态加密方案的研究摘要:全同态加密是一种重要的密码学技术,能够对密文进行计算和操作,同时不需要解密。
本文对全同态加密的原理、实现方式以及应用进行了研究和探讨,介绍了几种常见的全同态加密方案,并分析了其优缺点和应用场景。
1. 引言全同态加密(Fully Homomorphic Encryption, FHE)是近年来密码学领域的突破性研究,是对传统加密算法的进一步扩展和发展。
在传统加密中,只能对密文进行传递和存储,对密文进行计算和操作的需求无法实现。
而全同态加密则能够满足对密文进行计算和操作的需求,实现对加密数据的高度保护和隐私安全。
2. 全同态加密的原理全同态加密的原理是通过混淆技术和特殊的加密算法,将明文加密为密文,并设计相应的解密算法。
与传统加密算法不同的是,全同态加密算法能够对密文进行计算和操作,而无需解密。
这是通过将计算操作转化为在密文上的操作实现的,使得加密数据在计算的过程中仍然保持加密状态。
3. 全同态加密的实现方式目前,全同态加密有多种实现方式,其中最为代表性的是基于整数和基于椭圆曲线的方案。
基于整数的方案利用整数的运算特性进行加密和计算,适用于简单的计算任务。
基于椭圆曲线的方案利用椭圆曲线的运算特性进行加密和计算,适用于复杂的计算任务。
此外,还有基于多线性映射和格的全同态加密方案,适用于不同场景和需求。
4. 几种常见的全同态加密方案4.1 基于整数的全同态加密方案基于整数的全同态加密方案主要有RSA全同态加密和Paillier全同态加密。
RSA全同态加密利用RSA算法的特性实现对密文的计算和操作。
而Paillier全同态加密则利用Paillier算法实现同样的功能。
这两种方案在实现方式和性能上有差异,可根据实际需求进行选择。
4.2 基于椭圆曲线的全同态加密方案基于椭圆曲线的全同态加密方案主要有ElGamal全同态加密和BGW全同态加密。
ElGamal全同态加密利用椭圆曲线的离散对数的困难性实现全同态加密。
全同态加密算法 python代码
![全同态加密算法 python代码](https://img.taocdn.com/s3/m/e90e865e7ed5360cba1aa8114431b90d6c85898e.png)
全同态加密算法 python代码全同态加密算法是一种能够在不暴露明文的情况下进行计算的加密算法,它具有广泛的应用价值,例如在云计算、数据隐私保护等领域。
本文将介绍如何使用Python实现全同态加密算法。
首先,我们需要安装pyfhel库。
Pyfhel是一个Python库,用于实现全同态加密算法。
可以使用以下命令在终端中安装pyfhel: ```pip install pyfhel```接下来,我们将使用pyfhel库来实现全同态加密算法的示例代码:```pythonfrom Pyfhel import Pyfhel# 初始化Pyfhel对象HE = Pyfhel()# 生成公钥和私钥HE.keyGen()# 明文plaintext1 = 10plaintext2 = 5# 加密ciphertext1 = HE.encryptInt(plaintext1)ciphertext2 = HE.encryptInt(plaintext2)# 加法sum_cipher = ciphertext1 + ciphertext2# 解密sum_plaintext = HE.decryptInt(sum_cipher)# 输出结果print('明文1: ', plaintext1)print('明文2: ', plaintext2)print('加密1: ', ciphertext1)print('加密2: ', ciphertext2)print('加法结果: ', sum_plaintext)```在上述代码中,我们首先创建了一个Pyfhel对象,然后使用`keyGen()`方法生成了公钥和私钥。
接下来,我们选择两个整数作为明文,并使用`encryptInt()`方法将它们加密成密文。
然后,我们将这两个密文相加以得到加法结果,并使用`decryptInt()`方法将其解密为明文。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10
Bar-Ilan University Dept. of Computer Science
Can keep adding and multiplying until the “noise term” grows larger than p/2
◦ degree ~ security parameter
Secure Computation and Efficiency Bar-Ilan University, Israel 2011
4
File is encrypted bit by bit, E(F1) … E(Ft) Word has s bits w1w2…ws For i=1,2,…,t-s+1, server computes the bit s ci = (1 w j Fi j 1 ) mod 2
Bar-Ilan University Dept. of Computer Science
◦ Say, symmetric bit-by-bit encryption ◦ Semantically secure, E(0)E(1)
◦ f is a binary polynomial in t variables, degreen
5
Secure Computation and Efficiency Bar-Ilan University, Israel 2011
Want an encryption scheme (Gen, Enc, Dec) Another procedure: C*=Eval(f, C1,…Ct)
Represented as arithmetic circuit
Trick from [Smolansky‟93] to get degree-n polynomials, error-probability 2-n
Return n random subset-sums of the ci‟s (mod 2) to client
◦ Still degree-n, another 2-n error
◦ Trivially: server returns the entire encrypted file ◦ We want: answer length independent of |F|
Claim: to do this, sufficient to evaluate low-degree polynomials on encrypted data
n2 2
(and q ~
n5) 2
◦ Can compute polynomials of degree ~n before the noise grows too large
Secure Computation and Efficiency Bar-Ilan University, Israel 2011
Secure Computation and Efficiency Bar-Ilan University, Israel 2011
2
Part I
Bar-Ilan University Dept. of Computer Science
Evaluate low-degree polynomials on encrypted data
◦ E.g., from Enc(x), Enc(y) compute Enc(x+y)
Fully-homomorphic encryption: Can evaluate any function on encrypted data
◦ E.g., from Enc(x), Enc(y) compute Enc(x3y-y7+xy)
5
Ciphertext arithmetic mod N Ciphertext-size remains always the same
12
Secure Computation and Efficiency Bar-Ilan University, Israel 2011
Bar-Ilan University Dept. of Computer Science
juter Science
◦ ci=1 if w=FiFi+1…Fi+s-1 (w found in position i) else ci=0
◦ Each ci is a degree-s polynomial in the Fi‟s
Suppose this noise is much smaller than p
◦ f(c1, …, ct) = f(m1+2r1, …, mt+2rt) + qp = f(m1, …, mt) + 2r + qp (c mod p) mod 2 = f(m1, …, mt)
That‟s what we want!
Secure Computation and Efficiency Bar-Ilan University, Israel 2011
7
Bar-Ilan University Dept. of Computer Science
Basically because:
◦ If you add or multiply two near-multiples of p, you get another near multiple of p…
◦ Output m = (c mod p) mod 2
= c – p • [[c/p]] mod 2 = c – [[c/p]] mod 2 = LSB(c) XOR LSB([[c/p]])
[[c/p]] is rounding of the rational c/p to nearest integer
c1=q1p+2r1+m1, …, ct=qtp+2rt+mt Let f be a multivariate poly with integer coefficients (sequence of +‟s and x‟s) Let c = Eval(f, c1, …, ct) = f(c1, …, ct)
◦ Noise doubles on addition, squares on multiplication
◦ Initial noise of size ~ 2n ◦ Multiplying d ciphertexts noise of size ~2dn
We choose r ~
2 n,
p~
Winter School on Secure Computation and Efficiency Bar-Ilan University, Israel 30/1/2011-1/2/2011
Bar-Ilan University Dept. of Computer Science
Shai Halevi – IBM Research
Based Mostly on [van-Dijk, Gentry, Halevi, Vaikuntanathan, EC 2010]
1
Bar-Ilan University Dept. of Computer Science
Homomorphic encryption: Can evaluate some functions on encrypted data
◦ The Ci‟s are ciphertexts
For any such f, and any Ci=Enc(xi) it holds that Dec( Eval(f, C1,…Ct) ) = f(x1,…,xt)
◦ Also |Eval(f,…)| does not depend on the “size” of f (i.e., # of vars or # of monomials, circuit-size) ◦ That‟s called “compactness”
Bar-Ilan University Dept. of Computer Science
c1+c2 = (q1+q2)p + 2(r1+r2) + (m1+m2)
Distance to nearest multiple of p
c1 x c2 = (c1q2+q1c2q1q2p)p + 2(2r1r2+r1m2+m1r2) + m1m2
◦ Choose at random small r, large q The “noise” ◦ Output c = pq + 2r + m
Noise much smaller than p
To decrypt c:
Ciphertext is close to a multiple of p m = LSB of distance to nearest multiple of p
◦ 2(2r1r2+…) still smaller than p c1xc2 mod p = 2(2r1r2+…)+m1m2
Secure Computation and Efficiency Bar-Ilan University, Israel 2011
9
Bar-Ilan University Dept. of Computer Science