CN112489283B - 一种基于区块链和安全多方计算的电子投票选举统计方法 - Google Patents

一种基于区块链和安全多方计算的电子投票选举统计方法 Download PDF

Info

Publication number
CN112489283B
CN112489283B CN202011329543.XA CN202011329543A CN112489283B CN 112489283 B CN112489283 B CN 112489283B CN 202011329543 A CN202011329543 A CN 202011329543A CN 112489283 B CN112489283 B CN 112489283B
Authority
CN
China
Prior art keywords
voting
vote
election
chain
agent node
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
CN202011329543.XA
Other languages
English (en)
Other versions
CN112489283A (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.)
Hangzhou Liancheng Digital Technology Co ltd
Original Assignee
Hangzhou Liancheng Digital Technology Co ltd
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 Hangzhou Liancheng Digital Technology Co ltd filed Critical Hangzhou Liancheng Digital Technology Co ltd
Priority to CN202011329543.XA priority Critical patent/CN112489283B/zh
Publication of CN112489283A publication Critical patent/CN112489283A/zh
Application granted granted Critical
Publication of CN112489283B publication Critical patent/CN112489283B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Landscapes

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

Abstract

本发明属于电子投票选举统计技术领域,具体涉及基于区块链和安全多方计算的电子投票选举统计方法。本发明方法包括,设置投票代理节点;选民投票前将选票内容构造为整数,按照投票代理节点的数量,随机拆分为多个选票因子,并用私钥签名再以各投票代理节点的公钥加密后写入链上;投票截止时,各投票代理节点采用私钥解密并验证每个选票因子,并将选票因子之和写入链上共识,各参与方通过各代理节点发布的选票因子及对应明文,汇总统计出最终投票结果。本发明方法可确保电子选举过程的真实性、保密性和透明性,解决了传统电子投票选举中易出现的隐私泄露、贿选、暗箱操作和恶意投票等问题;为建设公平、公正、公开的选举环境奠定坚实基础。

Description

一种基于区块链和安全多方计算的电子投票选举统计方法
技术领域
本发明属于电子投票选举统计技术领域,具体涉及基于区块链和安全多方计算的电子投票选举统计方法。
背景技术
目前,我国的基层选举主要有现场选举和网络选举两种方式,分别使用纸质选票和电子选票作为载体进行统计,现场选举因为受各种客观条件制约,网络选举逐渐成为各类基层选举的首选。现有的网络选举方法主要采用中心化系统和传统密码学方式实现,选举的过程对各方不公开,存在隐私泄露风险和暗箱操作的问题,导致电子投票选举可信度低,极大地损害了选民的选举权和相关机构的公信力。
为了解决上述问题,目前常见的思路是综合运用各种现代密码技术提高选票的安全性,包括基于Mix-Net的方法、基于同态加密的方法、基于密码共享的方法以及基于盲签名的方法等等,比如微软公司开发的ElectionGuard方案,该方案使用微软内部开发的同态加密实现在保持选票加密的同时计票,然后选民可根据选举网站上的跟踪代码来验证他们的选票是否已被统计和未被更改。然而,这些密码学方法都是基于中心化的系统设计,存在不同程度的可被攻击者利用的安全漏洞,并且攻击一旦发生无法进行有效追溯,同时也无法从根本上杜绝投票举办机构本身的暗箱操作。
本发明提出了一种基于区块链和安全多方计算的电子投票选举方法,通过非对称加密算法和随机分布式存储,将选票加密和分散处理后写入链上,再由多个代理节点进行安全多方计算统计投票结果,实现了选举全过程的安全可信和公开透明。
发明内容
本发明的目的在于提供一种基于区块链和安全多方计算的电子投票选举统计方法,为参与选举的各方构建一个可信的协作网络,使得选举过程安全透明,选举结果真实可信。
本发明提供的基于区块链和安全多方计算的电子投票选举统计方法,首先,设置投票代理节点,在设置投票代理节点时,可以选择可信赖的机构或者个人,也可以选择运行于区块链上的智能合约程序;代理节点的选择方式可以事先约定,也可以在每次投票时临时采用可验证随机算法(VRF)确定;代理节点数量不少于3个,且彼此隔离以免发生信息串通,对选票内容的隐私性和安全性造成威胁;然后,每个选民投票前将选票内容构造为整数,将之按照投票代理节点的数量,随机拆分为多个选票因子整数,并分别用私钥签名再分别以各个投票代理节点的公钥加密后写入链上;最后,当投票截止时,由各投票代理节点采用私钥解密并验证每个选票因子,并将选票因子之和写入链上共识,各参与方则通过各代理节点发布的选票因子及对应明文,汇总统计出最终投票结果;具体步骤如下:
(1)建立选举模型,具体包括以下子步骤:
(1.1)确定选民,标记为B i (i=1…N);
(1.2)确定候选人,标记为C j (j=1…M);
(1.3)确定选举代理节点,标记为R k (k=1…K);
(1.4)投票结果以二进制数表示,每个候选人都会以长度l的二进制数表示,投票结构就是M个二进制数的拼接;其中,l由选民数量上限N决定,计算公式为:
l=ceiling(
Figure 917394DEST_PATH_IMAGE001
2 N,1)
(1.5)采用非对称加密算法为每个选举代理节点生成非对称密钥对(P k ,S k );
(2)开始投票,具体包括以下子步骤:
(2.1)选民B i 在投票软件选择若干个候选人C j ,每个候选人选票由l长度的二进制数e j (j=1…M)表示;
(2.2)投票软件将选民B i 的多个候选人的投票结果二进制数e j (j=1…M)拼接为一个长度为l×M的二进制数串E i (i=1…N);
(2.3)投票软件将E i (i=1…N)转换为十进制数V i (i=1…N);
(2.4)投票软件根据投票代理节点的数量K,将V i 随机拆分为K个非零整数(选票因子){ V i1 , V i2 ,..., V ik }(k=1…K);
(2.5)选民使用投票软件用其私钥对每个V ik 签名,分别使用第k代理节点的公钥P k V ik (i=1…N)加密得到SV ik ,然后以交易的形式写入链上;
(3)投票结果统计,具体包括以下子步骤:
(3.1)当智能合约判断出所有选民的选票因子已入链完毕,或投票截止时间已到达,则关闭投票通道,系统进入选票统计阶段;
(3.2)进入选票统计阶段,首先智能合约统计有效选票数量和选民名单并在链上公布,然后每个代理节点R k 获取链上发给本节点的选票因子加密数据SV ik ,解密并验证签名,与链上有效选票数量和选民名单校验,同时将解出的所有选票因子和V i 经私钥签名写入链上共识;
(3.3)选票统计智能合约对各个代理节点上的V i 求和得到Q,并将Q转换为二进制数,按长度l将其划分为Q 1 Q 2 ,…,Q m ,将Q j 转化为十进制即可得到每个候选人的得票数。
本发明的有益效果:
1、基于区块链技术实现了选票数据的分布式加密存储,保证了选票数据不可篡改,可追溯,实现各方对选举过程的全程监督;
2、每个代理节点只负责选票数据的片段加密存储,使得各个代理单点无法整合或知晓真实的投票数据,有效解决传统选举数据安全和隐私保护问题;
3、基于二进制选票数据分散矩阵技术,实现在安全多方计算框架下对选票进行编码和解码,实现选票数据的私密性,保证了选举结果的可信性和准确性。
附图说明
图1为基于区块链和安全多方计算的电子投票选举方法流程图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
本发明提供的基于区块链和安全多方计算的电子投票选举统计方法,首先,设置投票代理节点,在设置投票代理节点时,可以选择可信赖的机构或者个人,也可以选择运行于区块链上的智能合约程序。代理节点的选择方式可以事先约定,也可以在每次投票时临时采用可验证随机算法(VRF)确定。代理节点数量不少于3个,且彼此隔离以免发生信息串通,对选票内容的隐私性和安全性造成威胁;然后,每个选民投票前将选票内容构造为整数,将之按照投票代理节点的数量,随机拆分为多个选票因子整数,并分别用私钥签名再分别以各个投票代理节点的公钥加密后写入链上;最后,当投票截止时,由各投票代理节点采用私钥解密并验证每个选票因子,并将选票因子之和写入链上共识,各参与方则通过各代理节点发布的选票因子及对应明文,汇总统计出最终投票结果。
具体包括以下步骤:
(1)网络与基础信息构建,具体包括如下信息:
(1.1)确定选民标记为B i (i=1…N);
(1.2)确定候选人标记为C j (j=1…M);
(1.3)确定选举代理节点标记为R k (k=1…KM<K<N),以代理节点、监督节点等组成一个区块链投票网络;
(1.4)采用椭圆曲线加密算法,选择椭圆曲线{a,b,Gx,Gy,n,p},为每个选举代理节点R k 生成非对称密钥对(P k ,S k ),优选国密算法SM2;
(2)建立选举模型,具体包括如下步骤:
(2.1)候选人C j 的投票结果由长度l的二进制位e j 表示,即如果C j 被选中,则e j 的前l-1位为0,第l位为1;其中,l由选民数量上限N决定,计算公式为:
l=ceiling(
Figure 625454DEST_PATH_IMAGE001
2 N,1)
(2.2)一个选民B i 的选票由长度为M×l的二进制数串e 1 e 2 …e j (j=1…M)表示;
(3)开始投票,具体包括如下步骤:
(3.1)选民B i (i=1…N)在投票软件选择若干个候选人C j (j=1…M),投票软件生成二进制数串e 1 ||e 2 ||…||e j (j=1…M);
(3.2)将二进制数e 1 ||e 2 ||…||e j 转换为十进制数值V i
(3.3)将V i 随机拆分为K个非零整数V ik (i=1…N,k=1…K),作为选票因子;
(3.4)选民通过投票软件,采用椭圆曲线加密算法,使用自己私钥签名并通过代理节点R k 的公钥P k V ik 加密得到SV ik (i=1…N,k=1…K);
(3.5)SV ik (i=1…N,k=1…K)以交易的形式投票区块链网络进行共识;
(4)投票结果统计,具体包括如下步骤:
(4.1)当智能合约判断出所有选民的选票因子已入链完毕,或投票截止时间已到达,则关闭投票通道,系统进入选票统计阶段;
(4.2)进入选票统计阶段,首先智能合约统计有效选票数量和选民名单并在链上公布;
(4.3)每个代理节点R k 获取链上发给本节点的选票因子加密数据SV ik (i=1…N,k= 1…K),解密并验证签名,与链上有效选票数量和选民名单校验,同时将解出的所有选票因子和V i 经私钥签名写入链上共识;
(4.4)选票统计智能合约对各个代理节点上的V i 求和得到Q,并将Q转换为二进制数,按长度l将其划分为Q 1 Q 2 ,…,Q m ,将Q j 转化为十进制即可得到每个候选人的得票数。
本发明针对基于传统中心化系统的投票选举方法中存在的投票信息安全性较低,过程不公开透明等问题,构建了一个基于区块链的去中心化投票选举系统,有效解决了传统方法难以解决的数据安全和信任问题,可实现安全、灵活、高效的投票选举,广泛适用于政务管理与社会治理等各类投票场景。
本发明提出基于区块链和安全多方计算技术,对选票数据进行加密处理和分布式存储,保证电子选举过程的真实性、保密性、无据性和透明性,从而解决了传统电子投票选举中易出现的的隐私泄露、贿选、暗箱操作和恶意投票等问题。本发明提出的安全可信、公开透明的选举统计方法可在各种基层管理或治理领域发挥重要作用,如社区、村(居)委会等换届选举过程中,利用区块链的电子投票选举方法,既能实现监督机构充分发挥监督作用,又能保证选举全流程合规。本发明方法可以充分保护选民隐私,即使系统运营方也无法获取选票信息,保证罢免流程的有效实施,解决了被选举方只看重选举结果而不重视行使职权过程的问题,选民可以真正地行使选举权和罢免权,无需担心隐私泄露,为建设公平、公正、公开的选举环境奠定坚实基础。

