全同态加密算法

合集下载

同态加密——精选推荐

同态加密——精选推荐

同态加密同态加密是指这样⼀种加密函数,对明⽂进⾏环上的加法和乘法运算再加密,与加密后对密⽂进⾏相应的运算,结果是等价的。

全同态加密是指同时满⾜加同态和乘同态性质,可以进⾏任意多次加和乘运算的加密函数。

⽤数学公式来表达,即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是在格上⾸先构造⼀个具有同态性的加密⽅案,该⽅案能够做加法,也能够做乘法,但是只能做有限次的乘法。

适用于字符串加密的全同态加密方案

适用于字符串加密的全同态加密方案

适用于字符串加密的全同态加密方案梅宇;孙霓刚;李雪佳【摘要】现有的全同态加密思想主要实现对整数进行加密,在密文的状态下可以实现加、减、乘、除等四则运算,将其密文进行解密得到的结果与对明文做相同运算的结果一致,然而当加密对象为字符串的时候这些运算将变的毫无意义;为了使得全同态加密算法可以应用在字符串中,设计了一个可以适用于字符串加密的全同态加密算法;首先介绍了全同态加密算法在整数上的实现原理,通过对中国剩余定理的证明过程中发现了中国剩余定理具备定位字符的能力,然后将中国剩余定理引入整数上全同态加密的思想中;引入的中国剩余定理便是可以在加密过程中实现字符串的定位,避免出现加密完成后无法按照原有顺序回复出原文;最后通过举例论证的方式,验证了实现字符串全同态加密算法的的正确性;从而丰富了全同态加密算法的使用范围.【期刊名称】《计算机测量与控制》【年(卷),期】2016(024)004【总页数】4页(P195-198)【关键词】中国剩余定理;全同态加密;字符串【作者】梅宇;孙霓刚;李雪佳【作者单位】常州大学信息科学与工程学院,江苏常州 213000;常州大学信息科学与工程学院,江苏常州 213000;常州大学信息科学与工程学院,江苏常州 213000【正文语种】中文【中图分类】TP309全同态加密思想是由Rivest等人在1978年提出的,希望在不对密文进行解密的条件下,对密文进行任何运算,得到的结果解密后与明文进行相应运算的结果相同。

这个思想提出后,国内外研究人员进行了大量的研究,直到2009年Gentry提出来基于理想格的全同态加密方案,并对该方案进行了详细论述。

此后国内外学者都提出来许多改进的全同态加密方案。

但这些方案的加密对象都是对整数进行加密。

当加密对象为“字符串”的时候,现有的算法将毫无办法。

在“大数据时代”,数据信息越来越中重要。

数据的存储方式最常见的便是以字符串的形式进行存储。

因此设计出一种可以适用于字符串的全同态加密算法,不仅可以扩展当前全同态加密算法的应用范围,还可以使得全同态加密更加具备实用性。

同态bfv算法

同态bfv算法

同态BFV算法是基于RLWE难题的全同态加密方案。

BFV算法,全称Brakerski-Fan-Vercauteren算法,是一种实现全同态加密(FHE)的方法。

它允许在加密数据上直接进行计算,而无需先对数据进行解密。

这种算法对于保护数据隐私和安全具有重要的意义,因为它可以在不暴露原始信息的情况下,对加密数据进行处理和分析。

以下是关于BFV算法的一些关键信息:
1. 算法基础:BFV算法是基于环上的学习带错误问题(Ring-LWE或RLWE)构建的。

RLWE问题是LWE(学习带错误问题)的一个变种,它们都属于格密码学的范畴。

2. 优化重线性化:BFV算法引入了两种优化版本的重线性化技术,这些技术能够减少重线性化密钥的大小,并且加快计算速度。

重线性化是全同态加密中的一个重要步骤,它允许加密数据的多次运算而不会耗尽密文的“噪音”容量。

3. 实用性:BFV算法是第二代同态加密方案中的核心之一,它被广泛应用于各种需要隐私保护的计算场景。

微软的全同态加密软件库SEAL最初就是基于BFV算法实现的。

4. 全同态特性:BFV算法支持全同态操作,这意味着可以在加密数据上执行任意深度的电路计算。

通过使用bootstrapping程序,部分同态加密可以转换为全同态加密,从而允许更深的电路计算。

基于整数多项式环的多对一全同态加密算法

基于整数多项式环的多对一全同态加密算法

基于整数多项式环的多对一全同态加密算法王彩芬;赵冰;刘超;成玉丹;许钦百【摘要】针对传统公钥加密模式多数只能由单发送方将消息发送给单接收方的限制,基于整数全同态加密方案,设计一种基于整数多项式环的一对一全同态加密算法.在此基础上,通过修改一对一全同态加密算法的密钥生成方式,扩展加密方个数,提出基于整数多项式环的多方加密一方解密的全同态加密算法.给出该算法的正确性和同态性证明,并在随机预言机模型下,基于离散子集求和问题和近似最大公因子问题证明该算法的安全性.性能比较结果表明,该算法可扩展加密方个数,提高解密方效率.【期刊名称】《计算机工程》【年(卷),期】2019(045)004【总页数】6页(P130-135)【关键词】整数多项式环;多对一全同态加密方案;离散子集求和问题;近似最大公因子问题;随机预言机模型【作者】王彩芬;赵冰;刘超;成玉丹;许钦百【作者单位】西北师范大学计算机科学与工程学院,兰州730070;西北师范大学计算机科学与工程学院,兰州730070;西北师范大学计算机科学与工程学院,兰州730070;西北师范大学计算机科学与工程学院,兰州730070;西北师范大学计算机科学与工程学院,兰州730070【正文语种】中文【中图分类】TP309.70 概述随着科学技术的发展,特别是互联网+和云计算的兴起,人们对加密数据的关注和需求越来越高。

