Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3689292B2 - Anonymous electronic voting apparatus and anonymous electronic voting processing method - Google Patents
[go: Go Back, main page]

JP3689292B2 - Anonymous electronic voting apparatus and anonymous electronic voting processing method - Google Patents

Anonymous electronic voting apparatus and anonymous electronic voting processing method Download PDF

Info

Publication number
JP3689292B2
JP3689292B2 JP33077399A JP33077399A JP3689292B2 JP 3689292 B2 JP3689292 B2 JP 3689292B2 JP 33077399 A JP33077399 A JP 33077399A JP 33077399 A JP33077399 A JP 33077399A JP 3689292 B2 JP3689292 B2 JP 3689292B2
Authority
JP
Japan
Prior art keywords
signature
voting
mix
output
vote
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP33077399A
Other languages
Japanese (ja)
Other versions
JP2001147983A (en
Inventor
正幸 阿部
美也子 大久保
淳 藤岡
文学 星野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP33077399A priority Critical patent/JP3689292B2/en
Publication of JP2001147983A publication Critical patent/JP2001147983A/en
Application granted granted Critical
Publication of JP3689292B2 publication Critical patent/JP3689292B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、電気通信システムで無記名投票を効率的に実現する方法に関する。
【0002】
【従来の技術】
従来の技術として、特願平10−320173(国内優先の出願とされて、特開2000−207483号公報に開示)に記載の方法について説明する。
【0003】
この方法は、A.Fujioka,T.Okamoto,K.Ohta: "A Practical Secret Voting Scheme for Large Scale elections",AUSCRYPT'92,LNCS 718,Springer-Verlag で提案されている方法を改良した方法である。この方法は、署名端末、複数の投票端末、公開掲示板、複数の集計端末から成る。署名端末とすべての投票端末とは認証通信路で接続されており、また、公開掲示板とすべての投票端末とは匿名通信路で接続される。
【0004】
ここで、匿名通信路は、発信者は受信者を認証できる(即ち、受信者が確かに正当な受信者であることを確認することができる)が、受信者は発信者を特定することができないか、あるいはきわめて困難であるという機能を有する通信路である。
【0005】
このような通信路を用いた通信は、例えば、発信者が監視下にない公衆電話から特定の受信者へ通信する場合に相当する。すべての投票者は暗号化鍵yを保持し、各集計端末は暗号化鍵yに対応する復号鍵xの部分情報を保持する。
【0006】
投票者は、投票すべきメッセージmを決定した後、投票端末を駆動して署名端末へ接続し、mに対するブラインド署名σを入手する。署名端末は、投票者が正当な、即ち、投票の権利を持ち、かつ、未投票であることを確認した後、ブラインド署名を発行する。
【0007】
ブラインド署名では、署名者は、メッセージm′に対する署名σ′を発行するが、投票者はm′,σ′をm,σへ変換する手段を持つ。そのため、ブラインド署名を用いることによって、署名者は署名を発行することはできるが実際のメッセージ・署名対(m,σ)の値を知ることはない。
【0008】
このようなブラインド署名方法は、例えば、D.Chaum: "Security without identification: Transaction systems to make big brother obsolete", Communications of the ACM,Vol.28,No.10,pp.1030-1044,October,1985に示されるように、RSA署名に基づいて簡単に構成することができる。
【0009】
メッセージ・署名対S:=(m,σ)を得た投票者は、Sをyで暗号化して暗号文Eを得、匿名通信路を通じて、Eを公開掲示板へ送付する。
【0010】
投票締切後、復号鍵の部分情報を持つ集計端末は協力して、公開掲示板に現れた各投票者からの暗号文をそれぞれ復号し、メッセージ・署名対(m,σ)の一覧を得る。これらのうち、正しい署名を伴うメッセージのみを集計対象として集計する。
【0011】
上記従来の方法は、物理的な匿名通信路を用いているため、在宅投票や、自宅からインターネットを通じて投票するような場合には適さない。匿名通信路を物理的な構成に因らず、電気通信システムにより実現する手段として、MIX−NETが提唱されている。MIX−NETではL個のサーバU1 ,…,UL が直列的に記名通信路で接続されたシステムである。
【0012】
RSA関数を用いてこれを実装する場合には、各サーバは、大きな素数pi ,qi に対し、ni =pi ・qi およびei ・di =1(mod LCM(pi −1,qi −1))を満たす(di ,Ni ),(ei ,Ni )をそれぞれ復号鍵、暗号化鍵とする。
【0013】
RSAによるメッセージmの暗号化は、まず、乱数rを選び、mとrとをビット結合してm‖rとする。そして、
【0014】
【数1】

Figure 0003689292
【0015】
として暗号文Mを得る。以下では、この暗号化手順をEi (m,r)と書く。
各投票者は、送信すべきメッセージ・署名対MをE1 (E2 (…EL (M,rL ),…),r2 ),r1 )のように、各暗号化鍵を用いて多重に暗号化し、U1 へ送付する。
【0016】
1 は、複数の投票者から暗号化された入力文が集まった後、これをX1 で復号し、各入力文について、E2 (…EL (M,r ),…)r2 )およびr1 を得る。U1 はそれぞれの入力文から得られたE2 (…EL (M,r ),…)r2 )の順序をランダムに置換し、U2 へ送付する。
【0017】
この際、各メッセージについてのr1 を秘密とすることで、U2 へ送付された各E2 (…EL (M,r ),…)r2 )がU1 への入力のどのメッセージに関する復号結果であるのかを判別できないようにすることができる。
【0018】
以下、U2 ,…,UL も同様の処理を繰り返す。最後にUL は、復号されてランダムに置換されたメッセージ・署名対のリストを公開する。少なくとも一つのサーバが乱数ri および置換の順序を秘密に保つことにより、各利用者がU1 へ入力した入力暗号文と、UL が出力した各メッセージ・署名対との関連は隠匿され、匿名通信路として機能する。
【0019】
【発明が解決しようとする課題】
上記従来の方法のように、物理的な匿名通信路をMIX−NETで置き換えた場合、Mixサーバの故障によってあるいは投票者とMixサーバとの結託による意図的な妨害によって、不正な結果が出力される可能性がある。
【0020】
例えば、投票者の一人が、暗号化されたメッセージ・署名対E1 (E2 (…EL (M,rL ),…),r2 ),r1 )の代わりに、検証に失敗するようなランダムな値Rを暗号化した値E1 (E2 (…EL (R,rL ),…),r2 ),r1 )を送信し、正規のメッセージ・署名対Mを結託した相手のMixサーバUL へ秘密裏に送付したと想定する。
【0021】
サーバUL は、すべての処理を終えた後、結果を出力する直前に、出力すべきメッセージ・署名対のリストのうちの一つのメッセージ・署名対を予め結託した投票者から渡されたメッセージ・署名対Mですり替えて出力する。このリストを検証することによって、Rは棄却されるが、置き換えられてしまった正しいメッセージ・署名対はリストに含まれないために集計対象とならず、本来の集計結果と異なる、不正な結果が現れることになってしまう。
【0022】
本発明は、物理的な匿名通信路を用いない電子投票システムにおいて、上記のような票のすり替えによる集計上の不正を防止するようにすることを目的としている。
【0023】
【課題を解決するための手段】
まず、署名者は、ブラインド署名の代わりに、抹消可能ブラインド署名(Fair
Blind Signature)を用いて署名を発行する。
【0024】
抹消可能ブラインド署名は、ブラインド署名と同様に、署名者が発行したメッセージ・署名対m′,σ′を投票者がm,σへ変換する手段を備える署名方法であり、署名者にm,σを知られることなく投票者が署名を入手する手段を実現することができる。抹消可能ブラインド署名は、これに加えて、ある監視情報τを保持する監視者がm′,σ′からm,σを特定する情報を引き出す手段を持つ署名方法である。
【0025】
集計時に、不正なメッセージ・署名対(m,σ)を発見した場合、MixサーバUL は、その不正な出力(m,σ)に対応する入力を公開し、その出力が正しい処理によって得られたものであることを証明する。
【0026】
処理が正しいことが証明されたならば、次のサーバUL-1 は、UL が公開した入力値が出力値となるUL-1 の入力を公開し、その入出力関係について、処理の正しさを証明する。この手順を順次最初のサーバU1 まで繰り返す。途中、証明に失敗するようなMixサーバが存在する場合、そのサーバを不正者と見なす。
【0027】
すべてのサーバが証明に成功した場合、U1 が公開した入力を送付した投票者を不正投票者と見なす。
【0028】
不正投票者が発見された場合、監視者は、その不正投票者に対して署名者が発行した抹消可能ブラインド署名m′,σ′および、監視情報τを用いて、本来のメッセージ・署名対m,σを特定する情報Wを得る。このWを用いて、集計時に得られたメッセージ・署名対のリスト中にm,σが含まれているかどうかを確認する。m,σが含まれていた場合、前述の手段により、逐次、各サーバがその出力に対応する入力を公開し、処理の正しさを証明する。以上の手段を繰り返すことにより、すべての不正な投票者による投票を排除し、かつ、不正なMixサーバを特定する事ができる。
【0029】
【発明の実施の形態】
実施例について説明する。図1は本実施例の電子投票装置のブロック図である。本実施例の電子投票装置は、n個の投票装置1−i、署名装置2、監視装置3、k個のMix装置4−i、検証装置5および公開掲示板6を具備する。各装置と公開掲示板とは相互認証が可能な認証通信路7で接続される。以下の説明で、各装置が相互に情報を送受信する場合には、全て公開掲示板を介して行うものとする。
【0030】
以下、各装置について説明する。本実施例では、抹消可能ブラインド署名方法として、J.Camenisch, "Group Signature Schemes and Payment Systems Based on the Discrete Logarithm Problem", ETH Series in Information Security and cryptography,Volumn 2,pp.124-132,Hartung-Gorre Verlag で提案されているSchnorr 署名に基づく方法を用いる。まず、この抹消可能ブラインド署名方法について説明する。
【0031】
p,qを大きな素数とし、qは(p−1)を割り切るものとする。g,g1 ,g2 をZ* p における位数qの元とする。H(・)は一方向性ハッシュ関数であり、二項演算子a‖bはaとbとの二進表現を結合した値を表す。
【0032】
乱数τに対してyT
【数31】
Figure 0003689292
を満たす値とする。τは署名抹消に必要な秘密情報であり、監視者が秘密に保持する。yT は公開する。
【0033】
同様に、乱数xに対して、yをy=gx mod p を満たす値とする。xは署名鍵であり、署名者が秘密に保持する。yは署名検証鍵として公開する。
【0034】
以下の説明は、署名要求者が文書mに対する署名を署名者から入手する際の要求者と署名者との処理手順である。
手順1:要求者は、乱数aをZ* q から選び、
【0035】
【数2】
Figure 0003689292
【0036】
を計算する。次に、この計算が正しく行われたこと(即ち、
【0037】
【数3】
Figure 0003689292
【0038】
が成り立つこと)を証明する証明書(c1 ,s1 )を以下の手順で作成する。
(a)乱数w1 ∈Z* q を選び、
【0039】
【数4】
Figure 0003689292
【0040】
を計算する。
(b)s1 :=w1 +c1 -1 mod p を計算する。
上記計算結果(hw ,d,c1 ,s1 )を署名者へ送付する。
手順2:署名者は以下のステップを実行する。
(a)
【0041】
【数5】
Figure 0003689292
【0042】
が成り立つことを確認する。成り立たなければ処理を停止する。
(b)zw :=hw x mod p を計算する。
(c)乱数w2 ∈Zq を選び、
【0043】
【数6】
Figure 0003689292
【0044】
を計算する。
(d)(zw ,t'g ,t'h )を要求者へ送付する。
手順3:要求者は乱数γ,δをZq より選び、
【0045】
【数7】
Figure 0003689292
【0046】
を計算し、c'2 を署名者へ送付する。
手順4:署名者はs'2 :=w2 −c'2 xmod q を計算し、要求者へ送付する。
【0047】
手順5:要求者はs2 :=s'2 +γmod q を計算する。更に、hp =hW a mod p であることの証明書(c3 ,s3 )を以下の手順で生成する。
(a)乱数w3 ∈Zq を生成する。
(b)
【0048】
【数8】
Figure 0003689292
【0049】
を計算する。
(c)s3 :=w3 −c3 amod q を計算する。
【0050】
最後に、(m,hp ,zp ,c2 ,s2 ,c3 ,s3 )を文書・署名対として保存する。
上記手順において、
【0051】
【数9】
Figure 0003689292
【0052】
であり、
【0053】
【数10】
Figure 0003689292
【0054】
であり、更に、
【0055】
【数11】
Figure 0003689292
【0056】
であるので、発行された(m,hp ,zp ,c2 ,s2 ,s3 ,c3 )は、
【0057】
【数12】
Figure 0003689292
【0058】
が成り立つことを確認することによってその正しさを検証することができる。
発行した署名を抹消する場合には、秘密情報τを持つ監視者が、
【0059】
【数13】
Figure 0003689292
【0060】
を計算して公開する。この値は、
【0061】
【数14】
Figure 0003689292
【0062】
となるので、この値hp を含む署名を無効と見なす。また、監視者の計算が正しいことを証明する証明書(s4 ,c4 )を以下のように計算する。
計算1:乱数w4 ∈Zq を生成する。
計算2:
【0063】
【数15】
Figure 0003689292
【0064】
を計算する。
計算3:s4 :=w4 −c4 τmod q を計算する。
この証明書は、
【0065】
【数16】
Figure 0003689292
【0066】
が成り立つ場合に、監視者の処理が正しいことを保証する。
本実施例では、MIX−NETへ入力する暗号文を作成する方法として従来法の説明中で記述したRSA暗号に基づく方法を用いる。以下の説明で、|a|はaのビット数を表す。i=1,…,nに対して、(ei ,Ni )、(di ,Ni )をそれぞれRSA暗号の公開鍵、秘密鍵とする。ただし、|Ni |>|Ni+1 |とする。
【0067】
図2を参照し、署名装置について説明する。署名装置2は、メモリ21、追跡情報埋込検証器22、コミットメント演算器23、署名演算器24および、これらを制御する制御部25を具備する。メモリ21には、g,g1 ,g2 ,p,q,y,yT およびxが格納されている。制御部25は以下の各ステップを実行するよう各機器を制御する。
【0068】
・(追跡情報埋込検証およびコミットステップ)A:
投票装置1−iから受信した入力(hw ,d,c1 ,s1 )に対して、追跡情報埋込検証器22へ(hw ,d,c1 ,s1 )およびg1 ,g2 ,p,q,yT を入力する。駆動された追跡情報埋込検証器22は
【0069】
【数17】
Figure 0003689292
【0070】
を計算し、その結果がc1 と等しければOKを出力し、等しくなければNGを出力する。NGが出力された場合、制御部25は処理を停止する。OKが出力された場合、コミットメント演算器23へhw ,g,p,qを入力する。駆動されたコミットメント演算器23は、入力hw ,g,p,qに対し、1以上q未満の整数乱数w2 を生成し、zw ,t'g ,t'h
【0071】
【数18】
Figure 0003689292
【0072】
のように計算して出力する。
・(署名生成ステップ)B:
投票装置1−iから受信した入力c'2 に対して、署名演算器24へc'2 およびw2 ,x,qを入力する。署名演算器24は、s'2 :=w2 −c'2 xmod q を計算して出力する。
【0073】
制御部25は、それぞれのステップで得られた出力(zw ,t'g ,t'h )およびs'2 を、順次、投票装置1−iへ送信する。
【0074】
図3を参照し、投票装置について説明する。投票装置1−iは、メモリ11、追跡情報埋込器12、追跡情報埋込証明器13、攪乱器14、攪乱修正器15、暗号化器16および、これらを制御する制御部17を具備する。メモリ11には、g,g1 ,g2 ,p,q,y,yT が格納されている。制御部17は以下の各ステップを実行するよう各機器を制御する。
【0075】
・(追跡情報埋込および証明ステップ)C:
追跡情報埋込器12へg1 ,g2 ,p,q,yT を入力する。追跡情報埋込器は、乱数a∈Z* q を生成し、
【0076】
【数19】
Figure 0003689292
【0077】
を計算し、hw ,dを出力する。g1 ,yT ,p,qおよび、追跡情報埋込器12の出力hw ,d,aを追跡情報埋込証明器13へ入力する。追跡情報埋込証明器13は乱数w1 ∈Z* q を選び、
【0078】
【数20】
Figure 0003689292
【0079】
およびs1 :=w1 +c1 amod p を計算し、c1 ,s1 を出力する。制御部17は、(hw ,d,c1 ,s1 )を署名装置2へ送信する。
【0080】
・(ブラインド処理ステップ)D:
投票すべきメッセージmおよび、署名装置2から受信した(zw ,t'g ,t'h )の入力に対し、m,zw ,t'g ,t'h およびp,q,gを攪乱器14へ入力する。攪乱器14は乱数γ,δをZq より選び、
【0081】
【数21】
Figure 0003689292
【0082】
を計算し、γ,hp ,zp ,c2 ,c'2 を出力する。制御部17は、c'2 を署名装置2へ送信する。
【0083】
・(暗号投票文作成ステップ)E:
署名装置2から受信したs'2 の入力に対し、s'2 および、q,γを攪乱修正器15へ入力する。駆動された攪乱修正器15は、s2 :=s'2 +γmod q を計算する。更に、以下の手順を実行して、s3 ,c3 を得、s2 ,s3 ,c3 を出力する。
【0084】
手順11:乱数w3 ∈Zq を生成する。
手順12:
【0085】
【数22】
Figure 0003689292
【0086】
を計算する。
手順13:s3 :=w3 −c3 amod q を計算する。
【0087】
次に、s2 ,s3 ,c3 ,m,hp ,zp ,c2 を暗号化器16へ入力する。簡単のため、これらの入力全体をMと表すことにする。さらに、Y1 ,…,Yn を入力して暗号化器16を駆動する。駆動された暗号化器16は、乱数K1 ,…,Kn を生成し、
【0088】
【数23】
Figure 0003689292
【0089】
を計算し、さらに、E0 :=Enc(…Enc(Enc(M,Kn ),Kn-1 )…,K1 )を計算し、R0 ,E0 を出力する。ここで、Enc(α,β)は暗号文αを秘密鍵βで暗号化する演算を意味する。制御部17は、R0 ,E0 を公開掲示板へ送信する。
【0090】
暗号化演算EncはIDEAやRC6など予め定めたどのような暗号アルゴリズムを用いても良い。更に、各暗号化の演算は異なるアルゴリズムを使用しても良い。各Ki のビット数は使用する暗号アルゴリズムに適合するように定める。各公開鍵Ni も、|Ni |と|Ni-1 |の差が|Ki |以上となるよう定めておく。
【0091】
以下の説明では、各投票装置1−iが公開掲示板6へ送信した(R0 ,E0 )からなるリストをL0 と記述する。
【0092】
図4を参照し、Mix装置について説明する。Mix装置4−iは、メモリ41、復号器42、置換装置43、対応証明器44および、これらを制御する制御部45を具備する。Mix装置4−iのメモリ41には、Xi :=(di ,Ni )および、Y1 ,…,Yk が格納されている。制御部45は以下の各ステップを実行するよう各機器を制御する。
【0093】
・(Mix処理ステップ)F:
入力Li-1 に対し、Xi およびLi-1 に含まれる各(Ri-1 ,Ei-1 )を順次復号器42へ入力する。復号器42は、
【0094】
【数24】
Figure 0003689292
【0095】
を計算し、演算結果の下位側から予め定められたビット数分の値をKi とし、残りの部分をRi とする。Ki を用いてEi :=Dec(Ei-1 ,Ki )を計算する。ここで、Decは復号演算であり、投票装置1−iが利用する暗号演算に対応するアルゴリズムを表す。復号器42は、(Ri ,Ei )を出力する。制御部45は、復号器42から順次出力される(Ri ,Ei )をメモリ41へ格納する。Li-1 のすべてのエントリに対して復号が終了した後、置換装置43を駆動し、すべての(Ri ,Ei )を順番に並べたリストを置換装置43へ入力する。置換装置43は、ランダムな置換πを生成し、πに従って入力されたリストの各エントリの順序を入れ換えてできるリストをLi として出力する。例えば、n=3のとき、ランダムに生成された置換をπ={3,1,2}とすると、リストの1番目にある(Ri ,Ei )を3番目に、2番目にある(Ri ,Ei )を1番目に、3番目にある(Ri ,Ei )を2番目においてできるリストをLi とする。置換装置43はπも出力する。制御部45はπをメモリ41へ格納し、Li を公開掲示板6へ送信する。
【0096】
・(対応証明ステップ)G:
1≦Ji ≦nなる整数値Ji (以下、この変数を追跡インデックスと呼ぶ)とLi-1 の入力に対し、Ji ,Li-1 およびπ,Xi を対応証明器44へ入力する。対応証明器44は、π中にJi が現れる場所を検索し、Ji がJi-1 番目に現れたら、リストLi-1 のJi-1 番目のエントリ(Ri-1 ,Ei-1 )を得、復号器42の動作と同様に、
【0097】
【数25】
Figure 0003689292
【0098】
を計算し、演算結果の下位側から予め定められたビット数分の値をKi とし、Ji-1 ,Ki を出力する。
【0099】
最後尾(i=k)のMix装置4−iが出力するリストLk の各エントリ(Rk ,Ek )は、すべて正常に処理された場合、Rk には何も含まれず、Ek はメッセージ・署名対M={s2 ,s3 ,c3 ,m,hp ,zp ,c2 }となる。以下では、Lk をMのリストとして説明する。
【0100】
図5は監視装置のブロック図である。監視装置3は、制御部31、メモリ32、追跡情報演算器33、追跡情報証明器34を具備する。監視装置3のメモリ32には、g,g1 ,g2 ,p,q,τ,yT が格納されている。制御部31は以下に説明する
・(追跡情報生成ステップ)H
を実行するよう各機器を制御する。
【0101】
処理1:入力dに対して、d,g1 ,τ,q,pを追跡情報演算器33へ入力する。
処理2:駆動された追跡情報演算器33は、
【0102】
【数26】
Figure 0003689292
【0103】
を計算し、出力する。
処理3:次に、追跡情報証明器34へhp ,d,g1 ,g2 ,p,q,τを入力する。
【0104】
処理4:追跡情報証明器34は、以下の手順で(c4 ,s4 )を計算する。
(a)乱数w4 ∈Zq を生成する。
(b)
【0105】
【数27】
Figure 0003689292
【0106】
を計算する。
(c)s4 :=w4 −c4 τmod q を計算する。
処理5:制御部31はhp およびc4 ,s4 を出力する。
【0107】
図6を参照し、検証装置について説明する。検証装置5は、メモリ51、署名検証器52、対応検証器53、追跡情報検証器54、署名抹消器55および、これらを制御する制御部56を具備する。検証装置5のメモリ51には、Y1 ,…,Yk ,g,g1 ,g2 ,y,yT ,p,qが格納されている。制御部は各機器を以下のように制御する。
【0108】
・(署名検証ステップ)I:
公開掲示板からLk を読み込み、リスト中の各エントリM={s2 ,c2 ,s3 ,c3 ,m,hp ,zp }を順次、署名検証器52へ入力する。更に、g,y,q,pを入力する。駆動された署名検証器52は、
【0109】
【数28】
Figure 0003689292
【0110】
を計算し、その結果をそれぞれc2 およびc3 と比較する。いずれも等しければ、署名検証器52はOKを出力し、そうでなければNGを出力する。制御部56は、署名検証器52がNGを出力した場合に、リスト中におけるその不正な署名の位置(インデックス)をJk として出力する。不正な署名が複数ある場合には、それらすべてのインデックスを出力する。一度もNGが出力されなければ、OKを出力する。
【0111】
・(対応検証ステップ)J:
追跡インデックスJi と、Ji に対してMix装置4−iが出力したJi-1 ,Ki とに対して、Ji ,Ji-1 ,Ki および、Li のJi 番目のエントリ(Ri ,Ei )、Li-1 のJi-1 番目のエントリ(Ri-1 ,Ei-1 )、およびYi を対応検証器53へ入力する。対応検証器53は、Dec(Ei-1 ,Ki )がEi に等しく、
【0112】
【数29】
Figure 0003689292
【0113】
がRi-1 に等しい場合にOKを出力し、そうでない場合にはNGを出力する。
・(追跡情報検証ステップ)K:
監視装置が出力したhp ,c4 ,s4 およびd,g1 ,g2 ,yT ,q,pを追跡情報検証器54へ入力する。追跡情報検証器54は
【0114】
【数30】
Figure 0003689292
【0115】
を計算し、その結果がc4 と等しければOKを出力し、等しくなければNGを出力する。制御部56は追跡情報検証器54の出力を出力する。
【0116】
・(署名抹消ステップ)L:
p およびLk を署名抹消器55へ入力する。署名抹消器55は、Lk の中に、入力されたhp と一致するhp を含むMが存在するか否かを調べ、存在しない場合はOKを出力し、存在するならば、そのMのLk 中での位置(インデックス)Jk を出力する。制御部56はOKまたはJk を公開掲示板6へ送信する。
【0117】
本実施例の投票装置は、以下の手順を順次実行する。
手順21:各投票装置と署名装置とは以下のステップを順次実行する。
(a)投票装置1−iは、投票内容mが外部より入力されると、上述の(追跡情報埋込および証明ステップ)Cを実行し、(hw ,d,c1 ,s1 )を署名装置へ送信する。
(b)署名装置2は、(hw ,d,c1 ,s1 )を受信して上述の(追跡情報埋込検証およびコミットステップ)Aを実行し、(zw ,t'g ,t'h )を投票装置1−iへ送信する。
(c)投票装置1−iは、(zw ,t'g ,t'h )を受信し、上述の(ブラインド処理ステップ)Dを実行してc'2 を署名装置2へ返信する。
(d)署名装置2は、c'2 を受信し、上述の(署名生成ステップ)Bを実行してs'2 を署名装置2へ返信する。
(e)投票装置1−iはs'2 を受信し、上述の(暗号投票文作成ステップ)Eを実行してR0 ,E0 を公開掲示板6へ送信する。
【0118】
(暗号投票文作成ステップ)Eの説明にあるように、E0 は投票文mとそれに対して署名装置が発行した署名との対Mを多重に暗号化したものである。各投票装置1−iが公開掲示板6に送信した(R0 ,E0 )からなるリストをL0 とする。
【0119】
手順22:i=1,…,kに対して、Mix装置4−iは公開掲示板6からLi-1 を読み込み、(Mix処理ステップ)Fを実行し、Li を公開掲示板6へ送信する(前述の通り、Lk はMのリストとなる)。
【0120】
手順23:検証装置5は、上述の(署名検証ステップ)Iを実行する。OKが出力されれば、正常終了であり、停止する。追跡インデックスJk が出力された場合,以下のステップに進む。
【0121】
手順24:以下の処理をj=k,…,1に対して順次繰り返す。
(a)検証装置5は、Jj をMix装置4−jへ送信する。
(b)Mix装置4−jは、検証装置5からJj を受信し、上述の(対応証明ステップ)Gを実行し、Jj-1 ,Kj を検証装置5へ送信する。
(c)検証装置5は、上述の(対応検証ステップ)Jを実行し、NGが出力されたならば、Mix装置4−jが不正であると認定して停止する。
【0122】
手順25:検証装置5は、J0 を監視装置3へ送信する。
手順26:監視装置3は、J0 を受信し、J0 番目の投票装置が署名装置へ送信した(hw ,d,c1 ,s1 )のhw を公開掲示板6より読み込んで上述の(追跡情報生成ステップ)Hを実行し、hp ,c4 ,s4 を検証装置5へ送信する。
【0123】
手順27:検証装置5は、hp ,c4 ,s4 を受信し、上述の(追跡情報検証ステップ)Kを実行する。NGが出力された場合、監視装置3が不正であると認定して停止する。OKが出力された場合、Lk を読み込んで上述の(署名抹消ステップ)Lを実行する。OKが出力された場合には、正常終了として停止する。インデックスJk が出力された場合、以下を実行する。まず、得られたJk が既に上述の(署名検証ステップ)Iの出力中に含まれていないことを確認する。含まれている場合には、この処理を終了する。含まれていない場合、手順24以降を再度実行する。
【0124】
以上の動作によって得られたリストLk において、検証装置5が公開掲示板6へ送付したすべてのインデックスJk を抹消情報とし、これに該当する全ての投票を無効としたものが最終的な開票結果とする。
【0125】
上記では、検証装置5のみが他の装置の出力を検証する場合について説明したが、各装置が独立した安全性を確保できるよう、検証装置5が備える各検証機能を、各Mix装置4−iおよび監視装置3が具備し、同様の検証を行っても良い。
【0126】
上記では、全ての通信を公開掲示板6を通じて行う場合について説明したが、各装置間に通信路を設け、送信する全てのデータに送信側のディジタル署名を添付することによって、公開掲示板6の代替とする事も可能である。
【0127】
上記において、匿名電子投票装置および匿名電子投票処理方法について説明したが、当該匿名電子投票処理方法はプログラムの形で記述しておくことができかつ当該プログラムを記録媒体に記録しておくことができる。したがって、本発明は当該記録媒体自体をも発明の対象とするものである。
【0128】
【発明の効果】
以上説明した如く、本発明によれば、不正者を特定する手段を提供することによって、投票者あるいはMixサーバによる不正に対する抑止効果が得られる。
【図面の簡単な説明】
【図1】電子投票装置のブロック図を示す。
【図2】署名装置のブロック図を示す。
【図3】投票装置のブロック図を示す。
【図4】Mix装置のブロック図を示す。
【図5】監視装置のブロック図を示す。
【図6】検証装置のブロック図を示す。
【符号の説明】
1:投票装置
2:署名装置
3:監視装置
4:Mix装置
5:検証装置
6:公開掲示板
7:認証通信路[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a method for efficiently realizing bearer voting in a telecommunications system.
[0002]
[Prior art]
  As a conventional technique, Japanese Patent Application No. 10-320173(Disclosed in Japanese Patent Laid-Open No. 2000-207483 as a domestic priority application)Will be described.
[0003]
This method is an improved version of the method proposed in A. Fujioka, T. Okamoto, K. Ohta: "A Practical Secret Voting Scheme for Large Scale elections", AUSSCRYPT '92, LNCS 718, Springer-Verlag . This method includes a signature terminal, a plurality of voting terminals, a public bulletin board, and a plurality of aggregation terminals. The signing terminal and all voting terminals are connected by an authentication communication path, and the public bulletin board and all voting terminals are connected by an anonymous communication path.
[0004]
Here, the anonymous communication path allows the caller to authenticate the receiver (that is, it can confirm that the receiver is indeed a valid receiver), but the receiver can specify the caller. It is a communication path having a function of being impossible or extremely difficult.
[0005]
Communication using such a communication path corresponds to, for example, a case where a caller communicates from a public telephone that is not under monitoring to a specific receiver. All voters hold the encryption key y, and each tabulation terminal holds partial information of the decryption key x corresponding to the encryption key y.
[0006]
After determining the message m to be voted, the voter drives the voting terminal to connect to the signing terminal, and obtains the blind signature σ for m. The signing terminal issues a blind signature after confirming that the voter is legitimate, that is, has the right to vote and has not yet voted.
[0007]
In the blind signature, the signer issues a signature σ ′ for the message m ′, but the voter has means for converting m ′, σ ′ to m, σ. Therefore, by using a blind signature, the signer can issue a signature but does not know the value of the actual message / signature pair (m, σ).
[0008]
Such blind signature methods are described in, for example, D. Chaum: “Security without identification: Transaction systems to make big brother obsolete”, Communications of the ACM, Vol. 28, No. 10, pp. 1030-1044, October, 1985. As shown in FIG. 4, it can be easily configured based on the RSA signature.
[0009]
The voter who has obtained the message / signature pair S: = (m, σ) encrypts S with y to obtain the ciphertext E, and sends E to the public bulletin board through the anonymous communication path.
[0010]
After the voting deadline, the totaling terminal having partial information of the decryption key cooperates to decrypt the ciphertext from each voter appearing on the public bulletin board to obtain a list of message / signature pairs (m, σ). Of these, only messages with correct signatures are counted as a count target.
[0011]
Since the above conventional method uses a physical anonymous communication path, it is not suitable for home voting or when voting from the home via the Internet. MIX-NET has been proposed as a means for realizing an anonymous communication path by a telecommunications system regardless of a physical configuration. In MIX-NET, L servers U1, ..., ULIs a system connected in series with a registered communication path.
[0012]
When implementing this using the RSA function, each server has a large prime number pi, QiNi= Pi・ QiAnd ei・ Di= 1 (mod LCM (pi-1, qi-1)) is satisfied (di, Ni), (Ei, Ni) Are a decryption key and an encryption key, respectively.
[0013]
To encrypt the message m by RSA, first, the random number r is selected, and m and r are bit-coupled to m‖r. And
[0014]
[Expression 1]
Figure 0003689292
[0015]
The ciphertext M is obtained as follows. In the following, this encryption procedure is referred to as EiWrite (m, r).
Each voter chooses a message / signature pair M to be sent.1(E2(... EL(M, rL), ...), r2), R1) And multiplex encryption using each encryption key, and U1Send to.
[0016]
U1After collecting encrypted input sentences from multiple voters,1For each input sentence2(... EL(M, rl ), ...) r2) And r1Get. U1Is the E obtained from each input sentence2(... EL(M, rl ), ...) r2) In random order and U2Send to.
[0017]
At this time, r for each message1By keeping U secret2Each E sent to2(... EL(M, rl ), ...) r2) U1It is possible to make it impossible to determine which message of the input to the decryption result.
[0018]
Hereinafter, U2, ..., ULRepeats the same process. Finally ULPublishes a list of message / signature pairs that have been decrypted and randomly replaced. At least one server has a random number riAnd by keeping the order of replacement secret, each user1The input ciphertext input toLThe connection with each message / signature pair output by is hidden and functions as an anonymous communication path.
[0019]
[Problems to be solved by the invention]
When the physical anonymous communication path is replaced with MIX-NET as in the conventional method described above, an incorrect result is output due to a malfunction of the Mix server or intentional interference caused by voting between the voter and the Mix server. There is a possibility.
[0020]
For example, if one of the voters is an encrypted message / signature pair E1(E2(... EL(M, rL), ...), r2), R1), Instead of a random value R that fails verification, an encrypted value E1(E2(... EL(R, rL), ...), r2), R1) And the mix server U of the partner with whom the legitimate message / signature pair M was colludedLAssume that you sent it secretly.
[0021]
Server ULIs a message / signature pair M passed from a voter who has collaborated in advance with one message / signature pair in the list of messages / signature pairs to be output immediately after outputting all the processing and immediately before outputting the result. Instead, output. By verifying this list, R is rejected, but the correct message / signature pair that has been replaced is not included in the list, so it is not subject to tabulation, and an incorrect result that is different from the original tabulation result is displayed. It will appear.
[0022]
It is an object of the present invention to prevent fraud in counting due to vote replacement as described above in an electronic voting system that does not use a physical anonymous communication path.
[0023]
[Means for Solving the Problems]
First, instead of blind signatures, signers can use erasable blind signatures (Fair
Issue a signature using Blind Signature.
[0024]
The erasable blind signature is a signing method including means for converting a message / signature pair m ′, σ ′ issued by the signer into m, σ, similar to the blind signature. It is possible to realize a means for a voter to obtain a signature without knowing the above. In addition to this, the erasable blind signature is a signature method in which a monitor holding certain monitoring information τ has means for extracting information identifying m and σ from m ′ and σ ′.
[0025]
If an invalid message / signature pair (m, σ) is found at the time of aggregation, the Mix server ULPublishes the input corresponding to the incorrect output (m, σ) and proves that the output is obtained by the correct processing.
[0026]
If the process is proved correct, the next server UL-1ULThe input value published by is the output value UL-1, And prove the correctness of the processing for the input / output relationship. Repeat this procedure for the first server U1Repeat until. On the way, if there is a Mix server that fails to prove, the server is regarded as an unauthorized person.
[0027]
If all servers are successfully certified, U1Voters who send input published by are considered fraudulent voters.
[0028]
When an unauthorized voter is found, the monitor uses the erasable blind signature m ′, σ ′ issued by the signer to the unauthorized voter and the monitoring information τ, and the original message / signature pair m. , Σ is obtained. Using this W, it is confirmed whether m and σ are included in the list of message / signature pairs obtained at the time of aggregation. When m and σ are included, each server sequentially discloses the input corresponding to the output by the above-described means, and proves the correctness of the processing. By repeating the above means, it is possible to eliminate voting by all unauthorized voters and identify an unauthorized Mix server.
[0029]
DETAILED DESCRIPTION OF THE INVENTION
Examples will be described. FIG. 1 is a block diagram of the electronic voting apparatus of this embodiment. The electronic voting device of this embodiment includes n voting devices 1-i, a signature device 2, a monitoring device 3, k mix devices 4-i, a verification device 5, and a public bulletin board 6. Each device and the public bulletin board are connected by an authentication communication path 7 capable of mutual authentication. In the following description, when each device transmits and receives information to and from each other, it is assumed that all are performed via a public bulletin board.
[0030]
Hereinafter, each device will be described. In this embodiment, as an erasable blind signature method, J. Camenisch, “Group Signature Schemes and Payment Systems Based on the Discrete Logarithm Problem”, ETH Series in Information Security and cryptography, Volumn 2, pp.124-132, Hartung- The method based on the Schnorr signature proposed by Gorre Verlag is used. First, the erasable blind signature method will be described.
[0031]
Let p and q be large prime numbers, and q be divisible by (p−1). g, g1, G2Z* pLet be the element of order q in. H (·) is a one-way hash function, and the binary operator a‖b represents a value obtained by combining binary expressions of a and b.
[0032]
  Y for random number τTThe
[31]
Figure 0003689292
  A value that satisfies τ is secret information necessary for signature deletion, and is kept secret by the monitor. yTPublish.
[0033]
Similarly, y = g for random number xxThe value satisfies mod p. x is a signing key and is kept secret by the signer. y is disclosed as a signature verification key.
[0034]
The following description is a processing procedure between the requester and the signer when the signature requester obtains a signature for the document m from the signer.
Step 1: The requester sets the random number a to Z* qChoose from
[0035]
[Expression 2]
Figure 0003689292
[0036]
Calculate The calculation was then performed correctly (ie,
[0037]
[Equation 3]
Figure 0003689292
[0038]
Certificate that proves that1, S1) In the following procedure.
(A) Random number w1∈Z* qSelect
[0039]
[Expression 4]
Figure 0003689292
[0040]
Calculate
(B) s1: = W1+ C1 a -1 Calculate mod p.
  The above calculation result (hw, D, c1, S1) To the signer.
  Procedure 2: The signer performs the following steps:
(A)
[0041]
[Equation 5]
Figure 0003689292
[0042]
Confirm that If not, the process is stopped.
(B) zw: = Hw xCalculate mod p.
(C) Random number w2∈ZqSelect
[0043]
[Formula 6]
Figure 0003689292
[0044]
Calculate
(D) (zw, T 'g, T 'h) To the requester.
Step 3: The requester sets random numbers γ and δ to ZqChoose from
[0045]
[Expression 7]
Figure 0003689292
[0046]
And c '2Is sent to the signer.
Step 4: The signer is s'2: = W2-C '2xmod q is calculated and sent to the requester.
[0047]
Step 5: The requester is2: = S '2+ Γmod q is calculated. Furthermore, hp= HW amod p certificate (cThree, SThree) Is generated by the following procedure.
(A) Random number wThree∈ZqIs generated.
(B)
[0048]
[Equation 8]
Figure 0003689292
[0049]
Calculate
(C) sThree: = WThree-CThreeamod q is calculated.
[0050]
Finally, (m, hp, Zp, C2, S2, CThree, SThree) As a document / signature pair.
In the above procedure,
[0051]
[Equation 9]
Figure 0003689292
[0052]
And
[0053]
[Expression 10]
Figure 0003689292
[0054]
In addition,
[0055]
## EQU11 ##
Figure 0003689292
[0056]
So it was issued (m, hp, Zp, C2, S2, SThree, CThree)
[0057]
[Expression 12]
Figure 0003689292
[0058]
The correctness can be verified by confirming that
In order to delete the issued signature, the supervisor with the confidential information τ
[0059]
[Formula 13]
Figure 0003689292
[0060]
Calculate and publish. This value is
[0061]
[Expression 14]
Figure 0003689292
[0062]
Therefore, this value hpSignatures containing are considered invalid. In addition, a certificate (sFour, CFour) Is calculated as follows.
Calculation 1: Random number wFour∈ZqIs generated.
Calculation 2:
[0063]
[Expression 15]
Figure 0003689292
[0064]
Calculate
Calculation 3: sFour: = WFour-CFourCalculate τmod q.
This certificate
[0065]
[Expression 16]
Figure 0003689292
[0066]
If the following holds, it is guaranteed that the processing of the observer is correct.
In this embodiment, a method based on the RSA encryption described in the description of the conventional method is used as a method for creating a ciphertext to be input to the MIX-NET. In the following description, | a | represents the number of bits of a. For i = 1,..., n, (ei, Ni), (Di, Ni) Are the public key and secret key of RSA encryption. However, | Ni| > | Ni + 1|
[0067]
The signature apparatus will be described with reference to FIG. The signature device 2 includes a memory 21, a tracking information embedding verifier 22, a commitment calculator 23, a signature calculator 24, and a control unit 25 for controlling them. The memory 21 includes g, g1, G2, P, q, y, yTAnd x are stored. The control unit 25 controls each device to execute the following steps.
[0068]
(Tracking information embedded verification and commit step) A:
Input received from voting device 1-i (hw, D, c1, S1) To the tracking information embedded verifier 22 (hw, D, c1, S1) And g1, G2, P, q, yTEnter. The driven tracking information embedded verifier 22
[0069]
[Expression 17]
Figure 0003689292
[0070]
And the result is c1If they are equal, OK is output, and if they are not equal, NG is output. When NG is output, the control unit 25 stops the process. If OK is output, go to commitment calculator 23w, G, p, q. The driven commitment calculator 23 has an input hw, G, p, q, an integer random number greater than or equal to 1 and less than q2And zw, T 'g, T 'hThe
[0071]
[Expression 18]
Figure 0003689292
[0072]
Calculate and output as follows.
(Signature generation step) B:
Input c ′ received from voting device 1-i2In response to the signature calculator 24 c ′2And w2, X, q. The signature calculator 24 is s ′2: = W2-C '2Calculate and output xmod q.
[0073]
The control unit 25 outputs the output (zw, T 'g, T 'h) And s'2Are sequentially transmitted to the voting apparatus 1-i.
[0074]
The voting device will be described with reference to FIG. The voting apparatus 1-i includes a memory 11, a tracking information embedding device 12, a tracking information embedding prover 13, a disturbance device 14, a disturbance correction device 15, an encryption device 16, and a control unit 17 for controlling them. . The memory 11 has g, g1, G2, P, q, y, yTIs stored. The control unit 17 controls each device to execute the following steps.
[0075]
(Tracking information embedding and certification step) C:
To trace information embedder 121, G2, P, q, yTEnter. The tracking information embedder uses a random number a∈Z* qProduces
[0076]
[Equation 19]
Figure 0003689292
[0077]
And hw, D are output. g1, YT, P, q and the output h of the tracking information embedder 12w, D, a are input to the tracking information embedded certifier 13. The tracking information embedded certifier 13 is a random number w.1∈Z* qSelect
[0078]
[Expression 20]
Figure 0003689292
[0079]
And s1: = W1+ C1compute amod p and c1, S1Is output. The controller 17 (hw, D, c1, S1) To the signature device 2.
[0080]
(Blind processing step) D:
Message m to be voted and received from the signature device 2 (zw, T 'g, T 'h), M, zw, T 'g, T 'hAnd p, q, and g are input to the disturber 14. Disturber 14 converts random numbers γ and δ to ZqChoose from
[0081]
[Expression 21]
Figure 0003689292
[0082]
To calculate γ, hp, Zp, C2, C '2Is output. The control unit 17 is c ′2Is transmitted to the signature device 2.
[0083]
・ (Cryptographic ballot making step) E:
S ′ received from the signature device 22S '2Q and γ are input to the disturbance corrector 15. The driven disturbance corrector 15 is s2: = S '2+ Γmod q is calculated. In addition, perform the following steps toThree, CThreeS2, SThree, CThreeIs output.
[0084]
Step 11: Random number wThree∈ZqIs generated.
Step 12:
[0085]
[Expression 22]
Figure 0003689292
[0086]
Calculate
Step 13: sThree: = WThree-CThreeamod q is calculated.
[0087]
Then s2, SThree, CThree, M, hp, Zp, C2Is input to the encryptor 16. For simplicity, we will denote these inputs as M. Y1, ..., YnIs input to drive the encryptor 16. The driven encryptor 16 has a random number K1, ..., KnProduces
[0088]
[Expression 23]
Figure 0003689292
[0089]
And E0: = Enc (... Enc (Enc (M, Kn), Kn-1) ..., K1) And R0, E0Is output. Here, Enc (α, β) means an operation for encrypting the ciphertext α with the secret key β. The control unit 17 is R0, E0To the public bulletin board.
[0090]
The encryption operation Enc may use any predetermined encryption algorithm such as IDEA or RC6. Furthermore, different algorithms may be used for each encryption operation. Each KiThe number of bits is determined so as to match the encryption algorithm used. Each public key NiAlso, Ni| And | Ni-1The difference between |i| Determine that it is over.
[0091]
In the following description, each voting device 1-i transmits to the public bulletin board 6 (R0, E0)0Is described.
[0092]
The Mix device will be described with reference to FIG. The Mix device 4-i includes a memory 41, a decoder 42, a replacement device 43, a correspondence prover 44, and a control unit 45 that controls them. The memory 41 of the Mix device 4-i has Xi: = (Di, Ni) And Y1, ..., YkIs stored. The control unit 45 controls each device to execute the following steps.
[0093]
(Mix processing step) F:
Input Li-1XiAnd Li-1Each (Ri-1, Ei-1) Are sequentially input to the decoder 42. The decoder 42
[0094]
[Expression 24]
Figure 0003689292
[0095]
And calculate the value for the predetermined number of bits from the lower side of the operation resultiAnd the rest is RiAnd KiUsing Ei: = Dec (Ei-1, Ki). Here, Dec is a decryption operation and represents an algorithm corresponding to the cryptographic operation used by the voting device 1-i. The decoder 42 (Ri, Ei) Is output. The controller 45 is sequentially output from the decoder 42 (Ri, Ei) Is stored in the memory 41. Li-1After the decoding is completed for all the entries of, the replacement device 43 is driven and all the (Ri, Ei) Are input to the replacement device 43. The replacement device 43 generates a random replacement π, and generates a list obtained by exchanging the order of each entry of the list input according to π.iOutput as. For example, when n = 3, if the randomly generated substitution is π = {3, 1, 2}, it is the first in the list (Ri, Ei) Is third and second (Ri, Ei) Is first and third (Ri, Ei) For the second listiAnd The substitution device 43 also outputs π. The control unit 45 stores π in the memory 41, and LiIs sent to the public bulletin board 6.
[0096]
・ (Corresponding Proof Step) G:
1 ≦ Ji≦ n integer value Ji(Hereafter, this variable is called the tracking index) and Li-1Ji, Li-1And π, XiIs input to the correspondence prover 44. Correspondence prover 44 isiSearch for the location where JiIs Ji-1List Li-1Ji-1Th entry (Ri-1, Ei-1) And similar to the operation of the decoder 42,
[0097]
[Expression 25]
Figure 0003689292
[0098]
And calculate the value for the predetermined number of bits from the lower side of the operation resultiAnd Ji-1, KiIs output.
[0099]
List L output by the last (i = k) Mix device 4-ikEntries (Rk, Ek) If all were processed successfully, RkContains nothing, EkIs a message / signature pair M = {s2, SThree, CThree, M, hp, Zp, C2}. In the following, LkIs described as a list of M.
[0100]
FIG. 5 is a block diagram of the monitoring device. The monitoring device 3 includes a control unit 31, a memory 32, a tracking information calculator 33, and a tracking information prover 34. The memory 32 of the monitoring device 3 has g, g1, G2, P, q, τ, yTIs stored. The control unit 31 will be described below.
・ (Tracking information generation step) H
Control each device to execute.
[0101]
Process 1: For input d, d, g1, Τ, q, p are input to the tracking information calculator 33.
Process 2: The driven tracking information calculator 33
[0102]
[Equation 26]
Figure 0003689292
[0103]
Is calculated and output.
Process 3: Next, to the tracking information prover 34p, D, g1, G2, P, q, τ.
[0104]
Process 4: The tracking information prover 34 (cFour, SFour).
(A) Random number wFour∈ZqIs generated.
(B)
[0105]
[Expression 27]
Figure 0003689292
[0106]
Calculate
(C) sFour: = WFour-CFourCalculate τmod q.
Process 5: The control part 31 is hpAnd cFour, SFourIs output.
[0107]
The verification apparatus will be described with reference to FIG. The verification device 5 includes a memory 51, a signature verification unit 52, a correspondence verification unit 53, a tracking information verification unit 54, a signature deletion unit 55, and a control unit 56 for controlling them. The memory 51 of the verification device 5 has Y1, ..., Yk, G, g1, G2, Y, yT, P, q are stored. The control unit controls each device as follows.
[0108]
(Signature verification step) I:
L from public bulletin boardkAnd each entry in the list M = {s2, C2, SThree, CThree, M, hp, Zp} Are sequentially input to the signature verifier 52. Furthermore, g, y, q, and p are input. The driven signature verifier 52 is
[0109]
[Expression 28]
Figure 0003689292
[0110]
And the result is c2And cThreeCompare with If both are equal, the signature verifier 52 outputs OK, and otherwise outputs NG. When the signature verifier 52 outputs NG, the control unit 56 sets the position (index) of the invalid signature in the list to JkOutput as. If there are multiple illegal signatures, all the indexes are output. If NG is never output, OK is output.
[0111]
・ (Corresponding verification step) J:
Tracking index JiAnd JiOutput by Mix device 4-ii-1, KiAnd Ji, Ji-1, KiAnd LiJiTh entry (Ri, Ei), Li-1Ji-1Th entry (Ri-1, Ei-1) And YiIs input to the correspondence verifier 53. Correspondence verifier 53 uses Dec (Ei-1, Ki) Is EiEqual to
[0112]
[Expression 29]
Figure 0003689292
[0113]
Is Ri-1If it is equal to, OK is output, otherwise NG is output.
(Tracking information verification step) K:
H output by the monitoring devicep, CFour, SFourAnd d, g1, G2, YT, Q, p are input to the tracking information verifier 54. The tracking information verifier 54
[0114]
[30]
Figure 0003689292
[0115]
And the result is cFourIf they are equal, OK is output, and if they are not equal, NG is output. The control unit 56 outputs the output of the tracking information verifier 54.
[0116]
・ (Signature deletion step) L:
hpAnd LkIs input to the signature deleting device 55. Signature deleter 55 is LkEntered in hpMatching hpWhether or not there is an M, and if it does not exist, OK is output.kPosition (index) JkIs output. The control unit 56 is OK or JkIs sent to the public bulletin board 6.
[0117]
The voting apparatus of the present embodiment sequentially executes the following procedures.
Procedure 21: Each voting device and the signature device sequentially execute the following steps.
(A) When the voting content m is input from the outside, the voting apparatus 1-i executes the above-described (tracking information embedding and proofing step) C, and (hw, D, c1, S1) To the signing device.
(B) The signature device 2 is (hw, D, c1, S1) And execute the above (tracking information embedding verification and commit step) A, and (zw, T 'g, T 'h) To the voting apparatus 1-i.
(C) The voting device 1-iw, T 'g, T 'h) And execute the above (blind processing step) D to execute c ′2Is returned to the signature device 2.
(D) The signature device 2 is c ′2, And execute (Signature generation step) B described above to execute s ′2Is returned to the signature device 2.
(E) Voting device 1-i is s'2And execute the above (encrypted vote sentence creation step) E to execute R0, E0Is sent to the public bulletin board 6.
[0118]
(Encryption Voting Text Creation Step) As explained in E, E0Is a multiplex encryption of a pair M of a vote sentence m and a signature issued by the signature device. Each voting device 1-i transmits to the public bulletin board 6 (R0, E0)0And
[0119]
Procedure 22: For i = 1,..., K, the Mix device 4-i moves from the public bulletin board 6 to Li-1Is read, (Mix processing step) F is executed, and LiTo the public bulletin board 6 (as described above, LkIs a list of M).
[0120]
Procedure 23: The verification apparatus 5 executes (Signature verification step) I described above. If OK is output, it is a normal end and stops. Tracking index JkIf is output, proceed to the following steps.
[0121]
Procedure 24: The following processing is sequentially repeated for j = k,.
(A) The verification device 5 is JjIs transmitted to the Mix device 4-j.
(B) The Mix device 4-j sends the verification device 5 to the JjAnd execute the above (corresponding proof step) G, and Jj-1, KjIs transmitted to the verification device 5.
(C) The verification device 5 executes the above (corresponding verification step) J, and if NG is output, the verification device 5 recognizes that the Mix device 4-j is illegal and stops.
[0122]
Procedure 25: The verification apparatus 50Is transmitted to the monitoring device 3.
Procedure 26: The monitoring device 30Received, J0Th voting device sent to the signing device (hw, D, c1, S1) HwIs read from the public bulletin board 6 and the above-described (tracking information generation step) H is executed.p, CFour, SFourIs transmitted to the verification device 5.
[0123]
Step 27: The verification device 5p, CFour, SFourAnd (Tracking information verification step) K described above is executed. When NG is output, the monitoring apparatus 3 is recognized as being illegal and stops. L when OK is outputkIs read and the above-mentioned (signature deletion step) L is executed. If OK is output, the process ends as a normal end. Index JkIf is output, execute the following. First, the obtained JkIs not already included in the output of the above-mentioned (signature verification step) I. If it is included, this process ends. If not included, step 24 and the subsequent steps are executed again.
[0124]
List L obtained by the above operationk, All indexes J sent from the verification device 5 to the public bulletin board 6kIs the erasure information, and all votes corresponding to this are invalidated as the final vote result.
[0125]
In the above description, the case where only the verification device 5 verifies the output of another device has been described. However, each verification function included in the verification device 5 is provided to each Mix device 4-i so that each device can ensure independent safety. The monitoring device 3 may be provided and the same verification may be performed.
[0126]
In the above description, the case where all communications are performed through the public bulletin board 6 has been described. However, by providing a communication path between the devices and attaching the digital signature of the transmission side to all data to be transmitted, It is also possible to do.
[0127]
In the above description, the anonymous electronic voting apparatus and the anonymous electronic voting processing method have been described. However, the anonymous electronic voting processing method can be described in the form of a program and the program can be recorded on a recording medium. . Therefore, the present invention also covers the recording medium itself.
[0128]
【The invention's effect】
As described above, according to the present invention, by providing a means for identifying an unauthorized person, a deterrence effect against fraud by a voter or a Mix server can be obtained.
[Brief description of the drawings]
FIG. 1 shows a block diagram of an electronic voting apparatus.
FIG. 2 shows a block diagram of a signature device.
FIG. 3 shows a block diagram of a voting device.
FIG. 4 shows a block diagram of a Mix device.
FIG. 5 shows a block diagram of a monitoring device.
FIG. 6 shows a block diagram of the verification device.
[Explanation of symbols]
1: Voting device
2: Signature device
3: Monitoring device
4: Mix device
5: Verification device
6: Public bulletin board
7: Authentication channel

Claims (2)

複数の投票者からの投票文を入力とし、入力された全ての投票文の順序をランダムに置換して出力することによって各投票と投票者との対応を知ることを困難とする匿名電子投票装置であって、
複数の投票装置と、暗号化されている投票の順序入れ替えおよび暗号文部分の復号を行うことにより匿名性を確保するための複数のMix装置と、署名装置と、不正が行われた場合にその不正投票・署名対を無効にするためにそれらの追跡を可能にするための匿名性を抹消する監視装置と、検証装置を具備し、
投票装置が、署名装置が署名発行に用いる情報hwを作成し、その情報に追跡情報が含まれていることを証明する追跡情報埋込および証明ステップ構成部を備え、
署名装置が、投票装置によって作成されたhwに追跡情報が正しく埋め込まれていることを検証する追跡情報埋込検証およびコミットステップ構成部を備え、
投票装置が、入力された投票文mをランダム化して攪乱投票文m’を作成するブラインド処理ステップ構成部を備え、
署名装置が、入力された攪乱投票文m’に対するブラインド署名σ’を発行する署名生成ステップ構成部を備え、
投票装置が、σ’を変換して投票文mに対する署名σを得、その投票文・署名対(m, σ)をMix装置の公開鍵で暗号化して暗号文Eを得る暗号投票文作成ステップ構成部を備え、
Mix装置が、複数の暗号文Eからなる入力リストを復号およびランダムに置換して作成されるリストを出力するMix処理ステップ構成部を備え、
検証装置が、Mix装置が出力するリストに含まれる各々の要素が正しい投票文・署名対であることを署名を検証することによって確認する署名検証ステップ構成部を備え、
Mix装置が、Mix処理ステップ構成部で使用した置換に基づいて、出力リスト中の指定された位置に対応する入力リスト中の位置を開示し、その出力が、開示した位置にある入力暗号文を正しく復号した結果に基づく値であることを証明する証明書を出力する対応証明ステップ構成部を備え、
検証装置が、Mix装置が対応証明ステップで出力した入出力対応と、その証明書が正しいことを検証する対応検証ステップ構成部を備え、
監視装置が、秘密情報τを用いて、(m’, σ’)に対応する(m, σ)を特定することのできる追跡情報hpを出力する追跡情報生成ステップ構成部を備え、
検証装置が、Mix装置がMix処理ステップで出力したリストを検索し、監視装置が追跡情報生成ステップで出力したhpから特定される投票・署名対(m, σ)が含まれる場合に、その投票を無効とするための抹消情報を出力する署名抹消ステップ構成部を備えるようにした
ことを特徴とする匿名電子投票装置。
Anonymous electronic voting device that makes it difficult to know the correspondence between each vote and the voter by inputting the vote sentences from a plurality of voters and outputting them by randomly replacing the order of all inputted vote sentences Because
Multiple fraud devices, multiple mix devices to ensure anonymity by reordering encrypted voting and decrypting ciphertext parts, signature devices, A monitoring device for eliminating anonymity for enabling tracking of invalid voting / signature pairs, and a verification device;
The voting device includes information h w used by the signature device to issue a signature, and includes a tracking information embedding and proof step configuration unit that proves that the tracking information is included in the information,
The signing device comprises a tracking information embedding verification and commit step component for verifying that the tracking information is correctly embedded in h w created by the voting device,
The voting device includes a blind processing step configuration unit that randomizes an input vote sentence m and creates a disturbed vote sentence m ′,
The signature device comprises a signature generation step configuration unit that issues a blind signature σ ′ for the inputted disturbed vote sentence m ′,
The voting device converts σ ′ to obtain a signature σ for the voting text m, encrypts the voting text / signature pair (m, σ) with the public key of the Mix device, and obtains a cipher text E Comprising a component,
The Mix device includes a Mix processing step configuration unit that outputs a list created by decrypting and randomly replacing an input list including a plurality of ciphertexts E,
The verification device includes a signature verification step configuration unit that verifies that each element included in the list output from the Mix device is a correct vote sentence / signature pair by verifying the signature,
Based on the replacement used by the Mix processing step component, the Mix device discloses the position in the input list corresponding to the specified position in the output list, and the output has the input ciphertext at the disclosed position. A correspondence proof step configuration unit that outputs a certificate that proves that the value is based on a correctly decrypted result;
The verification device includes an input / output correspondence output by the Mix device in the correspondence proof step, and a correspondence verification step configuration unit for verifying that the certificate is correct,
Monitoring device, by using the secret information tau, with tracking information generating step configuration unit for outputting trace information h p capable of identifying the (m ', σ') corresponding to the (m, sigma),
Verification device, when the Mix device searches the list output in Mix process step, the monitoring device is vote-signature pair specified from h p output by the tracking information generating step (m, sigma) are included, the An anonymous electronic voting apparatus comprising a signature erasure step configuration unit that outputs erasure information for invalidating voting.
複数の投票者からの投票文を入力とし、入力された全ての投票文の順序をランダムに置換して出力することによって各投票と投票者との対応を知ることを困難とする匿名電子投票処理方法であって、
複数の投票装置と、暗号化されている投票の順序入れ替えおよび暗号文部分の復号を行うことにより匿名性を確保するための複数のMix装置と、署名装置と、不正が行われた場合にその不正投票・署名対を無効にするためにそれらの追跡を可能にするための匿名性を抹消する監視装置と、検証装置を具備した電子投票装置が用いられ、
投票装置が、署名装置が署名発行に用いる情報hwを作成し、その情報に追跡情報が含まれていることを証明する追跡情報埋込および証明ステップを実行し、
署名装置が、投票装置によって作成されたhwに追跡情報が正しく埋め込まれていることを検証する追跡情報埋込検証およびコミットステップを実行し、
投票装置が、入力された投票文mをランダム化して攪乱投票文m’を作成するブラインド処理ステップを実行し、
署名装置が、入力された攪乱投票文m’に対するブラインド署名σ’を発行する署名生成ステップを実行し、
投票装置が、σ’を変換して投票文mに対する署名σを得、その投票文・署名対(m, σ)をMix装置の公開鍵で暗号化して暗号文Eを得る暗号投票文作成ステップを実行し、
Mix装置が、複数の暗号文Eからなる入力リストを復号およびランダムに置換して作成されるリストを出力するMix処理ステップを実行し、
検証装置が、Mix装置が出力するリストに含まれる各々の要素が正しい投票文・署名対であることを署名を検証することによって確認する署名検証ステップを実行し、
Mix装置が、Mix処理ステップで使用した置換に基づいて、出力リスト中の指定された位置に対応する入力リスト中の位置を開示し、その出力が、開示した位置にある入力暗号文を正しく復号した結果に基づく値であることを証明する証明書を出力する対応証明ステップを実行し、
検証装置が、Mix装置が対応証明ステップで出力した入出力対応と、その証明書が正しいことを検証する対応検証ステップを実行し、
監視装置が、秘密情報τを用いて、(m’, σ’)に対応する(m, σ)を特定することのできる追跡情報hpを出力する追跡情報生成ステップを実行し、
検証装置が、Mix装置がMix処理ステップで出力したリストを検索し、監視装置が追跡情報生成ステップで出力したhpから特定される投票・署名対(m, σ)が含まれる場合に、その投票を無効とするための抹消情報を出力する署名抹消ステップを実行するようにした
ことを特徴とする匿名電子投票処理方法。
Anonymous electronic voting process that makes it difficult to know the correspondence between each vote and the voter by taking the vote sentences from multiple voters as input and replacing the order of all the entered vote sentences at random A method,
Multiple fraud devices, multiple mix devices to ensure anonymity by reordering encrypted voting and decrypting ciphertext parts, signature devices, In order to invalidate the illegal vote / signature pair, a monitoring device that erases anonymity for enabling tracking thereof, and an electronic voting device equipped with a verification device are used,
A voting device creates information h w used by the signing device to issue a signature and performs tracking information embedding and proofing steps to prove that the tracking information is included in the information;
The signing device performs a tracking information embedding verification and commit step to verify that the tracking information is correctly embedded in the h w created by the voting device;
The voting device performs a blind processing step of randomizing the input vote sentence m to create a disturbed vote sentence m ′,
The signature device performs a signature generation step of issuing a blind signature σ ′ for the input disturbed vote sentence m ′,
The voting device converts σ ′ to obtain a signature σ for the voting text m, encrypts the voting text / signature pair (m, σ) with the public key of the Mix device, and obtains a cipher text E Run
A Mix device executes a Mix processing step of outputting a list created by decrypting and randomly replacing an input list consisting of a plurality of ciphertexts E;
The verification device performs a signature verification step for verifying by verifying the signature that each element included in the list output by the Mix device is a correct vote sentence / signature pair;
The Mix device discloses the position in the input list corresponding to the specified position in the output list based on the substitution used in the Mix processing step, and the output correctly decrypts the input ciphertext at the disclosed position Execute a corresponding proof step that outputs a certificate certifying that the value is based on the result obtained,
The verification device executes an input / output correspondence output by the Mix device in the correspondence proof step and a correspondence verification step for verifying that the certificate is correct,
Monitoring device, using a secret information tau, perform the (m ', σ') tracking information generating step of outputting the tracking information h p that can be identified corresponding to (m, sigma),
Verification device, when the Mix device searches the list output in Mix process step, the monitoring device is vote-signature pair specified from h p output by the tracking information generating step (m, sigma) are included, the An anonymous electronic voting processing method characterized by executing a signature erasure step for outputting erasure information for invalidating voting.
JP33077399A 1999-11-22 1999-11-22 Anonymous electronic voting apparatus and anonymous electronic voting processing method Expired - Fee Related JP3689292B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33077399A JP3689292B2 (en) 1999-11-22 1999-11-22 Anonymous electronic voting apparatus and anonymous electronic voting processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33077399A JP3689292B2 (en) 1999-11-22 1999-11-22 Anonymous electronic voting apparatus and anonymous electronic voting processing method

Publications (2)

Publication Number Publication Date
JP2001147983A JP2001147983A (en) 2001-05-29
JP3689292B2 true JP3689292B2 (en) 2005-08-31

Family

ID=18236392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33077399A Expired - Fee Related JP3689292B2 (en) 1999-11-22 1999-11-22 Anonymous electronic voting apparatus and anonymous electronic voting processing method

Country Status (1)

Country Link
JP (1) JP3689292B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5211342B2 (en) * 2007-01-12 2013-06-12 国立大学法人山梨大学 Secure communication method
JP5300900B2 (en) * 2011-03-16 2013-09-25 株式会社東芝 Electric power utilization adjusting device, system and program
CN109448340B (en) * 2018-12-25 2023-08-08 佛山科学技术学院 Bus early warning unit

Also Published As

Publication number Publication date
JP2001147983A (en) 2001-05-29

Similar Documents

Publication Publication Date Title
US6738912B2 (en) Method for securing data relating to users of a public-key infrastructure
Elkhiyaoui et al. CHECKER: On-site checking in RFID-based supply chains
Grontas et al. Towards everlasting privacy and efficient coercion resistance in remote electronic voting
CN110555933A (en) Electronic voting method, device, equipment and computer storage medium
US20120294442A1 (en) Joint encryption of data
Araújo et al. Remote electronic voting can be efficient, verifiable and coercion-resistant
US8352380B2 (en) Method and system for generating a list signature
CN103988466A (en) Group encryption method and device
Guasch et al. How to challenge and cast your e-vote
EP1361693B1 (en) Handle deciphering system and handle deciphering method, and program
CN116738452A (en) District democratic voting method based on block chain
KR20060127194A (en) Electronic Voting Method and System Using Fair Blind Signature
JP3689292B2 (en) Anonymous electronic voting apparatus and anonymous electronic voting processing method
Cetinkaya et al. A practical verifiable e-voting protocol for large scale elections over a network
WO2021019783A1 (en) Proprietor identity confirmation system, terminal, and proprietor identity confirmation method
JP4533636B2 (en) Digital signature system, digital signature management apparatus, digital signature management method and program
JP3298826B2 (en) Anonymous communication method and apparatus and program recording medium
EP1267516B1 (en) Method for securing data relating to users of a public-key infrastructure
Yang et al. RVBT: a remote voting scheme based on three-ballot
JP3331329B2 (en) Public verification possible request restoration blind signature method, apparatus and program recording medium
JP3316466B2 (en) Electronic secret balloting method, device thereof, and program recording medium
Pavithra et al. Over-the-shoulder coercion-resistant stake voting system with self-tallying
Al-Saidi et al. E-Voting Authentication Preparation Scheme (EV-APS) Based on Evox-MA and REVS E-Voting Blind Signature Protocols
Canard et al. How to fit cryptographic e-voting into smart cards
JP2000231330A (en) Blind signature method, system, apparatus and program recording medium

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040803

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041021

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20041109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050607

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050610

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100617

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees