同态解密方法、装置、非易失性存储介质及计算机设备制造方法及图纸

技术编号:37721794 阅读:12 留言:0更新日期:2023-06-02 00:21
本发明专利技术公开了一种同态解密方法、装置、非易失性存储介质及计算机设备。其中,该方法包括:获取第一LWE密文和第一LWE密文的私钥,其中,第一LWE密文为同态加密第一层方案中的待进行同态解密的密文;确定NTRU私钥和旋转多项式,其中,NTRU私钥用于对同态加密第二层方案中的NTRU密文进行解密;根据第一LWE密文的私钥和NTRU私钥,生成盲旋转算法对应的评估密钥,其中,评估密钥包括多个自同构密钥和多个计算密钥;基于旋转多项式、评估密钥和盲旋转算法,对第一LWE密文进行同态解密,得到目标NTRU密文,其中,目标NTRU密文与NTRU私钥对应,目标NTRU密文为同态加密第二层方案中的NTRU密文。本发明专利技术解决了相关技术中的全同态方案密文自举效率较低的技术问题。文自举效率较低的技术问题。文自举效率较低的技术问题。

【技术实现步骤摘要】
同态解密方法、装置、非易失性存储介质及计算机设备


[0001]本专利技术涉及密码学领域,具体而言,涉及一种同态解密方法、装置、非易失性存储介质及计算机设备。

技术介绍

[0002]全同态加密(FHE)是隐私计算的主要密码工具之一,它直接允许在不解密的情况下对加密数据进行计算。现有的全同态加密方案都是基于格上的困难问题设计的,具有抵抗量子计算机攻击的能力。当前,主流的全同态加密方案都遵循同样的框架:首先,设计一个只支持有限次同态运算的带噪音的有限同态加密(SHE)方案,这类方案随着同态运算次数的增加,噪音会逐渐增加,最终导致解密失败。因此需要设计对应的自举算法去同态的解密SHE方案以减小噪音。
[0003]2009年,Gentry基于理想格开创性的提出了第一个可行的全同态加密方案,并给出了构造全同态加密方案的理论框架。该框架可以分为两层:1)第一层为构造一个只支持有限次同态操作的部分同态加密方案(SHE),在构造方案时通常会引入一个随机噪声,且噪声会随着同态运算的次数不断累积,一旦噪声达到阈值就会解密失败。2)第二层为利用自举算法,同态的计算第一步中的SHE的解密电路,以达到削减噪声的作用。最初的方案由于可同态计算的电路深度小于解密电路深度,因此大多采用稀疏子集和假设去压缩解密电路,因此其设计的核心问题在于设计能够同态计算解密电路的SHE,然后利用Gentry的自举定理将SHE转化成FHE。2012年,Gentry等人基于(R)LWE问题构造了一类层次型全同态加密方案,这类方案以电路深度为参数作为辅助输入,利用密钥切换技术控制密文维度膨胀问题,利用模切换技术控制噪声增长,在不需要自举的情况下就能够同态的执行任意有界深度的电路。因此,这类方案在自举的时候不再需要压缩解密电路。此后高效自举算法的设计成为了全同态加密的核心任务。
[0004]目前,改进自举的研究主要有两种途径。第一种方法,旨在将几个消息打包成一个密文并并行刷新它们以实现自举。这类方案可以加密一个环元素而不是一个密文中的单个比特,因此它们自然支持将多个消息打包到独立的“槽”中,并基于中国剩余定理(CRT)执行单指令多数据(SIMD)运算。目前,分别基于BGV、BFV、CKKS方案设计的开源库Helib、SEAL、HEAAN也得到了广泛的应用。
[0005]第二种方法是基于Gentry

Sahai

Waters(GSW)方案设计的同态加密方案的自举技术。这类方案试图尽可能地降低单个密文自举的成本,甚至以在评估电路的每个门之后不得不执行自举为代价。然而,上述方案具有一些限制,即必须对电路的每个门都一次自举,并且不支持将几个消息打包到单个密文中。基于这类方案设计的开源库主要有FHEW和TFHE,这类方案也是目前自举效率最高的方案之一,然而上述的全同态加解密方案依然存在自举效率不够高的问题。
[0006]针对上述的问题,目前尚未提出有效的解决方案。

技术实现思路