Claims (1)

1.一种基于区块链和安全多方计算的电子投票选举方法,其特征在于,首先,设置投票代理节点,代理节点数量不少于3个;投票代理节点为可信赖的机构或者个人,或者为运行于区块链上的智能合约程序;代理节点的选择方式为事先约定,或者在每次投票时临时采用可验证随机算法确定;然后,每个选民投票前将选票内容构造为整数,将之按照投票代理节点的数量,随机拆分为多个选票因子整数,并分别用私钥签名再分别以各个投票代理节点的公钥加密后写入链上;最后,当投票截止时,由各投票代理节点采用私钥解密并验证每个选票因子,并将选票因子之和写入链上共识,各参与方则通过各代理节点发布的选票因子及对应明文,汇总统计出最终投票结果;具体步骤为:
(1)建立选举模型,具体包括以下子步骤:
(1.1)确定选民,标记为Bi(i=1…N);
(1.2)确定候选人,标记为Cj(j=1…M);
(1.3)确定选举代理节点,标记为Rk(k=1…K);
(1.4)投票结果以二进制数表示,每个候选人都会以长度l的二进制数表示,投票结构就是M个二进制数的拼接;其中,l由选民数量上限N决定,计算公式为:
l=ceiling(log2N,1)
(1.5)采用非对称加密算法为每个选举代理节点生成非对称密钥对(Pk,Sk);
(2)开始投票,具体包括以下子步骤:
(2.1)选民Bi在投票软件选择若干个候选人Cj,每个候选人选票由l长度的二进制数ej(j=1…M)表示;
(2.2)投票软件将选民Bi的多个候选人的投票结果二进制数ej(j=1…M)拼接为一个长度为l×M的二进制数串Ei(i=1…N);
(2.3)投票软件将Ei(i=1…N)转换为十进制数Vi(i=1…N);
(2.4)投票软件根据投票代理节点的数量K,将Vi随机拆分为K个非零整数(选票因子){Vi1,Vi2,...,Vik}(k=1…K);
(2.5)选民使用投票软件用其私钥对每个Vik签名,分别使用第k代理节点的公钥Pk对Vik(i=1…N)加密得到SVik,然后以交易的形式写入链上;
(3)投票结果统计,具体包括以下子步骤:
(3.1)当智能合约判断出所有选民的选票因子已入链完毕,或投票截止时间已到达,则关闭投票通道,系统进入选票统计阶段;
(3.2)进入选票统计阶段,首先智能合约统计有效选票数量和选民名单并在链上公布,然后每个代理节点Rk获取链上发给本节点的选票因子加密数据SVik,解密并验证签名,与链上有效选票数量和选民名单校验,同时将解出的所有选票因子和Vi经私钥签名写入链上共识;
(3.3)选票统计智能合约对各个代理节点上的Vi求和得到Q,并将Q转换为二进制数,按长度l将其划分为Q1,Q2,…,Qm,将Qj转化为十进制即可得到每个候选人的得票数。
CN202011329543.XA 2020-11-24 2020-11-24 一种基于区块链和安全多方计算的电子投票选举统计方法 Active CN112489283B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011329543.XA CN112489283B (zh) 2020-11-24 2020-11-24 一种基于区块链和安全多方计算的电子投票选举统计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011329543.XA CN112489283B (zh) 2020-11-24 2020-11-24 一种基于区块链和安全多方计算的电子投票选举统计方法

Publications (2)

Publication Number Publication Date
CN112489283A CN112489283A (zh) 2021-03-12
CN112489283B true CN112489283B (zh) 2022-06-21

Family

ID=74933803

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011329543.XA Active CN112489283B (zh) 2020-11-24 2020-11-24 一种基于区块链和安全多方计算的电子投票选举统计方法

Country Status (1)

Country Link
CN (1) CN112489283B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112787810A (zh) * 2021-01-07 2021-05-11 杭州链城数字科技有限公司 基于区块链和安全多方计算的电子投票选举方法及装置
CN113285799B (zh) * 2021-04-19 2023-04-07 江苏大学 一种基于区块链的选举方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558517A (zh) * 2018-10-24 2019-04-02 中山大学 一种基于区块链的多方安全选举系统
CN110264608A (zh) * 2019-04-11 2019-09-20 阿里巴巴集团控股有限公司 基于区块链的投票方法、装置及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11049349B2 (en) * 2004-06-01 2021-06-29 Daniel William Onischuk Computerized voting system
US10790964B2 (en) * 2017-11-17 2020-09-29 International Business Machines Corporation Peer voting on a blockchain
CN109639837B (zh) * 2019-01-31 2021-04-06 东南大学 基于信任机制的区块链DPoS共识方法
CN110071800A (zh) * 2019-04-10 2019-07-30 苏州同济区块链研究院有限公司 一种基于区块链的公平安全电子投票协议方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558517A (zh) * 2018-10-24 2019-04-02 中山大学 一种基于区块链的多方安全选举系统
CN110264608A (zh) * 2019-04-11 2019-09-20 阿里巴巴集团控股有限公司 基于区块链的投票方法、装置及系统

