维普资讯 http://www.cqvip.com
计算机科学2006Vo1.33NQ.3 一种基于证书的电子投票协议 ) 姚前陈舜谢立 (南京大学计算机系 南京21O008) 摘要本文在对RSA数字签名技术、盲数字签名技术和比特提交技术进行分析的基础上,提出了一种采用现代密 码学技术的电子投票协议,该协议可以基本满足证券业类别股东投票的实际需要。 关键词RSA数字篓名,盲数字签名,比特提交,电子投票 A Digital Certificate-Based Electronic Voting Protocol YAO Qian CHEN Shun XIE Li (Department of Computer.Science,Nanjing University,Nanjlng 210008) Abstract Based on analysis of Digital signature,Blind signature and Bit commitment,the paper poses an electronic voting protocol concerning modern cryptography technology. l'he protocol can basically meet the practical requirement f0r shareholders’voting in the securities category. Keywords RSA Digital signature,Blind signature,Bit commitment,Electronic voting 案完全满足了上述全部特性。 1 引言 协议主要用到了RSA数字签名技术、盲数字签名技术和 比特提交技术,在下面的节中,我们首先对协议用到的密码技 现代社会中经常会遇到需要投票的情况,传统方式的投 术做一个简要的回顾,然后介绍我们采用的投票协议。 票过程和规则已非常完善,但传统投票方式也受到时问、地 域、成本等诸多方面的制约。随着计算机技术和网络通信技 3密码技术回顾 术的发展,人们设想可以借助计算机网络,提供一种可以在较 RSA数字签名方案 短的时问、以较低的成本为广大地域的大量用户所使用的投 一个数字签名方案主要由两个算法,即签名算法和验证 票方式,这就是电子投票方式的提出。如何保证电子投票的 算法组成 签名者能使用一个秘密的签名算法S签一个消 公开、公平和公正,是人们关心的焦点。本文简要介绍了一种 息 使得签名S(1 )可以通过一个公开的验证算法 来验 采用现代密码学技术的电子投票协议,该协议可以基本满足 证。一个数字签名方案可由满足下列条件的五元组(P,A, 证券业股东投票的实际需要。 K,S, )来表示: 2 电子投票协议的理论基础 (1)P是所有可能?肖息组成的一个有限集合; (2)A是所有可能签名组成的一个有限集合; 从理论上讲,一个投票协议是具有秘密输入值的一个多 (3)K是所有可能密钥组成的一个有限集合。即密钥空 成员计算,它使得输出的正确性可检验。对于一般的投票活 间; 动而言,一个理想的电子投票协议应该满足以下的一些特性: (4)对每一个点∈K,有一个签名算法s ∈s和一个对应 (1)完全性(completeness)。所有合法票均被正确地统 的验证算法 ∈ 。每一个S;P一 和 :PXA-+{真,假} 计。 均满足下列要求:对每一个消息xEP和每一个签名y∈A, (2)健壮性(soundness)。不诚实的投票者不能扰乱投 有 ( , ):真当且仅当 — ( )对每一个点∈K, 和 票。 都是多项式时间的函数, 是一个公开函数,S是一个秘 (3)秘密性(privacy)。所有票的内容都是保密的。 密函数。 (4)不可 川性(unreusability)。投票者不能投两次票。 采用RSA公钥密码算法构造的数字签名方案就称作 (5)合法性(eligibility)。只有合格的投票者才能投票 RSA数字签名方案。该方案描述如下: (6)公平性(fairness)。外力无法影响投票结果。 设 一加,P和q是两个素数,P=A-- ,定义K--{(玑 (7)可验证性(verifiability)。投票者能检验他们的票是 P,g,d,6)l 一Pq,P,q为素数,ab=1(mode( ))}。值 和b 否被统计在投票结果中。 是公开的。值P。g和n是保密的。 目前人们已经提出了一些实用的投票协议,在这些协议 对K一( ,P,q。n。6)。定义S^( )一 mod , ∈乙 中,有的满足上述全部特性。有的满足上述部分特性。我们采 ( , )一真臼 三三三 mod ,yE乙 用的投票协议基于Fujioka,Okamoto,Ohta提出的方案。该方 签名算法使用RSA解密过程 ,由于 是保密的,因 *)基金项目:国家十五科技攻关项目(金融示范工程)。课胚编号:2001BAIO2AO4。姚前、陈瞬博士生,主要研究方向为分布式系统和计 算机安全。谢立教授、博士生导师,主要研究方向为分布式计算、并行处理、先进操作系统等 ・ ll2 ・ 维普资讯 http://www.cqvip.com
此B是唯一能产生签名的人。验证算法使用RSA加密过程 票管理中心A和计票者C。 E。因为 是公开的,所以任何人都可以验证签名。 盲数字签名 盲数字签名技术是指具有下面两种特性的一种数字签名 技术: (1)签名消息的内容对签名者是不可见的;(2)签名消 息的内容被泄露后,签名者不能追踪签名。 为达到上述要求,请求者首先将被签的消息进行盲变换, 把变换后的消息(称为盲消息)提交给签名者,签名者对盲消 息进行签名并把消息送还给请求者,请求者对签名再做逆盲 变换,得出的消息即为原消息的盲签名。 旨数字签名技术在某些有参加者匿名性需求的场合具有 重要意义,目前已有几种实现方案 在本协议中我们采用的 是基于RSA的盲数字签名方案,其实现方法如下所述: 签名者B选择两个大素数声和q,以及一个单向函数,, 并随机选择一个e,使得gcd(e,’I( ))=1,其中 一加。由 1(mod’I( ))求出d=e mod’I( )。B公开 ,e和,,保密 声,q和d。 如果请求者A想让B给他肓签一个消息 ,那么A先随 机选择一个数k∈ ( 称为肓因子),计算 一,( )k mod ,并将 发送给B。B收到 进行签名得到Y 一S ( )一 (r ) mod 。然后B将签名y 发送给A,A计算: Y 一 /k mod 一(f(ro)k )d/k mod 一 ( )mod 现在A得到了B对 的一个盲签名。显然Y是 的一 个合法签名。但B在签名过程中从来没有看到过 和Y,他 尤法将( , )和( ,Y )联系起来 因此,该方案满足了盲数 字签名的两个特性 比特提交技术 比特提交方案是一个函数:f:{0,1}×X—y,这里X和 y是两个有限集。., (6。ro). ∈x称作b∈{0,l}的一个加密。 函数 ’满足以下两个特性: (1)隐蔽性(Gmcealing):对b∈{0,1},接收者不能从/‘ (6, )确定出b的值; (2)约束性(Binding):发送者能通过公开用于加密b的 的值,使接收者相信b确实为0或为1。 如果发送者想提交任何比特串s。他可以通过地提 交比特串 巾的每一个单比特位来完成。记为.f(s,愚)。实现 比特提交的方案有几种。本协议中采用基于离散对数的比特 提交方案。根据离散对数的安全特性可知,当p ̄3(mod ) 是一个使得在 上计算离散对数问题是不可行的素数时, 一个离散对数的第二个低位比特是安全的,其方法如下: 设x={1,2,3,…,户一1},y一 ,用SLB(x)表示整数 的第二个低位比特,则 SLB(x)={I ;1 = ro ̄0=--2 ,. 431 modd: 比特提交方案厂定义为 …‘ ’ 、 f“ mod P SLB(x)=6 I ̄lp--x omod P SI B(x)≠b 由于p ̄3(mod 4),因此可证明SLB(p--x)≠SLB(x)。 4电子投票协议 我们的投票协议中主要有三个参与方,即投票者 、投 前提条件:每个投票者 均持有证书及相应的私钥,证 书上具有其唯一标识ID,, 用私钥签名的函数标记为 。 预备阶段:投票者 填写投票内容 ,随机选择一个密 钥 ,用比特提交方案l厂加密 ,即计算 /- 一_,( , )。然后 随机选择一个盲因子n∈ 盲化or ,即计算 H( ) mod ,并对e 签名得s = ( )。然后将(In,e ,s )发送给 投票管理中心A 其中H是一个公开的单向函数。 签证阶段:投票管理中心A检查投票者 有无权力投 票,如果 无权参加投票,则A拒绝给 签证。否则,A检 查 是否已经申请过签证,如果 已申请过签证,则A拒 绝再给 签证。否则,A检查S 是否是消息e 的合法签名, 如果是,则A对e 签名,即计算d 一 mod 并将d,发送给 。在签证阶段结束后,A宣布已获得签证的投票者总数并 公布包含有(IDI,e )的一张表。 投票阶段:投票者 通过对d 脱盲恢复T 的签名yl— d / mod 。Vi检查Y 是否是A对.Ti的合法签名,如果不 是, 通过向A证明(xi,Y )的不合法性并重复以上两步过 程直到得到一个合法的签证,然后 匿名地将(ori,Y )发送 给计票者C 验票阶段:计票者C通过使用A的签名验证密钥检查Y 是否是 的合法签名,如果是,C将(1,roi,Y )填入表中,其中 l是(xi,Y,)的编号。在所有投票者投完票后,C公开该表。 公开阶段:投票者 检查票的数量是否等于投票者的数 量,如果不相等, 检查他的票是否被计入表中,如果没有被 列在表中, 公开(五,Y )并要求列入表中。然后 根据序 号l将密钥 发送给C 计票阶段:计票者C用k,将票 恢复为 并检查是否 合法,统计并宣布投票结果。 结束语上述协议基本上可以满足我们通过网络进行电 子投票的需求,未来我们希望能够在证券股东投票系统等环 境中进行实际的应用,进一步验证该协议的实用性、效率及实 现成本,发现其潜在的问题,以便不断地对其进行改进和完 善。 参考文献 1 Chaum D,Crepeau C,Damgard I.Multiparty Unconditiona11y Se- cure Protocols.In:Proc.of the Twentieth Annual ACM Symposi- um on theory of Computing,1988 2 Sehneier 13.Applied Cryptography:Protocols・Algorithms and Source Code in C John Wiley&Sons,1996 3 Fu]ioka A.Okamoto T,Ohta K.A Practica1 Secret Voting Scheme for l ̄rge Scale Elections.Advances in Cryptology Ausocrypt’92, Springer-Verlag,1993 4 Rivest R I .Shamir A。Adleman I A Method for()btaining Digit— al Signatures and Public-key Cryptosystem.(bmrm ACM 1978,2 (22) 5 Stadler M,Pivetear J M.Camenisch J.Fair Blind Signatures.Ad— vances in Cryptology Euroerypt’95.Springer-Verlag,1 996 6 Naor M.Bit Commitment Using Pseudo randomness.Advances in Cryptology Crypto’89,Springer-Verlag,1990 ・ ll3 ・