一种密钥生成、加解密方法及装置与流程

专利检索2025-04-01  13


本发明涉及信息安全,特别涉及一种密钥生成、加/解密方法及装置。


背景技术:

1、随着智能终端设备的快速普及,大量的个人信息数据被各种网络平台所采集。在现实生活中,个人信息的泄露已屡见不鲜。不仅个人对隐私数据的保密愈发关注,网络个人隐私保护和网络安全建设方面的法律法规也日渐完善。在网络通讯系统的隐私和安全保护方面,数据加密是一种十分有效的抵抗数据攻击的方法。对于传统的公钥密码体制,私钥通常由某一用户保存,一旦此用户存在泄密行为,可能就会造成严重的信息泄露;或者当此用户将私钥丢失时,就无法进行正常的解密。门限密码通过将密钥分配给多个密码用户分散保存,当需要解密时,需要达到门限数量的用户一起协作,才能正常对加密数据进行解密。并且当少部分用户的密钥丢失时,仍然能够正常对加密数据进行解密。由于格密码具有良好的归约特性和较低的计算复杂度,其成为被广泛研究的后量子密码。但现有基于格的分布式门限密码方案中,需要存在专门的可信中心作为秘密分发者,而现实中往往难以评估可信中心的可信度,导致以可信中心为基础的门限加/解密方案的安全性未能完全保障。


技术实现思路

1、为了提高现有技术中门限密码安全性,克服实际操作过程中可能存在的因可信中心的可信度失效,导致加/解密过程安全度降低的问题本技术提供以下技术方案。

2、第一方面,提供一种密钥生成方法,其中,密钥包括公钥、私钥,公钥由加密者持有,私钥由多个解密者持有,响应于根据公钥对明文加密所得的密文,至少需要门限数量的解密者同时参与解密,对于任一解密者,密钥生成方法包括,获取密钥参数集{ d,b,k,q,m },其中,表示数据的维数,λ表示安全参数,,b/n表示噪声数据的界限,n为多个解密者的数量,k表示公钥的行数,q表示在模q的意义下运算,m表示待加密数据范围。

3、选取秘密值,根据秘密值获得多项式,计算得到自身函数值,并将发送至多个解密者中相应的其他解密者。

4、接收多个解密者中的其他解密者所发送的相应函数值,并根据相应函数值确定私钥。

5、根据确定,并将向多个解密者中的其他解密者进行广播,其中,为由k个中的元素组成的向量,表示r模q形成的多项式环;为由k个中的元素组成的向量,表示其中的元素e以预设概率满足:

6、的任一分布,<mi>r</mi><mi>=z[</mi><mi>x]/(f(x))</mi>,,<mi>z[</mi><mi>x]</mi>表示整数,i为自然数,用于区分多个解密者的编号。

7、获取多个解密者中的其他解密者所广播的相应,根据,计算得到,并根据确定公钥。

8、进一步地,响应于根据公钥对明文加密所得的密文,由多个解密者同时全部参与解密,对于任一解密者,密钥生成方法包括,选取秘密值,并将秘密值直接作为私钥。

9、进一步地,对于多个解密者中首个执行密钥生成方法的解密者,获取密钥参数集{ d,b,k,q,m }之前,还包括,获取多个解密者的数量以及安全参数。

10、根据多个解密者的数量以及安全参数,生成密钥参数集{ d,b,k,q,m }。

11、将密钥参数集{ d,b,k,q,m }向多个解密者中的其他解密者进行广播。

12、进一步地,根据秘密值获得多项式,包括,选取任意随机数,。

13、根据秘密值,以及任意随机数,,构造多项式:

14、

15、其中,t-1为多项式的最高次数,其中,t表示门限数量。

16、进一步地,接收多个解密者中的其他解密者所发送的相应函数值,并根据相应函数值确定私钥,包括,接收多个解密者中的其他解密者发送的相应函数值。

17、并根据多个解密者中的其他解密者发送的相应函数值,以及自身函数值计算:

18、作为份额,将份额作为私钥。

19、进一步地,获取多个解密者中的其他解密者所广播的相应,根据,计算得到,并根据确定公钥,包括,根据获取,并且根据获取。

20、将、分别转换为列向量,组成矩阵:

21、

22、作为公钥;其中,表示的转置,表示的转置。

23、进一步地,根据获取,并且根据获取,包括,从中随机抽取k个元素组成向量,作为。

24、从中随机抽取k各元素组成向量,作为。

25、进一步地,密钥生成方法还包括,将生成的公钥向全体加密者进行广播。

26、第二方面,提供一种密钥生成装置,其中,密钥包括公钥、私钥,公钥由加密者持有,私钥由多个解密者持有,密钥生成装置包括,参数获取模块,用于获取密钥参数集{ d,b,k,q,m },其中,表示数据的维数,λ表示安全参数,,b/n表示噪声数据的界限,n为多个解密者的数量,k表示公钥的行数,q表示在模q的意义下运算,m表示待加密数据范围。