与此同时,可以解决云计算中数据隐私保护的同态加密方法越来越受到人们的重视。

文献[1]提出隐私同态,它可以确保被操作数据的隐私性,能够在不知晓明文的前提下,对密文直接操作然后进行解密,其结果和对明文进行同样操作得到的数据一致。

利用该特性明显的同态性质,将加密数据交付给不可信的第三方进行处理就不会泄露隐私。

随后,很多学者对全同态加密进行了深入的研究,并提出多种同态加密方案。

IBM公司的成员Gentry[2]研究出第一个可以定义为全同态加密的机制,文献[3]给出了其正确性证明,Gentry的方案是基于理想格进行运算的,实施起来比较困难。

一种基于全同态加密的密文检索算法

一种基于全同态加密的密文检索算法

一种基于全同态加密的密文检索算法
一、什么是全同态加密
1、定义:全同态加密技术(Fully Homomorphic Encryption,FH)是一
种特殊的加密技术,该技术实现了对数据持有方保留全权以及安全,
不受任何数据操作者影响的数据安全技术。

2、特点:全同态加密可以构成一种数据安全新体系,该体系可以实现
完全对称的数据安全技术,不会损害数据的结构或改变它的内容,而
且可以在不可靠攻击者的无授权情况下保护数据的安全。

3、优势:全同态加密无法完全攻破,而且可以实现完全保护,这是它
的最大优势,其中,数据方可以完全保留其权利,即使攻击者也无法
获取它们的权利,也无法对其任何更改数据。

其中,计算消耗很少,
可以减少计算操作的技术消耗,从而大大提高运行速度。

二、全同态加密的密文检索算法
1、实现:全同态加密的密文检索算法是一种在全同态加密环境下实现
数据检索的算法,该算法利用全同态加密的特性,为查询者提供各种
查询操作,进行有效的密文检索操作。

2、优点:该技术有利于构建一个安全、可靠和易于维护的数据库系统,可以提供给数据持有方完整的数据保护。

由于全同态加密本身不会破
坏查询结果的结构,可以避免由于加密过程中造成的结果错误的问题,大大的提高查询的正确性和准确性,而且可以减少查询处理速度,降
低查询能耗。

3、缺点:现阶段应用不多,需要更多研究来发挥其优势;计较体系以及加密计算方法也是一块有待进一步完善。

同态加密方案

同态加密方案

若一个加密方案对密文进行任意深度的操作后解密,结果与对明文做相应操作的结果相同,则该方案为完全同态加密方案。

通常一个公钥加密方案有三个算法: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算法(解密)不仅能对初始密文解密,还能对计算后的密文解密。

全同态加密方案

全同态加密方案

引言全同态加密是一种先进的加密技术,可以将加密数据进行计算而无需解密,在计算结果上也能保持加密状态。

这种加密方案广泛应用于云计算、数据隐私保护等领域,具有重要的研究和实际价值。

本文将介绍全同态加密的基本概念、原理和应用,并探讨其在信息安全领域的前景。

全同态加密的基本概念全同态加密是指一种加密方案,允许对密文进行计算操作,得到的结果仍然是加密后的数据。

具体来说,对于两个密文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。

同态加密

同态加密

同态加密同态加密是基于数学难题的计算复杂性理论的密码学技术。

对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。

一.同态加密的简介2009年9月,Craig Gentry 的论文发表于STOC。

一名IBM研究员解决了一项棘手的数学问题,该问题自从几十年前公钥加密发明以来一直困扰着科学家们。

该项创新为“隐私同态(privacy homomorphism)”或“全同态加密(fully homomorphic encryption)”领域的重要技术突破,使得加密信息,即刻意被打乱的数据仍能够被深入和无限的分析,而不会影响其保密性。

IBM研究员Craig Gentry设计了这一解决方案。

他使用被称为“理想格ideal lattice”的数学对象,使人们可以充分操作加密状态的数据,而这在过去根本无法设想。

经过这一突破,存储他人机密电子数据的电脑销售商就能受用户委托来充分分析数据,不用频繁与用户交互,也不必看到任何隐私数据。

利用Gentry的技术,对加密信息的分析能得到同样细致的分析结果,就好像原始数据完全可见一样。

使用该解决方案能增强云计算业务模式。

计算机销售商可以受托在任意互联网环境中保管他人的机密数据。

以往加密手段的一个弊处在于它通常是将数据保存在盒子内而不让外界使用或者分析数据,除非使用解密密钥将盒子打开,而完全同态加密方案可以让你在数据加密的情况下对数据进行分析和计算。

IBM的工程师们近日突破了一项折腾他们几十年的老大难问题:如何对数据进行加密,这样其他人可以进行排序和搜索,而无需实际揭示它的内容。

如果说,一种加密算法,对于乘法和加法都能找到对应的操作,就称其为全同态加密算法。

换句话说,它的意义就在于,对于允许任意复杂的明文操作,都能构造出相应的加密操作。

但直到目前还没有真正可用的全同态加密算法,因为“在同步加密方案成为实用工具前,还需要进行很多理论上的工作以提高其“效率”。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Secure Computation and Efficiency Bar-Ilan University, Israel 2011
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
相关文档
最新文档