当前位置: 首页 > 专利查询>武汉大学专利>正文

一种云计算中实现隐私保护的轻量级同态加密方法技术

技术编号:20331213 阅读:52 留言:0更新日期:2019-02-13 07:04
本发明专利技术涉及安全云存储和计算,特别涉及一种云计算中实现隐私保护的轻量级同态加密方法,包括:生成密钥;进行加密;利用自持私有的私钥解密过程;其中,加密和解密过程可以分别用两大通式来简单地总结:加密过程,c=g^m*r^n mod n^2;解密过程,m=L(c^lambda mod n^2)*u mod n;u=(L(g^lambda mod n^2))^(‑1)mod n。本发明专利技术的定位是对数据进行轻量级加密,保证其同态性,使得数据在不解密的情况下实现加法运算,而能保证结果不变。

【技术实现步骤摘要】
一种云计算中实现隐私保护的轻量级同态加密方法
:本专利技术涉及安全云存储和计算,特别涉及云计算环境中数据安全和隐私保护。
技术介绍
传统的对称加密体制和非对称加密体制的工作原理,分别如图1、图2所示。云计算时代的到来,虽然给人们带来了很多的便利,但是也给人们带来了恐慌---泄密问题日显突出,而上述传统的加密技术无法满足云计算的要求。2009年,IBM公司的科学家提出了世界上第一个全同态加密算法,这个算法有非常大的意义:它的存在证明了以前研究者关于全同态加密算法的假设并不是荒诞的、天马行空的,并且证明了全同态加密算法在理论上的可行性。全同态加密允许对任意加密数据的运算,即可以将明文的任意运算对应于相应的密文数据的特定操作,这种同态性使得在不可信终端对加密数据进行可信计算成为了可能。至少在理论上,这项技术从根本上解决了将数据及其操作委托给第三方时的保密问题。基于全同态加密的这个优点,它可以用于各种云计算中的隐私保护。不过,同态加密是基于数学难题的计算复杂性理论的密码学技术,全同态加密技术的复杂性使得人们又一次从希望变成失望。由于它的计算复杂性,使得现任的计算机还无法使它得到很好地实现。因此,研究者的研究方向应该不光只有新的全同态加密算法的提出,还应该注力于全同态加密算法的优化研究,在保证其安全性和同态性的基础上,通过降低算法密钥的长度,来减少加密的计算轮数,降低算法的复杂性,从而实现全同态加密算法的优化。
技术实现思路
同态加密算法对加密的数据进行计算得到一个输出,将这一输出进行解密,解密的结果就与用同一方法计算未加密的明文得到的输出结果是一样的。在同态加密算法的分类上,我们规定:如果这种同态关系只满足加法运算或者只满足乘法运算,那么就称这种同态加密算法为加同态加密算法或者乘同态加密算法。如果一种加密算法同时满足加法和乘法运算,则称全同态加密算法。我们知道所谓全同态加密算法是满足所有操作同态性的加密算法,然而加密算法在应用时并不是都要求全操作同态的,比如数据库的加密算法就只要求满足SQL语句执行的同态性;检索的加密算法只要满足加法和顺序的同态性等等。所以,我们在研究全同态加密算法的同时,应该还要着手像Cryptdb算法这样实现部分操作的同态加密算法的研究。我们研究算法最终的目的当然是算法的应用,使它能给我们带来便利和益处,所以实现部分操作同态性的加密算法的研究对于同态加密算法的应用也有着很大的推进作用。对于云计算来说,如果应用的每一个同态加密算法的密钥都那么长,那么每个加密算法的加密轮数自然不会低,就大大的提高了云计算系统的工作量,这样的同态加密算法虽然能保证云计算数据储存和传输的安全性,但是也会使本来运行起来就复杂的云计算系统变得越来越复杂,那么就需要更多的计算机来构建云计算系统,于是就大大地增加了云计算系统的构建成本,就会使得公司的经济效益降低。这样的同态加密算法就无法使得云计算给我们带来的便利得到最大化,无法使得公司的利益最大化,自然就会影响市场的积极性,那么对加密算法轻量化的研究就会变得十分迫切。本专利技术旨在对同态加密算法轻量化,实现轻量化同态加密。在尽量不降低加密算法的安全性的前提下,可以让密钥的长度降低,使得算法的加密和解密过程的轮数更少,速率更快。本专利技术采用如下技术方案:一种云计算中实现隐私保护的轻量级同态加密方法,其特征在于,包括:生成密钥;进行加密;利用自持私有的私钥解密过程;其中,加密和解密过程可以分别用两大通式来简单地总结:加密过程,c=g^m*r^nmodn^2;解密过程,m=L(c^lambdamodn^2)*umodn;u=(L(g^lambdamodn^2))^(-1)modn;加法同态的验证过程。在上述的一种云计算中实现隐私保护的轻量级同态加密方法,密钥生成的具体过程是:步骤2.1、随机选取两个比较大的素数p和q,这两个数要同时满足两个条件:第一,p和q必须是非常大的素数,所谓素数也叫作质数,是在大于1的整数中,只能被1和这个数本身整除的数;第二、需要p和q这两个质数的长度相同,换言之,就是要求p和q满足gcd(p*q,(p-1)*(q-1))=1;其中函数gcd()的作用就是返回两个整数的最大公约数,所以p和q满足p*q和(p-1)*(q-1)互为质数;步骤2.2、计算p*q,并且令n=p*q,lambda=lcm(p-1,q-1);其中,函数lcm()是用来返回两个整数的最小公倍数,所以把p-1和q-1的最小公倍数赋值给lambda;步骤2.3、令nsquare=n^2,上面介绍到Zn={x|x属于Z,0<=x<=n},那么随机选取一个数g,使得g属于Zn^2,g是0到n^2中任意一个整数,但是g必要符合以下的条件:gcd{L(g^lambdamodn^2),n}=1,其中mod是求余运算,AmodB表示A除以B的余数;步骤2.4、如果g满足这个条件,那么就可以令加密算法的公钥为(g,n),私钥为lambda;如果g不满足以上条件,就输出“gisnotgood.Choosegagain.”,继续在指定范围内选取g,直到满足条件,生成算法的公钥和私钥。3.根据权利要求1所述的一种云计算中实现隐私保护的轻量级同态加密方法,其特征在于,加密生成的具体过程是:首先输入一个正整数作为一个待加密的明文m,但是明文m是有范围的:0<m<n,即m是属于Zn;然后我们要随机选择一个整数r,r是一个随机整数明文,作用是来帮助加密明文m的,r属于Zn*,即0<r<n;有了公钥(g,n)和随机明文r就能对明文m进行加密,令密文c是明文m加密狗对应的密文,于是就有:c=g^m*r^nmodn^2,通过这个通式就能把明文加密成密文,完成加密算法。在上述的一种云计算中实现隐私保护的轻量级同态加密方法,解密的具体过程是:步骤4.1、,定义一个BigIntegeru,使得u=(L(g^lambdamodn^2))^(-1)modn.;步骤4.1、利用u进行对密文c的解密,利用通式——明文m=L(c^lambdamodn^2)*umodn;这部分算法的输入为密文c,返回的是明文m,其中L(x)是一个数学函数L(x)=(x-1)/n。在上述的一种云计算中实现隐私保护的轻量级同态加密方法,密文的具体过程是:首先输入两个明文m1和m2,分别利用加密算法进行加密,得到两个密文em1和em2,使得他们两个密文相加,得到sum,然后利用解密算法给密文sum进行解密,然后比较解密后的明文和原来两个明文m1和m2的和有什么关系,如果两个相等,则此算法满足加法同态加密,否则,不满足。在上述的一种云计算中实现隐私保护的轻量级同态加密方法,在生成密钥后,就只要通过加密和解密算法就能加密明文和解密密文,在密钥的生成过程中有一个难点,那就是公钥(g,n)中g的产生;g的选择虽然是随意的,但是它是有条件限制的,g要满足两大条件:条件一,0<<g<n^2,其中<<表示远小于,表示g既要在0和n^2之间,还要远大于0;条件二,gcd{L(g^lambdamodn^2),n}=1;如本文档来自技高网...

【技术保护点】
1.一种云计算中实现隐私保护的轻量级同态加密方法,其特征在于,包括:生成密钥;进行加密;利用自持私有的私钥解密过程;其中,加密和解密过程可以分别用两大通式来简单地总结:加密过程,c=g^m*r^n mod n^2;解密过程,m=L(c^lambda mod n^2)*u mod n;u=(L(g^lambda mod n^2))^(‑1)mod n;加法同态的验证过程。

【技术特征摘要】
1.一种云计算中实现隐私保护的轻量级同态加密方法,其特征在于,包括:生成密钥;进行加密;利用自持私有的私钥解密过程;其中,加密和解密过程可以分别用两大通式来简单地总结:加密过程,c=g^m*r^nmodn^2;解密过程,m=L(c^lambdamodn^2)*umodn;u=(L(g^lambdamodn^2))^(-1)modn;加法同态的验证过程。2.根据权利要求1所述的一种云计算中实现隐私保护的轻量级同态加密方法,其特征在于,密钥生成的具体过程是:步骤2.1、随机选取两个比较大的素数p和q,这两个数要同时满足两个条件:第一,p和q必须是非常大的素数,所谓素数也叫作质数,是在大于1的整数中,只能被1和这个数本身整除的数;第二、需要p和q这两个质数的长度相同,换言之,就是要求p和q满足gcd(p*q,(p-1)*(q-1))=1;其中函数gcd()的作用就是返回两个整数的最大公约数,所以p和q满足p*q和(p-1)*(q-1)互为质数;步骤2.2、计算p*q,并且令n=p*q,lambda=lcm(p-1,q-1);其中,函数lcm()是用来返回两个整数的最小公倍数,所以把p-1和q-1的最小公倍数赋值给lambda;步骤2.3、令nsquare=n^2,上面介绍到Zn={x|x属于Z,0<=x<=n},那么随机选取一个数g,使得g属于Zn^2,g是0到n^2中任意一个整数,但是g必要符合以下的条件:gcd{L(g^lambdamodn^2),n}=1,其中mod是求余运算,AmodB表示A除以B的余数;步骤2.4、如果g满足这个条件,那么就可以令加密算法的公钥为(g,n),私钥为lambda;如果g不满足以上条件,就输出“gisnotgood.Choosegagain.”,继续在指定范围内选取g,直到满足条件,生成算法的公钥和私钥。3.根据权利要求1所述的一种云计算中实现隐私保护的轻量级同态加密方法,其特征在于,加密生成的具体过程是:首先输入一个正整数作为一个待加密的明文m,但是明文m是有范围的:0<m<n,即m是属于Zn;然后我们要随机选择一个整数r,r是一个随机整数明文,作用是来帮助加密明文m的,r属于Zn*,即0<r<n;有了公钥(g,n)和随机明文r就能对明文m进行加密,...

【专利技术属性】
技术研发人员:丁文佳张沪寅王玉林
申请(专利权)人:武汉大学
类型:发明
国别省市:湖北,42

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

1