System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本说明书一个或多个实施例涉及计算机领域,尤其涉及密钥生成方法、同态加密方法和装置。
技术介绍
1、同态加密算法是一类常用于外包计算和多方安全计算的加密算法。与普通的加密相比,同态加密具备同态这一性质,即可以对加密状态下的数据进行计算。比如,对a的同态加密密文e(a)和b的同态加密密文e(b)进行运算,可以得到a+b的密文e(a+b),且操作过程中不会泄露a、b或a+b,也不需要使用解密的密钥。
2、其中,针对明文利用加密的密钥进行同态加密处理,可以得到该明文对应的密文。出于隐私保护的需求,上述加密的密钥通常尺寸较大,同态加密处理的时间长。
3、因此,需要提供改进的方案,能够减小加密的密钥的尺寸,缩短同态加密处理的时间。
技术实现思路
1、本说明书一个或多个实施例描述了一种密钥生成方法、同态加密方法和装置,能够减小加密的密钥的尺寸,缩短同态加密处理的时间。
2、第一方面,提供了一种密钥生成方法,方法包括:
3、获取预先设定的安全参数组,其包括模数q、第一幂次、第二幂次、第三幂次;
4、在模为q的环上生成单个符合均匀分布的第一多项式,所述第一多项式的最高次幂为第一幂次;
5、在模为q的环上生成单个符合高斯分布的第二多项式,所述第二多项式的最高次幂为第二幂次;
6、在模为q的环上生成单个符合所述高斯分布的目标噪声多项式,所述目标噪声多项式的最高次幂为第三幂次;
7、根据所述第一多项式和第二多项
8、在一种可能的实施方式中,所述第一幂次为大于2的整数,q为奇数。
9、在一种可能的实施方式中,所述第二幂次为所述第一幂次与所述第三幂次之和再减去1。
10、在一种可能的实施方式中,所述第二幂次为所述第三幂次减去预设常数。
11、在一种可能的实施方式中,所述高斯分布的方差为q乘以预先设定的噪声率,所述噪声率属于0到1的区间范围。
12、在一种可能的实施方式中,所述中间积采用如下方式确定:
13、对所述第一多项式和第二多项式进行多项式乘法,得到目标多项式;
14、保留所述目标多项式中间的第三幂次加1个系数,得到所述第一多项式和第二多项式的中间积。
15、进一步地,所述第一幂次加上所述第二幂次减去所述第三幂次是奇数。
16、在一种可能的实施方式中,所述确定第三多项式,包括:
17、对所述中间积和两倍的所述目标噪声多项式进行求和,得到的求和结果作为所述第三多项式。
18、第二方面,提供了一种同态加密方法,方法包括:
19、获取明文、根据第一方面的方法生成的公钥、以及第一方面方法中的安全参数组,所述公钥包括第一多项式和第三多项式,所述安全参数组包括模数q、第一幂次、第二幂次、第三幂次;
20、在模为q的环上生成单个随机多项式,所述随机多项式的最高次幂根据所述第一幂次、第二幂次、第三幂次而确定;
21、在模为q的环上生成符合高斯分布的第一噪声多项式和第二噪声多项式;
22、根据所述随机多项式、第一多项式和第一噪声多项式,确定第一加密多项式;
23、根据所述随机多项式、第三多项式、第二噪声多项式和明文,确定第二加密多项式;所述第一加密多项式和第二加密多项式构成与所述明文对应的密文。
24、在一种可能的实施方式中,所述随机多项式符合均匀分布、高斯分布或伯努利分布。
25、在一种可能的实施方式中,所述确定第一加密多项式,包括:
26、对所述随机多项式和所述第一多项式进行多项式乘法,得到第一中间多项式;
27、将所述第一中间多项式和两倍的第一噪声多项式进行求和,得到的求和结果作为所述第一加密多项式。
28、在一种可能的实施方式中,所述确定第一加密多项式,包括:
29、计算所述随机多项式和所述第一多项式的中间积,得到第二中间多项式;
30、将所述第二中间多项式和两倍的第一噪声多项式进行求和,得到的求和结果作为所述第一加密多项式。
31、在一种可能的实施方式中,所述确定第二加密多项式,包括:
32、计算所述随机多项式和所述第三多项式的中间积,得到第三中间多项式;
33、将所述第三中间多项式、两倍的第二噪声多项式和明文进行求和,得到的求和结果作为所述第二加密多项式。
34、第三方面,提供了一种密钥生成装置,装置包括:
35、获取单元,用于获取预先设定的安全参数组,其包括模数q、第一幂次、第二幂次、第三幂次;
36、第一生成单元,用于在模为q的环上生成单个符合均匀分布的第一多项式,所述第一多项式的最高次幂为第一幂次;
37、第二生成单元,用于在模为q的环上生成单个符合高斯分布的第二多项式,所述第二多项式的最高次幂为第二幂次;
38、第三生成单元,用于在模为q的环上生成单个符合所述高斯分布的目标噪声多项式,所述目标噪声多项式的最高次幂为第三幂次;
39、确定单元,用于根据所述第一生成单元得到的第一多项式和所述第二生成单元得到的第二多项式的中间积,以及所述第三生成单元得到的目标噪声多项式,确定第三多项式;所述第一多项式和所述第三多项式构成公钥,所述第二多项式构成与所述公钥对应的私钥。
40、第四方面,提供了一种同态加密装置,装置包括:
41、获取单元,用于获取明文、根据第三方面的装置生成的公钥、以及第三方面装置中的安全参数组,所述公钥包括第一多项式和第三多项式,所述安全参数组包括模数q、第一幂次、第二幂次、第三幂次;
42、第一生成单元,用于在模为q的环上生成单个随机多项式,所述随机多项式的最高次幂根据所述第一幂次、第二幂次、第三幂次而确定;
43、第二生成单元,用于在模为q的环上生成符合高斯分布的第一噪声多项式和第二噪声多项式;
44、第一确定单元,用于根据所述第一生成单元得到的随机多项式、所述获取单元获取的第一多项式和所述第二生成单元得到的第一噪声多项式,确定第一加密多项式;
45、第二确定单元,用于根据所述第一生成单元得到的随机多项式、所述获取单元获取的第三多项式、所述第二生成单元得到的第二噪声多项式和所述获取单元获取的明文,确定第二加密多项式;所述第一加密多项式和第二加密多项式构成与所述明文对应的密文。
46、第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
47、第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行本文档来自技高网...
【技术保护点】
1.一种密钥生成方法,所述方法包括:
2.如权利要求1所述的方法,其中,所述第一幂次为大于2的整数,q为奇数。
3.如权利要求1所述的方法,其中,所述第二幂次为所述第一幂次与所述第三幂次之和再减去1。
4.如权利要求1所述的方法,其中,所述第二幂次为所述第三幂次减去预设常数。
5.如权利要求1所述的方法,其中,所述高斯分布的方差为q乘以预先设定的噪声率,所述噪声率属于0到1的区间范围。
6.如权利要求1所述的方法,其中,所述中间积采用如下方式确定:
7.如权利要求6所述的方法,其中,所述第一幂次加上所述第二幂次减去所述第三幂次是奇数。
8.如权利要求1所述的方法,其中,所述确定第三多项式,包括:
9.一种同态加密方法,所述方法包括:
10.如权利要求9所述的方法,其中,所述随机多项式符合均匀分布、高斯分布或伯努利分布。
11.如权利要求9所述的方法,其中,所述确定第一加密多项式,包括:
12.如权利要求9所述的方法,其中,所述确定第一加密多项式,包括
13.如权利要求9所述的方法,其中,所述确定第二加密多项式,包括:
14.一种密钥生成装置,所述装置包括:
15.一种同态加密装置,所述装置包括:
16.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-13中任一项的所述的方法。
17.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-13中任一项的所述的方法。
...【技术特征摘要】
1.一种密钥生成方法,所述方法包括:
2.如权利要求1所述的方法,其中,所述第一幂次为大于2的整数,q为奇数。
3.如权利要求1所述的方法,其中,所述第二幂次为所述第一幂次与所述第三幂次之和再减去1。
4.如权利要求1所述的方法,其中,所述第二幂次为所述第三幂次减去预设常数。
5.如权利要求1所述的方法,其中,所述高斯分布的方差为q乘以预先设定的噪声率,所述噪声率属于0到1的区间范围。
6.如权利要求1所述的方法,其中,所述中间积采用如下方式确定:
7.如权利要求6所述的方法,其中,所述第一幂次加上所述第二幂次减去所述第三幂次是奇数。
8.如权利要求1所述的方法,其中,所述确定第三多项式,包括:
9.一种同态加密方法,所述方法包括:
...【专利技术属性】
技术研发人员:陈文彬,王光标,
申请(专利权)人:蚂蚁区块链科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。