用于电子选举的数据处理方法

文档序号:10473496阅读:415来源:国知局
用于电子选举的数据处理方法
【专利摘要】本发明公开了一种用于电子选举的数据处理方法。该方法包括:投票终端通过选举加密公钥将各选民的电子选票加密为加密选票,并打包加密选票为选票数据包;通过选举加密公钥将附有标识信息的选票数据包加密为加密数据包,发送由终端签名私钥签名的加密数据包至选举服务器;选举服务器通过标识信息判断加密数据包的合法性,并对其签名信息进行验证,然后存入选票数据库;在对选票数据库中的各张加密选票执行至少两轮混合操作之后再进行选票统计,混合操作包括按照预设加密算法对各张加密选票进行重加密,并在重加密之后,按照预设乱序算法对各张加密选票执行乱序操作。本发明解决了相关技术中进行现场投票时,其安全性较低的技术问题。
【专利说明】
用于电子选举的数据处理方法
技术领域
[0001]本发明涉及数据安全领域,具体而言,涉及一种用于电子选举的数据处理方法。
【背景技术】
[0002]在电子选举投票技术出现之前,一般基层选举都是采用原始的纸质投票和人工计开票方法,不仅效率低下,人才物力消耗大,而且错误率较高、存在被操纵的可能。针对该弱点,国内外专家设计了很多应用电子系统实现选举投票的系统和方法,在提高效率、降低开销的同时,试图最大限度地保证投票过程的公平、公正和公开。
[0003]在现场投票场合下,一般采用投票箱硬件解决方案,在现场的投票箱中嵌入一个扫描仪,在检验完投票人资格后,允许投票人进入投票现场,投票人投票后,投票箱即对纸质选票进行即时扫描,读出选票信息并立即进入统计。
[0004]在会场投票情境下,一般采用无线投票解决方案,投票前,参会者通过个人手持终端向大会签到后进行投票,选票再通过WiFi设备或无线通信基站设备传输到接收端电脑,进行选票处理。
[0005]整体而言,投票箱硬件解决方案虽然功能完备,但缺点也很明显:没有脱离纸质选票的范畴,选票准备等工作依然耗费较大。会场无线投票解决方案虽实现了无纸化,但由于这两种选举场合基本是现场统计、即时公布,所以在匿名性、可验证性、无收据性等投票核心安全性状方面都相对较弱,无法保证数据的安全性,依然存在操纵选票的空间。
[0006]针对相关技术中进行现场投票时,其安全性较低的技术问题,目前尚未提出有效的解决方案。

【发明内容】

