【技术实现步骤摘要】
基于区块链的一人多票电子投票方法及系统
本专利技术属于计算机通信,密码学和区块链领域,涉及一种基于区块链的一人多票电子投票系统。
技术介绍
电子投票发展到现在也有不少年头了,但是一些安全问题仍然不能很好的解决,服务器一旦受到攻击,投票结果很容易被修改,投票的公平性就荡然无存。区块链作为比特币的底层技术实现,以其去中心化不可篡改等特点被用在电子投票系统中,增强了投票系统的安全性。但是,如今很多基于区块链的电子投票系统还有很多的不足。比如,由于每个投票人对应一个区块链账户,所以每个投票人只能对一个候选项投一票,从而导致可以根据每个区块链账户的交易信息的不同倒推出投票人的信息,这就不能保证投票信息的匿名性。而每个投票人只能对一个候选项投一票,制约了很多投票场景。并且现在的很多投票系统都是单方向的身份验证,即只能服务器验证用户的身份,而用户却不能验证服务器是否正确,这又大大增加了投票系统的安全隐患。
技术实现思路
本专利技术的目的是针对如今基于区块链的电子投票系统的不足,设计了一种基于区块链的一人多票电子投票方法及系统。这个投票系统解决了每个投票人只能对一个候选项投一票以及用户不能验证服务器是否正确的问题。基于区块链的一人多票电子投票系统包含了投票工具包模块,前端服务器模块,认证服务器模块,投票服务器模块,计票服务器模块,普通关系型数据库模块,区块链模块。其中:投票工具包模块包括代表投票人身份的ID、投票人的公钥和私钥、认证服务器的公钥和私钥、投票服务器的公钥和私钥、计票服务器的公钥和私钥、随机字符串生成器,用于辅助投票。前端服务器模块,用于投票人的双向身份认证,生成 ...
【技术保护点】
1.基于区块链的一人多票电子投票系统,其特征在于包括投票工具包模块,前端服务器模块,认证服务器模块,投票服务器模块,计票服务器模块,普通关系型数据库模块,区块链模块;投票工具包模块包括代表投票人身份的ID、投票人的公钥和私钥、认证服务器的公钥和私钥、投票服务器的公钥和私钥、计票服务器的公钥和私钥、随机字符串生成器,用于辅助投票;前端服务器模块,用于投票人的双向身份认证,生成选票,显示投票结果;认证服务器模块,用于投票人的双向身份认证,选票签名;投票服务器模块,用于验证选票签名,将选票第一次解密,以及将验证成功后的选票保存到区块链中;普通关系型数据库模块,用于保存投票人的ID哈希值,最大投票数,认证服务器的公钥和私钥,投票人的公钥,投票服务器的公钥和私钥、计票服务器的公钥和私钥;区块链模块,用于保存选票;计票服务器,用于从区块链中取出选票,计算投票结果,并将结果发送给前端服务器显示。
【技术特征摘要】
1.基于区块链的一人多票电子投票系统,其特征在于包括投票工具包模块,前端服务器模块,认证服务器模块,投票服务器模块,计票服务器模块,普通关系型数据库模块,区块链模块;投票工具包模块包括代表投票人身份的ID、投票人的公钥和私钥、认证服务器的公钥和私钥、投票服务器的公钥和私钥、计票服务器的公钥和私钥、随机字符串生成器,用于辅助投票;前端服务器模块,用于投票人的双向身份认证,生成选票,显示投票结果;认证服务器模块,用于投票人的双向身份认证,选票签名;投票服务器模块,用于验证选票签名,将选票第一次解密,以及将验证成功后的选票保存到区块链中;普通关系型数据库模块,用于保存投票人的ID哈希值,最大投票数,认证服务器的公钥和私钥,投票人的公钥,投票服务器的公钥和私钥、计票服务器的公钥和私钥;区块链模块,用于保存选票;计票服务器,用于从区块链中取出选票,计算投票结果,并将结果发送给前端服务器显示。2.基于权利要求1所述系统的基于区块链的一人多票电子投票方法,其特征在于包括双向身份认证,选票生成,对选票进行签名,将选票保存到区块链中,投票结果显示等多个部分流程;双向身份认证流程包含如下步骤:步骤1:投票人输入自己的ID和一个随机数ru;前端服务器接收到ID后使用单向哈希函数计算上述ID的哈希值hID;前端服务器接收到随机数ru,调用投票工具包中的认证服务器的公钥,对ru进行加密得到eru;最后前端服务器将(hID,eru)发送给认证服务器;上述投票人输入的ID为事先从投票工具包中获取的;步骤2:认证服务器首先判断hID是否在普通关系型数据库中,若不存在,验证失败,结束;若存在,认证服务器调用普通关系型数据库中认证服务器的私钥,将eru解密得到dru;然后使用单向哈希函数计算dru得到hdru;同时认证服务器选择一个随机数rs,调用普通关系型数据库中的投票人的公钥,对其进行加密得到ers;最后认证服务器将(hdru,ers)发送给前端服务器;步骤3:前端服务器将投票人输入的随机数ru采用单向哈希函数计算其的哈希值,然后与hdru比较,若不同,验证失败,结束;若相同,前端服务器调用投票工具包中的投票人的私钥,对ers解密得到drs,再使用单向哈希函数计算drs得到hdrs,最后将hdrs发送给认证服务器;步骤4:认证服务器使用单向哈希函数计算随机数rs的哈希值,然后与接收到的数据hdrs比较,若不同,验证失败,结束;若相同,验证成功,...
【专利技术属性】
技术研发人员:刘香顺,边瑞超,吴薇,
申请(专利权)人:杭州电子科技大学,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。