27、秘密发送模块,用于选取秘密值,根据秘密值获得多项式,计算得到自身函数值,并将发送至多个解密者中相应的其他解密者。

28、第一私钥生成模块,用于接收多个解密者中的其他解密者所发送的相应函数值,并根据相应函数值确定私钥。

29、广播模块,用于根据确定,并将向多个解密者中的其他解密者进行广播,其中,为由k个中的元素组成的向量,表示r模q形成的多项式环;为由k个中的元素组成的向量,表示其中的元素e以预设概率满足:

30、的任一分布,<mi>r</mi><mi>=z[</mi><mi>x]/(f(x))</mi>,,<mi>z[</mi><mi>x]</mi>表示整数,i为自然数,用于区分多个解密者的编号。

31、公钥生成模块,用于获取多个解密者中的其他解密者所广播的相应,根据,计算得到,并根据确定公钥。

32、第三方面,提供一种加密方法,响应于根据公钥对明文加密所得的密文,至少需要门限数量的解密者同时参与解密,加密方法包括,获取明文以及第一方面中根据公钥对明文加密所得的密文,至少需要门限数量的解密者同时参与解密的加密方法所生成的公钥,根据:

33、对明文进行加密,获得密文,其中,为密文,为随机数向量,,为明文,并且,表示r模m形成的多项式环。

34、进一步地,加密方法还包括,根据:

35、验证方法的正确性。

36、进一步地,加密方法还包括,根据:

37、以预设概率成立,验证方法的安全性。

38、进一步地,加密方法还包括,根据:

39、验证方法的同态性。

40、第四方面,提供一种加密装置,包括,第一明文、公钥获取模块,用于获取第三方面记载的公钥。

41、加密模块,用于根据:

42、对明文进行加密,获得密文,其中,为密文,为随机数向量,,为明文,并且,表示r模m形成的多项式环。

43、第五方面,提供一种加密方法,响应于根据公钥对明文加密所得的密文,由多个解密者同时全部参与解密,加密方法包括,获取明文以及第一方面中根据公钥对明文加密所得的密文,由多个解密者同时全部参与解密,对于任一解密者的密钥生成方法所生成的公钥,根据:

44、对明文进行加密,获得密文,其中,为密文,为随机数向量,,为明文,并且,表示r模m形成的多项式环。

45、进一步地,加密方法还包括,根据:

46、验证方法的正确性。

47、进一步地,加密方法还包括,根据:

48、以预设概率成立,验证方法的安全性。

49、进一步地,加密方法还包括,根据:

50、验证方法的同态性。

51、第六方面,提供一种加密装置,包括,第二明文、公钥获取模块,用于获取明文以及第五方面记载的公钥。

52、加密模块,用于根据:

53、对明文进行加密,获得密文,其中,为密文,为随机数向量,,为明文,并且,表示r模m形成的多项式环。

54、第七方面,提供一种解密方法,响应于对采用由第三方面记载的加密方法加密得到的密文进行解密,解密方法包括,计算:

55、并向多个解密者中的其他解密者进行广播,其中,,。

56、根据多个解密用户中的其他解密用户公布的si,计算:

57、获得明文,其中,m为明文。

58、第八方面,提供一种解密装置,响应于对采用由第三方面记载的加密方法加密得到的密文进行解密,包括,第一计算模块,用于计算:

59、

60、并向多个解密者中的其他解密者进行广播,其中,,。

61、第二计算模块,用于根据多个解密用户中的其他解密用户公布的si,计算:

62、获得明文。

63、第九方面,提供一种解密方法,响应于对由第五方面记载的加密方法加密得到的密文进行解密,包括,对于多个解密用户中的任一解密用户计算:

64、

65、并向多个解密用户中的其他解密用户公布计算结果,其中,。

66、根据多个解密用户中的其他解密用户公布的si,计算:

67、获得明文。

68、第十方面,提供一种解密装置,响应于对由第五方面记载的加密方法加密得到的密文进行解密,包括,第三计算模块,用于对于多个解密用户中的任一解密用户计算:

69、

70、并向多个解密用户中的其他解密用户公布计算结果,其中,。

71、第四计算模块,用于根据多个解密用户中的其他解密用户公布的si,计算:

72、获得明文。

73、第十一方面,提供一种密钥生成系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的密钥生成程序,所述处理器执行所述密钥生成程序时,实现第一方面记载的密钥生成方法。

74、第十二方面,提供一种计算机可读存储介质,其上存储有密钥生成程序,所述密钥生成程序被处理器执行时,实现第一方面记载的密钥生成方法。

75、第十三方面,提供一种加密系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的加密程序,所述处理器执行所述加密程序时,实现第三方面或第五方面记载的加密方法。

76、第十四方面,提供一种计算机可读存储介质,其上存储有加密程序,所述加密程序被处理器执行时,实现第三方面或第五方面记载的加密方法。