[0007]本发明实施例提供了一种用于电子选举的数据处理方法,以至少解决相关技术中进行现场投票时,其安全性较低的技术问题。
[0008]根据本发明实施例,提供了一种用于电子选举的数据处理方法,该方法包括:投票终端接收选举服务器的选举加密公钥,选举服务器用于提供选举管理功能;投票终端通过选举加密公钥分别加密各选民的电子选票,得到多张加密选票;投票终端对多张加密选票执行打包操作,得到选票数据包;投票终端通过选举加密公钥加密附有标识信息的选票数据包,得到加密数据包,标识信息用于标识选票数据包的合法性;投票终端发送经由终端签名私钥签名的加密数据包至选举服务器,终端签名私钥为投票终端的签名私钥。
[0009]进一步地,在投票终端通过选举加密公钥分别加密各选民的电子选票之前,该方法还包括:投票终端在接收到选举指令的情况下,对选民进行身份验证,在选民通过身份验证之后,投票终端通过选举加密公钥分别加密各选民的电子选票。投票终端通过选举加密公钥分别加密各选民的电子选票包括:投票终端分别生成对应于各张电子选票的第一选票哈希值;投票终端通过选举加密公钥分别加密各张附有对应的第一选票哈希值的电子选西
ο
[0010]进一步地,在投票终端接收到选举指令之前,该方法还包括:投票终端按照预设算法生成密钥对,其中,密钥对包括终端签名私钥和终端验证公钥,终端验证公钥为投票终端的验证公钥;投票终端发送终端验证公钥至选举服务器;投票终端从选举服务器获取终端数据、空白选票数据、工作人员数据及选民数据。在投票终端接收到选举指令之后,该方法还包括:在选民通过身份验证的情况下,投票终端展示空白选票数据中的空白选票,并获取电子选票。
[0011]进一步地,在得到多张加密选票之后,在投票终端对多张加密选票执行打包操作之前,该方法还包括:投票终端对工作人员进行身份验证,在工作人员通过身份验证的情况下,投票终端对多张加密选票执行打包操作。投票终端对多张加密选票执行打包操作包括:投票终端分别生成对应于各张加密选票的第二选票哈希值;投票终端打包附有对应的第二选票哈希值和对应的选民ID的多张加密选票。
[0012]进一步地,投票终端对工作人员进行身份验证包括:投票终端从工作人员二维码中识别出工作人员ID和工作人员信息,其中,标识信息包括工作人员ID和/或工作人员信息;投票终端判断工作人员信息与信息数据库中对应于工作人员ID的第一预设信息是否匹配,在工作人员信息与第一预设信息匹配的情况下,确定工作人员通过身份验证。对选民进行身份验证包括:投票终端从选民二维码中识别出选民ID和选民信息;投票终端判断选民信息与信息数据库中对应于选民ID的第二预设信息是否匹配,在选民信息与第二预设信息匹配的情况下,确定选民通过身份验证。
[0013]进一步地,在投票终端发送经由终端签名私钥签名的加密数据包至选举服务器之后,该方法还包括:选举服务器接收经由投票终端的终端签名私钥签名的且附有标识信息的加密数据包;在通过标识信息判断出加密数据包合法,且加密数据包的签名信息通过终端验证公钥的验证的情况下,选举服务器将加密数据包中各张附有对应的第二选票哈希值的加密选票存入选票数据库;选举服务器对选票数据库中的各张加密选票执行至少两轮混合操作,混合操作包括按照预设加密算法对各张加密选票进行重加密,并在对各张加密选票进行重加密之后,按照预设乱序算法对各张加密选票执行乱序操作。
[0014]进一步地,在选举服务器对选票数据库中的各张加密选票执行至少两轮混合操作之后,该方法还包括:选举服务器获取选票数据库中的各张加密选票;选举服务器通过选举解密私钥解密各张加密选票,得到附有对应的第一选票哈希值的电子选票,其中,选举解密私钥为选举服务器的解密私钥;在电子选票通过第一选票哈希值的验证的情况下,选举服务器将电子选票存入选票集合;选举服务器逐个统计选票集合中的电子选票,得到选举结果O
[0015]进一步地,在选举服务器获取选票数据库中的各张加密选票之后,该方法还包括:选举服务器通过第二选票哈希值对加密选票进行验证,在加密选票通过验证的情况下,选举服务器通过选举解密私钥解密各张加密选票。
[0016]进一步地,在得到选举结果之后,该方法还包括:在接收到第一请求的情况下,选举服务器按照第一请求中的选民ID从选票数据库中读取目标加密选票;选举服务器通过选举解密私钥解密目标加密选票,得到目标电子选票;在选票集合中存在目标电子选票的情况下,选举服务器再次统计选票集合中的电子选票。
[0017]进一步地,在得到选举结果之后,该方法还包括:在接收到第二请求的情况下,选举服务器按照第二请求的指示,通过与选举服务器连接的打印设备打印选票集合中的电子选票,打印的电子选票用于人工统计。
[0018]在本发明实施例中,通过投票终端接收选举服务器的选举加密公钥,选举服务器用于提供选举管理功能;投票终端通过选举加密公钥分别加密各选民的电子选票,得到多张加密选票;投票终端对多张加密选票执行打包操作,得到选票数据包;投票终端通过选举加密公钥加密附有标识信息的选票数据包,得到加密数据包,标识信息用于标识选票数据包的合法性;投票终端发送经由终端签名私钥签名的加密数据包至选举服务器,终端签名私钥为投票终端的签名私钥,解决了相关技术中进行现场投票时,其安全性较低的技术问题,从而实现了提高投票安全性的技术效果。
【附图说明】
[0019]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0020]图1是根据本发明实施例的用于电子选举的数据处理方法的流程图;
[0021]图2是根据本发明实施例的选票数据包数据格式的示意图;以及
[0022]图3是根据本发明实施例的一个可选的用于电子选举的数据处理方法的流程图。
【具体实施方式】
[0023]为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0024]需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0025]首先,在对本发明实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
[0026]ElGamal算法:一种加密算法,能够用于数据加密,也能用于数字签名。
[0027]哈希算法:哈希算法是将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值,哈希值是一段数据唯一且极其紧凑的数值表现形式。
[0028]公钥和私钥:公钥和私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。
[0029]根据本发明实施例的一个方面,提供了一种用于电子选举的数据处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0030]图1是根据本发明实施例的用于电子选举的数据处理方法的流程图,如图1所示,该方法包括:
[0031]步骤SlOl,投票终端接收选举服务器的选举加密公钥,选举服务器用于提供选举管理功能(如空白选票分发、电子选票的统计等)。
[0032]上述的投票终端包括台式计算机、笔记本电脑、PAD掌上电脑、手机、MID等,后文中以PAD为例进行说明。
[0033]各个投票站的PAD投票终端接收选举服务器发送的选举加密公钥,并在选民在PAD上完成投票之后,保存用户填写好选举信息的电子选票。
[0034]步骤S102,投票终端通过选举加密公钥分别加密各选民的电子选票,得到多张加密选票。
[0035]步骤S103,投票终端对多张加密选票执行打包操作,得到选票数据包。
[0036]需要在某个PAD上完成的投票操作都完成之后,或者投票时限到了之后,工作人员可以对该PAD上的所有选票执行打包操作。
[0037]步骤S104,投票终端通过选举加密公钥加密附有标识信息的选票数据包,得到加密数据包,标识信息用于标识选票数据包的合法性。
[0038]步骤S105,投票终端发送经由终端签名私钥签名的加密数据包至选举服务器,终端签名私钥为投票终端的签名私钥。
[0039]需要说明的是,上述的签名是指通过哈希函数进行数字签名,具体是通过哈希函数将任意长度的输入数据(如电子选票)经过算法压缩,输出一个尺寸小了很多的固定长度的数据(即哈希值),哈希值成为输入数据的数字指纹或者消息摘要,在输入数据变化时,对应的哈希值也会发生变化,而哈希函数具有单向性(即抗原像攻击性),因此,不可能根据哈希值推导出原数据,因此,采用上述的签名方式可以很好地验证数据完整性和合法性。
[0040]通过上述实施例,通过投票终端接收选举服务器的选举加密公钥,选举服务器用于提供选举管理功能;投票终端通过选举加密公钥分别加密各选民的电子选票,得到多张加密选票;投票终端对多张加密选票执行打包操作,得到选票数据包;投票终端通过选举加密公钥加密附有标识信息的选票数据包,得到加密数据包,标识信息用于标识选票数据包的合法性;投票终端发送经由终端签名私钥签名的加密数据包至选举服务器,终端签名私钥为投票终端的签名私钥,从而解决了相关技术中进行现场投票时,其安全性较低的技术问题,实现了提高投票安全性的技术效果。
[0041]上述方法可用于基层选举或会议投票应用环境,如基层选举一般由一个选举中心和数个至数百个的投票点构成,利用本申请的方法可以通过电子手段采集各个投票点的选票数据,再将之集合到服务器端进行处理,以无纸化运作克服投票箱硬件方案的缺点;同时,以可靠的现场投票代替网络投票,用一个封闭可控的环境排除开放不可控网络环境下的种种攻击可能,从而提供了一个安全、高效、可靠、易用、可验证的基层投票系统,以实现投票活动的公开、公正和透明。
[0042]需要说明的是,选举中心设置有一个选举服务器,选举服务器是整个系统的核心,由管理员操作,负责初始化选举和计、开票。每个投票站有至少一个附加打印设备的PAD,PAD是一个投票平台,用于采集选票,可供合格选民投票使用。附加打印设备用于为选民打印投票收据。
[0043]选举可分为如下三个阶段:
[0044]选举准备阶段:选举服务器初始化选举,包括选举参数初始化、选民资料初始化、PAD初始化三方面;
[0045]选举实施阶段:选民持本人有效证件在PAD上投票,PAD收集选票后,将之上传至选举服务器;
[0046]选后处理阶段:选举服务器处理选票,得出选举结果并公布。
[0047]具体地,在选举准备阶段,选举服务器需要进行如下操作:设置并初始化选民数据库,如设置选民所属选区、投票站,根据选民信息和选举信息生成选民唯一识别码(即选民ID),并据此生成选民二维码;设置选举参数,如设置选举数据库的选举级别和类型,选区、投票站清单及资料,职位或议题、候选人或选项清单及资料,再如,设置选票数据库中的空白选票数据库(主要用于存储根据上述资料自动生成的各选区的空白电子选票)、选票统计数据库、选票明文数据库以及废票数据库等;设置PAD数据库,主要包括设置PAD编号、PAD所属选区和投票站、空白选票数据库索引等;设置工作人员数据库,工作人员编号、工作人员所属选区和投票站、根据工作人员信息生成的工作人员唯一识别码(即工作人员ID),并据此生成工作人员二维码。
[0048]另外,在进入选举实施阶段之前(即在接收到用于实施选举的选举指令之前),在投票终端上还需要进行如下准备工作:投票终端按照预设算法(如AES加密算法)生成密钥对,密钥对包括终端签名私钥和终端验证公钥,终端验证公钥为投票终端的验证公钥;投票终端发送终端验证公钥至选举服务器;投票终端从选举服务器获取终端数据、空白选票数据、工作人员数据及选民数据。
[0049]在投票终端完成上述准备工作之后,即可通过附属的打印设备打印附有选民信息和二维码的选民证书,供选举机构发放给选民;打印附有工作人员信息和二维码的工作人员证书,供选举机构发放给工作人员。
[0050]在进入选举实施阶段之后,选举服务器端的管理员可以通过操作选举服务器启动选举,在接收到选举指令(选举指令用于启动选举)的情况下,则对选民进行身份验证,在选民通过身份验证的情况下,投票终端展示空白选票数据中的空白选票,并获取选民填有选举信息的电子选票,以便投票终端通过选举加密公钥分别加密各选民的电子选票。上述步骤S102的投票终端通过选举加密公钥分别加密各选民的电子选票,得到多张加密选票可以包括:投票终端分别生成对应于各张电子选票的第一选票哈希值;投票终端通过选举加密公钥分别加密各张附有对应的第一选票哈希值的电子选票。即在进行选举实施阶段之后,选民于选举有效期内持本人有效证件到达投票站,经选举工作人员查验证件无误后可进入投票站,选民使用PAD扫描选民证上的二维码,PAD将扫描结果与数据库内容进行比对,如成功则允许选民进入选举系统,选民根据空白选票内容进行选择、填写选票,在投票完成后,PAD给出选民投票(即电子选票)的哈希值(即第一选票哈希值),并打印出投票证明,以供选民作为投票证明,然后PAD对选票附上哈希值、进行加密、并附上加密选票的哈希值和选民唯一识别码,存入本地数据库。
[0051 ]在一个可选的实施例中,对选民进行身份验证可以通过如下步骤实现:投票终端从选民二维码中识别出选民ID和选民信息;投票终端判断选民信息与信息数据库中对应于选民ID的第二预设信息是否匹配,其中,在选民信息与第二预设信息匹配的情况下,确定选民通过身份验证。上述第二预设信息指存储在PAD终端的需要在该终端完成投票的选民的正确信息。
[0052]在根据上述实施例中的方法得到多张加密选票之后,在对多张加密选票执行打包操作之前,为了保证数据的安全性,还可以投票终端对工作人员进行身份验证,其中,在工作人员通过身份验证的情况下,投票终端对多张加密选票执行打包操作。具体地,投票终端对多张加密选票执行打包操作可以包括:投票终端分别生成对应于各张加密选票的第二选票哈希值;投票终端打包附有对应的第二选票哈希值和对应的选民ID的多张加密选票。
[0053]需要说明的是,投票终端对工作人员进行身份验证可以通过如下方法实现:投票终端从工作人员二维码中识别出工作人员ID和工作人员信息,其中,标识信息包括工作人员ID和/或工作人员信息;投票终端判断工作人员信息与信息数据库中对应于工作人员ID的第一预设信息是否匹配,其中,在工作人员信息与第一预设信息匹配的情况下,确定工作人员通过身份验证。上述第一预设信息是指有权限对该PAD终端进行操作的工作人员的正确信息。
[0054]具体地,在选后处理阶段,当日选举结束后,选举工作人员使用PAD扫描工作人员证上的二维码,PAD将扫描结果与数据库比对,如成功则允许选举工作人员进入选举系统,选举工作人员进入PAD的选后处理界面,完成如下的操作:选票打包,并附上工作人员二维码;使用选举加密公钥对电子选票加密;使用PAD签名私钥签署(即终端签名私钥)加密后的选票数据包(即加密数据包);通过公用通信线路上传到服务器;待收到服务器回复确认,关闭系统。通过使用附选票哈希值、密钥加密、签名等技术手段,可以保证数据传输的安全性,还能保证数据的可验证性。
[0055]在图2中,示出了上述的选票数据包的格式,首先将选票明文(即电子选票)附上第一哈希值(也即明文哈希),并对附上的第一哈希值的选票明文进行加密,得到选票密文(也即加密选票),然后对各选票密文附上对应的第二哈希值(也即密文哈希),并完成对所有附有第二哈希值的选票密文的打包,得到选票数据包,并为之附第三哈希值(也即选票数据包哈希),最后附上PAD签名私钥对于整个数据包的签名信息,也即PAD签名私钥对于第三哈希值的签名。
[0056]可选地,在投票终端发送经由终端签名私钥签名的加密数据包至选举服务器之后,选举服务器按照如图3所示的步骤执行相关操作:
[0057]步骤S301,选举服务器接收经由投票终端的终端签名私钥签名的且附有标识信息的加密数据包。
[0058]步骤S302,在通过标识信息判断出加密数据包合法,且加密数据包的签名信息通过终端验证公钥的验证的情况下,选举服务器将加密数据包中各张附有对应的第二选票哈希值的加密选票存入选票数据库。
[0059]步骤S303,选举服务器对选票数据库中的各张加密选票执行至少两轮混合操作,混合操作包括按照预设加密算法对各张加密选票进行重加密,并在对各张加密选票进行重加密之后,按照预设乱序算法对各张加密选票执行乱序操作。重加密是指通过ElGamal算法重新选择随机数来进行加密,在每完成一轮加密之后,再通过ElGamal算法重新选择的随机数来生成各张加密选票在集合中的位置,以完成乱序操作。
[0060]可选地,在执行完步骤S303之后,为了对选票进行计票处理,选举服务器还需要执行如下步骤:
[0061 ]步骤SI I,选举服务器获取选票数据库中的各张加密选票。
[0062]步骤S12,选举服务器通过选举解密私钥解密各张加密选票,得到附有对应的第一选票哈希值的电子选票,其中,选举解密私钥为选举服务器的解密私钥。
[0063]步骤S13,在电子选票通过第一选票哈希值的验证的情况下,选举服务器将电子选票存入选票集合。
[0064]步骤S14,选举服务器逐个统计选票集合中的电子选票,得到选举结果。
[0065]需要说明的是,在选举服务器获取选票数据库中的各张加密选票之后,还需要选举服务器通过第二选票哈希值对加密选票进行验证,其中,在加密选票通过验证的情况下,选举服务器通过选举解密私钥解密各张加密选票。
[0066]具体地,在选举服务器收到PAD发来的选票数据包(S卩加密数据包),执行如下步骤:发送回复确认;从数据库中提取PAD验证公钥(即终端验证公钥),验证数据包的合法性;在验证出数据包合法的情况下,使用选举解密私钥解密选票包,得到附加了选民唯一识别码(即选民ID)和加密选票的哈希值的加密选票;根据选民唯一识别码将加密选票存入选民数据库;对加密选票进行混合处理之后进行解密统计,以得到选举结果。
[0067]上述的混合处理主要是指剥离加密选票的附加信息,并存入选票集合,为了防止根据加密选票在集合中的位置信息等对加密选票的出处进行定位,可以对所有选票密文(即加密选票)统一进行多轮如下处理:每张加密选票使用随机数进行重加密(如采用ElGamal算法进行加密);使用另外一个随机数生成加密选票在集合中的新位置。
[0068]上述的解密统计是指对进行混合处理之后的加密选票进行统计,例如:使用选举解密私钥解密每一张加密选票,得到选票明文(即电子选票);检查选票明文正文和对应的哈希值是否无误;在确定无误后,将进入统计环节的选票明文中的哈希值(即第一哈希值)登记入选票统计数据库,选票明文正文登记入选票明文数据库;逐条统计选票明文数据库中的记录,得出选举结果。
[0069]在选票统计完之后,可公布选举结果,如公布选票统计数据库和废票数据库中的数据,选民可持PAD所打印的选票哈希值验证(即第一哈希值)自己的投票是否进入统计。在对选举存在疑问的情况下,可以进行复核。如选民对统计结果提出异议,可持打印的选票哈希值向相关机构提出选票查验申请,选举服务器在接收到第一请求(因选民对统计结果存在异议而提出的请求)的情况下,按照第一请求中的选民ID从选票数据库中读取目标加密选票;选举服务器通过选举解密私钥解密目标加密选票,得到目标电子选票;在选票集合中存在目标电子选票的情况下,选举服务器再次统计选票集合中的电子选票,即相关机构通过选举服务器提取异议选票密文,解密出明文,核对选票明文数据库中是否存在该明文,并重新统计选票明文数据库;再如,在选举团体对选举结果异议,在选举服务器接收到第二请求(即选举团体对选举结果存在异议而提出的请求)的情况下,按照第二请求的指示,通过与选举服务器连接的打印设备打印选票集合中的电子选票,打印的电子选票用于人工统计,即若选举团体对选举结果异议,相关机构可通过选举服务器提取整个选票明文数据库,逐个打印选票,进入人工统计,以确定投票结果是否正确。
[0070]需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0071]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0072]在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0073]以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【主权项】
1.一种用于电子选举的数据处理方法,其特征在于,包括: 投票终端接收选举服务器的选举加密公钥,其中,所述选举服务器用于提供选举管理功能; 所述投票终端通过所述选举加密公钥分别加密各选民的电子选票,得到多张加密选票; 所述投票终端对所述多张加密选票执行打包操作,得到选票数据包; 所述投票终端通过所述选举加密公钥加密附有标识信息的所述选票数据包,得到加密数据包,其中,所述标识信息用于标识所述选票数据包的合法性; 所述投票终端发送经由终端签名私钥签名的所述加密数据包至所述选举服务器,其中,所述终端签名私钥为所述投票终端的签名私钥。2.根据权利要求1所述的方法,其特征在于, 在所述投票终端通过所述选举加密公钥分别加密各选民的电子选票之前,所述方法还包括:所述投票终端在接收到选举指令的情况下,对选民进行身份验证,其中,在选民通过身份验证之后,所述投票终端通过所述选举加密公钥分别加密各选民的电子选票, 所述投票终端通过所述选举加密公钥分别加密各选民的电子选票包括:所述投票终端分别生成对应于各张所述电子选票的第一选票哈希值;所述投票终端通过所述选举加密公钥分别加密各张附有对应的第一选票哈希值的所述电子选票。3.根据权利要求2所述的方法,其特征在于, 在所述投票终端接收到所述选举指令之前,所述方法还包括:所述投票终端按照预设算法生成密钥对,其中,所述密钥对包括所述终端签名私钥和终端验证公钥,所述终端验证公钥为所述投票终端的验证公钥;所述投票终端发送所述终端验证公钥至所述选举服务器;所述投票终端从所述选举服务器获取终端数据、空白选票数据、工作人员数据及选民数据, 在所述投票终端接收到选举指令之后,所述方法还包括:在选民通过身份验证的情况下,所述投票终端展示所述空白选票数据中的空白选票,并获取所述电子选票。4.根据权利要求3所述的方法,其特征在于, 在得到多张加密选票之后,在所述投票终端对所述多张加密选票执行打包操作之前,所述方法还包括:所述投票终端对工作人员进行身份验证,其中,在工作人员通过身份验证的情况下,所述投票终端对所述多张加密选票执行打包操作,所述投票终端对所述多张加密选票执行打包操作包括:所述投票终端分别生成对应于各张所述加密选票的第二选票哈希值;所述投票终端打包附有对应的第二选票哈希值和对应的选民ID的所述多张加密选西 ο5.根据权利要求4所述的方法,其特征在于, 所述投票终端对工作人员进行身份验证包括:所述投票终端从工作人员二维码中识别出工作人员ID和工作人员信息,其中,所述标识信息包括所述工作人员ID和/或所述工作人员信息;所述投票终端判断所述工作人员信息与信息数据库中对应于所述工作人员ID的第一预设信息是否匹配,其中,在所述工作人员信息与所述第一预设信息匹配的情况下,确定工作人员通过身份验证, 对选民进行身份验证包括:所述投票终端从选民二维码中识别出选民ID和选民信息;所述投票终端判断所述选民信息与所述信息数据库中对应于所述选民ID的第二预设信息是否匹配,其中,在所述选民信息与所述第二预设信息匹配的情况下,确定选民通过身份验证。6.根据权利要求5所述的方法,其特征在于,在所述投票终端发送经由终端签名私钥签名的所述加密数据包至所述选举服务器之后,所述方法还包括: 所述选举服务器接收经由所述投票终端的终端签名私钥签名的且附有所述标识信息的所述加密数据包; 在通过所述标识信息判断出所述加密数据包合法,且所述加密数据包的签名信息通过所述终端验证公钥的验证的情况下,所述选举服务器将所述加密数据包中各张附有对应的第二选票哈希值的所述加密选票存入选票数据库; 所述选举服务器对所述选票数据库中的各张所述加密选票执行至少两轮混合操作,其中,所述混合操作包括按照预设加密算法对各张所述加密选票进行重加密,并在对各张所述加密选票进行重加密之后,按照预设乱序算法对各张所述加密选票执行乱序操作。7.根据权利要求6所述的方法,其特征在于,在所述选举服务器对所述选票数据库中的各张所述加密选票执行至少两轮混合操作之后,所述方法还包括: 所述选举服务器获取所述选票数据库中的各张所述加密选票; 所述选举服务器通过选举解密私钥解密各张所述加密选票,得到附有对应的第一选票哈希值的电子选票,其中,所述选举解密私钥为所述选举服务器的解密私钥; 在所述电子选票通过所述第一选票哈希值的验证的情况下,所述选举服务器将所述电子选票存入选票集合; 所述选举服务器逐个统计所述选票集合中的电子选票,得到选举结果。8.根据权利要求7所述的方法,其特征在于,在所述选举服务器获取所述选票数据库中的各张所述加密选票之后,所述方法还包括: 所述选举服务器通过所述第二选票哈希值对所述加密选票进行验证,其中,在所述加密选票通过验证的情况下,所述选举服务器通过选举解密私钥解密各张所述加密选票。9.根据权利要求8所述的方法,其特征在于,在得到选举结果之后,所述方法还包括: 在接收到第一请求的情况下,所述选举服务器按照所述第一请求中的选民ID从所述选票数据库中读取目标加密选票; 所述选举服务器通过所述选举解密私钥解密所述目标加密选票,得到目标电子选票; 在所述选票集合中存在所述目标电子选票的情况下,所述选举服务器再次统计所述选票集合中的电子选票。10.根据权利要求8所述的方法,其特征在于,在得到选举结果之后,所述方法还包括: 在接收到第二请求的情况下,所述选举服务器按照所述第二请求的指示,通过与所述选举服务器连接的打印设备打印所述选票集合中的电子选票,其中,打印的所述电子选票用于人工统计。
【文档编号】H04L9/32GK105827399SQ201610225360
【公开日】2016年8月3日
【申请日】2016年4月12日
【发明人】陈伟, 赵祥坤
【申请人】金华鸿正科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1