CN113395164A - 一种基于环签名和区块链的电子投票方法 - Google Patents

一种基于环签名和区块链的电子投票方法 Download PDF

Info

Publication number
CN113395164A
CN113395164A CN202110436029.4A CN202110436029A CN113395164A CN 113395164 A CN113395164 A CN 113395164A CN 202110436029 A CN202110436029 A CN 202110436029A CN 113395164 A CN113395164 A CN 113395164A
Authority
CN
China
Prior art keywords
citizen
public key
signature
backup
block
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
CN202110436029.4A
Other languages
English (en)
Other versions
CN113395164B (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.)
Dragon Totem Technology Hefei Co ltd
Guangzhou Gac Commerce Changhong Automobile Technology Service Co ltd
Original Assignee
Jiangsu 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 Jiangsu University filed Critical Jiangsu University
Priority to CN202110436029.4A priority Critical patent/CN113395164B/zh
Publication of CN113395164A publication Critical patent/CN113395164A/zh
Application granted granted Critical
Publication of CN113395164B publication Critical patent/CN113395164B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/3247Cryptographic 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 involving digital signatures
    • H04L9/3255Cryptographic 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 involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/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/3297Cryptographic 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 involving time stamps, e.g. generation of time stamps
    • 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
    • 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

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)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于环签名和区块链的电子投票方法,属于计算机信息安全技术领域。该方法包括:公民在客户端验证身份并生成密钥对;通过验证的公民发送ID与公钥映射至身份源服务器;公民选择候选人并向身份源服务器请求公钥集合;身份源服务器产生带有签名的随机公钥集合并发送给公民;公民对投票进行环签名并将签名后的投票发送给系统;主备份服务器首先验证环签名的合法性,然后将一段时间内收集到的合法投票打包成区块;主副备份服务器之间通过PBFT共识机制对主备份服务器打包的区块达成共识;投票截止后,系统从区块链中统计各个候选人总票数,并确定胜选者。本发明保证了投票者的匿名以及投票结果的透明可审计。

Description

