CN114444090A - 一种高效的秘密唯一领导人选举方法 - Google Patents

一种高效的秘密唯一领导人选举方法 Download PDF

Info

Publication number
CN114444090A
CN114444090A CN202111551173.9A CN202111551173A CN114444090A CN 114444090 A CN114444090 A CN 114444090A CN 202111551173 A CN202111551173 A CN 202111551173A CN 114444090 A CN114444090 A CN 114444090A
Authority
CN
China
Prior art keywords
com
participants
leader
value
secret
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.)
Granted
Application number
CN202111551173.9A
Other languages
English (en)
Other versions
CN114444090B (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.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
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 Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN202111551173.9A priority Critical patent/CN114444090B/zh
Publication of CN114444090A publication Critical patent/CN114444090A/zh
Application granted granted Critical
Publication of CN114444090B publication Critical patent/CN114444090B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种高效的秘密唯一领导人选举方法。本方法为:每个参与方Pi根据所选秘密ki,计算证据(kiL,kiR)、承诺值Com(kiL;ri),并生成承诺值Com(kiL;ri)对应的明文知识的零知识证明πi,然后将Com(kiL;ri),πi,kiR添加到状态集st;所有参与方公开验证状态集st中k1R,…,knR是否有重复值以及验证零知识证明;根据验证结果更新集合l;从l内各承诺值对应的参与方中选择一个委员会对l进行更新操作并选出一Com(k′;r);领导人Pj公布秘密kj,其他参与方公开验证(kjL,kjR)←H(kj),令(u,v)=com(k′;r),若
Figure DDA0003417626900000011
成立则领导人Pj身份认证通过。

Description

一种高效的秘密唯一领导人选举方法
技术领域
本发明属于计算机应用技术领域,尤其涉及一种高效的秘密唯一领导人选举方法。
背景技术
区块链在学术界和工业界的迅速崛起,再一次激起了人们对安全多方计算研究的兴趣,如阈值签名(Threshold ECDSA等)。还有将隐私保护与共识机制结合起来,研究权益证明(Proof of Stake,POS)区块链背景下的秘密领导人选举,其中,随机选出的领导人的身份一直是秘密的,直到他表明自己是领导人。与传统的领导人选举相比,秘密性意味着可以抵抗一些阻断区块链活性的攻击。因为一旦领导人被选出且身份是公开的,则敌手可以对选中的领导人发起拒绝服务(Denial of Service,DOS)攻击,阻止他发布一个区块。然后系统需要选择一个替代的领导人,但这个领导人同样可能在发布区块前受到阻断攻击,以此类推,系统会被迫停止。秘密的领导人选举则可以解决上述问题,因为它保证了领导人的身份在他发布一个新的区块前一直是隐藏的。
现有的秘密领导人选举协议,如Snow White和Algorand,是先选出几个可能的秘密领导人,再用一个简单的决选程序,使得在所有可能的领导人全部公开后,决选出一名作为选举的绝对赢家。但是,这种方法可能会导致工作浪费,例如,要求领导人在发布区块前完成的工作,现在每个可能的领导人都要重复同样的工作。甚至一旦决选程序被攻击,可能会导致区块链中的分叉。
这些问题的存在,使得密码学家们将研究转向“秘密唯一领导人选举(SecretSingle Leader Election,SSLE)”协议的设计。在SSLE中,一组参与方的目标是选择唯一的领导人,并要求领导人的身份只有被选中的领导人自己知道,其他人不知道。之后,被选中的领导人可以公开她的身份,并证明她确实赢得了选举。Boneh等人在2020年首次形式化定义了SSLE的安全性模型,包括抽象出来的三个性质:唯一性、不可预测性和公平性。
唯一性 简单来说,只有一个领导者可以证明她确实赢得了选举。在安全性实验中,允许敌手攻陷任意数量的参与方;允许没有领导者身份被输出,因为如果选中的领导者被事先攻陷,则她可能拒绝证明她是领导者;允许敌手在看到诚实参与方的证明后,输出自己的证明。
不可预测性 简单来说,如果敌手没有被选中为领导者,那么她只能随机猜测是谁真正赢得了选举。在安全性实验中,允许敌手攻陷任意数量的参与方;在进行几轮选举之后,去猜测哪个诚实参与方赢得了挑战的选举。
公平性 简单来说,敌手被选中为领导者的概率应该等于敌手攻陷的参与方在总参与方的比例,诚实参与方被选中为领导者的概率应该等于诚实参与方在总参与方的比例,即敌手在协议运行中没有篡改协议输出的能力。
此外,基于权益证明的区块链应用对SSLE的性能提出了要求:每个选举结束账本的增长(链上的通信开销)、每个参与方的计算量(链下的计算开销)和扩展性(随着参与方数量增加,通信/计算开销的增长)等。
Boneh等人在他们的论文中给出了三个方案。第一个基于不可区分混淆iO的方案给出了最理想的安全性和最优性能的可行性结论。方案用iO去混淆了下面的程序:输入所有参与方P1,…,Pn的公钥pk1,…,pkn,输出给每个参与方Pi一个承诺(其承诺的信息是参与方自己是否被选中作为领导者)以及承诺使用的随机数在参与方Pi的公钥pki下的加密。领导人的选定,采用伪随机函数作用在公开随机数的结果和参与方身份的比对,比对通过,输出信息1,否则,输出信息0。方案用iO保证了混淆后的程序并不会泄露伪随机函数的私钥,且公钥加密保证了承诺使用的随机数对于其他参与方是未知的。因此,每个参与方无法获得伪随机函数的输出,且无法打开其他参与方获得的承诺值(被承诺值是隐藏的),则方案满足不可预测性;只有唯一的参与方获得1的承诺值,承诺的打开为1是领导人身份的证明,显然方案满足唯一性;方案假定了密码学的随机数Beacon来提供每次选举所需的公开随机数,加上承诺值是绑定的,因此方案满足公平性。
第二个基于阈值全同态加密(Threshold Fully Homomorphic Encryption,TFHE)的方案,其核心是让每一个参与方登记一个秘密si的加密,根据公开随机数,用同态计算和阈值解密完成从已登记集合中选择并输出一个si。只有生成si的参与方知道她的秘密,通过比对,每个参与方只知道自己是不是领导者,即方案满足不可预测性。同时,因为每个参与方事先登记了自己持有的si,所以方案满足唯一性。最后,方案保证了只要达到阈值数量的参与方诚实地广播自己的部分解密,即使部分用户因为DOS攻击离线了,选举依旧可以完成。选举的过程是抗恶意敌手攻击的,即敌手无法伪造选举协议的输出或恶意地中止协议,因此,方案满足公平性。该方案的难点在于选择si的函数(即FHE需要同态计算的函数)对应的电路应该尽可能低深度。使用低深度的流密码去实现伪随机函数和高效的将log(n)比特随机数扩展到n长度向量(其中只有一位是1,其他位数全0)的技术,他们给出了当参与方数量n=216时,一个深度为10的电路。
第三个基于DDH和Shuffle的方案,其核心是在登记阶段(Registration Phase),不再通过加密,而是通过置换来隐藏每个人的秘密和她本身的联系。具体地,协议运行如下:
1)初始化(Setup):在公共账本上初始化一个空的集合
Figure BDA0003417626880000021
2)登记(Register):参与方Pi添加自己选择的一个秘密ki∈Fq的承诺值
Figure BDA0003417626880000031
Figure BDA0003417626880000032
到集合
Figure BDA0003417626880000033
对整个集合
Figure BDA0003417626880000034
中的元素进行置换和重随机化得到
Figure BDA0003417626880000035
向公共账本更新
Figure BDA0003417626880000036
3)登记的验证(RegisterVerify):验证每个参与方的输入(即秘密ki)是独立随机选择的,验证置换的正确性。
4)选举(Election):根据公共随机数R,从集合
Figure BDA0003417626880000037
选择一行Com(ki;r′i)=(u,v)。
5)验证(Verify):被选中的参与方打开自己的承诺值ki,验证
Figure BDA0003417626880000038
如果成立,则领导者身份认证通过。
显然,这第三个方案满足唯一性、不可预测性和公平性。尽管Boneh等人强调这个方案是他们给出的三个候选中最高效的,但在考虑协议具体部署实现时,其极度依赖于链上通信,链上通信轮数甚至远远超过参与方的数量n,而区块链应用中n一般很大,如216,即上述协议的扩展性并不是很好。
发明内容
针对现有技术中存在的问题,本发明的目的在于提供一种高效的秘密唯一领导人选举方法。本发明首先对Boneh等人提出的基于DDH和Shuffle的秘密唯一领导人选举协议的部署实现进行了分析,提出了其存在的效率问题。接着,本发明对Boneh等人的方案进行改进,提出了一种新的高效的秘密唯一领导人选举方法,尤其适用于参与方数量较多的区块链应用场景。
秘密领导人选举协议是基于权益证明的区块链系统的核心组成,同时,领导人选举的唯一性对系统的安全性提供了更高的保证。本发明从Boneh等人对秘密唯一领导选举协议的形式化定义出发,并对他们提出的最高效的方案进行了分析,发现了方案的效率瓶颈。最后,本发明提出了一种更高效的秘密唯一领导人选举方法,尤其适用于对扩展性要求较高的区块链系统。
本发明的技术方案为:
一种高效的秘密唯一领导人选举方法,其步骤包括:
初始化阶段:在公共账本上初始化一集合
Figure BDA0003417626880000039
和状态集st,初始化一个公共随机串crs;
登记阶段:每个参与方Pi根据所选秘密ki,计算证据(kiL,kiR)、承诺值Com(kiL;ri),并生成承诺值Com(kiL;ri)对应的明文知识的零知识证明πi,然后将Com(kiL;ri),πi,kiR添加到所述状态集st;i=1~n,n为参与方总数;
登记的验证阶段:所有参与方公开验证所述状态集st中k1R,…,knR是否有重复的值,以及验证每个明文知识的零知识证明;如果全部验证通过,则更新集合
Figure BDA0003417626880000041
更新st={πi,kiR}i=1,…,n;如果k1R,…,knR中出现重复的值或零知识证明未通过验证,则将过滤掉重复的值对应的承诺值以及未通过验证的零知识证明对应的承诺值,将剩余承诺值更新到集合
Figure BDA0003417626880000042
中;
选举阶段:从登记的验证阶段所得集合
Figure BDA0003417626880000043
内各承诺值对应的参与方中选择一个委员会;所述委员会中的每个成员分别对所述集合
Figure BDA0003417626880000044
进行更新操作,所述更新操作包括置换和重随机化,并附上更新正确性的零知识证明;然后从最后更新完成的集合
Figure BDA0003417626880000045
选出一Com(k′;r),其中k′为k1L,…,knL中某一个值;r由所述委员会和初始登记k′的参与方共同决定;
验证领导者阶段:领导人Pj公布自己的秘密kj,其他参与方公开验证(kjL,kjR)←H(kj),令(u,v)=com(k′;r),验证
Figure BDA0003417626880000046
是否成立,如果成立,则领导人Pj身份认证通过。
进一步的,所述承诺值为
Figure BDA0003417626880000047
其中g为群G的生成元。
进一步的,所述零知识证明πi的生成方法为:πi←NIZK.Prove(crs,com(kiL;ri);(kiL,ri))。
进一步的,所述秘密ki∈{0,1}λ,λ为安全参数。
进一步的,利用公开随机数从集合
Figure BDA0003417626880000048
内各承诺值对应的参与方中选择一个委员会;利用公开随机数从最后更新完成的集合
Figure BDA0003417626880000049
选出选出一Com(k′;r),其中k′为k1L,…,knL中一个值。
进一步的,所述随机数由密码学随机数Beacon定期发布。
进一步的,通过哈希函数H计算得到参与方Pi的证据(kiL,kiR)←H(ki)。
本发明的优点如下:
本发明提出了一种高效的秘密唯一领导人选举方法,领导人选举的结果满足唯一性、不可预测性和公平性。与传统的基于可验证随机函数(Verifiable Random Function,VRF)的协议选出多个秘密领导人相比,避免了重复工作和处理分叉的代价,可用于提升区块链系统的出块效率。
附图说明
图1是本发明的流程图。
具体实施方式
下面结合附图对本发明进行进一步详细描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明首先对Boneh等人的基于DDH和Shuffle的方案进行分析,分析协议的具体部署实现,发现其存在过度依赖于公共账本问题,即链上的通信轮数特别高。由于区块链的链上通信比较昂贵,所以方案其实并不适用于扩展性要求高的区块链系统。下面首先展示Boneh等人的方案的核心思想,再进行针对性的分析。
Boneh等人基于DDH和Shuffle的方案的核心思想如下:
1)初始化(Setup):在公共账本上初始化一个空的集合
Figure BDA0003417626880000051
2)登记(Register):参与方Pi添加自己选择的一个秘密ki∈Fq的承诺值
Figure BDA0003417626880000052
Figure BDA0003417626880000053
到集合
Figure BDA0003417626880000054
对整个集合
Figure BDA0003417626880000055
中的元素进行置换和重随机化得到
Figure BDA0003417626880000056
向公共账本更新
Figure BDA0003417626880000057
3)登记的验证(RegisterVerify):验证每个参与方的输入(即秘密ki)是独立随机选择的;验证置换的正确性。
4)选举(Election):根据公共随机数R,从集合
Figure BDA0003417626880000058
选择一行Com(ki;r′i)=(u,v)。
5)验证(Verify):被选中的参与方打开自己的承诺值ki,验证
Figure BDA0003417626880000059
如果成立,则领导者身份认证通过。
本发明对登记验证阶段的目标和实现方式进行分析如下:
目标 为了防止以下三种攻击:第一种是恶意的参与方选择相同的秘密,则会破坏选举的唯一性;第二种是恶意的参与方选择跟诚实参与方相关的秘密(直接重随机化诚实参与方的承诺值),破坏选举的公平性。第三种是恶意的参与方不正确地置换整个集合
Figure BDA00034176268800000510
更新后的集合可能不包含某个诚实参与方的登记,破坏选举的公平性。
实现方式 防止第一种攻击可以通过优化登记的过程:参与方选择ki∈Fq,计算(kil,kiR)←H(ki),提交Com(kil;ri)和kiR。对于半诚实的参与方,如果{kiR}两两不相等,则kil必然两两不相等;对于任意偏离协议规范的参与方,{kiR}两两不相等并不能得出kil必然两两不相等,但可以修改协议的验证算法(Verify):想要证明领导人身份的参与方必须打开ki,让验证者额外地验证其之前登记的Com(kil;ri)和kiR是否由ki诚实地生成。
防止第二种攻击:方案提出让每个诚实的参与方Pi用自己的ki去打开验证后面方参与者提交的承诺值。
防止第三种攻击:置换的证明可以通过证明某个秘密kj在参与方Pi置换前的集合
Figure BDA00034176268800000511
中出现,在置换后的集合
Figure BDA00034176268800000512
中没有出现。因此,需要每个参与方Pj用自己的kj去认证后面参与方更新后的集合。
问题1:上面两种证明方式需要诚实的参与方在整个登记完成之前永远在线,对后面的参与者提交的值和置换后的集合进行验证。一旦某个诚实的参与方离线,首先待验证的参与方的新登记不能被接受,因为无法保证新登记与诚实参与方的输入一定不相关,或者诚实参与方的输入还在置换后的集合中。其次,离线的参与方应该被从选举中剔除,否则,从她离线时刻起,所有的登记都不能被接受。最后,由于除了她自己没人可以准确地定位她的登记在当前集合
Figure BDA0003417626880000061
中的位置,所以剔除她只能通过账本上的信息追溯到她提交自己的秘密的承诺值和更新集合
Figure BDA0003417626880000062
之前,要求在她之后的参与方逐个地重新登记(可以选择相同的秘密值,但必须重新置换)。
问题2:用ki去认证新的登记提交的承诺值以及置换的正确性,如果发现错误,必须打开,让大家公开认证。否则假设第一个参与方是恶意的,它可以永远拒绝新的登记。换句话说,参与方Pj必须打开自己的kj去公开证明参与方Pi的恶意登记行为,证明Pi提交的承诺值与Pj自己的相关或者Pi没有正确地进行置换。这意味着,诚实的参与方为了抵抗恶意的行为,必须打开自己的秘密kj,再重新选择自己的秘密k′j,向公共账本提交新的承诺值和更新的集合。
显然,Boneh等人的方案面临的问题会导致协议执行的效率大大降低:
1)如果敌手对某个诚实的参与方发动拒绝服务攻击,那么从该诚实参与方离线时刻起,所有新提交的承诺值和置换必须都不能被验证通过(因为无法确定敌手是否重随机化了该参与方的输入,或者在集合中用自己的秘密替换了该参与方的输入)。为了从选举中剔除不响应的参与方Pi,必须依赖于账本追溯到该参与方登记前的集合
Figure BDA0003417626880000063
在它之后登记的参与方必须重新登记。假设敌手在协议登记进行到第t个参与方时,对第一个诚实登记的参与方P1发动拒绝服务攻击,那么P2,…,Pt-1必须都重新登记,否则,后面Pt,…,Pn都无法登记成功,重新登记的代价为O(t),1≤t≤n。也就是说,完成n个参与方的登记,登记所需的链上通信轮数远远大于n。
2)诚实参与方为了阐述其他参与方的恶意行为,必须打开自己的秘密值,让大家可以公开验证,接着,自己就必须重新选择一个新的秘密,进行承诺和置换。换句话说,诚实参与方指出其他参与方的恶意行为的代价是牺牲了自己,这显然也是不能被诚实参与方接受的。
本发明针对上面对协议分析时发现的问题进行了优化,提出了一种新的更高效的秘密唯一领导人选举方法如下:
1)初始化:令λ是安全参数,生成公共参数,包括公共随机串crs←NIZK.crsGen(1λ)、群G=<g>(其中g为群G的生成元)和哈希函数H,在公共账本上初始化一个空的集合l和状态集st。
2)登记:每个参与方Pi选择自己的秘密ki∈{0,1}λ,本地计算(kiL,kiR)←H(ki),计算承诺值
Figure BDA0003417626880000071
(其中ri为随机数),生成承诺值Com(kiL;ri)对应的明文知识的零知识证明,即πi←NIZK.Prove(crs,com(kiL;ri);(kiL,ri)),其中(kiL,ri)是证据(Witness),添加Com(kiL;ri),πi,kiR到账本上的状态集st。
3)登记的验证:当n对(πi,kiR)包含到账本的状态集st中后,所有参与方公开验证k1R,…,knR中是否有重复的值,且验证每个明文知识的零知识证明是否通过,即0/1←NIZK.Verify(crs,com(kiL;ri),πi)。如果全部验证通过,更新
Figure BDA0003417626880000072
更新st={πi,kiR}i=1,…,n;如果k1R,…,knR出现重复的值,则与重复的值对应的承诺值不会被更新到集合
Figure BDA0003417626880000073
中,即拒绝提供重复值的两个或多个参与方加入到选举;如果某个零知识证明不通过,则与该零知识证明对应的承诺值不会被更新到集合
Figure BDA0003417626880000074
中,即拒绝提供该错误零知识证明的参与方加入到选举。
4)选举1:利用公开随机数,从上面登记验证通过的m个参与方{P1,…,Pm}(其中m≤n)中选择一个委员会
Figure BDA0003417626880000075
其中sid为选举的标识,k为委员的数量。注意,假定{P1,…,Pm}总有一部分诚实的参与方是敌手无法攻陷的,则根据公开随机数选出的委员会
Figure BDA0003417626880000076
以压倒性的概率至少存在一个诚实的参与方,密码学随机数Beacon可以用来提供理想的定期发布随机数的服务。
5)选举2:委员会
Figure BDA0003417626880000077
中的每个成员逐个地对集合
Figure BDA0003417626880000078
进行更新操作,包括置换和重随机化,并附上更新正确性的零知识证明。
6)选举3:利用公开随机数,从最后的更新完成的集合
Figure BDA0003417626880000079
选出1个的元素Com(k′;r),其中,k′为k1L,…,kmL中某一个值,随机数r由委员会
Figure BDA00034176268800000710
和初始登记k′的参与方共同决定。
7)领导人身份的验证:领导人Pi公布自己的秘密ki,其他参与方公开验证(kiL,kiR)←H(ki),令(u,v)=Com(k′;r),验证
Figure BDA00034176268800000711
是否成立。
首先,如果恶意参与方之间选择相同的输入ki,遵循协议规范输出kiR,则在登记验证阶段会被发现;如果恶意参与方之间选择相同的kiL和不同的kiR,则最后的验证阶段会被发现,因此,方案满足唯一性。
其次,如果恶意参与方直接重随机化诚实参与方的输入,则登记验证阶段的零知识证明不会通过,同时,只要委员会中有一个诚实的参与方做了对整个集合
Figure BDA0003417626880000081
做了诚实地置换和重随机化,让委员会中的每一个参与方通过零知识证明验证前一个参与方置换的正确性,如果验证通过,则对前一个参与方更新的集合进行自己的更新操作,如果验证不通过,往前追溯最近的被正确置换的集合,进行自己的更新操作。简单来说,敌手既不能选择与诚实参与方相关的输入,也不能恶意地删除诚实参与方的输入,又有密码学随机数Beacon的公平性和承诺值的绑定特性,所以,本发明的方案满足公平性和不可预测性。
最后,本发明方案的登记阶段仅由一轮组成,选举阶段由委员会选举(选举1)、委员会之间的更新集合l的k轮交互协议(选举2)和最后的选举3,其中k仅为O(log n)。显然,本发明方案较Boneh等人的方案在通信轮数上大大提升,仅在登记阶段的通信和委员会之间的通信中增加了少量零知识证明的开销。因此,方案具有良好的扩展性,尤其适用于参与方数量较多的基于权益证明的区块链系统。
尽管为说明目的公开了本发明的具体实施例,其目的在于帮助理解本发明的内容并据以实施,本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

