CN115147975B - 一种基于区块链的加密网络投票方法 - Google Patents

一种基于区块链的加密网络投票方法 Download PDF

Info

Publication number
CN115147975B
CN115147975B CN202210557367.8A CN202210557367A CN115147975B CN 115147975 B CN115147975 B CN 115147975B CN 202210557367 A CN202210557367 A CN 202210557367A CN 115147975 B CN115147975 B CN 115147975B
Authority
CN
China
Prior art keywords
voting
node
vote
ballot
text
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
Application number
CN202210557367.8A
Other languages
English (en)
Other versions
CN115147975A (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.)
Chongqing Yitong College
Original Assignee
Chongqing Yitong College
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 Chongqing Yitong College filed Critical Chongqing Yitong College
Priority to CN202210557367.8A priority Critical patent/CN115147975B/zh
Publication of CN115147975A publication Critical patent/CN115147975A/zh
Application granted granted Critical
Publication of CN115147975B publication Critical patent/CN115147975B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • 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
    • 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

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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明请求保护一种基于区块链的加密网络投票方法。投票节点和投票发起方节点生成一对公私钥对,然后将公钥发送至CA认证节点发起数字证书签名申请,CA认证节点审核节点身份后为节点颁发数字证书。投票发起方节点在网络中发布投票公告,符合投票资格的投票节点发起选票申请;投票发起方节点通过验证投票节点的数字证书来验证节点的身份,验证通过后发送加密选票。投票节点将投票内容、数字签名、加密选票一起加密后发送至投票发起方节点;投票发起方节点验证选票真伪与投票内容是否被篡改,并将有效选票写入区块链。通过数字证书保证节点身份的合法性,运用非对称加密技术、数字签名技术、数字证书等验证选票真伪和投票内容是否被篡改,保证投票结果的真实性。

Description

一种基于区块链的加密网络投票方法
技术领域
本发明属于互联网技术中的加密技术领域,具体属于一种加密网络投票方法。
背景技术
网络投票是指选民通过互联网远程投票给自己所支持的候选人。随着互联网技术的发展,网络投票逐渐取代了用纸和笔进行投票的传统投票方式。网络投票拥有诸多优点:可以减少排队时间、使行动不便者或受地域限制不能到达投票现场进行投票的人在家就能投票,计票方面也减少了很多人力,使得投票更便利等。但网络投票也存在很多问题:没有使用加密技术对选民进行身份验证,不符合条件的用户依然可以参与投票;选民的身份验证信息和选民的投票信息相互关联,选民身份失去匿名性;第三方可伪造选民账户获得多张选票;选民可能通过不安全的互联网连接进行通信,攻击者可以实现无法追踪的攻击;投票结果可被内部或外部人员篡改,没有检查投票结果的数据完整性;投票结果不能审计追溯;投票结果不透明,选民无法验证自己的选票是否正确计入投票结果。
现有技术需要解决的问题为:选民身份的合法性验证。选票的不可伪造性。检验投票结果是否被篡改,投票结果的数据完整性验证。数据传输过程中的不安全通信。投票结果的不可追溯性。
申请公开号CN111010424A,一种基于区块链的网络投票方法及设备、介质。根据用户的提案发布请求,通过区块链网络上部署的智能合约将投票提案写入区块链;根据所述投票提案的选票发放请求,触发智能合约向指定用户发放选票;接收所述指定用户的投票;基于所述智能合约确定投票结果,并将投票结果写入区块链。通过区块链执行投票过程中的所有步骤,并记录相关的投票数据,避免了人为干扰,保证投票结果的真实性。
现有技术中节点的公钥由节点提供,第三方节点可伪造节点身份提供虚假公钥进行通信。本发明引入CA认证节点为合法节点的公钥做公证,避免了公钥被恶意节点伪造的风险。现有技术中选票没有做防伪造处理,第三方节点可伪造不限量选票干扰投票结果。本发明运用投票发起方节点私钥对选票进行加密处理,第三方节点无法获取投票发起方节点私钥,所以不能伪造选票。现有技术中通过将投票结果写入区块链作为投票内容不可篡改性的依据,但没有在写入之前对投票内容是否已被第三方篡改作验证,本发明在接收到投票节点的投票内容后,会通过选票真伪验证与投票结果是否被篡改的双重验证,来确保投票内容的有效性,确保写入区块链保存的是真实未被篡改的投票内容,更大程度保证了投票结果的真实性。
发明内容
本发明旨在解决以上现有技术的问题。提出了一种基于区块链的加密网络投票方法。本发明的技术方案如下:
一种基于区块链的加密网络投票方法,其包括以下步骤:
准备阶段:
发起投票公告的步骤;
获取选票的步骤;
加密投票结果的步骤:
搜集有效投票结果的步骤:
计票的步骤。
进一步的,所述准备阶段具体包括以下步骤:
S10、投票发起方节点A通过非对称加密算法生成一对公私钥(pka,ska),其中pka为节点A的公钥,ska为节点A的私钥;
S11、投票发起方节点A向CA认证节点P发起CSR证书签名请求,CA认证节点M验证节点A的身份,验证通过后为其生成数字证书Certa,数字证书Certa包含了节点A的公钥pka、CA认证节点M的数字签名Signm
S12、节点B通过非对称加密算法生成一对公私钥(pkb,skb),其中pkb为节点B的公钥,skb为节点B的私钥;
S13、节点B向CA认证节点M发起CSR证书签名请求,CA认证节点M验证节点B的身份,验证通过后为其生成数字证书Certb,数字证书Certb包含了节点B的公钥pkb、CA认证节点M的数字签名Signm
进一步的,所述发起投票公告的步骤具体包括:
S14、投票发起方节点A生成一个投票公告,公告中包含了投票信息、合格选民的名单、候选人列表、投票发起方节点A的数字证书Certa
S15、投票公告被发送到网络各节点。
进一步的,所述获取选票的步骤具体包括:
S16、节点B接收到投票公告后,根据公告中的合格选民名单,确认自己是否为符合条件的投票节点;如果是,则向投票发起方节点发送申请选票请求VoteRequest,如果不是,则忽略此条投票公告;
S17、假设节点B是合格选民名单中的一员,投票发起方节点A接收到节点B的申请选票请求VoteRequest,验证节点B是否在合格选民名单中,如果是,则发送选票Voteb到节点B,否则,忽略此条申请选票请求VoteRequest。
S18、节点B接收到选票Voteb
进一步的,所述选票Voteb是一个选票编号ElectionID,投票发起方节点A为每位选民生成了对应的选民编号VoterID,投票发起方节点A用自己的公钥pka对VoterID加密,生成了ElectionID;每个ElectionID只能由投票发起方节点A的私钥ska解密,得到正确的VoterID,用于避免了第三方伪造虚假选票进行投票,干扰投票结果。
进一步的,所述加密投票结果的步骤具体包括:
S19、投票节点B接收到选票Voteb之后,生成投票结果Text;利用数字签名算法Sign(Text,Hash,skb)生成投票结果的数字签名SignText,然后利用投票发起方节点A的公钥pka将选票ID、投票结果、投票结果的数字签名、数字证书,打包在一起加密生成加密投票结果,即Encrypt(ElectionID,Text,SignText,Certb=>EncryptText)。
进一步的,所述搜集有效投票结果的步骤具体包括:
S20、投票发起方节点A收到加密选票结果后,先用自己的私钥ska将其解密。得到选票编号ElectionID,以及投票节点的投票结果Text、数字签名SignText、数字证书Certb
S21、节点A首先验证选票编号ElectionID是否为合法编号,如果是,则说明此张选票有效,如果不是,说明此张选票为伪造选票,丢弃此条投票结果;
S22、节点A使用数字证书Certb中包含的节点B的公钥,对数字签名SignText进行解密,并且利用Hash算法对投票结果Text进行Hash得到HashText,两者结果进行比对,验证是否一致;
S23、如果两者一致,说明投票内容未被篡改,投票结果存入区块链;如果不一致,说明投票内容被篡改,丢弃掉此条投票结果。
进一步的,所述计票的步骤具体为:
S24、投票时间截止后,投票发起方节点对所有有效投票结果进行统计,计算每位候选人的票数,将结果存入区块链,并将投票结果发布到网络。
本发明的优点及有益效果如下:
1、本发明引入CA认证节点为合法节点的公钥做公证,避免了公钥被恶意节点伪造的风险
2、本发明通过将非对称加密技术、数字签名技术、数字证书技术有效结合,来实现对选票真伪验证与投票结果是否被篡改的双重验证,确保了写入区块链保存的是未被第三方篡改的投票内容,本发明更大程度保证了投票结果的真实性。
附图说明
图1是本发明提供优选实施例一种应用场景的示意图;
图2为本发明实施例提供的一种基于区块链的加密网络投票方法的投票流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。
本发明解决上述技术问题的技术方案是:
本发明实施例提供一种基于区块链的加密网络投票方法,可以适用于图1所示的通信系统。如图1所示,该通信系统包括:投票节点、投票发起方节点、CA认证节点。其中,投票节点、投票发起方节点、CA认证节点是区块链网络中的参与节点。可以理解,此处只是示意性说明,并不限定该区块链网络中的节点个数和种类。其中,投票节点和投票发起方节点可以是用户终端,例如,智能手机、浏览器、投票设备、电脑等,CA认证节点可以是一个或者多个服务器,或者服务器集群,服务器可以是本地服务器或云服务器,服务器的构成包括处理器、内存、硬盘、接口、系统总线等。
需要解释的是,本发明中的区块链是一种按照时间顺序来将数据区块顺序相连组合而成的链式数据结构,并且以密码学方式保证数据区块不可篡改和不可伪造。区块链中的每个区块通过包括该区块链中紧接其之前的前一个区块的加密散列而链接到该前一个区块。每个区块还包括时间戳、该区块的加密哈希以及一个或多个交易。
区块链网络是用于管理、更新和维护一个或多个区块链结构的计算节点网络。在本说明书中,区块链网络可以包括公有区块链网络、私有区块链网络或联盟区块链网络。
在公有区块链网络中,共识过程由共识网络的节点控制。例如,在公有区块链网络中可以存在成千上万个实体协作处理,每个实体操作该公有区块链网络中的至少一个节点。因此,公有区块链网络可以被认为是参与实体的公有网络。在一些示例中,大多数实体(节点)必须按序对每个区块进行签名,并且将签名后的区块添加到区块链网络的区块链中。公有区块链网络的示例可以包括特定对等支付网络。
公有区块链网络支持公有交易。公有交易在公有区块链网络内的所有节点之间共享,并且存储在全局区块链中。全局区块链是指跨所有节点复制的区块链。为了达成共识(例如,同意向区块链添加区块),在公有区块链网络内实现共识协议。共识协议的示例包括但不限于:工作量证明(POW,proof-of-work),权益证明(POS,proof-of-stake)和权威证明(POA,proof-of-authority)。
私有区块链网络被提供来用于特定实体。私有区块链网络中的各个节点的读写权限被严格控制。因此,私有区块链网络通常也称为许可网络,其对允许谁参与网络以及的网络参与水平(例如,仅在某些交易情形下)进行限制。在私有区块链网络中,可以使用各种类型的访问控制机制(例如,现有参与方对添加新实体进行投票,监管机构控制许可等)。
联盟区块链网络在参与实体之间是私有的。在联盟区块链网络中,共识过程由授权节点控制。例如,由若干个(例如,10个)实体(例如,金融机构,保险公司)组成的联盟可以操作联盟区块链网络,每个实体操作该联盟区块链网络中的至少一个节点。因此,联盟区块链网络可以被认为是参与实体的私有网络。在一些示例中,每个参与实体(节点)必须按序对每个区块进行签名,并将该区块添加到区块链。在一些示例中,可以由参与实体(节点)的子集(例如,至少7个实体)来对每个区块进行签名,并将该区块添加到区块链。
下面结合附图和实施例对本申请作进一步的详细说明。
图2为本发明实施例提供的一种基于区块链的加密网络投票方法的流程图。本发明实施例针对现有技术的如上技术问题,提供了一种基于区块链的加密电子投票方法。
在本申请实施例中,所述区块链网络包括投票节点、投票发起方节点、CA认证节点。
投票节点可以是区块链网络中任意的一个或多个参与节点。
投票发起方节点可以是区块链网络中任意的参与节点,也就是说,区块链网络中任意的参与节点可作为一次网络投票的发起方节点,该发起方节点可发起投票、设定具备投票资格的节点、验证节点是否为符合条件的投票节点、接收选票、统计投票结果等。
CA认证节点是数字证书授权节点,是区块链网络中特定的由权威机构管理的节点。CA认证节点可以验证区块链网络中任意节点的身份,为其颁发数字证书。
该方法具体步骤如下:
第一部分、准备阶段
S10、投票发起方节点A通过非对称加密算法生成一对公私钥(pka,ska),其中pka为节点A的公钥,ska为节点A的私钥。
进一步的,非对称加密算法采用RSA算法。RSA算法是目前应用最广泛的公钥非对称加密算法。在RSA公开密钥密码体制中包含一组密钥对,即公钥和私钥,公钥对外公开,而私钥是私密的,由用户保管。RSA算法的安全性主要基于大整数的因式分解困难,而且RSA算法数学原理简单、在实际应用中易于实现。
RSA公私钥生成算法如下:
(1)随机产生两个大素数p和q,且p、q互异;
(2)计算n=p*q,同时令
(3)随机产生一个与互质的整数e,令/>且满足
(4)计算即/>
(5)公钥pka={e,n},私钥ska={d,n}。
S11、投票发起方节点A向CA认证节点P发起CSR证书签名请求,CA认证节点M验证节点A的身份,验证通过后为其生成数字证书Certa。数字证书Certa包含了节点A的公钥pka、CA认证节点M的数字签名Signm
S12、节点B通过非对称加密算法生成一对公私钥(pkb,skb),其中pkb为节点B的公钥,skb为节点B的私钥。
S13、节点B向CA认证节点M发起CSR证书签名请求,CA认证节点M验证节点B的身份,验证通过后为其生成数字证书Certb。数字证书Certb包含了节点B的公钥pkb、CA认证节点M的数字签名Signm
第二部分、发起投票公告
S14、投票发起方节点A生成一个投票公告,公告中包含了投票信息、合格选民的名单、候选人列表、投票发起方节点A的数字证书Certa
S15、投票公告被发送到网络各节点。
第三部分、获取选票
S16、节点B接收到投票公告后,根据公告中的合格选民名单,确认自己是否为符合条件的投票节点。如果是,则向投票发起方节点发送申请选票请求VoteRequest。如果不是,则忽略此条投票公告。为了说明后续实施步骤,假设节点B是合格选民名单中的一员。
S17、投票发起方节点A接收到节点B的申请选票请求VoteRequest,验证节点B是否在合格选民名单中。如果是,则发送选票Voteb到节点B,否则,忽略此条申请选票请求VoteRequest。
S18、节点B接收到选票Voteb
需要说明的是,选票Voteb是一个选票编号ElectionID。投票发起方节点A为每位选民生成了对应的选民编号VoterID,投票发起方节点A用自己的公钥pka对VoterID加密,生成了ElectionID。每个ElectionID只能由投票发起方节点A的私钥ska解密,得到正确的VoterID。这样避免了第三方伪造虚假选票进行投票,干扰投票结果。
第四部分、加密投票结果
S19、投票节点B接收到选票Voteb之后,生成投票结果Text。利用数字签名算法Sign(Text,Hash,skb)生成投票结果的数字签名SignText。然后利用投票发起方节点A的公钥pka将选票ElectionID、投票结果Text、投票结果的数字签名SignText、数字证书Certb,打包在一起加密生成加密投票结果。即Encrypt(ElectionID,Text,SignText,Certb=>EncryptText)。
需要说明的是,数字签名算法Sign(Text,Hash,skb)具体过程如下:
投票节点先对投票内容Text进行哈希运算得到Hash(Text),然后用私钥skb对Hash(Text)加密生成数字签名SignText
进一步的,投票发起方节点接收到数字签名SignText后,验证投票内容是否被篡改的方法如下:
首先,投票发起方节点接收到的是加密投票结果EncryptText。发起方节点先用自己的私钥ska解密,得到选票ElectionID、投票结果Text、投票结果的数字签名SignText、数字证书Certb。其中,数字证书Certb中包含了投票节点的公钥pkb
投票发起方节点用投票节点的公钥pkb对数字签名SignText解密,得到经哈希运算后的投票内容Hash(Text)。
投票发起方节点对投票结果Text重新进行Hash运算,得到Hash′(Text)。
将Hash(Text)与Hash′(Text)进行比对,看是否一致。从而可以判断接收到的投票内容是否被篡改。
第四部分、搜集有效投票结果
S20、投票发起方节点A收到加密选票结果后,先用自己的私钥ska将其解密。得到选票编号ElectionID,以及投票节点的投票结果Text、数字签名SignText、数字证书Certb
S21、节点A首先验证选票编号ElectionID是否为合法编号,如果是,则说明此张选票有效,如果不是,说明此张选票为伪造选票,丢弃此条投票结果。
S22、进一步的,节点A使用数字证书Certb中包含的节点B的公钥,对数字签名SignText进行解密,并且利用Hash算法对投票结果Text进行Hash得到HashText,两者结果进行比对,验证是否一致。
S23、如果两者一致,说明投票内容未被篡改,投票结果存入区块链。如果不一致,说明投票内容被篡改,丢弃掉此条投票结果。
第五部分、计票
S24、投票时间截止后,投票发起方节点对所有有效投票结果进行统计,计算每位候选人的票数,将结果存入区块链,并将投票结果发布到网络。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

Claims (4)

1.一种基于区块链的加密网络投票方法,其特征在于,包括以下步骤:
准备阶段:
发起投票公告的步骤;
获取选票的步骤;
加密投票结果的步骤:
搜集有效投票结果的步骤:
计票的步骤;
所述获取选票的步骤具体包括:
S16、节点B接收到投票公告后,根据公告中的合格选民名单,确认自己是否为符合条件的投票节点;如果是,则向投票发起方节点发送申请选票请求VoteRequest,如果不是,则忽略此条投票公告;
S17、假设节点B是合格选民名单中的一员,投票发起方节点A接收到节点B的申请选票请求VoteRequest,验证节点B是否在合格选民名单中,如果是,则发送选票Voteb到节点B,否则,忽略此条申请选票请求VoteRequest;
S18、节点B接收到选票Voteb
所述选票Voteb是一个选票编号ElectionID,投票发起方节点A为每位选民生成了对应的选民编号VoterID,投票发起方节点A用自己的公钥pka对VoterID加密,生成了ElectionID;每个ElectionID只能由投票发起方节点A的私钥ska解密,得到正确的VoterID,用于避免了第三方伪造虚假选票进行投票,干扰投票结果;
所述加密投票结果的步骤具体包括:
S19、投票节点B接收到选票Voteb之后,生成投票结果Text;利用数字签名算法Sign(Text,Hash,skb)生成投票结果的数字签名SignText,然后利用投票发起方节点A的公钥pka将选票ID、投票结果、投票结果的数字签名、数字证书,打包在一起加密生成加密投票结果,即Encrypt(ElectionID,Text,SignText,Certb=>EncryptText);
所述搜集有效投票结果的步骤具体包括:
S20、投票发起方节点A收到加密选票结果后,先用自己的私钥ska将其解密;得到选票编号ElectionID,以及投票节点的投票结果Text、数字签名SignText、数字证书Certb
S21、节点A首先验证选票编号ElectionID是否为合法编号,如果是,则说明此张选票有效,如果不是,说明此张选票为伪造选票,丢弃此条投票结果;
S22、节点A使用数字证书Certb中包含的节点B的公钥,对数字签名SignText进行解密,并且利用Hash算法对投票结果Text进行Hash得到HashText,两者结果进行比对,验证是否一致;
S23、如果两者一致,说明投票内容未被篡改,投票结果存入区块链;如果不一致,说明投票内容被篡改,丢弃掉此条投票结果。
2.根据权利要求1所述的一种基于区块链的加密网络投票方法,其特征在于,所述准备阶段具体包括以下步骤:
S10、投票发起方节点A通过非对称加密算法生成一对公私钥(pka,ska),其中pka为节点A的公钥,ska为节点A的私钥;
S11、投票发起方节点A向CA认证节点P发起CSR证书签名请求,CA认证节点M验证节点A的身份,验证通过后为其生成数字证书Certa,数字证书Certa包含了节点A的公钥pka、CA认证节点M的数字签名Signm
S12、节点B通过非对称加密算法生成一对公私钥(pkb,skb),其中pkb为节点B的公钥,skb为节点B的私钥;
S13、节点B向CA认证节点M发起CSR证书签名请求,CA认证节点M验证节点B的身份,验证通过后为其生成数字证书Certb,数字证书Certb包含了节点B的公钥pkb、CA认证节点M的数字签名Signm
3.根据权利要求2所述的一种基于区块链的加密网络投票方法,其特征在于,所述发起投票公告的步骤具体包括:
S14、投票发起方节点A生成一个投票公告,公告中包含了投票信息、合格选民的名单、候选人列表、投票发起方节点A的数字证书Certa
S15、投票公告被发送到网络各节点。
4.根据权利要求1所述的一种基于区块链的加密网络投票方法,其特征在于,所述计票的步骤具体为:
S24、投票时间截止后,投票发起方节点对所有有效投票结果进行统计,计算每位候选人的票数,将结果存入区块链,并将投票结果发布到网络。
CN202210557367.8A 2022-05-19 2022-05-19 一种基于区块链的加密网络投票方法 Active CN115147975B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210557367.8A CN115147975B (zh) 2022-05-19 2022-05-19 一种基于区块链的加密网络投票方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210557367.8A CN115147975B (zh) 2022-05-19 2022-05-19 一种基于区块链的加密网络投票方法