一种基于环签名和区块链的电子投票方法
技术领域
本发明涉及计算机信息安全技术领域,具体涉及一种基于环签名和区块链的电子投票 方法。
背景技术
电子投票技术旨在加快选票的计数,降低支付职员手动点票的成本,并可以改善残障 选民的可及性。从长远角度来看,预计支出也会减少。结果可以更快地报告和发布。选民 可以独立于自己的位置进行投票,从而节省了时间和成本。这可能会增加整体选民投票率。 从电子选举中受益最大的公民群体是居住在国外的居民,居住在远离投票站的农村地区的 公民以及行动不便的残疾人。但是,随着投票系统变得越来越复杂并包括软件,选举欺诈 的不同方法成为可能。其他人也从理论的角度对电子投票的使用提出了质疑,认为人类没 有能力验证电子机器内发生的操作,并且由于人们无法验证这些操作,因此这些操作不可 信任。因此设计一种匿名可验证的电子投票系统十分重要。
在密码学中,环签名是一种数字签名,可以由一组各自具有密钥的用户组中的任何成 员执行。因此,具有环签名的消息被特定人群中的某人认可。环形签名的安全属性之一是, 确定使用哪个组成员的密钥来生成签名应该在计算上不可行。
区块链是越来越多的区块,它们通过密码学哈希函数链接在一起。每个块都包含前一 个区块的哈希值,时间戳和交易数据(通常表示为Merkle树)。
发明内容
本发明的目的是提供一种基于环签名和区块链的电子投票方法,在保证公民投票匿名 的同时,确保投票结果的公开可审计。
为实现上述目的,本发明的技术方法如下:
一种基于环签名和区块链的电子投票方法,包括以下步骤:
步骤1,公民在客户端验证身份并生成密钥对;
步骤2,通过验证的公民发送ID与公钥映射至身份源服务器;
步骤3,公民选择候选人并向身份源服务器请求公钥集合;
步骤4,身份源服务器产生带有签名的随机公钥集合并发送给公民;
步骤5,公民对投票进行环签名并将签名后的投票发送给系统;
步骤6,主备份服务器首先验证环签名的合法性,然后将一段时间内收集到的合法投 票打包成区块;
步骤7,主副备份服务器之间通过PBFT共识机制对主备份服务器打包的区块达成共识;
步骤8,投票截止后,系统从区块链中统计各个候选人总票数,并确定胜选者。
进一步,所述步骤1中,公民在客户端验证身份并生成密钥对的步骤如下:
步骤1.1:公民在客户端提交身份证正反面照片,系统识别出其中的身份证号;
步骤1.2:系统提示输入绑定身份证号的手机号码并点击获取验证码,系统根据运营商 提供的数据库检查输入的手机号码是否绑定了上传的身份证中的身份证号,如果是绑定过 的,则发送验证码;否则让公民检查是否输错;
步骤1.3:如果公民输入的验证码正确,则注册成功;否则重新申请验证码进行验证。
进一步,所述步骤4中,身份源服务器产生带有签名的随机公钥集合并发送给公民; 身份源服务器产生的随机公钥集合中应包含申请者的公钥并将公钥集合签名以防公民自己 寻找公钥集合进行多次投票,此外,系统每次应检查该公民是否已经申请过以防公民再次 申请以进行多次投票。
进一步,所述步骤5中,公民对投票进行环签名并将签名后的投票发送给系统;其步 骤如下:
步骤5.1:系统用基于投票信息的伪随机数作为环签名中对称密钥k=SHA256(msg),其 中SHA256()为固定输出256位的哈希函数;
步骤5.2:系统利用密码学安全伪随机数生成算法生成随机数v;
步骤5.3:系统为用户在步骤4中选取的公钥集合(P1,P2,…,Pn)利用密码学安全伪随 机数生成算法生成随机数集合(x1,x2,…,xn),但其中不包括自己公钥Ps对应的xs;并计算 相应的yi=gi(xi),其中,yi为加密后的内容,gi()为用第i个成员的公钥Pi对内容用RSA进 行加密;
步骤5.4:系统解方程Ek(yn⊕Ek(yn-1⊕Ek(…⊕Ek(y1⊕v)…)))=v,得到ys,其中,⊕为 异或操作,yn为用第i个成员公钥加密后的内容;,n=1、2、3、…、n,Ek()为用高级加密标准AES-256和密钥k对内容进行加密;
步骤5.5:系统计算xs=gs -1(ys),gs -1()为用签名者的私钥Ss对内容用RSA解密;
步骤5.6:投票信息的环签名为2n+1个元组,即,RING_SGN=(P1,P2,…,Pn;v;x1,x2,…,xn);
步骤5.7:客户端发送带有环签名投票信息作为交易TX={CAND_ID,TS,RING_SGN}给系统当前的主备份节点,其中CAND_ID代表候选人,TS代表时间戳,RING_SGN为 {CAND_ID,TS}的信息摘要的环签名。
进一步,所述步骤6中,主备份服务器首先验证环签名的合法性,然后将一段时间内 收集到的合法投票打包成区块;其步骤如下:
步骤6.1:主备份服务器计算随机数集合(x1,x2,…,xn)对应的yi=gi(xi);
步骤6.2:主备份服务器计算对称密钥k=SHA256(msg);
步骤6.3:主备份服务器验证方程Ek(yn⊕Ek(yn-1⊕Ek(…⊕Ek(y1⊕v)…)))=v是否成立;
步骤6.4:若步骤6.3成立,则主备份服务器将此交易放入区块中,主备份节点在一定 时间内收集合法交易,这些交易组成默克尔树,也就是merkle tree,所有交易组成区块体, 默克尔树根哈希值和前一个区块的哈希值作为区块头,并打包好整个区块。
进一步,所述步骤7中,主副备份服务器之间通过PBFT共识机制对主备份服务器打包的区块达成共识;其步骤如下:
步骤7.1:主备份节点进入预准备阶段,为当前区块分配序列号n,广播预准备信息{{PRE-PREPARE,v,n,MD(BLK)}σp,BLK}给所有副备份节点,PRE-PREPARE代表这是预 准备信息;v为当前的视图,当系统中主备份节点出现错误时,视图需要更换;BLK为打 包好的区块;MD(BLK)为BLK的信息摘要;σp为主备份节点的签名;
步骤7.2:当收到步骤7.1主备份节点发送的预准备信息,副备份节点进入准备阶段, 副备份节点首先验证区块中的交易是否全部合法,若合法则广播准备信息{PREPARE,v,n, MD(BLK),i}σi给其它所有备份节点(包括主备份节点),PREPARE代表这是准备信息;i为第i个备份节点的ID;σi为第i个副备份节点的签名,然后等待超过系统节点数量2/3的准备信息或承诺信息;
步骤7.3:所有节点检查每一个收到的准备信息,检查签名的正确性,视图号是否等于 当前的视图号且序列号n和信息摘要d是否匹配预准备信息,当收到符合条件的准备信息 超过2/3节点数量时,节点进入承诺阶段,节点i广播承诺信息{COMMIT,v,n,MD(BLK),i}σi给其它节点;COMMIT为承诺信息;
步骤7.4:所有备份节点检查每一个收到的承诺信息,检查签名的正确性且视图号是否 等于当前的视图号,当收集到的合法承诺消息数量超过2/3备份节点数量时,备份节点将 此区块加入区块链;
步骤7.5:公民可根据交易哈希值在区块链上查询自己的交易是否已经写入了区块链。
本发明提出的方法的有益效果包括:
(1)本发明通过环签名技术保护了投票公民的隐私,即环签名只能说明是环中某一成 员投了票,只要环成员足够多且随机,公民的隐私就会得到保障。
(2)本发明利用区块链技术保证所有投票信息皆记录在公开的分布式账本上,任何合 法公民皆可对投票结果进行审查。
本发明利用环签名和区块链技术,分别保证了投票者的匿名以及投票结果的透明可审 计,公民不仅可以在投票阶段查看自己的投票是否在区块链上,还可以在投票结束后下载 整个区块链验证投票结果的正确性。
附图说明
图1为本发明具体实施方式的方法的总流程图
图2为本发明对公民进行认证授权方法流程图
图3为本发明所采用的区块链结构
图4为本发明中区块链的共识算法示意图
具体实施方式
以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制 本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换 均包含在本发明的保护范围内。
如图1所示,基于环签名和区块链的电子投票方法,其中包括:公民在客户端验证身 份并生成密钥对、通过验证的公民发送ID与公钥映射至身份源服务器、公民选择候选人并 向身份源服务器请求公钥集合、身份源服务器产生带有签名的随机公钥集合并发送给公民、 公民对投票进行环签名并将签名后的投票发送给系统、主备份服务器首先验证环签名的合 法性,然后将一段时间内收集到的合法投票打包成区块、主副备份服务器之间通过PBFT 共识机制对主备份服务器打包的区块达成共识、投票截止后,系统从区块链中统计各个候 选人总票数,并确定胜选者。本发明的方法主要包含以下八部分:
公民在客户端验证身份;过程如图2所示,具体步骤如下:
第一步:公民在客户端提交身份证正反面照片,系统识别出其中的身份证号;
第二步:系统提示输入绑定身份证号的手机号码并点击获取验证码,系统根据运营商 提供的数据库检查输入的手机号码是否绑定了上传的身份证中的身份证号。如果是绑定过 的,则发送验证码;否则让公民检查是否输错;
第三步:如果公民输入的验证码正确,则注册成功;否则重新申请验证码进行验证;
通过验证的公民发送ID与公钥映射至身份源服务器。
公民选择候选人并向身份源服务器请求公钥集合。
身份源服务器产生带有签名的随机公钥集合并发送给公民。身份源服务器产生的随机 公钥集合中应包含申请者的公钥并将公钥集合签名以防公民自己寻找公钥集合进行多次投 票。此外,系统每次应检查该公民是否已经申请过以防公民再次申请以进行多次投票。
公民对投票进行环签名并将签名后的投票发送给系统;其步骤如下:
第一步:系统用基于投票信息的伪随机数作为环签名中对称密钥k=SHA256(msg),其 中SHA256()为固定输出256位的哈希函数;
第二步:系统利用密码学安全伪随机数生成算法生成随机数v;
第三步:系统为用户在步骤4.1中选取的公钥集合(P1,P2,…,Pn)利用密码学安全伪随 机数生成算法生成随机数集合(x1,x2,…,xn)但其中不包括自己公钥Ps对应的xs;并计算相 应的yi=gi(xi),其中gi()为用第i个成员的公钥Pi对内容用RSA进行加密;
第四步:系统解方程Ek(yn⊕Ek(yn-1⊕Ek(…⊕Ek(y1⊕v)…)))=v,得到ys,其中⊕为异或 操作,Ek()为用高级加密标准(AES-256)和密钥k对内容进行加密;
第五步:系统计算xs=gs -1(ys),gs -1()为用签名者的私钥Ss对内容用RSA进行解密;
第六步:投票信息的环签名为2n+1个元组,即,RING_SGN=(P1,P2,…,Pn;v;x1,x2,…,xn)。
第七步:客户端发送带有环签名投票信息作为交易TX={CAND_ID,TS,RING_SGN}给系统当前的主备份节点,其中CAND_ID代表候选人,TS代表时间戳。RING_SGN为 {CAND_ID,TS}的信息摘要的环签名。
客户端发送带有环签名投票信息作为交易TX={CAND_ID,TS,RING_SGN}给系统当前的主备份节点,其中CAND_ID代表候选人,TS代表时间戳。RING_SGN为{CAND_ID, TS}的信息摘要的环签名。
主备份服务器首先验证环签名的合法性,然后将一段时间内收集到的合法投票打包成 区块;其步骤如下:
第一步:主备份服务器计算随机数集合(x1,x2,…,xn)对应的yi=gi(xi);
第二步:主备份服务器计算对称密钥k=SHA256(msg);
第三步:主备份服务器验证方程Ek(yn⊕Ek(yn-1⊕Ek(…⊕Ek(y1⊕v)…)))=v是否成立
第四步:若第三步成立,则主备份服务器将此交易放入区块中。主备份节点在一定时 间内收集合法交易,这些交易组成默克尔树(merkle tree),所有交易组成区块体,默克尔 树根哈希值和前一个区块的哈希值作为区块头,并打包好整个区块。
若环签名合法,则主备份服务器将此交易放入区块中。主备份节点在一定时间内收集 合法交易,这些交易组成默克尔树(merkle tree),所有交易组成区块体,默克尔树根哈希 值和前一个区块的哈希值作为区块头,并打包好整个区块。具体区块结构如图3所示。
主副备份服务器之间通过PBFT共识机制对主备份服务器打包的区块达成共识;过程 如图4所示,具体步骤如下:
第一步:主备份节点进入预准备阶段。为当前区块分配序列号n,广播预准备信息{{PRE-PREPARE,v,n,MD(BLK)}σp,BLK}给所有副备份节点。PRE-PREPARE代表这是预 准备信息;v为当前的视图,当系统中主备份节点出现错误时,视图需要更换;BLK为打 包好的区块;MD(BLK)为BLK的信息摘要;σp为主备份节点的签名。
第二步:当收到主备份节点发送的预准备信息,副备份节点进入准备阶段。副备份节 点首先验证区块中的交易是否全部合法,若合法则广播准备信息{PREPARE,v,n,MD(BLK), i}σi给其它所有备份节点(包括主备份节点)。PREPARE代表这是准备信息;i为第i个备 份节点的ID;σi为第i个副备份节点的签名。然后等待超过系统节点数量2/3的准备信息 或承诺信息。
第三步:所有节点检查每一个收到的准备信息,检查签名的正确性,视图号是否等于 当前的视图号且序列号n和信息摘要d是否匹配预准备信息。当收到符合条件的准备信息 超过2/3节点数量时,节点进入承诺阶段。节点i广播承诺信息{COMMIT,v,n,MD(BLK),i}σi给其它节点。
第四步:所有备份节点检查每一个收到的承诺信息,检查签名的正确性且视图号是否 等于当前的视图号。当收集到的合法承诺消息数量超过2/3备份节点数量时,备份节点将 此区块加入区块链。
第五步:公民可根据交易哈希值在区块链上查询自己的交易是否已经写入了区块链。
进一步,系统从区块链中统计各个候选人总票数,并确定胜选者。公民也可下载整个 区块链验证投票结果的正确性。
综上,本发明的方法主要包括一下步骤:(1)公民在客户端验证身份并生成密钥对; (2)通过验证的公民发送ID与公钥映射至身份源服务器;(3)公民选择候选人并向身份源服务器请求公钥集合;(4)身份源服务器产生带有签名的随机公钥集合并发送给公民;(5)公民对投票进行环签名并将签名后的投票发送给系统;(6)主备份服务器首先验证环签名的合法性,然后将一段时间内收集到的合法投票打包成区块;(7)主副备份服务器之间通过PBFT共识机制对主备份服务器打包的区块达成共识;(8)投票截止后,系统从区 块链中统计各个候选人总票数,并确定胜选者。本发明提出了一种基于环签名和区块链的 电子投票方法,结合了电子投票的特点,既保证了公民投票的匿名性,也确保投票结果的 透明可审计。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独 立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书 作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理 解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并 非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应 包含在本发明的保护范围之内。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示 例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结 构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语 的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离 本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发 明的范围由权利要求及其等同物限定。