Claims (7)

1.一种高效的秘密唯一领导人选举方法,其步骤包括:
初始化阶段:在公共账本上初始化一集合l和状态集st,初始化一个公共随机串crs;
登记阶段:每个参与方Pi根据所选秘密ki,计算证据(kiL,kiR)、承诺值Com(kiL;ri),并生成承诺值Com(kiL;ri)对应的明文知识的零知识证明πi,然后将Com(kiL;ri),πi,kiR添加到所述状态集st;i=1~n,n为参与方总数;
登记的验证阶段:所有参与方公开验证所述状态集st中k1R,…,knR是否有重复的值,以及验证每个明文知识的零知识证明;如果全部验证通过,则更新集合l={Com(kiL;ri)}i=1,…,n,更新st={πi,kiR}i=1,…,n;如果k1R,…,knR中出现重复的值或零知识证明未通过验证,则将过滤掉重复的值对应的承诺值以及未通过验证的零知识证明对应的承诺值,将剩余承诺值更新到集合l中;
选举阶段:从登记的验证阶段所得集合l内各承诺值对应的参与方中选择一个委员会;所述委员会中的每个成员分别对所述集合l进行更新操作,所述更新操作包括置换和重随机化,并附上更新正确性的零知识证明;然后从最后更新完成的集合l选出一Com(k′;r),其中k′为k1L,…,knL中某一个值;r由所述委员会和初始登记k′的参与方共同决定;
验证领导者阶段:领导人Pj公布自己的秘密kj,其他参与方公开验证(kjL,kjR)←H(kj),令(u,v)=com(k′;r),验证
Figure FDA0003417626870000012
是否成立,如果成立,则领导人Pj身份认证通过。
2.根据权利要求1所述的方法,其特征在于,所述承诺值为
Figure FDA0003417626870000011
其中g为群G的生成元。
3.根据权利要求1所述的方法,其特征在于,所述零知识证明πi的生成方法为:πi←NIZK.Prove(crs,com(kiL;ri);(kiL,ri))。
4.根据权利要求1所述的方法,其特征在于,所述秘密ki∈{0,1}λ,λ为安全参数。
5.根据权利要求1所述的方法,其特征在于,利用公开随机数从集合l内各承诺值对应的参与方中选择一个委员会;利用公开随机数从最后更新完成的集合l选出选出一Com(k′;r),其中k′为k1L,…,knL中一个值。
6.根据权利要求5所述的方法,其特征在于,所述随机数由密码学随机数Beacon定期发布。
7.根据权利要求1所述的方法,其特征在于,通过哈希函数H计算得到参与方Pi的证据(kiL,kiR)←H(ki)。
CN202111551173.9A 2021-12-17 2021-12-17 一种高效的秘密唯一领导人选举方法 Active CN114444090B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111551173.9A CN114444090B (zh) 2021-12-17 2021-12-17 一种高效的秘密唯一领导人选举方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111551173.9A CN114444090B (zh) 2021-12-17 2021-12-17 一种高效的秘密唯一领导人选举方法

Publications (2)

Publication Number Publication Date
CN114444090A true CN114444090A (zh) 2022-05-06
CN114444090B CN114444090B (zh) 2023-06-20

Family

ID=81363925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111551173.9A Active CN114444090B (zh) 2021-12-17 2021-12-17 一种高效的秘密唯一领导人选举方法

Country Status (1)

Country Link
CN (1) CN114444090B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019232789A1 (zh) * 2018-06-08 2019-12-12 北京大学深圳研究生院 一种基于投票的共识方法
CN111798234A (zh) * 2020-06-03 2020-10-20 中国科学院信息工程研究所 一种轻量级区块链系统及构造方法
CN112329051A (zh) * 2020-10-23 2021-02-05 中国科学院数据与通信保护研究教育中心 一种安全高效的共识机制实现方法及系统
CN112487468A (zh) * 2020-12-21 2021-03-12 暨南大学 基于区块链的可追踪的完全匿名电子投票方法及系统
CN113300835A (zh) * 2021-04-22 2021-08-24 中国科学院信息工程研究所 一种加密方案接收者确定方法、主动秘密分享方法
CN113381991A (zh) * 2021-06-04 2021-09-10 福州大学 基于区块链的电子投票系统及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019232789A1 (zh) * 2018-06-08 2019-12-12 北京大学深圳研究生院 一种基于投票的共识方法
CN111798234A (zh) * 2020-06-03 2020-10-20 中国科学院信息工程研究所 一种轻量级区块链系统及构造方法
CN112329051A (zh) * 2020-10-23 2021-02-05 中国科学院数据与通信保护研究教育中心 一种安全高效的共识机制实现方法及系统
CN112487468A (zh) * 2020-12-21 2021-03-12 暨南大学 基于区块链的可追踪的完全匿名电子投票方法及系统
CN113300835A (zh) * 2021-04-22 2021-08-24 中国科学院信息工程研究所 一种加密方案接收者确定方法、主动秘密分享方法
CN113381991A (zh) * 2021-06-04 2021-09-10 福州大学 基于区块链的电子投票系统及方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
唐春明 等: "一种实用的可验证秘密共享方案" *
窦家维 等: "高效的集合安全多方计算协议及应用" *
窦家维;刘旭红;周素芳;李顺东;: "高效的集合安全多方计算协议及应用", 计算机学报 *

Also Published As

Publication number Publication date
CN114444090B (zh) 2023-06-20

Similar Documents

Publication Publication Date Title
Ziegeldorf et al. Coinparty: Secure multi-party mixing of bitcoins
Boneh et al. Single secret leader election
CN109905247B (zh) 基于区块链的数字签名方法、装置、设备及存储介质
Avoine et al. A terrorist-fraud resistant and extractor-free anonymous distance-bounding protocol
CN108777616B (zh) 一种抗量子计算机攻击的电子选举方法、管理装置和电子选举系统
CN113111373B (zh) Vbft共识机制的随机数生成方法和共识机制系统
CN111709749A (zh) 一种具有条件隐私保护的可追踪区块链交易系统
Chakrabarti et al. Password-based authentication: Preventing dictionary attacks
Wang et al. Randchain: Practical scalable decentralized randomness attested by blockchain
CN111010280A (zh) 一种基于群签名的可监管区块链构造方法
Bultel et al. A prover-anonymous and terrorist-fraud resistant distance-bounding protocol
CN113037462A (zh) 一种基于区块链和安全多方计算的公平电子投票协议方法
Taher et al. Enhanced cryptocurrency security by time-based token multi-factor authentication algorithm
Gurkan et al. Community proposal: Semaphore: Zero-knowledge signaling on ethereum
Shunmuganathan A reliable lightweight two factor mutual authenticated session key agreement protocol for multi-server environment
LU100142B1 (en) Electronic communication and access-control method
CN112787810A (zh) 基于区块链和安全多方计算的电子投票选举方法及装置
Zheng et al. Achieving liability in anonymous communication: Auditing and tracing
Maitra et al. Analysis and enhancement of secure three-factor user authentication using Chebyshev Chaotic Map
CN114444090B (zh) 一种高效的秘密唯一领导人选举方法
Abiega-L’Eglisse et al. A New Fuzzy Vault based Biometric System robust to Brute-Force Attack
Fiore et al. Partitioned group password-based authenticated key exchange
Ali et al. Defensive strategies against PCC attacks based on ideal (t, n)-secret sharing scheme
Ribeiro et al. Quantum blind signature with an offline repository
CN114050905B (zh) 一种物联网群组的固件异步认证方法

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