1.本发明涉及全同态加密算法技术领域,具体为一种通用的同态加密运算方式。
背景技术:
2.全同态加密算法指的是具有全同态性质的加密方法。该算法产出的密文支持数学运算,基于密文运算的结果解密之后与基于密文运算的结果相同。全同态加密起步较晚,2009年gentry提出了一个基于理想格的全同态加密技术,该方案在理论上是十分完善的,但是方案的实现难度非常高,并且执行效率非常低,不具有实现价值。之后brakerski在2011年提出了一个基于lwe的全同态方案,该方案不使用bootstrap技术构建了一个全同态方案,具有非常明显的进步。之后,他在2014年进一步提出了一个性能更优的全同态加密方案。但是相比较基于明文的运算效率,该方案效率依然低下。halvei等人在2010年基于bgn密码提出了一种实用方案,其安全性基于ring
‑
lwe问题,支持任意次数的加法和一次乘法。支持比较大的消息空间,是一种实用化的方案,但是只能计算一次乘法运算的性质仍然限制了他的实用价值。
3.为了提高在全同态加密算法下密文的运算效率,我们提出了一种通用的同态加密运算方式。
技术实现要素:
4.本发明的目的在于提供一种通用的同态加密运算方式,能够提高密文在全同态加密算法下,密文进行加法和乘法的运算效率。
5.为实现上述目的,本发明提供如下技术方案:一种通用的同态加密运算方式,包括以下步骤:
6.第一步,通过现有的对称全同态加密算法对明文进行加密,生成的密文c
a
=(c
a,1
,c
a,2
),c
b
=(c
b,1
,c
b,2
);
7.第二步,按照如下公式对上述获得的密文进行运算:
8.加法运算公式为:c
add,1
=c
a,1
+c
b,1
modn;
9.c
add,2
=c
a,2
+c
b,2
modn;
10.则密文进行加法运算获得的结果为:c
add
=(c
add,1
,c
add,2
);
11.乘法运算公式为:
12.c
mul,1
=c
a,1
·
c
b,1
modn;
13.c
mul,2
=c
a,2
·
c
b,2
modn;
14.则密文进行乘法运算获得的结果为:c
mul
=(c
mul,1
,c
mul,2
)。
15.其中,n为公开参数。
16.优选的,公开参数的获取方法如下:对系统输入的安全参数,随机选取两个λ位的大素数p、q,则公开参数为n=pq。
17.与现有技术相比,本发明的有益效果如下:
18.通过本发明所提出的运算方式,可以对明文经过对称全同态加密算法加密后生成的密文直接进行加法运算和乘法运算,大大提高了对称全同态加密密文上的运算效率,通过使用该发明提出的方法,能够正确的进行对称全同态加密算法的密文运算。
具体实施方式
19.下面将结合本发明的实施例,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.本发明提供一种技术方案:一种通用的同态加密运算方式,包括以下步骤:第一步,通过现有的对称全同态加密算法对明文进行加密,生成的密文c
a
,c
b
;第二步,按照特定公式对上述获得的密文c
a
和c
b
进行加法运算和乘法运算,可以得到密文进行加法运算的结果c
add
和密文进行乘法运算的结果c
mul
。
21.在本实施例的第一步中,可以通过现有的对称全同态加密算法对明文进行加密,生成的密文c
a
=(c
a,1
,c
a,2
),c
b
=(c
b,1
,c
b,2
);
22.在本实施例的第二步中,按照如下公式对上述获得的密文c
a
,密文c
b
进行运算:
23.加法运算公式为:c
add,1
=c
a,1
+c
b,1
modn;
24.c
add,2
=c
a,2
+c
b,2
modn;
25.则密文进行加法运算获得的结果为:c
add
=(c
add,1
,c
add,2
);
26.乘法运算公式为:
27.c
mul,1
=c
a,1
·
c
b,1
modn;
28.c
mul,2
=c
a,2
·
c
b,2
modn;
29.则密文进行乘法运算获得的结果为:c
mul
=(c
mul,1
,c
mul,2
)。
30.其中,n为公开参数。
31.本实施例中,公开参数的获取方法如下:对系统输入的安全参数,随机选取两个λ位的大素数p、q,则公开参数为n=pq。
32.工作原理:通过本发明所提出的运算方式,可以对明文经过对称全同态加密算法加密后生成的密文直接进行加法运算和乘法运算,大大提高了对称全同态加密密文上的运算效率,通过使用该发明提出的方法,能够正确的进行对称全同态加密算法的密文运算。
33.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
技术特征:
1.一种通用的同态加密运算方式,其特征在于,包括以下步骤:第一步,通过现有的对称全同态加密算法对明文进行加密,生成的密文c
a
=(c
a,1
,c
a,2
),c
b
=(c
b,1
,c
b,2
);第二步,按照如下公式对上述获得的密文进行运算:加法运算公式为:c
add,1
=c
a,1
+c
b,1
mod n;c
add,2
=c
a,2
+c
b,2
mod n;则密文进行加法运算获得的结果为:c
add
=(c
add,1
,c
add,2
);乘法运算公式为:c
mul,1
=c
a,1
·
c
b,1
mod n;c
mul,2
=c
a,2
·
c
b,2
mod n;则密文进行乘法运算获得的结果为:c
mul
=(c
mul,1
,c
mul,2
)。其中,n为公开参数。2.根据权利要求1所述的一种通用的同态加密运算方式,其特征在于,公开参数的获取方法如下:对系统输入的安全参数,随机选取两个λ位的大素数p、q,则公开参数为n=pq。
技术总结
本发明公开了一种通用的同态加密运算方式,包括以下步骤:第一步,通过现有的对称全同态加密算法对明文进行加密,生成的密文C
技术研发人员:庞皓天 曹珍富 周俊 魏立斐 李朋林
受保护的技术使用者:上海同态信息科技有限责任公司
技术研发日:2021.07.22
技术公布日:2021/9/21