JP2004192029A - Electronic voting system, voting data generating server, terminal equipment, tabulation server and computer program - Google Patents

Electronic voting system, voting data generating server, terminal equipment, tabulation server and computer program Download PDF

Info

Publication number
JP2004192029A
JP2004192029A JP2002355415A JP2002355415A JP2004192029A JP 2004192029 A JP2004192029 A JP 2004192029A JP 2002355415 A JP2002355415 A JP 2002355415A JP 2002355415 A JP2002355415 A JP 2002355415A JP 2004192029 A JP2004192029 A JP 2004192029A
Authority
JP
Japan
Prior art keywords
voting
server
share
voting data
data
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.)
Granted
Application number
JP2002355415A
Other languages
Japanese (ja)
Other versions
JP3910529B2 (en
Inventor
Shinichiro Matsuo
真一郎 松尾
Wakaha Ogata
わかは 尾形
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 Data Group Corp
Original Assignee
NTT Data Corp
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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2002355415A priority Critical patent/JP3910529B2/en
Publication of JP2004192029A publication Critical patent/JP2004192029A/en
Application granted granted Critical
Publication of JP3910529B2 publication Critical patent/JP3910529B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an efficient electronic voting system in which the voting contents of each voter is kept secret, fraudulent voting is prevented, and each voter can arbitrarily divide his/her vote into a plurality of choices for voting. <P>SOLUTION: A voting data generating server S<SB>R</SB>generates the share of secretly distributed voting data corresponding to tabulation servers S<SB>1</SB>to S<SB>m</SB>for each voting pattern, and encrypts it by the key of each tabulation server, and transmits it to terminal equipment T<SB>1</SB>to T<SB>n</SB>. The respective terminal equipment T<SB>1</SB>to T<SB>n</SB>transmit the encrypted sentences of the share of the voting data corresponding to the patterns voted by respective voters V<SB>1</SB>to V<SB>n</SB>from among the encrypted sentences of the share of the voting data of each of the received voting patterns to corresponding tabulation servers S<SB>1</SB>to S<SB>m</SB>. The tabulation servers S<SB>1</SB>to S<SB>m</SB>respectively decode the encrypted sentences of the share of the received voting data, and add them to the share of secretly distributed counters owned by themselves. Then, the total number of voting is decoded based on the share of the counters owned by the other tabulation servers S<SB>1</SB>to S<SB>m</SB>. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
この発明は、投票及び開票作業を行う電子投票システムに関する。
【0002】
【従来の技術】
近年、インターネットの普及により、暗号プロトコルを使用した電子投票サービスが提供されつつある。既存の電子投票の方式の多くは、信任投票のような形態の投票、すなわち、「Yes」か「No」かのいずれか一票を投じる形態を扱っている。また、複数の候補から1つだけを選択する投票には、この方式を拡張することにより実現されている。
非特許文献1には、準同型性に基づく電子投票方式が、また、非特許文献2には、準同型性に基づく分割不可能な複数票電子投票方式について記載されている。
なお、準同型性とは、秘密情報sをn個のシェア{S1,1, S1,2,...., S1,n}に、秘密情報sをn個のシェア{S2,1, S2,2,...., S2,n}に分散し、i番目のプレーヤーがS1,i及びS2,iを受け取る場合、秘密情報sとsの和であるs+sは、各プレーヤーの持つS1,i+S2,iを合わせた{S1,1+S2,1, S1,2+S2,2,...., S1,n+S2,n}から復元することができる性質をいう。
非特許文献3には、シャッフリングに基づく電子投票方式が記載されている。これは、Mixサーバが投票者から暗号化された投票内容を受信すると、この暗号化された投票内容の置換と再暗号化を行って次のMixサーバへ送信し、投票内容の置換と再暗号化を複数のMixサーバにより繰り返すことで最終結果を復号する方式である。
また、非特許文献4には、ブラインド署名に基づく電子投票方式が記載されている。これは、暗号化した投票内容に選挙管理人がブラインド署名を付加し、集計サーバは、投票者からこのブラインド署名が付された暗号化した投票内容に基づき集計を行う方式である。
【0003】
【非特許文献1】
サコ、キリアン(Sako, K. and Kilian, J.),「部分的にコンパチブルな準同型性を使用したセキュアな投票方式(Secure Voting Using Partially Compatible Homomorphisms)」,アドバンス・イン・クリプトロジー:クリプト’94(Advances in Cryptology: Crypto’94),ドイツ,シュプリンガー・フェアラーク(Springer−Verlag),1994年8月,LNCS839,p.411−424
【非特許文献2】
税所哲郎、他4名,「準同型性を利用した1人複数投票可能な電子投票方式」,コンピュータセキュリティシンポジウム2002論文集,社団法人情報処理学会,平成14年10月30日,情報処理学会シンポジウムシリーズ Vol.2002,No.16,p.467−472
【非特許文献3】
サコ、キリアン(Sako, K. and Kilian, J.),「レシートフリーなミックスタイプ投票方式(Receipt−Free Mix−type Voting Scheme)」,アドバンス・イン・クリプトロジー:ユーロクリプト’95(Advances in Cryptology: EuroCrypt’95),ドイツ,シュプリンガー・フェアラーク(Springer−Verlag),1995年,LNCS921,p.393−403
【非特許文献4】
藤岡淳、他2名,「電子投票方式」,NTT R&D,日本電信電話株式会社,1995年10月,Vol.44,No.10,p.244−251
【0004】
【発明が解決しようとする課題】
一般的な選挙のように、投票者1人が1票を投じる形態のほかに、株主総会の投票などのように、各投票者がそれぞれ異なる票数を持つ場合がある。また、この各投票者のそれぞれの異なる数の票を、複数の選択肢に任意に分配して投票を行うケースも存在する。
しかし、非特許文献1に記載されるような準同型性を用いた電子投票方式により上述した投票を行う場合、投票者が持ち票数分だけゼロ知識証明を実行しなければならない。これは、効率が悪く、現実的ではないという問題がある。なお、ゼロ知識証明とは、一般に、証明者と検証者の間で何度かやりとりして、証明者が保持している秘密の情報について、証明者がその知識を知っていることを検証者に対して確率的に証明する方法である。
また、非特許文献2に記載される準同型性に基づく分割不可能な電子投票方式では、投票内容の秘匿性を保ちながら、複数票の分割投票を行うことは原理的に不可能である。
また、非特許文献3及び4に記載されるような方式を適用した場合、投票データに票の分割パターンを含めると、持ち票数との照合により匿名性が失われるという問題がある。また、Yes−Noの票を持ち票数分投票すると、匿名性は確保できるが、匿名通信路の入出力が投票総数となるため、効率が悪く現実的ではないという問題がある。
【0005】
この発明は、上記のような事情を考慮してなされたもので、その目的は、各投票者の投票内容を秘匿し、さらに、不正な投票を防ぎながら、各投票者が持つ票を複数の選択肢に任意に分割して投票することができる効率的な電子投票システムを提供することにある。
【0006】
【課題を解決するための手段】
この発明は、上記の課題を解決すべくなされたもので、請求項1に記載の発明は、投票者の端末装置と、前記投票者が投票を行うための投票データを生成する投票データ生成サーバと、投票を集計する集計サーバとをネットワークを介して接続してなる電子投票システムであって、前記投票データ生成サーバは、各集計サーバに対応する秘密分散された投票データのシェアを投票パターン毎に生成し、各集計サーバの鍵により暗号化して前記端末装置へ送信する投票データ生成手段を備え、前記端末装置は、前記投票データ生成サーバから、各集計サーバに対応する投票パターン毎の秘密分散された投票データのシェアの暗号文を受信し、この投票データのシェアの暗号文中から投票者が投票するパターンに応じた投票データのシェアの暗号文を、対応する各集計サーバへ送信する投票手段を備え、前記集計サーバは、投票数をカウントするための秘密分散されたカウンタのシェアと、前記端末装置から投票データのシェアの暗号文を受信し、この暗号文を復号して得た投票データのシェアを前記カウンタのシェアに加算するカウンタ加算手段と、各集計サーバが保有する前記カウンタのシェアを基に投票総数を復号する投票結果算出手段とを備える、ことを特徴とする電子投票システムである。
【0007】
請求項2に記載の発明は、請求項1に記載の電子投票システムであって、さらに、前記集計サーバへ投票データの正当性を確認するための情報を保持する公開掲示板サーバとネットワークを介して接続され、前記投票データ生成手段は、前記投票データのシェアから生成した正当性確認データを、投票パターンを秘匿して前記公開掲示板サーバへ送信し、前記公開掲示板サーバは、投票パターンを秘匿した正当性確認データを受信し、内部に記憶するシェア記憶手段を備え、前記カウンタ加算手段は、正当性確認データを前記公開掲示板サーバから読み出し、この正当性確認データを基に前記投票データのシェアが正当であると判断した場合に、前記カウンタのシェアに加算する、ことを特徴とする。
【0008】
請求項3に記載の発明は、請求項2に記載の電子投票システムであって、前記投票データ生成手段は、前記投票データのシェアの平文を前記端末装置へ送信し、前記投票手段は、前記投票データ生成サーバから前記投票データのシェアの平文を受信し、この投票データのシェアの平文と、前記公開掲示板サーバから読み出した正当性確認データとを基に、前記投票データのシェアの暗号文が正当であると判断した場合に、投票者が投票するパターンに応じた投票データのシェアの暗号文を対応する各集計サーバへ送信する、ことを特徴とする。
【0009】
請求項4に記載の発明は、投票者の端末装置と、前記投票者が投票を行うための投票データを生成する投票データ生成サーバと、投票を集計する集計サーバとをネットワークを介して接続してなる電子投票システムの投票データ生成サーバであって、各集計サーバに対応する秘密分散された投票データのシェアを投票パターン毎に生成し、各集計サーバの鍵により暗号化して前記端末装置へ送信する投票データ生成手段を備えることを特徴とする投票データ生成サーバである。
【0010】
請求項5に記載の発明は、投票者の端末装置と、前記投票者が投票を行うための投票データを生成する投票データ生成サーバと、投票を集計する集計サーバとをネットワークを介して接続してなる電子投票システムの端末装置であって、前記投票データ生成サーバから、各集計サーバに対応する投票パターン毎の秘密分散された投票データのシェアの暗号文を受信し、この投票データのシェアの暗号文中から投票者が投票するパターンに応じた投票データのシェアの暗号文を、対応する各集計サーバへ送信する投票手段を備えることを特徴とする端末装置である。
【0011】
請求項6に記載の発明は、投票者の端末装置と、前記投票者が投票を行うための投票データを生成する投票データ生成サーバと、投票を集計する集計サーバとをネットワークを介して接続してなる電子投票システムの集計サーバであって、投票数をカウントするための秘密分散されたカウンタのシェアと、前記端末装置から秘密分散された投票データのシェアの暗号文を受信し、この暗号文を復号して得た投票データのシェアを前記カウンタのシェアに加算するカウンタ加算手段と、各集計サーバが保有する前記カウンタのシェアを基に投票総数を復号する投票結果算出手段と、を備えることを特徴とする集計サーバである。
【0012】
請求項7に記載の発明は、投票者の端末装置と、前記投票者が投票を行うための投票データを生成する投票データ生成サーバと、投票を集計する集計サーバとをネットワークを介して接続してなる電子投票システムの投票データ生成サーバに用いられるコンピュータプログラムであって、各集計サーバに対応する秘密分散された投票データのシェアを投票パターン毎に生成し、各集計サーバの鍵により暗号化して前記端末装置へ送信するステップをコンピュータに実行させることを特徴とするコンピュータプログラムである。
【0013】
請求項8に記載の発明は、投票者の端末装置と、前記投票者が投票を行うための投票データを生成する投票データ生成サーバと、投票を集計する集計サーバとをネットワークを介して接続してなる電子投票システムの端末装置に用いられるコンピュータプログラムであって、前記投票データ生成サーバから、各集計サーバに対応する投票パターン毎の秘密分散された投票データのシェアの暗号文を受信するステップと、受信した投票データのシェアの暗号文中から投票者が投票するパターンに応じた投票データのシェアの暗号文を、対応する各集計サーバへ送信するステップと、をコンピュータに実行させることを特徴とするコンピュータプログラムである。
【0014】
請求項9に記載の発明は、投票者の端末装置と、前記投票者が投票を行うための投票データを生成する投票データ生成サーバと、投票を集計する集計サーバとをネットワークを介して接続してなる電子投票システムの集計サーバに用いられるコンピュータプログラムであって、前記端末装置から秘密分散された投票データのシェアの暗号文を受信するステップと、投票数をカウントするための秘密分散されたカウンタのシェアに、前記暗号文を復号して得た投票データのシェアを加算するステップと、各集計サーバが保有する前記カウンタのシェアを基に投票総数を復号するステップと、をコンピュータに実行させることを特徴とするコンピュータプログラムである。
【0015】
【発明の実施の形態】
以下、図面を参照し、この発明の実施の形態について説明する。
なお、便宜上、
【数1】

Figure 2004192029
をX のように記述する。
【0016】
1. システムモデル
図1は、この発明の一実施の形態による電子投票システムの構成を示すブロック図である。
本電子投票システムには、n人の投票者V〜V(以下、「投票者V」と記述)が存在する。i番目(1≦i≦n)の投票者Vを投票者V、投票者Vの持つ票数をx(以下、「持ち票数x」と記述)、投票者VがYesに投じる票数をv(i) (以下、「Yes票数v(i) 」と記述)、Noに投じる票数をv(i) (以下、「No票数v(i) 」と記述)とする。このとき、
【数2】
Figure 2004192029
かつ
【数3】
Figure 2004192029
が成り立つ。
そして、m台の集計サーバS〜S(以下、「集計サーバS」と記述)は、投票者V〜Vが各々保有する端末装置T〜T(以下、「端末装置T」と記述)から受信した投票データを基に、
【数4】
Figure 2004192029
(以下、「Yesの総票数Σ(i) 」と記述)及び
【数5】
Figure 2004192029
(以下、「Noの総票数Σ(i) 」と記述)を求める。
【0017】
ここで、以下の健全性、完全性及びプライバシの条件を満たすとき、この電子投票システムで行われる電子投票はセキュアであるという。
(1)健全性
いかなる投票者V(端末装置T)も、各々の持ち票数x〜x(以下、「持ち票数x」と記述)を超える投票はできない。すなわち、以下が成り立つ。
【数6】
Figure 2004192029
また、上記が成立しているときに、(v(i) ,v(i) )は有効であるという。
(2)完全性
(1)に記載の健全性を満たす全ての投票に対して、集計サーバSは、Yesの総票数Σ(i) 及びNoの総票数Σ(i) を正しく出力する。
(3)プライバシ
集計サーバSと端末装置T(投票者V)は、Yesの総票数Σ(i) 及びNoの総票数Σ(i) 以外のいかなる情報も得ない。ただし、各投票者Vのそれぞれの持ち票数xと、各投票者Vが投票に参加したかどうかは公開されても良い。
【0018】
本実施の形態による電子投票システムにおいては、各投票のプライバシを確保するために、線形性を持った秘密分散を利用して集計機能をm台の集計サーバSへ分散させる。投票者Vの保有する端末装置Tは、各選択肢に投じる票数を示す投票データを秘密分散したシェア、すなわち、Yes票数v(i) 及びNo票数v(i) (1≦i≦n)のシェアを各集計サーバSに送信する。各集計サーバSは、自身が端末装置Tから受信した投票データのシェアの総和を計算し、最終的に各集計サーバSの保有する投票データのシェアの総和から総投票数を復元する。
【0019】
2.構成
投票データ生成サーバSは、専用線やブロードバンド回線によりインターネットなどのネットワークNと接続され、公開掲示板サーバB及び端末装置Tと通信する機能を有する。ただし、端末装置Tとは、暗号化された通信プロトコルを使用するなどしてセキュアに接続される。
投票データ生成サーバSは、全てのi(1≦i≦n)に対する(投票者V,持ち票数x)のペアを内部に記憶している。そして、全ての投票者Vについて、各集計サーバSに対応する秘密分散された投票データのシェアを投票パターン毎に生成する機能と、平文の投票データのシェア及び電子署名された投票データのシェアの暗号文を端末装置Tへ送信する機能を有する。なお、投票パターンとは、各選択肢に持ち票数をどのように配分するかのパターンを示す。また、端末装置T及び集計サーバSが投票の正当性の検証を行うための正当性確認データ、すなわち、投票データのシェアを基にしたハッシュ値を生成し、さらに生成したハッシュ値をシャッフルし投票パターンを秘匿して公開掲示板サーバBへ書き込む機能を有する。
【0020】
公開掲示板サーバBは、専用線やブロードバンド回線によりネットワークNと接続され、投票データ生成サーバS、端末装置T及び集計サーバSと通信する機能を有する。また、公開掲示板サーバBは、投票データ生成サーバSから投票パターンを秘匿した正当性確認データ、すなわち、全ての可能な投票データのシェアを基に生成され、かつ、シャッフルされたハッシュ値を受信し、内部に記憶する機能を有する。
【0021】
端末装置Tは、各投票者Vが保有するパーソナルコンピュータであり、専用線やブロードバンド回線によりネットワークNと接続され、投票データ生成サーバS、公開掲示板サーバB及び集計サーバSと通信する機能を有する。ただし、投票データ生成サーバSとは、暗号化された通信プロトコルを使用するなどしてセキュアに接続される。
端末装置Tは、投票データ生成サーバSから、平文の投票データのシェアと、電子署名された投票データのシェアの暗号文を受信し、内部に記憶する機能を有する。また、平文の投票データのシェアからハッシュ値を生成するとともに、公開掲示板サーバB内のシャッフルされたハッシュ値(正当性確認データ)を読み出して比較し、投票データ生成サーバSから受信した投票データのシェア及び公開掲示板サーバB内のシャッフルされたハッシュ値(正当性確認データ)の正当性を確認する機能を有する。さらに、平文の投票データのシェアから投票データを復号し、投票データの正当性を確認する機能を有する。加えて、平文の投票データのシェアを暗号化し、投票データ生成サーバSから受信した投票データのシェアが正しく暗号化されているかどうかを確認する機能を有する。そして、投票者Vがキーボードやマウス、ボタンなどから入力した投票パターンを示す情報を受け、この入力された投票パターンに対応する電子署名された投票データのシェアの暗号文を内部から読み出し、各集計サーバSへ送信する機能を有する。
【0022】
集計サーバSは、専用線やブロードバンド回線によりネットワークNと接続され、公開掲示板サーバB及び端末装置Tと通信する機能を有する。
各集計サーバSは、共同でYes用のカウンタC(以下、「YesカウンタC」と記述)及びNo用のカウンタC(以下、「NoカウンタC」と記述)を求めるため、カウンタのシェアを内部に記憶する。これらのカウンタのシェアは、m台中t台の集計サーバSが不正な場合でも集計結果を正しく復元可能な、Shamirの(t+1,m)分散法により分散されている(但し、m>3t+1)。
さらに、端末装置Tから受信した、電子署名された投票データのシェアの暗号文に付された電子署名をチェックする機能と、この投票データのシェアを復号してハッシュ値を生成し、公開掲示板サーバB内のシャッフルされたハッシュ値(正当性確認データ)を読み出して比較することにより、投票データのシェアの正当性を確認する機能を有する。また、各集計サーバSは、すでに投票を終えた投票者Vの識別子からなるリストL〜L(以下、「既投票者リストL」と記述)を内部に記憶し、投票者Vが既に投票を行っているか否かを判断する機能を有する。そして、正当性が確認された投票データのシェアをカウンタのシェアに加算する機能と、各集計サーバSが保有するカウンタのシェアを合わせてカウンタを復元する機能を有する。
【0023】
3. 電子投票システムの動作手順
3.1 電子投票の手順の概要
図2は、本実施の形態による電子投票の手順の概要を示す図である。投票手順は、準備フェーズ、投票フェーズ及び集計フェーズの3フェーズからなる。
(1)準備フェーズ
投票データ生成サーバSは、各投票者Vが投票可能な全投票パターン毎の投票データのシェアを生成する。そして、不正投票を検出するための正当性確認データとして、この投票データのシェアからハッシュ値を算出し、さらに、投票パターンを認識できないように算出したハッシュ値をシャッフルして公開掲示板サーバBへ書き込む(ステップS11)。その後、投票データ生成サーバSは、全投票パターンの平文の投票データのシェア及び電子署名された投票データのシェアの暗号文を各端末装置Tへ送信する(ステップS12)。端末装置Tは、公開掲示板サーバBを参照し、投票パターンのシャッフルが正しくなされていること、そして、投票データが正しく生成されていることをチェックする(ステップS13)。
(2)投票フェーズ
各投票者Vが投票を行う投票パターンを選択すると、端末装置Tは、全ての集計サーバSへ選択した投票パターンに対応した電子署名された投票データのシェアの暗号文を送信する(ステップS21)。集計サーバSは、二重投票がないことを確認するとともに、受信した投票データのシェアが正しいことを公開掲示板サーバBによりチェックする(ステップS22)。このチェックが正しく終了した場合のみ、集計サーバSは、それぞれが保有するYesカウンタCのシェア及びNoカウンタCのシェアを更新する。
(3)集計フェーズ
全ての集計サーバSは、秘密分散の復元プロトコルを使用し、YesカウンタC(Yesの総票数Σ(i) )及びNoカウンタC(Noの総票数Σ(i) )を復元する(ステップS31)。
【0024】
なお、本電子投票システムにおいては、以下を仮定する。
・投票データ生成サーバSは投票データのシェアを生成する準備フェーズのみ動作し、一度端末装置Tからの投票が始まると一切の動作を行わない。
・投票データ生成サーバSは、任意の集計サーバSや端末装置Tとは結託しない。
・任意の装置から公開掲示板サーバBの内容を参照できるが、公開掲示板サーバB内の情報の追加・変更は、投票データ生成サーバSのみが可能である。
・投票データ生成サーバSは、一度公開掲示板サーバBへ全ての情報を入力した後は、公開掲示板サーバB内の情報を一切変更しない。
各フェーズの詳細手順を以下に示す。
【0025】
3.2 準備フェーズ
(1) 図3は、カウンタ及び既投票者リストの初期化の手順を示す図である。まず、集計サーバSは、各々が内部に記憶しているカウンタのシェアの初期化を行う。すなわち、集計サーバS(1≦j≦m)は、各々
YesカウンタCのシェアCY,j = 0
及び
NoカウンタCのシェアCN,j = 0
を実行する。
次に、集計サーバS(1≦j≦m)は、各々が内部に記憶している既投票者リストLに空集合を書き込む。
【0026】
(2) 図4は、投票データの生成の方式を示す図である。投票データ生成サーバSは、全ての投票者Vに対して、秘密分散された投票パターン毎の投票データのシェアを生成する。すなわち、投票者V(1≦i≦n)の持ち票数xの範囲内のYesの票数k(0≦k≦x)及びNoの票数(x−k)を、各集計サーバS(1≦j≦m)に秘密分散するためのシェアを生成し、
【数7】
Figure 2004192029
(以下、「Yes票数のシェアs(i,k) Y,j」と記述)及び
【数8】
Figure 2004192029
(以下、「No票数のシェアs(i,k) N,j」と記述)を得る。図においては、i番目の投票者Vの投票パターン(Yesの票数k,Noの票数(x−k))=(0,x),・・・,(x,0)に対して、集計サーバSに送信すべき
【数9】
Figure 2004192029
が、集計サーバSに送信すべき
【数10】
Figure 2004192029
が、集計サーバSに送信すべき
【数11】
Figure 2004192029
が生成されることを示している。
【0027】
次に、投票データ生成サーバSは、全てのYes票数のシェアs(i,k) Y,j及びNo票数のシェアs(i,k) N,jを、RSA(Rivest−Shamir−Adleman)暗号等により、対応する各集計サーバSの公開鍵を用いて暗号化する。すなわち、投票データ生成サーバSは、
【数12】
Figure 2004192029
(「‖」は結合を表す)を基に、
【数13】
Figure 2004192029
を、各i(1≦i≦n),k(0≦k≦x),j(1≦j≦m)について算出する。ただし、PkSは、j番目の集計サーバSの公開鍵であり、Enc<Pk>(w)は、平文wを公開鍵Pkにより暗号化した結果の暗号文を示す。
続いて、投票データ生成サーバSは、自身の秘密鍵SkSを用いて、各投票パターン毎の電子署名を作成する。すなわち、
【数14】
Figure 2004192029
を、各i(1≦i≦n),k(0≦k≦x)について計算する。なお、Sig<Sk>(w)は、秘密鍵Skを利用して作成したwの電子署名を表す。
【0028】
(3) 図5は、公開掲示板サーバBへのハッシュ値の書込みの方式を示す図である。投票データ生成サーバSは、各i(1≦i≦n)について、以下のようにYes票数及びNo票数のシェアの結合s(i,k) のハッシュ値を算出する。
【数15】
Figure 2004192029
ここで、「H」は衝突困難な一方向性ハッシュ関数とする。さらに、投票データ生成サーバSは、ランダム置換πを選ぶ。そして、各j(1≦j≦m)について
【数16】
Figure 2004192029
を、選択したπを用いてシャッフルし、
【数17】
Figure 2004192029
を得る。投票データ生成サーバSは、シャッフルした投票データのシェアのハッシュ値の集合H(s(i) )(1≦i≦n,1≦j≦m)を公開掲示板サーバBへ送信する。公開掲示板サーバBは、シャッフルした投票データのシェアのハッシュ値の集合H(s(i) )(1≦i≦n,1≦j≦m)を受信し、内部に記憶する。
【0029】
(4) 図6は、投票データの配信の方式を示す図である。投票データ生成サーバSは、各端末装置T(1≦i≦n)へ
平文のYes票数及びNo票数のシェアの結合の組(s(i,k) ,・・・,s(i,k) )(0≦k≦x
及び、
投票パターン毎に電子署名Sig(i,k)を付した投票データのシェアの暗号文の組(ES(i,k) ,・・・,ES(i,k) )(0≦k≦x
を送信する。
各端末装置T(1≦i≦n)は、平文のYes票数及びNo票数のシェアの結合の組(s(i,k) ,・・・,s(i,k) )から、全てのk(0≦k≦x),j(1≦j≦m)について、投票データのシェアのハッシュ値h(i,k) を(数15)と同様の方法により算出する。そして、公開掲示板サーバBに記録されている自身のiに対応したシャッフルした投票データのシェアのハッシュ値の集合HS(i) を読み出し、これが、算出した投票データのシェアのハッシュ値h(i,k) の集合と等価であり、かつ、投票パターンがシャッフルされた内容であることを確認する。
次に、各端末装置T(1≦i≦n)は、Yes票数のシェア(s(i,k) Y,1,・・・,s(i,k) Y,m)とNo票数のシェア(s(i,k) N,1,・・・,s(i,k) N,m)(0≦k≦x)を復元し、それぞれがYesの票数kとNoの票数(x−k)のシェアであることを確認する。
さらに、各端末装置T(1≦i≦n)は、(数13)と同様の方法により、Yes票数及びNo票数のシェアの結合s(i,k) を集計サーバSの公開鍵PkSで暗号化した暗号文ES(i,k) を算出し、投票データ生成サーバSから受信した暗号文ES(i,k) と一致するかを全てのk(0≦k≦x),j(1≦j≦m)について検証する。
【数18】
Figure 2004192029
なお、
【数19】
Figure 2004192029
は、右辺と左辺が等しいか否かの検証を行うことを意味する。
【0030】
3.3 投票フェーズ
本節においては、i番目の端末装置Tを用いて動作を説明するが、各端末装置T〜Tにおいても同様に動作する。
(1) 図7は、投票者からの投票の方式を示す図である。端末装置Tは、投票者Vから投票パターンの選択の入力を受ける。このとき、投票者Vの選択した投票パターンがYes票数v(i) であるとすると、各端末装置T(1≦i≦n)は、Yesの票数k=Yes票数v(i) である電子署名付きの投票データのシェアの暗号文の組を全集計サーバSへ送信する。具体的には、端末装置Tは、Yesの票数k=Yes票数v(i) に対応した投票データの暗号文の組(ES(i,k) ,・・・,ES(i,k) )に電子署名Sig(i,k)を付した投票データを全ての集計サーバSへ送信する。また、端末装置Tは、この投票データと併せて、投票者Vの識別子を送信する。
各集計サーバS(1≦j≦m)は、自身の記憶する既投票者リストLに端末装置Tから受信した投票者Vの識別子がすでに登録されているか否かをチェックする。もし、既投票者リストLに投票者Vが既に登録されていたと判断した場合、当該受信データを破棄する。
既投票者リストLに投票者Vが登録されていないことを確認すると、続いて、各集計サーバS(1≦j≦m)は、電子署名Sig(i,k)の検証を行う。もし、電子署名Sig(i,k)が正当ではないと判断した場合、当該受信データを破棄する。
各集計サーバS(1≦j≦m)は、電子署名Sig(i,k)が正しいと判断した場合、投票データの暗号文ES(i,k) を自身の秘密鍵SkSを利用して復号し、平文のYes票数及びNo票数のシェアの結合s(i,k) (k=v(i) )を得る。
【数20】
Figure 2004192029
なお、Dec<Sk>(c)は、暗号文cを秘密鍵Skを用いて復号した結果得られる平文を示す。そして、各集計サーバSは、公開掲示板サーバBからシャッフルした投票データのシェアのハッシュ値の集合HS(i) を取得し、復号した平文のYes票数及びNo票数のシェアの結合s(i,k) (k=v(i) )のハッシュ値H(s(i,k) )が含まれていることをチェックする。
【数21】
Figure 2004192029
上記全てのチェックが完了した場合に、各集計サーバS(1≦j≦m)は、投票者Vの識別符号を自身の既投票者リストLに追加し、内部に記憶する。
【0031】
(2) 図8は、カウンタの加算の方式を示す図である。各集計サーバS(1≦j≦m)は、以下のように、自身が内部に記憶しているYesカウンタCのシェアCY,jに復号されたYes票数のシェアs(i,k) Y,j(k=v(i) )を、NoカウンタCのシェアCN,jに復号されたNo票数のシェアs(i,k) N,j(k=v(i) )を加算し、更新する。
【数22】
Figure 2004192029
【0032】
3.4 集計フェーズ
図9は、投票数の集計の方式を示す図である。集計フェーズにおいて、各集計サーバS(1≦j≦m)が内部に記憶しているYesカウンタCのシェアCY,j及びNoカウンタCのシェアCN,jを基に、YesカウンタC(=Yesの総票数Σ(i) )及びNoカウンタC(=Noの総票数Σ(i) )を復元する。YesカウンタC及びNoカウンタCは、(t+1,m)分散法により分散されているため、t台以下の集計サーバSに誤りや不正があった場合であっても、YesカウンタC及びNoカウンタCは正しく復元することが可能である。
【0033】
3.5 効果
(1)健全性
投票権のない投票者が投票データを集計サーバSに送信した場合、公開掲示板サーバBに存在する(投票者V,シャッフルした投票データのシェアのハッシュ値の集合HS(i) )のペアの検索によって、この投票を棄却することができる。また、投票データ生成サーバSによって作られた投票データのシェアは、各集計サーバSに対応して暗号化され、有効なYes票数v(i) についてまとめた上で電子署名が付されているため、投票データのシェアの正当性を確認することができる。また、シェアの各ペアは、
【数23】
Figure 2004192029
を満たしており、各投票者Vは、
【数24】
Figure 2004192029
となる不正な投票を行うことができない。
また、各集計サーバS内の既投票者リストLにより投票者Vの二重投票をチェックし、破棄することができる。
【0034】
(2)完全性
集計サーバSのカウンタは、(t+1,m)分散法により分散されており、0に初期設定される。そして、投票内容は秘密分散を用いて複数台の集計サーバSへ分散される。従って、m台中t台の集計サーバSに不具合や不正があっても、秘密分散の復元と誤り訂正プロトコルにより、正しいカウンタ値(総票数)が復元される。
【0035】
(3)プライバシ
集計サーバSのカウンタは、(t+1,m)分散法により分散されているため、t台以下の集計サーバSの結託では、カウンタ値(総票数)を知ることはできない。
また、公開掲示板サーバBが公開するシャッフルした投票データのシェアのハッシュ値の集合HS(i) は、投票データ生成サーバSによりシャッフルされて投票パターンが秘匿されている。そのため、集計サーバSは、端末装置Tから受信した暗号文ES(i,k) と公開掲示板サーバB内のシャッフルした投票データのシェアのハッシュ値の集合HS(i) からYes票数v(i) を知ることはできない。
また、端末装置Tと投票データ生成サーバSとの間の通信路がセキュアであるため、他の投票者の投票データを知ることはできない。また、他の端末装置Tから送信された暗号文ES(i,k) と公開掲示板サーバB内のシャッフルした投票データのシェアのハッシュ値の集合HS(i) から他の投票者のYes票数v(i) を知ることはできない。
【0036】
4.一般化と他の形態への応用
4.1 一般化
上記電子投票システムは、Yes−Noのような2つの選択肢だけではなく、3以上の選択肢を持つ一般的な分割可能な投票に拡張することが可能である。ここでは、投票者V(1≦i≦n)が存在するとき、i番目の投票者Vが持ち票xを持ち、選択肢A,…,Aへ全ての持ち票xを分配して投票する場合を想定する。このとき、投票者Vは、
【数25】
Figure 2004192029
及び
【数26】
Figure 2004192029
を満たす投票を行う。
このような投票を実現するため、各集計サーバS〜Sは、u個のカウンタのシェアを持つ。そして、準備フェーズにおいて投票データ生成サーバSは、3章に記載したYes票数のシェアs(i,k) Y,j及びNo票数のシェアs(i,k) N,jの代わりに、
+…+k=x
かつ
0≦k,…,k≦x
を満たすような投票数のシェア
【数27】
Figure 2004192029
を全てのj(1≦j≦m),k,... ,kに対して生成する。この点を除き、3章に示す電子投票システムの動作手順と同様に構成可能である。すなわち、本節に示す一般化された電子投票システムの動作手順においては、投票データ生成サーバSは、各投票者Vに対して、
【数28】
Figure 2004192029
のシェアを作成する。
【0037】
4.2 部分的棄権が可能な投票
棄権票が存在する場合、
【数29】
Figure 2004192029
となる投票も有効である。この場合、持ち票xを持つi番目の投票者V(1≦i≦n)は、Yesにv(i) 票、Noにv(i) 票、棄権にv(i) (=x−v(i) −v(i) )票を投票する。各集計サーバSは、YesカウンタC、NoカウンタC、棄権票カウンタCの各々に対応して、秘密分散したYesカウンタCのシェアCY,j、秘密分散したNoカウンタCのシェアCN,j、秘密分散した棄権票カウンタCのシェアCA,j(1≦j≦m)を内部に記憶する。そして、投票データ生成サーバSは、以下の投票データのシェアを生成する。
【数30】
Figure 2004192029
その他の動作については、3章に示す電子投票システムの動作手順と同様である。
【0038】
4.3 分割不可な複数投票
分割不可能な複数電子投票においては、投票者Vが、持ち票xを全てYesあるいはNoに割り当て、投票する。すなわち、
【数31】
Figure 2004192029
または
【数32】
Figure 2004192029
となる投票を行う。このとき、投票データ生成サーバSは、
(x,0)及び(0,x
のシェアを作成し、各端末装置Tへ送信する。
その他の動作については、3章に示す電子投票システムの動作手順と同様である。
【0039】
4.4 多候補者選挙
多候補者選挙は、投票者が、u個の候補の中から1つの候補のみを選択する方式である。この場合、各集計サーバSは、u番目の候補を選択したときのカウンタの分散である分散カウンタC1,j,...,Cu,j(1≦j≦m)を保有する。そして、投票データ生成サーバSは、1つだけが「1」で残りが全て「0」となるような、以下の投票データのシェアを生成し、端末装置Tへ送信する。
(1,0,0,...,0),(0,1,0,...,0),...,(0,0,0,...,1)
その他の動作については、3章に示す電子投票システムの動作手順と同様である。
【0040】
5.その他
上記実施の形態によれば、健全性、完全性、プライバシを保持しながら、各投票者が持つ票を複数の選択肢に任意に分割して投票することができる電子投票を実現することができる。また、ゼロ知識証明などを使用せず、負荷を抑えた電子投票システムを提供することが可能となる。また、部分的な棄権、分割不可の複数投票、あるいは、多候補者選挙を行うことができる。
【0041】
なお、上述の投票データ生成サーバS、公開掲示板サーバB、端末装置T、及び、集計サーバSは、内部にコンピュータシステムを有している。そして、上述した動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、OSや周辺機器等のハードウェアを含むものである。
【0042】
また、「コンピュータ読み取り可能な記録媒体」とは、ROMの他に、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のシステムやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0043】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0044】
【発明の効果】
この発明によれば、各投票者の投票内容を秘匿しながら、さらに、不正な投票を防ぎながら、各投票者が持つ票を複数の選択肢に任意に分割して投票することができる効率的な電子投票システムを提供することができる。さらに、部分的な棄権、分割不可の複数投票、あるいは、多候補者選挙を行うことができる。
【図面の簡単な説明】
【図1】この発明の一実施の形態による電子投票システムの構成を示すブロック図である。
【図2】同実施の形態による電子投票の手順の概要を示す図である。
【図3】同実施の形態によるカウンタ及び既投票者リストの初期化の手順を示す図である。
【図4】同実施の形態による投票データの生成の方式を示す図である。
【図5】同実施の形態による公開掲示板サーバへのハッシュ値の書込みの方式を示す図である。
【図6】同実施の形態による投票データの配信の方式を示す図である。
【図7】同実施の形態による投票者からの投票の方式を示す図である。
【図8】同実施の形態によるカウンタの加算の方式を示す図である。
【図9】同実施の形態による投票数の集計の方式を示す図である。
【符号の説明】
…投票データ生成サーバ
B…公開掲示板サーバ
T、T、T、T、T…端末装置
、S、S、S…集計サーバ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an electronic voting system for performing voting and counting operations.
[0002]
[Prior art]
In recent years, with the spread of the Internet, an electronic voting service using an encryption protocol has been provided. Many of the existing electronic voting methods deal with voting in a form such as a confidence voting, that is, a form in which one of "Yes" and "No" is cast. The voting for selecting only one from a plurality of candidates is realized by extending this method.
Non-Patent Document 1 describes an electronic voting method based on homomorphism, and Non-Patent Document 2 describes an indivisible multiple-vote electronic voting method based on homomorphism.
Note that homomorphism refers to secret information s1With n shares {S1,1, S1,2,. . . . , S1, n}, Secret information s2With n shares {S2,1, S2,2,. . . . , S2, nI and the i-th player is S1, iAnd S2, iIf you receive the secret information s1And s2S that is the sum of1+ S2Is the S of each player1, i+ S2, i{S combined1,1+ S2,1, S1,2+ S2,2,. . . . , S1, n+ S2, nThe property that can be restored from}.
Non-Patent Document 3 describes an electronic voting method based on shuffling. This is because, when the Mix server receives the encrypted voting content from the voter, the encrypted voting content is replaced and re-encrypted and transmitted to the next Mix server, and the voting content is replaced and re-encrypted. This is a method of decoding the final result by repeating the conversion by a plurality of Mix servers.
Non-Patent Document 4 describes an electronic voting method based on a blind signature. In this method, the election manager adds a blind signature to the encrypted voting contents, and the tallying server performs tallying based on the encrypted voting contents with the blind signature added by the voter.
[0003]
[Non-patent document 1]
Sako, K. and Kilian, J., "Secure Voting Using Partially Compatible Homemorphisms", Partially Compatible Homomorphisms, Advanced In Cryptology: Advanced In Cryptology. 94 (Advanceds in Cryptology: Crypto '94), Springer-Verlag, Germany, August 1994, LNCS 839, p. 411-424
[Non-patent document 2]
Tetsuro Tokosho, and 4 others, "Electronic voting method that allows multiple voting by one person using homomorphism", Computer Security Symposium 2002 Transactions, Information Processing Society of Japan, October 30, 2002, Information Processing Society of Japan Symposium Series Vol. 2002, No. 16, p. 467-472
[Non-Patent Document 3]
Saco, K. and Kilian, J., “Receipt-Free Mix-Type Voting Scheme”, Advanced In Cryptology: Eurocrypt '95 (Advances in Cryptology). : EuroCrypt '95), Springer-Verlag, Germany, 1995, LNCS 921, p. 393-403
[Non-patent document 4]
Atsushi Fujioka and two others, "electronic voting method", NTT R & D, Nippon Telegraph and Telephone Corporation, October 1995, Vol. 44, no. 10, p. 244-251
[0004]
[Problems to be solved by the invention]
In addition to a form in which one voter casts one vote as in a general election, each voter may have a different number of votes, such as in a general meeting of shareholders. In addition, there is a case in which a different number of votes of each voter is arbitrarily distributed to a plurality of options to perform voting.
However, when the above-mentioned voting is performed by the electronic voting method using homomorphism as described in Non-Patent Document 1, the voter must execute the zero knowledge proof by the number of votes. This is inefficient and impractical. In general, a zero-knowledge proof is a process in which a verifier exchanges information several times between a prover and a verifier to verify that the prover knows the knowledge of the secret information held by the prover. Is a method of probabilistically proving against.
In addition, in the non-dividable electronic voting method based on homomorphism described in Non-Patent Document 2, it is impossible in principle to perform divided voting of a plurality of votes while maintaining the confidentiality of voting contents.
In addition, when the schemes described in Non-Patent Documents 3 and 4 are applied, if a vote division pattern is included in the voting data, there is a problem in that anonymity is lost by collation with the number of votes. Also, if a vote of Yes-No is held and the number of votes is equal to the number of votes, anonymity can be ensured, but the input and output of the anonymous communication path is the total number of votes, so that there is a problem that efficiency is low and it is not realistic.
[0005]
The present invention has been made in view of the above circumstances, and its purpose is to conceal the contents of each voter's voting, and furthermore, to prevent unauthorized voting, and to allow a plurality of votes to be held by each voter. It is an object of the present invention to provide an efficient electronic voting system that can divide a vote into options as desired.
[0006]
[Means for Solving the Problems]
SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and the invention according to claim 1 is a terminal device of a voter and a voting data generation server that generates voting data for the voter to perform voting. An electronic voting system comprising a voting data generation server connected to a voting data collecting server for counting voting via a network. Voting data generating means for generating the voting data, encrypting the voting data with the key of each tallying server, and transmitting the voting data to the terminal device. Received the ciphertext of the share of the voting data obtained, and encrypts the share of the voting data according to the pattern in which the voter votes from the ciphertext of the share of the voting data And voting means for transmitting to each corresponding tallying server, the tallying server receives a secret shared counter share for counting the number of votes and a ciphertext of the voting data share from the terminal device. Counter addition means for adding the share of the voting data obtained by decrypting this ciphertext to the share of the counter, and voting result calculation means for decrypting the total number of votes based on the share of the counter held by each totaling server. An electronic voting system comprising:
[0007]
According to a second aspect of the present invention, there is provided the electronic voting system according to the first aspect, further comprising a public bulletin board server that holds information for confirming the validity of the voting data to the total server via a network. Connected, the voting data generating means transmits the validity confirmation data generated from the share of the voting data to the public bulletin board server while concealing the voting pattern, and the public bulletin board server A counter storing means for receiving the validity confirmation data and storing the validity confirmation data therein, wherein the counter adding means reads the validity confirmation data from the public bulletin board server, and based on the validity confirmation data, determines that the share of the voting data is valid. If it is determined that the value of the counter is equal to the value, the value is added to the share of the counter.
[0008]
The invention according to claim 3 is the electronic voting system according to claim 2, wherein the voting data generating means transmits a plain text of the share of the voting data to the terminal device, and the voting means, The plaintext of the share of the voting data is received from the voting data generation server, and based on the plaintext of the share of the voting data and the validity confirmation data read from the public bulletin board server, the ciphertext of the share of the voting data is obtained. When it is determined that the voting data is legitimate, the cipher text of the share of the voting data according to the voting pattern of the voter is transmitted to each corresponding tallying server.
[0009]
According to a fourth aspect of the present invention, a voter terminal device, a voting data generation server that generates voting data for voting by the voter, and a totaling server that totals voting are connected via a network. A voting data generation server for an electronic voting system comprising: generating a share of secretly shared voting data corresponding to each tallying server for each voting pattern, encrypting the voting data with a key of each tallying server, and transmitting the encrypted to the terminal device A voting data generation server comprising voting data generation means for performing voting data generation.
[0010]
According to a fifth aspect of the present invention, a voter terminal device, a voting data generation server that generates voting data for voting by the voter, and a counting server that counts voting are connected via a network. A terminal device of an electronic voting system comprising: receiving, from the voting data generation server, a ciphertext of a secret shared voting data share for each voting pattern corresponding to each tallying server; A terminal device comprising voting means for transmitting a ciphertext of a share of voting data in accordance with a pattern of a voter voting from ciphertexts to each corresponding tallying server.
[0011]
The invention according to claim 6 connects, via a network, a terminal device of a voter, a voting data generation server that generates voting data for the voter to perform voting, and a counting server that counts voting via a network. An electronic voting system comprising: a secret sharing counter for counting the number of votes; a ciphertext of a secret sharing voting data share from the terminal device; And a voting result calculating means for decoding the total number of votes based on the shares of the counters held by each totaling server. Is a totaling server.
[0012]
According to a seventh aspect of the present invention, a voter terminal device, a voting data generation server that generates voting data for voting by the voter, and a totaling server that totals voting are connected via a network. Computer program used for a voting data generation server of an electronic voting system comprising: generating a share of secretly shared voting data corresponding to each tallying server for each voting pattern; encrypting the share with a key of each tallying server. A computer program causing a computer to execute the step of transmitting to the terminal device.
[0013]
The invention according to claim 8 connects a terminal device of a voter, a voting data generation server that generates voting data for the voter to perform voting, and an aggregation server that aggregates voting via a network. A computer program used for a terminal device of an electronic voting system comprising: receiving, from the voting data generation server, a ciphertext of a share of shared secret voting data for each voting pattern corresponding to each tallying server; Transmitting the ciphertext of the share of the voting data according to the pattern of the voter voting from the ciphertext of the share of the received voting data to each corresponding tallying server. It is a computer program.
[0014]
According to a ninth aspect of the present invention, a voter terminal device, a voting data generation server that generates voting data for voting by the voter, and a totaling server that totals voting are connected via a network. A computer program used for an aggregation server of an electronic voting system, comprising: receiving a ciphertext of a share of secret-shared voting data from the terminal device; and a secret-shared counter for counting the number of votes Adding the share of the voting data obtained by decrypting the ciphertext to the share of, and decrypting the total number of votes based on the share of the counter held by each totaling server. A computer program characterized by the following.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
For convenience,
(Equation 1)
Figure 2004192029
To Xy zDescribe as follows.
[0016]
1. System model
FIG. 1 is a block diagram showing a configuration of an electronic voting system according to an embodiment of the present invention.
The electronic voting system includes n voters V1~ Vn(Hereinafter referred to as “voter V”). The i-th (1 ≦ i ≦ n) voter V is assigned to the voter Vi, Voter ViXi(Hereinafter, "number of votes xi"), Voter ViV is the number of votes cast by Yes(I) Y(Hereinafter, “Yes number of votes v(I) Y), And the number of votes cast for No(I) N(Hereinafter, “No votes v(I) N"). At this time,
(Equation 2)
Figure 2004192029
And
(Equation 3)
Figure 2004192029
Holds.
And the m totaling servers S1~ Sm(Hereinafter referred to as “total server S”)1~ VnTerminal devices T owned by each1~ Tn(Hereinafter referred to as “terminal device T”) based on the voting data received from
(Equation 4)
Figure 2004192029
(Hereafter, “Total number of votes for YesΣiv(I) Y "]) And
(Equation 5)
Figure 2004192029
(Hereinafter, “Total number of votes of NoΣiv(I) N").
[0017]
Here, when the following conditions of soundness, integrity and privacy are satisfied, the electronic voting performed by this electronic voting system is said to be secure.
(1) Soundness
Any voter V (terminal device T) has each vote number x1~ Xn(Hereinafter, referred to as “number of votes x”) cannot be voted. That is, the following holds.
(Equation 6)
Figure 2004192029
Also, when the above holds, (v(I) Y, V(I) N) Is valid.
(2) Completeness
For all the votes that satisfy the soundness described in (1), the aggregation server S determines the total number of votes of Yesesiv(I) YAnd No. of votes 票iv(I) NOutput correctly.
(3) Privacy
The totaling server S and the terminal device T (voter V) determine the total number of votes of YesΣiv(I) YAnd No. of votes 票iv(I) NNo other information is obtained. However, the number of votes x of each voter V and whether or not each voter V participates in voting may be disclosed.
[0018]
In the electronic voting system according to the present embodiment, in order to secure the privacy of each vote, the tallying function is distributed to m tallying servers S using a secret sharing with linearity. The terminal device T owned by the voter V shares secretly shared voting data indicating the number of votes cast for each option, that is, the number of Yes votes v(I) YAnd the number of votes v(I) NThe share of (1 ≦ i ≦ n) is transmitted to each aggregation server S. Each totaling server S calculates the total sum of the shares of the voting data received from the terminal device T, and finally restores the total number of votes from the total sum of the shares of the voting data held by each totaling server S.
[0019]
2. Constitution
Voting data generation server SRIs connected to a network N such as the Internet via a dedicated line or a broadband line, and has a function of communicating with the public bulletin board server B and the terminal device T. However, it is securely connected to the terminal device T by using an encrypted communication protocol or the like.
Voting data generation server SRIs (voteer V) for all i (1 ≦ i ≦ n).i, Number of votes xi) Is stored internally. A function of generating a share of secret-shared voting data corresponding to each tallying server S for each voting pattern for all the voting persons V, a share of plaintext voting data and a share of electronically signed voting data. It has a function of transmitting cipher text to the terminal device T. The voting pattern indicates a pattern of how the number of votes is distributed to each option. Further, the terminal device T and the aggregation server S generate validity confirmation data for verifying the validity of the voting, that is, generate a hash value based on the share of the voting data, and further shuffle the generated hash value to vote. It has a function of keeping the pattern secret and writing it to the public bulletin board server B.
[0020]
The public bulletin board server B is connected to the network N via a dedicated line or a broadband line, and a voting data generation server SR, And a function of communicating with the terminal device T and the aggregation server S. Further, the public bulletin board server B includes a voting data generation server SR, Which has a function of receiving a hash value generated and shuffled based on the validity check data that conceals the voting pattern, that is, a share of all possible voting data, and storing the received hash value internally.
[0021]
The terminal device T is a personal computer owned by each voter V, is connected to the network N by a dedicated line or a broadband line, andRAnd a function to communicate with the public bulletin board server B and the tallying server S. However, the voting data generation server SRIs securely connected using, for example, an encrypted communication protocol.
The terminal device T is a voting data generation server SRHas the function of receiving the share of the plaintext voting data and the ciphertext of the share of the electronically signed voting data and storing them internally. Further, a hash value is generated from the share of the plain text voting data, and the shuffled hash value (validity confirmation data) in the public bulletin board server B is read and compared, and the voting data generation server SRHas the function of confirming the share of the voting data received from the public bulletin board and the validity of the shuffled hash value (validity confirmation data) in the public bulletin board server B. Furthermore, it has a function of decrypting the voting data from the share of the plaintext voting data and confirming the validity of the voting data. In addition, the share of the plaintext voting data is encrypted, and the voting data generation server SRIt has a function to confirm whether the share of the voting data received from is correctly encrypted. Then, the voter V receives information indicating a voting pattern input from a keyboard, a mouse, a button, or the like, reads a ciphertext of the share of the electronically signed voting data corresponding to the input voting pattern from the inside, and collects each tally. It has a function of transmitting to the server S.
[0022]
The aggregation server S is connected to the network N by a dedicated line or a broadband line, and has a function of communicating with the public bulletin board server B and the terminal device T.
Each totaling server S jointly operates a counter C for Yes.Y(Hereinafter, "Yes counter CYAnd C for No.N(Hereinafter, "No counter CN) Is stored internally. The shares of these counters are distributed by Shamir's (t + 1, m) distribution method (where m> 3t + 1), which can correctly restore the total result even when t total servers S out of m are invalid.
Further, a function of checking the electronic signature attached to the cipher text of the share of the electronically signed voting data received from the terminal device T, a function of decoding the share of the voting data to generate a hash value, and It has a function of reading the shuffled hash values (validity confirmation data) in B and comparing them, thereby confirming the validity of the share of the voting data. In addition, each totaling server S has a list L including identifiers of the voters who have already voted.1~ Lm(Hereinafter referred to as “vote list L”), and has a function of determining whether or not voter V has already voted. Then, it has a function of adding the share of the voting data whose validity has been confirmed to the share of the counter, and a function of restoring the counter by combining the share of the counter held by each totaling server S.
[0023]
3. Operation procedure of electronic voting system
3.1 Overview of electronic voting procedure
FIG. 2 is a diagram showing an outline of an electronic voting procedure according to the present embodiment. The voting procedure includes three phases: a preparation phase, a voting phase, and a counting phase.
(1) Preparation phase
Voting data generation server SRGenerates a share of voting data for every voting pattern that each voter V can vote. Then, a hash value is calculated from the share of the voting data as validity confirmation data for detecting an unauthorized voting, and the calculated hash value so that the voting pattern cannot be recognized is shuffled and written to the public bulletin board server B. (Step S11). Then, the voting data generation server SRTransmits to each terminal device T the share of the plaintext voting data of all voting patterns and the ciphertext of the share of the electronically signed voting data (step S12). The terminal device T refers to the public bulletin board server B, and checks that the shuffle of the voting pattern is correctly performed and that the voting data is correctly generated (step S13).
(2) Voting phase
When each voter V selects a voting pattern for voting, the terminal device T transmits the ciphertext of the share of the electronically signed voting data corresponding to the selected voting pattern to all the tallying servers S (step S21). . The tallying server S confirms that there is no double voting, and checks that the share of the received voting data is correct by the public bulletin board server B (step S22). Only when this check is correctly completed, the counting server S checks the Yes counter C held by each server.YShare and No counter CNUpdate your share.
(3) Aggregation phase
All the aggregation servers S use the secret sharing restoration protocol, and the Yes counter CY(Total votes of Yes のiv(I) Y) And No counter CN(Total number of votes of No)iv(I) N) Is restored (step S31).
[0024]
In this electronic voting system, the following is assumed.
-Voting data generation server SROperates only in the preparation phase for generating the share of the voting data, and does not perform any operation once the voting from the terminal device T starts.
-Voting data generation server SRDoes not collude with any tally server S or terminal device T.
The contents of the public bulletin board server B can be referred to from any device, but addition / change of information in the public bulletin board server B is performed by the voting data generation server S.ROnly possible.
-Voting data generation server SRDoes not change the information in the public bulletin board server B at all after inputting all the information to the public bulletin board server B once.
The detailed procedure of each phase is shown below.
[0025]
3.2 Preparation phase
(1) FIG. 3 is a diagram showing a procedure for initializing the counter and the voter list. First, the aggregation server S initializes the share of the counter stored therein. That is, the aggregation server Sj(1 ≦ j ≦ m) are respectively
Yes counter CYShare CY, j  = 0
as well as
No counter CNShare CN, j  = 0
Execute
Next, the aggregation server Sj(1 ≦ j ≦ m) is the voter list L stored internally.jWrite the empty set to
[0026]
(2) FIG. 4 is a diagram showing a method of generating voting data. Voting data generation server SRGenerates a share of voting data for each voting pattern that is secretly shared with all the voters V. That is, the voter Vi(1 ≦ i ≦ n) Number of votes xiThe number of votes k of Yes within the range (0 ≦ k ≦ xi) And No. of votes (xi-K) is converted to each totaling server SjGenerate a share for secret sharing in (1 ≦ j ≦ m),
(Equation 7)
Figure 2004192029
(Hereinafter, “Share of the number of Yes votes”(I, k) Y, j]) And
(Equation 8)
Figure 2004192029
(Hereinafter, “Share of the number of votes”(I, k) N, j"). In the figure, the i-th voter ViVoting pattern (the number of votes k of Yes, the number of votes of No (xi−k)) = (0, xi), ..., (xi, 0), the aggregation server S1Should be sent to
(Equation 9)
Figure 2004192029
Is the aggregation server SjShould be sent to
(Equation 10)
Figure 2004192029
Is the aggregation server SmShould be sent to
(Equation 11)
Figure 2004192029
Is generated.
[0027]
Next, the voting data generation server SRIs the share of all Yes votes(I, k) Y, jAnd the share of the number of votes(I, k) N, jIs encrypted using the public key of each corresponding tally server S by RSA (Rivest-Shamir-Adleman) encryption or the like. That is, the voting data generation server SRIs
(Equation 12)
Figure 2004192029
("‖" Represents a bond)
(Equation 13)
Figure 2004192029
With i (1 ≦ i ≦ n) and k (0 ≦ k ≦ xi), J (1 ≦ j ≦ m). However, PkSjIs the j-th aggregation server SjEnc <Pk> (w) indicates an encrypted text resulting from encrypting the plaintext w with the public key Pk.
Subsequently, the voting data generation server SRIs their own private key SkSRTo create an electronic signature for each voting pattern. That is,
[Equation 14]
Figure 2004192029
With i (1 ≦ i ≦ n) and k (0 ≦ k ≦ xi) Is calculated. Note that Sig <Sk> (w) represents an electronic signature of w created using the secret key Sk.
[0028]
(3) FIG. 5 is a diagram showing a method of writing a hash value to the public bulletin board server B. Voting data generation server SRIs the combination s of the shares of the number of Yes votes and the number of No votes for each i (1 ≦ i ≦ n) as follows:(I, k) jIs calculated.
[Equation 15]
Figure 2004192029
Here, “H” is a one-way hash function that is difficult to collide. Further, the voting data generation server SRChooses random permutation π. And for each j (1 ≦ j ≦ m)
(Equation 16)
Figure 2004192029
Is shuffled using the selected π,
[Equation 17]
Figure 2004192029
Get. Voting data generation server SRIs a set H (s) of hash values of shares of the shuffled voting data.(I) j) (1 ≦ i ≦ n, 1 ≦ j ≦ m) to the public bulletin board server B. The public bulletin board server B transmits a set H (s) of hash values of the shares of the shuffled voting data.(I) j) (1 ≦ i ≦ n, 1 ≦ j ≦ m) and stores it internally.
[0029]
(4) FIG. 6 is a diagram showing a method of distributing voting data. Voting data generation server SRIs the terminal device Ti(1 ≦ i ≦ n)
A combination of shares of the number of shares of Yes and No of plain text (s(I, k) 1, ..., s(I, k) m) (0 ≦ k ≦ xi)
as well as,
Electronic signature Sig for each voting pattern(I, k)Of ciphertext of share of voting data with ES (ES(I, k) 1, ..., ES(I, k) m) (0 ≦ k ≦ xi)
Send
Each terminal device Ti(1 ≦ i ≦ n) is a combination (s) of the shares of the number of Yes votes and the number of No votes in plain text.(I, k) 1, ..., s(I, k) m), All k (0 ≦ k ≦ xi), J (1 ≦ j ≦ m), the hash value h of the share of the voting data(I, k) jIs calculated by the same method as (Equation 15). Then, a set HS of a set of hash values of shares of the shuffled voting data corresponding to the own i recorded in the public bulletin board server B(I) jAnd this is the hash value h of the calculated share of the voting data.(I, k) j, And that the voting pattern is a shuffled content.
Next, each terminal device Ti(1 ≦ i ≦ n) is the share of the number of Yes votes (s(I, k) Y, 1, ..., s(I, k) Y, m) And share of the number of No votes (s(I, k) N, 1, ..., s(I, k) N, m) (0 ≦ k ≦ xi) Is restored, and the number of votes k of Yes and the number of votes of No (xiCheck that the share is -k).
Further, each terminal device Ti(1 ≦ i ≦ n) is a combination s of the shares of the number of Yes votes and the number of No votes in the same manner as (Equation 13).(I, k) jTally server SjPublic key PkSjCiphertext ES encrypted with(I, k) jVoting data generation server SRCiphertext ES received from(I, k) jIt is determined whether all k (0 ≦ k ≦ xi), J (1 ≦ j ≦ m).
(Equation 18)
Figure 2004192029
In addition,
[Equation 19]
Figure 2004192029
Means verifying whether the right side and the left side are equal or not.
[0030]
3.3 Voting phase
In this section, the i-th terminal device TiThe operation will be described with reference to FIG.1~ TnOperates in the same way.
(1) FIG. 7 is a diagram showing a method of voting from a voter. Terminal device TiIs the voter ViReceives an input for selecting a voting pattern. At this time, the voter ViVoting pattern selected is the number of Yes votes v(I) Y, Each terminal device Ti(1 ≦ i ≦ n) is the number of Yes votes k = the number of Yes votes v(I) YIs transmitted to all the totalizing servers S. Specifically, the terminal device T determines that the number of votes of Yes k = the number of votes of Yes v(I) YOf ciphertext of voting data corresponding to (ES(I, k) 1, ..., ES(I, k) m) To digital signature Sig(I, k)Is transmitted to all the tallying servers S. In addition, the terminal device TiTogether with the voting data,iSend the identifier of
Each aggregation server Sj(1 ≦ j ≦ m) is the voter list L stored by itself.jTerminal device TiVoter V received fromiIt is checked whether the identifier of has already been registered. If the voter list LjVoter V toiIf it is determined that has already been registered, the received data is discarded.
Voter list LjVoter V toiIs not registered, and subsequently, each totaling server Sj(1 ≦ j ≦ m) is the digital signature Sig(I, k)Verify. If the electronic signature Sig(I, k)Is judged to be invalid, the received data is discarded.
Each aggregation server Sj(1 ≦ j ≦ m) is the digital signature Sig(I, k)Is determined to be correct, the ciphertext ES of the voting data(I, k) jWith its own secret key SkSjAnd decrypt the share using the combination of the shares of the number of Yes votes and the number of No votes in the plain text.(I, k) j(K = v(I) YGet)
(Equation 20)
Figure 2004192029
Note that Dec <Sk> (c) indicates a plaintext obtained as a result of decrypting the ciphertext c using the secret key Sk. And each totaling server SjIs a set HS of hash values of shares of voting data shuffled from the public bulletin board server B.(I) jAnd the share of the shares of the number of Yes and No votes in the plaintext(I, k) j(K = v(I) Y) Hash value H (s(I, k) j) Is included.
(Equation 21)
Figure 2004192029
When all the above checks are completed, each totaling server Sj(1 ≦ j ≦ m) is the voter ViOf the own voter list LjAnd store it internally.
[0031]
(2) FIG. 8 is a diagram showing a method of adding a counter. Each aggregation server Sj(1 ≦ j ≦ m) corresponds to the Yes counter C stored therein as follows.YShare CY, jShare of the number of Yes votes decrypted to(I, k) Y, j(K = v(I) Y), No counter CNShare CN, jShare of the number of No votes decrypted to(I, k) N, j(K = v(I) Y) Is added and updated.
(Equation 22)
Figure 2004192029
[0032]
3.4 Aggregation phase
FIG. 9 is a diagram illustrating a method of counting the number of votes. In the aggregation phase, each aggregation server SjYes counter C internally stored (1 ≦ j ≦ m)YShare CY, jAnd No counter CNShare CN, jBased on Yes counter CY(= Total number of votes of YesΣiv(I) Y) And No counter CN(= Total number of votes of NoΣiv(I) NRestore). Yes counter CYAnd No counter CNAre distributed by the (t + 1, m) distribution method, so that the Yes counter CYAnd No counter CNCan be restored correctly.
[0033]
3.5 Effects
(1) Soundness
When a voter without voting right transmits voting data to the tallying server S, the voting data exists in the public bulletin board server B (voter Vi, Set HS of hash values of shares of shuffled voting data(I) jThe poll can be rejected by searching for the pair of ()). Also, the voting data generation server SRThe share of the voting data generated by the server is encrypted corresponding to each totaling server S, and the number of valid Yes votes v(I) YSince the electronic signature is attached after summarizing, the validity of the share of the voting data can be confirmed. Also, each pair of shares
(Equation 23)
Figure 2004192029
And each voter V
[Equation 24]
Figure 2004192029
Can not vote illegally.
In addition, the double voting of the voter V can be checked by the voter list L in each totaling server S and discarded.
[0034]
(2) Completeness
The counters of the aggregation server S are distributed by the (t + 1, m) distribution method, and are initialized to 0. Then, the contents of the vote are distributed to the plurality of totaling servers S using secret sharing. Therefore, even if there are malfunctions or irregularities in the t servers out of m, the correct counter value (total number of votes) can be restored by the restoration of the secret sharing and the error correction protocol.
[0035]
(3) Privacy
Since the counters of the tallying server S are distributed by the (t + 1, m) distribution method, it is not possible to know the counter value (total number of votes) by collusion of t or less tallying servers S.
Also, a set HS of hash values of shares of the shuffled voting data disclosed by the public bulletin board server B is disclosed.(I) jIs the voting data generation server SRAnd the voting pattern is kept secret. Therefore, the tallying server S transmits the ciphertext ES received from the terminal device T.(I, k) jOf hash values of shares of shuffled voting data in public bulletin board server B and HS(I) jTo Yes votes v(I) YCan not know.
Further, the terminal device T and the voting data generation server SRSince the communication path between the voting system and the voting system is secure, the voting data of other voters cannot be known. Also, the ciphertext ES transmitted from another terminal device T(I, k) jOf hash values of shares of shuffled voting data in public bulletin board server B and HS(I) jIs the number of Yes votes of other voters from(I) YCan not know.
[0036]
4. Generalization and application to other forms
4.1 Generalization
The electronic voting system can be extended to a general dividable voting having not only two options such as Yes-No but also three or more options. Here, Voter ViWhen (1 ≦ i ≦ n) exists, the i-th voter ViIs the signature xiWith option A1, ..., AuTo all tags xiSuppose the case of distributing and voting. At this time, the voter ViIs
(Equation 25)
Figure 2004192029
as well as
(Equation 26)
Figure 2004192029
Vote to meet.
In order to realize such a vote, each totaling server S1~ SmHas a share of u counters. Then, in the preparation phase, the voting data generation server SRIs the share of the number of Yes votes described in Chapter 3.(I, k) Y, jAnd the share of the number of votes(I, k) N, jInstead of,
k1+ ... + ku= Xi
And
0 ≦ k1, ..., ku≤xi
Share of votes to satisfy
[Equation 27]
Figure 2004192029
For all j (1 ≦ j ≦ m), k1,. . . , KuGenerate for Except for this point, the configuration can be the same as the operation procedure of the electronic voting system described in Chapter 3. That is, in the operation procedure of the generalized electronic voting system shown in this section, the voting data generation server SRFor each voter V
[Equation 28]
Figure 2004192029
Create a share.
[0037]
4.2 Partial Abstainable Voting
If an abstention exists,
(Equation 29)
Figure 2004192029
Voting is also effective. In this case, the tag xiI-th voter V withi(1 ≦ i ≦ n)(I) YVote, No to v(I) NVote, abstain v(I) A(= Xi-V(I) Y-V(I) N) Vote. Each counting server S has a Yes counter CY, No counter CN, Abstention vote counter CACorresponding to each of the secret counters CYShare CY, jNo secret counter CNShare CN, j, Secret abstention vote counter CAShare CA, j(1 ≦ j ≦ m) is stored internally. And the voting data generation server SRGenerates the share of the following voting data.
[Equation 30]
Figure 2004192029
Other operations are the same as the operation procedure of the electronic voting system described in Chapter 3.
[0038]
4.3 Indivisible multiple votes
In the indivisible multiple electronic voting, the voter V assigns all the votes x to Yes or No and votes. That is,
(Equation 31)
Figure 2004192029
Or
(Equation 32)
Figure 2004192029
Vote. At this time, the voting data generation server SRIs
(Xi, 0) and (0, xi)
Is created and transmitted to each terminal device T.
Other operations are the same as the operation procedure of the electronic voting system described in Chapter 3.
[0039]
4.4 Multiple Candidate Election
In the multi-candidate election, a voter selects only one candidate from among u candidates. In this case, each totaling server S has a distribution counter C which is the distribution of the counter when the u-th candidate is selected.1, j,. . . , Cu, j(1 ≦ j ≦ m). And the voting data generation server SRGenerates a share of the following voting data in which only one becomes “1” and all the others become “0”, and transmits the share to the terminal device T.
(1,0,0, ..., 0), (0,1,0, ..., 0),. . . , (0,0,0, ..., 1)
Other operations are the same as the operation procedure of the electronic voting system described in Chapter 3.
[0040]
5. Other
According to the above-described embodiment, it is possible to realize an electronic voting in which a vote held by each voter can be arbitrarily divided into a plurality of options and voted, while maintaining soundness, integrity, and privacy. In addition, it is possible to provide an electronic voting system with reduced load without using zero knowledge proof. Partial abstentions, non-dividing multiple votes, or multiple candidate elections can be held.
[0041]
The voting data generation server S described aboveR, The public bulletin board server B, the terminal device T, and the counting server S have a computer system therein. The above-described process of the operation is stored in a computer-readable recording medium in the form of a program, and the computer system reads and executes the program to perform the above-described processing. Here, the computer system includes an OS and hardware such as peripheral devices.
[0042]
The “computer-readable recording medium” refers to not only ROM but also portable media such as magnetic disks, magneto-optical disks, CD-ROMs, and DVD-ROMs, and storage devices such as hard disks built into computer systems. That means. Further, the “computer-readable recording medium” is a system such as a volatile memory (RAM) in a computer system which is a client when a program is transmitted through a network such as the Internet or a communication line such as a telephone line. In addition, those that hold programs for a certain period of time are also included.
[0043]
Further, the above program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting a program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
Further, the program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.
[0044]
【The invention's effect】
ADVANTAGE OF THE INVENTION According to this invention, the vote which each voter has can be arbitrarily divided | segmented into a plurality of options, and voting can be performed efficiently, while concealing the content of the vote of each voter, and also preventing an unauthorized vote. An electronic voting system can be provided. In addition, partial abstentions, indivisible multiple votes, or multiple candidate elections can be held.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an electronic voting system according to an embodiment of the present invention.
FIG. 2 is a diagram showing an outline of an electronic voting procedure according to the embodiment.
FIG. 3 is a diagram showing a procedure for initializing a counter and a voter list according to the embodiment;
FIG. 4 is a diagram showing a method of generating voting data according to the embodiment.
FIG. 5 is a diagram showing a method of writing a hash value to a public bulletin board server according to the embodiment.
FIG. 6 is a diagram showing a method of distributing voting data according to the embodiment.
FIG. 7 is a diagram showing a method of voting from a voter according to the embodiment.
FIG. 8 is a diagram showing a method of adding a counter according to the embodiment;
FIG. 9 is a diagram showing a method of counting the number of votes according to the embodiment.
[Explanation of symbols]
SR… Voting data generation server
B: Public bulletin board server
T, T1, T2, Ti, Tn… Terminal device
S1, S2, Sj, Sm… Aggregation server

Claims (9)

投票者の端末装置と、前記投票者が投票を行うための投票データを生成する投票データ生成サーバと、投票を集計する集計サーバとをネットワークを介して接続してなる電子投票システムであって、
前記投票データ生成サーバは、
各集計サーバに対応する秘密分散された投票データのシェアを投票パターン毎に生成し、各集計サーバの鍵により暗号化して前記端末装置へ送信する投票データ生成手段を備え、
前記端末装置は、
前記投票データ生成サーバから、各集計サーバに対応する投票パターン毎の秘密分散された投票データのシェアの暗号文を受信し、この投票データのシェアの暗号文中から投票者が投票するパターンに応じた投票データのシェアの暗号文を、対応する各集計サーバへ送信する投票手段を備え、
前記集計サーバは、
投票数をカウントするための秘密分散されたカウンタのシェアと、
前記端末装置から投票データのシェアの暗号文を受信し、この暗号文を復号して得た投票データのシェアを前記カウンタのシェアに加算するカウンタ加算手段と、
各集計サーバが保有する前記カウンタのシェアを基に投票総数を復号する投票結果算出手段とを備える、
ことを特徴とする電子投票システム。
An electronic voting system in which a terminal device of a voter, a voting data generation server that generates voting data for voting by the voter, and an aggregation server that aggregates votes are connected via a network,
The voting data generation server,
Voting data generation means for generating a share of secretly shared voting data corresponding to each tallying server for each voting pattern, encrypting the voting data with a key of each tallying server, and transmitting the voting data to the terminal device,
The terminal device,
From the voting data generation server, received the ciphertext of the share of voting data secretly shared for each voting pattern corresponding to each aggregation server, according to the pattern in which voters vote from among the ciphertext of this voting data share Voting means for transmitting the ciphertext of the share of the voting data to each corresponding aggregation server,
The aggregation server,
A share of a secret shared counter to count the number of votes,
Counter addition means for receiving the ciphertext of the share of the voting data from the terminal device and adding the share of the voting data obtained by decrypting the ciphertext to the share of the counter,
Voting result calculation means for decoding the total number of votes based on the share of the counter held by each totaling server,
An electronic voting system, characterized in that:
さらに、前記集計サーバへ投票データの正当性を確認するための情報を保持する公開掲示板サーバとネットワークを介して接続され、
前記投票データ生成手段は、前記投票データのシェアから生成した正当性確認データを、投票パターンを秘匿して前記公開掲示板サーバへ送信し、
前記公開掲示板サーバは、投票パターンを秘匿した正当性確認データを受信し、内部に記憶するシェア記憶手段を備え、
前記カウンタ加算手段は、正当性確認データを前記公開掲示板サーバから読み出し、この正当性確認データを基に前記投票データのシェアが正当であると判断した場合に、前記カウンタのシェアに加算する、
ことを特徴とする請求項1に記載の電子投票システム。
Further, it is connected via a network to a public bulletin board server that holds information for confirming the validity of the voting data to the tallying server,
The voting data generating means transmits the validity confirmation data generated from the share of the voting data to the public bulletin board server while keeping a voting pattern secret.
The public bulletin board server includes a share storage unit that receives the validity confirmation data concealing the voting pattern and stores the data therein.
The counter adding means reads the validity confirmation data from the public bulletin board server, and adds the voting data share to the counter when determining that the share of the voting data is valid based on the validity confirmation data.
The electronic voting system according to claim 1, wherein:
前記投票データ生成手段は、前記投票データのシェアの平文を前記端末装置へ送信し、
前記投票手段は、前記投票データ生成サーバから前記投票データのシェアの平文を受信し、この投票データのシェアの平文と、前記公開掲示板サーバから読み出した正当性確認データとを基に、前記投票データのシェアの暗号文が正当であると判断した場合に、投票者が投票するパターンに応じた投票データのシェアの暗号文を対応する各集計サーバへ送信する、
ことを特徴とする請求項2に記載の電子投票システム。
The voting data generation means transmits a plain text of the share of the voting data to the terminal device,
The voting means receives the plaintext of the share of the voting data from the voting data generation server, and based on the plaintext of the share of the voting data and the validity confirmation data read from the public bulletin board server, When it is determined that the ciphertext of the share is valid, the voter transmits the ciphertext of the share of the voting data corresponding to the pattern to be voted to each corresponding tallying server.
3. The electronic voting system according to claim 2, wherein:
投票者の端末装置と、前記投票者が投票を行うための投票データを生成する投票データ生成サーバと、投票を集計する集計サーバとをネットワークを介して接続してなる電子投票システムの投票データ生成サーバであって、
各集計サーバに対応する秘密分散された投票データのシェアを投票パターン毎に生成し、各集計サーバの鍵により暗号化して前記端末装置へ送信する投票データ生成手段
を備えることを特徴とする投票データ生成サーバ。
Voting data generation of an electronic voting system in which a terminal device of a voter, a voting data generation server for generating voting data for voting by the voter, and a counting server for counting voting are connected via a network A server,
Voting data, comprising: voting data generating means for generating a share of secretly-distributed voting data corresponding to each totaling server for each voting pattern, encrypting the voting data with a key of each totaling server, and transmitting the encrypted voting data to the terminal device. Generation server.
投票者の端末装置と、前記投票者が投票を行うための投票データを生成する投票データ生成サーバと、投票を集計する集計サーバとをネットワークを介して接続してなる電子投票システムの端末装置であって、
前記投票データ生成サーバから、各集計サーバに対応する投票パターン毎の秘密分散された投票データのシェアの暗号文を受信し、この投票データのシェアの暗号文中から投票者が投票するパターンに応じた投票データのシェアの暗号文を、対応する各集計サーバへ送信する投票手段
を備えることを特徴とする端末装置。
A terminal device of a voter, a terminal device of an electronic voting system in which a vote data generation server that generates voting data for the voter to perform voting, and a counting server that counts voting are connected via a network; So,
From the voting data generation server, received the ciphertext of the share of voting data secretly shared for each voting pattern corresponding to each aggregation server, according to the pattern in which voters vote from among the ciphertext of this voting data share A terminal device comprising voting means for transmitting a ciphertext of a share of voting data to each corresponding tallying server.
投票者の端末装置と、前記投票者が投票を行うための投票データを生成する投票データ生成サーバと、投票を集計する集計サーバとをネットワークを介して接続してなる電子投票システムの集計サーバであって、
投票数をカウントするための秘密分散されたカウンタのシェアと、
前記端末装置から秘密分散された投票データのシェアの暗号文を受信し、この暗号文を復号して得た投票データのシェアを前記カウンタのシェアに加算するカウンタ加算手段と、
各集計サーバが保有する前記カウンタのシェアを基に投票総数を復号する投票結果算出手段と、
を備えることを特徴とする集計サーバ。
A counting server of an electronic voting system in which a terminal device of a voter, a voting data generation server that generates voting data for voting by the voter, and a counting server that counts votes are connected via a network. So,
A share of a secret shared counter to count the number of votes,
Counter adding means for receiving the ciphertext of the share of the secret-shared voting data from the terminal device, and adding the share of the voting data obtained by decrypting the ciphertext to the share of the counter,
Voting result calculation means for decoding the total number of votes based on the share of the counter held by each totaling server;
An aggregation server, comprising:
投票者の端末装置と、前記投票者が投票を行うための投票データを生成する投票データ生成サーバと、投票を集計する集計サーバとをネットワークを介して接続してなる電子投票システムの投票データ生成サーバに用いられるコンピュータプログラムであって、
各集計サーバに対応する秘密分散された投票データのシェアを投票パターン毎に生成し、各集計サーバの鍵により暗号化して前記端末装置へ送信するステップ
をコンピュータに実行させることを特徴とするコンピュータプログラム。
Voting data generation of an electronic voting system in which a terminal device of a voter, a voting data generation server for generating voting data for voting by the voter, and a counting server for counting voting are connected via a network A computer program used for a server,
A computer program for causing a computer to execute a step of generating a share of secretly-distributed voting data corresponding to each tallying server for each voting pattern, encrypting the voting data with a key of each tallying server, and transmitting the encrypted to the terminal device. .
投票者の端末装置と、前記投票者が投票を行うための投票データを生成する投票データ生成サーバと、投票を集計する集計サーバとをネットワークを介して接続してなる電子投票システムの端末装置に用いられるコンピュータプログラムであって、
前記投票データ生成サーバから、各集計サーバに対応する投票パターン毎の秘密分散された投票データのシェアの暗号文を受信するステップと、
受信した投票データのシェアの暗号文中から投票者が投票するパターンに応じた投票データのシェアの暗号文を、対応する各集計サーバへ送信するステップと、
をコンピュータに実行させることを特徴とするコンピュータプログラム。
A terminal device of a voter, a voting data generation server that generates voting data for voting by the voter, and a totaling server that totals votes are connected via a network to a terminal device of an electronic voting system. A computer program used,
A step of receiving, from the voting data generation server, a ciphertext of a share of secretly shared voting data for each voting pattern corresponding to each aggregation server;
Transmitting the ciphertext of the share of the voting data according to the pattern of the voter voting from the ciphertext of the share of the received voting data to each corresponding tallying server;
Computer program for causing a computer to execute the following.
投票者の端末装置と、前記投票者が投票を行うための投票データを生成する投票データ生成サーバと、投票を集計する集計サーバとをネットワークを介して接続してなる電子投票システムの集計サーバに用いられるコンピュータプログラムであって、
前記端末装置から秘密分散された投票データのシェアの暗号文を受信するステップと、
投票数をカウントするための秘密分散されたカウンタのシェアに、前記暗号文を復号して得た投票データのシェアを加算するステップと、
各集計サーバが保有する前記カウンタのシェアを基に投票総数を復号するステップと、
をコンピュータに実行させることを特徴とするコンピュータプログラム。
A voting terminal server, a voting data generation server that generates voting data for voting by the voter, and a tallying server that totals voting via a network are connected to a tallying server of an electronic voting system. A computer program used,
Receiving a ciphertext of the share of the secret shared voting data from the terminal device,
Adding a share of voting data obtained by decrypting the ciphertext, to a share of a secret shared counter for counting the number of votes,
Decoding the total number of votes based on the share of the counter held by each totaling server;
Computer program for causing a computer to execute the following.
JP2002355415A 2002-12-06 2002-12-06 Electronic voting system Expired - Fee Related JP3910529B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002355415A JP3910529B2 (en) 2002-12-06 2002-12-06 Electronic voting system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002355415A JP3910529B2 (en) 2002-12-06 2002-12-06 Electronic voting system

Publications (2)

Publication Number Publication Date
JP2004192029A true JP2004192029A (en) 2004-07-08
JP3910529B2 JP3910529B2 (en) 2007-04-25

Family

ID=32756125

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002355415A Expired - Fee Related JP3910529B2 (en) 2002-12-06 2002-12-06 Electronic voting system

Country Status (1)

Country Link
JP (1) JP3910529B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006128869A (en) * 2004-10-27 2006-05-18 Nippon Telegr & Teleph Corp <Ntt> Communication system, communication method and its program
JP2006333193A (en) * 2005-05-27 2006-12-07 Nec Corp Integrated shuffle-justice proving apparatus, proof integrating apparatus, integrated shuffle-justice verifying apparatus, and mixed network system
JP2007019872A (en) * 2005-07-07 2007-01-25 Nippon Telegr & Teleph Corp <Ntt> Electronic voting device, vote counting device, information publishing server, electronic voting and vote counting system, and electronic voting and vote counting method and program
CN110929547A (en) * 2018-09-19 2020-03-27 上海仪电(集团)有限公司中央研究院 Picture type meter reading method, device and system based on artificial intelligence
JP2021510954A (en) * 2018-01-16 2021-04-30 エヌチェーン ホールディングス リミテッドNchain Holdings Limited Computer-implemented methods and systems for obtaining digitally signed data
WO2022195860A1 (en) * 2021-03-19 2022-09-22 日本電気株式会社 Voting system and voting method
WO2023053339A1 (en) * 2021-09-30 2023-04-06 日本電気株式会社 Electronic voting system, electronic voting method, and electronic voting program

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006128869A (en) * 2004-10-27 2006-05-18 Nippon Telegr & Teleph Corp <Ntt> Communication system, communication method and its program
JP4547233B2 (en) * 2004-10-27 2010-09-22 日本電信電話株式会社 Communication system, communication method and program thereof
JP2006333193A (en) * 2005-05-27 2006-12-07 Nec Corp Integrated shuffle-justice proving apparatus, proof integrating apparatus, integrated shuffle-justice verifying apparatus, and mixed network system
US8009828B2 (en) 2005-05-27 2011-08-30 Nec Corporation Integrated shuffle validity proving device, proof integrating device, integrated shuffle validity verifying device, and mix net system
JP2007019872A (en) * 2005-07-07 2007-01-25 Nippon Telegr & Teleph Corp <Ntt> Electronic voting device, vote counting device, information publishing server, electronic voting and vote counting system, and electronic voting and vote counting method and program
JP4630144B2 (en) * 2005-07-07 2011-02-09 日本電信電話株式会社 Electronic voting apparatus, voting apparatus, electronic voting system, electronic voting method and program
JP2021510954A (en) * 2018-01-16 2021-04-30 エヌチェーン ホールディングス リミテッドNchain Holdings Limited Computer-implemented methods and systems for obtaining digitally signed data
JP7316283B2 (en) 2018-01-16 2023-07-27 エヌチェーン ライセンシング アーゲー Computer-implemented method and system for obtaining digitally signed data
CN110929547A (en) * 2018-09-19 2020-03-27 上海仪电(集团)有限公司中央研究院 Picture type meter reading method, device and system based on artificial intelligence
CN110929547B (en) * 2018-09-19 2024-02-09 上海仪电(集团)有限公司中央研究院 Picture type meter reading method, device and system based on artificial intelligence
WO2022195860A1 (en) * 2021-03-19 2022-09-22 日本電気株式会社 Voting system and voting method
WO2023053339A1 (en) * 2021-09-30 2023-04-06 日本電気株式会社 Electronic voting system, electronic voting method, and electronic voting program

Also Published As

Publication number Publication date
JP3910529B2 (en) 2007-04-25

Similar Documents

Publication Publication Date Title
US20230216669A1 (en) Systems and methods for communication, storage and processing of data provided by an entity over a blockchain network
Lee et al. Providing receipt-freeness in mixnet-based voting protocols
Joaquim et al. REVS–a robust electronic voting system
Kulyk et al. Extending helios towards private eligibility verifiability
JP2006115550A (en) Secret shuffle for making encrypted data like el gamal encryption data for safe plural authority elections to be verifiable
Rjašková Electronic voting schemes
Radwin et al. An untraceable, universally verifiable voting scheme
Lambrinoudakis et al. Secure electronic voting: The current landscape
Li et al. A taxonomy and comparison of remote voting schemes
Ryabko et al. Basics of contemporary cryptography for IT practitioners
Locher et al. Receipt-free remote electronic elections with everlasting privacy
Hirt Receipt-free K-out-of-L voting based on ElGamal encryption
Zwierko et al. A light-weight e-voting system with distributed trust
JP3910529B2 (en) Electronic voting system
Fan et al. An efficient multi-receipt mechanism for uncoercible anonymous electronic voting
Cetinkaya et al. Pseudo-voter identity (pvid) scheme for e-voting protocols
Li et al. AvecVoting: Anonymous and verifiable E-voting with untrustworthy counters on blockchain
Cetinkaya et al. A practical verifiable e-voting protocol for large scale elections over a network
Hevia et al. Electronic jury voting protocols
JP2004013606A (en) Electronic voting method and system, voter device and manager device and tabulator device, electronic voting program and storage medium with its program stored
Carroll et al. A secure and anonymous voter-controlled election scheme
Cetinkaya et al. A practical privacy preserving e-voting protocol using dynamic ballots
Wang et al. A secure and private clarke tax voting protocol without trusted authorities
Ku et al. An e-voting scheme against bribe and coercion
Saini et al. An Analytical study of E-voting System.

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060424

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060530

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060712

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060829

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061024

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: 20070116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070124

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100202

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110202

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120202

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120202

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130202

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140202

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees