收藏 分销(赏)

结合简短可链接环签名的智能合约选举方案_王杰昌.pdf

上传人:自信****多点 文档编号:284406 上传时间:2023-06-30 格式:PDF 页数:10 大小:1.78MB
下载 相关 举报
结合简短可链接环签名的智能合约选举方案_王杰昌.pdf_第1页
第1页 / 共10页
结合简短可链接环签名的智能合约选举方案_王杰昌.pdf_第2页
第2页 / 共10页
结合简短可链接环签名的智能合约选举方案_王杰昌.pdf_第3页
第3页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、Computer Engineering and Applications计算机工程与应用2023,59(6)区块链1技术目前在国内越来越受到人们的重视,作为区块链2.0的智能合约2更是受到大家的追捧,它是一种旨在以信息化方式传播、验证或执行合同的计算机协议,允许在没有第三方的情况下进行可信交易,这些结合简短可链接环签名的智能合约选举方案王杰昌1,张平2,段莹3,刘玉岭4,王小伟11.郑州大学 体育学院 体育大数据中心,郑州 4500002.河南科技大学 数学与统计学院,河南 洛阳 4710233.郑州航空工业管理学院 智能工程学院,郑州 4500034.中国科学院 信息工程研究所,北京 10

2、0190摘要:目前一些电子选举协议利用可链接环签名或一次性环签名来保护投票者的隐私,并防止重复投票的情况发生,但签名大小随投票人数的增大而增大,而简短可链接环签名大小始终固定不变,但已有简短可链接环签名算法效率较低。针对这些问题,利用累加器和基于知识证明的签名,构造新的高效的简短可链接环签名,结合匿名地址及星际文件系统,提出一种新的智能合约选举方案,分别设计了选举的创建、投票、计票等阶段的操作。对方案的不可伪造性、可链接性、匿名性、隐私性、公开验证性以及运行效率进行了证明和分析。最后进行了实验仿真评估,结果显示,随着投票者人数的增大,该方案选票的签名大小及Gas消耗保持不变且较少,生成时间及验

3、证时间增长缓慢且较少。关键词:简短可链接环签名;智能合约;电子选举;匿名地址;星际文件系统文献标志码:A中图分类号:TP309.2doi:10.3778/j.issn.1002-8331.2111-0405Smart Contract Election Scheme with Short Linkable Ring SignaturesWANG Jiechang1,ZHANG Ping2,DUAN Ying3,LIU Yuling4,WANG Xiaowei11.Sports Big Data Center,Physical Education College of Zhengzhou Uni

4、versity,Zhengzhou 450000,China2.School of Mathematics and Statistics,Henan University of Science and Technology,Luoyang,Henan 471023,China3.School of Intelligent Engineering,Zhengzhou University of Aeronautics,Zhengzhou 450003,China4.Institute of Information Engineering,Chinese Academy of Sciences,B

5、eijing 100190,ChinaAbstract:At present,using linkable ring signatures or one-time ring signatures,some electronic election protocols pro-tect the privacy of voters,and prevent voting repeatedly.However,the size of the signature increases with the number ofvoters,while the size of the short linkable

6、ring signature remains constant,but existing short linkable ring signatures areinefficient.To solve these problems,using accumulator and signatures based on proofs of knowledge,new efficient shortlinkable ring signatures are constructed,and combining signatures with the anonymous address and IPFS,a

7、new smartcontract election scheme is proposed.The operations of election setup,voting and counting phases are designed respec-tively.The unforgeability,linkability,anonymity,privacy,public verifiability and operational efficiency of the scheme areproved and analyzed.Finally,an experimental simulatio

8、n evaluation is carried out,and the results show that with theincrease of voters,the signature size and Gas cost of the ballot are less and constant,and the generation time and verifica-tion time are less and increase slowly.Key words:short linkable ring signatures;smart contract;electronic election

9、;stealth address;interplanetary file system基金项目:国家自然科学基金(61802404);国家重点研发计划课题(2018YFC0824801);河南省科技攻关项目(212102310264,202102310323)。作者简介:王杰昌(1985),男,硕士,讲师,研究方向为信息安全、区块链、大数据;张平(1976),男,博士,副教授,CCF会员,硕士生导师,研究方向为信息安全与密码学;段莹(1983),女,博士,副教授,CCF会员,研究方向为物联网安全,E-mail:;刘玉岭(1982),男,博士,硕士生导师,高级工程师,CCF高级会员,研究方向为网

10、络安全态势感知;王小伟(1979),女,高级实验师,研究方向为信息安全、区块链。收稿日期:2021-11-22修回日期:2022-01-24文章编号:1002-8331(2023)06-0258-102582023,59(6)交易可追踪且不可逆转。电子选举是一种新型线上选举模式,较传统的线下模式具有公正性、公平性、经济性等诸多优势。在智能合约上进行选举可确保整个选举过程公开3、透明4、可追溯5。可链接环签名(linkable ring signatures,LRS)6是满足自发性、匿名性及可链接性的一种环签名,不少电子选举协议利用LRS来保护投票者的隐私,同时防止重复投票的情况发生,但是随着环

11、成员的增多,单个签名的大小也在增大;一次性环签名7也具有同样的特点,该签名生成类似可链接标签的密钥镜像,确保投票人只能对选票签名一次,从而避免重复投票,但是其单个签名的大小随环成员数的增大而增大。而简短可链接环签名(short linkable ring signatures,SLRS)8-9先使用累加器对公钥环进行累加计算,然后再进行签名,不仅保留了LRS的一些特性,而且还具有以下特点:(1)系统接受的每一张选票都来自一个有效用户,(2)投票者可以检查他的选票是否被区块链统计,(3)随着投票者数目的增加,单个签名的大小保持不变10。侯红霞等11提出了素数阶上基于非对称对的身份基环签名,采用对

12、偶系统加密技术实现了标准模型下的可证明安全性;王启宇等12提出一种批量验证的可链接环签名方案,实现了签名的批量验证;为了推动国产密码算法在区块链系统的应用,范青等13提出了基于SM2数字签名算法的环签名和可链接环签名;但是这些方案的签名大小均会随环成员的增多而增大。范家幸等14基于门限环签名,提出了区块链上的分级匿名表决方案,实现了表决的保密性、不可重复性、可验证性等,但投票过程中要求CA完全可信,实用性不强。Kyazhin等15利用可链接环签名、Idemix、Hyperledger Fabric区块链构建了一个去中心化匿名的电子投票系统,实现了投票的不可重复性、匿名性、可验证性等,但签名大小

13、随环成员的增多而增大,Hyperledger对于复杂合约的支持能力十分受限。Lyu等16利用可链接环签名及门限加密设计了一个基于智能合约的去中心化、无信任的电子投票系统,确保了投票结果的可信度,解决了投票过程中的一些安全问题,但签名大小随投票人数的增大而增大,且计算消耗的Gas较多,运行时间较长。Lai等17将白皮书CryptoNote v2.07中一次性环签名和匿名地址技术应用到区块链电子投票中,提出DATE方案,但是一次性环签名计算开销较大,且随着投票者人数的增多,签名大小也随之增大,上传签名选票至区块链所消耗的Gas也随之增多。郑剑等18改进了 DATE方案的密钥协商算法,同时将签名选票

14、上传至星际文件系统(interplanetaryfile system,IPFS),只将选票索引上传至智能合约,从而节省了Gas,但是其同样采取一次性环签名,计算开销也较大,且随着投票者的增多,其签名占据的存储也随之增大。Au等9基于QR(N)上的DDH问题、LD-RSA问题及SRSA问题构造了一个简短可链接环签名,随着环成员的增多,签名大小不变;但困难问题假设太多,不太实用,而且效率比较低。王玲玲等19基于q-SDH问题及椭圆曲线离散对数问题,提出了一个适用于电子现金协议的简短可链接环签名方案,但是签名过程中用到大量的双线性对运算,严重影响其效率。Yu等10利用消息编码、Paillier同态

15、加密、Au等9的简短可链接环签名,提出了一个独立平台的安全的区块链投票系统,效率比较低。综上所述,一些学者利用可链接环签名或一次性环签名在区块链上进行电子投票,但签名大小随投票人数的增大而增大,简短可链接环签名不存在该问题,但已有SLRS算法8-9,19效率较低。为解决上述问题,提出一种新的结合高效简短可链接环签名的智能合约选举方案,主要贡献如下:(1)摒弃了已有简短可链接环签名8-9,19低效的运算(大量的模幂运算和双线性对运算),利用累加器和SPK(signatures based on proofs of knowledge)技术,基于椭圆曲线离散对数这一个困难假设,构造了新的高效的简短