[0007]本专利技术实施例提供了一种同态解密方法、装置、非易失性存储介质及计算机设备,以至少解决相关技术中的全同态方案密文自举效率较低的技术问题。
[0008]根据本专利技术实施例的一个方面,提供了一种同态解密方法,包括:获取第一LWE密文和所述第一LWE密文的私钥,其中,所述第一LWE密文为同态加密第一层方案中的待进行同态解密的密文;确定NTRU私钥和旋转多项式,其中,所述NTRU私钥用于对同态加密第二层方案中的NTRU密文进行解密;根据所述第一LWE密文的私钥和所述NTRU私钥,生成盲旋转算法对应的评估密钥,其中,所述评估密钥包括多个自同构密钥和多个计算密钥,所述多个自同构密钥为用于自同构的密钥切换密钥,所述多个自同构密钥基于向量NTRU加密方法采用所述NTRU私钥对自同构后的NTRU私钥进行加密后得到,所述多个计算密钥为基于所述向量NTRU加密方法分别采用所述NTRU私钥对所述第一LWE密文的私钥进行加密后得到;基于所述旋转多项式、所述评估密钥和所述盲旋转算法,对所述第一LWE密文进行同态解密,得到目标NTRU密文,其中,所述目标NTRU密文与所述NTRU私钥对应,所述目标NTRU密文为同态加密第二层方案中的NTRU密文。
[0009]可选地,所述根据所述第一LWE密文的私钥和所述NTRU私钥,生成盲旋转算法对应的评估密钥中的多个计算密钥,包括:根据所述NTRU私钥对应的NTRU密文的密文模数、所述NTRU私钥和整数对中的第一参数,对所述第一LWE密文的私钥中的分量s0进行加密,得到所述多个计算密钥中的evk0密钥,其中,所述第一LWE密文的私钥为s,根据所述NTRU私钥对应的NTRU密文的密文模数、所述NTRU私钥和所述第一参数,对所述第一LWE密文的私钥s中的分量s
i
分别进行加密,得到所述多个计算密钥中的evk
i
密钥,其中,1≤i<n;根据所述NTRU私钥对应的NTRU密文的密文模数、所述NTRU私钥和所述第一参数,对所述第一LWE密文的私钥s中的分量的和进行加密,得到所述多个计算密钥中的evk
n
密钥。
[0010]可选地,所述evk0密钥、所述evk
i
密钥和所述evk
n
密钥通过如下公式计算得到:其中,NTRU'
Q,f,τ
()表示所述向量NTRU加密方法,向量NTRU加密方法的计算公式如下:NTRU

Q,f,τ
(v):=(τ
·
g0/f+B0·
v,


·
g
d
‑1/f+B
d
‑1·
v),v表示待加密的数据,Q表示所述NTRU私钥对应的NTRU密文的密文模数,f表示从私钥分布中抽取的所述NTRU私钥f∈R
Q
,g0至g
d
‑1表示从误差分布中抽取的误差多项式g0,

,g
d
‑1←
R
Q
,τ表示所述整数对中的第一参数,B表示正整数,d=「log
B
Q」。
[0011]可选地,所述根据所述第一LWE密文的私钥和所述NTRU私钥,生成盲旋转算法对应的评估密钥中的多个自同构密钥,包括:确定参数j,其中,所述参数j表示自同构过程中对私钥进行映射的次数;根据所述NTRU私钥对应的NTRU密文的密文模数、所述NTRU私钥和整数对中的第一参数,基于如下公式生成所述多个自同构密钥:ksk
j
=AutoKGen(j,f)=NTRU

Q,f,τ
(f(X
j
)/f(X))其中,ksk
j
表示所述多个自同构密钥,f(X
j
)表示所述自同构后的NTRU私钥,f(X)表示所述NTRU私钥,q表示所述第一LWE密文的密文模数,NTRU'
Q,f,τ
()表示所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种同态解密方法,其特征在于,包括:获取第一LWE密文和所述第一LWE密文的私钥,其中,所述第一LWE密文为同态加密第一层方案中的待进行同态解密的密文;确定NTRU私钥和旋转多项式,其中,所述NTRU私钥用于对同态加密第二层方案中的NTRU密文进行解密;根据所述第一LWE密文的私钥和所述NTRU私钥,生成盲旋转算法对应的评估密钥,其中,所述评估密钥包括多个自同构密钥和多个计算密钥,所述多个自同构密钥为用于自同构的密钥切换密钥,所述多个自同构密钥基于向量NTRU加密方法采用所述NTRU私钥对自同构后的NTRU私钥进行加密后得到,所述多个计算密钥为基于所述向量NTRU加密方法分别采用所述NTRU私钥对所述第一LWE密文的私钥进行加密后得到;基于所述旋转多项式、所述评估密钥和所述盲旋转算法,对所述第一LWE密文进行同态解密,得到目标NTRU密文,其中,所述目标NTRU密文与所述NTRU私钥对应,所述目标NTRU密文为同态加密第二层方案中的NTRU密文。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一LWE密文的私钥和所述NTRU私钥,生成盲旋转算法对应的评估密钥中的多个计算密钥,包括:根据所述NTRU私钥对应的NTRU密文的密文模数、所述NTRU私钥和整数对中的第一参数,对所述第一LWE密文的私钥中的分量s0进行加密,得到所述多个计算密钥中的evk0密钥,其中,所述第一LWE密文的私钥为s,根据所述NTRU私钥对应的NTRU密文的密文模数、所述NTRU私钥和所述第一参数,对所述第一LWE密文的私钥s中的分量s
i
分别进行加密,得到所述多个计算密钥中的evk
i
密钥,其中,1≤i<n;根据所述NTRU私钥对应的NTRU密文的密文模数、所述NTRU私钥和所述第一参数,对所述第一LWE密文的私钥s中的分量的和进行加密,得到所述多个计算密钥中的evk
n
密钥。3.根据权利要求2所述的方法,其特征在于,所述evk0密钥、所述evk
i
密钥和所述evk
n
密钥通过如下公式计算得到:其中,NTRU'
Q,f,τ
()表示所述向量NTRU加密方法,向量NTRU加密方法的计算公式如下:NTRU

Q,f,τ
(v):=(τ
·
g0/f+B0·
v,


·
g
d
‑1/f+B
d
‑1·
v),v表示待加密的数据,Q表示所述NTRU私钥对应的NTRU密文的密文模数,f表示从私钥分布中抽取的所述NTRU私钥f∈R
Q
,g0至g
d
‑1表示从误差分布中抽取的误差多项式g0,

,g
d
‑1←
R
Q
,τ表示所述整数对中的第一参数,B表示正整数,4.根据权利要求1所述的方法,其特征在于,所述根据所述第一LWE密文的私钥和所述NTRU私钥,生成盲旋转算法对应的评估密钥中的多个自同构密钥,包括:确定参数j,其中,所述参数j表示自同构过程中对私钥进行映射的次数;根据所述NTRU私钥对应的NTRU密文的密文模数、所述NTRU私钥和整数对中的第一参
数,基于如下公式生成所述多个自同构密钥:其中,ksk
j
表示所述多个自同构密钥,f(X
j
)表示所述自同构后的NTRU私钥,f(X)表示所述NTRU私钥,q表示所述第一LWE密文的密文模数,NTRU'
Q,f,τ
()表示所述向量NTRU加密方法,N表示所述目标NTRU密文对应的多项式环的次数。5.根据权利要求3所述的方法,其特征在于,所述基于所述旋转多项式、所述评估密钥和所述盲旋转算法,对所述第一LWE密文进行同态解密,得到目标NTRU密文,包括:步骤一:根据所述第一LWE密文,确定多个奇数w
i
,其中,所述第一LWE密文表示为m表示所述第一LWE密文对应的明文,a=(a0,

,a
n
‑1),对于a中的每个a
i
,步骤二:计算得到常量NTRU密文c0(X),其中,Δ表示所述整数对中的第二参数,r表示所述旋转多项式,

表示密文外积,所述密文外积基于如下公式表示环元素c与向量NTRU密文c

进行运算得到新的环元素:表示对于a∈R
Q
,在基B下的比特分解向量满足且‖a
i


<B,c∈R
Q
,向量NTRU密文c

表示通过所述向量NTRU加密方法加密得到的密文;步骤三:计算得到常量NTRU密文c
′0(X),其中,NTRU
Q,f,τ,Δ
()表示常量NTRU加密方法,所述常量NTRU加密方法的计算公式为:NTRU
Q,f,τ,Δ
(u):=τ
·
g/f+Δ
·
u/f,Q表示所述NTRU私钥对应的NTRU密文的密文模数,f表示从私钥分布中抽取的所述NTRU私钥f∈R
Q
,g表示从误差分布中抽取的误差g∈R
Q
,u表示待加密的数据,τ表示所述整数对中的第一参数,Δ表示所述整数对中的第二参数;步骤四:计算得到常量NTRU密文其中,为所述多个自同构密钥之一;步骤五:基于所述常量NTRU密文所述evk
i
密钥和所述多个自同构密钥,按照步骤二到步骤四对所述常量NTRU密文进行迭代,得到常量NTRU密文步骤六:将所述...

【专利技术属性】
技术研发人员:向斌武张江邓燚戴怡然冯登国
申请(专利权)人:北京信息科学技术研究院
类型:发明
国别省市:

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

1