一种秘密信息的共享方法、系统、设备及存储介质与流程

文档序号:36260467发布日期:2023-12-05 17:46阅读:28来源:国知局
一种秘密信息的共享方法与流程

本发明涉及信息安全,特别是涉及一种秘密信息的共享方法、系统、设备及存储介质。


背景技术:

1、随着信息化、数字化、智能化的持续发展,数据泄露成为一个日益严峻的问题。密码学为保障数据安全提供了许多实用技术,如加密和数字签名等。在密码体系中,由于密码算法本身的安全性要求和密码算法应用的普及化,使得密码算法的实现细节总是公开的。因此,商用密码体系的安全性取决于密钥的机密性,密钥管理是密码学领域的一个重要研究方向。

2、如图1所示,为目前一种常用的密钥管理方法的示意图,图1是门限秘密共享方案,它将密钥或其他敏感信息分割成若干份额,即分割成若干部分,然后交给不同的参与者保管。门限秘密共享方案要求只有不少于一定数量(门限值 k)的参与者合作时,才能恢复出秘密,少于门限值的参与者则无法恢复出秘密。能够重构秘密的参与者集合叫做授权集,否则叫做非授权集,所有授权集构成了秘密共享方案的存取结构。

3、图1这种经典秘密共享技术的有效性依赖于一定的假设,即所有参与者都是诚实的。然而现实中这种假设是不合理的,因为在秘密重构阶段某些参与者可能出示虚假的份额,致使诚实的参与者无法恢复出秘密或者得到错误的结果,而欺诈者却可以利用诚实参与者的份额重构出秘密,从而使系统的可靠性受到重大威胁。此外,目前的方案中,一些防欺诈的方法是构造可验证的秘密共享方案,例如采用数字签名的方法验证参与者的份额,在份额之外引入所谓的影子份额等等。然而,这类方案的安全性是依赖于离散对数问题或者质因子分解问题的困难性,因此是计算层面的安全,而无法抵抗具有极大计算能力的量子计算攻击。

4、综上所述,如何有效地实现秘密信息的共享,提高可靠性,是目前本领域技术人员急需解决的技术问题。


技术实现思路

1、本发明的目的是提供一种秘密信息的共享方法、系统、设备及存储介质,以有效地实现秘密信息的共享,提高可靠性。

2、为解决上述技术问题,本发明提供如下技术方案:

3、一种秘密信息的共享方法,包括:

4、按照设定的转换规则,将秘密信息转换为设定的伽罗华域中的一个元素,作为秘密元素;

5、从设定的伽罗华域中选取出 n个互异的元素,作为 n个参与节点的公开的身份信息;

6、从所述伽罗华域中选取出 k-1个元素,并与所述秘密元素一起构成一个包含 k个元素的待编码向量;

7、基于广义里德所罗门码的编码规则,通过 n个参与节点的身份信息对所述待编码向量进行编码,得到包括 n个元素的编码结果;

8、按照元素位置的不同,将所述编码结果划分为 n个份额并分别发送给 n个参与节点,以使得当 r个参与节点利用 r个份额进行秘密重构时,如果 r= k,则基于 r个份额重构出所述秘密元素并确定出对应于所述秘密元素的秘密信息,如果 r> k且判断出 r个份额中存在虚假份额时,进行虚假份额的纠正之后再重构出所述秘密元素,并确定出对应于所述秘密元素的秘密信息;

9、其中, n为不小于2的正整数, k为正整数表示的是实现秘密重构的最小份额数量, r为正整数,且 r< k时无法实现秘密重构, r> k时虚假份额的纠正数量不超过。

10、在一种实施方式中,所述从设定的伽罗华域中选取出 n个互异的元素,作为 n个参与节点的公开的身份信息,包括:

11、从设定的伽罗华域中随机地选取出 n个互异的元素,作为 n个参与节点的公开的身份信息。

12、在一种实施方式中,所述从设定的伽罗华域中随机地选取出 n个互异的元素,作为 n个参与节点的公开的身份信息,包括:

13、从设定的伽罗华域中均匀随机地选取出 n个互异的元素,作为 n个参与节点的公开的身份信息。

14、在一种实施方式中,所述从所述伽罗华域中选取出 k-1个元素,并与所述秘密元素一起构成一个包含 k个元素的待编码向量,包括

15、从所述伽罗华域中均匀随机地选取出 k-1个元素,并与所述秘密元素一起构成一个包含 k个元素的待编码向量。

16、在一种实施方式中,所述基于广义里德所罗门码的编码规则,通过 n个参与节点的身份信息对所述待编码向量进行编码,得到包括 n个元素的编码结果,包括:

17、基于广义里德所罗门码的编码规则,通过 n个参与节点的身份信息建立范德蒙矩阵,并通过建立的所述范德蒙矩阵对所述待编码向量进行编码,得到包括 n个元素的编码结果。

18、在一种实施方式中,所述基于广义里德所罗门码的编码规则,通过 n个参与节点的身份信息建立范德蒙矩阵,并通过建立的所述范德蒙矩阵对所述待编码向量进行编码,得到包括 n个元素的编码结果,包括:

19、基于广义里德所罗门码的编码规则,通过 n个参与节点的身份信息,按照( s1,..., s n)= a· g的计算方式,对所述待编码向量进行编码,得到包括 n个元素的编码结果;

20、其中, a为包含 k个元素的所述待编码向量, g为通过 n个参与节点的身份信息建立的范德蒙矩阵,且, s1至 s n为得到的包括 n个元素的编码结果,至为 n个参与节点各自的身份信息。

21、在一种实施方式中,还包括:

22、当需要新增加1个参与节点时,由当前参与节点中不少于 k个参与节点,按照预设的份额新增规则进行操作,以使得新增加的参与节点得到1个新增份额。

23、在一种实施方式中,当需要新增加1个参与节点时,由当前参与节点中不少于 k个参与节点,按照预设的份额新增规则进行操作,以使得新增加的参与节点得到1个新增份额,包括:

24、当需要新增加1个参与节点时,由当前的 n个参与节点中的 r个参与节点进行各自的中间值的计算;

25、其中, r个参与节点中的第 i个参与节点所计算出的中间值表示为, s i为第 i个参与节点的份额, m i为 m-1的前 k列子矩阵的第 i行向量,矩阵, m-1为 m的逆矩阵,,至为 n个参与节点各自的身份信息,为新增加的参与节点的身份信息, t为转置矩阵符号, r≥ k;

26、基于预设的信息安全发送方式,使得新增加的参与节点确定出至的总和,并将所述总和作为新增加的参与节点所得到的1个新增份额,且使得新增加的参与节点无法确定出至中的任何1个中间值。

27、在一种实施方式中,基于预设的信息安全发送方式,使得新增加的参与节点确定出至的总和,并将所述总和作为新增加的参与节点所得到的1个新增份额,且使得新增加的参与节点无法确定出至中的任何1个中间值,包括:

28、对于 r个参与节点中的每1个参与节点,该参与节点将自身计算出的中间值分成 r个数据,以使得分成的 r个数据的和等于自身计算出的中间值,并且该参与节点在保留 r个数据中的1个数据之后,将其余的 r-1个数据分别发送给其余的 r-1个参与节点;

29、对于 r个参与节点中的每1个参与节点,该参与节点将保留的1个数据与接收到的 r-1个数据进行求和,并将求和结果发送给新增加的参与节点,以使得新增加的参与节点将 r个参与节点的发送数据进行求和之后得到至的总和,并将所述总和作为新增加的参与节点所得到的1个新增份额。

30、在一种实施方式中,还包括:

31、当需要移除1个参与节点时,由当前参与节点中不少于 k个参与节点,按照预设的参与节点移除规则进行操作,以使得除去被移除的参与节点之外的剩余的各个参与节点均得到1个新份额以替换原本的份额。

32、在一种实施方式中,当需要移除1个参与节点时,由当前参与节点中不少于 k个参与节点,按照预设的参与节点移除规则进行操作,以使得除去被移除的参与节点之外的剩余的各个参与节点均得到1个新份额以替换原本的份额,包括:

33、当需要移除1个参与节点时,由当前的 n个参与节点中的 r个参与节点基于各自当前的份额,进行各自的子秘密数据的计算;

34、其中, r个参与节点中的第 i个参与节点所计算出的子秘密数据 a i0表示为, s i为第 i个参与节点的份额, m i0为在 m中的代数余子式,矩阵,det( m)表示的是 m的行列式,至为 n个参与节点各自的身份信息, r≥ k;

35、基于 r个子秘密数据,由 r个参与节点按照预设的份额安全生成方式进行操作,以使得除去被移除的参与节点之外的剩余的各个参与节点均得到1个新份额以替换原本的份额,且使得任一参与节点无法获取到其他任一参与节点的子秘密数据。

36、在一种实施方式中,基于 r个子秘密数据,由 r个参与节点按照预设的份额安全生成方式进行操作,以使得除去被移除的参与节点之外的剩余的各个参与节点均得到1个新份额以替换原本的份额,且使得任一参与节点无法获取到其他任一参与节点的子秘密数据,包括:

37、对于 r个参与节点中的每1个参与节点,该参与节点通过自身计算出的子秘密数据,以及自身构造的第一多项式,计算出 n-1个子份额数值,并将计算出的 n-1个子份额数值分别分配给除去被移除的参与节点之外的包括自身在内的 n-1个剩余的参与节点;

38、对于当前除去被移除的参与节点之外的剩余的 n-1个参与节点,该参与节点在得到了 r个子份额数值之后,将自身得到的 r个子份额数值求和,作为得到的自身的新份额以替换自身的原本的份额;

39、其中, r个参与节点中第 i个参与节点所构造的所述第一多项式表示为, t为正整数且1≤ t≤ k-1, a i1至 a i( k-1)为第 i个参与节点从所述伽罗华域中选取出的 k-1个元素;第 i个参与节点通过将所构造的所述第一多项式的自变量 x的取值依次取值为除去被移除的参与节点之外的剩余的 n-1个参与节点的身份信息,依次计算出 n-1个子份额数值。

40、在一种实施方式中,还包括:

41、当需要调整实现秘密重构的最小份额数量 k的数值时,由当前参与节点中不少于 k个参与节点,按照预设的门限调整规则进行操作,以使得当前的各个参与节点均得到1个新份额以替换原本的份额,且使得实现秘密重构的最小份额数量从 k调整为;

42、表示的是调整之后的实现秘密重构的最小份额数量。

43、在一种实施方式中,当需要调整实现秘密重构的最小份额数量 k的数值时,由当前参与节点中不少于 k个参与节点,按照预设的门限调整规则进行操作,以使得当前的各个参与节点均得到1个新份额以替换原本的份额,且使得实现秘密重构的最小份额数量从 k调整为,包括:

44、当需要调整实现秘密重构的最小份额数量 k的数值时,由当前的 n个参与节点中的 r个参与节点基于各自当前的份额,进行各自的子秘密数据的计算;

45、其中, r个参与节点中的第 i个参与节点所计算出的子秘密数据 a i0表示为:, s i为第 i个参与节点的份额, m i0为在 m中的代数余子式,矩阵,det( m)表示的是 m的行列式,至为 n个参与节点各自的身份信息, r≥ k;

46、基于 r个子秘密数据,由 r个参与节点按照预设的门限调整方式进行操作,以使得各个参与节点均得到1个新份额以替换原本的份额,且使得任一参与节点无法获取到其他任一参与节点的子秘密数据,且使得实现秘密重构的最小份额数量从 k调整为。

47、在一种实施方式中,基于 r个子秘密数据,由 r个参与节点按照预设的门限调整方式进行操作,以使得各个参与节点均得到1个新份额以替换原本的份额,且使得任一参与节点无法获取到其他任一参与节点的子秘密数据,且使得实现秘密重构的最小份额数量从 k调整为,包括:

48、对于 r个参与节点中的每1个参与节点,该参与节点通过自身计算出的子秘密数据,以及自身构造的第二多项式,计算出 n个子份额数值,并将计算出的 n个子份额数值分别分配给包括自身在内的 n个参与节点;

49、对于 n个参与节点中的每一个参与节点,该参与节点在得到了 r个子份额数值之后,将自身得到的 r个子份额数值求和,作为得到的自身的新份额以替换自身的原本的份额;

50、其中, r个参与节点中第 i个参与节点所构造的所述第二多项式表示为, c为正整数且, a i1至为第 i个参与节点从所述伽罗华域中选取出的个元素;第 i个参与节点通过将所构造的所述第二多项式的自变量 x的取值依次取值为当前的 n个参与节点的身份信息,依次计算出 n个子份额数值。

51、在一种实施方式中,所述按照元素位置的不同,将所述编码结果划分为 n个份额并分别发送给 n个参与节点,以使得当 r个参与节点利用 r个份额进行秘密重构时,如果 r= k,则基于 r个份额重构出所述秘密元素并确定出对应于所述秘密元素的秘密信息,如果 r> k且判断出 r个份额中存在虚假份额时,进行虚假份额的纠正之后再重构出所述秘密元素,并确定出对应于所述秘密元素的秘密信息,包括:

52、按照元素位置的不同,将所述编码结果划分为 n个份额并分别发送给 n个参与节点,以使得当 r个参与节点利用 r个份额进行秘密重构时,如果 r= k,则基于 r个份额重构出所述秘密元素并确定出对应于所述秘密元素的秘密信息,如果 r> k,则判断 s· h t=0是否成立,如果不成立,则判断出 r个份额中存在虚假份额时,在进行虚假份额的纠正之后再重构出所述秘密元素,并确定出对应于所述秘密元素的秘密信息;

53、其中, h为满足 m k h t=0的( r- k)× r阶满秩矩阵, m k为矩阵 m的前 k行构成的子矩阵, t为转置矩阵符号,矩阵,至为 n个参与节点各自的身份信息,, s1至 s r表示的是进行秘密重构的 r个参与节点各自的份额。

54、在一种实施方式中,还包括:

55、当 r个参与节点利用 r个份额进行秘密重构,并且在判断出 r个份额中存在虚假份额时,如果虚假份额数量不超过, r个参与节点均确定出各个虚假份额各自对应的参与节点的身份信息。

56、在一种实施方式中,如果 r= k,则基于 r个份额重构出所述秘密元素并确定出对应于所述秘密元素的秘密信息,包括:

57、如果 r= k,则基于 r个份额,通过计算的方式重构出所述秘密元素并确定出对应于所述秘密元素的秘密信息。

58、在一种实施方式中,还包括:

59、当 r个参与节点利用 r个份额进行秘密重构且 r= k时,在基于 r个份额重构出所述秘密元素之后, r个参与节点均输出重构出的所述秘密元素存在安全隐患的提示信息。

60、一种秘密信息的共享系统,包括:分发节点和 n个参与节点;

61、所述分发节点,用于:

62、按照设定的转换规则,将秘密信息转换为设定的伽罗华域中的一个元素,作为秘密元素;

63、从设定的伽罗华域中选取出 n个互异的元素,作为 n个参与节点的公开的身份信息;

64、从所述伽罗华域中选取出 k-1个元素,并与所述秘密元素一起构成一个包含 k个元素的待编码向量;

65、基于广义里德所罗门码的编码规则,通过 n个参与节点的身份信息对所述待编码向量进行编码,得到包括 n个元素的编码结果;

66、按照元素位置的不同,将所述编码结果划分为 n个份额并分别发送给 n个参与节点;

67、所述参与节点用于:

68、当 r个参与节点利用 r个份额进行秘密重构时,如果 r= k,则基于 r个份额重构出所述秘密元素,如果 r> k且判断出 r个份额中存在虚假份额时,进行虚假份额的纠正之后再重构出所述秘密元素;

69、基于重构出的所述秘密元素,确定出对应的秘密信息;

70、其中, n为不小于2的正整数, k为正整数表示的是实现秘密重构的最小份额数量, r为正整数且 r< k时无法实现秘密重构, r> k时虚假份额的纠正数量不超过。

71、一种秘密信息的共享设备,包括:

72、存储器,用于存储计算机程序;

73、处理器,用于执行所述计算机程序以实现上述所述的秘密信息的共享方法的步骤。

74、一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的秘密信息的共享方法的步骤。

75、应用本发明实施例所提供的技术方案,有益效果在于,本发明的方案是基于广义里德所罗门码来实现秘密信息的共享,可以有效地应对欺诈者提供虚假份额的情况。并且本发明的方案的安全性不依赖于任何计算困难性的假设,即本发明的方案是信息论安全而不是经典方案计算意义上的安全,因此本发明的方案能够抵抗量子计算攻击。此外,在进行秘密分发之后,包括秘密重构在内的后续各阶段,本发明的方案均不需要分发节点的参与,有利于进一步地提高灵活性和可靠性。参与节点所保存的份额与秘密元素具有相同长度,使得本发明方案的秘密分发过程没有数据扩展,也有利于进一步地保障安全性。

76、具体的,为了后续能够基于广义里德所罗门码实现编码,本发明的方案中,分发节点按照需要设定的转换规则,将秘密信息转换为设定的伽罗华域中的一个元素,作为秘密元素,该秘密元素可以与从伽罗华域中选取出的 k-1个元素,一起构成一个包含 k个元素的待编码向量,即该待编码向量中携带有秘密元素。对于 n个参与节点,需要从设定的伽罗华域中选取出 n个互异的元素,作为 n个参与节点的公开的身份信息。基于广义里德所罗门码的编码规则,通过 n个参与节点的身份信息对待编码向量进行编码,得到包括 n个元素的编码结果。编码结果中包括 n个元素,每个元素作为1个份额,使得编码结果可以划分为 n个份额从而分别交给 n个参与节点保管。基于广义里德所罗门码的原理,当 r个参与节点利用 r个份额进行秘密重构时,如果 r= k,则可以基于 r个份额重构出秘密元素并确定出对应于秘密元素的秘密信息,当然,此时重构无法保障准确性,即 r= k时要求 r个参与节点均是诚实参与节点才能够重构出正确的秘密元素,从而按照转换规则,确定出对应于秘密元素的秘密信息。而 r> k时,本发明的方案中能够判断出 r个份额中是否存在虚假份额,如果存在,则能够纠正数量不超过的虚假份额,在进行了虚假份额的纠正之后便可以重构出秘密元素,并确定出对应于秘密元素的秘密信息;

77、可以看出,本发明的方案能够判断出 r个份额中是否存在虚假份额,且能够纠正数量不超过的虚假份额,即本发明的方案能够可以有效地应对欺诈者提供虚假份额的情况。并且 r小于 k时,无论攻击者具有多高的计算资源也无法实现秘密重构,即本发明的方案的安全性不依赖于任何计算困难性的假设是信息论安全的而不是经典方案计算意义上的安全,使得本发明的方案能够抵抗量子计算攻击。此外可以看出,本发明的方案中,分发节点只需要完成份额的分发即可,在进行包括秘密重构在内的后续各阶段的操作时,本发明的方案并不需要分发节点的参与,有利于进一步地提高可靠性。参与节点所保存的份额与秘密元素均是伽罗华域中的元素,具有相同长度,使得本发明方案的秘密分发过程没有数据扩展,也有利于进一步地保障安全性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1