CN117134910B - 一种密钥共享方法、系统及存储介质 - Google Patents

一种密钥共享方法、系统及存储介质 Download PDF

Info

Publication number
CN117134910B
CN117134910B CN202311379996.7A CN202311379996A CN117134910B CN 117134910 B CN117134910 B CN 117134910B CN 202311379996 A CN202311379996 A CN 202311379996A CN 117134910 B CN117134910 B CN 117134910B
Authority
CN
China
Prior art keywords
key
ciphertext
target
decryption
encrypted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311379996.7A
Other languages
English (en)
Other versions
CN117134910A (zh
Inventor
崔岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Open Security Research Inc
Original Assignee
Open Security Research Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Open Security Research Inc filed Critical Open Security Research Inc
Priority to CN202311379996.7A priority Critical patent/CN117134910B/zh
Publication of CN117134910A publication Critical patent/CN117134910A/zh
Application granted granted Critical
Publication of CN117134910B publication Critical patent/CN117134910B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种密钥共享方法、系统及存储介质,应用于第一终端的方法包括:获取待加密密钥中密钥份额的至少一个持有对象,以及基于至少一个持有对象从预设虚拟对象中确定出至少一个目标虚拟对象;分别基于持有对象的标识信息生成对应持有对象的授权信息,以及基于至少一个目标虚拟对象中每个目标虚拟对象的虚拟标识信息生成对应目标虚拟对象的授权信息;基于至少一个持有对象的授权信息、至少一个目标虚拟对象的授权信息,以及待加密密钥确定密钥共享密文,并广播密钥共享密文。通过上述技术方案,提高了密钥共享的灵活性。

Description

一种密钥共享方法、系统及存储介质
技术领域
本申请涉及密钥安全技术领域,尤其涉及一种密钥共享方法、系统及存储介质。
背景技术
目前,在公钥密码系统中,密钥的机密性至关重要。传统的静态公钥密码系统中门限值一般需要在密钥生成阶段固定,并且用户的私钥与门限值是相关的,若有新用户想要加入系统,需要所有的私钥重新生成,使得密钥共享的灵活性较低。
发明内容
本申请实施例期望提供一种密钥共享方法、系统及存储介质。
本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种密钥共享方法,应用于第一终端,所述密钥共享方法包括:获取待加密密钥中密钥份额的至少一个持有对象,以及基于所述至少一个持有对象从预设虚拟对象中确定出至少一个目标虚拟对象;分别基于所述持有对象的标识信息生成对应所述持有对象的授权信息,以基于所述至少一个目标虚拟对象中每个目标虚拟对象的虚拟标识信息生成对应所述目标虚拟对象的授权信息;基于所述至少一个持有对象的授权信息、所述至少一个目标虚拟对象的授权信息,以及所述待加密密钥确定密钥共享密文,并广播所述密钥共享密文。
本申请实施例提供了一种密钥共享方法,应用于第二终端,所述密钥共享方法包括:获取第一终端广播的针对待加密密钥的密钥共享密文,以及使用所述第二终端的持有对象的用户私钥;所述用户私钥为基于所述持有对象的标识信息确定的;利用所述用户私钥,基于所述密钥共享密文解密出所述持有对象持有的密钥份额,并将所述密钥份额发送至解密中心。
本申请实施例提供了一种密钥共享方法,应用于解密中心,所述密钥共享方法包括:
获取第一终端广播的针对待加密密钥的密钥共享密文,以及目标解密对象的密钥份额,所述目标解密对象为所述待加密密钥中密钥份额的至少一个持有对象中的所述持有对象,所述目标解密对象的数量为解密门限值;所述解密门限值与预设虚拟对象的数量之和为所述待加密密钥的目标解密数量;利用所述密钥共享密文,对所述目标解密对象的密钥份额进行合并,得到所述待加密密钥。
本申请实施例提供了一种第一终端,包括:
第一获取模块,用于获取待加密密钥中密钥份额的至少一个持有对象,以及基于所述至少一个持有对象从预设虚拟对象中确定出至少一个目标虚拟对象;
生成模块,用于分别基于所述持有对象的标识信息生成对应所述持有对象的授权信息,以基于所述至少一个目标虚拟对象中每个目标虚拟对象的虚拟标识信息生成对应所述目标虚拟对象的授权信息;
确定模块,用于基于所述至少一个持有对象的授权信息、所述至少一个目标虚拟对象的授权信息,以及所述待加密密钥确定密钥共享密文,并广播所述密钥共享密文。
本申请实施例提供了一种第二终端,包括:
第二获取模块,获取第一终端广播的针对待加密密钥的密钥共享密文,以及使用所述第二终端的持有对象的用户私钥;所述用户私钥为基于所述持有对象的标识信息确定的;
解密模块,用于利用所述用户私钥,基于所述密钥共享密文解密出所述持有对象持有的密钥份额,并将所述密钥份额发送至解密中心。
本申请实施例提供了一种解密中心,包括:
第三获取模块,用于获取第一终端广播的针对待加密密钥的密钥共享密文,以及目标解密对象的密钥份额,所述目标解密对象为所述待加密密钥中密钥份额的至少一个持有对象中的所述持有对象,所述目标解密对象的数量为解密门限值;所述解密门限值与预设虚拟对象的数量之和为所述待加密密钥的目标解密数量;
合并模块,用于利用所述密钥共享密文,对所述目标解密对象的密钥份额进行合并,得到所述待加密密钥。
本申请实施例提供了一种密钥共享系统,包括第一终端、第二终端,以及解密中心,所述第一终端,用于分别对获取的待加密密钥中密钥份额的至少一个持有对象生成对应所述持有对象的授权信息,以及对获取的至少一个目标虚拟对象生成对应所述目标虚拟对象的授权信息;
所述第一终端,还用于基于所述至少一个持有对象的授权信息、所述至少一个目标虚拟对象的授权信息,以及所述待加密密钥确定密钥共享密文,确定密钥共享密文,并广播所述密钥共享密文;
所述第二终端,用于获取所述密钥共享密文,以及使用所述第二终端的持有对象的用户私钥,并发送利用所述用户私钥,基于所述密钥共享密文解密出所述持有对象持有的密钥份额至解密中心;所述用户私钥为基于所述持有对象的标识信息确定的;
所述解密中心,用于获取所述密钥共享密文、以及目标解密对象的密钥份额,并利用所述密钥共享密文,对所述目标解密对象的密钥份额进行合并,得到所述待加密密钥;所述目标解密对象为所述至少一个持有对象中的所述持有对象,所述目标解密对象的数量为解密门限值;所述解密门限值与预设虚拟对象的数量之和为所述待加密密钥的目标解密数量。
本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个计算机程序,所述一个或者多个计算机程序可以被一个或者多个处理器执行,以实现上述密钥共享方法。
本申请实施例提供了一种密钥共享方法、系统及存储介质,应用于第一终端;密钥共享方法包括:获取待加密密钥中密钥份额的至少一个持有对象,以及基于至少一个持有对象从预设虚拟对象中确定出至少一个目标虚拟对象;分别基于持有对象的标识信息生成对应持有对象的授权信息,以基于至少一个目标虚拟对象中每个目标虚拟对象的虚拟标识信息生成对应目标虚拟对象的授权信息;基于至少一个持有对象的授权信息、至少一个目标虚拟对象的授权信息,以及待加密密钥确定密钥共享密文,并广播密钥共享密文。本申请提供的技术方案,通过预设虚拟对象的方式,只需在新用户加入时,为该用户设置相应的授权信息,同时减少虚拟对象数量的设置,也就是说,会提前给潜在的用户设置一个虚拟的位置,从而可以允许新用户动态加入,提高了密钥共享的灵活性。
附图说明
图1为本申请实施例提供的一种密钥共享方法的流程示意图一;
图2为本申请实施例提供的一种示例性地确定目标虚拟对象的流程示意图;
图3为本申请实施例提供的一种示例性的密钥共享场景的示意图;
图4为本申请实施例提供的一种示例性地确定授权信息的流程示意图;
图5为本申请实施例提供的一种示例性地确定密钥共享密文的流程示意图;
图6为本申请实施例提供的一种示例性地生成授权密文时所需对象的结构示意图;
图7为本申请实施例提供的一种示例性地生成会话密钥的结构示意图;
图8为本申请实施例提供的一种密钥共享方法的流程示意图二;
图9为本申请实施例提供的一种示例性地解密密钥份额的流程示意图;
图10为本申请实施例提供的一种密钥共享方法的流程示意图三;
图11为本申请实施例提供的一种示例性地确定待加密密钥的流程示意图一;
图12为本申请实施例提供的一种示例性地确定待加密密钥的流程示意图二;
图13为本申请实施例提供的一种示例性地确定第一临时元素的流程示意图;
图14为本申请实施例提供的一种示例性的密钥共享方法的流程示意图;
图15为本申请实施例提供的一种第一终端的结构示意图;
图16为本申请实施例提供的一种第二终端的结构示意图;
图17为本申请实施例提供的一种解密中心的结构示意图;
图18为本申请实施例提供的一种解密共享设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。
本申请实施例提供了一种密钥共享方法,由第一终端来实现,如图1所示,包括以下步骤S101至步骤S103:
步骤S101、获取待加密密钥中密钥份额的至少一个持有对象,以及基于至少一个持有对象从预设虚拟对象中确定出至少一个目标虚拟对象。
在本申请的实施例中,第一终端为具备密钥共享功能的设备。示例性地,密钥共享设备可以为笔记本电脑,平板电脑,台式计算机,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等。
在本申请的实施例中,待加密密钥可被第一终端分为至少一个密钥份额,第一终端可以针对待加密密钥设置至少一个持有对象,其中,每一持有对象持有一个密钥份额。
在本申请的实施例中,第一终端执行步骤S101之前,可信机构(密钥生成中心)会生成系统公开参数,即预设公开参数以及系统主私钥。
在本申请的实施例中,密钥生成中心(Key Generation Center,KGC)会获取安全 参数,以及系统用户最大数量,密钥生成中心会基于安全参数,以及系统用户最大数 量生成系统主公开参数(预设公开参数)和系统主私钥。实现步骤包括1至5:
1、输入安全参数λ和系统用户最大数量m,密钥生成中心生成双线性群。 双线性群包括加法循环群(预设加法循环群);乘法循环群(预设乘法循环群);双 线性映射(预设双线性算法)和循环群的阶,其中为大于的素数。
2、在群中选取随机数,作为系统主私钥。在群中随机选取生成元,在群中随机选取生成元,秘密保存
3、在群中随机选取个256比特的随机数,设置虚拟用户集合 (预设虚拟对象)
4、对于,计算群中的元素;对于, 计算群中的元素;计算群中的元素,群中的元素;计算群中 的元素
5、选取密码杂凑函数,密钥派生函数。其 中可采用SM3密码杂凑算法,为会话密钥长度。
如此,密钥生成中心即可得到系统公开参数(预设公开参数),以及系统主私钥
在本申请的实施例中,第一终端在获取到至少一个持有对象后,可以基于至少一 个持有对象从预设虚拟对象中确定出至少一个目标虚拟对象。
步骤S102、分别基于持有对象的标识信息生成对应持有对象的授权信息,以及基于至少一个目标虚拟对象中每个目标虚拟对象的虚拟标识信息生成对应目标虚拟对象的授权信息。
在本申请的实施例中,第一终端可以针对至少一个持有对象中每一持有对象,利用其标识信息生成对应的授权信息,以及针对至少一个目标虚拟对象中每一目标虚拟对象,利用其虚拟标识信息生成对应的授权信息。其中,持有对象的标识信息可以是持有对象的身份证号、邮箱地址等信息,具体的标识信息可以根据实际需求和应用场景进行选择,对此本申请不作限定。
步骤S103、基于至少一个持有对象的授权信息、至少一个目标虚拟对象的授权信息,以及待加密密钥确定密钥共享密文,并广播密钥共享密文。
在本申请的实施例中,第一终端在确定出至少一个持有对象的授权信息、至少一个目标虚拟对象的授权信息后,会基于至少一个持有对象的授权信息、至少一个目标虚拟对象的授权信息,以及待加密密钥确定密钥共享密文,并广播密钥共享密文。
相较于相关技术中的静态公钥加密算法,本申请在系统初始阶段,通过预设虚拟对象的方式,只需在新用户加入时,为该用户设置相应的授权信息,同时减少虚拟对象数量的设置,也就是说,会提前给潜在的用户设置一个虚拟的位置,从而可以允许新用户动态加入,提高了密钥共享的灵活性。
在一些实施例中,第一终端在执行步骤S101中“基于至少一个持有对象从预设虚拟对象中确定出至少一个目标虚拟对象”时,如图2所示,可以包括以下步骤S201至步骤S204:
步骤S201、获取针对待加密密钥设置的解密门限值。
在本申请的实施例中,第一终端可以针对待加密密钥设置对应的解密门限值,设 置的解密门限值小于至少一个持有对象的个数,这样无需所有的持有对象的密钥份额 即可完成解密。
示例性地,应用场景可以是:在现代金融领域,特别是在银行和支付领域,确保大额转账和重要交易的合法性和安全性至关重要。考虑到网络诈骗持续猖獗,极大的损害了各国人民的财产安全。因此,金融机构必须在不陷入欺诈或风险的情况下,为用户提供高效服务。
例如,对于重要的交易操作,门限秘密共享可以确保只有在多个授权用户(持有对象)合作的前提下才能进行。如图3所示,在银行系统中,总行中具有最高决策权和管理权的人员作为密钥生成中心31(本例中设置为总行行长),负责生成系统主私钥、系统公开参数(预设公开参数)和其他管理员的私钥371至375(用户私钥)。支行行长32拥有大额交易的授权密钥(待加密密钥),可将该密钥分享给其他普通管理员(持有对象)331至335,其中,基于授权密钥生成的临时密文38定期更新。在本例中,设置一个最高权限管理员(支行行长32)和五个普通权限管理员331至335。在进行大额转账或关键业务操作需要多个管理人员的共同授权,以防止内部或外部的恶意操作。支行行长32运行加密算法34,门限值(解密门限值)可根据交易级别灵活设置,例如,中等级别大额交易门限值可设置为3,即至少需要三个管理员才能获取授权密钥。当客户发起一笔大额转账时,银行系统自动生成一个交易请求发送给五个普通管理员,并要求授权,当不少于三个管理员审核无误后,可基于三个管理员解密35出的密钥份额391至393,然后执行门限份额合并算法36,恢复授权密钥30(待加密密钥),该授权密钥30用于确认和执行转账。如果少于3名普通管理员参与,该交易不会被批准。
步骤S202、将预设虚拟对象的数量与解密门限值之和确定为待加密密钥的目标解密数量。
在本申请的实施例中,第一终端将预设虚拟对象的数量以及解密门限值 确定为待加密密钥的目标解密数量。这样也就是说,想要解密出待加密密钥不 管是虚拟对象还是持有对象的数量总和达到即可。
步骤S203、将目标解密数量与至少一个持有对象的数量之差,确定为目标虚拟对象的目标数量。
在本申请的实施例中,由于数量达到目标解密数量即可,在知晓至少一个持有对象的数量之后,第一终端即可基于目标解密数量与至少一个持有对象的数量确定所需的目标虚拟对象的数量,即目标数量。
示例性地,确定方式参见公式(1):
(1);
其中,为从预设虚拟对象中确定的目标虚拟对象的目标数量,为解密门限值, 为至少一个持有对象的数量,-1为预设虚拟对象的数量,为目标解密数量。
步骤S204、根据目标数量,从预设虚拟对象中确定出目标虚拟对象。
在本申请的实施例中,第一终端在获取到目标数量之后,即可从预设虚拟对象中确定出目标数量的目标虚拟对象。
在一些实施例中,第一终端在执行上述步骤S102时,如图4所示,可以包括以下步骤S401和步骤S402:
步骤S401、针对持有对象,利用预设密码杂凑函数,基于对应标识信息,确定对应的密码杂凑值,并将对应密码杂凑值与第一系统主私钥之和,确定为对应的授权信息。
在本申请中的实施例中,第一终端针对至少一个持有对象中每个持有对象,利用 预设密码杂凑函数,基于对应的标识信息,确定对应的密码杂凑值,并将对应 密码杂凑值与第一系统主私钥之和,确定为对应的授权信息
步骤S402、针对目标虚拟对象,将对应虚拟标识信息与第一系统主私钥之和确定为对应的授权信息。
在本申请的实施例中,第一终端针对至少一个目标虚拟对象中每个目标虚拟对 象,将对应的虚拟标识信息与第一系统主私钥之和确定为对应的授权信息
在一些实施例中,密钥共享密文包括授权密文和临时密文,第一终端执行上述步骤S103中“基于至少一个持有对象的授权信息和至少一个目标虚拟对象的授权信息,以及待加密密钥确定密钥共享密文”时,如图5所示,可以包括以下步骤S501至步骤S504:
步骤S501、将至少一个持有对象的授权信息和至少一个目标虚拟对象的授权信息之积确定为第一乘积。
为方便表示,令
(2);
将至少一个持有对象的密码杂凑值对应设置为,并将 目标虚拟对象的虚拟标识信息对应设置为,然后,将至少一个 持有对象的授权信息和至少一个目标虚拟对象的授权信息之和确定为 第一乘积
步骤S502、从预设整数群中随机选取第一数值,并将第一数值、第一乘积、第二系统主私钥,以及预设公开参数包括的第一参数之积确定为授权密文。
在本申请的实施例中,第一终端会从预设整数群中随机选取出第一数值,进 而将第一数值、第一乘积、第二系统主私钥,以及预设公开参数包括 的第一参数之积确定为授权密文。
示例性地,确定授权密文的方式参见公式(3):
(3);
其中,为授权密文,为第二系统主私钥,为第一数值,为第一系统主私钥,为第个持有对象的密码杂凑值或目标虚拟对象的虚拟标识信息,为预设公开参数包括 的第一参数,为解密门限值,为预设虚拟对象的数量,为第个持有对象或目标虚 拟对象,为至少一个持有对象集合,为第个持有对象的密码杂凑值,为第个目 标虚拟对象的虚拟标识信息。
示例性地,该临时变量属于群中的元素。加密算法包含预设虚拟对象集合个虚拟用户,以获得阶多项式。授权密文的生成可参考图6, 秘密份额持有对象集合(至少一个持有对象)中的个元素,预设虚拟 对象集合包括个元素,解密门限值对应的持有对象集合包括的个持有对象,其中,至少一个持有对象和预设虚拟对象总共为个, 利用至少一个持有对象中的个元素,以及预设虚拟对象集合 中的个元素,即总元素为个,这样,能够确保多项式阶,以使后续,在知晓解密 门限值对应的持有对象集合之后,即可利用预设虚拟对象集合包括个虚拟对象 和集合中持有对象集合包括的个持有对象进行解密,这样,利用达到解密门限值的持 有对象即可,不会用到集合中除集合之外的集合中的其他持有对象,而是替换为 预设虚拟对象集合中与集合包括的数量相同的虚拟对象。
步骤S503、将第一数值与预设公开参数包括的第二参数之积确定为参数乘积,并将参数乘积的相反数确定为临时变量。
在本申请的实施例中,第一终端将第一数值与预设公开参数包括的第二参数 之积确定为参数乘积,并将参数乘积的相反数确定为临时变量
示例性地,确定临时变量的方式参见公式(4):
(4);
其中,为临时变量,为第一数值,为系统主私钥。实际上,在第一终端确 定临时变量的过程中,由于为系统主私钥,第一终端无法获得,会使用第一数值 和第二参数进行确定。
步骤S504、基于授权密文生成会话密钥,并将会话密钥与待加密密钥的异或确定为临时密文。
在本申请的实施例中,第一终端会基于授权密文生成会话密钥,然后,将将会 话密钥与待加密密钥的异或确定为临时密文
示例性地,确定临时密文的方式参见公式(5):
(5);
其中,为临时密文,为待加密密钥,为会话密钥。
这样,第一终端即可得到密钥共享密文
在一些实施例中,第一终端在执行上述步骤S504中基于授权密文生成会话密钥,如图7所示,可以包括以下步骤S701和步骤S702:
步骤S701、根据第一数值和预设公开参数包括的第三参数,确定预设乘法群中的第一元素。
在本申请的实施例中,第一终端根据第一数值和预设公开参数包括的第三参数,确定预设乘法群中的第一元素。示例性地,确定方式参见公式(6):
(6);
其中,为预设乘法群中的第一元素,为预设公开参数包括的第三参数,为第 一数值,为预设双线性算法,为系统主私钥,为预设公开参数包括的第一参数。
步骤S702、利用密钥派生函数,基于第一元素、临时变量、授权密文,以及至少一个持有对象的标识信息,生成会话密钥。
在本申请的实施例中,第一终端利用密钥派生函数,基于第一元素、临时 变量、授权密文,至少一个持有对象的标识信息,生成会话 密钥
示例性地,生成会话密钥的公式参见公式(7):
(7);
其中,为会话密钥,为密钥派生函数,为至少一个持有对象的标识信息集 合,为授权密文,为临时变量,为会话密钥的长度。
本申请实施例提供了一种密钥共享方法,应用于第一终端,获取待加密密钥中密钥份额的至少一个持有对象,以及基于至少一个持有对象从预设虚拟对象中确定出至少一个目标虚拟对象;分别基于持有对象的标识信息生成对应持有对象的授权信息,以基于至少一个目标虚拟对象中每个目标虚拟对象的虚拟标识信息生成对应目标虚拟对象的授权信息;基于至少一个持有对象的授权信息、至少一个目标虚拟对象的授权信息,以及待加密密钥确定密钥共享密文,并广播密钥共享密文。本申请提供的密钥共享方法,通过预设虚拟对象的方式,只需在新用户加入时,为该用户设置相应的授权信息,同时减少虚拟对象数量的设置,也就是说,会提前给潜在的用户设置一个虚拟的位置,从而可以允许新用户动态加入,提高了密钥共享的灵活性。
本申请实施例提供了一种密钥共享方法,由第二终端来实现,如图8所示,包括以下步骤S801和步骤S802:
步骤S801、获取第一终端广播的针对待加密密钥的密钥共享密文,以及使用第二终端的持有对象的用户私钥;用户私钥为基于持有对象的标识信息确定的。
在本申请的实施例中,第二终端可以接收到第一终端广播的针对于待加密密钥的 密钥共享密文,以及使用第二终端的持有对象的用户私钥
示例性地,第二终端实际上为上述金融机构应用场景下普通管理员使用的终端,该第二终端为具备密钥共享功能的设备。示例性地,密钥共享设备可以为笔记本电脑,平板电脑,台式计算机,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等。
在本申请的实施例中,第二终端可以获取到使用第二终端的持有对象的用户私 钥。示例性地,获取方式为:持有对象会将携带自身标识信息的注册请求发送至密钥生成中 心(可信机构),可信机构首先验证持有对象的身份,若验证通过,则可信机构会利用注册请 求中携带的用户标识信息计算哈希值,要求产生的哈希值不同于系统初始化阶段的 虚拟用户集合(预设虚拟对象)中的所有元素。若存在,则重新生成虚拟用户 集合。进而计算用户私钥,并将用户私钥通过安全信道发送至用户。
示例性地,确定用户私钥的方式参见公式(8):
(8);
其中,为用户私钥,为第一系统主私钥,为系统主私钥,为持有对 象的哈希值(密码杂凑值)。
由公式(8)可知,密钥生成中心在生成用户私钥的时候实际上仅使用了持有对象的标识信息,相较于相关技术中,门限值需要在密钥生成阶段固定,而用户私钥与门限值是相关的,若新用户重新加入系统,所有用户的私钥需重新生成的技术方案,本申请的用户私钥为基于持有对象的标识信息单独确定的,这样,若是有新用户加入,无需系统重新生成用户私钥,只许对新加入的用户生成对应的私钥即可,提高了密钥共享的灵活性。
步骤S802、利用用户私钥,基于密钥共享密文解密出持有对象持有的密钥份额,并将密钥份额发送至解密中心。
在本申请的实施例中,第二终端在获取到用户私钥以及密钥共享密文后,即可利用用户私钥,基于密钥共享密文解密出持有对象持有的密钥份额,并将密钥份额发送至解密中心。
在一些实施例中,密钥共享密文包括授权密文和临时变量,第二终端执行上述步骤S802时,如图9所示,还可以包括以下步骤S901和步骤S902:
步骤S901、对授权密文和临时变量进行验证,得到验证结果。
在本申请的实施例中,密钥共享密文包括授权密文和临时变量,第二终端对 密钥共享密文包括的授权密文和临时变量进行验证,验证的实现过程可以是:计算,以及,然后,验证 是否成立即可得到验证结果,若是成立,说明验证结果为通过,若是不成立,说明验证结果 为不通过。
步骤S902、在验证结果表征验证通过的情况下,利用用户私钥和授权密文,解密出持有对象持有的密钥份额。
在本申请的实施例中,若是验证结果表征验证通过,示例性地,解密密钥份额的方式参见公式(9):
(9);
其中,为使用第二终端的持有对象的密钥份额,为授权密文,为使用第 二终端的持有对象的用户私钥。
这样,每个持有对象均可解密出自身所持有的密钥份额。
本申请实施例提供了一种密钥共享方法,应用于第二终端,获取第一终端广播的针对待加密密钥的密钥共享密文,以及使用第二终端的持有对象的用户私钥;用户私钥为基于持有对象的标识信息确定的;利用用户私钥,基于密钥共享密文解密出持有对象持有的密钥份额,并将密钥份额发送至解密中心。本申请提供的密钥共享方法,本申请的用户私钥是基于对应持有对象的标识信息生成的,也就是说,若有新用户加入,无需系统重新生成用户私钥,只许对新加入的用户生成对应的私钥即可,提高了密钥共享的灵活性。
本申请实施例提供了一种密钥共享方法,由解密中心来实现,如图10所示,包括以下步骤S1001和步骤S1002:
步骤S1001、获取第一终端广播的针对待加密密钥的密钥共享密文,以及目标解密对象的密钥份额,目标解密对象为待加密密钥中密钥份额的至少一个持有对象中的持有对象,目标解密对象的数量为解密门限值;解密门限值与预设虚拟对象的数量之和为待加密密钥的目标解密数量。
在本申请的实施例中,解密中心可以获取到第一终端广播的密钥共享密文,以及目标解密对象的密钥份额。由于解密门限值与预设虚拟对象的数量之和即为待加密密钥的目标解密数量,并且,解密中心可以获取到全部的预设虚拟对象,这样,解密中心只需获取到解密门限值的至少一个持有对象中任意持有对象的密钥份额即可,无需获取至少一个持有对象包括的所有对象的密钥份额。提高了密钥共享的灵活性。
步骤S1002、利用密钥共享密文,对目标解密对象的密钥份额进行合并,得到待加密密钥。
在本申请的实施例中,解密中心利用密钥共享密文,对目标解密对象 的密钥份额进行合并,以得到待加密密钥
在一些实施例中,解密中心执行上述步骤S1002时,如图11所示,可以包括以下步骤S1101和步骤S1102:
步骤S1101、获取至少一个持有对象的标识信息,以及目标解密对象的标识信息。
在本申请的实施例中,解密中心可以获取到持有待加密密钥中密钥份额的至少一个持有对象的标识信息,以及向解密中心发送密钥份额的目标解密对象的标识信息。
步骤S1102、利用密钥共享密文、目标解密对象的标识信息,至少一个持有对象的标识信息,对目标解密对象的密钥份额进行密钥合并,得到待加密密钥。
在本申请的实施例中,解密中心在获取到密钥密文、目标解密对象的标识信息,以及至少一个持有对象的标识信息后,即可基于获取到的信息对目标解密对象的密钥份额进行密钥合并,得到待加密密钥。
在一些实施例中,密钥共享密文包括授权密文、临时变量,以及临时密文,解密中心在执行上述步骤S1102时,如图12所示,可以包括以下步骤S1201至步骤S1204:
步骤S1201、基于至少一个持有对象的标识信息和目标解密对象的标识信息,构建针对第一系统主私钥的多项式。
在本申请的实施例中,解密中心可以基于至少一个持有对象的标识信息和目标解密对象的标识信息,构建针对第一系统主私钥的多项式。示例性地,构建方式参见公式(10):
(10);
其中,为多项式,为第一系统主私钥,为 第一乘积,为多项式的常数项,为目标解密对象的标识信息。
步骤S1202、基于多项式、临时变量,以及目标解密对象的密钥份额,确定预设乘法群中的第一临时元素。
在本申请的实施例中,解密中心可以基于多项式、临时变量,以及目标持有对象的密钥份额,确定预设乘法群中的第一临时元素。此处的第一临时元素与上述第一终端中的第一元素仅是确定方式不同。
步骤S1203、利用密钥派生函数,基于第一临时元素、授权密文,临时变量以及至少一个持有对象的标识信息,确定临时会话密钥。
在本申请的实施例中,解密中心在获取到第一临时元素、封装密文,以及多个持有对象的标识信息之后,即可利用密钥派生函数,确定出临时会话密钥。此处的临时会话密钥与上述第一终端中的会话密钥仅是确定方式不同。
示例性地,确定临时会话密钥的方式参见公式(11):
(11);
其中,为临时会话密钥、为授权密文,为临时变量,为第一临时元素, 为至少一个持有对象的标识信息,以及为临时会话密钥的长度。
步骤S1204、将临时会话密钥与临时密文的异或确定为待加密密钥。
在本申请的实施例中,解密中心将临时会话密钥与临时密文的异或确定为待加密密钥。示例性地,确定方式参见公式(12):
(12);
其中,为待加密密钥,为临时密文,为临时会话密钥。
在一些实施例中,解密中心执行上述步骤S1202时,如图13所示,还可以包括以下步骤S1301至步骤S1303:
步骤S1301、利用预设双线性算法,基于临时变量和多项式,确定双线性值。
在本申请的实施例中,解密中心会利用预设双线性算法,基于临时变量和多 项式,确定双线性值
步骤S1302、利用预设聚合函数,对目标解密对象的密钥份额进行密钥聚合,得到聚合密钥。
在本申请的实施例中,解密中心利用预设聚合函数,对目标解密对象的密 钥份额进行密钥聚合,得到聚合密钥
示例性地,确定聚合密钥的公式参见公式(13)所示:
(13);
其中,为所有目标解密对象的密钥份额,为聚合函数,密钥份 额的确定方式参见上述公式(9)。
示例性地,聚合密钥确定的详细过程:首先令。定义,则,其 中。聚合函数利用递推式(14):
(14);
按照顺序执行,最终输出聚合密钥
对于聚合函数,仅需输入集合中用户对应的秘密份额和 系统公开参数,参见公式(15),则
(15);
其中的计算如公式(16)所示,
(16);
其中,的计算过程可参考公式(15)。
步骤S1303、将双线性值与聚合密钥之积确定为第二乘积,并利用多项式的常数项对第二乘积进行乘方运算,得到第一临时元素。
示例性地,解密中心确定第一临时元素的方式参见公式(17):
(17);
其中,为第一临时元素,为双线性值,为聚合密 钥,为多项式的常数项。
假设密文和聚合函数的计算是正确的,达到门限值(解密门限值)的 个用户可输入秘密份额计算第一临时元素,参见公式(18):
(18);
本申请主要的设计思路:加密阶段的授权密文和密钥份额合并阶段。其中阶多项式。密钥份额合并 过程中,由双线性映射的双线性性质可知,可以与化简,化简结果可以与多项式约掉。若存在集合个用户想要解密该密文,输入,为恢复正确的,需构造多项式, 该多项式为阶,而公钥不含群元素,故少于个用户无法完成正 确解密。
本申请实施例提供了一种密钥共享方法,应用于解密中心,获取第一终端广播的针对待加密密钥的密钥共享密文,以及目标解密对象的密钥份额,目标解密对象为待加密密钥中密钥份额的至少一个持有对象中的持有对象,目标解密对象的数量为解密门限值;解密门限值与预设虚拟对象的数量之和为待加密密钥的目标解密数量;利用密钥共享密文,对目标解密对象的密钥份额进行合并,得到待加密密钥。本申请提供的密钥共享方法,解密中心可以获取到第一终端广播的密钥共享密文,以及目标解密对象的密钥份额。由于解密门限值与预设虚拟对象的数量之和即为待加密密钥的目标解密数量,并且,解密中心可以获取到全部的预设虚拟对象,这样,解密中心只需获取到解密门限值的至少一个持有对象中任意持有对象的密钥份额即可,无需获取至少一个持有对象包括的所有对象的密钥份额。提高了密钥共享的灵活性。
本申请实施例提供了一种密钥共享系统,第一终端、第二终端,以及解密中心,第一终端,用于分别对获取的待加密密钥中密钥份额的至少一个持有对象生成对应持有对象的授权信息,以及对获取的至少一个目标虚拟对象生成对应目标虚拟对象的授权信息;
第一终端,还用于基于至少一个持有对象的授权信息、至少一个目标虚拟对象的授权信息,以及待加密密钥确定密钥共享密文,确定密钥共享密文,并广播密钥共享密文;
第二终端,用于获取密钥共享密文,以及使用第二终端的持有对象的用户私钥,并发送利用用户私钥,基于密钥共享密文解密出持有对象持有的密钥份额至解密中心;用户私钥为基于持有对象的标识信息确定的;
解密中心,用于获取密钥共享密文、以及目标解密对象的密钥份额,并利用密钥共享密文,对目标解密对象的密钥份额进行合并,得到待加密密钥;目标解密对象为至少一个持有对象中的持有对象,目标解密对象的数量为解密门限值;解密门限值与预设虚拟对象的数量之和为待加密密钥的目标解密数量。
图14为本申请实施例提供的一种示例性的密钥共享方法的流程示意图。这种密钥共享方法(面向国产密码的动态门限共享方法)具体包括三类实体,即秘密持有方、秘密份额持有方、密钥生成中心(可信机构)。如图14所示,密钥共享方法包括以下步骤S1401至步骤S1405:
步骤S1401、系统初始化,可信机构根据安全参数和系统用户最大数量生成系统主公开参数和系统主私钥,将系统主私钥秘密保存。
这里,可信机构根据安全参数和系统用户最大数量m生成系统主公开参数,以及系统主私钥。 示例性地实现方式参见上述步骤S101中的步骤1至5。
步骤S1402、用户注册,用户向可信机构请求加入系统,可信机构验证用户身份通过后,利用用户的标识信息计算用户私钥并通过安全信道发送给用户。
这里,每个用户存在唯一标识,KGC根据主私钥和用户标识计算个用户的私 钥,其中。KGC通过安全信道将用户私钥分发给各个用户,私钥由用户秘密保存。
示例性地实现方式:用户请求加入系统,密钥生成中心首先验证用户的身份。验证 通过后,假设用户的标识信息为,KGC首先计算用户标识的哈希,要求产生的哈希 值不同于系统初始化阶段的虚拟用户集合中的所有元素。若存在,则重新生 成虚拟用户集合。计算用户私钥并通过安全信道发送给用户,用户私钥计算过程参见上 述公式(8)。
步骤S1403、秘密持有方确定秘密份额持有方标识集合、门限值以及待加密的秘密值,运行加密算法,输出密文。
这里,秘密持有方确定秘密份额持有方标识集合、门限 值(解密门限值)以及待加密的秘密值,进而运行加密算法,输出密文(密钥共享密文)。 示例性地确定密文的方式参见上述步骤S401至步骤S402、步骤S501至步骤S503,以及步骤 S701至步骤S702。
步骤S1404、任何用户可对密文进行有效性验证。输入用户私钥、密文和系统公开参数,秘密份额持有方运行份额解密算法获得秘密份额。
这里,任意用户可对封装密文的真实性进行验证,为获取秘密份额,输入用户私钥和密文(密钥共享密文),计算得到秘密份额(密钥份额)。示例性地获取密钥份额的方式参见上述步骤S801至步骤S802,以及步骤S901至步骤S902。
步骤S1405、输入不少于门限数量(解密门限值)的秘密份额(密钥份额),运行秘密份额合并算法(聚合函数),输出聚合后的秘密值(待加密密钥)。
这里,输入全部密钥份额持有方标识集合、密文、系统公开参数、 达到门限数量的密钥份额持有者标识集合个密钥份 额。计算中临时变量(第一临时元素),最后计算,得到明文(待加密密 钥)。示例性地,确定方式参见上述步骤S1001至步骤S1002、步骤S1101至步 骤S1102、步骤S1201至步骤S1204,以及步骤S1301至步骤S1303。
最后,本申请的正确性证明参见公式(18)。
本申请实施例提供了一种第一终端。如图15所示,该第一终端包括:
第一获取模块1501,用于获取待加密密钥中密钥份额的至少一个持有对象,以及基于至少一个持有对象从预设虚拟对象中确定出至少一个目标虚拟对象;
生成模块1502,用于分别基于持有对象的标识信息生成对应持有对象的授权信息,以及基于至少一个目标虚拟对象中每个目标虚拟对象的虚拟标识信息生成对应目标虚拟对象的授权信息;
确定模块1503,用于基于至少一个持有对象的授权信息、至少一个目标虚拟对象的授权信息,以及待加密密钥确定密钥共享密文,并广播密钥共享密文。
在本申请一实施例中,第一获取模块1501,还用于获取针对待加密密钥设置的解密门限值;将预设虚拟对象的数量与解密门限值之和确定为待加密密钥的目标解密数量;将目标解密数量与至少一个持有对象的数量之差,确定为目标虚拟对象的目标数量;根据目标数量,从预设虚拟对象中确定出目标虚拟对象。
在本申请一实施例中,生成模块1502,还用于针对持有对象,利用预设密码杂凑函数,基于对应标识信息,确定对应的密码杂凑值,并将对应密码杂凑值与第一系统主私钥之和,确定为对应的授权信息;针对目标虚拟对象,将对应虚拟标识信息与第一系统主私钥之和确定为对应的授权信息。
在本申请一实施例中,密钥共享密文包括授权密文、临时变量,以及临时密文;确定模块1503,还用于将至少一个持有对象的授权信息和至少一个目标虚拟对象的授权信息之积确定为第一乘积;从预设整数群中随机选取第一数值,并将第一数值、第一乘积、第二系统主私钥,以及预设公开参数包括的第一参数之积确定为授权密文;将第一数值与预设公开参数包括的第二参数之积确定为参数乘积,并将参数乘积的相反数确定为临时变量;基于授权密文生成会话密钥,并将会话密钥与待加密密钥的异或确定为临时密文。
在本申请一实施例中,确定模块1503,还用于根据第一数值和预设公开参数包括的第三参数,确定预设乘法群中的第一元素;利用密钥派生函数,基于第一元素、临时变量、授权密文,以及至少一个持有对象的标识信息,生成会话密钥。
本申请实施例提供了一种第二终端,如图16所示,该第二终端包括:
第二获取模块1601,获取第一终端广播的针对待加密密钥的密钥共享密文,以及使用第二终端的持有对象的用户私钥;用户私钥为基于持有对象的标识信息确定的;
解密模块1602,用于利用用户私钥,基于密钥共享密文解密出持有对象持有的密钥份额,并将密钥份额发送至解密中心。
在本申请一实施例中,密钥共享密文包括授权密文和临时变量,解密模块1602,还用于对授权密文和临时变量进行验证,得到验证结果;在验证结果表征验证通过的情况下,利用用户私钥和授权密文,解密出持有对象持有的密钥份额。
本申请实施例提供了一种解密中心,如图17所示,该解密中心包括:
第三获取模块1701,用于获取第一终端广播的针对待加密密钥的密钥共享密文,以及目标解密对象的密钥份额,目标解密对象为待加密密钥中密钥份额的至少一个持有对象中的持有对象,目标解密对象的数量为解密门限值;解密门限值与预设虚拟对象的数量之和为待加密密钥的目标解密数量;
合并模块1702,用于利用密钥共享密文,对目标解密对象的密钥份额进行合并,得到待加密密钥。
在本申请一实施例中,合并模块1702,还用于获取至少一个持有对象的标识信息,以及目标解密对象的标识信息;利用密钥共享密文、目标解密对象的标识信息,至少一个持有对象的标识信息,对目标解密对象的密钥份额进行密钥合并,得到待加密密钥。
在本申请一实施例中,密钥共享密文包括授权密文、临时变量,以及临时密文,合并模块1702,还用于基于至少一个持有对象的标识信息和目标解密对象的标识信息,构建针对第一系统主私钥的多项式;基于多项式、临时变量,以及目标解密对象的密钥份额,确定预设乘法群中的第一临时元素;利用密钥派生函数,基于第一临时元素、授权密文,临时变量以及至少一个持有对象的标识信息,确定临时会话密钥;将临时会话密钥与临时密文的异或确定为待加密密钥。
在本申请一实施例中,合并模块1702,还用于利用预设双线性算法,基于临时变量和多项式,确定双线性值;利用预设聚合函数,对目标解密对象的密钥份额进行密钥聚合,得到聚合密钥;将双线性值与聚合密钥之积确定为第二乘积,并利用多项式的常数项对第二乘积进行乘方运算,得到第一临时元素。
本申请实施例提供了一种密钥共享设备,包括:第一终端、第二终端,以及解密中心;如图18所示,密钥共享设备包括:处理器1801、存储器1802和通信总线1803;
通信总线1803,用于实现处理器1801和存储器1802之间的通信连接;
处理器1801,用于执行存储器1802中存储的程序,以实现上述应用于第一终端,或第二终端,或解密中心的密钥共享方法。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者多个计算机程序,一个或者多个计算机程序可以被一个或者多个处理器执行,以实现上述密钥共享方法。计算机可读存储介质可以是易失性存储器(volatile memory),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器(non-volatilememory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);也可以是包括上述存储器之一或任意组合的各自设备,如移动电话、计算机、平板设备、个人数字助理等。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。

Claims (11)

1.一种密钥共享方法,其特征在于,应用于第一终端,所述密钥共享方法包括:
获取待加密密钥中密钥份额的至少一个持有对象,以及基于所述至少一个持有对象从预设虚拟对象中确定出至少一个目标虚拟对象;
分别基于所述持有对象的标识信息生成对应所述持有对象的授权信息,以及基于所述至少一个目标虚拟对象中每个目标虚拟对象的虚拟标识信息生成对应所述目标虚拟对象的授权信息;
基于所述至少一个持有对象的授权信息、所述至少一个目标虚拟对象的授权信息,以及所述待加密密钥确定密钥共享密文,并广播所述密钥共享密文;
其中,所述基于所述至少一个持有对象从预设虚拟对象中确定出至少一个目标虚拟对象,包括:获取针对所述待加密密钥设置的解密门限值;将所述预设虚拟对象的数量与所述解密门限值之和确定为所述待加密密钥的目标解密数量;将所述目标解密数量与所述至少一个持有对象的数量之差,确定为所述目标虚拟对象的目标数量;根据所述目标数量,从所述预设虚拟对象中确定出所述目标虚拟对象;
所述密钥共享密文包括授权密文、临时变量,以及临时密文;所述基于所述至少一个持有对象的授权信息、所述至少一个目标虚拟对象的授权信息,以及所述待加密密钥确定密钥共享密文,包括:将所述至少一个持有对象的授权信息和所述至少一个目标虚拟对象的授权信息之积确定为第一乘积;从预设整数群中随机选取第一数值,并将所述第一数值、所述第一乘积、第二系统主私钥,以及预设公开参数包括的第一参数之积确定为所述授权密文;将所述第一数值与所述预设公开参数包括的第二参数之积确定为参数乘积,并将所述参数乘积的相反数确定为所述临时变量;基于所述授权密文生成会话密钥,并将所述会话密钥与所述待加密密钥的异或确定为所述临时密文。
2.根据权利要求1所述的密钥共享方法,其特征在于,所述分别基于所述持有对象的标识信息生成对应所述持有对象的授权信息,以及基于所述至少一个目标虚拟对象中每个目标虚拟对象的虚拟标识信息生成对应所述目标虚拟对象的授权信息,包括:
针对所述持有对象,利用预设密码杂凑函数,基于对应所述标识信息,确定对应的密码杂凑值,并将对应所述密码杂凑值与第一系统主私钥之和,确定为对应的授权信息;
针对所述目标虚拟对象,将对应所述虚拟标识信息与所述第一系统主私钥之和确定为对应的授权信息。
3.根据权利要求1所述的密钥共享方法,其特征在于,所述基于所述授权密文生成会话密钥,包括:
根据所述第一数值和所述预设公开参数包括的第三参数,确定预设乘法群中的第一元素;
利用密钥派生函数,基于所述第一元素、所述临时变量、所述授权密文,以及所述至少一个持有对象的标识信息,生成所述会话密钥。
4.一种密钥共享方法,其特征在于,应用于第二终端,所述密钥共享方法包括:
获取第一终端广播的针对待加密密钥的密钥共享密文,以及使用所述第二终端的持有对象的用户私钥;所述用户私钥为基于所述持有对象的标识信息确定的;所述持有对象为持有所述待加密密钥中密钥份额的至少一个持有对象包括的对象;所述密钥共享密文包括授权密文、临时变量,以及临时密文;所述授权密文为所述至少一个持有对象的授权信息和至少一个目标虚拟对象的授权信息确定的第一乘积、从预设整数群中随机选取第一数值、第二系统主私钥,以及预设公开参数包括的第一参数的乘积;所述临时变量为将所述第一数值与所述预设公开参数包括的第二参数确定的参数乘积的相反数;所述临时密文为所述授权密文生成的会话密钥与所述待加密密钥的异或;所述至少一个目标虚拟对象为根据所述至少一个目标虚拟对象的目标数量从预设虚拟对象中确定的;所述目标数量为目标解密数量与所述至少一个持有对象的数量之差;所述目标解密数量为所述预设虚拟对象的数量与解密门限值之和;所述解密门限值为针对所述待加密密钥设置的;
利用所述用户私钥,基于所述密钥共享密文解密出所述持有对象持有的密钥份额,并将所述密钥份额发送至解密中心。
5.根据权利要求4所述的密钥共享方法,其特征在于,所述密钥共享密文包括所述授权密文和所述临时变量,所述利用所述用户私钥,基于所述密钥共享密文解密出所述持有对象持有的密钥份额,包括:
对所述授权密文和所述临时变量进行验证,得到验证结果;
在所述验证结果表征验证通过的情况下,利用所述用户私钥和所述授权密文,解密出所述持有对象持有的所述密钥份额。
6.一种密钥共享方法,其特征在于,应用于解密中心,所述密钥共享方法包括:
获取第一终端广播的针对待加密密钥的密钥共享密文,以及目标解密对象的密钥份额,所述目标解密对象为所述待加密密钥中密钥份额的至少一个持有对象中的所述持有对象,所述目标解密对象的数量为解密门限值;所述解密门限值与预设虚拟对象的数量之和为所述待加密密钥的目标解密数量;所述密钥共享密文包括授权密文、临时变量,以及临时密文;所述授权密文为所述至少一个持有对象的授权信息和至少一个目标虚拟对象的授权信息确定的第一乘积、从预设整数群中随机选取第一数值、第二系统主私钥,以及预设公开参数包括的第一参数的乘积;所述临时变量为所述第一数值与所述预设公开参数包括的第二参数乘积的相反数;所述临时密文为所述授权密文生成的会话密钥与所述待加密密钥的异或;所述至少一个目标虚拟对象为根据所述至少一个目标虚拟对象的目标数量从预设虚拟对象中确定的;所述目标数量为所述目标解密数量与所述至少一个持有对象的数量之差;
利用所述密钥共享密文,对所述目标解密对象的密钥份额进行合并,得到所述待加密密钥。
7.根据权利要求6所述的密钥共享方法,其特征在于,所述利用所述密钥共享密文,对所述目标解密对象的密钥份额进行合并,得到所述待加密密钥,包括:
获取所述至少一个持有对象的标识信息,以及所述目标解密对象的标识信息;
利用所述密钥共享密文、所述目标解密对象的标识信息,所述至少一个持有对象的标识信息,对所述目标解密对象的密钥份额进行密钥合并,得到待加密密钥。
8.根据权利要求7所述的密钥共享方法,其特征在于,所述密钥共享密文包括所述授权密文、所述临时变量,以及所述临时密文,所述利用所述密钥共享密文、所述目标解密对象的标识信息,所述至少一个持有对象的标识信息,对所述目标解密对象的密钥份额进行密钥合并,得到待加密密钥,包括:
基于所述至少一个持有对象的标识信息和所述目标解密对象的标识信息,构建针对第一系统主私钥的多项式;
基于所述多项式、所述临时变量,以及所述目标解密对象的密钥份额,确定预设乘法群中的第一临时元素;
利用密钥派生函数,基于所述第一临时元素、所述授权密文,所述临时变量以及所述至少一个持有对象的标识信息,确定临时会话密钥;
将所述临时会话密钥与所述临时密文的异或确定为所述待加密密钥。
9.根据权利要求8所述的密钥共享方法,其特征在于,所述基于所述多项式、所述临时变量,以及所述目标解密对象的密钥份额,确定预设乘法群中的第一临时元素,包括:
利用预设双线性算法,基于所述临时变量和所述多项式,确定双线性值;
利用预设聚合函数,对所述目标解密对象的密钥份额进行密钥聚合,得到聚合密钥;
将所述双线性值与所述聚合密钥之积确定为第二乘积,并利用所述多项式的常数项对所述第二乘积进行乘方运算,得到所述第一临时元素。
10.一种密钥共享系统,其特征在于,包括第一终端、第二终端,以及解密中心;其中,
所述第一终端,用于分别对获取的待加密密钥中密钥份额的至少一个持有对象生成对应所述持有对象的授权信息,以及对获取的至少一个目标虚拟对象生成对应所述目标虚拟对象的授权信息;
所述第一终端,还用于基于所述至少一个持有对象的授权信息、所述至少一个目标虚拟对象的授权信息,以及所述待加密密钥确定密钥共享密文,并广播所述密钥共享密文;
所述第二终端,用于获取所述密钥共享密文,以及使用所述第二终端的持有对象的用户私钥,并发送利用所述用户私钥,基于所述密钥共享密文解密出所述持有对象持有的密钥份额至解密中心;所述用户私钥为基于所述持有对象的标识信息确定的;
所述解密中心,用于获取所述密钥共享密文、以及目标解密对象的密钥份额,并利用所述密钥共享密文,对所述目标解密对象的密钥份额进行合并,得到所述待加密密钥;所述目标解密对象为所述至少一个持有对象中的所述持有对象,所述目标解密对象的数量为解密门限值;所述解密门限值与预设虚拟对象的数量之和为所述待加密密钥的目标解密数量;
所述第一终端,用于获取针对所述待加密密钥设置的解密门限值;将所述预设虚拟对象的数量与所述解密门限值之和确定为所述待加密密钥的目标解密数量;将所述目标解密数量与所述至少一个持有对象的数量之差,确定为所述目标虚拟对象的目标数量;根据所述目标数量,从所述预设虚拟对象中确定出所述目标虚拟对象;
所述密钥共享密文包括授权密文、临时变量,以及临时密文;所述第一终端,用于将所述至少一个持有对象的授权信息和所述至少一个目标虚拟对象的授权信息之积确定为第一乘积;从预设整数群中随机选取第一数值,并将所述第一数值、所述第一乘积、第二系统主私钥,以及预设公开参数包括的第一参数之积确定为所述授权密文;将所述第一数值与所述预设公开参数包括的第二参数之积确定为参数乘积,并将所述参数乘积的相反数确定为所述临时变量;基于所述授权密文生成会话密钥,并将所述会话密钥与所述待加密密钥的异或确定为所述临时密文。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可以被一个或者多个处理器执行,以实现权利要求1至3中任一项,或权利要求4至5中任一项,或权利要求6至9中任一项所述的密钥共享方法。
CN202311379996.7A 2023-10-24 2023-10-24 一种密钥共享方法、系统及存储介质 Active CN117134910B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311379996.7A CN117134910B (zh) 2023-10-24 2023-10-24 一种密钥共享方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311379996.7A CN117134910B (zh) 2023-10-24 2023-10-24 一种密钥共享方法、系统及存储介质

Publications (2)

Publication Number Publication Date
CN117134910A CN117134910A (zh) 2023-11-28
CN117134910B true CN117134910B (zh) 2024-03-15

Family

ID=88863096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311379996.7A Active CN117134910B (zh) 2023-10-24 2023-10-24 一种密钥共享方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN117134910B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107769918A (zh) * 2017-09-07 2018-03-06 广东工业大学 一种安全的云数据多副本关联删除方法
WO2018207187A1 (en) * 2017-05-10 2018-11-15 B. G. Negev Technologies And Applications Ltd., At Ben-Gurion University Method and system for performing broadcast encryption with revocation capability
CN110235409A (zh) * 2016-12-08 2019-09-13 格马尔托股份有限公司 使用同态加密被保护的rsa签名或解密的方法
CN110999206A (zh) * 2017-08-15 2020-04-10 区块链控股有限公司 阈值数字签名方法及系统
WO2023072504A1 (en) * 2021-10-26 2023-05-04 Nchain Licensing Ag Threshold signature scheme
WO2023072502A1 (en) * 2021-10-26 2023-05-04 Nchain Licensing Ag Generating shared keys

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201710176D0 (en) * 2017-06-26 2017-08-09 Nchain Holdings Ltd Computer-implemented system and method
EP4082154A4 (en) * 2019-12-23 2023-06-14 Kzen Networks Ltd. SYSTEM AND METHOD FOR MANAGING A SHARED CRYPTOGRAPHIC ACCOUNT
CN114697925A (zh) * 2020-12-30 2022-07-01 比亚迪股份有限公司 一种虚拟钥匙的分享系统及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110235409A (zh) * 2016-12-08 2019-09-13 格马尔托股份有限公司 使用同态加密被保护的rsa签名或解密的方法
WO2018207187A1 (en) * 2017-05-10 2018-11-15 B. G. Negev Technologies And Applications Ltd., At Ben-Gurion University Method and system for performing broadcast encryption with revocation capability
CN110999206A (zh) * 2017-08-15 2020-04-10 区块链控股有限公司 阈值数字签名方法及系统
CN107769918A (zh) * 2017-09-07 2018-03-06 广东工业大学 一种安全的云数据多副本关联删除方法
WO2023072504A1 (en) * 2021-10-26 2023-05-04 Nchain Licensing Ag Threshold signature scheme
WO2023072502A1 (en) * 2021-10-26 2023-05-04 Nchain Licensing Ag Generating shared keys

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种适用于Ad Hoc网络的分布式证书服务模型;杨天骄;李晖;;《电子科技》;第21卷(第05期);第54-64页 *
可更新身份可追查的虚拟企业动态认证方案;周萍;何大可;兰青青;;《电子设计工程》;第24卷(第09期);第88-92页 *

Also Published As

Publication number Publication date
CN117134910A (zh) 2023-11-28

Similar Documents

Publication Publication Date Title
Bünz et al. Zether: Towards privacy in a smart contract world
US11552792B2 (en) Systems and methods for generating signatures
CN108352015B (zh) 用于基于区块链的系统结合钱包管理系统的安全多方防遗失存储和加密密钥转移
CN109714167B (zh) 适用于移动应用签名的身份认证与密钥协商方法及设备
US9065637B2 (en) System and method for securing private keys issued from distributed private key generator (D-PKG) nodes
US8429408B2 (en) Masking the output of random number generators in key generation protocols
US10250591B2 (en) Password-based authentication
US8868911B2 (en) Method for key generation, member authentication, and communication security in dynamic group
US20130322621A1 (en) Private key generation apparatus and method, and storage media storing programs for executing the methods
CN110545279A (zh) 兼具隐私和监管功能的区块链交易方法、装置及系统
CN109936456B (zh) 基于私钥池的抗量子计算数字签名方法和系统
CN109921905B (zh) 基于私钥池的抗量子计算密钥协商方法和系统
CN113708917B (zh) 基于属性加密的app用户数据访问控制系统及方法
CN110545169B (zh) 基于非对称密钥池和隐式证书的区块链方法和系统
Saranya et al. Cloud based efficient authentication for mobile payments using key distribution method
JP2019537349A (ja) 複合デジタル署名
CN110519226B (zh) 基于非对称密钥池和隐式证书的量子通信服务端保密通信方法和系统
WO2016193731A1 (en) Authentication methods, systems, devices, servers and computer program products
WO2013004691A1 (en) Traitor tracing for software-implemented decryption algorithms
CN111245594B (zh) 一种基于同态运算的协同签名方法及系统
US20220385480A1 (en) Device registration
CN117134910B (zh) 一种密钥共享方法、系统及存储介质
CN114189338B (zh) 基于同态加密技术的sm9密钥安全分发和管理系统及方法
CN116980130B (zh) 一种文件分享方法、系统及存储介质
CN115396103B (zh) 基于白盒密钥的ai数据共享方法、系统和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant