CN109785494A - 基于区块链的可追踪的匿名电子投票方法 - Google Patents

基于区块链的可追踪的匿名电子投票方法 Download PDF

Info

Publication number
CN109785494A
CN109785494A CN201811569059.7A CN201811569059A CN109785494A CN 109785494 A CN109785494 A CN 109785494A CN 201811569059 A CN201811569059 A CN 201811569059A CN 109785494 A CN109785494 A CN 109785494A
Authority
CN
China
Prior art keywords
algorithm
user
ballot
block chain
num
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
CN201811569059.7A
Other languages
English (en)
Other versions
CN109785494B (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.)
Jinan University
University of Jinan
Original Assignee
Jinan University
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 Jinan University filed Critical Jinan University
Priority to CN201811569059.7A priority Critical patent/CN109785494B/zh
Priority to PCT/CN2019/079695 priority patent/WO2020124843A1/zh
Priority to GB2105631.2A priority patent/GB2592785A/en
Publication of CN109785494A publication Critical patent/CN109785494A/zh
Application granted granted Critical
Publication of CN109785494B publication Critical patent/CN109785494B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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
    • 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
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C13/00Voting apparatus
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Abstract

本发明公开了一种基于区块链的可追踪的匿名电子投票方法,该方法基于区块链平台,用户通过对选票进行匿名认证,并利用一次性区块链地址进行投票,整个投票过程不泄露用户身份,进而保护了用户隐私。此外,当恶意用户投票两次时,能根据公开信息追踪到该用户,从而在一定程度上限制了用户的恶意行为。与利用群签名和环签名实现匿名投票的方案不同,本发明改进了一种基于前缀的匿名认证方法,在保护用户隐私的前提下,减少了在链接选票和追踪用户时的计算量,提高了计算效率。此外,该投票方法可以保证选举过程透明、选票不可伪造、选举结果可验证等特性。本发明实用性强,易于推广和应用。

Description

