本发明涉及信息安全,特别涉及一种密钥生成、加/解密方法及装置。
背景技术:
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任一项所述加密方法加密得到的密文进行解密,包括: