System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种适用于同态运算的轻量加解密方法及装置制造方法及图纸_技高网

一种适用于同态运算的轻量加解密方法及装置制造方法及图纸

技术编号:40942943 阅读:6 留言:0更新日期:2024-04-18 14:59
本说明书实施例提供了一种适用于同态运算的轻量加解密方法及装置。其密钥包括第一密钥p和第二密钥q。密钥以及和值M的数据结构中包含明文区段和缓冲区段,并且密钥的明文区段和缓冲区段的数据为0,和值M的明文区段的数据为明文数据m。在加密过程中,基于随机生成的第二中间数v和随机数生成第一中间数u,u和v的和值即为M。分别基于密钥p和q,对u和v进行与取模有关的运算,可以得到明文数据m的密文。在解密时,基于密钥p和q对密文数据c进行取模有关的逆运算,能够得到第三中间值M′,由于密钥的缓冲区和明文区数据为0,因此能够直接从第三中间值M′的明文区段中解密出明文数据。利用上述方式可以实现轻量的同态加密和解密。

【技术实现步骤摘要】

本说明书一个或多个实施例涉及数据安全,尤其涉及一种适用于同态运算的轻量加解密方法及装置


技术介绍

1、目前,同态加密算法常常应用于联邦学习、多方安全计算等涉及多方联合处理且需要保护数据安全性和隐私性的场景中。同态加密中的加法同态,是指在不解密的情况下,对多个密文进行加法运算,效果等同于对相应的明文做加法运算之后再加密。现有的同态加密算法存在计算量大,运算效率低的问题。

2、因此,希望能有改进的方案,可以提供能够支持同态运算的更高效的加解密算法。


技术实现思路

1、本说明书一个或多个实施例描述了一种适用于同态运算的轻量加解密方法及装置,以防止数据泄露,提高数据的安全性。具体的技术方案如下。

2、第一方面,实施例提供了一种适用于同态运算的加密方法,包括:

3、获取待加密的明文数据m以及密钥,所述密钥包括第一密钥p和第二密钥q;所述密钥包含预设的明文区段,并且该明文区段的数值为0;

4、基于随机生成的随机数和第二中间值v,对所述明文数据m进行第一运算,得到第一中间值u,以使得所述第一中间值u和所述第二中间值v的和值m满足:包含与所述密钥中的明文区段对应的明文区段,并且该明文区段的数据包含所述明文数据m;

5、分别基于所述第一密钥p和第二密钥q,对所述第一中间值u和第二中间值v进行与取模有关的第二运算,以使得第二运算结果分别模所述第一密钥p、所述第二密钥q后的值,分别与所述第一中间值u、所述第二中间值v相关;

6、基于第二运算结果得到所述明文数据m的密文。

7、在一种实施方式中,所述密钥具体包括依次拼接的明文区段和缓冲区段,并且该缓冲区段的数值为0;

8、所述和值m的数据结构包括:依次拼接的明文区段和缓冲区段;明文区段的比特位高于缓冲区段的比特位。

9、在一种实施方式中,所述和值m的数据结构具体包括:高ρ1比特区段、所述明文区段、所述缓冲区段和低ρ2比特区段的依次拼接。

10、在一种实施方式中,所述随机数包括两个随机数;所述对所述明文数据m进行第一运算的步骤,包括:

11、将一所述随机数、所述明文数据m和另一所述随机数分别作为所述数据结构中各个区段的数据,得到构建值;

12、将所述构建值减去所述第二中间值v,得到所述第一中间值u。

13、在一种实施方式中,所述密钥还包括第一数a和第二数b;所述对所述第一中间值u和第二中间值v进行第二运算的步骤,包括:

14、计算所述第一中间值u与所述第一数a的乘积,使用所述第一密钥p对该乘积取模;

15、计算所述第二中间值v与所述第二数b的乘积,使用所述第二密钥q对该乘积取模。

16、在一种实施方式中,所述第二运算结果包括两个取模后的数;所述根据第二运算结果得到所述明文数据m的密文的步骤,包括:

17、使用随机数r1与所述第一密钥p的乘积,以及随机数r2与所述第二密钥q的乘积,分别与取模后的两个结果叠加,得到所述明文数据m的第一密文x和第二密文y。

18、在一种实施方式中,所述对所述第一中间值u和第二中间值v进行第二运算的步骤,包括:

19、使用所述第一密钥p与所述第二密钥q的乘积,对两个乘积的和值取模,所述两个乘积包括:与所述第一中间值u与所述第一密钥p的乘积相关的第一乘积,以及与所述第二中间值v与所述第二密钥q的乘积相关的第二乘积。

20、在一种实施方式中,随机生成随机数和第二中间值v的步骤,包括:

21、基于设定的所述第一中间值u与所述第一密钥p之间的数值关系条件,以及所述第二中间值v与所述第二密钥q之间的数值关系条件,随机生成所述随机数和第二中间值v。

22、第二方面,实施例提供了一种适用于同态运算的解密方法,包括:

23、获取待解密的密文数据c和密钥,所述密钥包括第一密钥p和第二密钥q;所述密钥包含预设的明文区段,并且该明文区段的数值为0;