Also Published As

Publication number Publication date
CN112489283A (zh) 2021-03-12

Similar Documents

Publication Publication Date Title
CN109785494B (zh) 基于区块链的可追踪的匿名电子投票方法
Zhang et al. A privacy-preserving voting protocol on blockchain
CN110224993B (zh) 基于区块链的可追责匿名电子投票方法及系统
Ziegeldorf et al. Coinparty: Secure multi-party mixing of bitcoins
Yang et al. PriScore: Blockchain-based self-tallying election system supporting score voting
Li et al. Efficient quantum blockchain with a consensus mechanism QDPoS
CN108777616B (zh) 一种抗量子计算机攻击的电子选举方法、管理装置和电子选举系统
CN112489283B (zh) 一种基于区块链和安全多方计算的电子投票选举统计方法
Wei et al. Blockchain-based electronic voting protocol
Qu et al. A electronic voting protocol based on blockchain and homomorphic signcryption
Marcos del Blanco et al. Review of cryptographic schemes applied to remote electronic voting systems: remaining challenges and the upcoming post-quantum paradigm
CN112787810A (zh) 基于区块链和安全多方计算的电子投票选举方法及装置
CN112822006B (zh) 一种基于单光子的量子一票否决保密投票方法
Du et al. A secure quantum voting scheme based on orthogonal product states
CN116318901A (zh) 一种融合区块链的隐私和可验证物联网数据聚合方法
CN114169888B (zh) 一种通用型支持多重签名的加密货币保管方法
CN113472524B (zh) 一种抗恶意传输数据攻击的数据聚合签名系统及方法
Alam et al. Electronic voting-Scopes and limitations
Lu et al. Self-tallying e-voting with public traceability based on blockchain
Zhao et al. Efficient and Privacy-Preserving Federated Learning against Poisoning Adversaries
Vijayalakshmi et al. Secure online voting system in cloud
Haghighat et al. An efficient and provably-secure coercion-resistant e-voting protocol
Peiyu et al. Exploration of Block chain Technology in Electric Power transaction
CN112702159A (zh) 一种基于区块链的线上专家评分方法和系统
Chen et al. Privacy Preserving Electronic Scoring Scheme based on CKKS

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
CB03 Change of inventor or designer information

Inventor after: Yin Keting

Inventor after: Fang Wenjing

Inventor after: Tang Quan

Inventor after: Zhang Dehui

Inventor after: Sheng Fengsong

Inventor after: Ma Zhenjun

Inventor before: Zhang Dehui

Inventor before: Wei Yibing

Inventor before: Sheng Fengsong

Inventor before: Yin Keting

Inventor before: Ma Zhenjun

Inventor before: Tang Quan

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant