本技术涉及数据安全领域,尤其涉及一种密钥生成方法、电子设备和可读存储介质。
背景技术:
1、数据加密,是指通过加密算法和加密密钥将传输的数据明文转变为数据密文,而解密则是通过解密算法和解密密钥将数据密文恢复为数据明文的过程。数据加密是对信息进行保护的一种最可靠的办法,它利用密码技术对信息进行加密,实现信息隐蔽,从而起到保护信息的安全的作用。
2、其中,非对称加密是数据加密中的一种常见的加密方式,对于非对称加密,其基本加密过程是:数据接收方生成一个包含公钥和私钥的密钥对,其中,私钥数据接收方自己保存,而公钥则公开发送给数据发送方。这样当数据发送方向数据接收方发送数据时,数据发送方会先利用公钥对原始数据进行加密形成密文,并将加密后的密文发送给数据接收方,数据接收方接收到密文之后,利用私钥对密文进行解密,获得原始数据。
3、可以看出,在现有数据加密技术中,私钥是由数据接收方单独生成和保管的,一旦泄露极易导致发生信息安全问题。
技术实现思路
1、本技术提供一种密钥生成方法、电子设备和可读存储介质,用以解决现有数据加密技术中,由于私钥是由数据接收方单独生成和保管,导致私钥容易泄露威胁信息安全的技术问题。
2、根据本技术公开的第一方面,本技术了提供一种密钥生成方法,应用于数据接收方,所述数据接收方与签发机构连接,包括:
3、生成密钥生成请求,并将所述密钥申请请求发送至签发机构,以用于所述签发机构根据所述密钥生成请求生成随机私钥种子a1,以及用于所述签发机构将所述随机私钥种子a1拆分为分片种子a11和分片种子a12,以及用于所述签发机构基于所述随机私钥种子a1生成分片公钥p1;
4、接收所述签发机构发送的所述分片种子a11;
5、生成随机私钥种子a2,并基于所述随机私钥种子a2生成分片公钥p2,以及将所述随机私钥种子a2拆分为分片种子a21和分片种子a22,将所述分片种子a11和所述分片种子a21组合生成分片私钥x1;
6、将所述分片公钥p2和所述分片种子a22发送至所述签发机构,以用于所述签发机构将所述分片公钥p1和所述分片公钥p2组合生成公钥pk,以及用于所述签发机构将所述分片种子a12和所述分片种子a22组合生成分片私钥x2。
7、在一种可行的实施方式中,所述方法还包括:
8、生成私钥更换请求,并将所述私钥更换请求发送至所述签发机构,以用于所述签发机构根据所述私钥更换请求将所述随机私钥种子a1拆分为分片种子a11’和分片种子a12’;
9、接收所述签发机构发送的所述分片种子a11’;
10、将所述随机私钥种子a2拆分为分片种子a21’和分片种子a22’,将所述分片种子a11’和所述分片种子a21’组合生成分片私钥x1’;
11、将所述分片种子a22’发送至所述签发机构,以用于所述签发机构将所述分片种子a12’和所述分片种子a22’组合生成分片私钥x2’。
12、在一种可行的实施方式中,基于所述随机私钥种子a2生成分片公钥p2,包括:
13、将所述随机私钥种子a2进行椭圆曲线定点运算生成所述分片公钥p2。
14、在一种可行的实施方式中,所述方法还包括:
15、在生成随机私钥种子a2之前,基于零知识证明协议,验证所述签发机构持有的所述分片种子a12是否有效,若验证所述签发机构持有的所述分片种子a12有效,则执行生成随机私钥种子a2的步骤;以及
16、在将所述随机私钥种子a2拆分为分片种子a21’和分片种子a22’之前,基于零知识证明协议,验证所述签发机构持有的所述分片种子a12′是否有效,若验证所述签发机构持有的所述分片种子a12’有效,则执行将所述随机私钥种子a2拆分为分片种子a21’和分片种子a22’的步骤。
17、根据本技术公开的第二方面,本技术了提供一种密钥生成方法,应用于签发机构,所述签发机构与数据接收方连接,包括:
18、接收数据接收方发送的密钥生成请求;
19、根据所述密钥生成请求生成随机私钥种子a1,并基于所述随机私钥种子a1生成分片公钥p1;
20、将所述随机私钥种子a1拆分为分片种子a11和分片种子a12,并将所述分片种子a11发送至所述数据接收方,以用于所述数据接收方基于生成的随机私钥种子a2生成分片公钥p2,以及用于所述数据接收方将所述随机私钥种子a2拆分为分片种子a21和分片种子a22,以及用于所述数据接收方将所述分片种子a11和所述分片种子a21组合生成分片私钥x1;
21、接收所述数据接收方发送的所述分片公钥p2和所述分片种子a22;
22、将所述分片公钥p1和所述分片公钥p2组合生成公钥pk,以及将所述分片种子a12和所述分片种子a22组合生成分片私钥x2。
23、在一种可行的实施方式中,所述方法还包括:
24、接收所述数据接收方发送的私钥更换请求,并根据所述私钥更换请求将所述随机私钥种子a1拆分为分片种子a11’和分片种子a12’;
25、将所述分片种子a11’送至所述数据接收方,以用于所述数据接收方将所述随机私钥种子a2拆分为分片种子a21’和分片种子a22’,以及用于所述数据接收方将所述分片种子a11’和所述分片种子a21’组合生成分片私钥x1’;
26、接收所述数据接收方发送的所述分片种子a22’,并将所述分片种子a12’和所述分片种子a22’组合生成分片私钥x2’。
27、在一种可行的实施方式中,基于所述随机私钥种子a1生成分片公钥p1,包括:
28、将所述随机私钥种子a1进行椭圆曲线定点运算生成所述分片公钥p1。
29、在一种可行的实施方式中,所述方法还包括:
30、在将所述分片公钥p1和所述分片公钥p2组合生成公钥pk之前,基于零知识证明协议,验证所述数据接收方持有的所述分片种子a21是否有效,若验证所述签发机构持有的所述分片种子a21有效,则将所述分片公钥p1和所述分片公钥p2组合生成公钥pk的步骤;以及
31、在将所述分片种子a12’和所述分片种子a22’组合生成分片私钥x2’之前,基于零知识证明协议,验证所述数据接收方持有的所述分片种子a21′是否有效,若验证所述签发机构持有的所述分片种子a21’有效,则执行将所述分片种子a12’和所述分片种子a22’组合生成分片私钥x2’的步骤。
32、根据本技术公开的第三方面,本技术了提供一种密钥生成装置,应用于数据接收方,所述数据接收方与签发机构连接,包括:
33、请求生成模块,用于生成密钥生成请求,并将所述密钥申请请求发送至签发机构,以用于所述签发机构根据所述密钥生成请求生成随机私钥种子a1,以及用于所述签发机构将所述随机私钥种子a1拆分为分片种子a11和分片种子a12,以及用于所述签发机构基于所述随机私钥种子a1生成分片公钥p1;
34、数据接收模块,用于接收所述签发机构发送的所述分片种子a11;
35、密钥生成模块,用于生成随机私钥种子a2,并基于所述随机私钥种子a2生成分片公钥p2,以及将所述随机私钥种子a2拆分为分片种子a21和分片种子a22,将所述分片种子a11和所述分片种子a21组合生成分片私钥x1;
36、数据发送模块,用于将所述分片公钥p2和所述分片种子a22发送至所述签发机构,以用于所述签发机构将所述分片公钥p1和所述分片公钥p2组合生成公钥pk,以及用于所述签发机构将所述分片种子a12和所述分片种子a22组合生成分片私钥x2。
37、根据本技术公开的第四方面,本技术了提供一种密钥生成装置,应用于签发机构,所述签发机构与数据接收方连接,包括:
38、请求接收模块,用于接收数据接收方发送的密钥生成请求;
39、密钥生成模块,用于根据所述密钥生成请求生成随机私钥种子a1,并基于所述随机私钥种子a1生成分片公钥p1;
40、数据发送模块,用于将所述随机私钥种子a1拆分为分片种子a11和分片种子a12,并将所述分片种子a11发送至所述数据接收方,以用于所述数据接收方基于生成的随机私钥种子a2生成分片公钥p2,以及用于所述数据接收方将所述随机私钥种子a2拆分为分片种子a21和分片种子a22,以及用于所述数据接收方将所述分片种子a11和所述分片种子a21组合生成分片私钥x1;
41、数据接收模块,用于接收所述数据接收方发送的所述分片公钥p2和所述分片种子a22;
42、密钥生成模块,用于将所述分片公钥p1和所述分片公钥p2组合生成公钥pk,以及将所述分片种子a12和所述分片种子a22组合生成分片私钥x2。
43、根据本技术公开的第五方面,提供了一种电子设备,包括处理器,以及与所述处理器通信连接的存储器;
44、所述存储器存储计算机执行指令;
45、所述处理器执行所述存储器存储的计算机执行指令,以实现第一方面中任一项所述的方法。
46、根据本技术公开的第六方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面中任一项所述的方法。
47、根据本技术公开的第七方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于实现第一方面中任一项所述的方法。
48、现有技术相比,本技术具有如下的有益效果:
49、本技术提供的一种密钥生成方法、电子设备和可读存储介质,通过数据接收方和签发机构的配合,在数据接收方和签发机构中各自生成和保管一个分片私钥,从而避免了私钥单方保管容易泄露的问题,提高了信息安全性。且在私钥生成和后续使用过程中,数据接收方和签发机构都无法获知完整的私钥,进一步提升了私钥的安全性。