77、第十五方面,提供一种解密系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的解密程序,所述处理器执行所述加密程序时,实现第七方面或第九方面记载的解密方法。

78、第十六方面,提供一种计算机可读存储介质,其上存储有解密程序,所述解密程序被处理器执行时,实现第七方面或第九方面记载的解密方法。

79、本发明实施例提供的技术方案带来的有益效果是:

80、1. 通过实施本技术实施例记载的密钥生成、加/解密方法及装置,生成了一种无信任中心的私钥和公钥,提高了密钥安全性。

81、2. 对明文采用无信任中心的门限密码进行加/解密,增加了加/解密过程的安全性。

82、3. 当部分私钥丢失时,仍然能够以达到门限数量的部分成员所持的私钥进行解密,保障加/解密过程的正常运行。

83、4. 运算仅涉及矩阵和向量的加法、乘法,无需进行幂运算,在并行计算下可以大大提高加解密方法的运行效率。


技术特征:

1.一种密钥生成方法,其特征在于,所述密钥包括公钥、私钥,所述公钥由加密者持有,所述私钥由多个解密者持有,响应于根据所述公钥对明文加密所得的密文,至少需要门限数量的解密者同时参与解密,对于任一解密者,所述密钥生成方法包括:

2.根据权利要求1所述的密钥生成方法,其特征在于,响应于根据所述公钥对明文加密所得的密文,由所述多个解密者同时全部参与解密,对于任一解密者,所述密钥生成方法包括:

3.根据权利要求1或2所述的密钥生成方法,其特征在于,对于所述多个解密者中首个执行所述密钥生成方法的解密者,所述获取密钥参数集{ d,b,k,q,m }之前,还包括:

4.根据权利要求1所述的密钥生成方法,其特征在于,所述根据所述秘密值获得多项式,包括:

5.根据权利要求1所述的密钥生成方法,其特征在于,所述接收所述多个解密者中的其他解密者所发送的相应函数值,并根据所述相应函数值确定私钥,包括:

6.根据权利要求1或2所述的密钥生成方法,其特征在于,所述获取所述多个解密者中的其他解密者所广播的相应,根据,计算得到,并根据确定公钥,包括:

7.根据权利要求6所述的密钥生成方法,其特征在于,所述根据获取,并且根据获取,包括:

8.根据权利要求1任一项所述的密钥生成方法,其特征在于,所述方法还包括:

9.一种密钥生成装置,其特征在于,所述密钥包括公钥、私钥,所述公钥由加密者持有,所述私钥由多个解密者持有,所述密钥生成装置包括:

10.一种加密方法,其特征在于,响应于根据所述公钥对明文加密所得的密文,至少需要门限数量的解密者同时参与解密,所述加密方法包括:

11.根据权利要求10所述的加密方法,其特征在于,所述加密方法还包括:

12.根据权利要求10所述的加密方法,其特征在于,所述加密方法还包括:

13.根据权利要求10所述的加密方法,其特征在于,所述加密方法还包括:

14.一种加密装置,其特征在于,所述装置包括:

15.一种加密方法,其特征在于,响应于根据所述公钥对明文加密所得的密文,由所述多个解密者同时全部参与解密,所述加密方法包括:

16.根据权利要求15所述的加密方法,其特征在于,所述加密方法还包括:

17.根据权利要求15所述的加密方法,其特征在于,所述加密方法还包括:

18.根据权利要求15所述的加密方法,其特征在于,所述加密方法还包括:

19.一种加密装置,其特征在于,所述装置包括:

20.一种解密方法,其特征在于,响应于对采用由权利要求10-13任一项所述加密方法加密得到的密文进行解密,包括:

21.一种解密装置,其特征在于,响应于对采用由权利要求10-13任一项所述加密方法加密得到的密文进行解密,包括:

22.一种解密方法,其特征在于,响应于对由权利要求15-18任一项所述加密方法加密得到的密文进行解密,包括:

23.一种解密装置,其特征在于,响应于对由权利要求15-18任一项所述加密方法加密得到的密文进行解密,包括:


技术总结
本发明公开一种密钥生成、加/解密方法及装置,涉及信息安全技术领域。密钥生成方法包括:获取密钥参数集;选取秘密值,根据秘密值获得多项式,计算得到自身函数值,并将发送至多个解密者中相应的其他解密者;接收多个解密者中的其他解密者所发送的相应函数值,并根据相应函数值确定私钥;根据确定,并将向多个解密者中的其他解密者进行广播;获取多个解密者中的其他解密者所广播的相应,根据,计算得到,并根据确定公钥。通过实施本发明记载的密钥生成方法,生成了一种无信任中心的私钥和公钥,提高了密钥安全性。

技术研发人员:王小伟,张旭,孙华锦
受保护的技术使用者:山东云海国创云计算装备产业创新中心有限公司
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1151808.html

最新回复(0)