本申请涉及密码学,特别是涉及一种密钥生成方法、装置、计算机设备和存储介质。
背景技术:
1、随着密码学技术的发展,出现了门限加密技术,门限加密方案是门限密码算法常见应用之一,常常体现为一类分布式加解密协议,目前的门限加密技术将密文拆分为密钥分片并分发给秘密持有者,只有满足数目的秘密持有者合作,将密钥分片聚合,才能实现解密。
2、然而,目前的门限加密方法,存在多个主体参与数据协作的可控性差,无法确定参与主体的优先级。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够指定参与密钥的密钥生成方法、装置、计算机设备和计算机可读存储介质。
2、第一方面,本申请提供了一种密钥生成方法。所述方法包括:
3、将密文拆分为第一临时密钥分量和第二临时密钥分量;第一临时密钥分量由指定参与的密钥分量组成;第二临时密钥分量由非指定参与的密钥分量组成;
4、将第一临时密钥分量拆分得到至少一个指定参与的密钥分量;
5、将第二临时密钥分量拆分得到非指定参与的密钥分量;
6、合并拆分得到的指定参与的密钥分量和拆分得到的非指定参与的密钥分量,得到所有密钥分量。
7、在其中一个实施例中,将密文拆分为第一临时密钥分量和第二临时密钥分量,包括:
8、随机构建第一多项式;
9、基于第一多项式,对密文按照指定参与的密钥分量和非指定参与的密钥分量两种类型进行拆分,得到第一临时密钥分量和第二临时密钥分量。
10、在其中一个实施例中,将第一临时密钥分量拆分得到至少一个指定参与的密钥分量,包括:
11、随机构建第二多项式;
12、基于第二多项式,对第一临时密钥分量按照指定参与的密钥分量的数量m进行拆分,得到m个指定参与的密钥分量,m为大于或等于1的自然数,且小于k,k为最少需要的密钥分量的数量。
13、在其中一个实施例中,将第二临时密钥分量拆分得到非指定参与的密钥分量,包括:
14、随机构建第三多项式;
15、基于第三多项式,对第二临时密钥分量按照非指定参与的密钥分量的数量(n-m)、最少参与的非指定参与的密钥分量的数量(k-m)进行拆分,得到(n-m)个非指定参与的密钥分量;其中指定参与的密钥分量的数量m大于0小于最少参与的密钥分量的数量k,最少参与的密钥分量的数量k小于所有密钥分量的数量n。
16、在其中一个实施例中,密钥生成方法还包括:
17、在指定参与的密钥分量的数量为0的情况下,对密文按照最少需要的密钥分量的数量k、所有密钥分量的数量n进行拆分。
18、第二方面,本申请提供了一种密钥解密方法。所述方法包括:
19、基于m个指定参与的密钥分量,得到第一临时密钥分量;
20、基于k-m个最少参与的非指定参与的密钥分量,得到第二临时密钥分量;
21、基于第一临时密钥分量和第二临时密钥分量,恢复密文,其中m为大于或等于1的自然数,且小于k,所述k为最少需要的密钥分量的数量。
22、在其中一个实施例中,在基于m个指定参与的密钥分量,得到第一临时密钥分量之前,还包括:
23、校验所有密钥分量中是否存在k个最少需要的密钥分量,若存在,则校验k个所述最少需要的密钥分量中是否存在m个指定参与的密钥分量;
24、若存在m个指定参与的密钥分量,则执行所述基于m个指定参与的密钥分量,得到第一临时密钥分量的步骤。
25、第三方面,本申请还提供了一种密钥生成装置。所述装置包括:
26、第一拆分模块,用于将密文拆分为第一临时密钥分量和第二临时密钥分量;第一临时密钥分量由指定参与的密钥分量组成;第二临时密钥分量由非指定参与的密钥分量组成;
27、第二拆分模块,用于将第一临时密钥分量拆分得到至少一个指定参与的密钥分量;
28、第三拆分模块,用于将第二临时密钥分量拆分得到非指定参与的密钥分量;
29、合并模块,用于合并拆分得到的指定参与的密钥分量和拆分得到的非指定参与的密钥分量,得到所有参与密钥分量。
30、第四方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
31、将密文拆分为第一临时密钥分量和第二临时密钥分量;第一临时密钥分量由指定参与的密钥分量组成;第二临时密钥分量由非指定参与的密钥分量组成;
32、将第一临时密钥分量拆分得到至少一个指定参与的密钥分量;
33、将第二临时密钥分量拆分得到非指定参与的密钥分量;
34、合并拆分得到的指定参与的密钥分量和拆分得到的非指定参与的密钥分量,得到所有密钥分量。
35、第五方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
36、将密文拆分为第一临时密钥分量和第二临时密钥分量;第一临时密钥分量由指定参与的密钥分量组成;第二临时密钥分量由非指定参与的密钥分量组成;
37、将第一临时密钥分量拆分得到至少一个指定参与的密钥分量;
38、将第二临时密钥分量拆分得到非指定参与的密钥分量;
39、合并拆分得到的指定参与的密钥分量和拆分得到的非指定参与的密钥分量,得到所有密钥分量。
40、上述密钥生成及密钥解密方法、装置、计算机设备和存储介质。在密钥生成阶段,通过将密文拆分为指定参与的密钥分量组成的第一临时密钥分量和非指定参与的密钥分量组成的第二临时密钥分量;将第一临时密钥分量拆分为指定参与的密钥分量,将第二临时密钥分量拆分得到非指定参与的密钥分量,合并拆分后的指定参与密钥分量和非指定参与的密钥分量,形成存在指定参与密钥分量的所有密钥分量的集合,在秘密分割时实现了区分指定参与的密钥分量。在密钥解密阶段,通过基于m个指定参与的密钥分量,得到第一临时密钥分量;基于k-m个最少参与的非指定参与的密钥分量,得到第二临时密钥分量;基于第一临时密钥分量和第二临时密钥分量,恢复密文。将所有密钥分量分发给对应的密钥持有者,指定参与的密钥分量的持有者在恢复密文的进行数据协作时的优先级高于非指定参与的密钥分量的持有者,实现在数据的联合授权的情况下,能够指定必须参与方参与秘密恢复的过程,确定数据优先级,提高数据协作的可控性。
1.一种密钥生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述将密文拆分为第一临时密钥分量和第二临时密钥分量,包括:
3.根据权利要求1所述的方法,其特征在于,所述将所述第一临时密钥分量拆分得到至少一个指定参与的密钥分量,包括:
4.根据权利要求1所述的方法,其特征在于,所述将所述第二临时密钥分量拆分得到非指定参与的密钥分量,包括:
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
6.一种密钥解密方法,其特征在于,所述方法包括:
7.根据权利要求6所述的方法,其特征在于,在所述基于m个指定参与的密钥分量,得到第一临时密钥分量之前,还包括:
8.一种密钥生成装置,其特征在于,所述装置包括:
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。