具有短密文的全同态加密方法

文档序号:32305584发布日期:2022-11-23 09:53阅读:348来源:国知局
具有短密文的全同态加密方法

1.本发明涉及加密技术领域,具体是具有短密文的全同态加密方法。


背景技术:

2.密码学研究人员认为“公钥加密开辟了密码学的新方向,而实用的全同态加密方案将催生新型分布式计算模式”。经过了13年的发展,全同态加密的效率已经大幅提升,甚至已经逐渐向实际应用靠拢。1995年,benaloh提出第一个注重同态性质的公钥密码方案,该方案可以进行一次加法或乘法同态运算,此类方案也被称为半同态加密(semi-homomorphic encryption)。2005年,boneh等人提出了第一个支持同态加法和乘法,且可以运行较低次数的多项式电路的类同态加密方案(somewhat homomorphicencryption,she)。2009年,gentry基于理想格上困难问题及稀疏子集和问题,构造了第一个支持任意多次加法和任意多次乘法运算的全同态加密方案(fully homomorphicencryption,fhe)。2011年,brakerski和vaikuntanathan利用lwe假设,引入了重新线性化和降维降模技术,构造了bv11b方案。2012年,brakerski,gentry和vaikuntanathan 等人在bv11b方案的基础上,把降模技术进行优化使噪音增长从指数增长降为线性增长,构造了bgv12方案,该方案是目前较为高效的一类全同态加密方案。随后,halevi和shoup 利用c++语言和ntl数学函数库实现了bgv12方案和相应的密文打包技术以及ghs12b中的优化技术,该软件库被称为helib。2018年,halevi和shoup重新编写了helib代码,并对自举过程和其他过程中使用的线性变换进行了优化。新的算法比原来helib算法快30-75 倍,计算密钥的规模降低了33%-50%。
3.自举过程的速度影响着全同态加密方案的速度,自举过程的构造和优化是全同态加密研究的一个热点和难点问题。在crypto’2014中,alperin和peikert造了首个双层全同态方案ap14,即利用一种特殊设计的外层方案,来运行原方案(内层方案)的解密电路。双层全同态加密方案的优势在于:可以针对内层方案的解密电路的特点,设计不同的外层方案,使其能高效地运行内层方案的解密电路,该方案自举过程的噪音比bv14更小。但如图1中所示,相对于传统的自举过程,使用双层全同态加密方案中的自举过程,需要增加第三步密文转化的步骤,即要求把运行解密电路之后的外层密文转化为内层密文。这个转化步骤的存在,很大程度上限制了外层密文的形式。在eurocrypt’2015中,ducas和 micciancio构造了一个较为高效双层全同态方案fhew。在asiacrypt’2016中,chillotti 等人在t=(0,1]的结构上,构造了自举运算时间不到0.1秒、自举密钥由1g字节缩减到 23m字节的高效双层全同态方案tfhe。在asiacrypt’2017中,chillotti等人对tfhe方案中的累加过程进一步优化,使得自举过程计算时间减少到13毫秒。cufhe库是一个开源的基于gpu的全同态加密软件库,相比于cpu端的cggi17实现库tfhe,在nvidia titanxp显卡上取得了大约20倍的速度提升。
4.当前,高效的全同态加密方案包括bgv型和tfhe型。bgv方案及其优化方案是典型的高效层次型全同态方案,其同态计算电路深度与安全参数有关,适合的场景为多比特并
行计算。tfhe方案是高效纯全同态,方案更加适合的场景为串行运算和逻辑运算。纯全同态加密可以高效地构造任意逻辑电路(运算),并且无需预设乘法运算次数。其缺陷是方案的明密文扩展比较大,达到了16032,因此,如何在不影响方案效率的情况下,降低密文规模,从而降低实际运算过程中的通信量是一个迫切需要解决的现实问题。


技术实现要素:

5.本发明的目的在于提供具有短密文的全同态加密方法,以解决背景技术中的问题。
6.为实现上述目的,本发明提供如下技术方案:
7.具有短密文的全同态加密方法,包括以下步骤:
8.步骤一:初始化setup(1
l
):输入安全参数l,定义lwe维度n,密钥分布c,高斯分布相关参数α,分解基b
ks
,分解阶d
ks
,输出系统参数pp
lwe
=(n,c,α,b
ks
,d
ks
);
9.步骤二:密钥生成keygen(pp
lwe
):随机选取lwe密钥s
←cn
,gsw密钥s

∈bn[x]k。生成自举密钥s,转化密钥kss′→
s,γ,t
={k
i,j,v
},其中
[0010]
步骤三:加密算法enc(m,s):输入明文m∈{0,1},私钥s,均匀选取a
′←
tn,e

c,计算b

=-《a

,s》+m/4+e(mod1),输出密文(b,a)=round
p,q
(b

,a

)∈z
2nn+1
;本文采用的round函数:在实际算法中,本文取p/q=4n,round函数也可以表达为
[0011]
步骤四:解密算法dec(c,s):输入密文c,私钥s,输出m

,使得b+《a,s》≈m

/4(mod2n);
[0012]
步骤五:同态与非门homnand(c1,c2):输入μ1对应的密文c1,μ1对应的密文c2,输出 nand(μ1,μ2)对应的密文c。
[0013]
优选的,加密算法输出的密文在加密之后,需要再运行round函数,从而降低了密文规模
[0014]
相较于现有技术,本发明的有益效果如下:
[0015]
本发明通过方案构造了具有短密文的tfhe型全同态加密方案。通过将round函数应用到加密过程中,有效降低了密文规模;并利用gpu支持大规模矩阵运算的特点,基于cufhe 软件库实现了具有短密文的全同态加密方案。实验结果表明:本方案单个门电路(含自举过程)在cuda平台运行时间不超过1毫秒,相对于cggi17方案,本算法密文规模降低了 62%。
附图说明
[0016]
图1为双层全同态加密方案中自举过程。
具体实施方式
[0017]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
[0018]
请参阅图1,在一个实施例中,具有短密文的全同态加密方法,包括以下操作:
[0019]
初始化setup(1
l
):输入安全参数l,定义lwe维度n,密钥分布c,高斯分布相关参数α,分解基b
ks
,分解阶d
ks
,输出系统参数pp
lwe
=(n,c,α,b
ks
,d
ks
)。
[0020]
密钥生成keygen(pp
lwe
):随机选取lwe密钥s
←cn
,gsw密钥s

∈bn[x]k。生成自举密钥s,转化密钥kss′→
s,γ,t
={k
i,j,v
},其中
[0021]
加密算法enc(m,s):输入明文m∈{0,1},私钥s,均匀选取a
′←
tn,e

c,计算 b

=-《a

,s》+m/4+e(mod1),输出密文(b,a)=round
p,q
(b

,a

)∈z
2nn+1
。本文采用的round函数:在实际算法中,本文取p/q=4n,round函数也可以表达为
[0022]
解密算法dec(c,s):输入密文c,私钥s,输出m

,使得b+《a,s》≈m

/4(mod2n)。
[0023]
同态与非门(含自举过程)homnand(c1,c2):输入μ1对应的密文c1,μ1对应的密文c2,输出nand(μ1,μ2)对应的密文c。
[0024]
algorithm 1:同态与非门过程(homnand):
[0025][0026]
测试项目为:同态门电路计算时间,加、解密时间等,实现了对两组896比特数据,进行加密,并运行同态基础门电路nand(含自举过程)。实验结果表明,方案密文扩展率从16032降低到6012,单个比特加密平均时间0.0711633毫秒,解密平均时间0.0008012 毫秒,基础门电路(含自举过程)平均时间0.785347毫秒,方案对比实验数据如下表所示。因此,本方案在其它性能接近的情况下,有效降低了密文规模;
[0027][0028]
上述实施例公布了具有短密文的全同态加密方法,其中,本方案思想:cggi17方案中,单比特的密文c是501维的32比特数据(明密文扩展率为16032),同态计算时直接对密文进行操作。但方案在对密文运行自举过程时,需要把密文的分量c[i]转化到环z[x]/xn+1 中的x
c[i]
。为了环上计算更加高效,通常把环取成z[x]/x
1024
+1。这就导致密文分量的32 比特和z[x]/xn+1中的xi指数产生了冲突。cggi17方案的解决方法是,在自举过程之前对密文运行round函数,将501维32比特的密文c,降低为501维11比特,即在自举过程的核心步骤运行之前,密文的大部分冗余信息都将被丢弃。本文考虑在生成密文时就丢弃冗余信息,即密文生成过程就运行round函数,分析表明,通过合理的设置round函数,可有效降低密文规模,并将噪声降低到可接受范围,进一步提升方案效率。
[0029]
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1