Publications (2)

Publication Number Publication Date
CN115147975A CN115147975A (zh) 2022-10-04
CN115147975B true CN115147975B (zh) 2024-02-02

Family

ID=83407282

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210557367.8A Active CN115147975B (zh) 2022-05-19 2022-05-19 一种基于区块链的加密网络投票方法

Country Status (1)

Country Link
CN (1) CN115147975B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117040928B (zh) * 2023-10-08 2024-02-09 广州市悦智计算机有限公司 一种基于区块链智能合约实现投票权隐私发放方法
CN118053235A (zh) * 2024-02-01 2024-05-17 北京金证互通资本服务股份有限公司 一种基于大数据的股东大会现场签到投票分析方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109934988A (zh) * 2019-02-15 2019-06-25 哈尔滨工程大学 一种基于区块链的电子投票方法
CN110224993A (zh) * 2019-05-16 2019-09-10 暨南大学 基于区块链的可追责匿名电子投票方法及系统
CN110245183A (zh) * 2019-05-05 2019-09-17 上海链度科技有限公司 一种基于联盟区块链技术的加密电子投票选举系统及方法
CN110958253A (zh) * 2019-12-05 2020-04-03 全链通有限公司 基于区块链的电子投票方法、设备及存储介质
WO2020124843A1 (zh) * 2018-12-21 2020-06-25 暨南大学 基于区块链的可追踪的匿名电子投票方法
KR102169695B1 (ko) * 2019-05-15 2020-10-23 김동영 자가검증이 가능한 블록체인 전자투표 관리 방법
CN112291062A (zh) * 2020-10-28 2021-01-29 深圳前海微众银行股份有限公司 一种基于区块链的投票方法及装置
CN112632629A (zh) * 2021-03-10 2021-04-09 腾讯科技(深圳)有限公司 基于区块链的投票管理方法、装置、介质及电子设备
CN113285799A (zh) * 2021-04-19 2021-08-20 江苏大学 一种基于区块链的选举方法
CN113395164A (zh) * 2021-04-22 2021-09-14 江苏大学 一种基于环签名和区块链的电子投票方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020124843A1 (zh) * 2018-12-21 2020-06-25 暨南大学 基于区块链的可追踪的匿名电子投票方法
CN109934988A (zh) * 2019-02-15 2019-06-25 哈尔滨工程大学 一种基于区块链的电子投票方法
CN110245183A (zh) * 2019-05-05 2019-09-17 上海链度科技有限公司 一种基于联盟区块链技术的加密电子投票选举系统及方法
KR102169695B1 (ko) * 2019-05-15 2020-10-23 김동영 자가검증이 가능한 블록체인 전자투표 관리 방법
CN110224993A (zh) * 2019-05-16 2019-09-10 暨南大学 基于区块链的可追责匿名电子投票方法及系统
CN110958253A (zh) * 2019-12-05 2020-04-03 全链通有限公司 基于区块链的电子投票方法、设备及存储介质
CN112291062A (zh) * 2020-10-28 2021-01-29 深圳前海微众银行股份有限公司 一种基于区块链的投票方法及装置
WO2022089420A1 (zh) * 2020-10-28 2022-05-05 深圳前海微众银行股份有限公司 一种基于区块链的投票方法及装置
CN112632629A (zh) * 2021-03-10 2021-04-09 腾讯科技(深圳)有限公司 基于区块链的投票管理方法、装置、介质及电子设备
CN113285799A (zh) * 2021-04-19 2021-08-20 江苏大学 一种基于区块链的选举方法
CN113395164A (zh) * 2021-04-22 2021-09-14 江苏大学 一种基于环签名和区块链的电子投票方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KeithM.Martin.人人可懂的密码学 原书第2版.机械工业出版社,2020,126-129. *

