当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于区块链制造技术

技术编号:39756095 阅读:12 留言:0更新日期:2023-12-17 23:55
本发明专利技术公开了一种基于区块链

【技术实现步骤摘要】
一种基于区块链、环签名和同态加密的电子投票选举方法


[0001]本专利技术属于密码学

区块链领域,尤其涉及了一种基于区块链

环签名和同态加密的电子投票选举方法


技术介绍

[0002]随着现代信息技术的发展,社会对电子选举技术以及社会民主进步的关注日益增加

近年来,电子选举已经成为国际信息技术界一个特殊重要的领域

如今国际电子选举系统研究主要分为两个方向:一是基于远程网络通信的电子选举
(Remote e

Voting)
,主要是基于数论的密码学工具和应用技巧,主要有基于同态加密的电子选举方案

基于秘密共享的电子选举方案

基于盲签名的电子选举方案和基于混合网络的电子选举方案;二是基于抵近物理站站点投票的电子选举
(Site

Polling e

Voting)
,现场选举因为受各种客观条件制约,网络选举逐渐成为各类基层选举的首选

现有的网络选举方法主要采用中心化系统和传统密码学方式实现,选举的过程对各方不公开,存在隐私泄露风险和暗箱操作的问题,导致电子投票选举可信度低,极大地损害了选民的选举权和相关机构的公信力

[0003]现有技术中缺少一种基于区块链和环签名的电子投票选举方法,该方法能通过非对称加密算法,以实现了选举全过程的安全可信和公开透明
/>
技术实现思路

[0004]本专利技术要解决的问题是如何为参与选举的各方构建一个可信的协作网络,使得选举过程安全透明,选举结果真实可信

本专利技术的目的在于提供一种基于区块链

环签名和同态加密的电子投票选举方法

[0005]本专利技术所采用的技术方案如下,包括以下步骤:
[0006]步骤
S1
:首先,建立选举模型并生成同态公私钥对;
[0007]步骤
S2
:然后,将步骤
S1
得到的选举模型进行初始化,获得选民的公钥和私钥,并将公钥以及选民的票号信息公布到区块链上;
[0008]步骤
S3
:接着建立投票模型并生成选票因子,投票软件将选票因子以交易的形式写到链上;
[0009]步骤
S4
:投票结果统计:
[0010]当投票截止时,通过同态公私钥对的私钥解开选票因子之和,统计出每位候选人最终获得的选票票数并公布

[0011]所述步骤
S1
的建立选举模型,具体包括以下步骤:
[0012](1.1)、
确定选民,标记为
B
i
(i

1...N)

[0013](1.2)、
确定候选人,标记为
C
j
(j

1...M)

[0014](1.3)、
投票结果以二进制数表示,每个候选人
C
j
均由长度为
l
的二进制数表示,投票结果就是
M
个二进制数的拼接;
[0015](1.4)、
采用
Paillier
同态公钥加密算法生成同态公私钥对,所述的同态公私钥对
包含同态公钥
(g


n

)
和对应的同态私钥
(
λ

μ
)。
[0016]所述步骤
S2
中初始化选举模型,具体包括以下步骤:
[0017](2.1)、
选举发起方部署计票合约,将同态公私钥对中的同态公钥
(g


n

)
和同态私钥
(
λ

μ
)
均存储入计票合约中并且部署私钥解密算法;
[0018](2.2)、
选举发起方在投票软件上预设选民范围

候选人名单和投票规则,发布通知并在智能终端上安装投票软件;
[0019](2.3)、
选举发起方到线下,通过现场身份证信息比对来认证合法选民身份,当选民身份认证成功后生成选民
B
i
的非对称密钥
(P
i

S
i
)
和对应的选票编号
U
i

[0020](2.4)、
每个选票编号
U
i
哈希后得到对应的票号
E
sm3
(U
i
)
,选举发起方收集所有的票号
E
sm3
(U
i
)
和公钥
P
i
,并将上述信息公布到区块链上

[0021]所述步骤
S3
的建立投票模型,具体包含以下步骤:
[0022](3.1)、
选民在智能终端上下载投票软件并注册匿名账户;
[0023](3.2)、
选民
B
i
在投票软件选择若干意向候选人
C
j
,每个候选人选票均由长度为
l
的二进制数
e
j
表示;在投票软件内部每个选民
B
i
的每张选票均由长度为
M*l
的二进制数串
E
i

表示:
[0024]E
i


e1||e2||...||e
j
...||e
M
[0025](3.3)、
在每张选票前增加一串长度为
256
位的随机值
r
i
,得到目标选票
R
i

[0026]R
i

r
i
||E
i

[0027](3.4)、
将每个选民
B
i
的目标选票
R
i
通过同态公钥
(g


n

)
进行加密,加密后得到加密选票
E
i