Claims (6)

1.一种基于环签名和区块链的电子投票方法,其特征在于,包括以下步骤:
步骤1,公民在客户端验证身份并生成密钥对;
步骤2,通过验证的公民发送ID与公钥映射至身份源服务器;
步骤3,公民选择候选人并向身份源服务器请求公钥集合;
步骤4,身份源服务器产生带有签名的随机公钥集合并发送给公民;
步骤5,公民对投票进行环签名并将签名后的投票发送给系统;
步骤6,主备份服务器首先验证环签名的合法性,然后将一段时间内收集到的合法投票打包成区块;
步骤7,主副备份服务器之间通过PBFT共识机制对主备份服务器打包的区块达成共识;
步骤8,投票截止后,系统从区块链中统计各个候选人总票数,并确定胜选者。
2.根据权利要求书1所述的一种基于环签名和区块链的电子投票方法,其特征在于:所述步骤1中,公民在客户端验证身份并生成密钥对的步骤如下:
步骤1.1:公民在客户端提交身份证正反面照片,系统识别出其中的身份证号;
步骤1.2:系统提示输入绑定身份证号的手机号码并点击获取验证码,系统根据运营商提供的数据库检查输入的手机号码是否绑定了上传的身份证中的身份证号,如果是绑定过的,则发送验证码;否则让公民检查是否输错;
步骤1.3:如果公民输入的验证码正确,则注册成功;否则重新申请验证码进行验证。
3.根据权利要求书1所述的一种基于环签名和区块链的电子投票方法,其特征在于:所述步骤4中,身份源服务器产生带有签名的随机公钥集合并发送给公民;身份源服务器产生的随机公钥集合中应包含申请者的公钥并将公钥集合签名以防公民自己寻找公钥集合进行多次投票,此外,系统每次应检查该公民是否已经申请过以防公民再次申请以进行多次投票。
4.根据权利要求书1所述的一种基于环签名和区块链的电子投票方法,其特征在于:所述步骤5中,公民对投票进行环签名并将签名后的投票发送给系统;其步骤如下:
步骤5.1:系统用基于投票信息的伪随机数作为环签名中对称密钥k=SHA256(msg),其中SHA256()为固定输出256位的哈希函数;
步骤5.2:系统利用密码学安全伪随机数生成算法生成随机数v;
步骤5.3:系统为用户在步骤4中选取的公钥集合(P1,P2,…,Pn)利用密码学安全伪随机数生成算法生成随机数集合(x1,x2,…,xn),但其中不包括自己公钥Ps对应的xs;并计算相应的yi=gi(xi),其中,yi为加密后的内容,gi()为用第i个成员的公钥Pi对内容用RSA进行加密;
步骤5.4:系统解方程Ek(yn⊕Ek(yn-1⊕Ek(…⊕Ek(y1⊕v)…)))=v,得到ys,其中,⊕为异或操作,yn为用第i个成员公钥加密后的内容,n=1、2、3、…、n,Ek()为用高级加密标准AES-256和密钥k对内容进行加密;
步骤5.5:系统计算xs=gs -1(ys),gs -1()为用签名者的私钥Ss对内容用RSA解密;
步骤5.6:投票信息的环签名为2n+1个元组,即,RING_SGN=(P1,P2,…,Pn;v;x1,x2,…,xn);
步骤5.7:客户端发送带有环签名投票信息作为交易TX={CAND_ID,TS,RING_SGN}给系统当前的主备份节点,其中CAND_ID代表候选人,TS代表时间戳,RING_SGN为{CAND_ID,TS}的信息摘要的环签名。
5.根据权利要求书1所述的一种基于环签名和区块链的电子投票方法,其特征在于:所述步骤6中,主备份服务器首先验证环签名的合法性,然后将一段时间内收集到的合法投票打包成区块;其步骤如下:
步骤6.1:主备份服务器计算随机数集合(x1,x2,…,xn)对应的yi=gi(xi);
步骤6.2:主备份服务器计算对称密钥k=SHA256(msg);
步骤6.3:主备份服务器验证方程Ek(yn⊕Ek(yn-1⊕Ek(…⊕Ek(y1⊕v)…)))=v是否成立;
步骤6.4:若步骤6.3成立,则主备份服务器将此交易放入区块中,主备份节点在一定时间内收集合法交易,这些交易组成默克尔树,也就是merkle tree,所有交易组成区块体,默克尔树根哈希值和前一个区块的哈希值作为区块头,并打包好整个区块。
6.根据权利要求书1所述的一种基于环签名和区块链的电子投票方法,其特征在于:所述步骤7中,主副备份服务器之间通过PBFT共识机制对主备份服务器打包的区块达成共识;其步骤如下:
步骤7.1:主备份节点进入预准备阶段,为当前区块分配序列号n,广播预准备信息{{PRE-PREPARE,v,n,MD(BLK)}σp,BLK}给所有副备份节点,PRE-PREPARE代表这是预准备信息;v为当前的视图,当系统中主备份节点出现错误时,视图需要更换;BLK为打包好的区块;MD(BLK)为BLK的信息摘要;σp为主备份节点的签名;
步骤7.2:当收到步骤7.1主备份节点发送的预准备信息,副备份节点进入准备阶段,副备份节点首先验证区块中的交易是否全部合法,若合法则广播准备信息{PREPARE,v,n, MD(BLK),i}σi给其它所有备份节点(包括主备份节点),PREPARE代表这是准备信息;i为第i个备份节点的ID;σi为第i个副备份节点的签名,然后等待超过系统节点数量2/3的准备信息或承诺信息;
步骤7.3:所有节点检查每一个收到的准备信息,检查签名的正确性,视图号是否等于当前的视图号且序列号n和信息摘要d是否匹配预准备信息,当收到符合条件的准备信息超过2/3节点数量时,节点进入承诺阶段,节点i广播承诺信息{COMMIT,v,n,MD(BLK),i}σi给其它节点;COMMIT为承诺信息;
步骤7.4:所有备份节点检查每一个收到的承诺信息,检查签名的正确性且视图号是否等于当前的视图号,当收集到的合法承诺消息数量超过2/3备份节点数量时,备份节点将此区块加入区块链;
步骤7.5:公民可根据交易哈希值在区块链上查询自己的交易是否已经写入了区块链。
CN202110436029.4A 2021-04-22 2021-04-22 一种基于环签名和区块链的电子投票方法 Active CN113395164B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110436029.4A CN113395164B (zh) 2021-04-22 2021-04-22 一种基于环签名和区块链的电子投票方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110436029.4A CN113395164B (zh) 2021-04-22 2021-04-22 一种基于环签名和区块链的电子投票方法

Publications (2)

Publication Number Publication Date
CN113395164A true CN113395164A (zh) 2021-09-14
CN113395164B CN113395164B (zh) 2022-11-18

Family

ID=77616731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110436029.4A Active CN113395164B (zh) 2021-04-22 2021-04-22 一种基于环签名和区块链的电子投票方法

Country Status (1)

Country Link
CN (1) CN113395164B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114389822A (zh) * 2022-03-22 2022-04-22 北京百度网讯科技有限公司 基于区块链的签名生成方法、装置、设备和存储介质
CN115147975A (zh) * 2022-05-19 2022-10-04 重庆移通学院 一种基于区块链的加密网络投票方法
CN115378598A (zh) * 2022-05-25 2022-11-22 北京航空航天大学 基于一次性可链接环签名的多链可扩展秘密选举方法
CN116074310A (zh) * 2022-10-10 2023-05-05 重庆邮电大学 基于环签名的改进的委托权益证明的区块链共识方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110391911A (zh) * 2019-07-23 2019-10-29 中国工商银行股份有限公司 区块链匿名投票系统及方法
CN111277403A (zh) * 2020-01-17 2020-06-12 南京如般量子科技有限公司 基于秘密共享和基于身份密码学的抗量子计算投票方法
CN112422294A (zh) * 2020-12-04 2021-02-26 网易(杭州)网络有限公司 基于环签名的匿名投票方法及装置、电子设备、存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110391911A (zh) * 2019-07-23 2019-10-29 中国工商银行股份有限公司 区块链匿名投票系统及方法
CN111277403A (zh) * 2020-01-17 2020-06-12 南京如般量子科技有限公司 基于秘密共享和基于身份密码学的抗量子计算投票方法
CN112422294A (zh) * 2020-12-04 2021-02-26 网易(杭州)网络有限公司 基于环签名的匿名投票方法及装置、电子设备、存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赖恒财: "基于区块链的匿名电子投票方案研究与设计", 《中国优秀硕士学位论文全文数据库》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114389822A (zh) * 2022-03-22 2022-04-22 北京百度网讯科技有限公司 基于区块链的签名生成方法、装置、设备和存储介质
CN114389822B (zh) * 2022-03-22 2022-06-28 北京百度网讯科技有限公司 基于区块链的签名生成方法、装置、设备和存储介质
CN115147975A (zh) * 2022-05-19 2022-10-04 重庆移通学院 一种基于区块链的加密网络投票方法
CN115147975B (zh) * 2022-05-19 2024-02-02 重庆移通学院 一种基于区块链的加密网络投票方法
CN115378598A (zh) * 2022-05-25 2022-11-22 北京航空航天大学 基于一次性可链接环签名的多链可扩展秘密选举方法
CN115378598B (zh) * 2022-05-25 2024-05-03 北京航空航天大学 基于一次性可链接环签名的多链可扩展秘密选举方法
CN116074310A (zh) * 2022-10-10 2023-05-05 重庆邮电大学 基于环签名的改进的委托权益证明的区块链共识方法
CN116074310B (zh) * 2022-10-10 2024-04-26 重庆邮电大学 基于环签名的改进的委托权益证明的区块链共识方法

Also Published As

Publication number Publication date
CN113395164B (zh) 2022-11-18

Similar Documents

Publication Publication Date Title
CN110391911B (zh) 区块链匿名投票系统及方法
CN113395164B (zh) 一种基于环签名和区块链的电子投票方法
CN109067801B (zh) 一种身份认证方法、身份认证装置及计算机可读介质
CN111914027B (zh) 一种区块链交易关键字可搜索加密方法及系统
Yu et al. Cloud data integrity checking with an identity-based auditing mechanism from RSA
Shao et al. A threshold anonymous authentication protocol for VANETs
CN110022217B (zh) 一种基于区块链的广告传媒业务数据可信存证系统
US6202150B1 (en) Auto-escrowable and auto-certifiable cryptosystems
JP2991099B2 (ja) 署名装置および方法
CN1954546B (zh) 用于生成名单签名的方法和系统
US20070242830A1 (en) Anonymous Certificates with Anonymous Certificate Show
CN111464980A (zh) 一种车联网环境下基于区块链的电子取证装置及取证方法
Chow et al. Robust Receipt-Free Election System with Ballot Secrecy and Verifiability.
CN103903325B (zh) 一种基于身份签名的安全电子投票系统
Chen Efficient fair exchange with verifiable confirmation of signatures
Franklin et al. Verifiable signature sharing
EP2792098B1 (en) Group encryption methods and devices
Zhou Non-repudiation
CN111163109B (zh) 区块链去中心式节点防仿冒方法
KR20060127194A (ko) 공정한 블라인드 서명을 이용한 전자 투표 방법 및 시스템
CN113129518A (zh) 电动车辆充电系统及其资源管理方法
CN112291062B (zh) 一种基于区块链的投票方法及装置
WO2001020562A2 (en) Multiway election method and apparatus
EP1361693B1 (en) Handle deciphering system and handle deciphering method, and program
Zwierko et al. A light-weight e-voting system with distributed trust

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
TR01 Transfer of patent right

Effective date of registration: 20230712

Address after: Room 202, Donghuan Street Service Center, No. 100, Dongxing Road, Donghuan Street, Panyu District, Guangzhou, Guangdong 511400

Patentee after: Guangzhou GAC Commerce Changhong Automobile Technology Service Co.,Ltd.

Address before: 230000 floor 1, building 2, phase I, e-commerce Park, Jinggang Road, Shushan Economic Development Zone, Hefei City, Anhui Province

Patentee before: Dragon totem Technology (Hefei) Co.,Ltd.

Effective date of registration: 20230712

Address after: 230000 floor 1, building 2, phase I, e-commerce Park, Jinggang Road, Shushan Economic Development Zone, Hefei City, Anhui Province

Patentee after: Dragon totem Technology (Hefei) Co.,Ltd.

Address before: Zhenjiang City, Jiangsu Province, 212013 Jingkou District Road No. 301

Patentee before: JIANGSU University

TR01 Transfer of patent right