Also Published As

Publication number Publication date
CN115147975A (zh) 2022-10-04

Similar Documents

Publication Publication Date Title
Dimitriou Efficient, coercion-free and universally verifiable blockchain-based voting
CN112487778B (zh) 多用户在线签约系统及方法
Kou Payment technologies for E-commerce
WO2019043589A1 (en) SYSTEMS AND METHODS FOR COMMUNICATING, STORING AND PROCESSING DATA PROVIDED BY AN ENTITY TO A BLOCK CHAIN NETWORK
CN111464980A (zh) 一种车联网环境下基于区块链的电子取证装置及取证方法
Cruz et al. E-voting system based on the bitcoin protocol and blind signatures
CN106878318A (zh) 一种区块链实时轮询云端系统
CN115147975B (zh) 一种基于区块链的加密网络投票方法
CN110892674A (zh) 区块链的交易生成方法和区块链的块验证方法
TWI648679B (zh) 使用區塊鏈之證照發行管理系統與方法
CN112291062B (zh) 一种基于区块链的投票方法及装置
CN114389811B (zh) 一种基于医疗联盟链的跨域认证方法
WO2018088475A1 (ja) 電子認証方法及びプログラム
KR20060127194A (ko) 공정한 블라인드 서명을 이용한 전자 투표 방법 및 시스템
CN114389810B (zh) 证明生成方法及装置、电子设备、存储介质
Zhu et al. Anonymous voting scheme for boardroom with blockchain
Lin et al. Blockchain-based complete self-tallying E-voting protocol
Salman et al. A Review on E-Voting Based on Blockchain Models
Wu et al. The survey on the development of secure multi-party computing in the blockchain
Boontaetae et al. RDI: Real digital identity based on decentralized PKI
JP6967211B1 (ja) 違法な取引を防止しつつ匿名ユーザの参加も許容する暗号資産の取引のための完全分散型ブロックチェーンシステム及びコンピュータープログラム
Rajeb et al. Formal analyze of a private access control protocol to a cloud storage
Cruz et al. E-voting system based on the bitcoin protocol and blind signatures
Lijuan et al. Electronic Voting Scheme Based on Blockchain and SM2 Cryptographic Algorithm Zero-Knowledge Proof
Guo et al. Voting system based on 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
CB02 Change of applicant information

Address after: No. 36 Dengying Avenue, Tonghui Street, Qijiang District, Chongqing, 401429

Applicant after: Chongqing Yitong College

Address before: 401520 No.1 holiday Avenue, University Town, Hechuan District, Chongqing

Applicant before: Chongqing Yitong College

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant