(57)【特許請求の範囲】
【請求項１】
投票者が暗号化投票データを生成する投票者端末と，集計者が暗号化投票データを集計する集計者端末と，開票者が集計した暗号化投票データを復号し，投票データの集計結果を得る開票者端末とを通信回線を介して接続した電子投票システムであって，
集計者端末は，
投票者端末が生成した暗号化投票データの内容が1また0であることを確認するために，開票者端末に暗号化投票データを送信して票の正当性証明の作成を依頼する票の正当性証明作成依頼手段と，
開票者端末から票の正当性証明を受信する票の正当性証明受信手段と，
受信した票の正当性証明に記載している暗号化投票データの内容が1または0であることを確認する票の正当性証明確認手段とを備え，
開票者端末は，
集計者端末から暗号化投票データを受信して復号し，復号した投票データの内容が1または0であることを確認し，暗号化投票データの内容が1または0であることを記載した票の正当性証明を作成する票の正当性証明作成手段と，
集計者端末に票の正当性証明を送信する票の正当性証明送信手段とを備える
ことを特徴とする電子投票システム。
【請求項２】
投票者端末は，
投票データの内容が0また1を選択し，開票者端末の公開鍵を用いて暗号化投票データを生成する暗号化手段と，
開票者端末の公開鍵を用いて秘密情報データと公開情報データを生成する情報データ生成手段と，
暗号化投票データと公開情報データを集計者端末に送信して投票する投票手段とを備え，
集計者端末は，
開票者端末の公開鍵を用いて秘密情報データと公開情報データを生成する情報データ生成手段を備える
ことを特徴とする，請求項１記載の電子投票システム。
【請求項３】
投票者端末は，
電子署名の鍵ペアを生成する第1電子署名の鍵ペア生成手段と，
投票データの内容が0または1を選択し，開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて，暗号化投票データを生成する投票作成手段と，
生成した暗号化投票データの内容が1または0であることを証明するために集計者端末および開票者端末に票の正当性証明の作成を依頼し，集計者端末に暗号化投票データを送信する投票・依頼手段とを備え，
集計者端末は，
電子署名の鍵ペアを生成する第2電子署名の鍵ペア生成手段と，
投票者端末から暗号化投票データを受信し，暗号化投票データを集計する集計手段とを備え，
開票者端末は，
電子署名の鍵ペアを生成する第3電子署名の鍵ペア生成手段と，
準同型系公開鍵暗号方式の鍵ペアを生成する準同型系公開暗号方式の鍵ペア生成手段と，
集計者端末から暗号化投票データの集計値を受信し，開票者端末の準同型系公開鍵暗号方式の秘密鍵を用いて復号し，平文の投票データの集計値を得る開票手段とを備える
ことを特徴とする，請求項１に記載の電子投票システム。
【請求項４】
投票者端末は，
電子署名の鍵ペアを生成する第1電子署名の鍵ペア生成手段と，
投票データの内容が0または1を選択し，開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて，暗号化投票データを生成する投票作成手段と，
開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて，秘密情報データと公開情報データを生成する投票者端末の情報データ生成手段と，
生成した暗号化投票データの内容が1または0であることを証明するために集計者端末および開票者端末に票の正当性証明の作成を依頼し，集計者端末に暗号化投票データと公開情報データを送信する投票・依頼手段とを備え，
集計者端末は，
電子署名の鍵ペアを生成する第2電子署名の鍵ペア生成手段と，
投票者端末から暗号化投票データと投票者端末の公開情報データを受信する投票受付手段と，
開票者端末に暗号化投票データを送信して票の正当性証明の作成を依頼する票の正当性証明作成依頼手段と，
開票者端末から票の正当性証明を受信し，票の正当性証明に記載している暗号化投票データの内容が0または1であることを確認する票の正当性証明確認手段と，
開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて，秘密情報データ及び公開情報データを生成する集計者端末の情報データ生成手段と，
開票者端末の準同型系公開鍵暗号方式の公開鍵と暗号化投票データと投票者端末の公開情報データと集計者端末の秘密情報データとを用いて，投票確認データを生成する投票確認データ生成手段と，
開票者端末の準同型系公開鍵暗号方式の共通パラメータと投票者端末の公開情報データとを用いて，コミットメントデータを生成するコミットメントデータ生成手段と，
集計者端末の公開情報データと投票確認データとコミットメントデータとを公開掲示板に掲示する公開掲示手段と，
公開掲示板に記載している複数の投票確認データの積を算出する投票確認データの積の算出手段と，
生成した投票確認データの積を公開掲示板に掲示する投票確認データの積データ公開掲示手段と，
複数の投票者端末の公開情報データと集計者端末の秘密情報データと投票確認データの積とを用いて，集計値データを算出する集計値データ算出手段とを備え，
開票者端末は，
電子署名の鍵ペアを生成する第3電子署名の鍵ペア生成手段と，
準同型系公開鍵暗号方式の鍵ペアを生成する準同型系公開暗号方式の鍵ペア生成手段と，
集計者端末から暗号化投票データを受信して復号し，復号した投票データの内容が1または0であることを確認し，暗号化投票データの内容が1または0であることを記載した票の正当性証明を作成する票の正当性証明作成手段と，
集計者端末に票の正当性証明を送信する票の正当性証明送信手段と，
集計者端末から集計値データを受信し，開票者端末の準同型系公開鍵暗号方式の秘密鍵を用いて復号し，平文の投票データの集計値を得る開票手段と，
平文の投票データの集計値を公開掲示板に掲示する集計値公開掲示手段とを備える
ことを特徴とする，請求項１〜３の何れか一に記載の電子投票システム。
【請求項５】
投票者が暗号化投票データを生成する投票者端末と，集計者が暗号化投票データを集計する集計者端末と，開票者が集計した暗号化投票データを復号し，投票データの集計結果を得る開票者端末とを通信回線を介して接続した電子投票システムを利用する電子投票方法であって，
集計者端末が，投票者端末が生成した暗号化投票データの内容が1また0であることを確認するために，開票者端末に暗号化投票データを送信して票の正当性証明の作成を依頼するステップと，
開票者端末が，集計者端末から暗号化投票データを受信して復号し，復号した投票データの内容が1または0であることを確認し，暗号化投票データの内容が1または0であることを記載した票の正当性証明を作成するステップと，
開票者端末が，集計者端末に票の正当性証明を送信するステップと，
集計者端末が，開票者端末から票の正当性証明を受信するステップと，
集計者端末が，票の正当性証明に記載している暗号化投票データの内容が1または0であることを確認するステップと
を備えることを特徴とする電子投票方法。
【請求項６】
投票者端末が，投票データの内容が0また1を選択し，開票者端末の公開鍵を用いて，暗号化投票データを生成するステップと，
投票者端末が，開票者端末の公開鍵を用いて秘密情報データと公開情報データを生成するステップと，
投票者端末が，暗号化投票データと公開情報データを集計者端末に送信して投票するステップと，
集計者端末が，開票者端末の公開鍵を用いて，秘密情報データと公開情報データを生成するステップと
を備えることを特徴とする，請求項５記載の電子投票方法。
【請求項７】
投票者端末が，第1電子署名の鍵ペアを生成するステップと，
集計者端末が，第2電子署名の鍵ペアを生成するステップと，
開票者端末が，第3電子署名の鍵ペアを生成するステップと，
開票者端末が，準同型系公開鍵暗号方式の鍵ペアを生成するステップと，
投票者端末が，投票データの内容が0または1を選択し，開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて，暗号化投票データを生成するステップと，
投票者端末が，生成した暗号化投票データの内容が1または0であることを証明するために集計者端末および開票者端末に票の正当性証明の作成を依頼し，集計者端末に暗号化投票データを送信するステップと，
集計者端末が，投票者端末から暗号化投票データを受信し，暗号化投票データを集計するステップと，
開票者端末が，集計者端末から暗号化投票データの集計値を受信し，開票者端末の準同型系公開鍵暗号方式の秘密鍵を用いて復号し，平文の投票データの集計値を得るステップと
を備えることを特徴とする，請求項５に記載の電子投票方法。
【請求項８】
投票者端末が，第1電子署名の鍵ペアを生成するステップと，
集計者端末が，第2電子署名の鍵ペアを生成するステップと，
開票者端末が，第3電子署名の鍵ペアを生成するステップと，
開票者端末が，準同型系公開鍵暗号方式の鍵ペアを生成するステップと，
投票者端末が，投票データの内容が0または1を選択し，開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて，暗号化投票データを生成するステップと，
投票者端末が，開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて，秘密情報データと公開情報データを生成するステップと，
投票者端末が，生成した暗号化投票データの内容が1または0であることを証明するために集計者端末および開票者端末に票の正当性証明の作成を依頼し，集計者端末に暗号化投票データと公開情報データを送信するステップと，
集計者端末が，投票者端末から暗号化投票データと投票者端末の公開情報データを受信するステップと，
集計者端末が，開票者端末に暗号化投票データを送信して票の正当性証明の作成を依頼するステップと，
開票者端末が，集計者端末から暗号化投票データを受信して復号し，復号した投票データの内容が1または0であることを確認し，暗号化投票データの内容が1または0であることを記載した票の正当性証明を作成するステップと，
開票者端末が，集計者端末に票の正当性証明を送信するステップと，
集計者端末が，開票者端末から票の正当性証明を受信し，票の正当性証明に記載している暗号化投票データの内容が0または1であることを確認するステップと，
集計者端末が，開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて，秘密情報データと公開情報データを生成するステップと，
集計者端末が，開票者端末の準同型系公開鍵暗号方式の公開鍵と暗号化投票データと投票者端末の公開情報データと集計者端末の秘密情報データとを用いて，投票確認データを生成するステップと，
集計者端末が，開票者端末の準同型系公開鍵暗号方式の共通パラメータと投票者端末の公開情報データとを用いて，コミットメントデータを生成するステップと，
集計者端末が，集計者端末の公開情報データと投票確認データとコミットメントデータとを公開掲示板に掲示するステップと，
集計者端末が，公開掲示板に記載している複数の投票確認データの積を算出するステップと，
集計者端末が，算出した投票確認データの積を公開掲示板に掲示するステップと，
集計者端末が，複数の投票者端末の公開情報データと集計者端末の秘密情報データと投票確認データの積とを用いて集計値データを算出し，開票者端末に集計値データを送信するステップと，
開票者端末が，集計者端末から集計値データを受信し，開票者端末の準同型系公開鍵暗号方式の秘密鍵を用いて復号し，平文の投票データの集計値を得るステップと，
開票者端末が，平文の投票データの集計値を公開掲示板に掲示するステップと
を備えることを特徴とする，請求項５〜７の何れか一に記載の電子投票方法。
【請求項９】
投票を行う複数の投票者端末と，投票者端末から暗号化投票データを収集し，収集した暗号化投票データを集計する集計者端末と，投票データの集計結果を開票する開票者端末とを通信回線を介して接続した電子投票システムであって，
投票者端末は，
前記開票者端末が指定した公開鍵で準同型系公開鍵暗号方式により，投票データを暗号化して暗号化投票データを生成する暗号化手段と，
投票確認データ生成に必要な投票者端末の公開情報データを生成する公開情報データ生成手段と，
集計者端末によって公開された投票確認データとコミットメントデータを検証する投票確認データ検証手段とを備え，
集計者端末は，
投票者端末から受信した暗号化投票データを電子署名により，投票者の有権性を検証する有権性検証手段と，
票の正当性確認依頼のために開票者端末に投票者端末の暗号化投票データを送信する票の正当性確認依頼手段と，
開票者端末から暗号化投票データの内容が1また0であることの証明を受信したことを確認する票の正当性証明確認手段と，
投票者端末が作成した暗号化投票データと投票者端末の公開情報データと集計者端末の秘密情報データとを用いて，投票確認データを生成する投票確認データ生成手段と，
開票者端末の準同型系暗号方式の共通パラメータと投票者端末の公開情報データとを用いて，コミットメントデータを生成するコミットメント生成手段と，
投票確認データとコミットメントデータを公開掲示板に掲示する投票確認データ及びコミットメントデータ公開掲示手段と，
投票締め切り後の公開掲示板に掲示している複数の投票確認データの積を生成し，その積のデータを公開掲示板に掲示する投票確認データの積生成手段と，
投票締め切り後の各投票者端末から受信した複数の各投票者端末の公開情報データの積を生成し，その生成した積を集計者端末の秘密情報データでべき乗し，さらに，公開掲示板に掲示している投票確認データの積を，べき乗で生成した公開情報データの積で除算した集計値データを，その正しく集計したことの証明とともに公開掲示板に掲示する集計情報データ生成手段と備え，
開票者端末は，
集計者端末から票の正当性確認依頼を受けて，投票者端末の暗号化投票データを受信し，開票者端末の秘密鍵を用いて復号し，その復号した投票データが1または0であることを確認する正当性確認手段と，
正当性確認手段により，暗号化投票データの内容が1または0であることの証明を生成し，その証明を集計者端末に送信する票の正当性証明生成手段と，
公開掲示板に掲示している集計値データを開票者端末の秘密鍵で復号し，集計結果データを生成する復号手段と，
集計結果データが正しく復号したことの証明を生成する復号処理正当性証明生成手段とを備える
ことを特徴とする，請求項１又は２に記載の電子投票システム。
【請求項１０】
投票を行う複数の投票者端末と，投票者端末から暗号化投票データを収集し，収集した暗号化投票データを集計する集計者端末と，投票データの集計結果を開票する開票者端末とを通信回線を介して接続した電子投票システムを利用する電子投票方法であって，
投票者端末が，開票者端末が指定した公開鍵で準同型系公開鍵暗号方式により投票データを暗号化して暗号化投票データを生成するステップと，
投票者端末が，投票確認データ生成に必要な投票者端末の公開情報データを生成するステップと，
投票者端末が，暗号化投票データと公開情報データを集計者端末に秘密裏に送信するステップと，
集計者端末が，投票者端末から受信した暗号化投票データと公開情報データを用いて，電子署名により，投票者の有権性を検証するステップと，
集計者端末が，票の正当性確認依頼のために投票者端末の暗号化投票データを開票者端末に秘密裏に送信するステップと，
開票者端末が，集計者端末から暗号化投票データを受信し，開票者端末の秘密鍵を用いて復号し，その復号した投票データが1または0であることを確認するステップと，
開票者端末が，暗号化投票データの内容が1または0であることの証明を生成するステップと，
開票者端末が，暗号化投票データの内容が1または0であることの証明を集計者端末に秘密裏に送信するステップと，
集計者端末が，開票者端末から受信した暗号化投票データの内容が1また0であることの証明を確認するステップと，
集計者端末が，投票者端末が作成した暗号化投票データと投票者端末の公開情報データと集計者端末の秘密情報データとを用いて投票確認データを生成するステップと，
集計者端末が，開票者端末の準同型系暗号方式の共通パラメータと投票者端末の公開情報データとを用いてコミットメントデータを生成するステップと，
集計者端末が，投票確認データとコミットメントデータを公開掲示板に掲示するステップと，
投票者端末が，公開掲示板に掲示している投票確認データとコミットメントデータを検証するステップと，
集計者端末が，投票締め切り後の公開掲示板に掲示している複数の投票確認データの積を生成し，投票確認データの積を公開掲示板に掲示するステップと，
集計者端末が，投票締め切り後の各投票者端末から受信した複数の各投票者端末の公開情報データの積を生成し，その生成した公開情報データの積を集計者端末の秘密情報データでべき乗し，さらに，公開掲示板に掲示している投票確認データの積を，べき乗で生成した公開情報データの積で除算した集計値データを生成するステップと，
集計者端末が，正しく集計したことの証明を生成するステップと，
集計者端末が，集計値データと，その正しく集計したことの証明とともに公開掲示板に掲示するステップと，
開票者端末が，公開掲示板に掲示している集計値データを開票者端末の秘密鍵で復号し，集計結果データを生成するステップと，
開票者端末が，集計結果データが正しく復号化したことの証明を生成するステップと，
開票者端末が，集計結果データと，正しく復号化したことの証明を公開掲示板に掲示するステップと
を備えることを特徴とする，請求項５又は６に記載の電子投票方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電子投票システムに関する。
【背景技術】
【０００２】
近年，電子投票システムを実現する多様な投票プロトコルが考案されている。例えば，山口らによって考案された2センタ方式投票プロトコル(非特許文献１)がある。この投票プロトコルは投票者，開票センタ，集計センタの３つのエンティティで構成され，投票者は開票センタの準同型系公開鍵暗号方式と集計センタのRSA公開鍵暗号方式を用いて投票内容を二重暗号化している。それによって，集計センタが投票者の投じた投票内容を知ることなく，投票の暗号文をそのまま集計し，その集計した投票の集計値の暗号文を開票センタが復号化して平文の投票の集計値を得る。また，投票者の投じた投票内容が1(Yes)または0(No)であることを証明する票の正当性証明を検証して行うことにより，投票者のプライバシを保証し，正当な投票を行っている。
【０００３】
上述した2センタ方式投票プロトコルにおいては，投票内容が1または0であることを証明する票の正当性証明の作成は投票者自身が行う必要がある。その結果，投票者が票の作成を行う段階で，投票内容の暗号化のみでなく，票の正当性証明の作成も行わなければならない。
【０００４】
【非特許文献１】H．Yamaguchi, A． Kitazawa, H．Doi, K．Kurosawa and S．Tsujii． "An Electronic Voting Protocol Preserving Voter's Privacy", IEICE TRANSACTION on Information and System． Vol． E86-D, No．9, pp.1868-1878, 2003
【発明の開示】
【発明が解決しようとする課題】
【０００５】
それ故に本発明の課題は，投票者自身が行っている票の正当性証明の作成をセンタ側に委譲してセンタ側で行うようにした電子投票システム及び電子投票方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明においては，ディフィー・ヘルマン鍵交換(W. Diffie, M. Hellman. "New Directions in Cryptography", IEEE Trans. on Information Theory, IT-22, 6, pp.644-654, 1976)のテクニックを用いて，票の正当性証明の作成を投票者からセンタ側に委譲する。また，センタ側で作成した票の正当性証明が正当に作成されたものであるかどうかを検証する。
【０００７】
本発明によれば，投票者が暗号化投票データを生成する投票者端末と，集計者が暗号化投票データを集計する集計者端末と，開票者が集計した暗号化投票データを復号し，投票データの集計結果を得る開票者端末とを通信回線を介して接続した電子投票システムであって，集計者端末は，投票者端末が生成した暗号化投票データの内容が1また0であることを確認するために，開票者端末に暗号化投票データを送信して票の正当性証明の作成を依頼する票の正当性証明作成依頼手段と，開票者端末から票の正当性証明を受信する票の正当性証明受信手段と，受信した票の正当性証明に記載している暗号化投票データの内容が1または0であることを確認する票の正当性証明確認手段とを備え，開票者端末は，集計者端末から暗号化投票データを受信して復号し，復号した投票データの内容が1または0であることを確認し，暗号化投票データの内容が1または0であることを記載した票の正当性証明を作成する票の正当性証明作成手段と，集計者端末に票の正当性証明を送信する票の正当性証明送信手段とを備えることを特徴とする電子投票システムが得られる。
【０００８】
上記電子投票システムにおいて，投票者端末は，投票データの内容が0また1を選択し，開票者端末の公開鍵を用いて暗号化投票データを生成する暗号化手段と，開票者端末の公開鍵を用いて秘密情報データと公開情報データを生成する情報データ生成手段と，暗号化投票データと公開情報データを集計者端末に送信して投票する投票手段とを備え，集計者端末は，開票者端末の公開鍵を用いて秘密情報データと公開情報データを生成する情報データ生成手段を備えてもよい。
【０００９】
上記電子投票システムにおいて，投票者端末は，電子署名の鍵ペアを生成する第1電子署名の鍵ペア生成手段と，投票データの内容が0または1を選択し，開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて，暗号化投票データを生成する投票作成手段と，生成した暗号化投票データの内容が1または0であることを証明するために集計者端末および開票者端末に票の正当性証明の作成を依頼し，集計者端末に暗号化投票データを送信する投票・依頼手段とを備え，集計者端末は，電子署名の鍵ペアを生成する第2電子署名の鍵ペア生成手段と，投票者端末から暗号化投票データを受信し，暗号化投票データを集計する集計手段とを備え，開票者端末は，電子署名の鍵ペアを生成する第3電子署名の鍵ペア生成手段と，準同型系公開鍵暗号方式の鍵ペアを生成する準同型系公開暗号方式の鍵ペア生成手段と，集計者端末から暗号化投票データの集計値を受信し，開票者端末の準同型系公開鍵暗号方式の秘密鍵を用いて復号し，平文の投票データの集計値を得る開票手段とを備えてもよい。
【００１０】
上記電子投票システムにおいて，投票者端末は，電子署名の鍵ペアを生成する第1電子署名の鍵ペア生成手段と，投票データの内容が0または1を選択し，開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて，暗号化投票データを生成する投票作成手段と，開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて，秘密情報データと公開情報データを生成する投票者端末の情報データ生成手段と，生成した暗号化投票データの内容が1または0であることを証明するために集計者端末および開票者端末に票の正当性証明の作成を依頼し，集計者端末に暗号化投票データと公開情報データを送信する投票・依頼手段とを備え，集計者端末は，電子署名の鍵ペアを生成する第2電子署名の鍵ペア生成手段と，投票者端末から暗号化投票データと投票者端末の公開情報データを受信する投票受付手段と，開票者端末に暗号化投票データを送信して票の正当性証明の作成を依頼する票の正当性証明作成依頼手段と，開票者端末から票の正当性証明を受信し，票の正当性証明に記載している暗号化投票データの内容が0または1であることを確認する票の正当性証明確認手段と，開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて，秘密情報データ及び公開情報データを生成する集計者端末の情報データ生成手段と，開票者端末の準同型系公開鍵暗号方式の公開鍵と暗号化投票データと投票者端末の公開情報データと集計者端末の秘密情報データとを用いて，投票確認データを生成する投票確認データ生成手段と，開票者端末の準同型系公開鍵暗号方式の共通パラメータと投票者端末の公開情報データとを用いて，コミットメントデータを生成するコミットメントデータ生成手段と，集計者端末の公開情報データと投票確認データとコミットメントデータとを公開掲示板に掲示する公開掲示手段と，公開掲示板に記載している複数の投票確認データの積を算出する投票確認データの積の算出手段と，生成した投票確認データの積を公開掲示板に掲示する投票確認データの積データ公開掲示手段と，複数の投票者端末の公開情報データと集計者端末の秘密情報データと投票確認データの積とを用いて，集計値データを算出する集計値データ算出手段とを備え，開票者端末は，電子署名の鍵ペアを生成する第3電子署名の鍵ペア生成手段と，準同型系公開鍵暗号方式の鍵ペアを生成する準同型系公開暗号方式の鍵ペア生成手段と，集計者端末から暗号化投票データを受信して復号し，復号した投票データの内容が1または0であることを確認し，暗号化投票データの内容が1または0であることを記載した票の正当性証明を作成する票の正当性証明作成手段と，集計者端末に票の正当性証明を送信する票の正当性証明送信手段と，集計者端末から集計値データを受信し，開票者端末の準同型系公開鍵暗号方式の秘密鍵を用いて復号し，平文の投票データの集計値を得る開票手段と，平文の投票データの集計値を公開掲示板に掲示する集計値公開掲示手段とを備えてもよい。
【００１１】
また本発明によれば，投票者が暗号化投票データを生成する投票者端末と，集計者が暗号化投票データを集計する集計者端末と，開票者が集計した暗号化投票データを復号し，投票データの集計結果を得る開票者端末とを通信回線を介して接続した電子投票システムを利用する電子投票方法であって，集計者端末が，投票者端末が生成した暗号化投票データの内容が1また0であることを確認するために，開票者端末に暗号化投票データを送信して票の正当性証明の作成を依頼するステップと，開票者端末が，集計者端末から暗号化投票データを受信して復号し，復号した投票データの内容が1または0であることを確認し，暗号化投票データの内容が1または0であることを記載した票の正当性証明を作成するステップと，開票者端末が，集計者端末に票の正当性証明を送信するステップと，集計者端末が，開票者端末から票の正当性証明を受信するステップと，集計者端末が，票の正当性証明に記載している暗号化投票データの内容が1または0であることを確認するステップとを備えることを特徴とする電子投票方法が得られる。
【００１２】
上記電子投票方法において，投票者端末が，投票データの内容が0また1を選択し，開票者端末の公開鍵を用いて，暗号化投票データを生成するステップと，投票者端末が，開票者端末の公開鍵を用いて秘密情報データと公開情報データを生成するステップと，投票者端末が，暗号化投票データと公開情報データを集計者端末に送信して投票するステップと，集計者端末が，開票者端末の公開鍵を用いて，秘密情報データと公開情報データを生成するステップとを備えてもよい。
【００１３】
上記電子投票方法において，投票者端末が，第1電子署名の鍵ペアを生成するステップと，集計者端末が，第2電子署名の鍵ペアを生成するステップと，開票者端末が，第3電子署名の鍵ペアを生成するステップと，開票者端末が，準同型系公開鍵暗号方式の鍵ペアを生成するステップと，投票者端末が，投票データの内容が0または1を選択し，開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて，暗号化投票データを生成するステップと，投票者端末が，生成した暗号化投票データの内容が1または0であることを証明するために集計者端末および開票者端末に票の正当性証明の作成を依頼し，集計者端末に暗号化投票データを送信するステップと，集計者端末が，投票者端末から暗号化投票データを受信し，暗号化投票データを集計するステップと，開票者端末が，集計者端末から暗号化投票データの集計値を受信し，開票者端末の準同型系公開鍵暗号方式の秘密鍵を用いて復号し，平文の投票データの集計値を得るステップとを備えもよい。
【００１４】
上記電子投票方法において，投票者端末が，第1電子署名の鍵ペアを生成するステップと，集計者端末が，第2電子署名の鍵ペアを生成するステップと，開票者端末が，第3電子署名の鍵ペアを生成するステップと，開票者端末が，準同型系公開鍵暗号方式の鍵ペアを生成するステップと，投票者端末が，投票データの内容が0または1を選択し，開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて，暗号化投票データを生成するステップと，投票者端末が，開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて，秘密情報データと公開情報データを生成するステップと，投票者端末が，生成した暗号化投票データの内容が1または0であることを証明するために集計者端末および開票者端末に票の正当性証明の作成を依頼し，集計者端末に暗号化投票データと公開情報データを送信するステップと，集計者端末が，投票者端末から暗号化投票データと投票者端末の公開情報データを受信するステップと，集計者端末が，開票者端末に暗号化投票データを送信して票の正当性証明の作成を依頼するステップと，開票者端末が，集計者端末から暗号化投票データを受信して復号し，復号した投票データの内容が1または0であることを確認し，暗号化投票データの内容が1または0であることを記載した票の正当性証明を作成するステップと，開票者端末が，集計者端末に票の正当性証明を送信するステップと，集計者端末が，開票者端末から票の正当性証明を受信し，票の正当性証明に記載している暗号化投票データの内容が0または1であることを確認するステップと，集計者端末が，開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて，秘密情報データと公開情報データを生成するステップと，集計者端末が，開票者端末の準同型系公開鍵暗号方式の公開鍵と暗号化投票データと投票者端末の公開情報データと集計者端末の秘密情報データとを用いて，投票確認データを生成するステップと，集計者端末が，開票者端末の準同型系公開鍵暗号方式の共通パラメータと投票者端末の公開情報データとを用いて，コミットメントデータを生成するステップと，集計者端末が，集計者端末の公開情報データと投票確認データとコミットメントデータとを公開掲示板に掲示するステップと，集計者端末が，公開掲示板に記載している複数の投票確認データの積を算出するステップと，集計者端末が，算出した投票確認データの積を公開掲示板に掲示するステップと，集計者端末が，複数の投票者端末の公開情報データと集計者端末の秘密情報データと投票確認データの積とを用いて集計値データを算出し，開票者端末に集計値データを送信するステップと，開票者端末が，集計者端末から集計値データを受信し，開票者端末の準同型系公開鍵暗号方式の秘密鍵を用いて復号し，平文の投票データの集計値を得るステップと，開票者端末が，平文の投票データの集計値を公開掲示板に掲示するステップとを備えてもよい。
【００１５】
上記電子投票システムにおいて，投票を行う複数の投票者端末と，投票者端末から暗号化投票データを収集し，収集した暗号化投票データを集計する集計者端末と，投票データの集計結果を開票する開票者端末とを通信回線を介して接続した電子投票システムであって，投票者端末は，前記開票者端末が指定した公開鍵で準同型系公開鍵暗号方式により，投票データを暗号化し暗号化投票データを生成する暗号化手段と，投票確認データ生成に必要な投票者端末の公開情報データを生成する公開情報データ生成手段と，集計者端末によって公開された投票確認データとコミットメントデータを検証する投票確認データ検証手段とを備え，集計者端末は，投票者端末から受信した暗号化投票データを電子署名により，投票者の有権性を検証する有権性検証手段と，票の正当性確認依頼のために開票者端末に投票者端末の暗号化投票データを送信する票の正当性確認依頼手段と，開票者端末から暗号化投票データの内容が1また0であることの証明を受信したことを確認する票の正当性証明確認手段と，投票者端末が作成した暗号化投票データと投票者端末の公開情報データと集計者端末の秘密情報データとを用いて，投票確認データを生成する投票確認データ生成手段と，開票者端末の準同型系暗号方式の共通パラメータと投票者端末の公開情報データとを用いて，コミットメントデータを生成するコミットメント生成手段と，投票確認データとコミットメントデータを公開掲示板に掲示する投票確認データ及びコミットメントデータ公開掲示手段と，投票締め切り後の公開掲示板に掲示している複数の投票確認データの積を生成し，その積のデータを公開掲示板に掲示する投票確認データの積生成手段と，投票締め切り後の各投票者端末から受信した複数の各投票者端末の公開情報データの積を生成し，その生成した積を集計者端末の秘密情報データでべき乗し，さらに，公開掲示板に掲示している投票確認データの積を，べき乗で生成した公開情報データの積で除算した集計値データを，その正しく集計したことの証明とともに公開掲示板に掲示する集計情報データ生成手段と備え，開票者端末は，集計者端末から票の正当性確認依頼を受けて，投票者端末の暗号化投票データを受信し，開票者端末の秘密鍵を用いて復号し，その復号した投票データが1または0であることを確認する正当性確認手段と，正当性確認手段により，暗号化投票データの内容が1または0であることの証明を生成し，その証明を集計者端末に送信する票の正当性証明生成手段と，公開掲示板に掲示している集計値データを開票者端末の秘密鍵で復号し，集計結果データを生成する復号手段と，集計結果データが正しく復号したことの証明を生成する復号処理正当性証明生成手段とを備えてもよい。
【００１６】
上記電子投票方法において，投票を行う複数の投票者端末と，投票者端末から暗号化投票データを収集し，収集した暗号化投票データを集計する集計者端末と，投票データの集計結果を開票する開票者端末とを通信回線を介して接続した電子投票システムを利用する電子投票方法であって，投票者端末が，開票者端末が指定した公開鍵で準同型系公開鍵暗号方式により投票データを暗号化して暗号化投票データを生成するステップと，投票者端末が，投票確認データ生成に必要な投票者端末の公開情報データを生成するステップと，投票者端末が，暗号化投票データと公開情報データを集計者端末に秘密裏に送信するステップと，集計者端末が，投票者端末から受信した暗号化投票データと公開情報データを用いて，電子署名により，投票者の有権性を検証するステップと，集計者端末が，票の正当性確認依頼のために投票者端末の暗号化投票データを開票者端末に秘密裏に送信するステップと，開票者端末が，集計者端末から暗号化投票データを受信し，開票者端末の秘密鍵を用いて復号し，その復号した投票データが1または0であることを確認するステップと，開票者端末が，暗号化投票データの内容が1または0であることの証明を生成するステップと，開票者端末が，暗号化投票データの内容が1または0であることの証明を集計者端末に秘密裏に送信するステップと，集計者端末が，開票者端末から受信した暗号化投票データの内容が1また0であることの証明を確認するステップと，集計者端末が，投票者端末が作成した暗号化投票データと投票者端末の公開情報データと集計者端末の秘密情報データとを用いて投票確認データを生成するステップと，集計者端末が，開票者端末の準同型系暗号方式の共通パラメータと投票者端末の公開情報データとを用いてコミットメントデータを生成するステップと，集計者端末が，投票確認データとコミットメントデータを公開掲示板に掲示するステップと，投票者端末が，公開掲示板に掲示している投票確認データとコミットメントデータを検証するステップと，集計者端末が，投票締め切り後の公開掲示板に掲示している複数の投票確認データの積を生成し，投票確認データの積を公開掲示板に掲示するステップと，集計者端末が，投票締め切り後の各投票者端末から受信した複数の各投票者端末の公開情報データの積を生成し，その生成した公開情報データの積を集計者端末の秘密情報データでべき乗し，さらに，公開掲示板に掲示している投票確認データの積を，べき乗で生成した公開情報データの積で除算した集計値データを生成するステップと，集計者端末が，正しく集計したことの証明を生成するステップと，集計者端末が，集計値データと，その正しく集計したことの証明とともに公開掲示板に掲示するステップと，開票者端末が，公開掲示板に掲示している集計値データを開票者端末の秘密鍵で復号し，集計結果データを生成するステップと，開票者端末が，集計結果データが正しく復号化したことの証明を生成するステップと，開票者端末が，集計結果データと，正しく復号化したことの証明を公開掲示板に掲示するステップとを備えてもよい。
【発明の効果】
【００１７】
本発明によると，投票者が投じた票の正当性証明の作成をセンタ側に委譲することにより，投票者が行う票の作成コストを軽減できる。さらに，投票者がセンタ側で作成した票の正当性証明の存在を確認することができる。
【発明を実施するための最良の形態】
【００１８】
図１に示すシステムモデルは，投票を行う複数の投票者端末（一つのみ図示した）１，投票者端末から投票データを収集し，収集した投票データを集計する集計者端末２，及び投票データの集計結果を開票する開票者端末３を含んでいる。投票者端末１，集計者端末２，及び開票者端末３は，通信回線を介して接続される。ここで，投票者端末１は投票者viに割り当てられ，集計者端末２は集計センタCに割り当てられ，開票者端末３は開票センタOに割り当てられる。なお，図１において，IDiは投票者viの認証番号，Viは投票内容を暗号化した票，Xiは投票者viの公開情報データ，Yは集計センタCの公開情報データ，σはViに対する票の正当性証明，xは集計センタCの秘密情報データ，rは投票者viの秘密情報データ，Gは剰余類群の生成元(共通パラメータ)，Ciはコミットメントデータである。
【００１９】
図１のシステムモデルにおいて，投票者vi，集計センタC，及び開票センタOの各々が任意の電子署名の鍵ペアを生成する。また，開票センタOは任意の準同型系公開鍵暗号方式の鍵ペアを生成する。これらの鍵ペアを生成するとき、投票者端末１，集計者端末２，及び開票者端末３の各々は準備手段として働く。
【００２０】
次に，投票者viが自ら投票文を暗号化する。このとき投票者端末１は投票作成手段として働く。投票者viは，作成した投票の暗号文を集計センタCに送信し，かつその投票の暗号文が1または0であることを証明する票の正当性証明の作成をセンタ側に委譲する。このとき投票者端末１は投票・委譲手段として働く。
【００２１】
集計センタCは投票者viから送信される投票の暗号文を集計する。このとき集計者端末２は集計手段として働く。
【００２２】
集計センタCが集計した投票の集計値の暗号文を開票センタOが復号化し，投票の集計値の平文を得る。このとき開票者端末３は開票手段として働く。
【実施例１】
【００２３】
以下，実施例を用いて説明する。エンティティは，投票者端末１，集計者端末２，及び開票者端末３をそれぞれ割り当てられた投票者vi ，集計センタC，及び開票センタOの3つである。ここでは集計センタC及び開票センタOを纏めてセンタ側と呼ぶ。
【００２４】
図１のシステムモデルは，以下に順次説明する準備，投票作成，投票・委譲，集計，開票の5つのフェーズで行われる。
【００２５】
1．準備フェーズ
1-1．投票者viは電子署名のRSA署名の秘密鍵dvi,pvi,qviと公開鍵evi,Nviの鍵ペアを生成する。秘密鍵は秘密に保持し，公開鍵は公開鍵簿に登録する。
【００２６】
1-2．集計センタCは電子署名のRSA署名の秘密鍵dC,pC,qCと公開鍵eC,NCの鍵ペアを生成する。秘密鍵は秘密に保持し，公開鍵は公開鍵簿に登録する。コミットメント生成に必要な共通パラメータp,Gを生成する。
【００２７】
1-3．開票センタOは電子署名のRSA署名の秘密鍵dO,pO,qOと公開鍵eO,NOの鍵ペアを生成し，準同型系公開鍵暗号方式のOU関数の秘密鍵p2,q2と公開鍵N2,g2の鍵ペアを生成する。秘密鍵は秘密に保持し，公開鍵は公開鍵簿に登録する。
【００２８】
2．投票作成フェーズ
2-1．投票者viは票
mi ∈ {0,1}
を選択し，乱数
ri ∈ ZN2
を生成し，開票センタOの準同型系公開鍵暗号方式のOU関数の公開鍵N2,g2を用いて暗号化投票データ
Vi = g2^{mi + N2 * ri} mod N2
を生成する。
【００２９】
2-2．投票者viは秘密情報データ
rvi ∈ ZN2
生成し，公開情報データ
Xi = g2^rvi mod N2
を生成する。次に，署名生成のために安全なハッシュ関数h()でハッシュ値
Hi = h(Vi,MSGvi,Xi)
を生成し，投票者の署名
Sigvi = Hi^dvi mod Nvi
を生成し，票(IDvi,Vi,MSGvi,Xi,Sigvi)を集計センタCに秘密裏に送信する。なお，IDviは投票者viの認証番号，MSGviは投票者viの個人情報で有権性検証のために選挙人名簿データベースに登録している。
【００３０】
3．投票・委譲フェーズ
3-1．集計センタCは投票者viから票(IDvi,Vi,MSGvi,Xi,Sigvi)を受信し，投票者viの署名Sigviを投票者viの公開鍵evi,Nviと選挙人名簿データベースとを用いて有権者であるかどうかを署名検証する。
【００３１】
3-2．3-1の署名検証で有権者であると確認できたら，開票センタOに票の正当性確認依頼をするために，票(IDvi,Vi,MSGvi,Xi,Sigvi)の暗号化投票データViを安全なハッシュ関数h()でハッシュ値
Hci = h(Vi,MSGC)
を生成し，集計センタCの署名
SigC1 = HC1^dC
を生成し，開票センタOに正当性確認依頼(IDC,Vi,MSGC,SigC1)を秘密裏に送信する。
【００３２】
3-3．開票センタOは集計センタCから正当性確認依頼(IDC,Vi,MSGC,SigC1)を受信し，集計センタCの署名SigC1を集計センタCの公開鍵eC, NCを用いて，正当な集計センタCであるかどうかを署名検証する。
【００３３】
3-4．3-3の署名検証で正当な集計センタCであると確認できたら，正当性確認依頼(IDC,Vi,MSGC,SigC1)の暗号化投票データViを開票センタOの準同型系公開鍵暗号方式のOU関数の秘密鍵p2と公開鍵g2とを用いて復号化して，その復号化した票miの内容が1または0であることの票の正当性確認をする。
【００３４】
3-5．3-4の正当性確認で票miの内容が1または0であると確認できたら，その票の内容が1または0であることの証明σiを生成し，その証明σiを集計センタCに送信するために，安全なハッシュ関数h()でハッシュ値
HO1 = h(σi,MSGO)
を生成し，開票センタOの署名
SigO1 = HO1^dO
を生成し，集計センタCに証明(IDO,σi,MSGO,SigO1)を秘密裏に送信する。
【００３５】
3-6.集計センタCは開票センタOから証明(IDO,σi,MSGO,SigO1)を受信し，開票センタOの署名SigO1を開票センタOの公開鍵eO, NOを用いて，正当な開票センタOであるかどうかを署名検証する。
【００３６】
3-7．3-6の署名検証で正当な開票センタOであると確認できたら，集計センタCは票が1または0であることの証明σiを確認し，投票者viの暗号化投票データViと公開情報データXi，集計センタCの秘密情報x，開票センタOの準同型系公開鍵暗号方式のOU関数の公開鍵N2，g2と共通パラメータp，Gを用いて，それぞれ
投票確認データ
Zi = Vi * Xi^x mod N2，
コミットメントデータ
Ci = G^Xi mod p，
集計センタCの公開情報データ
Yi = g2^x mod N2
を生成する。さらに，これらの情報を公開掲示板に掲示するために，安全なハッシュ関数h()でハッシュ値
HC2 = h(Zi,Ci,Yi,MSGC)
を生成し，集計センタCの署名
SigC2 = HC2^dc
を生成する。情報(IDC,Zi,Ci,Yi,MSGC,SigC2)を公開掲示板に掲示する。
【００３７】
3-8．投票者viは公開掲示板に掲示している情報(IDC,Zi,Ci,Yi,MSGC,SigC2)を取得し，集計センタCの署名SigC2について，正当な集計センタCであるかどうかを署名検証する。
【００３８】
3-9．3-8の署名検証で正当な集計センタCであると確認できたら，投票者viは暗号化投票データVi，投票者viの秘密情報データrvi，投票者viの公開情報データXi，投票確認データZi, コミットメントデータCi, 集計センタCの公開情報データYiを用いて，投票確認データとコミットメントデータが正しいかどうかを検証する。
【００３９】
Zi =｛？｝ Vi * Yi^rvi mod N2
Ci =｛？｝ G^Xi mod p
【００４０】
3-10．3-9で投票確認データとコミットメントデータを確認できたら，投票者viによる投票が完了する。投票期日まで同様に繰り返す。
【００４１】
4．集計フェーズ
4-1．投票期日後，任意の検証者(一例では集計センタC)は公開掲示板に掲示している複数の投票確認データZi(i=1,…,n)の積を生成し，その生成した投票確認データの積
Z = П{i=1}^n Zi mod N2
を公開掲示板に掲示する。
【００４２】
4-2．集計センタCは投票者viの公開情報データの積
X = П{i=1}^n Xi mod N2
及び，集計センタCの秘密情報データを用いて，その積のべき乗
T = X^x mod N2
を生成し，さらに，投票確認データの積と投票者の公開情報データの積のべき乗を用いて，集計値データ
Z' = Z / T mod N2
を生成する。これらのデータX，T，Z'を公開掲示板に掲示するために，安全なハッシュ関数h()でハッシュ値
HC3 = h(X,T,Z',MSGC)
を生成し，集計センタCの署名
SigC3 = HC3^dc
を生成する。さらに集計者が正しく集計したことの証明σCを生成し，集計情報(IDC,X,T,Z',σC,MSGC,SigC3)を公開掲示板に掲示する。
【００４３】
5．開票フェーズ 
5-1．開票センタOは公開掲示板に掲示している集計情報(IDC,X,T,Z',σC，MSGC,SigC3)を取得し，集計センタCの署名SigC3について，正当な集計センタCであるかどうかを署名検証する。
【００４４】
5-2．5-1の署名検証で正当な集計センタCであると確認できたら，開票センタOは開票センタOの準同型系公開鍵暗号方式のOU関数の秘密鍵p2と公開鍵g2を用いて，集計値データZ'を復号化して集計結果Mを得る。
【００４５】
Zp2 = Z’^{p2-1} mod p2^2 
gp2 = g2^{p2-1} mod p2^2 
M = L(Zp2) / L(gp2) mod p2
但し，
L(x) = (x-1) / p2
【００４６】
5-3．集計結果Mを公開掲示板に掲示するために，安全なハッシュ関数h()でハッシュ値
HO2 = h(M,MSG0)
を生成し，開票センタOの署名
SigO2 = HO2^dO
を生成する。さらに集計結果Mを正しく復号化したことの証明σOを生成し，集計結果(IDO,M,σO,MSGO,SigO2)を公開掲示板に掲示する。
【００４７】
5-4．開票センタOを除く全てのエンティティが公開掲示板に掲示している集計結果(IDO,M,σO,MSGO,SigO2)を取得し，開票センタOの署名SigO2について，正当な開票センタOであるかどうかを署名検証する。
【００４８】
5-5. 5-4の署名検証で正当な開票センタCであると確認できたら，集計結果Mとその証明σOについて確認し，確認できたら，最終的な集計結果Mが確定する。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施の形態に係る電子投票システムを説明するためのブロック図である。
【符号の説明】
【００５０】
１  投票者端末
２  集計者端末
３  開票者端末
IDi  投票者viの認証番号
Vi  投票内容を暗号化した票
Xi  投票者viの公開情報データ
Y  集計センタCの公開情報データ
σ  Viに対する票の正当性証明
x  集計センタCの秘密情報データ
r  投票者viの秘密情報データ
G  剰余類群の生成元(共通パラメータ)
Ci  コミットメントデータ
【図１】
0004199747.tif 000002