基于区块链的可追踪的匿名电子投票方法
技术领域
本发明涉及密码学与信息安全领域,具体涉及一种基于区块链的可追踪的匿名电子投票方法。
背景技术
选举在现实社会中扮演了重要的角色,小到班级选举、董事会选举,大到国家范围的选举。传统的纸质投票浪费大量的人力、物力、财力,同时存在选票作假的风险。随后,电子投票应运而生。随着密码学加密方案逐渐应用到现实生活中,与密码学相结合的电子投票方案能在很大的程度上节省经济成本和计算成本,同时利用加密技术可以更好地保护选民隐私。当前,基于电子投票的加密方案主要基于同态加密、混合网络和盲签名技术。
电子投票的应用给人们的生活带来了极大地便利。但是,重复投票、欺诈选票、隐私泄露、计票不准、公平性等问题,一直是电子投票所要解决的问题。同时,选举委员会参与管理选举的权限过大,存在篡改选票、泄露选民隐私的风险。同时,存在选举过程不公开透明,计票结果不能验证、计算量大等问题。而通过匿名认证、区块链技术等相结合的电子投票方案,为解决以上存在的问题提供了较为理想的解决方案。
区块链技术是从比特币分布式账本衍生而来,具有去中心化、不可篡改、可验证的特性。将选票数据记录在区块链中,可以保证数据的真实可靠性而不被篡改,能在很大程度上保证选举结果的真实性。匿名认证是对消息的认证技术,通过认证而不泄露认证者的身份;而可链接性是一种链接已参与活动的有效手段,可以用于有效检测用户不端行为。区块链为用户提供了类似于假名的匿名地址,可以隐藏用户的真实身份,用户可以通过自己的公钥生成具有匿名特性的区块链地址当作自己的账户地址。选民通过将选票加密后,以交易的形式将其存储在区块链上,使得在投票过程中用户匿名、选票真实可验证而不可伪造,保证了选举结果真实有效。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,提供一种基于区块链的匿名电子投票方法。
本发明的目的可以通过采取如下技术方案达到:
一种基于区块链的可追踪的匿名电子投票方法,所述的匿名电子投票方法包括:
S1、公共参数生成步骤,通过参数生成算法Setup(1λ),输入安全参数1λ,输出系统的公共参数PP和主公私钥对(MPK,MSK),其中,MPK为主公钥,MSK为主私钥,λ是普通的正整数;
S2、用户注册步骤,用户Vi向认证中心提交个人信息,通过证书生成算法CertGen(MS K,pki),输入主私钥MSK和用户Vi的公钥pki,输出证书certi,其中,i是普通的正整数;
S3、加密选票步骤,通过加密算法Enc(mi,epk),输入消息mi和加密公钥epk,输出密文Ci,其中,mi表示选票内容,Ci表示加密选票;
S4、选票匿名认证步骤,通过认证算法Auth(Num||Ci,pki,ski,cert i,PP),输入选举标识号Num、加密选票Ci、公私钥对pki和ski、证书certi以及公共参数PP,输出证明πi,其中,符号“||”表示将两个消息串联;
S5、投票步骤,将加密选票Ci和其对应的证明πi组合在一起,并投出(Cii);
S6、验票步骤,通过验证算法Verify(Num||Ci,πi,MPK,PP),输入选举标识号Num、加密选票Ci、证明πi、主公钥MPK以及公共参数PP,输出验证结果0或1;
S7、链接步骤,通过链接算法Link(C1,C2,π1,π2),输入两个加密选票C1和C2以及对应的两个证明π1和π2,输出链接结果0或1;
S8、追踪步骤,通过追踪算法Trace(π1,π2),输入两个证明π1和π2,输出求解到的公钥pki
S9、计票步骤,通过解密算法Dec(Ci,esk),输入加密选票Ci和解密私钥esk,输出明文mi,将有效选票汇总,统计投票结果。
进一步地,所述的步骤S1中,算法Setup(1λ)是密码学中一种常见的生成公共参数的算法,输入安全参数1λ,输出系统的公共参数PP和主公私钥对(MPK,MSK)。其中,λ是普通的正整数。具体算法实现可参考《现代密码学——原理与协议》中相关内容。
进一步地,所述的步骤S2中,算法CertGen(MS K,pki)是密码学中一种常见的数字签名算法,输入主私钥MSK和用户Vi的公钥pki,输出签名certi,即证书。具体算法实现可参考《现代密码学——原理与协议》中相关内容。
进一步地,所述的步骤S3中,算法Enc(mi,epk)是密码学中一种常见的加密算法,输入消息mi和加密公钥epk,输出密文Ci。具体算法实现可参考《现代密码学——原理与协议》中相关内容。
进一步地,所述的步骤S4中算法Auth(Num||Ci,pki,ski,certi,PP)是一种对消息Ci的认证算法,输入选举标识号Num,加密选票Ci,公私钥对pki和ski,证书certi以及公共参数PP,输出证明πi,其中,符号“||”表示将两个消息串联,本发明的Auth算法是对文献“ZebraLancer:Private and Anonymous Crowdsourcing System atop Open Blockchain”中的匿名认证方法的改进,具体如下:
S41、算法Auth首先计算两个标签t1和t2,即t1=H(Num,sk),t2=H(Num,ski)+Ci·pki,其中,Num是选举标识号,pki和ski分别是选民的公钥和私钥,Ci是加密选票,H是密码学中一种常见的Hash算法;
S42、算法Auth要求用户提供私有证据以证明公开知识是正确生成的,对于存在使得{CertVrfy(Certi,pki,MPK)=1∧pair(pki,ski)=1∧t1=H(Num,ski)∧t2=H(Num,ski)+Ci·pki}=1恒成立;其中,算法CertVrfy(certi,pki,MPK)是密码学中一种常见的签名验证算法,输入证书certi、公钥pki和主公钥MPK,输出验证结果0或1;算法pair(pki,ski)是密码学中一种常见的密钥验证算法,输入公钥pki和私钥ski,输出配对结果0或1;具体参考《现代密码学——原理与协议》中相关内容;
S43、算法Auth利用证明算法Prover对公开知识和私有证据给出证明结果η,其中,算法是zk-SNARK零知识证明方案中的证明算法,输入和PP,输出证明结果η。具体参考文献“How to Vote Privately Using Bitcoin”;
S44、算法Auth最后输出证明πi=(t1,t2,η)。
进一步地,所述的步骤S5中,用户将加密选票Ci和其对应的证明πi组合在一起,通过区块链地址以交易的形式将(Ci,πi)发送到区块链网络中。
进一步地,所述的步骤S6中,验证算法Verify(Num||Ci,πi,MPK,PP),输入选举标识号Num,加密选票Ci,证明πi、主公钥MPK以及公共参数PP,输出验证结果0或1,筛选出验证通过的选票;其中,验证通过的选票即输出验证结果为1,算法是zk-SNARK零知识证明方案中的验证算法,输入公开知识证明πi和公共参数PP,输出验证结果0或1,具体参考文献“How to Vote Privately Using Bitcoin”。
进一步地,所述的步骤S7中,算法Link(C1,C2,π1,π2)是一种检查用户是否双投的链接算法,输入S6中验证结果为1的两个加密选票C1和C2,以及对应的两个证明π1和π2,输出链接结果0或1;该算法检查π1和π2中两个t1的值是否相同,若相同则输出1,表明用户投了两次,即双投;否则,输出0,表明用户投了一次。
进一步地,所述的步骤S8中,算法Trace(π1,π2)是一种推断用户身份的追踪算法,输入使得S7中输出结果为1的两个证明π1和π2,输出求解到的用户公钥pki;根据Link算法中输出为1所对应的π1和π2,该算法通过π1和π2中包含的两个t2,推断出双投用户的公钥pki,表示如下:
由于加密算法的随机性,所以选票Ci和Ci'是不同的,根据t2、t2'、Ci、Ci'的值,推断出双投用户的公钥pki=t2-t2'/Ci-Ci'。
进一步地,所述的步骤S9具体如下:
S91、将步骤S7中输出结果为0的有效加密选票汇总,通过算法Dec(Ci,esk)对其进行解密;其中,算法Dec(Ci,esk)密码学中一种常见的解密算法,输入密文Ci和解密私钥esk,输出明文mi
S92、统计解密结果,得到选举结果,同时给出计算选举结果的相应零知识证明。
本发明相对于现有技术具有如下的优点及效果:
1)本发明改进了一种基于前缀的匿名认证方法,在保护用户隐私的前提下,减少了在链接选票和追踪用户时的计算量,提高了计算效率。
2)本发明保证了当恶意用户双投时,能根据公开信息追踪到该用户,从而在一定程度上限制了用户的恶意行为。
3)本发明依据区块链的优势,可以保证选举过程透明、选票不可伪造、选举结果可验证等特性。
4)本发明支持选民单次参与其他选举任务而不会被追踪到,而在同一个选举任务中两次或多次投票会被追踪到,从而扩展了方案的可应用性。
附图说明
图1是本发明公开的一种基于区块链的匿名电子投票方法的流程示意图;
图2是本发明公开的一种基于区块链的匿名电子投票方法的系统结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
当前,电子投票主要应用于保护选民在投票过程中的隐私保护,使得公众无法直接找出选票和选民之间的对应关系。但随着信息技术的不断发展和人们对于个人隐私的重视,密码学与投票隐私相结合的应用为投票隐私保护提供了安全的解决方案。其中,以FollowMyVote和TIVI为代表的投票系统,从不同角度实现了保护用户隐私的需求。然而,以往电子投票重复投票、隐私泄露、计票不准等问题,一直是电子投票所要解决的问题。同时,存在选举过程不公开透明,计票结果不能验证、计算量大等问题。
针对上面所述问题,本实施例提出了一种基于区块链的匿名电子投票方法,具有过程简单、易于实现、计算量小、可链接和可验证的特点,在保证保护用户隐私的前提下,达到了减少计算成本、公开可验证的目的。同时,该投票方案支持选民单次参与其他选举任务而不会被链接到,而在同一个选举任务中多次投票会被链接到,从而扩展了方案的可应用性。
下面结合图1对本实施例公开的一种基于区块链的匿名电子投票方法的具体过程进行详细说明。
一种基于区块链的匿名电子投票方法(系统结构如图2所示),其主要包括三个角色:选举委员会EC、选民Vi、认证中心CA,其步骤主要包括:生成系统参数,注册,发布任务,投票,追踪,计票并公布结果。默认在参与投票任务之前,已生成加解密选票的密钥对(epk,esk),并公开epk、选举标识号Num等公开参数;默认智能合约S编译正常,合约地址αS已生成,选举委员会EC和选民Vi分别拥有各自的公私钥对(pkEC,skEC)、(pki,ski)以及相应的区块链一次性地址αEC、αi。该投票方案主要由以下几个步骤组成:
第一步:生成系统参数。
通过Setup(1λ)算法生成系统的公共参数PP和认证中心的主公私钥对(MPK,MSK)。
第二步:用户注册。
选举委员会EC和选民Vi分别向认证中心提交个人信息,CA通过证书生成算法CertGen(MSK,pki),分别生成EC和Vi的证书certEC和certi
第三步:投票。
分为投票准备和投票过程两个阶段。具体步骤如下:
投票准备:选举委员会通过匿名认证算法Auth生成对选举标识号Num、EC账户地址αEC和智能合约地址αS的匿名认证以证明该选举任务的正确性,即生成πEC=Auth(Num||αEC||αS,pkEC,skEC,certEC,PP),公开该πEC供选民验证。
投票过程:选民Vi通过认证算法Auth对选举标识号Num和加密选票Ci的匿名认证Auth(Num||Ci,pki,ski,certi,PP),得到证明πi。待选民验证πEC后,将(Ci,πi)以交易的形式发送到区块链网络中。
第四步:验票。
智能合约通过验证算法Verify对每个选民Vi生成的πi进行验证,即运行Verify(Num||Ci,πi,MPK,PP),并筛选出验证通过(即输出为1)的选票。
第五步:链接。
智能合约通过链接算法Link对上一步中验证通过的πi做进一步链接,检查是否存在双投,即运行Link(C1,C2,π1,π2)。
第六步:追踪。
智能合约将上一步中Link结果为1的πi做进一步追踪,根据所对应的t2,t2’,Ci,Ci’的值,可推断出pki=t2-t2'/Ci-Ci'。
第七步:计票。
智能合约统计第五步中Link结果为0所对应的选票,即有效选票,选举委员会通过运行Dec(Ci,esk)解密得到选票明文,计算选举结果并公布,同时给出计算选举结果的相应零知识证明。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (7)

1.一种基于区块链的可追踪的匿名电子投票方法,其特征在于,所述的匿名电子投票方法包括:
S1、公共参数生成步骤,通过参数生成算法Setup(1λ),输入安全参数1λ,输出系统的公共参数PP和主公私钥对(MPK,MSK),其中,MPK为主公钥,MSK为主私钥,λ是正整数;
S2、用户注册步骤,用户Vi向认证中心提交个人信息,通过证书生成算法CertGen(MS K,pki),输入主私钥MSK和用户Vi的公钥pki,输出证书certi,其中,i是正整数;
S3、加密选票步骤,通过加密算法Enc(mi,epk),输入消息mi和加密公钥epk,输出密文Ci,其中,mi表示选票内容,Ci表示加密选票;
S4、选票匿名认证步骤,通过认证算法Auth(Num||Ci,pki,ski,certi,PP),输入选举标识号Num、加密选票Ci、公私钥对pki和ski、证书certi以及公共参数PP,输出证明πi,其中,符号“||”表示将两个消息串联;
S5、投票步骤,将加密选票Ci和其对应的证明πi组合在一起,并投出(Cii);
S6、验票步骤,通过验证算法Verify(Num||Cii,MPK,PP),输入选举标识号Num、加密选票Ci、证明πi、主公钥MPK以及公共参数PP,输出验证结果0或1;
S7、链接步骤,通过链接算法Link(C1,C212),输入两个加密选票C1和C2以及对应的两个证明π1和π2,输出链接结果0或1;
S8、追踪步骤,通过追踪算法Trace(π12),输入两个证明π1和π2,输出求解到的公钥pki
S9、计票步骤,通过解密算法Dec(Ci,esk),输入加密选票Ci和解密私钥esk,输出明文mi,将有效选票汇总,统计投票结果。
2.根据权利要求1所述的基于区块链的可追踪的匿名电子投票方法,其特征在于,所述的步骤S4中算法Auth(Num||Ci,pki,ski,certi,PP)具体如下:
S41、算法Auth首先计算两个标签t1和t2,即t1=H(Num,sk),t2=H(Num,ski)+Ci·pki,其中,Num是选举标识号,pki和ski分别是选民的公钥和私钥,Ci是加密选票,H是密码学中Hash算法;
S42、算法Auth要求用户提供私有证据以证明公开知识是正确生成的,对于存在使得{CertVrfy(Certi,pki,MPK)=1∧pair(pki,ski)=1∧t1=H(Num,ski)∧t2=H(Num,ski)+Ci·pki}=1恒成立;其中,算法CertVrfy(certi,pki,MPK)是密码学中签名验证算法,输入证书certi、公钥pki和主公钥MPK,输出验证结果0或1;算法pair(pki,ski)是密码学中密钥验证算法,输入公钥pki和私钥ski,输出配对结果0或1;
S43、算法Auth利用证明算法Prover对公开知识和私有证据给出证明结果η,其中,算法是zk-SNARK零知识证明方案中的证明算法,输入和PP,输出证明结果η;
S44、算法Auth最后输出证明πi=(t1,t2,η)。
3.根据权利要求1所述的基于区块链的可追踪的匿名电子投票方法,其特征在于,所述的步骤S5中将加密选票Ci和其对应的证明πi组合在一起,并通过区块链地址以交易的形式将(Cii)发送到区块链网络中。
4.根据权利要求1所述的基于区块链的可追踪的匿名电子投票方法,其特征在于,所述的步骤S6中通过验证算法Verify(Num||Cii,MPK,PP)输出验证结果0或1之后,筛选出验证通过的选票,其中,验证通过的选票即输出验证结果为1,算法是zk-SNARK零知识证明方案中的验证算法,输入公开知识证明πi和公共参数PP,输出验证结果0或1。
5.根据权利要求1所述的基于区块链的可追踪的匿名电子投票方法,其特征在于,所述的步骤S7中算法Link(C1,C212)检查π1和π2中两个t1的值是否相同,若相同则输出1,表明用户投票两次,即双投;否则,输出0,表明用户投票一次。
6.根据权利要求1所述的基于区块链的可追踪的匿名电子投票方法,其特征在于,所述的步骤S8中算法Trace(π12)是用于推断用户身份的追踪算法,通过π1和π2中包含的两个t2,推断出双投用户的公钥pki,表示如下:
由于加密算法的随机性,所以选票Ci和Ci'是不同的,根据t2、t2'、Ci、Ci'的值,推断出双投用户的公钥pki=t2-t2'/Ci-Ci'。
7.根据权利要求1所述的基于区块链的可追踪的匿名电子投票方法,其特征在于,所述的步骤S9具体如下:
S91、将步骤S7中输出结果为0的有效加密选票汇总,通过算法Dec(Ci,esk)对其进行解密,其中,Ci为密文,esk为解密私钥;
S92、统计解密结果,得到选举结果,同时给出计算选举结果的相应零知识证明。
CN201811569059.7A 2018-12-21 2018-12-21 基于区块链的可追踪的匿名电子投票方法 Active CN109785494B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201811569059.7A CN109785494B (zh) 2018-12-21 2018-12-21 基于区块链的可追踪的匿名电子投票方法
PCT/CN2019/079695 WO2020124843A1 (zh) 2018-12-21 2019-03-26 基于区块链的可追踪的匿名电子投票方法
GB2105631.2A GB2592785A (en) 2018-12-21 2019-03-26 Traceable anonymous electronic voting method employing blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811569059.7A CN109785494B (zh) 2018-12-21 2018-12-21 基于区块链的可追踪的匿名电子投票方法

Publications (2)

Publication Number Publication Date
CN109785494A true CN109785494A (zh) 2019-05-21
CN109785494B CN109785494B (zh) 2021-02-05

Family

ID=66497455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811569059.7A Active CN109785494B (zh) 2018-12-21 2018-12-21 基于区块链的可追踪的匿名电子投票方法

Country Status (3)

Country Link
CN (1) CN109785494B (zh)
GB (1) GB2592785A (zh)
WO (1) WO2020124843A1 (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110400410A (zh) * 2019-07-31 2019-11-01 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种电子投票系统
CN110519268A (zh) * 2019-08-27 2019-11-29 深圳前海微众银行股份有限公司 基于区块链的投票方法、装置、设备、系统及存储介质
CN110572267A (zh) * 2019-09-09 2019-12-13 北京工业大学 一种基于联盟区块链的匿名电子投票方法
CN110602090A (zh) * 2019-09-12 2019-12-20 天津理工大学 一种基于区块链的托攻击检测方法
CN110837655A (zh) * 2019-10-11 2020-02-25 中钞信用卡产业发展有限公司杭州区块链技术研究院 电子计票的分组方法
CN110853214A (zh) * 2019-11-06 2020-02-28 杭州复杂美科技有限公司 区块生成方法、设备和存储介质
CN110853651A (zh) * 2019-11-13 2020-02-28 支付宝(杭州)信息技术有限公司 语音投票方法、投票内容验证方法及其系统
CN110855443A (zh) * 2019-10-29 2020-02-28 上海唯链信息科技有限公司 一种基于区块链和零知识证明的投票方法及装置
CN111010280A (zh) * 2019-12-09 2020-04-14 中山大学 一种基于群签名的可监管区块链构造方法
CN111882743A (zh) * 2020-07-23 2020-11-03 浙江永旗区块链科技有限公司 匿名投票统计方法及系统
CN112487468A (zh) * 2020-12-21 2021-03-12 暨南大学 基于区块链的可追踪的完全匿名电子投票方法及系统
CN112543101A (zh) * 2020-12-17 2021-03-23 广州欧赛斯信息科技有限公司 一种基于时间释放的可追踪匿名投票方法及系统
CN112600675A (zh) * 2020-12-04 2021-04-02 网易(杭州)网络有限公司 基于群签名的电子投票方法及装置、电子设备、存储介质
CN112600850A (zh) * 2020-12-21 2021-04-02 暨南大学 可追踪的基于属性的匿名认证方法、系统及存储介质
CN112699395A (zh) * 2021-01-14 2021-04-23 暨南大学 细粒度访问控制的可追责的基于属性的匿名认证方法
CN112839046A (zh) * 2021-01-14 2021-05-25 暨南大学 基于区块链的可追踪的匿名众包方法及系统
CN112865980A (zh) * 2021-02-01 2021-05-28 杭州复杂美科技有限公司 区块链加密投票方法、计算机设备和存储介质
CN112968881A (zh) * 2021-02-01 2021-06-15 杭州复杂美科技有限公司 区块链匿名投票方法、计算机设备和存储介质
CN112995136A (zh) * 2021-02-03 2021-06-18 浙江泰科数联信息技术有限公司 一种基于联盟链的k-out-of-m匿名投票方法
CN113127910A (zh) * 2021-04-30 2021-07-16 复旦大学 基于区块链和去中心可追踪属性签名的可控匿名投票系统
CN113381991A (zh) * 2021-06-04 2021-09-10 福州大学 基于区块链的电子投票系统及方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112053155B (zh) * 2020-09-07 2024-03-19 天津星微软件开发有限公司 社群决策方法、设备和存储介质
CN114299655B (zh) * 2020-09-23 2023-09-05 成都中科信息技术有限公司 一种电子投票系统及其工作方法
CN114299656B (zh) * 2020-09-23 2023-08-01 成都中科信息技术有限公司 一种投票方法
CN112422294B (zh) * 2020-12-04 2022-11-01 网易(杭州)网络有限公司 基于环签名的匿名投票方法及装置、电子设备、存储介质
CN112700245A (zh) * 2020-12-30 2021-04-23 标信智链(杭州)科技发展有限公司 基于区块链的数字移动证书应用方法及装置
CN115147975B (zh) * 2022-05-19 2024-02-02 重庆移通学院 一种基于区块链的加密网络投票方法
CN115941691B (zh) * 2023-03-09 2023-05-05 中国信息通信研究院 区块链上数据修改方法、装置、设备和介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102568074A (zh) * 2012-01-16 2012-07-11 浙江工业大学 一种局域化抗否认电子投票控制方法
DE102016205121A1 (de) * 2016-03-29 2017-10-05 Siemens Aktiengesellschaft Verfahren zum Voting mit verketteten Signaturen
CN107248994A (zh) * 2017-06-26 2017-10-13 联动优势科技有限公司 一种信息发送方法、处理方法及装置
CN107733870A (zh) * 2017-09-14 2018-02-23 北京航空航天大学 可审计可追踪匿名消息接收系统及方法
RU2652443C1 (ru) * 2017-07-17 2018-04-26 Акционерное общество "Лаборатория Касперского" Система и способ определения количества голосов избирателей, собираемых с помощью электронного голосования
CN108961526A (zh) * 2018-06-13 2018-12-07 郑州云海信息技术有限公司 一种基于区块链技术的投票系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170352219A1 (en) * 2015-08-06 2017-12-07 Blockchain Technologies Corporation System and method for securely receiving and counting votes in an election
CN108109257A (zh) * 2018-01-05 2018-06-01 杭州电子科技大学 一种基于区块链的匿名电子投票方法
CN108833082A (zh) * 2018-06-25 2018-11-16 东北大学秦皇岛分校 一种基于区块链去中心化的隐私保护投票系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102568074A (zh) * 2012-01-16 2012-07-11 浙江工业大学 一种局域化抗否认电子投票控制方法
DE102016205121A1 (de) * 2016-03-29 2017-10-05 Siemens Aktiengesellschaft Verfahren zum Voting mit verketteten Signaturen
CN107248994A (zh) * 2017-06-26 2017-10-13 联动优势科技有限公司 一种信息发送方法、处理方法及装置
RU2652443C1 (ru) * 2017-07-17 2018-04-26 Акционерное общество "Лаборатория Касперского" Система и способ определения количества голосов избирателей, собираемых с помощью электронного голосования
CN107733870A (zh) * 2017-09-14 2018-02-23 北京航空航天大学 可审计可追踪匿名消息接收系统及方法
CN108961526A (zh) * 2018-06-13 2018-12-07 郑州云海信息技术有限公司 一种基于区块链技术的投票系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陆瑶: "《区块链技术下智能合约的法律问题研究》", 《法制与社会》 *

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110400410A (zh) * 2019-07-31 2019-11-01 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种电子投票系统
CN110519268B (zh) * 2019-08-27 2024-03-05 深圳前海微众银行股份有限公司 基于区块链的投票方法、装置、设备、系统及存储介质
CN110519268A (zh) * 2019-08-27 2019-11-29 深圳前海微众银行股份有限公司 基于区块链的投票方法、装置、设备、系统及存储介质
CN110572267A (zh) * 2019-09-09 2019-12-13 北京工业大学 一种基于联盟区块链的匿名电子投票方法
CN110572267B (zh) * 2019-09-09 2022-01-28 北京工业大学 一种基于联盟区块链的匿名电子投票方法
CN110602090A (zh) * 2019-09-12 2019-12-20 天津理工大学 一种基于区块链的托攻击检测方法
CN110837655A (zh) * 2019-10-11 2020-02-25 中钞信用卡产业发展有限公司杭州区块链技术研究院 电子计票的分组方法
CN110837655B (zh) * 2019-10-11 2022-02-18 中钞信用卡产业发展有限公司杭州区块链技术研究院 电子计票的分组方法
CN110855443B (zh) * 2019-10-29 2022-07-01 上海唯链信息科技有限公司 一种基于区块链和零知识证明的投票方法及装置
CN110855443A (zh) * 2019-10-29 2020-02-28 上海唯链信息科技有限公司 一种基于区块链和零知识证明的投票方法及装置
CN110853214B (zh) * 2019-11-06 2021-05-11 杭州复杂美科技有限公司 区块生成方法、设备和存储介质
CN110853214A (zh) * 2019-11-06 2020-02-28 杭州复杂美科技有限公司 区块生成方法、设备和存储介质
CN110853651A (zh) * 2019-11-13 2020-02-28 支付宝(杭州)信息技术有限公司 语音投票方法、投票内容验证方法及其系统
CN111010280B (zh) * 2019-12-09 2021-07-30 中山大学 一种基于群签名的可监管区块链构造方法
CN111010280A (zh) * 2019-12-09 2020-04-14 中山大学 一种基于群签名的可监管区块链构造方法
CN111882743A (zh) * 2020-07-23 2020-11-03 浙江永旗区块链科技有限公司 匿名投票统计方法及系统
CN112600675A (zh) * 2020-12-04 2021-04-02 网易(杭州)网络有限公司 基于群签名的电子投票方法及装置、电子设备、存储介质
CN112543101A (zh) * 2020-12-17 2021-03-23 广州欧赛斯信息科技有限公司 一种基于时间释放的可追踪匿名投票方法及系统
CN112487468A (zh) * 2020-12-21 2021-03-12 暨南大学 基于区块链的可追踪的完全匿名电子投票方法及系统
CN112600850A (zh) * 2020-12-21 2021-04-02 暨南大学 可追踪的基于属性的匿名认证方法、系统及存储介质
CN112487468B (zh) * 2020-12-21 2023-11-03 暨南大学 基于区块链的可追踪的完全匿名电子投票方法及系统
CN112839046A (zh) * 2021-01-14 2021-05-25 暨南大学 基于区块链的可追踪的匿名众包方法及系统
CN112699395A (zh) * 2021-01-14 2021-04-23 暨南大学 细粒度访问控制的可追责的基于属性的匿名认证方法
CN112839046B (zh) * 2021-01-14 2022-09-27 暨南大学 基于区块链的可追踪的匿名众包方法及系统
CN112968881A (zh) * 2021-02-01 2021-06-15 杭州复杂美科技有限公司 区块链匿名投票方法、计算机设备和存储介质
CN112968881B (zh) * 2021-02-01 2022-05-24 杭州复杂美科技有限公司 区块链匿名投票方法、计算机设备和存储介质
CN112865980A (zh) * 2021-02-01 2021-05-28 杭州复杂美科技有限公司 区块链加密投票方法、计算机设备和存储介质
CN112995136A (zh) * 2021-02-03 2021-06-18 浙江泰科数联信息技术有限公司 一种基于联盟链的k-out-of-m匿名投票方法
CN113127910A (zh) * 2021-04-30 2021-07-16 复旦大学 基于区块链和去中心可追踪属性签名的可控匿名投票系统
CN113381991A (zh) * 2021-06-04 2021-09-10 福州大学 基于区块链的电子投票系统及方法
CN113381991B (zh) * 2021-06-04 2022-12-13 福州大学 基于区块链的电子投票系统及方法

Also Published As

Publication number Publication date
CN109785494B (zh) 2021-02-05
GB2592785A (en) 2021-09-08
WO2020124843A1 (zh) 2020-06-25
GB202105631D0 (en) 2021-06-02

Similar Documents

Publication Publication Date Title
CN109785494A (zh) 基于区块链的可追踪的匿名电子投票方法
Dimitriou Efficient, coercion-free and universally verifiable blockchain-based voting
Huang et al. The application of the blockchain technology in voting systems: A review
CN109523683B (zh) 一种基于区块链技术的不记名电子投票方法
CN109840771A (zh) 一种基于同态加密的区块链隐私保护系统及其方法
CN109274481A (zh) 一种区块链的数据可追踪方法
CN109391631A (zh) 一种带有可控链接的车联网匿名认证系统及方法
TW200820108A (en) Method for automatically validating a transaction, electronic payment system and computer program
Yang et al. Priscore: blockchain-based self-tallying election system supporting score voting
CN114389811B (zh) 一种基于医疗联盟链的跨域认证方法
CN111064734A (zh) 一种区块链系统用户身份匿名、可追踪方法及相应存储介质与电子装置
WO2023082690A1 (zh) 一种基于矩阵联盟链的可隐藏实名的资助方法
CN109919619A (zh) 一种区块链交易中身份隐私保护方法
CN109614802A (zh) 抗量子计算的签章方法和签章系统
CN112487468A (zh) 基于区块链的可追踪的完全匿名电子投票方法及系统
Xu et al. Multi-candidate voting model based on blockchain
CN111612961B (zh) 一种对投票人选票信息加密的电子投票方法
Wu et al. A blockchain-based network security mechanism for voting systems
Li et al. A new revocable reputation evaluation system based on blockchain
Geetha et al. A secure digital e-voting using blockchain technology
US20140101440A1 (en) Digital arbitration
Abd-alrazzq et al. Secure internet voting system based on public key kerberos
CN115238294A (zh) 基于混币协议数字人民币交易隐私保护方法、系统及装置
CN111369251B (zh) 一种基于用户二级身份结构的区块链交易监管方法
Feng et al. A Secure Multi-party Computation Protocol Combines Pederson Commitment with Schnorr Signature for Blockchain

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