16、可链接环签名(efficient short linkable ring signatures,ESLRS)。(2)构造智能合约选举系统模型,定义模型中各实体角色。(3)利用ESLRS,结合匿名地址及IPFS20-22,提出一种新的智能合约选举方案,分别设计了选举的创建、投票、计票等阶段的算法操作。随着投票者数量的增加,选票签名大小保持不变,节省了存储空间及Gas,同时提高了计算效率。1预备知识1.1椭圆曲线上的离散对数问题在椭圆曲线Ep(a,b)上考虑方程Q=kP,其中P,QEp(a,b),kp,p为素数,则由k和P容易求得Q,但是由P和Q求k则是困难的,这就是椭圆曲线上的离散对数问题23。

17、1.2累加器DA累加器DA24选取一个椭圆曲线循环群E,其中G1是其生成元。函数f的定义如下:f:EXEf:(G1,x)xG1其中X=xprimes,xZp。准交换性:它满足f(f(G1,x1),x2)=f(G1,x1,x2)=x1x2G11.3匿名地址电子选举一般要求选票的信息及中间结果在计票阶段之前不能公开,因此需对选票中候选者公钥信息进王杰昌,等:结合简短可链接环签名的智能合约选举方案259Computer Engineering and Applications计算机工程与应用2023,59(6)行隐藏,所以引入白皮书 CryptoNote v2.0中提出的不可链接支付技术7,用于隐藏

18、交易接收者的地址。若投票者要选候选人c,且c的两个椭圆曲线密钥对为(a,A)和(b,B),其中A=aG,B=bG,G为椭圆曲线的基点。投票者选择随机数r并利用c的公钥对(A,B)计算c的一次性公钥P=Hs(rA)G+B,其中Hs为一加密哈希函数0,1*Fq(q为素数);并且计算R=rG,选票以匿名地址(R,P)的形式提交至区块链,任何人无法根据(R,P)逆推出c的公钥对(A,B),即没人知道投票者选的是哪位候选人。只有拥有私钥对(a,b)才能推出一次性公钥P对应的私钥x=Hs(aR)+b,若xG=P则说明被投票者选的候选人是c。1.4基于知识证明的签名SPK通过设置挑战签名消息相关承诺的哈希值

19、,知识证明协议可转化为签名方案。在随机预言机模型中,这种签名方案已被证明在适应性选择消息攻击下具有存在性不可伪造性。它被称为基于知识证明的签名,简称SPK9,25。例如:SPK(x):y=gx(M)表示用y的离散对数的零知识证明对消息M进行签名。2系统模型及安全模型2.1系统模型本文的选举系统模型如图1所示,包含以下几个实体:选举组织者(election organizer,EO):登记投票人及候选人信息,创建合约,设置并上传选举相关信息;参与密钥协商。为了确保EO能诚实地履行其职责,他被要求预先交一笔费用作为保证金。投票者user(s):通过EO登记,根据智能合约上的候选人公钥生成选票并签名

20、,将选票上传至IPFS,之后将选票索引上传至智能合约。候选人candidate(s):通过EO登记,在计票阶段,参与密钥协商的候选人将私钥因子上传至智能合约公开。智能合约 contract:在选举创建阶段,接收并存储EO上传的投票者公钥列表、候选人公钥列表、关键时间节点等选举相关信息;在投票阶段,接收并存储投票者上传的投票者索引;在计票阶段,接收并存储EO及部分候选人的私钥因子,任何拥有合约地址的人均可查看智能合约上的信息,验证并统计选举结果。星际文件系统IPFS:存储签名的选票并向投票者返回选票索引;在计票阶段,查看选票的人需要通过合约上的索引,查找并读取IPFS上的选票。系统简单工作原理:

21、首先,EO创建合约,投票者及候选人通过EO登记选举,EO将选举相关信息上传至智能合约。然后,投票者根据候选人公钥生成选票并签名,将选票上传IPFS,IPFS返回选票索引,投票者将选票索引上传至智能合约。最后,参与密钥协商的候选人及EO将私钥因子上传至智能合约公开,任何拥有合约地址的人均可查看合约上的信息,并通过合约上的选票索引查看存在IPFS上的选票,验证并统计选举结果。2.2安全模型2.2.1不可伪造性不可伪造性26游戏如下:(1)系统建立:挑战者运行系统得到公开参数,并将公开参数发送给敌手T。(2)询问阶段:敌手T可以进行多项式次访问随机预言机。(3)伪造阶段:敌手T给出(msg,Y,),

22、若满足以下条件:Verify(msg,Y,)=Valid;敌手T未询问过环Y中任一用户的私钥;敌手T未发起过(msg,Y)的签名询问;环Y中任一用户的公钥均由挑战者给出。则敌手T赢得不可伪造性游戏,攻击者赢得游戏的优势定义为:AdvT=PrT wins。定义1 对于任意多项式时间敌手T,AdvT是可忽略的,则称该简短可链接环签名是不可伪造的。2.2.2可链接性可链接性游戏27如下:(1)系统建立:挑战者运行系统得到公开参数,并将公开参数发送给敌手T1。(2)询问阶段:敌手T1可以进行多项式次访问随机预言机。(3)伪造阶段:敌手T1给出两签名(msg1,Y1,(msg1),(msg2,Y2,(m

23、sg2),签名(msg1),(msg2)中分别包含相应的可链接标签y?1,y?2,若满足以下条件:Verify(msgi,Yi,(msgi)=Valid,i1,2;Link(msg1),(msg2)=Unlink,即y?1y?2;敌手T1未发起过(msg1,Y1),(msg2,Y2)的签名询问;智能合约contract候选人candidates投票者users选举组织者EOI PFS图1智能合约选举系统模型Fig.1Smart contract election system model2602023,59(6)环Y1,Y2中任一用户的公钥均由挑战者给出;敌手T1发起私钥询问的次数少于两次(敌

24、手T1至多拥有一个用户的私钥)。则敌手T1赢得可链接性游戏,攻击者赢得游戏的优势定义为:AdvT=PrT wins。定义2 对于任意多项式时间敌手T1,AdvT是可忽略的,则称该简短可链接环签名是可链接的。2.2.3匿名性匿名性游戏如下:(1)系统建立:挑战者运行系统得到公开参数,并将其发送给敌手T2。(2)询问阶段:敌手T2可用任何适应性策略进行公钥询问。(3)挑战阶段:敌手T2将消息msg,以及环Y=yi|i=0,1,n(环中任一公钥均由公钥询问得到),发送给挑战者。挑战者随机挑选0,1,n计算签名=Sign(Y,x,msg),其中x为公钥y对应的私钥,然后将发送给敌手T2。(4)猜测阶段

25、:敌手T2输出猜测0,1,n。若=,则敌手T1赢得可链接性游戏。攻击者赢得游戏的优势定义为AdvT2=|Pr=-1n+1。定义3 对于任意多项式时间敌手T2,AdvT2是可忽略的,则称该简短可链接环签名是匿名的。3选举方案本方案在以太坊智能合约上开展投票及存储必要信息。以太坊区块链的Gas上限的设置,导致其不能负担太复杂的运算,本方案只在以太坊上存储选票的索引。本文的投票方案可以分成选举创建阶段、投票阶段、计票阶段。3.1选举创建阶段本阶段选举组织者EO应将以下选举相关信息上传至以太坊智能合约上公开:(1)投票者公钥列表Y选举组织者EO公布ESLRS参数param:Zq上的椭圆曲线E,基点G,

26、密钥的长度,以及一个随机生成器G?E。投票者根据ESLRS参数param随机选取xiZq作为其私钥,计算yi=Qix=xiGx作为其公钥,其中Qx表示取Q点的横坐标值,生成公私钥对(ski,pki)=(xi,yi)。然后投票者将yi发送给 EO,EO 对投票者资格进行审核。通过审核的yi被收录进集合Y=yi|i=0,1,n中,否则被丢弃;合法的投票者组成投票者集合U=ui|i=0,1,n。(2)候选人公钥列表A,B1,Bm及改进的密钥协商算法候选人需通过EO审核并登记公钥,若投票者ui要选候选人cj(j=1,2,m),则他需要根据cj的公钥对(Aj,Bj)生成匿名地址,他先选择随机数ri1,l

27、-1,l为基点G的阶,计算:Ri=riGPi=Hs(riAj)G+Bj(1)则ui为cj(j=1,2,m)生成的匿名地址,为(Pi,Ri)。在计票阶段候选人需公开私钥(aj,bj)以便验证选票是否属于他,则验证计算:x=Hs(ajRi)+bj(2)xG=(Hs(ajRi)+bj)G=Hs(ajriG)G+bjG=Hs(riAj)G+Bj=Pi(3)若上式成立,选票属于cj,其得票数加1。然而这样检验选票时会有很多重复计算,为了简化计算,可指定所有候选人的第一个公私钥对(aj,Aj)统一为(a,A)。这样计算:Ri=riGPi=Hs(riA)G+Bj(4)则ui为cj(j=1,2,m)生成的匿名

28、地址记为Vi=(Pi,Ri),验证计算:x=Hs(aRi)+bj(5)xG=(Hs(aRi)+bj)G=Hs(aRi)G+bjG=Hs(aRi)G+Bj=Hs(ariG)G+Bj=Hs(riA)G+Bj=Pi(6)即Hs(aRi)G+Bj=Pi。若上式成立,则选票Vi=(Pi,Ri)属于cj。从上式可知,在选票验证时不需要私钥bj,知道对应的公钥Bj即可。为了提高效率,需要两人以上为所有候选人共享他们的第一个私钥。EO从所有m个候选人cj中随机选择个候选人cj1,cj2,cj来共同生成第一个公私钥对,其中的选择要兼顾安全和效率因素,1m。EO和被随机选中的候选人cj1,cj2,cj分别选择随机

29、数EO,j1,j2,j作为私钥因子,EO 公布EOG,接着候选人cj1计算EOj1G并公布,以此类推,直到cj计算并公布第一个共享公钥A=EOj1j2jG,EO和候选人cj1,cj2,cj先秘密保存其私钥因子,直到计票阶段才发送至智能合约公开。为了确保候选人cj1,cj2,cj在计票阶段能诚实地公开他们的私钥因子,他们被要求预存一定的费用作为保证金。(3)选举关键时间节点tsetup,tvote,ttally在tsetup之后,EO开始收集投票者公钥及候选人公钥并编写选举合约代码,创建以太坊智能合约,需在tvote王杰昌,等:结合简短可链接环签名的智能合约选举方案261Computer Eng

30、ineering and Applications计算机工程与应用2023,59(6)之前将这些信息上传至区块链。tvote和ttally之间为投票阶段,ttally之后为计票阶段。3.2投票阶段合法的投票人u(uU,0,n)都有一个与存储在投票人列表Y上的公钥y相关联的私钥x,并从以太坊智能合约上读取公共信息Y,A,B1,B2,Bm,tsetup,tvote,ttally,tend等。3.2.1生成选票匿名地址在tvote之后,u根据(A,B1,B2,Bm)计算cj的匿名地址,选择随机数r1,l-1,计算:R=rGP=Hs(rA)G+Bj(7)则u为cj生成的选票为V=(P,R)。3.2.2

31、选票签名为了生成其选票V的签名,u利用其私钥sk=x及公钥列表Y=yi|i=0,1,n进行如下计算:(1)利用累加器DA计算证据w=f(G1,Yy)=i=0,inyiG1(8)其中,点G1E为所有投票者选定的公共参数;然后计算:v=f(w,y)=yw=i=0nyiG1(9)(2)计算基于知识证明的签名SPK(w,y,x):w=i=0,inyiG1y=Qx=xGx(V)(10)将CAMENISH和STADLER所提出的知识证明签名SPK25推广至椭圆曲线上,即证明者想向验证者证明他知道椭圆曲线离散对数x以及y和w的知识,并通过以下协议实现:证明者:随机选取kZq,计算|Qk=kGz=H(V,G,

32、Q,Qk)d=k-zx(modq)(11)其中,H:0,1*Zq,为与Hs运算量相当的哈希函数,然后传送(Qk,z,d)给验证者。验证者:检验z=?H(V,G,z-1Qk-z-1dG,Qk)(12)若通过验证,即:H(V,G,z-1Qk-z-1dG,Qk)=H(V,G,z-1(kG-dG),Qk)=H(V,G,z-1zxG,Qk)=H(V,G,Q,Qk)=z则验证者确定证明者掌握秘密(w,y,x)。此处称(Qk,z,d)为签名者根据(w,y,x)对消息V进行的知识签名:SPK(w,y,x):w=i=0,inyiG1y=Qx=xGx(V)=(Qk,z,d)(13)(3)计算可链接标签y?=xG?

33、x,最后可得选票V的签名为:=(v,y?,SPK)=(v,y?,Qk,z,d)(14)3.2.3上传选票签名的选票为(V,)=(V,v,y?,Qk,z,d),投票者u将更换一个新的以太坊账户,将签名选票(V,)发送至IPFS系统并返回索引,然后将返回的选票索引上传至智能合约。3.3计票阶段在ttally之后,智能合约不再接受投票者的选票,EO和候选人cj1,cj2,cj公布其私钥因子EO,j1,j2,j。在计票阶段每个参与者的隐私都受到环签名机制的保护,任何拥有合约地址的人,均可查看智能合约上的所有选举相关信息,并且利用选票索引查看IPFS上的签名选票,进而通过以下计算自行验证统计选票结果:(

34、1)有任意两张选票(V1,1)=(P1,R1,v1,y?1,Qk1,z1,d1)(V2,2)=(P2,R2,v2,y?2,Qk2,z2,d2)若y?1=y?2,则两张选票为同一投票者生成的,即有人重复投票,这两张选票作废;否则进入下一步。(2)验证v=?f(G1,Y)=i=0nyiG1(15)以及(Qk,z,d)相对于等式(10)表示的SPK的有效性,即验证z=?H(V,G,z-1Qk-z-1dG,Qk);若这两个条件有任一条件不满足,则签名验证未通过,选票作废;否则进入下一步。(3)计算共享私钥a=EOj1j2j,并根据候选人公钥列表A,B1,B2,Bm及选票Vi=(Pi,Ri),验证计算H

35、s(aRi)G+Bj=Pi,即Pi-Hs(aRi)G=Bj,若BjB1,B2,Bm,则选票Vi=(Pi,Ri)属于候选人cj,其选票数加1;否则该选票作废。以此类推,最终可统计出所有候选人的选票数。由于受以太坊上每个区块Gas上限的制约,可能无法直接在以太坊智能合约上统计选票。然而若网络上的每个实体对计票方法达成一致(计票方法可在选举前在区块链上进行定义),那么选举结果将是相同的。4安全性分析4.1不可伪造性定理1 如果求解椭圆曲线上的离散对数问题是困难的,那么在随机预言机模型下,选票的简短可链接环签名是不可伪造的。2622023,59(6)证明 采用反证法,具体来说,设H是随机预言机,假设存

36、在一个敌手T至多进行qH次H询问,以的优势攻破简短可链接环签名机制,那么一定存在模拟器S至少以AdvS(1-e-1)qH的优势求解一个椭圆曲线离散对数问题的实例。设模拟器S欲求出y(=xGx)的椭圆曲线离散对数x,首先模拟器S运行系统,将得到的公开参数Y,G,G?,G1发送给敌手T。设H是随机预言机,T至多进行qH次H询问,V为选票。设W1=(V1,Q1,Q(1)k),W2=(V2,Q2,Q(2)k),WqH=(VqH,QqH,Q(qH)k)是T对H所做qH次H询问,1,2,qH是H的qH次应答,设T在询问-应答完成后,能以的概率输出一个有效的签名(v,y?,Qk,z,d),由于H(V,G,Q

37、,Qk)是随机的,(V,Q,Qk)等于某个询问(设为W)的概率为1/qH。又设T仍以W1=(V1,Q1,Q(1)k),W2=(V2,Q2,Q(2)k),WqH=(VqH,QqH,Q(qH)k)询问H,但得到的应答是1,2,qH,T以的概率输出另一个有效的签名(v,y?,Qk,z,d),其中zz,(V,Q,Qk)等于某个询问(设为W)。若(V,Q,Qk)等于W且=(即(V,Q,Qk)=(V,Q,Qk),此时y?=y?),则在询问-应答链表上找到一个分叉。设事件Event1:(V,Qk)等于W;事件Event2:=,为H的一个碰撞;事件Event:找到一个分叉。则:PrEvent=PrEvent1

38、Event2=PrEvent1PrEvent2|Event1=1qH1-(1-1qH)qH(1-e-1)1qH所以敌手T能以(1-e-1)/qH的概率输出两个有效的签名(v,y?,Qk,z,d)和(v,y?,Qk,z,d),其中zz。根据简短可链接签名机制,S可获得:d=k-zx(modq)d=k-zx(modq)两式相减可得:x=(z-z)-1(d-d)(modq)所以S以(1-e-1)/qH的概率求出y的椭圆曲线离散对数,这与已知困难问题相矛盾,定理得证。4.2可链接性定理2 若本方案签名是不可伪造的,在随机预言机模型下,对于任意多项式时间敌手T1,本方案签名满足可链接性。证明 根据可链接

39、性的定义,假设敌手T1能以不可忽略的优势赢得定义2中的游戏,则敌手T1将与挑战者S1进行如下交互:(1)挑战者S1运行系统,得到公开参数Y,G,G?,G1,并将其发送给敌手T1。(2)敌手T1可以进行多项式次的访问预言机,包括哈希询问、私钥询问及签名询问,S1将询问结果返回给T1。私钥询问:T1可以选择yiY进行询问,S1将其对应的私钥xi返回给T1,满足yi=xiGx;哈希询问:T1选择kZq,Qk=kG,msg,G,Qi=xiG进行询问,S1随机选择zZq,令z=H(msg,G,Qi,Qk),并将z返回给T1;签名询问:T1选择环Y,用户公钥yiY和消息msg发送给S1进行询问,S1运行3

40、.2.2小节的签名算法,用yi对应的私钥xi进行签名,并将签名结果(msg)返回给T1。(3)敌手T1给出两个签名(msg1)=(v1,y?1,Qk1,z1,d1)及(msg2)=(v2,y?2,Qk2,z2,d2),Link(msg1),(msg2)=Unlink。假设敌手T1能在仅持有一个私钥的情况下以不可忽略的优势生成两个环签名(msg1),(msg2),并且Verify(msgi,Yi,(msgi)=Valid,i1,2,因为本文提出的简短可链接环签名具有不可伪造性,所以只有当敌手T1诚实地按签名机制生成(msg1),(msg2)时,这两个签名才能通过验证返回Valid。另一方面,有y

41、?1=x1G?x,y?2=x2G?x,因为敌手T1仅拥有一个私钥,则有x1=x2,进一步x1G?=x2G?,最终得出y?1=y?2,这表明Link(msg1),(msg2)=Link。这与假设相矛盾,敌手T1的优势是可忽略的。定理得证。因此本方案中一个投票者只能在一张选票上签名,并且只能投一次票,投票的不可重复性通过签名的可链接特性得到保证。4.3匿名性定理3 本方案具备匿名性。证明 根据匿名性游戏的定义,敌手T2将与挑战者S2进行如下交互:(1)系统建立:S2运行系统得到公开参数G,G?,G1,并将其发送给敌手T2。(2)询问阶段:敌手T2可用任何适应性策略进行公钥询问,从S2处得到环Y。(

42、3)挑战阶段:敌手T2将消息msg,以及环Y=yi|i=0,1,n,发送给挑战者。挑战者随机挑选0,1,n计算签名=Sign(Y,x,msg)=(v,y?,Qk,z,d),其中x为公钥y对应的私钥,然后将发送给敌手T2。(4)猜测阶段:敌手T2输出猜测0,1,n。对于S2生成的合法签名=(v,y?,Qk,z,d),首先来看v的产生,v=f(w,y)=yw=i=0nyiG1,无论S2挑选哪一个公钥yiY进行计算,所有的v值均一样。王杰昌,等:结合简短可链接环签名的智能合约选举方案263Computer Engineering and Applications计算机工程与应用2023,59(6)其

43、次,可链接标签y?=xG?x,私钥x为从Zq中随机选取,xG?随机分布于椭圆曲线E上,y?在Zq中也具有随机性。由于椭圆曲线离散对数问题,敌手T2无法计算出私钥x。再次,Qk=kG,k从Zq中随机选取,所以Qk随机分布于椭圆曲线E上;另外z=H(V,G,Q,Qk)且H:0,1*Zq,因此z随机分布于Zq中;d=k-zx(modq),由于k,z,x均随机分布于Zq中,所以d也随机分布于Zq中。综上可知,由于=(v,y?,Qk,z,d)中v值均一样,其他参数都具有随机性,对于敌手T2,由签名信息输出猜测=的概率仅为1/(n+1),AdvT2是可忽略的,因此本方案具备匿名性。4.4隐私性对选票的隐私

44、性进行分析,由匿名地址的性质可知,任何人无法根据选票(R,P)逆推出候选人的公钥B,即没人知道投票者选的是哪位候选人,由此其隐私性得以确保。4.5公开验证性选举结束后,所有信息均被公开存储在区块链上,投票者均可核实他们的选票是否被正确记录,候选人也均可核对自己和竞争者的票数;另外,任何拥有合约地址的人均可验证所有选票的统计是否正确。5效率分析因本方案与DATE方案17及郑剑等18的方案均是使用匿名地址生成选票,最主要的区别在于对选票的签名,本方案使用新的简短可链接环签名,而DATE方案及郑剑等方案采用一次性环签名,因此本文仅就方案的签名算法效率进行对比分析。由于椭圆曲线点乘运算(例如kG,G为

45、椭圆曲线上的点)、椭圆曲线点加运算(例如G+Q,G,Q为椭圆曲线上的点)、求逆运算、哈希函数运算的计算开销远远高于普通的加减乘除运算,因此在对比分析中以椭圆曲线点乘运算、椭圆曲线点加运算、哈希函数运算为主要衡量指标。哈希运算包括H、Hs、Hp,其中Hp:E(Fq)E(Fq),因H和Hs运算量相当,所以在下面的分析中均用H表示。表 1为 DATE方案17、郑剑方案18及本文方案签名算法在生成签名阶段的主要运算对比,生成签名阶段包括生成密钥及签名。DATE方案和郑剑方案需(5n+4)次椭圆曲线点乘运算、2n次椭圆曲线点加运算、(n+2)次Hp运算及1次H运算,而本方案在签名阶段仅需要(n+5)次椭

46、圆曲线点乘运算及1次H运算。显然本文方案的效率最高,并且随着n的增大,与DATE及郑剑方案相比,本文方案的主要计算开销增速较缓。表2为DATE方案17、郑剑方案18及本文方案签名算法在验证阶段的主要运算对比,显然本文方案的效率最高,并且随着n的增大,DATE及郑剑方案的主要计算开销也在增大,而本文方案的不变,较DATE及郑剑方案优势更明显。6实验评估本文的实验环境部署如下:(1)用本地四台服务器作为节点部署以太坊私有链,使用truffle框架进行智能合约的管理、编译、调试和部署,服务器配置均为:CentOS 7.7系统、16 GB内存、8vCPU、1T硬盘。(2)用本地另外四台服务器组成私有I

47、PFS集群,利用 go-ipfs客户端搭建并部署测试环境,服务器配置均为:Ubuntu 18.04系统、go-ipfs 0.6.0、8 GB内存、4vCPU、2T硬盘。(3)选举系统在配置为Win10系统、英特尔酷睿i7-10700CPU、16 GB内存、256 GB固态硬盘、1 TB机械硬盘的计算机上基于 Node.js的 Web框架 Express进行开发,使用Web3.js调用以太坊智能合约,通过ipfs-api调用IPFS的接口。EO、投票者、候选人通过Web界面与智能合约进行交互,实验中共有13位候选人参与选举。6.1签名大小表3为各方案单个选票签名大小统计,图2为在表3数据基础上用

48、Python画出的各方案签名大小对比图。方案DATE方案郑剑等方案本文方案点乘5n+45n+4n+5点加2n2n0Hpn+2n+20H111表1各方案在生成签名阶段的计算开销对比Table 1Comparison of computations of each schemein signature generation phase方案DATE方案郑剑方案本文方案点乘4(n+1)4(n+1)3点加2(n+1)2(n+1)1求逆001Hpn+1n+10H111表2各方案在验证阶段的计算开销对比Table 2Comparison of computations of each schemein si

49、gnature verification phase投票人数51015202530签名大小/KBDATE方案0.5129.85919.65429.40537.42644.652郑剑等方案0.5129.85919.65429.40537.42644.652本文方案0.3660.3660.3660.3660.3660.366表3各方案单个选票签名大小统计Table 3Statistics of ballot signature size of each scheme2642023,59(6)由图2可以看出,随着投票人数的增大,本文方案的签名大小一直保持为0.366 KB,而DATE方案和郑剑方案的

50、签名大小从最开始的 0.512 KB 递增至最后的44.652 KB。之所以会出现这种现象,是由一次性环签名和简短可链接环签名的特性所致,前文已有说明,此处不再赘述。6.2Gas消耗表4为各方案每张选票Gas消耗统计,图3为在表4数据基础上用Python画出的各方案每张选票Gas消耗对比图。图3中,随着投票人数的增大,DATE方案的Gas消耗从 152 123 递增至 378 121。郑剑等方案 Gas 消耗一直保持在61 836不变,本文方案Gas消耗则一直保持在53 236不变。从图中可以看出,本文方案Gas消耗是最少的,且随着投票者人数的增大保持不变。将数据保存在智能合约上要比保存在区块

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服