一种基于理想格的区块链匿名投票技术制造技术

技术编号:35179707 阅读:15 留言:0更新日期:2022-10-12 17:47
本发明专利技术涉及一种基于理想格的区块链匿名投票技术,属于区块链隐私保护技术领域。本发明专利技术针对现有的电子投票系统存在依赖可信第三方、不抗量子攻击等缺陷,为解决在量子环境下基于区块链匿名投票的隐私安全性问题,采用基于理想格陷门的环签名技术,在能够抵抗量子计算攻击的同时可以缩小签名的长度和签名的效率。本发明专利技术对投票的内容进行了加密,保护了公开在链上的选票的内容,避免投票结果被提前获知。同时,不需要依赖可信的第三方进行票数统计,所有用户都可以进行验票,可以无争议地达成共识。成共识。成共识。

【技术实现步骤摘要】
一种基于理想格的区块链匿名投票技术


[0001]本专利技术涉及一种基于理想格的区块链匿名投票技术,属于区块链隐私保护


技术介绍

[0002]随着互联网技术的发展,电子投票系统在实际场景中有着广泛的应用。电子匿名投票系统需要满足7个标准,分别是合法性、唯一性、匿名性、公正性、完整性、准确性和可验证性。然而,这7个标准很难同时实现甚至是相互矛盾,比如公开透明和匿名性。此外,传统的电子投票需要第三方可信管理机构。因此,投票的真实性依赖于中心化机构的可信真实性。
[0003]为了解决传统的电子投票依赖可信第三方的技术问题,在区块链上部署依靠智能合约的匿名电子投票系统逐渐受到关注。智能合约可以视作一个公正的第三方机构来进行投票项目的项目管理。区块链技术因其具有去中心化和去信任的特性,可以实现电子投票在不需要可信第三方的情况下实现的公开可验证。然而,随着量子计算机的发展,以传统密码学为基础的区块链系统受到了威胁。因此,基于区块链的匿名投票系统也面临隐私泄露的问题。
[0004]综上所述,为了解决在量子环境下基于区块链匿名投票的隐私安全性问题,必须寻找一种抗量子安全的基于区块链的匿名投票技术。

技术实现思路

[0005]本专利技术的目的是针对现有的电子投票系统存在依赖可信第三方、不抗量子攻击等缺陷,为解决在量子环境下基于区块链匿名投票的隐私安全性问题,创造性地提出一种基于理想格的区块链匿名投票技术。本专利技术采用基于理想格的环签名技术,使其与区块链中的匿名投票应用场景进行结合。
[0006]为了达到上述目的,本专利技术采取如下技术方案。
[0007]首先,对本专利技术涉及的有关概念内容进行说明。
[0008]1.区块链网络。是用于匿名投票系统运行的基础设施网络,包括用户节点与合约服务器,通过共识算法达成分布式存储的匿名网络系统。
[0009]2.用户节点。指在区块链中注册生成用户地址的节点,参与对区块链的同步以及对头结点信息的验证。
[0010]3.合约服务器。指区块链中额外承担了部署智能合约业务的用户节点,同时进行区块链的全同步。
[0011]4.智能合约。一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约接受投票项目的注册请求,为其生成项目公私钥,接受投票者注册请求,生成格基环签名公私钥作为投票凭证进行委派,最后参与选票统计。
[0012]一种基于理想格的区块链匿名投票技术,包括以下步骤:
[0013]步骤1:投票项目注册。
[0014]用户对投票项目进行初始化,注册投票项目信息。智能合约对项目信息产生相关安全参数。
[0015]具体地,步骤1可以包括以下步骤:
[0016]步骤1.1:用户向智能合约发起注册请求,并提供项目信息,包括候选者列表(c1,c2,...c
n
)、投票规则(投票者一次可投的票数为n)、时间节点(公开注册时间Tc、公开投票时间Tv)。其中,c
n
表示第n个候选者。
[0017]步骤1.2:智能合约接收生成专属于此项目的公私钥对(IDsk,IDpk),保留公钥IDpk,将私钥IDsk和相关项目(候选者列表、投票规则、时间节点)信息公示到区块链中。
[0018]步骤2:投票者登记。
[0019]参与投票的用户根据链上的申请投票项目信息,在区块链登记相关的个人信息。
[0020]具体地,步骤2可以包括以下步骤:
[0021]步骤2.1:参与投票的区块链用户在公开注册时间内,向智能合约提交注册申请。
[0022]步骤2.2:智能合约收到投票者的注册申请之后,产生投票者的公私钥对(usk,upk),其中usk为投票者的私钥,upk为投票者的公钥。
[0023]步骤2.3:智能合约使用项目公钥IDpk、投票者公钥upk和随机数r,生成一个唯一的标识token作为投票者的唯一标识。目的是避免一个投票者多次投票。
[0024]步骤2.4:智能合约将产生的投票者的私钥和投票者唯一标识token,通过可信信道发送给投票者。
[0025]步骤3:投票准备。
[0026]获得唯一标识token的投票者在投票前,要进行必要的准备工作,包括获得若干个投票者的公钥以及投票项目的相关信息。
[0027]具体地,步骤3可以包括以下步骤:
[0028]步骤3.1:投票者在投票前,在区块链中选择k个参与投票项目ID的投票者的公钥upk,k个参与项目ID投票者作为环签名的诱饵用户。其中,k≥2。
[0029]步骤3.2:投票者在区块链中获得项目相关信息,包括项目ID的候选人列表(c1,c2,...c
n
)、时间节点中的公开投票时间Tv、投票规则。
[0030]步骤4:投票。
[0031]投票者采用同态加密将投票内容进行加密,采用基于理想格的环签名技术对加密的投票内容进行签名。
[0032]具体地,步骤4可以包括以下步骤:
[0033]步骤4.1:投票者按照项目ID的投票规则对,生成投票内容M。
[0034]步骤4.2:投票者使用同态加密对投票内容M进行加密,得到加密的投票内容ME。
[0035]步骤4.3:投票者对加密投票内容ME进行环签名。
[0036]本方法中,使用基于理想格的环签名方式。
[0037]步骤4.4:投票者将加密后的消息ME、环签名e、项目标识、时间戳和投票者唯一标识token,一起公开到区块链上。
[0038]步骤5:计票准备。
[0039]智能合约收集区块链上的选票,进行token和环签名的认证,对加密的消息ME进行
同态相加。
[0040]具体地,步骤5可以包括以下步骤:
[0041]步骤5.1:对投票者唯一标识token进行验证,只记录每个token对应的第一次投票。
[0042]区块链的任何用户,都能够验证投票者的环签名的有效性。
[0043]步骤5.2:验证投票之后,将投票的消息进行同态相加。
[0044]步骤6:计票验证。
[0045]此时总票数已经上传到区块链中,在此阶段公开投票结果。智能合约公开同态加密私钥使用解密算法,对区块链中每条投票信息进行解密得到每个投票结果,对于总的投票结果进行解密得到总投票结果。
[0046]区块链中的任何用户均可自行计算每张选票的结果来与投票结果进行验证。
[0047]有益效果
[0048]本专利技术,对比现有技术,具有以下优点:
[0049]1.本专利技术采用基于理想格陷门的环签名技术,在能够抵抗量子计算攻击的同时可以缩小签名的长度和签名的效率。
[0050]2.本专利技术对投票的内容进行了加密,保护了公开在链上的选票的内容,避免投票结果被提前获知。同时,不再需要依赖可信的第三方进行票数统计,所有用户都可以进行验票,可以无争议地达成共识。
附图说明
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于理想格的区块链匿名投票技术,其特征在于,包括以下步骤:步骤1:投票项目注册;用户对投票项目进行初始化,注册投票项目信息,智能合约对项目信息产生相关安全参数;步骤2:投票者登记;参与投票的用户根据链上的申请投票项目信息,在区块链登记相关的个人信息;智能合约生成一个投票者的唯一标识;步骤3:投票准备;获得唯一标识的投票者在投票前,要进行必要的准备工作,包括获得若干个投票者的公钥,以及投票项目的相关信息;步骤4:投票;投票者采用同态加密将投票内容进行加密,采用基于理想格的环签名技术对加密的投票内容进行签名;步骤5:计票准备;智能合约收集区块链上的选票,进行投票者唯一标识和环签名的认证,对加密的投票内容进行同态相加;步骤6:计票验证;智能合约公开同态加密私钥,使用解密算法对区块链中每条投票信息进行解密得到每个投票结果,对于总的投票结果进行解密得到总投票结果;区块链中的任何用户均自能够行计算每张选票的结果来与投票结果进行验证。2.如权利要求1所述的一种基于理想格的区块链匿名投票技术,其特征在于,步骤1包括以下步骤:步骤1.1:用户向智能合约发起注册请求,并提供项目信息,包括候选者列表(c1,c2,...c
n
)、投票规则、时间节点,其中c
n
表示第n个候选者,时间节点包括公开注册时间Tc和公开投票时间Tv;步骤1.2:智能合约接收生成专属于此项目的公私钥对(IDsk,IDpk),保留公钥IDpk,将私钥IDsk和相关项目信息公示到区块链中,相关项目信息包括候选者列表、投票规则、时间节点;步骤2包括以下步骤:步骤2.1:参与投票的区块链用户在公开注册时间内,向智能合约提交注册申请;步骤2.2:智能合约收到投票者的注册申请之后,产生投票者的公私钥对(usk,upk),其中usk为投票者的私钥,upk为投票者的公钥;步骤2.3:智能合约使用项目公钥IDpk、投票者公钥upk和随机数r,生成一个唯一的标识token作为投票者的唯一标识;步骤2.4:智能合约将产生的投票者的私钥和投票者唯一标识token,通过可信信道发送给投票者;步骤3包括以下步骤:步骤3.1:投票者在投票前,在区块链中选择k个参与投票项目ID的投票者的公钥upk,k个参与项目ID投票者作为环签名的诱饵用户,k≥2;
步骤3.2:投票者在区块链中获得项目相关信息,包括项目ID的候选人列表(c1,c2,...c
n
)、时间节点中的公开投票时间Tv和投票规则;步骤4包括以下步骤:步骤4.1:投票者按照项目ID的投票规则对,生成投票内容M;步骤4.2:投票者使用同态加密对投票内容M进行加密,得到加密的投票内容ME;步骤4.3:投票者对加密投票内容ME进行环签名;本方法中,使用基于理想格的环签名方式;步骤4.4:投票者将加密后的消息ME、环签名e、项目标识、时间戳和投票者唯一标识token,一起公开到区块链上;步骤5包括以下步骤:步骤5.1:对投票者唯一标识token进行验证,只记录每个token对应的第一次投票;区块链的任何用户,都能够验证投票者的环签名的有效性;步骤5.2:验证投票之后,将投票的消息进行同态相加。3.如权利要求2所述的一种基于理想格的区块链匿名投票技术,其特征在于,步骤1中,产生项目公私钥对(IDsk,IDpk)的过程如下:令主密钥生成Setup(1
n
);输入包括:模q多项式商环上的n*m矩阵A,模q多项式商环上的可逆n*n矩阵H,高斯分布D,q、n、m均是正整数;输出包括:项目公钥IDpk=A和项目私钥IDpk=R,其中,是校验矩阵,R是陷门,表示随机选取的矩阵,A1表示理想格对应的格点HG

AR,表示模q的整数组成的n
×
m的矩阵集合;首先,根据高斯分布D随机选择一个陷门矩阵然后,计算之后,输出项目公钥IDpk=A和项目私钥IDsk=R。4.如权利要求2所述的一种基于理想格的区块链匿名投票技术,其特征在于,步骤2中,产生投票者的公私钥对(upk,usk)的具体过程如下:投票者公私钥产生算法Extract(id
i
,msk),其中:输入包括:token对应的随机数序号id
i
,投票项目主密钥IDsk;输出包括:派生的公私钥和usk
i
...

【专利技术属性】
技术研发人员:盖珂珂王烁周博涵蒋芃徐蕾祝烈煌
申请(专利权)人:北京理工大学
类型:发明
国别省市:

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

1