[0028](3.5)、
利用投票软件生成每个选民
B
i
对应的选票因子
Z
i
,并将所有的选票因子
Z
i
以交易的形式写入链上

[00本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种基于区块链

环签名和同态加密的电子投票选举方法,其特征在于,包括以下步骤:步骤
S1
:首先,建立选举模型并生成同态公私钥对;步骤
S2
:然后,将步骤
S1
得到的选举模型进行初始化,获得选民的公钥和私钥,并将公钥以及选民的票号信息公布到区块链上;步骤
S3
:接着建立投票模型并生成选票因子,投票软件将选票因子以交易的形式写到链上;步骤
S4
:投票结果统计:当投票截止时,通过同态公私钥对的私钥解开选票因子之和,统计出每位候选人最终获得的选票票数并公布
。2.
根据权利要求1所述的一种基于区块链

环签名和同态加密的电子投票选举方法,其特征在于:所述步骤
S1
的建立选举模型,具体包括以下步骤:
(1.1)、
确定选民,标记为
B
i
(i
=1…
N)

(1.2)、
确定候选人,标记为
C
j
(j
=1…
M)

(1.3)、
投票结果以二进制数表示,每个候选人
C
j
均由长度为
l
的二进制数表示,投票结果就是
M
个二进制数的拼接;
(1.4)、
采用
Paillier
同态公钥加密算法生成同态公私钥对,所述的同态公私钥对包含同态公钥
(g

,n

)
和对应的同态私钥
(
λ
,
μ
)。3.
根据权利要求1所述的一种基于区块链

环签名和同态加密的电子投票选举方法,其特征在于:所述步骤
S2
中初始化选举模型,具体包括以下步骤:
(2.1)、
选举发起方部署计票合约,将同态公私钥对中的同态公钥
(g

,n

)
和同态私钥
(
λ
,
μ
)
均存储入计票合约中并且部署私钥解密算法;
(2.2)、
选举发起方在投票软件上预设选民范围

候选人名单和投票规则,发布通知并在智能终端上安装投票软件;
(2.3)、
选举发起方到线下,通过现场身份证信息比对来认证合法选民身份,当选民身份认证成功后生成选民
B
i
的非对称密钥
(P
i
,S
i
)
和对应的选票编号
U
i

(2.4)、
每个选票编号
U
i
哈希后得到对应的票号
E
sm3
(U
i
)
,选举发起方收集所有的票号
E
sm3
(U
i
)
和公钥
P
i
,并将上述信息公布到区块链上
。4.
根据权利要求1所述的一种基于区块链

环签名和同态加密的电子投票选举方法,其特征在于:所述步骤
S3
的建立投票模型,具体包含以下步骤:
(3.1)、
选民在智能终端上下载投票软件并注册匿名账户;
(3.2)、
选民
B
i
在投票软件选择若干意向候选人
C
j
,每个候选人选票均由长度为
l
的二进制数
e
j
表示;在投票软件内部每个选民
B
i
的每张选票均由长度为
M*l
的二进制数串
E
i

表示:
E
i


e1||e2||

||e
j

||e
M
(3.3)、
在每张选票前增加一串长度为
256
位的随机值
r
i
,得到目标选票
R
i

R
i

r
i
||E
i

(3.4)、
将每个选民
B
i
的目标选票
R
i
通过同态公钥
(g


n

)
进行加密,加密后得到加密选票
E
i

(3.5)、
利用投票软件生成每个选民
B
i
对应的选票因子
Z
i
,并将所有的选票因子
Z
i
以交易的形式写入链上
。5.
根据权利要求1所述的一种基于区块链

环签名和同态加密的电子投票选举方法,其特征在于:所述步骤
S4
中投票结果统计,具体包括以下步骤:
(4.1)、
当计票合约判断出所有选民的选票因子
Z
i
均已入链完毕,或投票截止时间已到达,则关闭投票通道,系统进入选票统计阶段;
(4.2)、
进入选票统计阶段,首先计票合约将选票因子
Z
i
拆分为三部分,分别为加密选票
E
i

选票编号
U
i
和环签名验证集合
X
i

(4.3)
依次验证环签名验证集合
X
i
以及选票编号
U
i
的合理性,并从所有的加密选票中筛选出有效的加密选票
E
i

(4.4)、
当所有选票编号
N
i
均验证完毕后,使用同态加法将所有的有效加密选票
E
i
进行相加,得到最终选票结果,最终选票结果以二进制数串
F
进行表示:
F

d||f1||f2||

||f
j

||f
M
(4.5)、

【专利技术属性】
技术研发人员:万昱君蔡亮
申请(专利权)人:浙江大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1