24、分别基于所述第一密钥p和第二密钥q,对所述密文数据c进行与取模有关的目标运算,得到包含明文区段的第三中间值m′;所述目标运算是加密阶段中对应运算的逆运算;

25、从所述第三中间值m′的明文区段的区段值中提取出解密的明文数据m。

26、在一种实施方式中,所述密钥还包括第一数a和第二数b;所述密文数据c包括第一密文x和第二密文y;

27、所述对所述密文数据c进行与取模有关的目标运算的步骤,包括:

28、计算所述第一数a的逆与所述第一密文x的乘积,使用所述第一密钥p对该乘积取模;

29、计算所述第二数b的逆与所述第二密文y的乘积,使用所述第二密钥q对该乘积取模;

30、基于取模后的两个结果的和值得到第三中间值m′。

31、第三方面,实施例提供了一种适用于同态运算的加密装置,包括:

32、第一获取模块,配置为获取待加密的明文数据m以及密钥,所述密钥包括第一密钥p和第二密钥q;所述密钥包含预设的明文区段,并且该明文区段的数值为0;

33、第一运算模块,配置为基于随机生成的随机数和第二中间值v,对所述明文数据m进行第一运算,得到第一中间值u,以使得所述第一中间值u和所述第二中间值v的和值m满足:包含与所述密钥的明文区段对应的明文区段,并且该明文区段的数据包含所述明文数据m;

34、第二运算模块,配置为分别基于所述第一密钥p和第二密钥q,对所述第一中间值u和第二中间值v进行与取模有关的第二运算,以使得第二运算结果分别模所述第一密钥p、所述第二密钥q后的值,分别与所述第一中间值u、所述第二中间值v相关;

35、第一确定模块,配置为基于第二运算结果得到所述明文数据m的密文。

36、第四方面,实施例提供了一种适用于同态运算的解密装置,包括:

37、第二获取模块,配置为获取待解密的密文数据c和密钥,所述密钥包括第一密钥p和第二密钥q;所述密钥包含预设的明文区段,并且该明文区段的数值为0;

38、第三运算模块,配置为分别基于所述第一密钥p和第二密钥q,对所述密文数据c进行与取模有关的目标运算,得到包含明文区段的第三中间值m′;所述目标运算是加密阶段中对应运算的逆运算;

39、第二确定模块,配置为从所述第三中间值m′的明文区段的区段值中提取出解密的明文数据m。

40、第五方面,实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面至第二方面中任一项所述的方法。

41、第六方面,实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面至第二方面中任一项所述的方法。

42、本说明书实施例提供的方法及装置中,将密钥和待加密数据设置成包含预设的明文本文档来自技高网...

【技术保护点】

1.一种适用于同态运算的加密方法,包括:

2.根据权利要求1所述的方法,所述密钥具体包括依次拼接的明文区段和缓冲区段,并且该缓冲区段的数值为0;

3.根据权利要求2所述的方法,所述和值M的数据结构具体包括:高ρ1比特区段、所述明文区段、所述缓冲区段和低ρ2比特区段的依次拼接。

4.根据权利要求3所述的方法,所述随机数包括两个随机数;所述对所述明文数据m进行第一运算的步骤,包括:

5.根据权利要求1所述的方法,所述密钥还包括第一数a和第二数b;所述对所述第一中间值u和第二中间值v进行第二运算的步骤,包括:

6.根据权利要求5所述的方法,所述第二运算结果包括两个取模后的数;所述根据第二运算结果得到所述明文数据m的密文的步骤,包括:

7.根据权利要求1所述的方法,所述对所述第一中间值u和第二中间值v进行第二运算的步骤,包括:

8.根据权利要求1所述的方法,随机生成随机数和第二中间值v的步骤,包括:

9.一种适用于同态运算的解密方法,包括:

10.根据权利要求9所述的方法,所述密钥还包括第一数a和第二数b;所述密文数据c包括第一密文x和第二密文y;

11.一种适用于同态运算的加密装置,包括:

12.一种适用于同态运算的解密装置,包括:

13.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-9中任一项所述的方法。

14.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-9中任一项所述的方法。

...

【技术特征摘要】

1.一种适用于同态运算的加密方法,包括:

2.根据权利要求1所述的方法,所述密钥具体包括依次拼接的明文区段和缓冲区段,并且该缓冲区段的数值为0;

3.根据权利要求2所述的方法,所述和值m的数据结构具体包括:高ρ1比特区段、所述明文区段、所述缓冲区段和低ρ2比特区段的依次拼接。

4.根据权利要求3所述的方法,所述随机数包括两个随机数;所述对所述明文数据m进行第一运算的步骤,包括:

5.根据权利要求1所述的方法,所述密钥还包括第一数a和第二数b;所述对所述第一中间值u和第二中间值v进行第二运算的步骤,包括:

6.根据权利要求5所述的方法,所述第二运算结果包括两个取模后的数;所述根据第二运算结果得到所述明文数据m的密文的步骤,包括:

7.根据权利要求1所述的方法,...

【专利技术属性】
技术研发人员:潘无穷顾洪良刘晓云韦韬梅冬吴玉铎
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

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

1