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
JP4630144B2 - 電子投票装置、開票装置、電子投開票システム、電子投開票方法並びにプログラム - Google Patents
[go: Go Back, main page]

JP4630144B2 - 電子投票装置、開票装置、電子投開票システム、電子投開票方法並びにプログラム - Google Patents

電子投票装置、開票装置、電子投開票システム、電子投開票方法並びにプログラム Download PDF

Info

Publication number
JP4630144B2
JP4630144B2 JP2005199239A JP2005199239A JP4630144B2 JP 4630144 B2 JP4630144 B2 JP 4630144B2 JP 2005199239 A JP2005199239 A JP 2005199239A JP 2005199239 A JP2005199239 A JP 2005199239A JP 4630144 B2 JP4630144 B2 JP 4630144B2
Authority
JP
Japan
Prior art keywords
voting
signature
vote
public key
electronic
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 - Lifetime
Application number
JP2005199239A
Other languages
English (en)
Other versions
JP2007019872A (ja
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 JP2005199239A priority Critical patent/JP4630144B2/ja
Publication of JP2007019872A publication Critical patent/JP2007019872A/ja
Application granted granted Critical
Publication of JP4630144B2 publication Critical patent/JP4630144B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Time Recorders, Dirve Recorders, Access Control (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、情報セキュリティ技術に関するものであり、詳しくは電子投開票技術に関する。
従来的な電子投開票技術の代表的な例として、選挙管理者が投票にブラインド署名を付けることにより匿名性と一人一票を実現する方式がある(例えば非特許文献1参照。)。以下に、その電子投開票方法の概要を説明する。
[準備]
選挙管理者Aは、ブラインド署名の署名鍵と検証鍵を生成し、検証鍵を公開する。
[投票]
投票者i∈N(Nは、投票者の集合を表す。)は、投票内容mをマスキングしたものであるMを選挙管理者Aに送る。ここで選挙管理者Aとは、人間ではなく、所定の機能(ブラインド署名の付与)を実現するサーバである。
選挙管理者Aは、投票者i∈Nを所定の方法(例えば本人確認など)で認証し有権者であることを確認したら、ブラインド署名σ(M)を生成し投票者i∈Nに送る。投票者i∈Nは、受信したブラインド署名σ(M)からマスクを外し選挙管理者Aの署名σ(m)を得て、投票内容mおよび署名σ(m)を、匿名通信路を経由して公開掲示板Bに公開する。ここで公開掲示板Bとは、例えば端末装置からアクセスを受けた場合に、所定の情報を提供することのできるサーバである。
ブラインド署名としては、例えばRSA暗号に基づく方式などがある(例えば非特許文献2参照。)。
[開票]
開票者は、公開掲示板Bに公開された選挙管理者Aの署名σ(m)を検証鍵で検証し、検証に合格した投票内容mおよび署名σ(m)を投票結果として公開する。
この方式では、ブラインド署名の性質から、(M,σ(M))と(m,σ(m))とを関連付けることができないので、匿名性を実現することができる。また、ブラインド署名σ(m)を偽造することができないので、一人一票を実現することができる。
Atsushi Fujioka, Tatsuaki Okamoto, Kazuo Ohta, A Practical Secret Voting Scheme for Large Scale Elections, ASIACRYPT 1992, 244-251. 岡本龍明、山本博資著、「シリーズ/情報科学の数学 現代暗号」、初版、産業図書株式会社、1997年
しかし、従来的な電子投開票方式においては、信頼できる選挙管理者Aという電子投開票のための特別なサーバが必要である。信頼できるサーバを実現するためには分散実装などコストがかかるため、一回の投票のためだけに信頼できるサーバを設置するのは不経済であり、電子投開票を簡単に行なえないという問題点があった。
そこで、本発明は、選挙管理者を必要としない電子投票装置、開票装置、電子投開票システム、電子投開票方法並びにプログラムを提供することを目的とする。
上記課題を解決するために、本発明では、電子投票装置によって、公開鍵基盤において公開鍵証明書が与えられた全投票者の公開鍵および各投票者に固有の秘密鍵を用いて投票内容に対する署名を生成し、この署名(投票署名)をもって電子投票を行う。開票については、開票装置によって、電子投票装置から電子投票された投票署名に対して、公開鍵基盤において公開鍵証明書が与えられた全投票者の公開鍵を用いた検証を行い、検証に合格した投票署名を計数することで行う。また、公開鍵基盤において公開鍵証明書が与えられた全投票者の公開鍵、投票内容、さらには投票署名を、情報公開サーバで公開しておく。
また、電子投票装置においては、投票者に固有の秘密鍵および全投票者の公開鍵を用いて、投票者に固有の固有臨時公開鍵を生成し、固有臨時公開鍵および全投票者の公開鍵を用いて撹乱因子を生成し、さらに、撹乱因子および全投票者の公開鍵を用いて、全投票者数から1を引いた数の撹乱臨時公開鍵を生成するとし、この固有臨時公開鍵および撹乱臨時公開鍵を用いて投票内容に対する署名情報を生成して、この署名情報および撹乱因子からなる組を投票内容に対する署名(投票署名)としてもよい。なお、固有臨時公開鍵および撹乱臨時公開鍵は、撹乱因子から生成されるものであり、固有臨時公開鍵と撹乱臨時公開鍵との判別が不能である。開票については、所定の投票内容に対する全ての投票署名について、投票署名ごとに、臨時公開鍵(固有臨時公開鍵と撹乱臨時公開鍵)を生成し、この臨臨時公開鍵および全投票者の公開鍵を用いて、臨時公開鍵が生成された投票署名の検証を行い、検証に合格した投票署名を計数するようにする。
また、本発明の電子投票装置、開票装置をコンピュータ上で機能させる電子投票プログラム、開票プログラムによって、コンピュータを電子投票装置、開票装置として作動処理させることができる。
本発明によれば、公開鍵基盤において公開鍵証明書が与えられた全投票者の公開鍵および各投票者に固有の秘密鍵を用いて投票内容に対する署名を生成し、この署名(投票署名)をもって電子投票を行い、開票については、開票装置によって、電子投票装置から電子投票された投票署名に対して、公開鍵基盤において公開鍵証明書が与えられた全投票者の公開鍵を用いた検証を行い、検証に合格した投票署名を計数することで行うので、電子投開票のための特別なサーバ(選挙管理装置)を用いることなく電子投開票を実現することができる。
また、固有臨時公開鍵および撹乱臨時公開鍵を生成し、これらが撹乱因子から生成可能であるが、固有臨時公開鍵と撹乱臨時公開鍵との判別が不能であるとすることで、少なくとも開票においては、投票署名に含まれる撹乱因子から生成される臨時公開鍵のいずれが固有臨時公開鍵であるか判別不明であるため匿名性が実現でき、さらには、臨時公開鍵に固有臨時公開鍵が含まれるから、各投票署名から生成されたた臨時公開鍵を比較することで重複投票の排除(一人一票)を実現できる。
<第1実施形態>
本発明の第1実施形態を以下に説明する。
まず、Gを離散対数問題の難しい素数位数qの巡回群とし、gをその生成元とする。巡回群Gの例としては、例えば乗法群Z 〔q=p−1〕、楕円曲線上の点で定義される群などが上げられる。
また、H、H’、H”を、H:{0,1}→G、H’:{0,1}→G、H”:{0,1}→Zなる性質を有するハッシュ関数(一方向性関数)とする。ここで{0,1}は、任意のビット長のバイナリ系列を表し、Zは、加法群を表す。
さらに、投票者はn人であるとし、これら投票者の集合をN={1,・・・,n}とする。各投票者は後述する投票装置を用いて電子投票に参加する。ここでは、投票者iのID(identification)をi(i=1,・・・,n)とする。
以下では、y=(yi∈Nなどと略記する。
[情報公開サーバ]
第1実施形態における公開掲示板(情報公開サーバ)について説明する。
図1は、第1実施形態に係わる情報公開サーバ(1)のハードウェア構成を例示した構成ブロック図である。
図1に例示するように、情報公開サーバ(1)は、キーボードなどが接続可能な入力部(11)、液晶ディスプレイなどが接続可能な出力部(12)、情報公開サーバ(1)外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部(13)、CPU(Central Processing Unit)(14)〔キャッシュメモリなどを備えていてもよい。〕、メモリであるRAM(15)、ROM(16)やハードディスクである外部記憶装置(17)並びにこれらの入力部(11)、出力部(12)、通信部(13)、CPU(14)、RAM(15)、ROM(16)、外部記憶装置(17)間のデータのやり取りが可能なように接続するバス(18)を有している。また必要に応じて、情報公開サーバ(1)に、CD−ROMなどの記憶媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。
情報公開サーバ(1)の外部記憶装置(17)には、情報公開のためのプログラムおよびこのプログラムの処理において必要となるデータなどが保存記憶されている。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に保存記憶されるとする。
より具体的には、情報公開サーバ(1)の外部記憶装置(17)〔あるいはROMなど〕には、情報公開サーバ(1)にアクセスした電子投票装置(後述する。)や開票装置(後述する。)などに対して外部記憶手段(17)に保存記憶される情報を提供するためのプログラム、情報公開サーバ(1)にアクセスした電子投票装置や開票装置などから情報を取得して外部記憶手段(17)に保存記憶するためのプログラムおよびこれらのプログラムの処理において必要となるデータなどが保存記憶されている。その他、これらのプログラムに基づく処理を制御するための制御プログラムなども適宜に保存しておく。
情報公開サーバ(1)では、外部記憶装置(17)〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAM(15)に読み込まれて、CPU(14)で解釈実行・処理される。その結果、CPU(14)が所定の機能(情報提供部、情報取得部)を実現することで、情報公開が実現される。
情報公開サーバ(1)は、電子投票装置や開票装置からのアクセスを許可し、これらの装置に対して、情報公開サーバにおける所定の情報(後述する公開鍵や、開票装置によって得られた開票結果などが含まれる。)を提供し、あるいは、これらの装置から情報を取得するものであるが、投票の公正を保持するため、一旦(情報公開サーバ(1)の外部記憶装置に)保存記憶された情報については、これらの装置よる(情報内容の)変更要求を受け付けないものとし、また、第三者(装置)からの不正なアクセスに対して頑強な保守機能を有しているとする(つまり、情報の改竄ができないとする。)。
[電子投票装置]
第1実施形態における電子投票装置(以下、「投票装置」という。)について説明する。
図2は、第1実施形態に係わる投票装置(2)のハードウェア構成を例示した構成ブロック図である。
図2に例示するように、投票装置(2)は、キーボードなどが接続可能な入力部(21)、液晶ディスプレイなどが接続可能な出力部(22)、投票装置(2)外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部(23)、CPU(Central Processing Unit)(24)〔キャッシュメモリなどを備えていてもよい。〕、メモリであるRAM(25)、ROM(26)やハードディスクである外部記憶装置(27)並びにこれらの入力部(21)、出力部(22)、通信部(23)、CPU(24)、RAM(25)、ROM(26)、外部記憶装置(27)間のデータのやり取りが可能なように接続するバス(28)を有している。また必要に応じて、投票装置(2)に、CD−ROMなどの記憶媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。
投票装置(2)の外部記憶装置(27)には、電子投票のためのプログラムおよびこのプログラムの処理において必要となるデータなどが保存記憶されている。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に保存記憶される。
より具体的には、投票装置(2)の外部記憶装置(27)〔あるいはROMなど〕には、後述する値h、σ、σ、A、A、a、b、a、b、z、βφを生成するためのプログラム、群の中から元を任意に選択するためのプログラム、署名を生成するためのプログラムおよびこれらのプログラムの処理において必要となるデータなどが保存記憶されている。その他、これらのプログラムに基づく処理を制御するための制御プログラムも適宜に保存しておく。
投票装置(2)では、外部記憶装置(27)〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAM(25)に読み込まれて、CPU(24)で解釈実行・処理される。その結果、CPU(24)が所定の機能(h生成部、σ生成部、σ生成部、A生成部、A生成部、a生成部、b生成部、a生成部、b生成部、z生成部、βφ生成部、元選択部、署名生成部、制御部)を実現することで、電子投票における投票が実現される。
[開票装置]
第1実施形態における開票装置について説明する。
図3は、第1実施形態に係わる開票装置(3)のハードウェア構成を例示した構成ブロック図である。
図3に例示するように、開票装置(3)は、キーボードなどが接続可能な入力部(31)、液晶ディスプレイなどが接続可能な出力部(32)、開票装置(3)外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部(33)、CPU(Central Processing Unit)(34)〔キャッシュメモリなどを備えていてもよい。〕、メモリであるRAM(35)、ROM(36)やハードディスクである外部記憶装置(37)並びにこれらの入力部(31)、出力部(32)、通信部(33)、CPU(34)、RAM(35)、ROM(36)、外部記憶装置(37)間のデータのやり取りが可能なように接続するバス(38)を有している。また必要に応じて、開票装置(3)に、CD−ROMなどの記憶媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。
開票装置(3)の外部記憶装置(37)には、開票のためのプログラムおよびこのプログラムの処理において必要となるデータなどが保存記憶されている。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に保存記憶される。
より具体的には、開票装置(3)の外部記憶装置(37)〔あるいはROMなど〕には、後述する値h、σ、A、a’、b’を生成するためのプログラム、元zを検証するためのプログラム、Aを検証するためのプログラム、βφを検証するためのプログラム、βφの個数を検証するためのプログラム、βφ(φ=0)と所定の値との一致を判定するためのプログラム、判定結果に応じて計数するためのプログラム、重複投票の有無を検証するためのプログラムおよびこれらのプログラムの処理において必要となるデータなどが保存記憶されている。その他、これらのプログラムに基づく処理を制御するための制御プログラムも適宜に保存しておく。
開票装置(3)では、外部記憶装置(37)〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAM(35)に読み込まれて、CPU(34)で解釈実行・処理される。その結果、CPU(34)が所定の機能(h生成部、σ生成部、A生成部、a’生成部、b’生成部、z検証部、βφ検証部、次数検証部、A検証部、判定部、カウンタ部、フラッグ部、重複投票検証部、制御部)を実現することで、電子投票における開票が実現される。
[ネットワーク構成]
第1実施形態の電子投票システムにおけるネットワーク構成について説明する。
図4は、第1実施形態の電子投票システムにおけるネットワーク構成を示す図である。なお、図4では、電子投票が行われる前の状態を示している。
第1実施形態における電子投票システムは、公開鍵基盤の一例であるPKI(Public Key Infrastructure)を前提にしている。PKIは、日本国においても「電子署名及び認証業務に関する法律(平成12年法律第102号)」が制定されたことなども相まって普及整備が進んでいる公知技術であるから(例えば参考文献1参照。)、その詳細の説明は省略する。なお、本発明は、日本国におけるPKIを前提とすることに限定するものではなく、およそ公開鍵基盤が普及整備されているならば、諸外国やあるいは公開鍵基盤の規模・性質(国家・地方・地域のような比較的大きな規模や例えば企業・大学・自治体・団体のような比較的小さな規模、社会基盤としての公的性質や私企業内における私的性質)などを問わず適用可能である。なお、日本国における政府認証基盤(GPKI:Government Public Key Infrastructure)については、参考文献2を参照のこと。
(参考文献1) 独立行政法人 情報処理推進機構、”PKI関連技術解説”、[平成17年6月30日検索]、
インターネット <URL : http://www.ipa.go.jp/security/pki/>
(参考文献2) 日本国総務省行政管理局、”政府認証基盤(GPKI)”、[平成17年6月30日検索]、
インターネット <URL : http://www.gpki.go.jp/>
図4に示すCA(Certification Authority)(4)は、PKIにおける認証局を表している。
情報公開サーバ(1)、1つ以上の投票装置(2−1),(2−2),・・・,(2−n)、開票装置(3)、CA(4)は、ネットワーク(5)を介して相互に通信可能に接続されている。なお、少なくとも、各投票装置とネットワークとの間は、各投票装置を利用する投票者のプライバシーが保たれるように匿名通信路とするのがよい。
第1実施形態では、n人の投票者各人には、それぞれ1つの投票装置が割り当てられている。つまり、各投票者は、各別の投票装置を用いて電子投票を行う。しかしながら後述のとおり、各投票者は、各投票者に固有の秘密鍵・公開鍵を用いることで電子投票を行うので、各投票者に各別の投票装置を割り当てることは必須ではない。同じ投票装置であっても、各投票者が、投票者に固有の秘密鍵・公開鍵を投票装置に入力する(例えば、秘密鍵・公開鍵が記録された記録媒体を投票装置に読み取らせる。)ことで、各投票者固有の電子投票が行える。
[準備]
第1実施形態における電子投票を実施するための準備について説明する(図4参照)。
まず、投票者iは、秘密鍵xを群Zの元から選択し、巡回群Gの生成元gを用いて、公開鍵y=g^xを生成する。記号^は、べき乗を表す。投票者iは、投票者iに固有の公開鍵yをCA(4)に送信し、CA(4)に公開鍵yを登録する。CA(4)は、公開鍵yに対して公開鍵証明書Certを発行する。このようにして、CA(4)は、各投票者の公開鍵y,y,・・・,yに対して、公開鍵証明書Cert,Cert,・・・,Certを発行する(公知技術)。
次に、情報公開サーバ(1)は、CA(4)にネットワーク(5)経由でアクセスし、各投票者の公開鍵y,y,・・・,yおよびCA(4)から発行された公開鍵証明書Cert,Cert,・・・,Certを取得する。
情報公開サーバ(1)は、取得した各投票者の公開鍵y,y,・・・,yおよびCA(4)から発行された公開鍵証明書Cert,Cert,・・・,Certを、各公開鍵と各公開鍵証明書とを対応付けて外部記憶装置(17)に記憶保存する。これらは、いわば有権者名簿に相当するものであると云える。
また、情報公開サーバ(1)は、電子投票における投票内容m,m,・・・,mも、外部記憶装置(17)に保存記憶している。ここでsは、投票内容の種類の数を表す。
情報公開サーバ(1)は、各投票装置や開票装置からアクセスがあった場合に、これらのデータ(公開鍵y,y,・・・,y、公開鍵証明書Cert,Cert,・・・,Cert、投票内容m,m,・・・,m)を、情報提供部(800)によって、その通信部(13)を通じて、アクセスした装置に対して送信する。また、電子投票後においては、外部記憶装置(17)に保存記憶されている署名も、情報提供部(800)によって、その通信部(13)を通じて、アクセスした開票装置に対して送信する。
以下、図4〜図14を参照して、第1実施形態における電子投開票処理の処理を説明する。
図5は、情報公開サーバ(1)における処理フローを示す図である。
図6は、投票装置(2)の機能構成例を示す図である。
図7は、投票装置(2)における処理フローを示す図である(その1)。
図8は、投票装置(2)における処理フローを示す図である(その2)。
図9は、電子投票後における状態を示す図である。
図10は、開票装置(3)の機能構成例を示す図である。
図11は、開票装置(3)における処理フローを示す図である(その1)。
図12は、開票装置(3)における処理フローを示す図である(その2)。
図13は、開票装置(3)において重複投票を検証する処理における機能構成を例示した図である。
図14は、開票装置(3)において重複投票を検証する処理フローを示す図である。
[投票]
まず、投票装置による電子投票について説明する。
以下では、投票者iは、投票装置iによって電子投票を行うとする。
投票装置iの外部記憶装置(27)には、投票装置iのIDであるi、巡回群Gの生成元g、投票者iに固有の秘密鍵xが予め保存記憶されているとする。既述のとおり、投票装置iのIDであるi、巡回群Gの生成元g、投票者iに固有の秘密鍵xが記録された記録媒体をある投票装置に読み取らせることで、この投票装置を投票装置iとして用いることが可能になる。
投票装置iは、制御部(613)の制御によって、その通信部(23)を通じて、情報公開サーバ(1)にアクセスし、情報公開サーバ(1)の通信部(13)を通じて送信された(ステップS1s)、情報公開サーバ(1)の外部記憶装置(17)に記憶される全ての投票者(有権者)の公開鍵{y,…,y}、全ての公開鍵証明書{cert,・・・,cert}(これらは有権者名簿に相当するものである。)、投票内容m(投票内容がm,m,・・・,mと複数ある場合は、これら全てについてmと同様の投開票処理を行うことで複数の投票内容につき投票を行うことができる。)を受信し、これらを投票装置iの外部記憶装置(27)に保存記憶する。また、全ての投票者(有権者)の公開鍵{y,…,y}の個数nも、投票装置iの外部記憶装置(27)に保存記憶する(ステップS2)。
次いで、投票装置iの図示しない検証部(所定のプログラムを解釈実行するCPU(24)によって機能が実現する。)は、各公開鍵証明書を検証する(ステップS3)。この検証に全て合格したならば、下記の所定の処理を実行する。この検証に合格しなかったならば、取得した公開鍵の中に不正な公開鍵が含まれていることを示すものであるから、投票装置iは下記の処理を実行せずに終了する(ステップS4)。
なお、検証処理は、PKIにおける公知技術で達成されるから詳細な説明を省略する。また、相互に通信可能なサーバ(情報公開サーバ)−クライアント(投票装置)間で、サーバからクライアント(あるいは逆に、クライアントからサーバ)にアクセスして所定の情報(データ)を取得し、取得した情報(データ)を外部記憶装置に保存記憶することも公知技術で達成されるから、この明細書ではその詳細な説明を省略する。
なお、情報公開サーバ(1)において公開される情報に含まれる投票内容mに賛成か反対かを選択する所作は、人間によってのみ為しえるものであり、この点のみは投票装置(ハードウェア)による所作とは言えない。しかしながら、一旦投票内容が1つ選択されたならば、その後の処理は、投票装置(ハードウェア)による所定のプログラム(ソフトウェア)の解釈実行に従った情報処理が行われ、この情報処理によって電子投票が実現するものであることに留意しなければならない。
予め、制御部(613)の制御の下、外部記憶装置(27)から、投票装置iのIDであるi、巡回群Gの生成元g、投票者iに固有の秘密鍵x、全ての投票者(有権者)の公開鍵{y,…,y}、投票内容m、全ての投票者(有権者)の公開鍵{y,…,y}の個数nを読み込み、それぞれをRAM(25)の所定の格納領域に格納しておく。以後、全ての投票者(有権者)の公開鍵{y,…,y}をyと略記する。また、「RAMから○○を読み込む」旨の説明をした場合は、「RAMにおいて○○が格納されている所定の格納領域から○○を読み込む」ことを意味するとする。
まず、h生成部(600)は、RAM(25)からn、m、yをそれぞれ読み込み、h=H(n,y,m)を演算し、この演算結果hをRAM(25)の所定の格納領域に格納する(ステップS5)。ここでハッシュ演算H(n,y,m)は、バイナリ系列で結合した値n‖y‖m(=n‖y‖y‖・・・‖y‖m)〔記号‖はバイナリ系列同士の結合を表す。〕を入力として、ハッシュ関数Hを演算することを表す。その他のハッシュ関数H’、H”についても同様である。なお、hは巡回群Gの元、即ちh∈Gであることに留意する。なお、ハッシュ関数Hの入力は、値n‖y‖mに限定するものではないが、電子投票における安全性確保の観点からは、少なくともyおよびmを用いたバイナリ系列の結合値を用いるのがよい。
次に、σ生成部(601)は、RAM(25)からh、xをそれぞれ読み込み、σ=h^xを演算し、この演算結果σをRAM(25)の所定の格納領域に格納する(ステップS6)。なお、σは巡回群Gの元、即ちσ∈Gであることに留意する。このσは、端末装置iに固有の固有臨時公開鍵に相当する。
続いて、A生成部(602)は、RAM(25)からn、m、yをそれぞれ読み込み、A=H’(n,y,m)を演算し、この演算結果AをRAM(25)の所定の格納領域に格納する(ステップS7)。なお、Aは巡回群Gの元、即ちA∈Gであることに留意する。また、ハッシュ関数H’の入力は、ハッシュ関数Hの入力と同じにする必要はないが、この実施形態では同じものを入力としている。
次に、A生成部(603)は、RAM(25)からi、A、σをそれぞれ読み込み、A=(σ/A)^(1/i)を演算し、この演算結果AをRAM(25)の所定の格納領域に格納する(ステップS8)。Aは巡回群Gの元、即ちA∈Gであることに留意する。このAは、撹乱因子に相当する。
次に、σ生成部(604)は、RAM(25)からA、A、n、iをそれぞれ読み込み、σ=A(A^j)を演算し、この演算結果σをRAM(25)の所定の格納領域に格納する(ステップS9)。ここでjは、j∈N−{i}、即ち、j=1,2,・・・,i−1,i+1,・・・,nである。なお、σは巡回群Gの元、即ちσ∈Gであることに留意する。このσは、撹乱臨時公開鍵に相当する。
さらに、A=h^α(0)かつσ=h^α(f)〔但し、f∈N〕を満足する次数1の多項式α(x)∈Z[x]が存在することに留意しなければならない。
なお、記号α(x)∈Z[x]は、多項式α(x)が、群Zの元を係数に有する多項式であることを表す。
続いて、元選択部(605)は、群Zの元の中から任意に1つの元wを選択し、この元wをRAM(25)の所定の格納領域に格納する(ステップS10)。
次に、a生成部(606)は、RAM(25)からg、wをそれぞれ読み込み、a=g^wを演算し、この演算結果aをRAM(25)の所定の格納領域に格納する(ステップS11)。なお、aは巡回群Gの元、即ちa∈Gであることに留意する。
次に、b生成部(607)は、RAM(25)からh、wをそれぞれ読み込み、b=h^wを演算し、この演算結果bをRAM(25)の所定の格納領域に格納する(ステップS12)。なお、bは巡回群Gの元、即ちb∈Gであることに留意する。
続いて、元選択部(605)は、RAM(25)からi、nをそれぞれ読み込み、j∈N−{i}、即ちj=1,2,・・・,i−1,i+1,・・・,nについて、群Zの元の中から任意に2つの元z、cを選択し、これらの元z、cをRAM(25)の所定の格納領域に格納する(ステップS13)。
次に、a生成部(608)は、j∈N−{i}、即ちj=1,2,・・・,i−1,i+1,・・・,nについて、RAM(25)からg、z、c、yをそれぞれ読み込み(yは、yからyを除いたものである。)、a=(g^z)×(y^c)を演算し、この演算結果aをRAM(25)の所定の格納領域に格納する(ステップS14)。なお、aは巡回群Gの元、即ちa∈Gであることに留意する。
次に、b生成部(609)は、j∈N−{i}、即ちj=1,2,・・・,i−1,i+1,・・・,nについて、RAM(25)からh、z、c、σをそれぞれ読み込み、b=(h^z)×(σ^c)を演算し、この演算結果bをRAM(25)の所定の格納領域に格納する(ステップS15)。なお、bは巡回群Gの元、即ちb∈Gであることに留意する。
続いて、βφ生成部(610)は、次数(n−1)の多項式β(x)∈Z[x]の係数βφ(φ=0,1,2,・・・,n−1)を求める。つまり、多項式β(x)=βn−1x^(n−1)+βn−2x^(n−2)+・・・+βx+βとすると、n個の係数βn−1,βn−2,・・・,β、βの値を求めるのである(βはx^(0)の係数とする。)。これら係数は、xに0,1,・・・,i−1,i+1,・・・,nを代入したn個の連立方程式を解くことで求めることができる。連立方程式を解くアルゴリズムは公知であるからその説明は省略する。
βφ生成部(610)は、RAM(25)からn、y、m、h、A、A、a、a、b、b、cをそれぞれ読み込み、β(0)=H”(n,y,m,h,A,A,a,b)、β(j)=c(j∈N−{i})からなるn個の連立方程式を公知のアルゴリズムで解いてn個の係数βn−1,βn−2,・・・,β、βの値を求め、これらの係数βn−1,βn−2,・・・,β、βをRAM(25)の所定の格納領域に格納する(ステップS16)。ここで、j∈N−{i}、即ちj=1,2,・・・,i−1,i+1,・・・,nであり、aは、a=(a,a,・・・,a)であり、bは、b=(b,b,・・・,b)であるとする。なお、β(0)、β(j)は群Zの元であることに留意する。
続いて、z生成部(611)は、RAM(25)からn、i、w、x、βφ(φ=0,1,2,・・・,n−1)をそれぞれ読み込み、z=w−β(i)×xを演算し、この演算結果zをRAM(25)の所定の格納領域に格納する(ステップS17)。β(i)は、読み込んだβφを用いて、β(i)=βn−1×i^(n−1)+βn−2×i^(n−2)+・・・+β×i+βによって求めることができる。なお、zは群Zの元、即ちz∈Zであることに留意する。
続いて、署名生成部(612)は、RAM(25)からA、m、z、z、βφ(φ=0,1,2,・・・,n−1)をそれぞれ読み込み、このうち、A、z、z、βφの組み合わせを、投票装置iにおける投票内容mに対する署名ξとする(ステップS18)。即ち、ξ=(A、β、z)とする。ここでβは、β=(β,β,・・・,βn−1)、zは、z=(z,z,・・・,z)である。
続いて、投票装置iは、制御部(613)の制御によって、通信部(23)を通じて、ステップS18で生成された署名ξおよび投票内容mを、匿名通信路を経由して情報公開サーバ(1)に送信する(ステップS19)。これが「電子投票」に相当する。
情報公開サーバ(1)は、情報取得部(801)によって、その通信部(13)を通じて、ステップS19で送信された署名ξおよび投票内容mを受信し、署名ξおよび投票内容mを対応付けて外部記憶装置(17)に保存記憶する(ステップS2s)。
各投票装置からも同様の電子投票が行われ、結果として、情報公開サーバ(1)の外部記憶装置(17)には、各投票装置から電子投票された投票結果が保存記憶される(図10参照)。
[開票]
続いて、開票装置(3)による電子投票の開票処理について説明する。
開票装置(3)の外部記憶装置(37)には、巡回群Gの生成元gが予め保存記憶されているとする。
開票装置(3)は、制御部(711)の制御によって、その通信部(33)を通じて、情報公開サーバ(1)にアクセスし、情報公開サーバ(1)の通信部(13)を通じて送信された(ステップS3s)、情報公開サーバ(1)の外部記憶装置(17)に記憶される全投票者(有権者)の公開鍵{y,…,y}、全公開鍵証明書{cert,・・・,cert}(これらは有権者名簿に相当する。)を受信し、これらを開票装置(3)の外部記憶装置(37)に保存記憶する。また、全投票者(有権者)の公開鍵{y,…,y}の個数nも、開票装置(3)の外部記憶装置(37)に保存記憶する(ステップS21)。
次いで、開票装置(3)の図示しない検証部(所定のプログラムを解釈実行するCPU(34)によって機能が実現する。)は、各公開鍵証明書を検証する(ステップS22)。この検証に全て合格したならば、下記の所定の処理を実行する。この検証に合格しなかったならば、取得した公開鍵の中に不正な公開鍵が含まれていることを示すものであるから、開票装置(3)は下記の処理を実行せずに終了する(ステップS23)。
なお、検証処理は、PKIにおける公知技術で達成されるから詳細な説明を省略する。また、相互に通信可能なサーバ(情報公開サーバ)−クライアント(投票装置)間で、サーバからクライアント(あるいは逆に、クライアントからサーバ)にアクセスして所定の情報(データ)を取得し、取得した情報(データ)を外部記憶装置に保存記憶することも公知技術で達成されるから、この明細書ではその詳細な説明を省略する。
まず、開票装置(3)は、制御部(711)の制御によって、その通信部(33)を通じて、情報公開サーバ(1)にアクセスし、情報公開サーバ(1)の通信部(13)を通じて送信された(ステップ4s)、情報公開サーバ(1)の外部記憶装置(17)に記憶される有効投票総数の計数処理を行う投票内容mおよびその投票内容mに対応付けられた署名を全て受信し、外部記憶装置(37)に保存記憶する(ステップS24)。ここでは、投票内容mに電子投票した投票総数(有効投票総数ではない。)をe(e≦n)とする。従って、受信する署名はe個である。
続いて、制御部(711)の制御によって、外部記憶装置(37)から、巡回群Gの生成元g、全投票者(有権者)の公開鍵{y,…,y}、投票内容m、e個の署名から1個選択した署名ξ=(A、β、z)、全投票者(有権者)の公開鍵{y,…,y}の個数nを読み込み、それぞれをRAM(35)の所定の格納領域に格納する(ステップS25)。また、制御部(711)の制御によって、RAM(35)に値vおよび値Fを格納する所定の格納領域を確保する。値vおよび値Fの初期値は0とする。
次に、h生成部(700)は、RAM(35)からn、m、yをそれぞれ読み込み、h=H(n,y,m)を演算し、この演算結果hをRAM(35)の所定の格納領域に格納する(ステップS26)。なお、hは巡回群Gの元、即ちh∈Gであることに留意する。
次に、A生成部(701)は、RAM(35)からn、m、yをそれぞれ読み込み、A=H’(n,y,m)を演算し、この演算結果AをRAM(35)の所定の格納領域に格納する(ステップS27)。なお、Aは巡回群Gの元、即ちA∈Gであることに留意する。
次に、A検証部(702)は、RAM(35)からAを読み込み、Aが巡回群Gの元であるか否かを検証する(ステップS28)。この検証に合格しなかった場合、この署名は不正な署名であるから、制御部(711)は、この署名が付与された電子投票を無効投票として計数しないで(つまり、以下の処理を実行しないで)、e個の署名から新たに1個の署名ξを選択してステップS26以降の処理を行う(ステップS45)。この検証に合格したら、制御部(711)は、以下の処理を実行するように制御する。
次に、σ生成部(703)は、RAM(35)からA、A、nをそれぞれ読み込み、σ=A(A^f)〔但しf=1,2,・・・,nとする。〕を演算し、この演算結果σ(=(σ,σ,・・・,σ))をRAM(35)の所定の格納領域に格納する(ステップS29)。このσが、臨時公開鍵に相当する。なお、σ(=(σ,σ,・・・,σ))はそれぞれ巡回群Gの元、即ちσ∈Gであることに留意する。また、ステップS29で生成されたσには固有臨時公開鍵と撹乱臨時公開鍵が含まれるが、いずれのσが署名ξをもって電子投票した投票装置において生成された固有臨時公開鍵であるかは判別できないことにも留意すること(電子投票における匿名性の確保)。
続いて、βφ検証部(704)は、RAM(35)からβφ(φ=0,1,2,・・・,n−1)をそれぞれ読み込み、各βφ(φ=0,1,2,・・・,n−1)が群Zの元であるか否かを検証する(ステップS30)。この検証に合格しなかった場合、この署名は不正な署名であるから、制御部(711)は、この署名が付与された電子投票を無効投票として計数しないで(つまり、以下の処理を実行しないで)、e個の署名から新たに1個の署名ξを選択してステップS26以降の処理を行う(ステップS45)。この検証に合格したら、制御部(711)は、以下の処理を実行するように制御する。
続いて、次数検証部(705)は、RAM(35)からn、βφ(φ=0,1,2,・・・,n−1)をそれぞれ読み込み、βφの個数がnであるか否かを検証する(ステップS31)。この検証に合格しなかった場合、この署名は不正な署名であるから、制御部(711)は、この署名が付与された電子投票を無効投票として計数しないで(つまり、以下の処理を実行しないで)、e個の署名から新たに1個の署名ξを選択してステップS26以降の処理を行う(ステップS45)。この検証に合格したら、制御部(711)は、以下の処理を実行するように制御する。
続いて、z検証部(706)は、RAM(35)からz(=(z,z,・・・,z))をそれぞれ読み込み、各z(=(z,z,・・・,z))が群Zの元であるか否かを検証する(ステップS32)。この検証に合格しなかった場合、この署名は不正な署名であるから、制御部(711)は、この署名が付与された電子投票を無効投票として計数しないで(つまり、以下の処理を実行しないで)、e個の署名から新たに1個の署名ξを選択してステップS26以降の処理を行う(ステップS45)。この検証に合格したら、制御部(711)は、以下の処理を実行するように制御する。
続いて、a’生成部(707)は、RAM(35)からn、g、βφ、z、yをそれぞれ読み込み、a’=(g^z)×(y^β(f))〔但しf=1,2,・・・,nとする。〕を演算し、この演算結果a’(=(a’,a’,・・・,a’))をRAM(35)の所定の格納領域に格納する(ステップS33)。β(f)は、読み込んだβφを用いて、β(f)=βn−1×f^(n−1)+βn−2×f^(n−2)+・・・+β×f+βによって求めることができる。なお、a’(=(a’,a’,・・・,a’))はそれぞれ巡回群Gの元、即ちa’∈Gであることに留意する。
続いて、b’生成部(708)は、RAM(35)からn、h、βφ、z、σをそれぞれ読み込み、b’=(h^z)×(σ^β(f))〔但しf=1,2,・・・,nとする。〕を演算し、この演算結果b’(=(b’,b’,・・・,b’))をRAM(35)の所定の格納領域に格納する(ステップS34)。β(f)は、読み込んだβφを用いて、β(f)=βn−1×f^(n−1)+βn−2×f^(n−2)+・・・+β×f+βによって求めることができる。なお、b’(=(b’,b’,・・・,b’))はそれぞれ巡回群Gの元、即ちb’∈Gであることに留意する。
続いて、判定部(709)は、RAM(35)からn、y、m、h、A、A、a’、b’、βφをそれぞれ読み込み、β(0)=H”(n,y,m,h,A,A,a ,b )が成立するか否かを判定し、この判定結果RをRAM(35)の所定の格納領域に格納する(ステップS35)。この判定が成立しなかった場合(判定不成立)、この署名は不正な署名であるから、制御部(711)は、この署名が付与された電子投票を無効投票として計数しないで(つまり、以下の処理を実行しないで)、e個の署名から新たに1個の署名ξを選択してステップS以降の処理を行う。この判定が成立した場合(判定成立)、制御部(711)は、以下の処理を実行するように制御する。
続いて、カウンタ部(710)は、RAM(35)からvを読み込み、この値に1を加えた値v+1を、RAM(35)の値vが格納されている格納領域に上書きで格納する(ステップS36)。ここで上書きとは、予め格納されている値を消除して新たな値を格納することをいう。
続いて、フラッグ部(712)は、フラッグ値F=1をRAM(35)の値Fが格納されている格納領域に上書きで格納する(ステップS37)。
制御部(711)の制御によって、以上の処理で求められた値Fおよびσを、外部記憶装置(37)に保存記憶される署名ξに対応付けて保存記憶する(ステップS38)。なお、ステップS37の処理が実行されなかった署名ξには、フラッグ値F=0が対応付けられる。
以上の処理をe個の署名全てについて行うことで(ステップS39)、投票内容mに対応付けられたe個の署名のうち、有権者による投票の総数を計数することができる。つまり、e個の署名全てについて以上の処理を行った後に、RAM(35)の所定の格納領域に格納されているvの値が、有権者による(投票内容mの)投票の総数を表している。そこで、制御部(711)の制御によって、以上の処理で求められた値vを、外部記憶装置(37)に保存記憶する(ステップS40)。
続いて、重複投票の有無を検証する処理を行う。
ステップS29で生成されたσには固有臨時公開鍵と撹乱臨時公開鍵が含まれるが、この固有臨時公開鍵は投票装置(投票者)に固有のものであるから、複数の署名に同一の固有臨時公開鍵が含まれないことを利用する(もし、同一の固有臨時公開鍵が含まれれば、重複投票と看做すことができる。)。なお、既述のとおり、いずれのσが投票装置(投票者)に固有の固有臨時公開鍵であるかは不明であるが、投票装置iから電子投票された署名から求められたσにおいては、i番目のσが固有臨時公開鍵であるから、各署名から求められたσそれぞれのi番目のσの値を比較し、同一の値が存在すれば、この同一値を与えるσを含むσを生成した署名は不正な電子投票に基づくものとして、計数から除外することが可能になる(電子投票における一人一票の確保)。
まず、制御部(711)の制御によって、値F=1が対応付けられた署名に対応付けられたσを外部記憶装置(37)から読み込み、RAM(35)の所定の格納領域に格納する。また、制御部(711)の制御によって、値vも外部記憶装置(37)から読み込み、RAM(35)の所定の格納領域に格納する(ステップS41)。ここでは説明の便宜から、投票内容mに対応付けられたe個の署名をξ、ξ、ξ、ξ、ξ10、ξ17、・・・とし、このうち値F=1が対応付けられた署名をξ、ξ、ξ、ξ17、・・・とする。また、値F=1が対応付けられた署名に対応付けられたσをσ(ξ)、σ(ξ)、σ(ξ)、σ(ξ17)、・・・とする。
次に、重複投票検証部(713)は、RAM(35)からσ(ξ)、σ(ξ)、σ(ξ)、σ(ξ17)、・・・およびvを読み込み、f=1,2,・・・,nについて、σ(ξ)、σ(ξ)、σ(ξ)、σ(ξ17)、・・・に同一の値が存在するか否かを検証し、同一の値が存在する場合、その値が存在するσの数(τ)を計数する(ステップS42)。重複投票検証部(713)は、v−τを求めて、この値をRAM(35)の値vが格納されている格納領域に上書きで格納する(ステップS43)。
制御部(711)の制御によって、以上の処理で求められた値vを、外部記憶装置(37)に保存記憶する。この値vが、重複投票による無効投票を排除した、有権者による(投票内容mに対する)電子投票の有効投票総数を表している。
以上の処理を、各投票内容m,m,・・・,mについて行うことで、各投票内容に対する有効投票総数を計数できる。
開票装置(3)は、制御部(711)の制御によって、その通信部(33)を通じて、情報公開サーバ(1)に対し、計数された各投票内容に対する有効投票総数を送信する。情報公開サーバ(1)は、開票装置(3)から各投票内容に対する有効投票総数を受信し、この各投票内容に対する有効投票総数を外部記憶装置(17)に保存記憶する。
結果、各投票装置は、情報公開サーバに対してアクセスすることで、開票結果(各投票内容に対する有効投票総数)を取得することが可能になる。
<第2実施形態>
次に、本発明の第2実施形態について、図15から図20を参照しながら説明する。
第1実施形態では、多項式β(x)の係数を用いた電子投票・開票処理を行ったが、第2実施形態では、多項式の係数を用いない電子投票・開票処理を説明する。これにより、電子投票における署名生成処理・開票における検証処理の演算量を低減することができる。
なお、第2実施形態では、第1実施形態と同一の機能・処理については同一の符号を与えるなどして説明を省略する。
図15は、第2実施形態における投票装置(2’)の機能構成例を示す図である。
図16は、投票装置(2’)における処理フローを示す図である(その1)。
図17は、投票装置(2’)における処理フローを示す図である(その2)。
図18は、第2実施形態における開票装置(3)の機能構成例を示す図である。
図19は、開票装置(3’)における処理フローを示す図である(その1)。
図20は、開票装置(3’)における処理フローを示す図である(その2)。
[投票装置]
第2実施形態における投票装置(2’)について説明する。
第2実施形態に係わる投票装置(2’)の外部記憶装置(27)には、電子投票のためのプログラムおよびこのプログラムの処理において必要となるデータなどが保存記憶されている。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に保存記憶される。
第2実施形態に係わる投票装置(2’)の外部記憶装置(27)〔あるいはROMなど〕には、値βφを生成するプログラムに替えて値cを生成するためのプログラムが保存記憶されている。その他のプログラムは第1実施形態と同様である。
第2実施形態に係わる投票装置(2’)では、外部記憶装置(27)〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAM(25)に読み込まれて、CPU(24)で解釈実行・処理される。その結果、CPU(24)が所定の機能(h生成部、σ生成部、σ生成部、A生成部、A生成部、a生成部、b生成部、a生成部、b生成部、z生成部、c生成部、元選択部、署名生成部、制御部)を実現することで、電子投票における投票が実現される。
[開票装置]
第2実施形態における開票装置について説明する。
第2実施形態に係わる開票装置(3’)の外部記憶装置(37)〔あるいはROMなど〕には、βφを検証するためのプログラム、βφの個数を検証するためのプログラム、βφ(φ=0)と所定の値との一致を判定するためのプログラムに替えて、元cを検証するためのプログラム、元cと所定の値との一致を判定するためのプログラムが保存記憶されている。
開票装置(3’)では、外部記憶装置(37)〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAM(35)に読み込まれて、CPU(34)で解釈実行・処理される。その結果、CPU(34)が所定の機能(h生成部、σ生成部、A生成部、a’生成部、b’生成部、z検証部、c検証部、A検証部、判定部、カウンタ部、フラッグ部、重複投票検証部、制御部)を実現することで、電子投票における開票が実現される。
[投票]
第1実施形態のステップS1からステップS15までは同じ処理を行う。
第1実施形態における投票装置iのステップS16では、βφ生成部(610)が、次数(n−1)の多項式β(x)∈Z[x]の係数βφ(φ=0,1,2,・・・,n−1)を求めたが、第2実施形態では、c生成部(615)がcを求める。即ち、c生成部(615)は、RAM(25)からn、y、m、h、A、A、a、a、b、b、cをそれぞれ読み込み、式(1)の演算を行い、この演算結果cをRAM(25)の所定の格納領域に格納する(ステップS16’)。ここで、j∈N−{i}、即ちj=1,2,・・・,i−1,i+1,・・・,nであり、aは、a=(a,a,・・・,a)であり、bは、b=(b,b,・・・,b)であるとする。なお、cは群Zの元、即ちc∈Zであることに留意する。
Figure 0004630144
第1実施形態における投票装置iのステップS17では、z生成部(611)が、z=w−β(i)×xを演算し、この演算結果zを求めたが、第2実施形態では、z生成部(616)が第1実施形態とは異なるzを求める。即ち、z生成部(616)は、RAM(25)からw、x、cをそれぞれ読み込み、z=w−c×xを演算し、この演算結果zをRAM(25)の所定の格納領域に格納する(ステップS17’)。なお、zは群Zの元、即ちz∈Zであることに留意する。
第1実施形態における投票装置iのステップS18では、署名生成部(612)が、A、z、z、βφの組み合わせを、投票装置iにおける投票内容mに対する署名ξとしたが、第2実施形態では、署名生成部(617)が第1実施形態とは異なる署名を求める。即ち、署名生成部(617)は、RAM(25)からA、m、z、z、c、cをそれぞれ読み込み、このうち、A、z、z、c、cの組み合わせを、投票装置iにおける投票内容mに対する署名ξとする(ステップS18’)。即ち、ξ=(A、c、z)とする。ここでzは、z=(z,z,・・・,z)、cは、c=(c,c,・・・,c)である。ステップS18’以降は、第1実施形態と同様の処理を行う。
[開票]
第1実施形態のステップS20からステップS23までは同じ処理を行う。
第1実施形態における開票装置(3)のステップS24では、制御部(711)の制御によって、外部記憶装置(37)から、巡回群Gの生成元g、全投票者(有権者)の公開鍵{y,…,y}、投票内容m、e個の署名から1個選択した署名ξ=(A、β、z)、全投票者(有権者)の公開鍵{y,…,y}の個数nを読み込み、それぞれをRAM(35)の所定の格納領域に格納したが、第2実施形態では、制御部(711)の制御によって、外部記憶装置(37)から、巡回群Gの生成元g、全投票者(有権者)の公開鍵{y,…,y}、投票内容m、e個の署名から1個選択した署名ξ=(A、c、z)、全投票者(有権者)の公開鍵{y,…,y}の個数nを読み込み、それぞれをRAM(35)の所定の格納領域に格納する(ステップS24’)。
ステップS24’以降は、第1実施形態におけるステップS25からステップS29までと同様の処理を行う。
第1実施形態における開票装置(3)のステップS30では、βφ検証部(704)が、RAM(35)からβφ(φ=0,1,2,・・・,n−1)をそれぞれ読み込み、各βφ(φ=0,1,2,・・・,n−1)が群Zの元であるか否かを検証したが、第2実施形態では不要の処理となる。
また、第1実施形態における開票装置(3)のステップS31では、次数検証部(705)は、RAM(35)からn、βφ(φ=0,1,2,・・・,n−1)をそれぞれ読み込み、βφの個数がnであるか否かを検証したが、第2実施形態では不要の処理となる。
第2実施形態では、ステップS32に続き、c検証部(715)が、RAM(35)からc(=(c,c,・・・,c))をそれぞれ読み込み、各c(=(c,c,・・・,c))が群Zの元であるか否かを検証する(ステップS32a)。この検証に合格しなかった場合、この署名は不正な署名であるから、制御部(711)は、この署名が付与された電子投票を無効投票として計数しないで(つまり、以下の処理を実行しないで)、e個の署名から新たに1個の署名ξを選択してステップS26以降の処理を行い(ステップS45)、この検証に合格したら、制御部(711)は、以下の処理を実行するように制御することは第1実施形態と同様である。
第1実施形態における開票装置(3)のステップS33では、a’生成部(707)がa’を求めたが、第2実施形態では、第1実施形態と異なるa’を求める。即ち、a’生成部(716)は、RAM(35)からn、g、c、z、yをそれぞれ読み込み、a’=(g^z)×(y^c)〔但しf=1,2,・・・,nとする。〕を演算し、この演算結果a’(=(a’,a’,・・・,a’))をRAM(35)の所定の格納領域に格納する(ステップS33’)。なお、a’(=(a’,a’,・・・,a’))はそれぞれ巡回群Gの元、即ちa’∈Gであることに留意する。
第1実施形態における開票装置(3)のステップS34では、b’生成部(708)がb’を求めたが、第2実施形態では、第1実施形態と異なるb’を求める。即ち、b’生成部(717)は、RAM(35)からn、h、c、z、σをそれぞれ読み込み、b’=(h^z)×(σ^c)〔但しf=1,2,・・・,nとする。〕を演算し、この演算結果b’(=(b’,b’,・・・,b’))をRAM(35)の所定の格納領域に格納する(ステップS34’)。なお、b’(=(b’,b’,・・・,b’))はそれぞれ巡回群Gの元、即ちb’∈Gであることに留意する。
第1実施形態における開票装置(3)のステップS35では、判定部(709)が、β(0)=H”(n,y,m,h,A,A,a,b)が成立するか否かを判定したが、第2実施形態では異なる判定を行う。即ち、判定部(718)は、RAM(35)からn、y、m、h、A、A、a’、b’、cをそれぞれ読み込み、式(2)が成立するか否かを判定し、この判定結果RをRAM(35)の所定の格納領域に格納する(ステップS35’)。この判定が成立しなかった場合(判定不成立)、この署名は不正な署名であるから、制御部(711)は、この署名が付与された電子投票を無効投票として計数しないで(つまり、以下の処理を実行しないで)、e個の署名から新たに1個の署名ξを選択してステップS26以降の処理を行い(ステップS45)、この判定が成立した場合(判定成立)、制御部(711)は、以下の処理を実行するように制御することは第1実施形態と同様である。ステップS35’以降は、第1実施形態と同様の処理を行う。
Figure 0004630144
本発明である電子投票装置、開票装置、情報公開サーバ、電子投開票システム・方法は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、署名生成方法や投票署名の検証方法は適宜に変更可能である。また、上記電子投開票システム・方法において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
また、上記電子投票装置、開票装置、情報公開サーバにおける処理機能をコンピュータによって実現する場合、電子投票装置、開票装置、情報公開サーバが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記電子投票装置、開票装置、情報公開サーバにおける処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、電子投票装置、開票装置、情報公開サーバを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
本発明は電子投開票に有用である。
第1実施形態に係わる情報公開サーバ(1)のハードウェア構成を例示した構成ブロック図。 第1実施形態に係わる投票装置(2)のハードウェア構成を例示した構成ブロック図である。 第1実施形態に係わる開票装置(3)のハードウェア構成を例示した構成ブロック図。 第1実施形態の電子投票システムにおけるネットワーク構成を示す図(但し、電子投票が行われる前の状態を示している。)。 情報公開サーバ(1)における処理フローを示す図。 投票装置(2)の機能構成例を示す図。 投票装置(2)における処理フローを示す図(その1)。 投票装置(2)における処理フローを示す図(その2)。 電子投票後における状態を示す図。 開票装置(3)の機能構成例を示す図。 開票装置(3)における処理フローを示す図(その1)。 開票装置(3)における処理フローを示す図(その2)。 開票装置(3)において重複投票を検証する処理における機能構成を例示した図。 開票装置(3)において重複投票を検証する処理フローを示す図。 第2実施形態における投票装置(2’)の機能構成例を示す図。 投票装置(2’)における処理フローを示す図(その1)。 投票装置(2’)における処理フローを示す図(その2)。 第2実施形態における開票装置(3)の機能構成例を示す図。 開票装置(3’)における処理フローを示す図(その1)。 開票装置(3’)における処理フローを示す図(その2)。
符号の説明
1 情報公開サーバ
2 投票装置
3 開票装置
4 CA(認証局)
5 ネットワーク
601 σ生成部
603 A生成部
604 σ生成部
612 署名生成部
702 A検証部
703 σ生成部
709 判定部
710 カウンタ部

Claims (10)

  1. 巡回群Gの生成元をgとし、投票者総数をnとし、投票者i(1≦i≦n)の秘密鍵x を群Z の元とし、投票者i(1≦i≦n)の公開鍵をy =g^x とし、H,H’,H”をそれぞれハッシュ関数とし、投票内容mと全投票者の公開鍵y ={y ,…,y }が記憶されている情報公開サーバに対して電子投票を行う電子投票装置であって、
    投票者に固有の秘密鍵 を記憶する記憶手段と、
    上記情報公開サーバから、投票内容mと全投票者の公開鍵 ={y ,…,y }を受信する受信手段と、
    投票者iに固有の固有臨時公開鍵σ =H(n,y ,m)^x を求める固有臨時公開鍵生成手段と、
    撹乱因子A =(σ /H’(n,y ,m))^(1/i)を求める撹乱因子生成手段と、
    n−1個の撹乱臨時公開鍵σ =H’(n,y ,m)(A ^j)[j∈{1,…,n}−{i}]を求める撹乱臨時公開鍵生成手段と、
    任意に選択した元w ∈Z についてa =g^w とb =H(n,y ,m)^w を求め、各j[j∈{1,…,n}−{i}]について任意に選択した2つの元z 、c ∈Z を用いて、a =(g^z )×(y ^c )とb =(H(n,y ,m)^z )×(σ ^c )を求め、β(0)=H”(n,y ,m,H(n,y ,m),H’(n,y ,m),A ,a ,a ,…,a ,b ,b ,…,b )、β(j)=c [j∈{1,…,n}−{i}]を満たす次数(n−1)の多項式β(x)=β n−1 x^(n−1)+β n−2 x^(n−2)+…+β x+β ∈Z [x]の係数β φ (φ=0,1,2,…,n−1)を求め、さらに、z =w −β(i)×x を求め、ξ =(A ,β ,β ,…,β n−1 ,z ,z ,…,z )を投票内容mに対する署名とする署名情報生成手段と、
    投票内容mおよび当該投票内容mに対する署名ξ を電子投票として上記情報公開サーバに送信する送信手段と
    を備えた電子投票装置。
  2. 巡回群Gの生成元をgとし、投票者総数をnとし、投票者i(1≦i≦n)の秘密鍵x を群Z の元とし、投票者i(1≦i≦n)の公開鍵をy =g^x とし、H,H’,H”をそれぞれハッシュ関数とし、投票内容mと全投票者の公開鍵y ={y ,…,y }が記憶されている情報公開サーバに対して電子投票を行う電子投票装置であって、
    投票者に固有の秘密鍵 を記憶する記憶手段と、
    上記情報公開サーバから、投票内容mと全投票者の公開鍵 ={y ,…,y を受信する受信手段と、
    投票者iに固有の固有臨時公開鍵σ =H(n,y ,m)^x を求める固有臨時公開鍵生成手段と、
    撹乱因子A =(σ /H’(n,y ,m))^(1/i)を求める撹乱因子生成手段と、
    n−1個の撹乱臨時公開鍵σ =H’(n,y ,m)(A ^j)[j∈{1,…,n}−{i}]を求める撹乱臨時公開鍵生成手段と、
    任意に選択した元w ∈Z についてa =g^w とb =H(n,y ,m)^w を求め、各j[j∈{1,…,n}−{i}]について任意に選択した2つの元z 、c ∈Z を用いて、a =(g^z )×(y ^c )とb =(H(n,y ,m)^z )×(σ ^c )を求め、c =H”(n,y ,m,H(n,y ,m),H’(n,y ,m),A ,a ,a ,…,a ,b ,b ,…,b )−Σ j∈{1,…,n}-{i} j を求め、さらに、z =w −c ×x を求め、ξ =(A ,c ,c ,…,c ,z ,z ,…,z )を投票内容mに対する署名とする署名情報生成手段と、
    投票内容mおよび当該投票内容mに対する署名ξ を電子投票として上記情報公開サーバに送信する送信手段と
    を備えた電子投票装置。
  3. 巡回群Gの生成元をgとし、投票者総数をnとし、投票者i(1≦i≦n)の公開鍵をy =g^x とし、H,H’,H”をそれぞれハッシュ関数とし、投票内容mと全投票者の公開鍵y ={y ,…,y }と請求項1に記載の電子投票装置から送信された投票内容mに対する署名(以下、投票署名という)ξ =(A ,β ,β ,…,β n−1 ,z ,z ,…,z )とが記憶されている情報公開サーバから、少なくとも全投票者の公開鍵y ={y ,…,y }および投票内容mに対する全ての投票署名ξ ,…,ξ (e≦n)を受信して、投票内容mに関する開票を行う開票装置であって、
    上記情報公開サーバから、少なくとも全投票者の公開鍵 ={y ,…,y および投票内容に対する全ての投票署名ξ ,…,ξ を受信する受信手段と、
    各投票署名ξ ,…,ξ についてσ =H’(n,y ,m)(A ^f)[f=1,2,…,n]を求める臨時公開鍵生成手段と、
    各投票署名ξ ,…,ξ について、β(x)=β n−1 x^(n−1)+β n−2 x^(n−2)+…+β x+β として、a’ =(g^z )×(y ^β(f))[f=1,2,…,n]とb’ =(H(n,y ,m)^z )×(σ ^β(f))[f=1,2,…,n]を求め、β(0)=H”(n,y ,m,H(n,y ,m),H’(n,y ,m),A ,a’ ,a’ ,…,a’ ,b’ ,b’ ,…,b’ )が成立するか否かを判定する検証手段と、
    上記判定に合格した投票署名の数を計数し、さらに、上記判定に合格した投票署名に対応する各{σ ,…,σ }を比較して同一の値が含まれる投票署名を重複投票とし、当該重複投票の数τを上記計数結果vから引いて得られるv−τを有効投票総数とする計数手段と
    を備えた開票装置。
  4. 巡回群Gの生成元をgとし、投票者総数をnとし、投票者i(1≦i≦n)の公開鍵をy =g^x とし、H,H’,H”をそれぞれハッシュ関数とし、投票内容mと全投票者の公開鍵y ={y ,…,y }と請求項2に記載の電子投票装置から送信された投票内容mに対する署名(以下、投票署名という)ξ =(A ,c ,c ,…,c ,z ,z ,…,z )とが記憶されている情報公開サーバから、少なくとも全投票者の公開鍵y ={y ,…,y }および投票内容mに対する全ての投票署名ξ ,…,ξ (e≦n)を受信して、投票内容mに関する開票を行う開票装置であって、
    上記情報公開サーバから、少なくとも全投票者の公開鍵 ={y ,…,y および投票内容に対する全ての投票署名ξ ,…,ξ を受信する受信手段と
    各投票署名ξ ,…,ξ についてσ =H’(n,y ,m)(A ^f)[f=1,2,…,n]を求める臨時公開鍵生成手段と、
    各投票署名ξ ,…,ξ について、a’ =(g^z )×(y ^c )[f=1,2,…,n]とb’ =(H(n,y ,m)^z )×(σ ^c )[f=1,2,…,n]を求め、Σ j∈{1,…,n} j =H”(n,y ,m,H(n,y ,m),H’(n,y ,m),A ,a’ ,a’ ,…,a’ ,b’ ,b’ ,…,b’ )が成立するか否かを判定する検証手段と、
    上記判定に合格した投票署名の数を計数し、さらに、上記判定に合格した投票署名に対応する各{σ ,…,σ }を比較して同一の値が含まれる投票署名を重複投票とし、当該重複投票の数τを上記計数結果vから引いて得られるv−τを有効投票総数とする計数手段と
    を備えた開票装置。
  5. 子投票装置と、開票装置と、情報公開サーバとを含む電子投開票システムであって
    巡回群Gの生成元をgとし、投票者総数をnとし、投票者i(1≦i≦n)の秘密鍵x を群Z の元とし、投票者i(1≦i≦n)の公開鍵をy =g^x とし、H,H’,H”をそれぞれハッシュ関数とし、
    記情報公開サーバ
    投票内容mと全投票者の公開鍵 ={y ,…,y }、投票内容に対する署名(以下、投票署名という)を記憶可能な記憶手段と、
    上記電子投票装置に対して、上記情報公開サーバの記憶手段に記憶される投票内容mと全投票者の公開鍵 ={y ,…,y を送信可能な対電子投票装置送信手段と、
    上記電子投票装置から送信された投票署名を受信可能な対電子投票装置受信手段と、
    上記開票装置に対して、少なくとも、上記情報公開サーバの記憶手段に記憶される全投票者の公開鍵 ={y ,…,y および投票内容に対する全ての投票署名を送信可能な対開票装置送信手段と
    を備えており
    記電子投票装置
    投票者に固有の秘密鍵 を記憶する記憶手段と、
    上記情報公開サーバから、投票内容mと全投票者の公開鍵 ={y ,…,y }を受信する受信手段と、
    投票者iに固有の固有臨時公開鍵σ =H(n,y ,m)^x を求める固有臨時公開鍵生成手段と、
    撹乱因子A =(σ /H’(n,y ,m))^(1/i)を求める撹乱因子生成手段と、
    n−1個の撹乱臨時公開鍵σ =H’(n,y ,m)(A ^j)[j∈{1,…,n}−{i}]を求める撹乱臨時公開鍵生成手段と、
    任意に選択した元w ∈Z についてa =g^w とb =H(n,y ,m)^w を求め、各j[j∈{1,…,n}−{i}]について任意に選択した2つの元z 、c ∈Z を用いて、a =(g^z )×(y ^c )とb =(H(n,y ,m)^z )×(σ ^c )を求め、β(0)=H”(n,y ,m,H(n,y ,m),H’(n,y ,m),A ,a ,a ,…,a ,b ,b ,…,b )、β(j)=c [j∈{1,…,n}−{i}]を満たす次数(n−1)の多項式β(x)=β n−1 x^(n−1)+β n−2 x^(n−2)+…+β x+β ∈Z [x]の係数β φ (φ=0,1,2,…,n−1)を求め、さらに、z =w −β(i)×x を求め、ξ =(A ,β ,β ,…,β n−1 ,z ,z ,…,z )を投票内容mに対する署名とする署名情報生成手段と、
    投票内容mおよび当該投票内容mに対する署名ξ を電子投票として上記情報公開サーバに送信する送信手段と
    を備えており
    記開票装置
    電子投票後に投票内容mに対する全ての投票署名ξ ,…,ξ (e≦n)を記憶する上記情報公開サーバから、少なくとも全投票者の公開鍵 ={y ,…,y および投票内容に対する全ての投票署名ξ ,…,ξ を受信する受信手段と、
    各投票署名ξ ,…,ξ についてσ =H’(n,y ,m)(A ^f)[f=1,2,…,n]を求める臨時公開鍵生成手段と、
    各投票署名ξ ,…,ξ について、β(x)=β n−1 x^(n−1)+β n−2 x^(n−2)+…+β x+β として、a’ =(g^z )×(y ^β(f))[f=1,2,…,n]とb’ =(H(n,y ,m)^z )×(σ ^β(f))[f=1,2,…,n]を求め、β(0)=H”(n,y ,m,H(n,y ,m),H’(n,y ,m),A ,a’ ,a’ ,…,a’ ,b’ ,b’ ,…,b’ )が成立するか否かを判定する検証手段と、
    上記判定に合格した投票署名の数を計数し、さらに、上記判定に合格した投票署名に対応する各{σ ,…,σ }を比較して同一の値が含まれる投票署名を重複投票とし、当該重複投票の数τを上記計数結果vから引いて得られるv−τを有効投票総数とする計数手段と
    を備えている
    子投開票システム。
  6. 子投票装置と、開票装置と、情報公開サーバとを含む電子投開票システムであって
    巡回群Gの生成元をgとし、投票者総数をnとし、投票者i(1≦i≦n)の秘密鍵x を群Z の元とし、投票者i(1≦i≦n)の公開鍵をy =g^x とし、H,H’,H”をそれぞれハッシュ関数とし、
    記情報公開サーバ
    投票内容mと全投票者の公開鍵 ={y ,…,y }、投票内容に対する署名(以下、投票署名という)を記憶可能な記憶手段と、
    上記電子投票装置に対して、上記情報公開サーバの記憶手段に記憶される投票内容mと全投票者の公開鍵 ={y ,…,y を送信可能な対電子投票装置送信手段と、
    上記電子投票装置から送信された投票署名を受信可能な対電子投票装置受信手段と、
    上記開票装置に対して、少なくとも、上記情報公開サーバの記憶手段に記憶される全投票者の公開鍵 ={y ,…,y および投票内容に対する全ての投票署名を送信可能な対開票装置送信手段と
    を備えており
    記電子投票装置
    投票者に固有の秘密鍵 を記憶する記憶手段と、
    上記情報公開サーバから、投票内容mと全投票者の公開鍵 ={y ,…,y を受信する受信手段と、
    投票者iに固有の固有臨時公開鍵σ =H(n,y ,m)^x を求める固有臨時公開鍵生成手段と、
    撹乱因子A =(σ /H’(n,y ,m))^(1/i)を求める撹乱因子生成手段と、
    n−1個の撹乱臨時公開鍵σ =H’(n,y ,m)(A ^j)[j∈{1,…,n}−{i}]を求める撹乱臨時公開鍵生成手段と、
    任意に選択した元w ∈Z についてa =g^w とb =H(n,y ,m)^w を求め、各j[j∈{1,…,n}−{i}]について任意に選択した2つの元z 、c ∈Z を用いて、a =(g^z )×(y ^c )とb =(H(n,y ,m)^z )×(σ ^c )を求め、c =H”(n,y ,m,H(n,y ,m),H’(n,y ,m),A ,a ,a ,…,a ,b ,b ,…,b )−Σ j∈{1,…,n}-{i} j を求め、さらに、z =w −c ×x を求め、ξ =(A ,c ,c ,…,c ,z ,z ,…,z )を投票内容mに対する署名とする署名情報生成手段と、
    投票内容mおよび当該投票内容mに対する署名ξ を電子投票として上記情報公開サーバに送信する送信手段と
    を備えており
    記開票装置は、
    電子投票後に投票内容mに対する全ての投票署名ξ ,…,ξ (e≦n)を記憶する上記情報公開サーバから、少なくとも全投票者の公開鍵 ={y ,…,y および投票内容に対する全ての投票署名ξ ,…,ξ を受信する受信手段と、
    各投票署名ξ ,…,ξ についてσ =H’(n,y ,m)(A ^f)[f=1,2,…,n]を求める臨時公開鍵生成手段と、
    各投票署名ξ ,…,ξ について、a’ =(g^z )×(y ^c )[f=1,2,…,n]とb’ =(H(n,y ,m)^z )×(σ ^c )[f=1,2,…,n]を求め、Σ j∈{1,…,n} j =H”(n,y ,m,H(n,y ,m),H’(n,y ,m),A ,a’ ,a’ ,…,a’ ,b’ ,b’ ,…,b’ )が成立するか否かを判定する検証手段と、
    上記判定に合格した投票署名の数を計数し、さらに、上記判定に合格した投票署名に対応する各{σ ,…,σ }を比較して同一の値が含まれる投票署名を重複投票とし、当該重複投票の数τを上記計数結果vから引いて得られるv−τを有効投票総数とする計数手段と
    を備えている
    子投開票システム。
  7. 子投票装置と、開票装置と、情報公開サーバとを含む電子投開票システムにおける電子投票方法であって
    巡回群Gの生成元をgとし、投票者総数をnとし、投票者i(1≦i≦n)の秘密鍵x を群Z の元とし、投票者i(1≦i≦n)の公開鍵をy =g^x とし、H,H’,H”をそれぞれハッシュ関数とし、
    上記情報公開サーバの対電子投票装置送信手段が、上記電子投票装置に対して、上記情報公開サーバの記憶手段に記憶される投票内容mと全投票者の公開鍵 ={y ,…,y を送信する対電子投票装置送信ステップと、
    上記電子投票装置の受信手段が、上記対電子投票装置送信ステップにおいて送信された投票内容mと全投票者の公開鍵 ={y ,…,y を受信する電子投票装置受信ステップと、
    上記電子投票装置の固有臨時公開鍵生成手段が、投票者iに固有の固有臨時公開鍵σ =H(n,y ,m)^x を求める固有臨時公開鍵生成ステップと、
    上記電子投票装置の撹乱因子生成手段が、撹乱因子A =(σ /H’(n,y ,m))^(1/i)を求める撹乱因子生成ステップと、
    上記電子投票装置の撹乱臨時公開鍵生成手段が、n−1個の撹乱臨時公開鍵σ =H’(n,y ,m)(A ^j)[j∈{1,…,n}−{i}]を求める撹乱臨時公開鍵生成ステップと、
    上記電子投票装置の署名情報生成手段が、任意に選択した元w ∈Z についてa =g^w とb =H(n,y ,m)^w を求め、各j[j∈{1,…,n}−{i}]について任意に選択した2つの元z 、c ∈Z を用いて、a =(g^z )×(y ^c )とb =(H(n,y ,m)^z )×(σ ^c )を求め、β(0)=H”(n,y ,m,H(n,y ,m),H’(n,y ,m),A ,a ,a ,…,a ,b ,b ,…,b )、β(j)=c [j∈{1,…,n}−{i}]を満たす次数(n−1)の多項式β(x)=β n−1 x^(n−1)+β n−2 x^(n−2)+…+β x+β ∈Z [x]の係数β φ (φ=0,1,2,…,n−1)を求め、さらに、z =w −β(i)×x を求め、ξ =(A ,β ,β ,…,β n−1 ,z ,z ,…,z )を投票内容mに対する署名とする署名情報生成ステップと、
    上記電子投票装置の送信手段が、投票内容mおよび当該投票内容mに対する上記署名(以下、投票署名というξ =(A ,β ,β ,…,β n−1 ,z ,z ,…,z 電子投票として上記情報公開サーバに送信する対情報公開サーバ送信ステップと、
    上記情報公開サーバの対電子投票装置受信手段が、上記対情報公開サーバ送信ステップにおいて送信された投票署名ξ =(A ,β ,β ,…,β n−1 ,z ,z ,…,z を受信する対電子投票装置受信ステップと、
    上記情報公開サーバの記憶手段が、投票内容mに対する電子投票として受信した投票署名ξ ,…,ξ (e≦n)を記憶する情報公開サーバ記憶ステップと、
    上記情報公開サーバの対開票装置送信手段が、上記開票装置に対して、少なくとも、投票者の公開鍵 ={y ,…,y および投票内容に対する全ての投票署名ξ ,…,ξ を送信する対開票装置送信ステップと、
    上記開票装置の受信手段が、上記対開票装置送信ステップにおいて送信された全投票者の公開鍵 ={y ,…,y および投票内容に対する全ての投票署名ξ ,…,ξ を受信する開票装置受信ステップと、
    上記開票装置の臨時公開鍵生成手段が、各投票署名ξ ,…,ξ についてσ =H’(n,y ,m)(A ^f)[f=1,2,…,n]を求める臨時公開鍵生成ステップと、
    上記開票装置の検証手段が、各投票署名ξ ,…,ξ について、β(x)=β n−1 x^(n−1)+β n−2 x^(n−2)+…+β x+β として、a’ =(g^z )×(y ^β(f))[f=1,2,…,n]とb’ =(H(n,y ,m)^z )×(σ ^β(f))[f=1,2,…,n]を求め、β(0)=H”(n,y ,m,H(n,y ,m),H’(n,y ,m),A ,a’ ,a’ ,…,a’ ,b’ ,b’ ,…,b’ )が成立するか否かを判定する検証ステップと、
    上記開票装置の計数手段が、上記判定に合格した投票署名の数を計数し、さらに、上記判定に合格した投票署名に対応する各{σ ,…,σ }を比較して同一の値が含まれる投票署名を重複投票とし、当該重複投票の数τを上記計数結果vから引いて得られるv−τを有効投票総数とする計数ステップと
    を有する電子投開票方法。
  8. 子投票装置と、開票装置と、情報公開サーバとを含む電子投開票システムにおける電子投票方法であって
    巡回群Gの生成元をgとし、投票者総数をnとし、投票者i(1≦i≦n)の秘密鍵x を群Z の元とし、投票者i(1≦i≦n)の公開鍵をy =g^x とし、H,H’,H”をそれぞれハッシュ関数とし、
    上記情報公開サーバの対電子投票装置送信手段が、上記電子投票装置に対して、上記情報公開サーバの記憶手段に記憶される投票内容mと全投票者の公開鍵 ={y ,…,y を送信する対電子投票装置送信ステップと、
    上記電子投票装置の受信手段が、上記対電子投票装置送信ステップにおいて送信された投票内容mと全投票者の公開鍵 ={y ,…,y を受信する電子投票装置受信ステップと、
    上記電子投票装置の固有臨時公開鍵生成手段が、投票者iに固有の固有臨時公開鍵σ =H(n,y ,m)^x を求める固有臨時公開鍵生成ステップと、
    上記電子投票装置の撹乱因子生成手段が、撹乱因子A =(σ /H’(n,y ,m))^(1/i)を求める撹乱因子生成ステップと、
    上記電子投票装置の撹乱臨時公開鍵生成手段が、n−1個の撹乱臨時公開鍵σ =H’(n,y ,m)(A ^j)[j∈{1,…,n}−{i}]を求める撹乱臨時公開鍵生成ステップと、
    上記電子投票装置の署名情報生成手段が、任意に選択した元w ∈Z についてa =g^w とb =H(n,y ,m)^w を求め、各j[j∈{1,…,n}−{i}]について任意に選択した2つの元z 、c ∈Z を用いて、a =(g^z )×(y ^c )とb =(H(n,y ,m)^z )×(σ ^c )を求め、c =H”(n,y ,m,H(n,y ,m),H’(n,y ,m),A ,a ,a ,…,a ,b ,b ,…,b )−Σ j∈{1,…,n}-{i} j を求め、さらに、z =w −c ×x を求め、ξ =(A ,c ,c ,…,c ,z ,z ,…,z )を投票内容mに対する署名とする署名情報生成ステップと、
    上記電子投票装置の送信手段が、投票内容mおよび当該投票内容mに対する上記署名(以下、投票署名というξ =(A ,c ,c ,…,c ,z ,z ,…,z 電子投票として上記情報公開サーバに送信する対情報公開サーバ送信ステップと、
    上記情報公開サーバの対電子投票装置受信手段が、上記対情報公開サーバ送信手段において送信された投票署名ξ =(A ,c ,c ,…,c ,z ,z ,…,z を受信する対電子投票装置受信ステップと、
    上記情報公開サーバの記憶手段が、投票内容mに対する電子投票として受信した投票署名ξ ,…,ξ (e≦n)を記憶する記憶ステップと、
    上記情報公開サーバの対開票装置送信手段が、上記開票装置に対して、少なくとも、投票者の公開鍵 ={y ,…,y および投票内容に対する全ての投票署名ξ ,…,ξ を送信する対開票装置送信ステップと、
    上記開票装置の受信手段が、上記対開票装置送信ステップにおいて送信された全投票者の公開鍵 ={y ,…,y および投票内容に対する全ての投票署名ξ ,…,ξ を受信する開票装置受信ステップと、
    上記開票装置の臨時公開鍵生成手段が、各投票署名ξ ,…,ξ についてσ =H’(n,y ,m)(A ^f)[f=1,2,…,n]を求める臨時公開鍵生成ステップと、
    上記開票装置の検証手段が、各投票署名ξ ,…,ξ について、a’ =(g^z )×(y ^c )[f=1,2,…,n]とb’ =(H(n,y ,m)^z )×(σ ^c )[f=1,2,…,n]を求め、Σ j∈{1,…,n} j =H”(n,y ,m,H(n,y ,m),H’(n,y ,m),A ,a’ ,a’ ,…,a’ ,b’ ,b’ ,…,b’ )が成立するか否かを判定する検証ステップと、
    上記開票装置の計数手段が、上記判定に合格した投票署名の数を計数し、さらに、上記判定に合格した投票署名に対応する各{σ ,…,σ }を比較して同一の値が含まれる投票署名を重複投票とし、当該重複投票の数τを上記計数結果vから引いて得られるv−τを有効投票総数とする計数ステップと
    を有する電子投開票方法。
  9. 請求項1または請求項2に記載された電子投票装置としてコンピュータを機能させるための電子投票プログラム。
  10. 請求項3または請求項4に記載された開票装置としてコンピュータを機能させるための開票プログラム。
JP2005199239A 2005-07-07 2005-07-07 電子投票装置、開票装置、電子投開票システム、電子投開票方法並びにプログラム Expired - Lifetime JP4630144B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005199239A JP4630144B2 (ja) 2005-07-07 2005-07-07 電子投票装置、開票装置、電子投開票システム、電子投開票方法並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005199239A JP4630144B2 (ja) 2005-07-07 2005-07-07 電子投票装置、開票装置、電子投開票システム、電子投開票方法並びにプログラム

Publications (2)

Publication Number Publication Date
JP2007019872A JP2007019872A (ja) 2007-01-25
JP4630144B2 true JP4630144B2 (ja) 2011-02-09

Family

ID=37756628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005199239A Expired - Lifetime JP4630144B2 (ja) 2005-07-07 2005-07-07 電子投票装置、開票装置、電子投開票システム、電子投開票方法並びにプログラム

Country Status (1)

Country Link
JP (1) JP4630144B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024538651A (ja) * 2021-10-01 2024-10-23 マスターカード インターナシヨナル インコーポレイテツド ブロックチェーンに基づく協同組合のトランザクションのための方法及びシステム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4835886B2 (ja) * 2009-12-22 2011-12-14 クオード株式会社 電子投票システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3309874B2 (ja) * 1993-06-23 2002-07-29 日本電信電話株式会社 電子投票方法及び電子投票管理装置
JP3298826B2 (ja) * 1998-05-29 2002-07-08 日本電信電話株式会社 匿名通信方法及び装置及びプログラム記録媒体
JP3910529B2 (ja) * 2002-12-06 2007-04-25 株式会社エヌ・ティ・ティ・データ 電子投票システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024538651A (ja) * 2021-10-01 2024-10-23 マスターカード インターナシヨナル インコーポレイテツド ブロックチェーンに基づく協同組合のトランザクションのための方法及びシステム

Also Published As

Publication number Publication date
JP2007019872A (ja) 2007-01-25

Similar Documents

Publication Publication Date Title
RU2652443C1 (ru) Система и способ определения количества голосов избирателей, собираемых с помощью электронного голосования
JP4235453B2 (ja) 検証可能な秘密のシャッフルおよびそれらの電子投票への応用
Heiberg et al. Improving the verifiability of the Estonian internet voting scheme
AU2021206913A1 (en) Systems and methods for distributed data sharing with asynchronous third-party attestation
CN112789823B (zh) 基于区块链的竞选网络系统及竞选方法
US20120144459A1 (en) Revoking delegatable anonymous credentials
JP2006115550A (ja) 安全な複数オーソリティ選挙のためのエルガマル暗号化データのように暗号化されたデータの検証可能な秘密シャッフル
US20050021954A1 (en) Personal authentication device and system and method thereof
CN117176361A (zh) 一种区块链数字身份认证控制系统及方法
Wu et al. A blockchain-based network security mechanism for voting systems
Mullegowda et al. A novel smart contract based blockchain with sidechain for electronic voting
CN118379825A (zh) 一种提供选票安全与数据隐私保护的区块链电子投票方法
KR20220060444A (ko) 블록체인 전자투표시스템, 그 시스템의 운용방법
WO2021124498A1 (ja) 保証制御方法、情報処理装置および保証制御プログラム
KR20200085204A (ko) 증명 가능한 전자투표시스템
JP4630144B2 (ja) 電子投票装置、開票装置、電子投開票システム、電子投開票方法並びにプログラム
JP3910529B2 (ja) 電子投票システム
Drakshayani et al. Online Voting System Using Blockchain
Al-Janabi et al. Security of internet voting schemes: A survey
Grontas et al. Blockchain, consensus, and cryptography in electronic voting
Mukta et al. VCTP: a verifiable credential-based trust propagation protocol for personal issuers in self-sovereign identity platforms
Bag et al. E2E verifiable electronic voting system for shareholders
Vijayalakshmi et al. Secure online voting system in cloud
Gabay A privacy framework for decentralized applications using blockchains and zero knowledge proofs
Yun et al. The Biometric based Mobile ID and Its Application to Electronic Voting.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101018

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101112

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

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4630144

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term