单密文同态计算的全同态加密方法技术

技术编号:16460073 阅读:39 留言:0更新日期:2017-10-26 00:34
本发明专利技术提出了一种单密文同态计算的全同态加密方法,旨在实现单密文同态计算的全同态加密,并提高全同态加密的效率,实现步骤为:用户用随机生成的两个大素数的乘积N作为加密公钥,利用欧拉函数及扩展欧几里得算法得到的逆元d作为解密私钥;对明文进行加密时,利用构造的一个关于两个变量的次数均不超过2的多项式和加密公钥在随机选取的整数a和b的控制下对明文进行加密,得到密文;使用密文中的整数u、整数v和解密私钥对密文解密,得到明文;云服务器使用加密公钥,对密文空间C

Homomorphic encryption algorithm for homomorphic computation of single ciphertext

The invention provides a fully homomorphic encryption calculation method of a single ciphertext homomorphism, aims to achieve a single ciphertext homomorphic calculation fully homomorphic encryption, and improve the efficiency of fully homomorphic encryption, implementation steps: users with two large prime numbers randomly generated product N as public key encryption, using Euler function and extended Euclidean algorithm the inverse of D as a private key to encrypt plaintext decryption; when using a two variable frequency structure was less than 2 of the polynomial and the key encryption key in the integer random control of a and B to encrypt plaintext, ciphertext; use the ciphertext in the integer u, integer V and the private key to decrypt the ciphertext decryption, get the plaintext; public key encryption using the cloud server, the ciphertext space C

【技术实现步骤摘要】
单密文同态计算的全同态加密方法
本专利技术属于数据处理领域,涉及一种全同态加密方法,具体涉及一种单密文同态计算的全同态加密方法,可用于云计算环境下的数据安全外包计算。
技术介绍
随着新型互联网络的不断发展,数据呈现爆发式增长的态势,海量数据往往以委托计算服务的模式保存在云服务器中。存储在云端的一些数据往往含有隐私信息,或者云端的保密机制不完善,容易泄露一部分数据信息。因此,需要对隐私数据进行加密保护,然而,一旦对数据进行加密处理后,原始数据的原有的数据结构就遭到破坏了,因此,就失去了信息处理的功能。为此,需要一种密码技术,既能对数据进行加密,又能保证可以对加密后的数据进行信息处理。而全同态加密算法不仅仅可以实现原始数据的隐私保护功能,同时又支持对密文数据进行任意次的同态加法和同态乘法计算,为云计算和大数据环境提供了通用的安全方案。全同态加密问题在1978年就由Rivest等人提出,成为密码学中一个开放难题。最早提出的公钥密码RSA和ElGamal加密算法都只具有乘法同态性质,应用最广泛的Paillier加密系统满足加法同态性。之后出现了浅同态加密方案,2005年提出的BGN密码支持一次乘法同态和任意次加法同态。这些方案能够解决的应用问题有限,很难将其拓展应用到更广泛的应用场景。2009年Gentry构造了首个全同态加密方案,实现了历史性的跨越。和浅同态加密方案相比,全同态加密方法不受运算次数的限制,即支持密文任意次的同态加法运算和同态乘法运算。然而,现有可证明安全的全同态加密方案在密文中均引入了噪音,因此,在密文同态计算阶段,随着电路层数增加,同态计算的密文中的噪音也会逐渐积累,而当噪音超过门限值时便需要对密文进行刷新,导致整个加密方法效率低。现如今,全同态加密方案主要应用于云计算环境下的数据安全外包计算,学术界对此做了大量的研究,例如,2016年YonggeWang在“PrivacyPreservingComputationinCloud加密UsingNoise-FreeFullyHomomorphicEncryption(FHE)Schemes”(EuropeanSymposiumonResearchinComputerSecurity2016)公开了一种基于八元数的全同态加密方法,应用于数据安全外包计算,该方法是:用户将模数q、一个8维同性子空间、随机数φ和8×8的可逆矩阵作为密钥;用随机数φ对明文处理,得到相应的明文矩阵,使用8×8的可逆矩阵及其逆矩阵,对处理后的明文矩阵进行加密,得到密文矩阵。由于在加解密阶段及同态计算阶段使用了8×8的可逆矩阵,该方法使得密文存储空间大,计算繁琐,导致全同态加密的效率低。
技术实现思路
本专利技术目的在于克服上述现有技术存在的缺陷,提出了一种单密文同态计算的全同态加密方法,旨在实现单密文同态计算的全同态加密,并提高全同态加密的效率。为实现上述技术目的,本专利技术采取的技术方案包括如下步骤:(1)用户设置参数:用户根据安全参数随机生成两个k比特长的大素数p和q,满足p-1和q-1均与3互素并定义明文空间M*和密文空间C*,其中,k≥1024;(2)用户获取加密公钥pk和解密私钥sk:(2.1)用户计算RSA模数N,N=pq,并令加密公钥pk=N;(2.2)用户计算RSA模数N的欧拉函数值(2.3)用户采用扩展欧几里得算法计算3在下的逆元d,满足同余式并令解密私钥sk=d;(2.4)用户定义明文空间为(3)用户对明文m进行加密:(3.1)用户根据需求选择明文并在中均匀且随机地选取整数a和整数b;(3.2)用户利用加密公钥pk,计算上的整数u和整数v:u≡a3(modN),v≡b3(modN);(3.3)用户在中均匀且随机地选取整数aij,其中,i,j=0,1,2,并由这些整数构造二元多项式f(x,y):(3.4)用户利用二元多项式f(x,y),计算根为(a,b)的二元多项式F(x,y):F(x,y)≡f(x,y)-f(a,b)(modN);(3.5)用户利用二元多项式F(x,y),计算密文二元多项式c(x,y):c(x,y)≡F(x,y)+m(modN);(3.6)用户由上的整数u、v和二元多项式c(x,y),得到三元组C=(u,v,c(x,y));并将其作为明文m加密之后的密文;(4)用户对密文C进行解密,实现步骤为:(4.1)用户由密文C=(u,v,c(x,y))中的整数u、整数v和解密私钥sk,计算整数a和整数b;(4.2)用户由整数a、整数b与密文二元多项式c(x,y),计算明文m:m≡c(a,b)(modN);(5)云服务器对密文进行同态运算:云服务器使用加密公钥pk,对密文空间C*中任意一个密文进行同态加法运算和同态乘法运算,实现步骤为:(5.1)云服务器用加密公钥pk,对密文C=(u,v,c(x,y))进行同态加法计算,得到属于密文空间C*的加法同态密文C+=(u,v,2c(x,y)(modN));(5.2)云服务器根据整数u和v,构造二元截断多项式环环中的元素为关于变量x、y次数均不超过2、系数属于含有9项系数的二元多项式;(5.3)云服务器用加密公钥pk,对密文C=(u,v,c(x,y))进行同态乘法计算,并使用二元截断多项式环对密文同态计算结果进行取模,得到属于密文空间C*的同态乘法密文C×=(u,v,c2(x,y)(modN,x3-u,y3-v));(6)用户对同态密文进行解密:用户使用解密私钥sk对运算后的密文进行解密,得到相应明文进行相同计算的结果,实现步骤为:(6.1)用户使用解密私钥sk=d和RSA模数N,对加法同态密文C+=(u,v,2c(x,y)(modN))进行解密,得到对应的明文m+,m+≡2m≡m+m(modN),解密过程为:用户用公式a≡ud(modN)、b≡vd(modN)计算,得到整数a和整数b,将整数a和整数b代入2c(x,y)≡2F(x,y)+2m(modN)中,得到2c(a,b)≡2m(modN);(6.2)用户使用解密私钥sk=d和RSA模数N,对乘法同态计算之后获得的密文C×=(u,v,c2(x,y)(modN,x3-u,y3-v))进行解密,得到与同态计算密文相对应的明文m×,m×≡m2≡mm(modN)解密过程为:用户用公式a≡ud(modN)、b≡vd(modN)计算,得到整数a和b并代入c2(x,y)≡F2(x,y)+2mF(x,y)+m2(modN,x3-u,y3-v)中,得到c2(a,b)≡m2(modN)。本专利技术与现有技术相比,具有以下优点:1、本专利技术由于在密文同态计算过程中,云服务器使用加密公钥对密文空间C*中任意一个密文进行同态加法运算和同态乘法运算,计算得到的结果仍是单个同态密文,实现了全同态加密单密文的同态计算。2、本专利技术在密文同态乘法运算中,采用二元截断多项式环对密文同态乘法的计算结果取模,使二元多项式在乘法计算过程中的项数为常数,控制了密文的增长,提高了全同态加密的效率。附图说明图1为本专利技术的实现流程图。具体实施方式以下结合附图和具体实施例,对本专利技术进行进一步详细说明。参照图1,一种单密文同态计算的全同态加密方法,包括如下步骤:步骤1)用户设置参数:用户根据安全参数随机生成两个k比特本文档来自技高网
...
单密文同态计算的全同态加密方法

【技术保护点】
一种单密文同态计算的全同态加密方法,其特征在于包括如下步骤:(1)用户设置参数:用户根据安全参数随机生成两个k比特长的大素数p和q,满足p‑1和q‑1均与3互素并定义明文空间M

【技术特征摘要】
1.一种单密文同态计算的全同态加密方法,其特征在于包括如下步骤:(1)用户设置参数:用户根据安全参数随机生成两个k比特长的大素数p和q,满足p-1和q-1均与3互素并定义明文空间M*和密文空间C*,其中,k≥1024;(2)用户获取加密公钥pk和解密私钥sk:(2.1)用户计算RSA模数N,N=pq,并令加密公钥pk=N;(2.2)用户计算RSA模数N的欧拉函数值(2.3)用户采用扩展欧几里得算法计算3在下的逆元d,满足同余式并令解密私钥sk=d;(2.4)用户定义明文空间为(3)用户对明文m进行加密:(3.1)用户根据需求选择明文并在中均匀且随机地选取整数a和整数b;(3.2)用户利用加密公钥pk,计算上的整数u和整数v:u≡a3(modN),v≡b3(modN);(3.3)用户在中均匀且随机地选取整数aij,其中,i,j=0,1,2,并由这些整数构造二元多项式f(x,y):(3.4)用户利用二元多项式f(x,y),计算根为(a,b)的二元多项式F(x,y):F(x,y)≡f(x,y)-f(a,b)(modN);(3.5)用户利用二元多项式F(x,y),计算密文二元多项式c(x,y):c(x,y)≡F(x,y)+m(modN);(3.6)用户由上的整数u、v和二元多项式c(x,y),得到三元组C=(u,v,c(x,y));并将其作为明文m加密之后的密文;(4)用户对密文C进行解密,实现步骤为:(4.1)用户由密文C=(u,v,c(x,y))中的整数u、整数v和解密私钥sk,计算整数a和整数b;(4.2)用户由整数a、整数b与密文二元多项式c(x,y),计算明文m:m≡c(a,b)(modN);(5)云服务器对密文进行同态运算:云服务器使用加密公钥pk,对密文空间C*中任意一个密文进行同态加法运算和同态乘法运算,实现步骤为:(5.1)云服务器用加密公钥pk,对密文C=(u,v,c(x,y))进行同态加法计算,得到属于密文空间C*的加法同态密文C+=(u,v,2c(x,y)(modN));(5.2)云服务器根据整数u和v,构造二元截断多项式环环中的元素为关于变量x、y次数均不超过2、系数属于含有9项系数的二元多项式;(5.3)云服务...

【专利技术属性】
技术研发人员:王保仓杨爱洁
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1