CN113746623B - 一种门限密钥验证方法及相关设备 - Google Patents
一种门限密钥验证方法及相关设备 Download PDFInfo
- Publication number
- CN113746623B CN113746623B CN202010470235.2A CN202010470235A CN113746623B CN 113746623 B CN113746623 B CN 113746623B CN 202010470235 A CN202010470235 A CN 202010470235A CN 113746623 B CN113746623 B CN 113746623B
- Authority
- CN
- China
- Prior art keywords
- verification
- fragment
- cooperative party
- cooperator
- parameter
- 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
Links
- 238000012795 verification Methods 0.000 title claims abstract description 307
- 238000000034 method Methods 0.000 title claims abstract description 87
- 239000012634 fragment Substances 0.000 claims abstract description 282
- 238000004364 calculation method Methods 0.000 claims abstract description 49
- 230000015654 memory Effects 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 238000005516 engineering process Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000010200 validation analysis Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 241000764238 Isis Species 0.000 description 1
- 241000254105 Tenebrio Species 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
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)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例提供一种门限密钥验证方法及相关设备,所述方法包括:第一协同方获取所述第一协同方对应的第一多项式,并将第二标识数值带入所述第一协同方对应的第一多项式进行计算,得到第一验证分片;向第二协同方发送所述第一验证分片;获取第一随机数,并将所述第一随机数、多个第一参数和多个第二参数进行运算,得到多个第一验证参照值;向所述第二协同方发送所述第一随机数和所述多个第一验证参照值,使得所述第二协同方使用所述第一验证分片、所述第一随机数和所述多个第一验证参照值验证所述第一协同方向其发送的第一私钥分片是否正确。该方法不仅能够提高密钥的安全性,还能够有效地提高密钥验证的效率。
Description
技术领域
本申请涉及信息安全技术领域,尤其涉及一种门限密钥验证方法及相关设备。
背景技术
近年来,随着去中心化概念的流行,分布式安全的重要性再次引起了互联网行业的关注,可验证门限密钥分享技术作为一种可以保证分布式安全的可靠技术,也再次被互联网行业所关注,并逐渐应用到云计算、数据库、人工智能等许多热门领域。
目前,可验证门限密钥分享技术中通常采用基于数学难题(如离散对数难题)的承诺(commitment)来保证密钥安全,即,在密钥验证阶段,一个协同方是使用承诺中的数学难题对其他协同方发送给自己的私钥分片(也可以称为私钥份额)进行验证的。但是,基于数学难题的承诺所保证的密钥安全只是基于计算假设的安全,也就是说,只有在数学难题成立的情况下,密钥才是安全的。随着科学技术的发展,在即将到来的量子计算时代,数学难题在线性时间内极有可能被解开,一旦数学难题被解开,密钥的安全也就无法保证了。
可以看出,基于数学难题的承诺所实现的密钥安全依旧不够理想。
发明内容
本申请提供了一种门限密钥验证方法及相关设备,不仅能够提高密钥的安全性,还能够有效地提高密钥验证的效率。
第一方面,本申请提供了一种门限密钥验证方法,所述方法由n个协同方中的第一协同方执行,所述n个协同方具有公开且互不相同的标识数值,所述第一协同方的标识数值为第一标识数值,第二协同方的标识数值为第二标识数值,所述第二协同方为所述n个协同方中除所述第一协同方之外的任意一个协同方,n为大于2的自然数,所述方法包括:
获取所述第一协同方对应的第一多项式,并将所述第二标识数值带入所述第一协同方对应的第一多项式进行计算,得到第一验证分片;
向所述第二协同方发送所述第一验证分片;
获取第一随机数,并将所述第一随机数、多个第一参数和多个第二参数进行运算,得到多个第一验证参照值,其中,所述多个第一验证参照值中的每个第一验证参照值对应一个第一参数和一个第二参数;
向所述第二协同方发送所述第一随机数和所述多个第一验证参照值,使得所述第二协同方使用所述第一验证分片、所述第一随机数和所述多个第一验证参照值验证所述第一协同方向其发送的第一私钥分片是否正确,其中,所述第一私钥分片为所述第一协同方将所述第二标识数值带入所述第一协同方对应的第二多项式进行计算得到的。
在一些可能的实施例中,所述多个第一参数包括bi,0,bi,1,bi,2,…,bi,t-1,所述多个第二参数包括ai,0,ai,1,ai,2,…,ai,t-1,所述多个第一验证参照值包括Ai,0、Ai,1、Ai,2、…、Ai,t-1,其中,所述第一参数bi,0为所述第一协同方对应的第一多项式的常数项,所述第一参数bi,1,bi,2,…,bi,t-1为所述第一协同方对应的第一多项式的系数,所述第二参数ai,0为所述第一协同方对应的第二多项式的常数项,所述第二参数ai,1,ai,2,…,ai,t-1为所述第一协同方对应的第二多项式的系数,i为所述第一标识数值,i,t均为自然数,且i≥1,1<t<n;
所述将所述第一随机数、多个第一参数和多个第二参数进行运算,得到多个第一验证参照值,包括:
将所述第一随机数、第一参数bi,j和第二参数ai,j进行线性运算,得到第一验证参照值Ai,j,其中,j为自然数,0≤j≤t-1。
在一些可能的实施例中,所述将所述第一随机数、第一参数ai,j和第二参数bi,j进行线性运算,得到第一验证参照值Ai,j,包括:
将所述第一随机数、第一参数ai,j和第二参数bi,j通过以下公式进行线性运算,得到第一验证参照值Ai,j:
Ai,j=bi,j+riai,j
其中,ri为所述第一随机数。
在一些可能的实施例中,在向所述第二协同方发送所述第一验证分片的情况下,所述方法还包括:
接收所述第二协同方发送的第二验证分片、第二随机数和多个第二验证参照值,其中,所述第二验证分片为所述第二协同方将所述第一标识数值带入所述第二协同方对应的第一多项式进行计算得到的,所述多个第二验证参照值为所述第二协同方将所述第二随机数、多个第三参数和多个第四参数进行运算得到的,其中,所述多个第二验证参照值中的每个第二验证参照值对应一个第三参数和一个第四参数;
使用所述第二验证分片、所述第二随机数和所述多个第二验证参照值验证所述第二协同方向其发送的第二私钥分片是否正确,其中,所述第二私钥分片为所述第二协同方将所述第一标识数值带入所述第二协同方对应的第二多项式进行计算得到的。
在一些可能的实施例中,所述多个第三参数包括bl,0,bl,1,bl,2,…,bl,t-1,所述多个第四参数包括al,0,al,1,al,2,…,al,t-1,所述多个第二验证参照值包括Al,0、Al,1、Al,2、…、Al,t-1,其中,第二验证参照值Al,j为所述第二协同方将所述第二随机数、第三参数bl,j和第四参数al,j进行线性运算得到的,所述第三参数bl,0为所述第二协同方对应的第一多项式的常数项,所述第三参数bl,1,bl,2,…,bl,t-1为所述第二协同方对应的第一多项式的系数,所述第四参数al,0为所述第二协同方对应的第二多项式的常数项,所述第四参数al,1,al,2,…,al,t-1为所述第二协同方对应的第二多项式的系数,l为所述第二标识数值,l为自然数,且l≥1,l≠i。
在一些可能的实施例中,所述使用所述第二验证分片、所述第二随机数和所述多个第二验证参照值验证所述第二协同方向其发送的第二私钥分片是否正确,包括:
上述方案中,第一协同方是通过获取第一协同方对应的第一多项式,并将第二标识数值带入第一协同方对应的第一多项式进行计算得到第一验证分片,向第二协同方发送第一验证分片,然后获取第一随机数,并将第一随机数、多个第一参数和多个第二参数进行运算,得到多个第一验证参照值后,向第二协同方发送第一随机数和多个第一验证参照值,使得第二协同方使用第一验证分片、第一随机数和多个第一验证参照值验证第一私钥分片是否正确。可以看出,本申请提供的门限密钥验证方法中每个协同方是通过验证分片、随机数和根据随机数产生的多个验证参照值对私钥分片进行验证的,不诚实可靠的协同方或者恶意第三方想要通过猜中随机数的方式使改动后的私钥分片通过验证的概率非常小,换句话说,通过本申请提供的方法对私钥分片进行验证,能够以一个非常大的概率保证密钥的安全,也就是信息论意义上的安全,而不是像现有技术中基于数学难题的承诺为密钥提供的是基于计算性假设的安全。在即将到来的量子计算时代,基于计算假设的安全极有可能被颠覆,信息论意义上的安全则不受影响,安全性更高。另外,还可以看出,本申请提供的门限密钥验证方法在对私钥分片进行验证时,只需进行简单的多项式运算,而不是像现有技术中基于离散对数难题的承诺在对私钥分片进行验证时需要昂贵的大数字幂运算,验证效率高。
第二方面,本申请提供了一种门限密钥验证方法,所述方法由n个协同方中的第二协同方执行,所述n个协同方具有公开且互不相同的标识数值,第一协同方的标识数值为第一标识数值,所述第二协同方的标识数值为第二标识数值,所述第一协同方为所述n个协同方中除所述第二协同方之外的任意一个协同方,n为大于2的自然数,所述方法包括:
接收所述第一协同方发送的第一验证分片、第一随机数和多个第一验证参照值,其中,所述第一验证分片为所述第一协同方将所述第二标识数值带入所述第一协同方对应的第一多项式进行计算得到的,所述多个第一验证参照值为所述第一协同方将所述第二随机数、多个第一参数和多个第二参数进行运算得到的;
使用所述第一验证分片、所述第一随机数和所述多个第一验证参照值验证所述第一协同方向其发送的第一私钥分片是否正确,其中,所述第一私钥分片为所述第一协同方将所述第二标识数值带入所述第一协同方对应的第二多项式进行计算得到的。
在一些可能的实施例中,所述多个第一参数包括bi,0,bi,1,bi,2,…,bi,t-1,所述多个第二参数包括ai,0,ai,1,ai,2,…,ai,t-1,所述多个第一验证参照值包括Ai,0、Ai,1、Ai,2、…、Ai,t-1,其中,第一验证参照值Ai,j为所述第一协同方将所述第一随机数、第一参数bi,j和第二参数ai,j进行线性运算得到的,所述第一参数bi,0为所述第一协同方对应的第一多项式的常数项,所述第一参数bi,1,bi,2,…,bi,t-1为所述第一协同方对应的第一多项式的系数,所述第二参数ai,0为所述第一协同方对应的第二多项式的常数项,所述第二参数ai,1,ai,2,…,ai,t-1为所述第一协同方对应的第二多项式的系数,i为所述第一标识数值,i,j,t均为自然数,且i≥1,0≤j≤t-1,1<t<n。
在一些可能的实施例中,所述使用所述第一验证分片、所述第一随机数和所述多个第一验证参照值验证所述第一协同方向其发送的第一私钥分片是否正确,包括:
通过验证Ki,l+riki,l是否等于确定所述第一协同方向其发送的第一私钥分片是否正确,其中,l为所述第二标识数值,ri为所述第一随机数,Ki,l为所述第一验证分片,ki,l为所述第一私钥分片,l为自然数,且l≥1,l≠i;
第三方面,本申请提供了一种门限密钥验证装置,所述装置应用于门限密钥验证系统,所述门限密钥验证系统中包括n个协同方,所述装置属于所述n个协同方中的第一协同方,所述n个协同方具有公开且互不相同的标识数值,所述第一协同方的标识数值为第一标识数值,第二协同方的标识数值为第二标识数值,所述第二协同方为所述n个协同方中除所述第一协同方之外的任意一个协同方,n为大于2的自然数,所述装置包括:
获取模块,用于获取所述第一协同方对应的第一多项式,并将所述第二标识数值带入所述第一协同方对应的第一多项式进行计算,得到第一验证分片;
发送模块,用于向所述第二协同方发送所述第一验证分片;
所述获取模块,还用于获取第一随机数,并将所述第一随机数、多个第一参数和多个第二参数进行运算,得到多个第一验证参照值,其中,所述多个第一验证参照值中的每个第一验证参照值对应一个第一参数和一个第二参数;
所述发送模块,还用于向所述第二协同方发送所述第一随机数和所述多个第一验证参照值,使得所述第二协同方使用所述第一验证分片、所述第一随机数和所述多个第一验证参照值验证所述第一协同方向其发送的第一私钥分片是否正确,其中,所述第一私钥分片为所述第一协同方将所述第二标识数值带入所述第一协同方对应的第二多项式进行计算得到的。
在一些可能的实施例中,所述多个第一参数包括bi,0,bi,1,bi,2,…,bi,t-1,所述多个第二参数包括ai,0,ai,1,ai,2,…,ai,t-1,所述多个第一验证参照值包括Ai,0、Ai,1、Ai,2、…、Ai,t-1,其中,所述第一参数bi,0为所述第一协同方对应的第一多项式的常数项,所述第一参数bi,1,bi,2,…,bi,t-1为所述第一协同方对应的第一多项式的系数,所述第二参数ai,0为所述第一协同方对应的第二多项式的常数项,所述第二参数ai,1,ai,2,…,ai,t-1为所述第一协同方对应的第二多项式的系数,i为所述第一标识数值,i,t均为自然数,且i≥1,1<t<n;
所述获取模块,具体用于:
将所述第一随机数、第一参数bi,j和第二参数ai,j进行线性运算,得到第一验证参照值Ai,j,其中,j为自然数,0≤j≤t-1。
在一些可能的实施例中,所述获取模块,具体用于:
将所述第一随机数、第一参数ai,j和第二参数bi,j通过以下公式进行线性运算,得到第一验证参照值Ai,j:
Ai,j=bi,j+riai,j
其中,ri为所述第一随机数。
在一些可能的实施例中,所述装置还包括:
接收模块,用于接收所述第二协同方发送的第二验证分片、第二随机数和多个第二验证参照值,其中,所述第二验证分片为所述第二协同方将所述第一标识数值带入所述第二协同方对应的第一多项式进行计算得到的,所述多个第二验证参照值为所述第二协同方将所述第二随机数、多个第三参数和多个第四参数进行运算得到的,其中,所述多个第二验证参照值中的每个第二验证参照值对应一个第三参数和一个第四参数;
验证模块,用于使用所述第二验证分片、所述第二随机数和所述多个第二验证参照值验证所述第二协同方向其发送的第二私钥分片是否正确,其中,所述第二私钥分片为所述第二协同方将所述第一标识数值带入所述第二协同方对应的第二多项式进行计算得到的。
在一些可能的实施例中,所述多个第三参数包括bl,0,bl,1,bl,2,…,bl,t-1,所述多个第四参数包括al,0,al,1,al,2,…,al,t-1,所述多个第二验证参照值包括Al,0、Al,1、Al,2、…、Al,t-1,其中,第二验证参照值Al,j为所述第二协同方将所述第二随机数、第三参数bl,j和第四参数al,j进行线性运算得到的,所述第三参数bl,0为所述第二协同方对应的第一多项式的常数项,所述第三参数bl,1,bl,2,…,bl,t-1为所述第二协同方对应的第一多项式的系数,所述第四参数al,0为所述第二协同方对应的第二多项式的常数项,所述第四参数al,1,al,2,…,al,t-1为所述第二协同方对应的第二多项式的系数,l为所述第二标识数值,l为自然数,且l≥1,l≠i。
在一些可能的实施例中,所述验证模块,具体用于:
第四方面,本申请提供了一种门限密钥验证装置,所述装置应用于门限密钥验证系统,所述门限密钥验证系统中包括n个协同方,所述装置属于所述n个协同方中的第二协同方,所述n个协同方具有公开且互不相同的标识数值,第一协同方的标识数值为第一标识数值,所述第二协同方的标识数值为第二标识数值,所述第一协同方为所述n个协同方中除所述第二协同方之外的任意一个协同方,n为大于2的自然数,所述装置包括:
接收模块,用于接收所述第一协同方发送的第一验证分片、第一随机数和多个第一验证参照值,其中,所述第一验证分片为所述第一协同方将所述第二标识数值带入所述第一协同方对应的第一多项式进行计算得到的,所述多个第一验证参照值为所述第一协同方将所述第二随机数、多个第一参数和多个第二参数进行运算得到的;
验证模块,用于使用所述第一验证分片、所述第一随机数和所述多个第一验证参照值验证所述第一协同方向其发送的第一私钥分片是否正确,其中,所述第一私钥分片为所述第一协同方将所述第二标识数值带入所述第一协同方对应的第二多项式进行计算得到的。
在一些可能的实施例中,所述多个第一参数包括bi,0,bi,1,bi,2,…,bi,t-1,所述多个第二参数包括ai,0,ai,1,ai,2,…,ai,t-1,所述多个第一验证参照值包括Ai,0、Ai,1、Ai,2、…、Ai,t-1,其中,第一验证参照值Ai,j为所述第一协同方将所述第一随机数、第一参数bi,j和第二参数ai,j进行线性运算得到的,所述第一参数bi,0为所述第一协同方对应的第一多项式的常数项,所述第一参数bi,1,bi,2,…,bi,t-1为所述第一协同方对应的第一多项式的系数,所述第二参数ai,0为所述第一协同方对应的第二多项式的常数项,所述第二参数ai,1,ai,2,…,ai,t-1为所述第一协同方对应的第二多项式的系数,i为所述第一标识数值,i,j,t均为自然数,且i≥1,0≤j≤t-1,1<t<n。
在一些可能的实施例中,所述验证模块,具体用于:
通过验证Ki,l+riki,l是否等于确定所述第一协同方向其发送的第一私钥分片是否正确,其中,l为所述第二标识数值,ri为所述第一随机数,Ki,l为所述第一验证分片,ki,l为所述第一私钥分片,l为自然数,且l≥1,l≠i;
第五方面,本申请提供了一种门限密钥验证装置,所述装置包括:处理器、通信接口以及存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,所述通信接口用于接收或者发送数据;其中,所述处理器执行所述指令时执行如上述第一方面或者第一方面的任意具体实现方式中所描述方法。
第六方面,本申请提供了一种门限密钥验证装置,所述装置包括:处理器、通信接口以及存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,所述通信接口用于接收或者发送数据;其中,所述处理器执行所述指令时执行如上述第二方面或者第二方面的任意具体实现方式中所描述方法。
第七方面,本申请提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面或者第一方面的任意具体实现方式中所描述方法。
第八方面,本申请提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第二方面或者第二方面的任意具体实现方式中所描述方法。
第九方面,本申请提供了一种计算机程序产品,当所述计算机程序产品被计算机读取并执行时,实现如上述第一方面或者第一方面的任意具体实现方式中所描述方法。
第十方面,本申请提供了一种计算机程序产品,当所述计算机程序产品被计算机读取并执行时,实现如上述第二方面或者第二方面的任意具体实现方式中所描述方法。
附图说明
以下对本申请实施例用到的附图进行介绍。
图1是本申请实施例涉及的可验证门限密钥分享技术的原理示意图;
图2是本申请实施例涉及的可验证门限密钥分享技术的流程示意图
图3是本申请实施例提供的一种门限密钥验证方法的流程示意图;
图4是本申请实施例提供的一种第一协同方验证第二私钥分片的流程示意图;
图5是本申请实施例提供的多方安全计算场景中涉及的门限密钥验证示意图;
图6是本申请实施例提供的一种门限密钥验证装置的结构示意图;
图7是本申请实施例提供的另一种门限密钥验证装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
以下介绍本申请实施例涉及的一些概念。
(一)数学难题,是指那些历经长时间而仍未有解答或者未被完全解答的数学问题,如黎曼假设、庞加莱猜想、离散对数难题等。
(二)基于计算假设的安全(computational security),依赖一个计算性假设(比如一个在线性时间内没有解或很难解的数学难题),只有在计算性假设成立的情况下才是安全的。
(三)信息论意义上的安全(information-theoretic security),不依赖任何计算性假设就能以一个极大的概率(overwhelmingly large probability)保证安全性。
以下介绍本申请实施例涉及的现有技术-可验证门限密钥分享技术。
可验证门限密钥分享技术,解决的是密钥安全管理问题,其目的是避免对单一个体的信任,将信任分散化和灵活化,以降低密钥滥用和泄露的风险,同时加强密钥的强健容错性。
可验证门限密钥分享技术通常采用(t,n)门限体制,如图1所示,(t,n)门限体制,即,将一个私钥k分成n个私钥片段k1',k2',…,kn',n个私钥片段k1',k2',…,kn'分别由n个协同方掌握,任意不少于t个的协同方将他们所持有的私钥片段组合在一起都能恢复私钥k,但少于t个私钥片段时,则不能恢复私钥k。因此,使用了私钥k的账户的任何操作都至少需要n个协同方中的至少t个协同方共同参与才能够实施,可以降低私钥k被泄露的风险,提升账户的安全性。
如图2所示,可验证门限密钥分享技术具体包括以下步骤:
S101,n个协同方中的每个协同方随机生成自身对应的t-1次多项式。
其中,n个协同方具有公开且互不相同的标识数值。
具体地,n个协同方中的每个协同方是使用自身所持有的私钥种子随机生成自身对应的t-1次多项式的。
可以理解,为了降低私钥k被恶意破解的风险,每个协同方所持有的私钥种子和每个协同方生成的自身对应的t-1次多项式为每个协同方所私有,并不被其他n-1个协同方所知。
为了便于描述与区分,在接下来对可验证门限密钥分享技术的描述中,假设n个协同方为P1,P2,…,Pn,n个协同方P1,P2,…,Pn的标识数值对应为1至n。
以协同方Pi为例,协同方Pi是使用私钥种子ki随机生成自身对应的t-1次多项式的,以Fi(x)表示协同方Pi随机生成的t-1次多项式,Fi(x)具体为:
Fi(x)=ai,0+ai,1x+ai,2x2+…+ai,t-1xt-1
其中,ai,0,ai,1,ai,2,…,ai,t-1均是协同方Pi从集合Zq中随机选取的数,q为一个较大的素数,集合Zq为0,1,2,…,q-1所组成的集合,ai,0=ki,i,t均为自然数,且1≤i≤n,1<t<n。
S102,每个协同方将n个协同方的标识数值分别带入自身对应的t-1次多项式生成n个私钥分片。
继续以协同方Pi为例,协同方Pi将n个协同方P1,P2,…,Pn的标识数值1至n分别带入协同方Pi对应的t-1次多项式Fi(x)进行计算,得到n个私钥分片ki,1,ki,2,…,ki,n。
以得到私钥分片ki,l为例:
协同方Pi可以将协同方Pl的标识数值l带入Fi(x)得到的Fi(l)作为私钥分片ki,l,即
ki,l=Fi(l)=ai,0+ai,1l+ai,2l2+…+ai,t-1lt-1
协同方Pi还可以将协同方Pl的标识数值l带入Fi(x)得到Fi(l)后,将对Fi(l)求模得到的结果作为私钥分片ki,l,即
ki,l=Fi(l)mod q
S103,每个协同方将自身生成的n个私钥分片中的其中n-1个私钥分片分享给对应的协同方。
继续以协同方Pi为例,在协同方Pi生成n个私钥分片ki,1,ki,2,…,ki,n后,可以将其中n-1个私钥分片ki,1,ki,2,…,ki,i-1,ki,i+1,…,ki,n对应发送给其他n-1个协同方P1,P2,…,Pi-1,Pi+1,…,Pn,使得其他n-1个协同方P1,P2,…,Pi-1,Pi+1,…,Pn可以使用协同方Pi向他们发送的私钥分片生成私钥片段。
但是,若是n个协同方P1,P2,…,Pn中的某个协同方并不诚实可靠,该协同方在使用自身的私钥种子得到n个私钥分片后,对n个私钥分片中的部分或者全部私钥分片进行改动,并将改动后的部分或者全部私钥分片对应发送给其他协同方,其他协同方若是相信该协同方是诚实可靠的,则会使用该协同方发送给他们的改动后的私钥分片生成私钥片段。若是其他协同方参与了恢复私钥k的任务,由于他们的私钥片段是使用改动后的私钥分片生成的,会导致无法恢复私钥k,或者恢复出的私钥并不是私钥k,最终无法开启账户。
为了避免n个协同方P1,P2,…,Pn中的一个协同方信任另一个协同方,盲目使用另一协同方发送给自己的私钥分片生成私钥片段,因此,一个协同方在接收到另一个协同方发送给自己的私钥分片时,需要验证该私钥分片是否正确,在确定该私钥分片正确的情况下,该协同方才使用该私钥分片生成私钥片段。
S104、每个协同方对来自于其他n-1个协同方的私钥分片进行验证。
在可验证门限密钥分享技术中,在n个协同方P1,P2,…,Pn中的每个协同方均接收到其他n-1个协同方发送给自己的私钥分片后,每个协同方需要对照承诺验证其他n-1个协同方发送给自己的私钥分片正确与否。通常,这个承诺需要保证密钥的安全性,密钥的安全性包括一致性(即该承诺需要保证n个协同方P1,P2,…,Pn最终生成的n个私钥片段k1'、k2'、…、kn'来自于同一个私钥k,以保证后续n个协同方P1,P2,…,Pn中的任意t个可以恢复私钥k)和隐秘性(即该承诺需要保证不泄露任何有关私钥k的信息,包括私钥片段以及私钥分片等,以降低私钥k被某个不诚实可靠的协同方或者恶意第三方破解的风险)。
承诺需要保证n个协同方P1,P2,…,Pn最终生成的n个私钥片段k1',k2',…,kn'来自于同一个私钥k,以保证后续n个协同方P1,P2,…,Pn中的任意t个可以恢复私钥k,可以理解为,承诺需要保证每个协同方接收到的另一个协同方发送的私钥分片是另一协同方使用他所持有的私钥种子生成的。例如,承诺需要保证协同方Pl接收到的私钥分片ki,l是协同方Pi使用私钥种子ki生成的。
目前,可验证门限密钥分享技术中所使用的承诺通常采用同态数学函数中的数学难题(如离散对数难题)来保证密钥的安全性。
接下来,对可验证门限密钥分享技术中的承诺进行详细说明。
S1041、协同方Pi公布ai,0,ai,1,ai,2,…,ai,t-1的验证参照值Ai,0,Ai,1,Ai,2,…,Ai,t-1。
协同方Pi公布ai,0,ai,1,ai,2,…,ai,t-1的验证参照值Ai,0,Ai,1,Ai,2,…,Ai,t-1的目的是让其他n-1个协同方P1,P2,…,Pi-1,Pi+1,…,Pn在不知道ai,0,ai,1,ai,2,…,ai,t-1的情况下,使用验证参照值Ai,0,Ai,1,Ai,2,…,Ai,t-1对协同方Pi发送给他们的私钥分片行验证。
在协同方Pi公布ai,0,ai,1,ai,2,…,ai,t-1的验证参照值Ai,0,Ai,1,Ai,2,…,Ai,t-1之后,不仅其他n-1个协同方可以看到验证参照值Ai,0,Ai,1,Ai,2,…,Ai,t-1,n-1个协同方P1,P2,…,Pi-1,Pi+1,…,Pn之外的第三方也可以看到这些验证参照值Ai,0,Ai,1,Ai,2,…,Ai,t-1。为了防止其他n-1个协同方P1,P2,…,Pi-1,Pi+1,…,Pn中存在不诚实可靠的协同方或者恶意第三方根据验证参照值Ai,0,Ai,1,Ai,2,…,Ai,t-1反推出ai,0,ai,1,ai,2,…,ai,t-1,从而获知Fi(x)的信息,造成Fi(x)信息的泄露,增加私钥k被破解的风险。因此,协同方Pi公布的验证参照值Ai,0,Ai,1,Ai,2,…,Ai,t-1不能泄露ai,0,ai,1,ai,2,…,ai,t-1的信息,也就是说不能泄露Fi(x)的任何信息。
可以看出,这里的ai,j=loggAi,j为离散对数难题,想要根据验证参照值计算出ai,j是相当困难的。也就是说,不诚实可靠的协同方或者恶意第三方很难根据验证参照值Ai,0,Ai,1,Ai,2,…,Ai,t-1反推出ai,0,ai,1,ai,2,…,ai,t-1,也就无法获知Fi(x)的任何信息。
S1042、其他n-1个协同方P1,P2,…,Pi-1,Pi+1,…,Pn使用协同方Pi公布的验证参照值Ai,0,Ai,1,Ai,2,…,Ai,t-1验证协同方Pi发送给他们的私钥分片是否正确。
以协同方Pl使用协同方Pi公布的验证参照值Ai,0,Ai,1,Ai,2,…,Ai,t-1验证私钥分片ki,l是否正确为例:
在ki,l=Fi(l)的情况下,协同方Pl可以通过验证是否等于确定私钥分片ki,l是否正确,若等于则协同方Pl确定私钥分片ki,l正确,反之,不正确;在ki,l=Fi(l)mod q的情况下,协同方Pl可以通过验证是否等于确定私钥分片ki,l是否正确,若等于则协同方Pl确定私钥分片ki,l正确,反之,不正确。
协同方Pl仅在确定私钥分片ki,l正确后,才会使用私钥分片ki,l生成私钥片段kl'。
S105、每个协同方累加自身生成的与自身对应的私钥分片和来自其他n-1个协同方的私钥分片,得到私钥片段。
其中,每个协同方所持有的私钥片段也为每个协同方所私有,并不被其他n-1个协同方所知。
继续以协同方Pi为例,在协同方Pi接收到其他n-1个协同方P1,P2,…,Pi-1,Pi+1,…,Pn发送的私钥分片k1,i,k2,i,…,ki-1,i,ki+1,i,…,kn,i后,协同方Pi可以累加自身生成的与自身对应的私钥分片ki,i以及来自其他n-1个协同方P1,P2,…,Pi-1,Pi+1,…,Pn的私钥分片k1,i,k2,i,…,ki-1,i,ki+1,i,…,kn,i生成私钥分片ki'。
由上述对可验证门限密钥分享技术的描述可知,目前,可验证门限密钥分享技术是通过基于数学难题(如离散对数难题)的承诺来保证密钥安全,这仅仅是基于计算假设的安全,只有在数学难题成立的情况下,密钥才是安全的。但是,随着科学技术的发展,在即将到来的量子计算时代,数学难题在线性时间内极有可能被解开,一旦数学难题被解开,密钥的安全也就无法保证了
可以看出,可验证门限密钥分享技术中基于数学难题的承诺所实现的密钥安全依旧不够理想,因此,本申请提供一种门限密钥验证方法,该方法不仅可以提高密钥的安全性,还能够有效地提高密钥验证的效率。
请参见图3,图3是本申请实施例提供的一种门限密钥验证方法的流程示意图,该流程由n个协同方中的第一协同方执行,n个协同方具有公开且互不相同的标识数值,第一协同方的标识数值为第一标识数值,第二协同方的标识数值为第二标识数值,第二协同方为n个协同方中除第一协同方之外的任意一个协同方,n为大于2的自然数。
本申请提供的门限密钥验证方法可以包括如下步骤:
S201、第一协同方获取第一协同方对应的第一多项式,并将第二标识数值带入第一协同方对应的第一多项式进行运算,得到第一验证分片。
为了便于描述与区分,在接下来的实施例中,假设第一标识数值为i,第二标识数值为l,其中,i,l均为自然数,且i≥1,l≥1,i≠l。
在本申请具体的实施例中,第一协同方对应的第一多项式为t-1次多项式,其中,t为自然数,1<t<n。
以Gi(x)表示第一协同方对应的第一多项式,Gi(x)具体为:
Gi(x)=bi,0+bi,1x+bi,2x2+…+bi,t-1xt-1
其中,bi,0,bi,1,bi,2,…,bi,t-1均是第一协同方从集合Zq中随机选取的数,q为一个较大的素数,集合Zq为0,1,2,…,q-1所组成的集合,bi,0=Ki,Ki为Pi所持有的验证种子,q可以为素数17419、72097、99991或者其他素数,此处不作具体限定。
在一种具体的实施例中,第一协同方将标识数值l带入Gi(x)得到的Gi(l)作为第一验证分片Ki,l,即
Ki,l=Gi(l)=bi,0+bi,1l+bi,2l2+…+bi,t-1lt-1
在另一种具体的实施例中,第一协同方将对Gi(l)求模得到的结果作为第一验证分片Ki,l,即
Ki,l=Gi(l)mod q
S202、向第二协同方发送第一验证分片。
S203、第一协同方获取第一随机数,并将第一随机数、多个第一参数和多个第二参数进行运算,得到多个第一验证参照值。
在本申请具体的实施例中,第一协同方可以从集合Zq中随机选取一个数作为第一随机数ri。
在实际应用中,第一协同方还可以从集合Zq之外的数中随机选取一个数作为第一随机数ri,此处不作具体限定。
在本申请具体的实施例中,多个第一参数包括第一协同方对应的第一多项式Gi(x)的常数项和系数,即,多个第一参数包括bi,0,bi,1,bi,2,…,bi,t-1,多个第二参数包括第一协同方对应的第二多项式的常数项和系数。这里,以Fi(x)表示第一协同方对应的第二多项式,Fi(x)具体为:
Fi(x)=ai,0+ai,1x+ai,2x2+…+ai,t-1xt-1
其中,ai,0,ai,1,ai,2,…,ai,t-1均是第一协同方从集合Zq中随机选取的数,ai,0=ki,ki为第一协同方所持有的私钥种子。
可以看出,多个第二参数包括ai,0,ai,1,ai,2,…,ai,t-1。
可以理解,第一协同方所持有的私钥种子ki和第一协同方生成的Fi(x)为第一协同方所私有,并不被其他n-1个协同方所知。
在本申请具体的实施例中,多个第一验证参照值Ai,0,Ai,1,Ai,2,…,Ai,t-1可以是这样得到的。以第一验证参照值Ai,j为例,第一验证参照值可以是第一协同方将第一随机数ri、第一参数bi,j和第二参数ai,j进行线性运算得到的,例如,第一验证参照值Ai,j可以通过以下所列举的几种等式得到:
在Ki,l=Gi(l)的情况下,Ai,j=bi,j+riai,j,或者,Ai,j=bi,j-riai,j;
在Ki,l=Gi(l)mod q的情况下,Ai,j=bi,j+riai,jmod q,或者,Ai,j=bi,j-riai,jmod q
需要说明,第一协同方得到第一验证参照值Ai,j的方式并不限于上述所列举的几种等式,例如,在Ki,l=Gi(l)的情况下,第一验证参照值Ai,j还可以通过Ai,j=ribi,j+ai,j或者Ai,j=ribi,j-ai,j等等式得到。
S204、第一协同方向第二协同方发送第一随机数和多个第一验证参照值。
S205、第二协同方使用第一验证分片、第一随机数和多个第一验证参照值验证第一协同方向其发送的第一私钥分片是否正确。
其中,第一私钥分片为第一协同方将标识数值l带入第一协同方对应的第二多项式进行计算得到的。
在一种具体的实施例中,第一协同方将标识数值l带入Fi(x)得到的Fi(l)作为第一私钥分片ki,l,即
ki,l=Fi(l)=ai,0+ai,1l+ai,2l2+…+ai,t-1lt-1
在另一种具体的实施例中,第一协同方将标识数值l带入Fi(x)得到Fi(l)后,将对Fi(l)求模得到的结果作为第一私钥分片ki,l,即
ki,l=Fi(l)mod q
在本申请具体的实施例中,在Ki,l=Gi(l)、ki,l=Fi(l)且Ai,j=bi,j+riai,j的情况下,第二协同方可以通过验证Ki,l+riki,l是否等于确定第一私钥分片ki,l是否正确,若Ki,l+riki,l等于则第二协同方确定第一私钥分片ki,l正确,反之,不正确。
在Ki,l=Gi(l)、ki,l=Fi(l)且Ai,j=bi,j-riai,j的情况下,第二协同方可以通过验证Ki,l-riki,l是否等于确定第一私钥分片ki,l是否正确,若Ki,l-riki,l等于则第二协同方确定第一私钥分片ki,l正确,反之,不正确。
在Ki,l=Gi(l)mod q、ki,l=Fi(l)mod q且Ai,j=bi,j+riai,j mod q的情况下,第二协同方可以通过验证Ki,l+riki,l是否等于确定第一私钥分片ki,l是否正确,若Ki,l+riki,l等于则第二协同方确定第一私钥分片ki,l正确,反之,不正确。
在Ki,l=Gi(l)mod q、ki,l=Fi(l)mod q且Ai,j=bi,j-riai,j mod q的情况下,第二协同方可以通过验证Ki,l-riki,l是否等于确定第一私钥分片ki,l是否正确,若Ki,l-riki,l等于则第二协同方确定第一私钥分片ki,l正确,反之,不正确。
可以理解,第二协同方验证第一私钥分片ki,l是否正确的方式并不限于上述所列举的几种情况,例如,在Ki,l=Gi(l)、ki,l=Fi(l)且Ai,j=ribi,j+ai,j的情况下,第二协同方可以通过验证riKi,l+ki,l是否等于确定第一私钥分片ki,l是否正确。
在第二协同方确定第一私钥分片ki,l正确后,第二协同方可以使用第一私钥分片ki,l生成私钥片段kl'。
需要说明,在本申请具体的实施例中,第一协同方是在将第一私钥分片ki,l和第一验证分片Ki,l发送给第二协同方之后,获取第一随机数ri的。否则,若是第一协同方并不诚实可靠,第一协同方在获取第一随机数ri后,根据第一随机数ri对第一私钥分片ki,l和第一验证分片Ki,l进行改动,并将改动后的第一私钥分片和改动后的第一验证分片发送给第二协同方,这样会使第二协同方验证改动后的第一私钥分片是正确的,从而导致第二协同方使用改动后的第一私钥分片生成错误的私钥片段kl'。若是第二协同方参与恢复私钥k的任务,由于第二协同方的私钥片段kl'是使用改动后的第一私钥分片生成的,会导致无法恢复私钥k,或者恢复出的私钥并不是私钥k,最终无法开启账户。
可以理解,在实际应用中,第一协同方需要在将其他n-1个第一私钥分片k i,1,ki,2,…,ki,i-1,ki,i+1,…,ki,n和其他n-1个第一验证分片Ki,1,K i,2,…,Ki,i-1,Ki,i+1,…,Ki,n对应发送给其他n-1个协同方之后,才能获取第一随机数ri,以免第一协同方根据第一随机数ri修改任一第一私钥分片和任一第一验证分片。
还可以理解,在实际应用中,n个协同方可以在将自身生成的n-1个私钥分片和n-1个验证分片发送给其他n-1个协同方之后,共同获取一个公用的随机数,或者,n个协同方随机进行分组,每组获取一个公用的随机数。
由上述实施例可以看出,第一随机数ri是第一协同方随机选取的一个数,若是第一协同方并不诚实可靠,第一协同方想要通过猜中第一随机数ri的方式,对第一私钥分片ki,l和第一验证分片Ki,l进行改动,并将改动后的第一私钥分片和改动后的第一验证分片发送给第二协同方,由于第一随机数ri是从大量数中随机选出的,因此,第一协同方猜中第一随机数ri的概率非常小,也就是说,第一协同方只有很小的概率可以使改动后的第一私钥分片通过后续验证,有极大的概率通不过后续验证。
举例来讲,假设第一随机数ri是第一协同方从集合Zq中随机选取的一个数,q为素数99991,也就是说,集合Zq中包括0至99990共99991个数,第一随机数ri是第一协同方从集合Zq中选取的,假设第一随机数ri为3,第一协同方猜中第一随机数ri为3的概率只有1/99991,猜不中第一随机数ri为3的概率为99990/99991。
在本申请具体的实施例中,在第二协同方验证第一协同方向其发送的第一私钥分片时,第一协同方也可以验证第二协同方向其发送的第二私钥分片,如图4所示,第一协同方验证第二协同方向其发送的第二私钥分片的具体过程可以包括:
S301、第一协同方接收第二协同方发送的第二验证分片。
其中,第二验证分片为第二协同方将标识数值i带入第二协同方对应的第一多项式进行计算得到的。
这里,以Gl(x)表示第二协同方对应的第一多项式,Gl(x)具体为:
Gl(x)=bl,0+bl,1x+bl,2x2+…+bl,t-1xt-1
其中,bl,0,bl,1,bl,2,…,bl,t-1均是第二协同方从集合Zq中随机选取的数,bl,0=Kl,Kl为第二协同方所持有的验证种子。
在一种具体的实施例中,第二协同方将标识数值i带入Gl(x)得到的Gl(i)作为第二验证分片Kl,i,即
Kl,i=Gl(i)=bl,0+bl,1i+bl,2i2+…+bl,0t-1it-1
在另一种具体的实施例中,第二协同方还可以将对Gl(i)求模得到的结果作为第二验证分片Kl,i,即
Kl,i=Gl(i)mod q
S302、第一协同方接收第二协同方发送的第二随机数和多个第二验证参照值。
其中,多个第二验证参照值为第二协同方将第二随机数、多个第三参数和多个第四参数进行运算得到的,其中,多个第二验证参照值中的每个参照值对应一个第三参数和一个第四参数。
在本申请具体的实施例中,第二协同方可以从集合Zq中随机选取一个数作为第二随机数rl。
在实际应用中,第二协同方还可以从集合Zq之外的数中随机选取一个数作为第二随机数rl。
在本申请具体的实施例中,多个第三参数包括第二协同方对应的第一多项式的常数项和系数,即,多个第三参数包括bl,0,bl,1,bl,2,…,bl,t-1,多个第四参数包括第二协同方对应的第二多项式的常数项和系数。这里,以Fl(x)表示第二协同方对应的第二多项式,Fl(x)具体为:
Fl(x)=al,0+al,1x+al,2x2+…+al,t-1xt-1
其中,al,0,al,1,al,2,…,al,t-1均是第二协同方从集合Zq中随机选取的数,al,0=kl,kl为第二协同方所持有的私钥种子。
可以看出,多个第四参数包括al,0,al,1,al,2,…,al,t-1。
可以理解,第二协同方所持有的私钥种子kl为和第二协同方生成的Fl(x)为第二协同方所私有,并不被其他n-1个协同方所知。
在本申请具体的实施例中,多个第二验证参照值Al,0,Al,1,Al,2,…,Al,t-1可以是这样得到的。以第二验证参照值Al,j为例,第二验证参照值Al,j可以是第二协同方将第二随机数rl、第三参数bl,j和第四参数al,j进行线性运算得到的,例如,第二验证参照值Al,j可以通过以下所列举的几种等式得到:
在Kl,i=Gl(i)的情况下,Al,j=bl,j+rlal,j,或者,Al,j=bl,j-rlal,j;
在Kl,i=Gl(i)mod q的情况下,Al,j=bl,j+rlal,jmod q,或者,Al,j=bl,j-rlal,jmod q
需要说明,第二协同方得到第二验证参照值Al,j的方式并不限于上述所列举的几种等式,例如,在Kl,i=Gl(i)的情况下,第二验证参照值Al,j还可以通过Al,j=rlbl,j+al,j或者Al,j=rlbl,j-al,j等等式得到,此处不作具体限定。
S303、第一协同方使用第二验证分片、第二随机数和多个第二验证参照值验证第二协同方向其发送的第二私钥分片是否正确。
其中,第二私钥分片为第二协同方将标识数值i带入第二协同方对应的第二多项式进行计算得到的。
在一种具体的实施例中,第二协同方将标识数值i带入Fl(x)得到的Fl(i)作为第二私钥分片kl,i,即
kl,i=Fl(i)=al,0+al,1i+al,2i2+…+al,t-1it-1
在另一种具体的实施例中,第二协同方将标识数值i带入Fl(x)得到Fl(i)后,将对Fl(i)求模得到的结果作为第二私钥分片kl,i,即
kl,i=Fl(i)mod q
在本申请具体的实施例中,在Kl,i=Gl(i)、kl,i=Fl(i)且Al,j=bl,j+rlal,j的情况下,第一协同方可以通过验证K,l,i+rlkl,i是否等于确定第二私钥分片kl,i是否正确,若Kl,i+rlkl,i等于则第一协同方确定第二私钥分片kl,i正确,反之,不正确。
在Kl,i=Gl(i)、kl,i=Fl(i)且Al,j=bl,j-rlal,j的情况下,第一协同方可以通过验证Kl,i-rlkl,i是否等于确定第二私钥分片kl,i是否正确,若Kl,i-rlkl,i等于则第一协同方确定第二私钥分片kl,i正确,反之,不正确。
在Kl,i=Gl(i)mod q、kl,i=Fl(i)mod q且Al,j=bl,j+rlbl,jmod q的情况下,第一协同方可以通过验证Kl,i+rlkl,i是否等于确定第二私钥分片kl,i是否正确,若Kl,i+rlkl,i等于则第一协同方确定第二私钥分片kl,i正确,反之,不正确。
在Kl,i=Gl(i)mod q、kl,i=Fl(i)mod q且Al,j=bl,j-rlal,jmod q的情况下,第一协同方可以通过验证Kl,i-rlkl,i是否等于确定第二私钥分片kl,i是否正确,若Kl,i-rlkl,i等于则第一协同方确定第二私钥分片kl,i正确,反之,不正确。
可以理解,第一协同方验证第二协同方发送的第二私钥分片kl,i是否正确的方式并不限于上述所列举的几种情况,例如,在Kl,i=Gl(i)、ki,l=Fi(l)且Al,j=rlbl,j+al,j的情况下,第一协同方还可以通过验证rlKl,i+kl,i是否等于确定第二私钥分片kl,i是否正确,此处不作具体限定。
在第一协同方确定第二私钥分片kl,i正确后,第一协同方可以使用第二私钥分片kl,i生成私钥片段ki'。
需要说明,在本申请具体的实施例中,第二协同方是在将第二私钥分片kl,i和第二验证分片Kl,i发送给第一协同方之后,获取第二随机数rl的。否则,若是第二协同方并不诚实可靠,第二协同方在获取第二随机数rl后,根据第二随机数rl对第二私钥分片kl,i和第二验证分片Kl,i进行改动,并将改动后的第二私钥分片和改动后的第二验证分片发送给第一协同方,这样会使第一协同方验证改动后的第二私钥分片是正确的,从而导致第一协同方使用改动后的第二私钥分片生成错误的私钥片段ki'。若是第一协同方参与恢复私钥k的任务,由于第一协同方的私钥片段ki'是使用改动后的第二私钥分片生成的,会导致无法恢复私钥k,或者恢复出的私钥并不是私钥k,最终无法开启账户。
可以理解,在实际应用中,第二协同方需要在将其他n-1个第二私钥分片k l,1,kl,2,…,kl,l-1,kl,l+1,…,kl,n和其他n-1个第二验证分片Kl,1,K l,2,…,Kl,l-1,Kl,l+1,…,Kl,n对应发送给其他n-1个协同方之后,才能获取第二随机数rl,以免第二协同方根据第二随机数rl修改任一第二私钥分片和任一第二验证分片。
本申请提供的门限密钥验证方法可以应用到云计算、数据库、区块链、人工智能等许多热门领域。例如,安全多方计算(secure multi-party computation,简称为MPC)、可信计算(trusted computing,TC)中的多可信根、多钥访问开启(比如多人合作开启银行金库)、多个证书颁发机构(certificate authority,CA)合作建立CA根密钥、多人签名(比如重要合同票据需要董事会的多数签名)等场景。
下面以安全多方计算场景为例,对本申请提供的门限密钥验证方法进行阐述。
多方安全计算可以抽象理解为:多方分别拥有各自的隐私数据,在不泄露各自隐私数据的情况下,能够根据多方的隐私数据计算出一个计算结果,在计算完成时,只有计算结果对多方可知,且多方中的每一方均不知其他方的隐私数据以及计算过程中的中间数据。
假设多方安全计算场景中包括3个计算节点1、2、3,计算节点1要分享的内容为隐私数据1,计算节点2要分享的内容为隐私数据2,计算节点3要分享的内容为隐私数据3,其中,每个计算节点所持有的隐私数据为每个计算节点所私有,并不被其他计算节点所知。
第一步、计算节点1生成多项式F1(x),计算节点2生成多项式F2(x),计算节点3生成多项式F3(x)。
这里,F1(x)、F2(x)、F3(x)均为1次多项式,F1(x)的常数项a1,0和系数a1,1由计算节点1从Zp中随机选取,a1,0为计算节点1所持有的私钥种子,F2(x)的常数项a2,0和系数a2,1由计算节点2从Zp中随机选取,a2,0为计算节点2所持有的私钥种子,F3(x)的常数项a3,0和系数a3,1由计算节点3从Zp中随机选取,a3,0为计算节点3所持有的私钥种子,p为一个较大的素数。
可以理解,每个计算节点所持有的私钥种子和每个计算节点所生成的多项式为每个计算节点所私有,并不被其他计算节点所知。
第二步、计算节点1、计算节点2和计算节点3各自将3个计算节点(包括计算节点1、计算节点2和计算节点3)的标识数值分别带入各自对应的第一多项式,计算节点1、计算节点2和计算节点3分别得到3个私钥分片。
假设计算节点1的标识数值为1,计算节点2的标识数值为2,计算节点3的标识数值为3,计算节点1得到的3个私钥分片为k1,1、k1,2、k1,3,计算节点2得到的3个私钥分片为k2,1、k2,2、k2,3,计算节点3得到的3个私钥分片为k3,1、k3,2、k3,3。
以k1,1为例,k1,1等于F1(1)。
第三步、计算节点1将k1,2发送给计算节点2,将k1,3发送给计算节点3,计算节点2将k2,1发送给计算节点2,将k2,3发送给计算节点3,计算节点3将k3,1发送给计算节点1,将k3,2发送给计算节点2,如图5所示。
第四步、计算节点1生成多项式G1(x),计算节点2生成多项式G2(x),计算节点3生成多项式G3(x)。
这里,G1(x)、G2(x)、G3(x)均为2次多项式,G1(x)的常数项b1,0和系数b1,1由计算节点1从Zp中随机选取,b1,0为计算节点1所持有的验证种子,G2(x)的常数项b2,0和系数b2,1由计算节点2从Zp中随机选取,b2,0为计算节点2所持有的验证种子,G3(x)的常数项b3,0和系数b3,1由计算节点3从Zp中随机选取,b3,0为计算节点3所持有的验证种子。
第五步、计算节点1、计算节点2和计算节点3各自将3个计算节点的标识数值分别带入各自对应的第二多项式,计算节点1、计算节点2和计算节点3分别得到3个验证分片。
计算节点1得到的3个验证分片为K1,1、K1,2、K1,3,计算节点2得到的3个验证分片为K2,1、K2,2、K2,3,计算节点3得到的3个验证分片为K3,1、K3,2、K3,3。
以K1,1为例,K1,1等于G1(1)。
第六步、计算节点1将K1,2发送给计算节点2,将K1,3发送给计算节点3,计算节点2将K2,1发送给计算节点2,计算节点2将K2,3发送给计算节点3,计算节点3将K3,1发送给计算节点1,计算节点3将K3,2发送给计算节点2。
第七步、计算节点1从Zp中随机选取随机数r1,计算节点2从Zp中随机选取随机数r2,计算节点从Zp中随机选取随机数r3。
第八步、计算节点1将随机数r1、a1,0和b1,0进行线性运算得到A1,0,将随机数r1、a1,1和b1,1进行线性运算得到A1,1,计算节点2将随机数r2、a2,0和b2,0进行线性运算得到A2,0,将随机数r2、a2,1和b2,1进行线性运算得到A2,1,计算节点3将随机数r3、a3,0和b3,0进行线性运算得到A3,0,将随机数r3、a3,1和b3,1进行线性运算得到A3,1。
以计算节点1基于随机数r1得到A1,0为例,A1,0=b1,0+r1a1,0。
第九步、计算节点1将r1、A1,0、A1,1进行公布,计算节点1将r2、A2,0、A2,1进行公布,计算节点3将r3、A3,0、A3,1进行公布。
第十步、计算节点1使用r2、A2,0、A2,1、K2,1验证k2,1是否正确,使用r3、A3,0、A3,1、K3,1验证k3,1是否正确,计算节点2使用r1、A1,0、A1,1、K1,2验证k1,2是否正确,使用r3、A3,0、A3,1、K3,2验证k3,2是否正确;计算节点3使用r1、A1,0、A1,1、K1,3验证k1,3是否正确,使用r2、A2,0、A2,1、K2,3验证k2,3是否正确,如图5所示。
以计算节点1使用r2、A2,0、A2,1、K2,1验证k2,1是否正确为例,计算节点1通过验证K2,1+r2k2,1是否等于A2,0+A2,1确定k2,1是否正确,在K2,1+r2k2,1等于A2,0+A2,1的情况下,计算节点1确定k2,1正确。
第十一步、计算节点1累加k1,1、k2,1、k3,1得到私钥片段k1',计算节点2累加k1,2、k2,2、k3,2得到私钥片段k2',计算节点3累加k1,3、k2,3、k3,3得到私钥片段k3'。
第十二步、计算节点1根据私钥片段k1'得到公钥种子H1',计算节点2根据私钥片段k2'得到公钥种子H2',计算节点3根据私钥片段k2'得到公钥种子H3'。
第十四步、计算节点1公布公钥种子H1',计算节点2公布公钥种子H2',计算节点3公布公钥种子H3'。
第十五步、计算节点1、计算节点2和计算节点3分别将公钥种子H1'、公钥种子H2'、公钥种子H3'合成为公钥H。
第十六步、计算节点1使用公钥H对隐私数据1进行加密得到密文c1,计算节点2使用公钥H对隐私数据2进行加密得到密文c2,计算节点3使用公钥H对隐私数据3进行加密得到密文c3。
第十七步、计算节点1、计算节点2和计算节点3共同执行MPC算法对密文c1、c2和c3进行计算,得到目标密文c。
在计算节点1、计算节点2和计算节点3共同执行MPC算法对密文c1、c2和c3进行计算的过程中,密文c2和密文c3对计算节点1不可知,密文c1和密文c2对计算节点3不可知,密文c1和密文c3对计算节点2不可知。
第十八步、计算节点1可以使用自己的私钥片段k1'对密文c进行解密得到明文片段m1,计算节点2可以使用自己的私钥片段k2'对密文c进行解密得到明文片段m2,计算节点3可以使用自己的私钥片段k3'对密文c进行解密得到明文片段m3。
第十九步、将明文片段m1、明文片段m2和明文片段m3组合起来得到明文m。
其中,明文m=隐私数据1+隐私数据2+隐私数据3。
可以看出,在多方安全计算场景中,用到了本申请实施例提供的门限密钥验证方法。
本申请提供的门限密钥验证方法中,第一协同方是通过获取第一协同方对应的第一多项式,并将第二标识数值带入第一协同方对应的第一多项式进行计算得到第一验证分片,向第二协同方发送第一验证分片,然后获取第一随机数,并将第一随机数、多个第一参数和多个第二参数进行运算,得到多个第一验证参照值后,向第二协同方发送第一随机数和多个第一验证参照值,使得第二协同方使用第一验证分片、第一随机数和多个第一验证参照值验证第一私钥分片是否正确。可以看出,本申请提供的门限密钥验证方法中每个协同方是通过验证分片、随机数和根据随机数产生的多个验证参照值对私钥分片进行验证的,不诚实可靠的协同方或者恶意第三方想要通过猜中随机数的方式使改动后的私钥分片通过验证的概率非常小,换句话说,通过本申请提供的方法对私钥分片进行验证,能够以一个非常大的概率保证密钥的安全,也就是信息论意义上的安全,而不是像现有技术中基于数学难题的承诺为密钥提供的是基于计算性假设的安全。在即将到来的量子计算时代,基于计算假设的安全极有可能被颠覆,信息论意义上的安全则不受影响,安全性更高。另外,还可以看出,本申请提供的门限密钥验证方法在对私钥分片进行验证时,只需进行简单的多项式运算,而不是像现有技术中基于离散对数难题的承诺在对私钥分片进行验证时需要昂贵的大数字幂运算,验证效率高。
上文详细阐述了本申请实施例的一种门限密钥验证方法,基于相同的发明构思,下面继续提供本申请实施例的一种门限密钥验证装置,本申请提供的门限密钥验证装置可以应用于门限密钥验证系统,门限密钥验证系统中包括n个协同方,本申请提供的门限密钥验证装置属于所上述n个协同方中的第一协同方,其中,n个协同方具有公开且互不相同的标识数值,第一协同方的标识数值为第一标识数值,第二协同方的标识数值为第二标识数值,第二协同方为n个协同方中除第一协同方之外的任意一个协同方,n为大于2的自然数。
参见图6,图6是本申请实施例提供的一种门限密钥验证装置100的结构示意图,该门限密钥验证装置100至少包括:获取模块110和发送模块120。
获取模块110,用于获取第一协同方对应的第一多项式,并将第二标识数值带入第一协同方对应的第一多项式进行计算,得到第一验证分片;
发送模块120,用于向第二协同方发送第一验证分片;
获取模块110,还用于获取第一随机数,并将第一随机数、多个第一参数和多个第二参数进行运算,得到多个第一验证参照值,其中,多个第一验证参照值中的每个第一验证参照值对应一个第一参数和一个第二参数;
发送模块120,还用于向第二协同方发送第一随机数和多个第一验证参照值,使得第二协同方使用第一验证分片、第一随机数和多个第一验证参照值验证第一协同方向其发送的第一私钥分片是否正确,其中,第一私钥分片为第一协同方将第二标识数值带入第一协同方对应的第二多项式进行计算得到的。
在本申请具体的实施例中,多个第一参数包括bi,0,bi,1,bi,2,…,bi,t-1,多个第二参数包括ai,0,ai,1,ai,2,…,ai,t-1,多个第一验证参照值包括Ai,0、Ai,1、Ai,2、…、Ai,t-1,其中,第一参数bi,0为第一协同方对应的第一多项式的常数项,第一参数bi,1,bi,2,…,bi,t-1为第一协同方对应的第一多项式的系数,第二参数ai,0为第一协同方对应的第二多项式的常数项,第二参数ai,1,ai,2,…,ai,t-1为第一协同方对应的第二多项式的系数,i为第一标识数值,i,t均为自然数,且i≥1,1<t<n;
获取模块110,具体用于:
将第一随机数、第一参数bi,j和第二参数ai,j进行线性运算,得到第一验证参照值Ai,j,其中,j为自然数,0≤j≤t-1。
在本申请具体的实施例中,获取模块110,具体用于:
将第一随机数、第一参数ai,j和第二参数bi,j通过以下公式进行线性运算,得到第一验证参照值Ai,j:
Ai,j=bi,j+riai,j
其中,ri为第一随机数。
在本申请具体的实施例中,门限密钥验证装置100还包括:
接收模块130,用于接收第二协同方发送的第二验证分片、第二随机数和多个第二验证参照值,其中,第二验证分片为第二协同方将第一标识数值带入第二协同方对应的第一多项式进行计算得到的,多个第二验证参照值为第二协同方将第二随机数、多个第三参数和多个第四参数进行运算得到的,其中,多个第二验证参照值中的每个第二验证参照值对应一个第三参数和一个第四参数;
验证模块140,用于使用第二验证分片、第二随机数和多个第二验证参照值验证第二协同方向其发送的第二私钥分片是否正确,其中,第二私钥分片为第二协同方将第一标识数值带入第二协同方对应的第二多项式进行计算得到的。
在本申请具体的实施例中,多个第三参数包括bl,0,bl,1,bl,2,…,bl,t-1,多个第四参数包括al,0,al,1,al,2,…,al,t-1,多个第二验证参照值包括Al,0、Al,1、Al,2、…、Al,t-1,其中,第二验证参照值Al,j为第二协同方将第二随机数、第三参数bl,j和第四参数al,j进行线性运算得到的,第三参数bl,0为第二协同方对应的第一多项式的常数项,第三参数bl,1,bl,2,…,bl,t-1为第二协同方对应的第一多项式的系数,第四参数al,0为第二协同方对应的第二多项式的常数项,第四参数al,1,al,2,…,al,t-1为第二协同方对应的第二多项式的系数,l为第二标识数值,l为自然数,且l≥1,l≠i。
在本申请具体的实施例中,验证模块140,具体用于:
具体地,上述门限密钥验证装置100执行各种操作的具体实现可参照上述方法实施例中由第一协同方执行的具体操作,为了说明书的简洁,这里不再赘述。
应当理解,门限密钥验证装置100仅为本申请实施例提供的一个例子,并且,门限密钥验证装置100可具有比图6示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
本申请实施例还提供一种门限密钥验证装置,参见图7,图7是本申请实施例提供的一种门限密钥验证装置200的结构示意图,该门限密钥验证装置200包括:处理器210、通信接口230以及存储器220,其中,处理器210、通信接口230和存储器220通过总线240进行耦合。其中,
处理器210可以包括一个或者多个通用处理器,其中,通用处理器可以是能够处理电子指令的任何类型的设备,包括CPU、微处理器、微控制器、主处理器、控制器以及专用集成电路(application specific integrated circuit,ASIC)等等。处理器210读取存储器220中存储的程序代码,与通信接口230配合执行本申请上述实施例中由门限密钥验证装置100执行的方法的部分或者全部步骤。
通信接口230可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他计算节点或装置进行通信。当通信接口230为有线接口时,通信接口230可以采用传输控制协议/网际协议(transmission control protocol/internet protocol,TCP/IP)之上的协议族,例如,远程函数调用(remote function call,RFC)协议、简单对象访问协议(simple object access protocol,SOAP)协议、简单网络管理协议(simple network management protocol,SNMP)协议、公共对象请求代理体系结构(common object request broker architecture,CORBA)协议以及分布式协议等等。
存储器220可以存储有程序代码以及程序数据。其中,程序代码包括:获取模块110的代码、发送模块120、接收模块130和验证模块140的代码等,程序数据包括:第一验证分片、第一随机数、多个第一验证参照值等等。在实际应用中,存储器220可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM);存储器也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM)、快闪存储器(flash memory)、硬盘(hard disk drive,HDD)或固态硬盘(solid-statedrive,SSD)存储器还可以包括上述种类的存储器的组合。
总线240可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线240可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
应当理解,门限密钥验证装置200仅为本申请实施例提供的一个例子,并且,门限密钥验证装置200可具有比图7示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
本申请实施例还提供一种计算机存储介质,计算机存储介质中存储有指令,当其在处理器上运行时,可以实现上述方法实施例中的方法步骤,计算机存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例中由第一协同方执行的具体操作,在此不再赘述。
本申请实施例还提供一种计算机存储介质,计算机存储介质中存储有指令,当其在处理器上运行时,可以实现上述方法实施例中的方法步骤,计算机存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例中由第二协同方执行的具体操作,在此不再赘述。
本申请实施例还提供一种计算机程序产品,当计算机程序产品被计算机读取并执行时,以实现上述方法实施例中由第一协同方执行的具体操作,在此不再赘述。
本申请实施例还提供一种计算机程序产品,当计算机程序产品被计算机读取并执行时,以实现上述方法实施例中由第二协同方执行的具体操作,在此不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如数字通用光盘(digital video disc,DVD))、或者半导体介质(例如SSD)等。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本申请实施例装置中的模块可以根据实际需要进行划分、合并或删减。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (22)
1.一种门限密钥验证方法,其特征在于,所述方法由n个协同方中的第一协同方执行,所述n个协同方具有公开且互不相同的标识数值,所述第一协同方的标识数值为第一标识数值,第二协同方的标识数值为第二标识数值,所述第二协同方为所述n个协同方中除所述第一协同方之外的任意一个协同方,n为大于2的自然数,所述方法包括:
获取所述第一协同方对应的第一多项式,并将所述第二标识数值带入所述第一协同方对应的第一多项式进行计算,得到第一验证分片;
向所述第二协同方发送第一私钥分片和所述第一验证分片,其中,所述第一私钥分片为所述第一协同方将所述第二标识数值带入所述第一协同方对应的第二多项式进行计算得到的;
获取第一随机数,并将所述第一随机数、多个第一参数和多个第二参数进行运算,得到多个第一验证参照值,其中,所述第一协同方是在将所述第一私钥分片和所述第一验证分片发送给所述第二协同方之后,获取所述第一随机数的,所述多个第一验证参照值中的每个第一验证参照值对应一个第一参数和一个第二参数;
向所述第二协同方发送所述第一随机数和所述多个第一验证参照值,使得所述第二协同方使用所述第一验证分片、所述第一随机数和所述多个第一验证参照值验证所述第一私钥分片是否正确。
2.根据权利要求1所述的方法,其特征在于,所述多个第一参数包括bi,0,bi,1,bi,2,…,bi,t-1,所述多个第二参数包括ai,0,ai,1,ai,2,…,ai,t-1,所述多个第一验证参照值包括Ai,0、Ai,1、Ai,2、…、Ai,t-1,其中,所述第一参数bi,0为所述第一协同方对应的第一多项式的常数项,所述第一参数bi,1,bi,2,…,bi,t-1为所述第一协同方对应的第一多项式的系数,所述第二参数ai,0为所述第一协同方对应的第二多项式的常数项,所述第二参数ai,1,ai,2,…,ai,t-1为所述第一协同方对应的第二多项式的系数,i为所述第一标识数值,i,t均为自然数,且i≥1,1<t<n;
所述将所述第一随机数、多个第一参数和多个第二参数进行运算,得到多个第一验证参照值,包括:
将所述第一随机数、第一参数bi,j和第二参数ai,j进行线性运算,得到第一验证参照值Ai,j,其中,j为自然数,0≤j≤t-1。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一随机数、第一参数ai,j和第二参数bi,j进行线性运算,得到第一验证参照值Ai,j,包括:
将所述第一随机数、第一参数ai,j和第二参数bi,j通过以下公式进行线性运算,得到第一验证参照值Ai,j:
Ai,j=bi,j+riai,j
其中,ri为所述第一随机数。
4.根据权利要求1至3任一项所述的方法,其特征在于,在向所述第二协同方发送所述第一验证分片的情况下,所述方法还包括:
接收所述第二协同方发送的第二验证分片、第二随机数和多个第二验证参照值,其中,所述第二验证分片为所述第二协同方将所述第一标识数值带入所述第二协同方对应的第一多项式进行计算得到的,所述多个第二验证参照值为所述第二协同方将所述第二随机数、多个第三参数和多个第四参数进行运算得到的,其中,所述多个第二验证参照值中的每个第二验证参照值对应一个第三参数和一个第四参数;
使用所述第二验证分片、所述第二随机数和所述多个第二验证参照值验证所述第二协同方向其发送的第二私钥分片是否正确,其中,所述第二私钥分片为所述第二协同方将所述第一标识数值带入所述第二协同方对应的第二多项式进行计算得到的。
5.根据权利要求4所述的方法,其特征在于,所述多个第三参数包括bl,0,bl,1,bl,2,…,bl,t-1,所述多个第四参数包括al,0,al,1,al,2,…,al,t-1,所述多个第二验证参照值包括Al,0、Al,1、Al,2、…、Al,t-1,其中,第二验证参照值Al,j为所述第二协同方将所述第二随机数、第三参数bl,j和第四参数al,j进行线性运算得到的,所述第三参数bl,0为所述第二协同方对应的第一多项式的常数项,所述第三参数bl,1,bl,2,…,bl,t-1为所述第二协同方对应的第一多项式的系数,所述第四参数al,0为所述第二协同方对应的第二多项式的常数项,所述第四参数al,1,al,2,…,al,t-1为所述第二协同方对应的第二多项式的系数,l为所述第二标识数值,l为自然数,且l≥1,l≠i。
7.一种门限密钥验证方法,其特征在于,所述方法由n个协同方中的第二协同方执行,所述n个协同方具有公开且互不相同的标识数值,第一协同方的标识数值为第一标识数值,所述第二协同方的标识数值为第二标识数值,所述第一协同方为所述n个协同方中除所述第二协同方之外的任意一个协同方,n为大于2的自然数,所述方法包括:
接收所述第一协同方发送的第一私钥分片、第一验证分片、第一随机数和多个第一验证参照值,其中,所述第一协同方是在将所述第一私钥分片和所述第一验证分片发送给所述第二协同方之后,获取所述第一随机数的,所述第一私钥分片为所述第一协同方将所述第二标识数值带入所述第一协同方对应的第二多项式进行计算得到的,所述第一验证分片为所述第一协同方将所述第二标识数值带入所述第一协同方对应的第一多项式进行计算得到的,所述多个第一验证参照值为所述第一协同方将所述第一随机数、多个第一参数和多个第二参数进行运算得到的;
使用所述第一验证分片、所述第一随机数和所述多个第一验证参照值验证所述第一私钥分片是否正确。
8.根据权利要求7所述的方法,其特征在于,所述多个第一参数包括bi,0,bi,1,bi,2,…,bi,t-1,所述多个第二参数包括ai,0,ai,1,ai,2,…,ai,t-1,所述多个第一验证参照值包括Ai,0、Ai,1、Ai,2、…、Ai,t-1,其中,第一验证参照值Ai,j为所述第一协同方将所述第一随机数、第一参数bi,j和第二参数ai,j进行线性运算得到的,所述第一参数bi,0为所述第一协同方对应的第一多项式的常数项,所述第一参数bi,1,bi,2,…,bi,t-1为所述第一协同方对应的第一多项式的系数,所述第二参数ai,0为所述第一协同方对应的第二多项式的常数项,所述第二参数ai,1,ai,2,…,ai,t-1为所述第一协同方对应的第二多项式的系数,i为所述第一标识数值,i,j,t均为自然数,且i≥1,0≤j≤t-1,1<t<n。
10.一种门限密钥验证装置,其特征在于,所述装置应用于门限密钥验证系统,所述门限密钥验证系统中包括n个协同方,所述装置属于所述n个协同方中的第一协同方,所述n个协同方具有公开且互不相同的标识数值,所述第一协同方的标识数值为第一标识数值,第二协同方的标识数值为第二标识数值,所述第二协同方为所述n个协同方中除所述第一协同方之外的任意一个协同方,n为大于2的自然数,所述装置包括:
获取模块,用于获取所述第一协同方对应的第一多项式,并将所述第二标识数值带入所述第一协同方对应的第一多项式进行计算,得到第一验证分片;
发送模块,用于向所述第二协同方发送第一私钥分片和所述第一验证分片,其中,所述第一私钥分片为所述第一协同方将所述第二标识数值带入所述第一协同方对应的第二多项式进行计算得到的;
所述获取模块,还用于获取第一随机数,并将所述第一随机数、多个第一参数和多个第二参数进行运算,得到多个第一验证参照值,其中,所述第一协同方是在将所述第一私钥分片和所述第一验证分片发送给所述第二协同方之后,获取所述第一随机数的,所述多个第一验证参照值中的每个第一验证参照值对应一个第一参数和一个第二参数;
所述发送模块,还用于向所述第二协同方发送所述第一随机数和所述多个第一验证参照值,使得所述第二协同方使用所述第一验证分片、所述第一随机数和所述多个第一验证参照值验证所述第一私钥分片是否正确。
11.根据权利要求10所述的装置,其特征在于,所述多个第一参数包括bi,0,bi,1,bi,2,…,bi,t-1,所述多个第二参数包括ai,0,ai,1,ai,2,…,ai,t-1,所述多个第一验证参照值包括Ai,0、Ai,1、Ai,2、…、Ai,t-1,其中,所述第一参数bi,0为所述第一协同方对应的第一多项式的常数项,所述第一参数bi,1,bi,2,…,bi,t-1为所述第一协同方对应的第一多项式的系数,所述第二参数ai,0为所述第一协同方对应的第二多项式的常数项,所述第二参数ai,1,ai,2,…,ai,t-1为所述第一协同方对应的第二多项式的系数,i为所述第一标识数值,i,t均为自然数,且i≥1,1<t<n;
所述获取模块,具体用于:
将所述第一随机数、第一参数bi,j和第二参数ai,j进行线性运算,得到第一验证参照值Ai,j,其中,j为自然数,0≤j≤t-1。
12.根据权利要求11所述的装置,其特征在于,所述获取模块,具体用于:
将所述第一随机数、第一参数ai,j和第二参数bi,j通过以下公式进行线性运算,得到第一验证参照值Ai,j:
Ai,j=bi,j+riai,j
其中,ri为所述第一随机数。
13.根据权利要求10至12任一项所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收所述第二协同方发送的第二验证分片、第二随机数和多个第二验证参照值,其中,所述第二验证分片为所述第二协同方将所述第一标识数值带入所述第二协同方对应的第一多项式进行计算得到的,所述多个第二验证参照值为所述第二协同方将所述第二随机数、多个第三参数和多个第四参数进行运算得到的,其中,所述多个第二验证参照值中的每个第二验证参照值对应一个第三参数和一个第四参数;
验证模块,用于使用所述第二验证分片、所述第二随机数和所述多个第二验证参照值验证所述第二协同方向其发送的第二私钥分片是否正确,其中,所述第二私钥分片为所述第二协同方将所述第一标识数值带入所述第二协同方对应的第二多项式进行计算得到的。
14.根据权利要求13所述的装置,其特征在于,所述多个第三参数包括bl,0,bl,1,bl,2,…,bl,t-1,所述多个第四参数包括al,0,al,1,al,2,…,al,t-1,所述多个第二验证参照值包括Al,0、Al,1、Al,2、…、Al,t-1,其中,第二验证参照值Al,j为所述第二协同方将所述第二随机数、第三参数bl,j和第四参数al,j进行线性运算得到的,所述第三参数bl,0为所述第二协同方对应的第一多项式的常数项,所述第三参数bl,1,bl,2,…,bl,t-1为所述第二协同方对应的第一多项式的系数,所述第四参数al,0为所述第二协同方对应的第二多项式的常数项,所述第四参数al,1,al,2,…,al,t-1为所述第二协同方对应的第二多项式的系数,l为所述第二标识数值,l为自然数,且l≥1,l≠i。
16.一种门限密钥验证装置,其特征在于,所述装置应用于门限密钥验证系统,所述门限密钥验证系统中包括n个协同方,所述装置属于所述n个协同方中的第二协同方,所述n个协同方具有公开且互不相同的标识数值,第一协同方的标识数值为第一标识数值,所述第二协同方的标识数值为第二标识数值,所述第一协同方为所述n个协同方中除所述第二协同方之外的任意一个协同方,n为大于2的自然数,所述装置包括:
接收模块,用于接收所述第一协同方发送的第一私钥分片、第一验证分片、第一随机数和多个第一验证参照值,其中,所述第一协同方是在将所述第一私钥分片和所述第一验证分片发送给所述第二协同方之后,获取所述第一随机数的,所述第一私钥分片为所述第一协同方将所述第二标识数值带入所述第一协同方对应的第二多项式进行计算得到的,所述第一验证分片为所述第一协同方将所述第二标识数值带入所述第一协同方对应的第一多项式进行计算得到的,所述多个第一验证参照值为所述第一协同方将所述第一随机数、多个第一参数和多个第二参数进行运算得到的;
验证模块,用于使用所述第一验证分片、所述第一随机数和所述多个第一验证参照值验证所述第一私钥分片是否正确。
17.根据权利要求16所述的装置,其特征在于,所述多个第一参数包括bi,0,bi,1,bi,2,…,bi,t-1,所述多个第二参数包括ai,0,ai,1,ai,2,…,ai,t-1,所述多个第一验证参照值包括Ai,0、Ai,1、Ai,2、…、Ai,t-1,其中,第一验证参照值Ai,j为所述第一协同方将所述第一随机数、第一参数bi,j和第二参数ai,j进行线性运算得到的,所述第一参数bi,0为所述第一协同方对应的第一多项式的常数项,所述第一参数bi,1,bi,2,…,bi,t-1为所述第一协同方对应的第一多项式的系数,所述第二参数ai,0为所述第一协同方对应的第二多项式的常数项,所述第二参数ai,1,ai,2,…,ai,t-1为所述第一协同方对应的第二多项式的系数,i为所述第一标识数值,i,j,t均为自然数,且i≥1,0≤j≤t-1,1<t<n。
19.一种门限密钥验证装置,其特征在于,所述装置包括:处理器、通信接口以及存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,所述通信接口用于接收或者发送数据;其中,所述处理器执行所述指令时执行如权利要求1至6任一权利要求所述的方法。
20.一种门限密钥验证装置,其特征在于,所述装置包括:处理器、通信接口以及存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,所述通信接口用于接收或者发送数据;其中,所述处理器执行所述指令时执行如权利要求7至9任一权利要求所述的方法。
21.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一权利要求所述的方法。
22.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求7至9任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010470235.2A CN113746623B (zh) | 2020-05-28 | 2020-05-28 | 一种门限密钥验证方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010470235.2A CN113746623B (zh) | 2020-05-28 | 2020-05-28 | 一种门限密钥验证方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113746623A CN113746623A (zh) | 2021-12-03 |
CN113746623B true CN113746623B (zh) | 2023-03-24 |
Family
ID=78724307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010470235.2A Active CN113746623B (zh) | 2020-05-28 | 2020-05-28 | 一种门限密钥验证方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113746623B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114650127A (zh) * | 2022-03-11 | 2022-06-21 | 江苏中交车旺科技有限公司 | 一种基于共享密钥的支付方法和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4325770A3 (en) * | 2017-08-15 | 2024-04-24 | nChain Licensing AG | Threshold ecdsa for securing bitcoin wallet |
WO2020061593A1 (en) * | 2018-09-22 | 2020-03-26 | Yakira David | Decentralized key generation and distribution over a blockchain-based network |
CN110971405B (zh) * | 2019-12-06 | 2022-06-14 | 支付宝(杭州)信息技术有限公司 | 多方协同的sm2签名、解密方法及其系统 |
-
2020
- 2020-05-28 CN CN202010470235.2A patent/CN113746623B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113746623A (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2736109C1 (ru) | Устройства и способ согласования ключей | |
CN112106322B (zh) | 基于密码的阈值令牌生成 | |
Dabra et al. | LBA-PAKE: lattice-based anonymous password authenticated key exchange for mobile devices | |
KR20140009105A (ko) | 무한 중첩된 해시 체인들에 의한 1회용 패스워드 인증 | |
CN109861828B (zh) | 一种基于边缘计算的节点接入和节点认证方法 | |
US8422670B2 (en) | Password authentication method | |
US8681986B2 (en) | Single-round password-based key exchange protocols | |
EP3987711A1 (en) | Authenticated lattice-based key agreement or key encapsulation | |
Qu et al. | Two‐Factor User Authentication with Key Agreement Scheme Based on Elliptic Curve Cryptosystem | |
EP3824591B1 (en) | Key encapsulation protocols | |
Xu et al. | Provably secure three-party password authenticated key exchange protocol based on ring learning with error | |
CN112597542B (zh) | 目标资产数据的聚合方法及装置、存储介质、电子装置 | |
Ding et al. | Further analysis and improvements of a lattice-based anonymous PAKE scheme | |
CN116391346A (zh) | 秘密分享的重新分发 | |
CN112436938A (zh) | 数字签名的生成方法、装置和服务器 | |
Sharma et al. | A twofold group key agreement protocol for NoC‐based MPSoCs | |
CN112417489A (zh) | 数字签名的生成方法、装置和服务器 | |
Zhao et al. | Verifiable outsourced ciphertext-policy attribute-based encryption for mobile cloud computing | |
Nam et al. | Password‐Only Authenticated Three‐Party Key Exchange with Provable Security in the Standard Model | |
Molotkov | On the robustness of information-theoretic authentication in quantum cryptography | |
Ruan et al. | Provably leakage-resilient password-based authenticated key exchange in the standard model | |
Castiglione et al. | An efficient and transparent one-time authentication protocol with non-interactive key scheduling and update | |
CN113746623B (zh) | 一种门限密钥验证方法及相关设备 | |
Ren et al. | Efficient module learning with errors‐based post‐quantum password‐authenticated key exchange | |
Jiang et al. | Lightweight data security protection method for AMI in power Internet of Things |
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 |