JP4199747B2 - Electronic voting system and electronic voting method - Google Patents

Electronic voting system and electronic voting method Download PDF

Info

Publication number
JP4199747B2
JP4199747B2 JP2005098041A JP2005098041A JP4199747B2 JP 4199747 B2 JP4199747 B2 JP 4199747B2 JP 2005098041 A JP2005098041 A JP 2005098041A JP 2005098041 A JP2005098041 A JP 2005098041A JP 4199747 B2 JP4199747 B2 JP 4199747B2
Authority
JP
Japan
Prior art keywords
data
terminal
vote
voter
voting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005098041A
Other languages
Japanese (ja)
Other versions
JP2006279716A (en
Inventor
祐樹 樋口
敦 北澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Solution Innovators Ltd
Original Assignee
NEC Solution Innovators Ltd
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 NEC Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP2005098041A priority Critical patent/JP4199747B2/en
Publication of JP2006279716A publication Critical patent/JP2006279716A/en
Application granted granted Critical
Publication of JP4199747B2 publication Critical patent/JP4199747B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は電子投票システムに関する。   The present invention relates to an electronic voting system.

近年,電子投票システムを実現する多様な投票プロトコルが考案されている。例えば,山口らによって考案された2センタ方式投票プロトコル(非特許文献1)がある。この投票プロトコルは投票者,開票センタ,集計センタの3つのエンティティで構成され,投票者は開票センタの準同型系公開鍵暗号方式と集計センタのRSA公開鍵暗号方式を用いて投票内容を二重暗号化している。それによって,集計センタが投票者の投じた投票内容を知ることなく,投票の暗号文をそのまま集計し,その集計した投票の集計値の暗号文を開票センタが復号化して平文の投票の集計値を得る。また,投票者の投じた投票内容が1(Yes)または0(No)であることを証明する票の正当性証明を検証して行うことにより,投票者のプライバシを保証し,正当な投票を行っている。   In recent years, various voting protocols for realizing an electronic voting system have been devised. For example, there is a two-center voting protocol devised by Yamaguchi et al. This voting protocol is composed of three entities: voter, counting center, and counting center. The voter doubles the contents of voting by using the homomorphic public key encryption method of the counting center and the RSA public key encryption method of the counting center. It is encrypted. As a result, the ciphertext of the vote is aggregated as it is without knowing the contents of the vote cast by the voter, and the ciphertext of the aggregated vote value is decrypted by the counting center and the plaintext vote aggregate value Get. In addition, by verifying the proof of validity of the vote that proves that the voter's vote contents are 1 (Yes) or 0 (No), the privacy of the voter is guaranteed and a valid vote is made. Is going.

上述した2センタ方式投票プロトコルにおいては,投票内容が1または0であることを証明する票の正当性証明の作成は投票者自身が行う必要がある。その結果,投票者が票の作成を行う段階で,投票内容の暗号化のみでなく,票の正当性証明の作成も行わなければならない。   In the two-center voting protocol described above, the voter himself / herself needs to create a proof of validity of a vote that proves that the voting content is 1 or 0. As a result, when the voter creates a vote, not only the content of the vote is encrypted, but also the validity of the vote must be created.

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, 2003H. 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

それ故に本発明の課題は,投票者自身が行っている票の正当性証明の作成をセンタ側に委譲してセンタ側で行うようにした電子投票システム及び電子投票方法を提供することにある。   Therefore, an object of the present invention is to provide an electronic voting system and an electronic voting method in which the creation of a proof of validity of a vote performed by a voter itself is delegated to the center side.

本発明においては,ディフィー・ヘルマン鍵交換(W. Diffie, M. Hellman. "New Directions in Cryptography", IEEE Trans. on Information Theory, IT-22, 6, pp.644-654, 1976)のテクニックを用いて,票の正当性証明の作成を投票者からセンタ側に委譲する。また,センタ側で作成した票の正当性証明が正当に作成されたものであるかどうかを検証する。   In the present invention, the technique of Diffie-Hellman key exchange (W. Diffie, M. Hellman. "New Directions in Cryptography", IEEE Trans. On Information Theory, IT-22, 6, pp.644-654, 1976) is used. Using it, the creation of the proof of vote validity is delegated from the voter to the center. Also, it is verified whether or not the validity proof of the vote created on the center side has been properly created.

本発明によれば,投票者が暗号化投票データを生成する投票者端末と,集計者が暗号化投票データを集計する集計者端末と,開票者が集計した暗号化投票データを復号し,投票データの集計結果を得る開票者端末とを通信回線を介して接続した電子投票システムであって,集計者端末は,投票者端末が生成した暗号化投票データの内容が1また0であることを確認するために,開票者端末に暗号化投票データを送信して票の正当性証明の作成を依頼する票の正当性証明作成依頼手段と,開票者端末から票の正当性証明を受信する票の正当性証明受信手段と,受信した票の正当性証明に記載している暗号化投票データの内容が1または0であることを確認する票の正当性証明確認手段とを備え,開票者端末は,集計者端末から暗号化投票データを受信して復号し,復号した投票データの内容が1または0であることを確認し,暗号化投票データの内容が1または0であることを記載した票の正当性証明を作成する票の正当性証明作成手段と,集計者端末に票の正当性証明を送信する票の正当性証明送信手段とを備えることを特徴とする電子投票システムが得られる。 According to the present invention, a voter terminal where a voter generates encrypted vote data, a totalizer terminal where a totalizer counts encrypted vote data, and encrypted vote data totaled by a voter are decrypted and voted. An electronic voting system in which a voter terminal that obtains data totaling results is connected via a communication line, and the totalizer terminal confirms that the content of the encrypted voting data generated by the voter terminal is 1 or 0. For confirmation, a vote validity proof creation request means for sending encrypted vote data to the voter terminal to request creation of a vote validity certificate, and a vote for receiving a vote validity certificate from the voter terminal A voter's terminal, and a voter's terminal of the voter's terminal, and a vote validator confirming means for confirming that the content of the encrypted voting data described in the validity certificate of the received vote is 1 or 0 Receives encrypted voting data from the tabulator terminal The validity of the vote that verifies that the content of the decrypted voting data is 1 or 0, and creates a validity proof of the vote that states that the content of the encrypted voting data is 1 or 0 An electronic voting system comprising a proof creation means and a vote validity proof sending means for sending a vote validity proof to the tabulator terminal is obtained.

上記電子投票システムにおいて,投票者端末は,投票データの内容が0また1を選択し,開票者端末の公開鍵を用いて暗号化投票データを生成する暗号化手段と,開票者端末の公開鍵を用いて秘密情報データと公開情報データを生成する情報データ生成手段と,暗号化投票データと公開情報データを集計者端末に送信して投票する投票手段とを備え,集計者端末は,開票者端末の公開鍵を用いて秘密情報データと公開情報データを生成する情報データ生成手段を備えてもよい。 In the above electronic voting system, the voter terminal selects 0 or 1 as the content of the voting data and generates encrypted voting data using the public key of the voter terminal, and the public key of the voter terminal Information data generating means for generating secret information data and public information data by using the voting means, and voting means for transmitting the encrypted voting data and public information data to the totalizer terminal for voting. You may provide the information data production | generation means which produces | generates confidential information data and public information data using the public key of a terminal .

上記電子投票システムにおいて,投票者端末は,電子署名の鍵ペアを生成する第1電子署名の鍵ペア生成手段と,投票データの内容が0または1を選択し,開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて,暗号化投票データを生成する投票作成手段と,生成した暗号化投票データの内容が1または0であることを証明するために集計者端末および開票者端末に票の正当性証明の作成を依頼し,集計者端末に暗号化投票データを送信する投票・依頼手段とを備え,集計者端末は,電子署名の鍵ペアを生成する第2電子署名の鍵ペア生成手段と,投票者端末から暗号化投票データを受信し,暗号化投票データを集計する集計手段とを備え,開票者端末は,電子署名の鍵ペアを生成する第3電子署名の鍵ペア生成手段と,準同型系公開鍵暗号方式の鍵ペアを生成する準同型系公開暗号方式の鍵ペア生成手段と,集計者端末から暗号化投票データの集計値を受信し,開票者端末の準同型系公開鍵暗号方式の秘密鍵を用いて復号し,平文の投票データの集計値を得る開票手段とを備えてもよい。 In the above electronic voting system, the voter terminal selects the first electronic signature key pair generation means for generating the electronic signature key pair, and the content of the voting data is selected as 0 or 1, and the voter terminal is made homomorphic disclosure. A voting means for generating encrypted voting data using a public key of the key encryption method, and a totalizer terminal and a voter terminal to prove that the content of the generated encrypted voting data is 1 or 0 A voting / requesting means for requesting the creation of a proof of validity of a vote and transmitting encrypted voting data to an aggregator terminal, wherein the aggregator terminal generates a key pair for an electronic signature. Generating means and a counting means for receiving encrypted voting data from the voter terminal and counting the encrypted voting data, and the voter terminal generates a key pair for the third electronic signature for generating a digital signature key pair. And keys of homomorphic public key cryptosystem Homomorphic public encryption key pair generation means for generating a pair and the aggregated value of encrypted voting data is received from the tabulator terminal and decrypted using the secret key of the homomorphic public key cryptosystem of the voter terminal And counting means for obtaining a total value of plain text voting data .

上記電子投票システムにおいて,投票者端末は,電子署名の鍵ペアを生成する第1電子署名の鍵ペア生成手段と,投票データの内容が0または1を選択し,開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて,暗号化投票データを生成する投票作成手段と,開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて,秘密情報データと公開情報データを生成する投票者端末の情報データ生成手段と,生成した暗号化投票データの内容が1または0であることを証明するために集計者端末および開票者端末に票の正当性証明の作成を依頼し,集計者端末に暗号化投票データと公開情報データを送信する投票・依頼手段とを備え,集計者端末は,電子署名の鍵ペアを生成する第2電子署名の鍵ペア生成手段と,投票者端末から暗号化投票データと投票者端末の公開情報データを受信する投票受付手段と,開票者端末に暗号化投票データを送信して票の正当性証明の作成を依頼する票の正当性証明作成依頼手段と,開票者端末から票の正当性証明を受信し,票の正当性証明に記載している暗号化投票データの内容が0または1であることを確認する票の正当性証明確認手段と,開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて,秘密情報データ及び公開情報データを生成する集計者端末の情報データ生成手段と,開票者端末の準同型系公開鍵暗号方式の公開鍵と暗号化投票データと投票者端末の公開情報データと集計者端末の秘密情報データとを用いて,投票確認データを生成する投票確認データ生成手段と,開票者端末の準同型系公開鍵暗号方式の共通パラメータと投票者端末の公開情報データとを用いて,コミットメントデータを生成するコミットメントデータ生成手段と,集計者端末の公開情報データと投票確認データとコミットメントデータとを公開掲示板に掲示する公開掲示手段と,公開掲示板に記載している複数の投票確認データの積を算出する投票確認データの積の算出手段と,生成した投票確認データの積を公開掲示板に掲示する投票確認データの積データ公開掲示手段と,複数の投票者端末の公開情報データと集計者端末の秘密情報データと投票確認データの積とを用いて,集計値データを算出する集計値データ算出手段とを備え,開票者端末は,電子署名の鍵ペアを生成する第3電子署名の鍵ペア生成手段と,準同型系公開鍵暗号方式の鍵ペアを生成する準同型系公開暗号方式の鍵ペア生成手段と,集計者端末から暗号化投票データを受信して復号し,復号した投票データの内容が1または0であることを確認し,暗号化投票データの内容が1または0であることを記載した票の正当性証明を作成する票の正当性証明作成手段と,集計者端末に票の正当性証明を送信する票の正当性証明送信手段と,集計者端末から集計値データを受信し,開票者端末の準同型系公開鍵暗号方式の秘密鍵を用いて復号し,平文の投票データの集計値を得る開票手段と,平文の投票データの集計値を公開掲示板に掲示する集計値公開掲示手段とを備えてもよい。 In the above electronic voting system, the voter terminal selects the first electronic signature key pair generation means for generating the electronic signature key pair, and the content of the voting data is selected as 0 or 1, and the voter terminal is made homomorphic disclosure. Secret information data and public information data are generated using a voting means for generating encrypted voting data using a public key of the key encryption method and a public key of the homomorphic public key encryption method of the voter terminal. Information data generation means of the voter terminal, and to verify that the content of the generated encrypted vote data is 1 or 0, request the creator of the voter and the voter terminal to create a proof of validity of the vote. Voting / requesting means for transmitting encrypted voting data and public information data to the voter terminal, and the tabulator terminal includes a second electronic signature key pair generation means for generating an electronic signature key pair and a voter terminal. Encrypted voting data and voters A vote acceptance means for receiving the public information data at the end, a vote validity certificate creation request means for sending encrypted vote data to the voter terminal to request creation of a vote validity certificate, and a vote from the voter terminal A method for confirming the validity of a vote that confirms that the content of the encrypted voting data described in the validity certificate of the vote is 0 or 1, and a homomorphic system of the voter terminal Information data generating means of the tally terminal that generates secret information data and public information data using the public key of the public key cryptosystem, and the public key and encrypted voting data of the homomorphic public key cryptosystem of the voter terminal Voting confirmation data generation means for generating voting confirmation data using the public information data of the voter terminal and the secret information data of the voter terminal, and the common parameters and votes of the homomorphic public key cryptosystem of the voter terminal Public information on the user terminal A commitment data generating means for generating commitment data using the data, a public posting means for posting the public information data, vote confirmation data and commitment data of the tabulator terminal on the public bulletin board; Voting confirmation data product calculating means for calculating the product of a plurality of voting confirmation data, voting confirmation data product posting means for posting the product of the generated voting confirmation data on a public bulletin board, and a plurality of voter terminals Using the product of the public information data, the secret information data of the tabulator terminal, and the voting confirmation data, the voter terminal generates a key pair for the electronic signature. A third electronic signature key pair generation means, a homomorphic public encryption key pair generation means for generating a homomorphic public key encryption key pair, and an aggregator terminal Receive and decrypt the encrypted voting data, confirm that the content of the decrypted voting data is 1 or 0, and verify the validity of the vote that states that the content of the encrypted voting data is 1 or 0 A method for creating a validity proof of a vote for generating a vote, a validity proof sending means for a vote for sending a validity proof of a vote to a tabulator terminal, and receiving the aggregate value data from the tabulator terminal, A counting means for decrypting using a secret key of a public key cryptosystem to obtain a total value of plain text voting data, and a total value public posting means for posting the total value of plain text voting data on a public bulletin board Good.

また本発明によれば,投票者が暗号化投票データを生成する投票者端末と,集計者が暗号化投票データを集計する集計者端末と,開票者が集計した暗号化投票データを復号し,投票データの集計結果を得る開票者端末とを通信回線を介して接続した電子投票システムを利用する電子投票方法であって,集計者端末が,投票者端末が生成した暗号化投票データの内容が1また0であることを確認するために,開票者端末に暗号化投票データを送信して票の正当性証明の作成を依頼するステップと,開票者端末が,集計者端末から暗号化投票データを受信して復号し,復号した投票データの内容が1または0であることを確認し,暗号化投票データの内容が1または0であることを記載した票の正当性証明を作成するステップと,開票者端末が,集計者端末に票の正当性証明を送信するステップと,集計者端末が,開票者端末から票の正当性証明を受信するステップと,集計者端末が,票の正当性証明に記載している暗号化投票データの内容が1または0であることを確認するステップとを備えることを特徴とする電子投票方法が得られる。 Further, according to the present invention, a voter terminal where the voter generates encrypted vote data, a totalizer terminal where the totalizer counts the encrypted vote data, and decryption of the encrypted vote data counted by the voter, An electronic voting method using an electronic voting system in which a voter terminal that obtains voting data count results is connected via a communication line, and the content of encrypted voting data generated by the voter terminal In order to confirm that 1 or 0, the encrypted vote data is sent to the voter terminal to request the creation of the validity certificate of the vote, and the voter terminal sends the encrypted vote data from the totalizer terminal. Receiving and decrypting, confirming that the content of the decrypted voting data is 1 or 0, and creating a proof of validity of the vote stating that the content of the encrypted voting data is 1 or 0; , The voter terminal Sending the validity certificate of the vote to the user, the step of receiving the validity certificate of the vote from the voter terminal by the tabulator terminal, and the encrypted voting described by the tabulator terminal in the validity certificate of the vote And a step of confirming that the content of the data is 1 or 0 is obtained.

上記電子投票方法において,投票者端末が,投票データの内容が0また1を選択し,開票者端末の公開鍵を用いて,暗号化投票データを生成するステップと,投票者端末が,開票者端末の公開鍵を用いて秘密情報データと公開情報データを生成するステップと,投票者端末が,暗号化投票データと公開情報データを集計者端末に送信して投票するステップと,集計者端末が,開票者端末の公開鍵を用いて,秘密情報データと公開情報データを生成するステップとを備えてもよい。 In the above electronic voting method, the voter terminal selects 0 or 1 as the content of the voting data and generates the encrypted voting data using the public key of the voter terminal, and the voter terminal is the voter. Generating secret information data and public information data using the public key of the terminal, a voter terminal transmitting encrypted voting data and public information data to the totalizer terminal for voting, and a totalizer terminal And generating the secret information data and the public information data using the public key of the voter terminal .

上記電子投票方法において,投票者端末が,第1電子署名の鍵ペアを生成するステップと,集計者端末が,第2電子署名の鍵ペアを生成するステップと,開票者端末が,第3電子署名の鍵ペアを生成するステップと,開票者端末が,準同型系公開鍵暗号方式の鍵ペアを生成するステップと,投票者端末が,投票データの内容が0または1を選択し,開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて,暗号化投票データを生成するステップと,投票者端末が,生成した暗号化投票データの内容が1または0であることを証明するために集計者端末および開票者端末に票の正当性証明の作成を依頼し,集計者端末に暗号化投票データを送信するステップと,集計者端末が,投票者端末から暗号化投票データを受信し,暗号化投票データを集計するステップと,開票者端末が,集計者端末から暗号化投票データの集計値を受信し,開票者端末の準同型系公開鍵暗号方式の秘密鍵を用いて復号し,平文の投票データの集計値を得るステップとを備えもよい。 In the electronic voting method, the voter terminal generates a first electronic signature key pair, the tabulator terminal generates a second electronic signature key pair, and the voter terminal The step of generating the signature key pair, the step of the voter terminal generating the key pair of the homomorphic public key cryptosystem, and the voter terminal selecting the content of the voting data 0 or 1, and the voter The step of generating encrypted voting data using the public key of the terminal homomorphic public key cryptosystem, and the voting terminal to prove that the content of the generated encrypted voting data is 1 or 0 Requesting the tabulator terminal and voter terminal to create a proof of validity of the vote, sending the encrypted vote data to the tabulator terminal, and the tabulator terminal receiving the encrypted vote data from the voter terminal , The step of counting encrypted voting data The voter terminal receives the aggregated value of the encrypted vote data from the tabulator terminal, decrypts it using the secret key of the voter terminal's homomorphic public key cryptosystem, and tabulates plaintext vote data Obtaining a value .

上記電子投票方法において,投票者端末が,第1電子署名の鍵ペアを生成するステップと,集計者端末が,第2電子署名の鍵ペアを生成するステップと,開票者端末が,第3電子署名の鍵ペアを生成するステップと,開票者端末が,準同型系公開鍵暗号方式の鍵ペアを生成するステップと,投票者端末が,投票データの内容が0または1を選択し,開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて,暗号化投票データを生成するステップと,投票者端末が,開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて,秘密情報データと公開情報データを生成するステップと,投票者端末が,生成した暗号化投票データの内容が1または0であることを証明するために集計者端末および開票者端末に票の正当性証明の作成を依頼し,集計者端末に暗号化投票データと公開情報データを送信するステップと,集計者端末が,投票者端末から暗号化投票データと投票者端末の公開情報データを受信するステップと,集計者端末が,開票者端末に暗号化投票データを送信して票の正当性証明の作成を依頼するステップと,開票者端末が,集計者端末から暗号化投票データを受信して復号し,復号した投票データの内容が1または0であることを確認し,暗号化投票データの内容が1または0であることを記載した票の正当性証明を作成するステップと,開票者端末が,集計者端末に票の正当性証明を送信するステップと,集計者端末が,開票者端末から票の正当性証明を受信し,票の正当性証明に記載している暗号化投票データの内容が0または1であることを確認するステップと,集計者端末が,開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて,秘密情報データと公開情報データを生成するステップと,集計者端末が,開票者端末の準同型系公開鍵暗号方式の公開鍵と暗号化投票データと投票者端末の公開情報データと集計者端末の秘密情報データとを用いて,投票確認データを生成するステップと,集計者端末が,開票者端末の準同型系公開鍵暗号方式の共通パラメータと投票者端末の公開情報データとを用いて,コミットメントデータを生成するステップと,集計者端末が,集計者端末の公開情報データと投票確認データとコミットメントデータとを公開掲示板に掲示するステップと,集計者端末が,公開掲示板に記載している複数の投票確認データの積を算出するステップと,集計者端末が,算出した投票確認データの積を公開掲示板に掲示するステップと,集計者端末が,複数の投票者端末の公開情報データと集計者端末の秘密情報データと投票確認データの積とを用いて集計値データを算出し,開票者端末に集計値データを送信するステップと,開票者端末が,集計者端末から集計値データを受信し,開票者端末の準同型系公開鍵暗号方式の秘密鍵を用いて復号し,平文の投票データの集計値を得るステップと,開票者端末が,平文の投票データの集計値を公開掲示板に掲示するステップとを備えてもよい。 In the electronic voting method, the voter terminal generates a first electronic signature key pair, the tabulator terminal generates a second electronic signature key pair, and the voter terminal The step of generating the signature key pair, the step of the voter terminal generating the key pair of the homomorphic public key cryptosystem, and the voter terminal selecting the content of the voting data 0 or 1, and the voter A step of generating encrypted voting data using the public key of the homomorphic public key cryptosystem of the terminal, and the voter terminal secretly using the public key of the homomorphic public key cryptosystem of the voter terminal The step of generating information data and public information data, and the voter terminal verifying the validity of the vote to the tabulator terminal and the voter terminal to prove that the content of the generated encrypted vote data is 1 or 0 Requested to create and encrypted to the tabulator terminal Sending the voting data and the public information data, the step of receiving the encrypted vote data and the public information data of the voter terminal from the voter terminal, and the tabulator terminal encrypting the voter terminal to the voter terminal Requesting the creation of a proof of vote vote by sending encrypted voting data, and the voter terminal receives and decrypts the encrypted voting data from the tabulator terminal, and the content of the decrypted voting data is 1 or 0 Confirming that the encrypted voting data content is 1 or 0 and creating a vote proof of validity, and the voter terminal sends the vote proof to the tabulator terminal And a step of confirming that the content of the encrypted voting data described in the validity certificate of the vote is 0 or 1 when the tabulator terminal receives the validity certificate of the vote from the voter terminal , Totalizer terminal is voter The secret information data and the public information data are generated using the public key of the last homomorphic public key cryptosystem, and the tabulator terminal uses the public key and cipher of the homomorphic public key cryptosystem of the voter terminal. Voting confirmation data is generated using the voting data, the public information data of the voter terminal, and the secret information data of the total number terminal, and the total number terminal is a homomorphic public key cryptosystem of the voter terminal. A step of generating commitment data using the common parameters and the public information data of the voter terminal, and a step of posting the public information data, vote confirmation data, and commitment data of the totalizer terminal on the public bulletin board by the tabulator terminal And the tabulator terminal calculates the product of multiple pieces of vote confirmation data listed on the public bulletin board, and the tabulator terminal releases the calculated product of vote confirmation data. The step of posting on the display board and the tabulator terminal calculate the tabulated value data using the product of the public information data of the plurality of voter terminals, the secret information data of the tabulator terminal and the vote confirmation data, and The step of sending the aggregated value data, and the voter terminal receives the aggregated value data from the aggregater terminal, decrypts it using the secret key of the homomorphic public key cryptosystem of the voter terminal, and the plaintext voting data There may be provided a step of obtaining the total value and a step in which the voter terminal posts the total value of the plain text voting data on the public bulletin board .

上記電子投票システムにおいて,投票を行う複数の投票者端末と,投票者端末から暗号化投票データを収集し,収集した暗号化投票データを集計する集計者端末と,投票データの集計結果を開票する開票者端末とを通信回線を介して接続した電子投票システムであって,投票者端末は,前記開票者端末が指定した公開鍵で準同型系公開鍵暗号方式により,投票データを暗号化し暗号化投票データを生成する暗号化手段と,投票確認データ生成に必要な投票者端末の公開情報データを生成する公開情報データ生成手段と,集計者端末によって公開された投票確認データとコミットメントデータを検証する投票確認データ検証手段とを備え,集計者端末は,投票者端末から受信した暗号化投票データを電子署名により,投票者の有権性を検証する有権性検証手段と,票の正当性確認依頼のために開票者端末に投票者端末の暗号化投票データを送信する票の正当性確認依頼手段と,開票者端末から暗号化投票データの内容が1また0であることの証明を受信したことを確認する票の正当性証明確認手段と,投票者端末が作成した暗号化投票データと投票者端末の公開情報データと集計者端末の秘密情報データとを用いて,投票確認データを生成する投票確認データ生成手段と,開票者端末の準同型系暗号方式の共通パラメータと投票者端末の公開情報データとを用いて,コミットメントデータを生成するコミットメント生成手段と,投票確認データとコミットメントデータを公開掲示板に掲示する投票確認データ及びコミットメントデータ公開掲示手段と,投票締め切り後の公開掲示板に掲示している複数の投票確認データの積を生成し,その積のデータを公開掲示板に掲示する投票確認データの積生成手段と,投票締め切り後の各投票者端末から受信した複数の各投票者端末の公開情報データの積を生成し,その生成した積を集計者端末の秘密情報データでべき乗し,さらに,公開掲示板に掲示している投票確認データの積を,べき乗で生成した公開情報データの積で除算した集計値データを,その正しく集計したことの証明とともに公開掲示板に掲示する集計情報データ生成手段と備え,開票者端末は,集計者端末から票の正当性確認依頼を受けて,投票者端末の暗号化投票データを受信し,開票者端末の秘密鍵を用いて復号し,その復号した投票データが1または0であることを確認する正当性確認手段と,正当性確認手段により,暗号化投票データの内容が1または0であることの証明を生成し,その証明を集計者端末に送信する票の正当性証明生成手段と,公開掲示板に掲示している集計値データを開票者端末の秘密鍵で復号し,集計結果データを生成する復号手段と,集計結果データが正しく復号したことの証明を生成する復号処理正当性証明生成手段とを備えてもよい。 In the above electronic voting system, a plurality of voter terminals that perform voting, a total voter terminal that collects encrypted vote data from the voter terminals, and totals the collected encrypted vote data, and a count result of the vote data is counted. An electronic voting system in which a voter terminal is connected via a communication line, and the voter terminal encrypts and encrypts voting data by a homomorphic public key cryptosystem with a public key designated by the voter terminal. The encryption means for generating voting data, the public information data generating means for generating the public information data of the voter terminal necessary for generating the vote confirmation data, and the vote confirmation data and the commitment data released by the tabulator terminal are verified. A vote confirmation data verification means, and the tabulator terminal verifies the voter's vote by using the electronic signature of the encrypted vote data received from the voter terminal. The right verification means, the validity check request means for sending the voted voter terminal's encrypted vote data to the voter terminal for the vote validity check request, and the contents of the encrypted vote data from the voter terminal 1 or 0 for verifying the validity of a vote for confirming that it has received a proof of certification, encrypted vote data created by the voter terminal, public information data of the voter terminal, and secret information data of the tabulator terminal Commitment generation to generate commitment data using voting confirmation data generation means for generating voting confirmation data, common parameters of the homomorphic encryption method of the voter terminal, and public information data of the voter terminal Means, voting confirmation data and commitment data posting means for posting voting confirmation data and commitment data on public bulletin board, and posting on public bulletin board after voting deadline A product for generating vote confirmation data for generating a product of a plurality of vote confirmation data and posting the product data on a public bulletin board, and each of a plurality of voter terminals received from each voter terminal after the vote is closed The product of the public information data is generated, and the generated product is raised to the power of the secret information data of the tabulator terminal, and the product of the vote confirmation data posted on the public bulletin board is raised to the power of the public information data generated by the power Aggregated value data divided by the product is provided with a means for generating aggregate information data that is posted on the public bulletin board along with proof that the data has been correctly aggregated. Receiving the encrypted voting data of the voter terminal, decrypting it using the secret key of the voter terminal, and confirming that the decrypted voting data is 1 or 0, and the validity confirmation means , Generates a proof that the content of the encrypted voting data is 1 or 0, sends the proof to the tabulator terminal, and creates the votes of the aggregated value data posted on the public bulletin board Decryption means for decrypting with the secret key of the user terminal and generating the totaled result data; and decryption processing validity proof generating means for generating a proof that the totaled result data has been correctly decrypted .

上記電子投票方法において,投票を行う複数の投票者端末と,投票者端末から暗号化投票データを収集し,収集した暗号化投票データを集計する集計者端末と,投票データの集計結果を開票する開票者端末とを通信回線を介して接続した電子投票システムを利用する電子投票方法であって,投票者端末が,開票者端末が指定した公開鍵で準同型系公開鍵暗号方式により投票データを暗号化して暗号化投票データを生成するステップと,投票者端末が,投票確認データ生成に必要な投票者端末の公開情報データを生成するステップと,投票者端末が,暗号化投票データと公開情報データを集計者端末に秘密裏に送信するステップと,集計者端末が,投票者端末から受信した暗号化投票データと公開情報データを用いて,電子署名により,投票者の有権性を検証するステップと,集計者端末が,票の正当性確認依頼のために投票者端末の暗号化投票データを開票者端末に秘密裏に送信するステップと,開票者端末が,集計者端末から暗号化投票データを受信し,開票者端末の秘密鍵を用いて復号し,その復号した投票データが1または0であることを確認するステップと,開票者端末が,暗号化投票データの内容が1または0であることの証明を生成するステップと,開票者端末が,暗号化投票データの内容が1または0であることの証明を集計者端末に秘密裏に送信するステップと,集計者端末が,開票者端末から受信した暗号化投票データの内容が1また0であることの証明を確認するステップと,集計者端末が,投票者端末が作成した暗号化投票データと投票者端末の公開情報データと集計者端末の秘密情報データとを用いて投票確認データを生成するステップと,集計者端末が,開票者端末の準同型系暗号方式の共通パラメータと投票者端末の公開情報データとを用いてコミットメントデータを生成するステップと,集計者端末が,投票確認データとコミットメントデータを公開掲示板に掲示するステップと,投票者端末が,公開掲示板に掲示している投票確認データとコミットメントデータを検証するステップと,集計者端末が,投票締め切り後の公開掲示板に掲示している複数の投票確認データの積を生成し,投票確認データの積を公開掲示板に掲示するステップと,集計者端末が,投票締め切り後の各投票者端末から受信した複数の各投票者端末の公開情報データの積を生成し,その生成した公開情報データの積を集計者端末の秘密情報データでべき乗し,さらに,公開掲示板に掲示している投票確認データの積を,べき乗で生成した公開情報データの積で除算した集計値データを生成するステップと,集計者端末が,正しく集計したことの証明を生成するステップと,集計者端末が,集計値データと,その正しく集計したことの証明とともに公開掲示板に掲示するステップと,開票者端末が,公開掲示板に掲示している集計値データを開票者端末の秘密鍵で復号し,集計結果データを生成するステップと,開票者端末が,集計結果データが正しく復号化したことの証明を生成するステップと,開票者端末が,集計結果データと,正しく復号化したことの証明を公開掲示板に掲示するステップとを備えてもよい。 In the electronic voting method described above , a plurality of voter terminals that perform voting, a total voter terminal that collects encrypted vote data from the voter terminals, and totals the collected encrypted vote data, and a count result of the vote data is counted. An electronic voting method using an electronic voting system in which a voter terminal is connected via a communication line, wherein the voter terminal uses a public key designated by the voter terminal to transmit voting data by a homomorphic public key cryptosystem. A step of encrypting and generating encrypted voting data, a step of generating a voter terminal public information data necessary for generating vote confirmation data, and a voter terminal including the encrypted vote data and public information. The step of secretly sending the data to the totalizer terminal, and the totalizer terminal using the encrypted voting data and the public information data received from the voter terminal, using an electronic signature, the voter The step of verifying the voting rights, the step of the countter terminal secretly sending the encrypted vote data of the voter terminal to the voter terminal in order to request the validity of the vote, and the voter terminal Receiving the encrypted voting data from the voter terminal, decrypting it using the secret key of the voter terminal, confirming that the decrypted voting data is 1 or 0, and the voter terminal Generating a proof that the contents of 1 or 0 are secret, and a voter terminal secretly sending a proof that the contents of the encrypted voting data is 1 or 0 to the tabulator terminal; The tabulator terminal confirms the proof that the content of the encrypted voting data received from the voter terminal is 1 or 0, and the tabulator terminal uses the encrypted voting data created by the voter terminal and the voter. Device public information data and tabulator A step of generating vote confirmation data using the secret information data of the terminal, and the tabulator terminal using the common parameter of the homomorphic encryption method of the voter terminal and the public information data of the voter terminal to generate the commitment data A step for generating, a step for the voter terminal to post the vote confirmation data and the commitment data on the public bulletin board, a step for the voter terminal to verify the vote confirmation data and the commitment data posted on the public bulletin board, and the totalization The terminal of the voter generates a product of a plurality of vote confirmation data posted on the public bulletin board after the deadline for voting, and posts the product of the vote confirmation data on the public bulletin board; Generate a product of the public information data of each of the plurality of voter terminals received from the voter terminal, and calculate the product of the generated public information data. A step of generating aggregate value data obtained by dividing the product of the vote confirmation data posted on the public bulletin board by the product of the public information data generated by the power, A step of generating a proof of correct tabulation, a step of posting on the public bulletin board by the tabulator terminal together with the tabulated value data and a proof of correct tabulation, and a voter terminal posting on the public bulletin board The step of decrypting the aggregate value data with the secret key of the voter terminal and generating the aggregation result data, the step of generating the proof that the voter terminal decrypted the aggregation result data correctly, and the voter terminal There may be provided a step of posting the total result data and a proof of correct decryption on a public bulletin board .

本発明によると,投票者が投じた票の正当性証明の作成をセンタ側に委譲することにより,投票者が行う票の作成コストを軽減できる。さらに,投票者がセンタ側で作成した票の正当性証明の存在を確認することができる。   According to the present invention, the creation cost of a vote performed by the voter can be reduced by delegating the creation of the validity proof of the vote cast by the voter to the center side. Furthermore, it is possible to confirm the existence of the validity proof of the vote created by the voter on the center side.

図1に示すシステムモデルは,投票を行う複数の投票者端末(一つのみ図示した)1,投票者端末から投票データを収集し,収集した投票データを集計する集計者端末2,及び投票データの集計結果を開票する開票者端末3を含んでいる。投票者端末1,集計者端末2,及び開票者端末3は,通信回線を介して接続される。ここで,投票者端末1は投票者viに割り当てられ,集計者端末2は集計センタCに割り当てられ,開票者端末3は開票センタOに割り当てられる。なお,図1において,IDiは投票者viの認証番号,Viは投票内容を暗号化した票,Xiは投票者viの公開情報データ,Yは集計センタCの公開情報データ,σはViに対する票の正当性証明,xは集計センタCの秘密情報データ,rは投票者viの秘密情報データ,Gは剰余類群の生成元(共通パラメータ),Ciはコミットメントデータである。 The system model shown in FIG. 1 includes a plurality of voter terminals for voting (only one is shown), a voting data collected from voting terminals, and a total number of voting data collected from the voting data. The voter terminal 3 for counting the totaling results is included. The voter terminal 1, the tabulator terminal 2, and the voter terminal 3 are connected via a communication line. Here, the voter terminal 1 is assigned to the voter vi, the tabulator terminal 2 is assigned to the tabulation center C, and the voter terminal 3 is assigned to the voter center O. In FIG. 1, ID i is an authentication number of the voter vi, V i is a vote in which the contents of the vote are encrypted, X i is public information data of the voter vi, Y is public information data of the aggregation center C, and σ is Proof of vote validity for V i , x is secret information data of the aggregation center C, r is secret information data of the voter vi, G is a generator (common parameter) of a residue class group, and C i is commitment data.

図1のシステムモデルにおいて,投票者vi,集計センタC,及び開票センタOの各々が任意の電子署名の鍵ペアを生成する。また,開票センタOは任意の準同型系公開鍵暗号方式の鍵ペアを生成する。これらの鍵ペアを生成するとき、投票者端末1,集計者端末2,及び開票者端末3の各々は準備手段として働く。   In the system model of FIG. 1, each of the voter vi, the totaling center C, and the counting center O generates an arbitrary electronic signature key pair. In addition, the counting center O generates a key pair of an arbitrary homomorphic public key cryptosystem. When generating these key pairs, each of the voter terminal 1, the tabulator terminal 2, and the voter terminal 3 serves as a preparation means.

次に,投票者viが自ら投票文を暗号化する。このとき投票者端末1は投票作成手段として働く。投票者viは,作成した投票の暗号文を集計センタCに送信し,かつその投票の暗号文が1または0であることを証明する票の正当性証明の作成をセンタ側に委譲する。このとき投票者端末1は投票・委譲手段として働く。   Next, the voter vi himself encrypts the vote sentence. At this time, the voter terminal 1 works as a vote creation means. The voter vi transmits the created ciphertext of the vote to the aggregation center C, and delegates the creation of a proof of validity of the vote certifying that the ciphertext of the vote is 1 or 0 to the center side. At this time, the voter terminal 1 works as a voting / delegation means.

集計センタCは投票者viから送信される投票の暗号文を集計する。このとき集計者端末2は集計手段として働く。   Aggregation center C aggregates the ciphertexts of the votes transmitted from voter vi. At this time, the total number terminal 2 works as a totaling means.

集計センタCが集計した投票の集計値の暗号文を開票センタOが復号化し,投票の集計値の平文を得る。このとき開票者端末3は開票手段として働く。   The counting center O decrypts the ciphertext of the total value of the votes totaled by the totaling center C, and obtains plaintext of the total value of the votes. At this time, the voter terminal 3 serves as a voter.

以下,実施例を用いて説明する。エンティティは,投票者端末1,集計者端末2,及び開票者端末3をそれぞれ割り当てられた投票者vi ,集計センタC,及び開票センタOの3つである。ここでは集計センタC及び開票センタOを纏めてセンタ側と呼ぶ。 In the following, description will be made using examples. The entity is a voter vi assigned to each of the voter terminal 1, the total number terminal 2 and the voter terminal 3. , Totaling center C, and counting center O. Here, the totaling center C and the counting center O are collectively referred to as the center side.

図1のシステムモデルは,以下に順次説明する準備,投票作成,投票・委譲,集計,開票の5つのフェーズで行われる。   The system model in FIG. 1 is performed in five phases: preparation, voting creation, voting / delegation, counting, and vote counting, which will be sequentially described below.

1.準備フェーズ
1-1.投票者viは電子署名のRSA署名の秘密鍵dvi,pvi,qviと公開鍵evi,Nviの鍵ペアを生成する。秘密鍵は秘密に保持し,公開鍵は公開鍵簿に登録する。
1. Preparation phase
1-1. The voter vi generates a key pair of the RSA signature private keys d vi , p vi , q vi and the public keys e vi , N vi of the electronic signature. The private key is kept secret and the public key is registered in the public key book.

1-2.集計センタCは電子署名のRSA署名の秘密鍵dC,pC,qCと公開鍵eC,NCの鍵ペアを生成する。秘密鍵は秘密に保持し,公開鍵は公開鍵簿に登録する。コミットメント生成に必要な共通パラメータp,Gを生成する。 1-2. Aggregation center C generates a key pair of RSA signature private keys d C , p C , q C and public keys e C , N C for electronic signature. The private key is kept secret and the public key is registered in the public key book. Generate common parameters p and G necessary for commitment generation.

1-3.開票センタOは電子署名のRSA署名の秘密鍵dO,pO,qOと公開鍵eO,NOの鍵ペアを生成し,準同型系公開鍵暗号方式のOU関数の秘密鍵p2,q2と公開鍵N2,g2の鍵ペアを生成する。秘密鍵は秘密に保持し,公開鍵は公開鍵簿に登録する。 1-3. The counting center O generates a key pair of the RSA signature private key d O , p O , q O and the public key e O , N O of the electronic signature, and the secret key p 2 of the OU function of the homomorphic public key cryptosystem , q 2 and public key N 2 , g 2 are generated. The private key is kept secret and the public key is registered in the public key book.

2.投票作成フェーズ
2-1.投票者viは票
mi ∈ {0,1}
を選択し,乱数
ri ∈ ZN2
を生成し,開票センタOの準同型系公開鍵暗号方式のOU関数の公開鍵N2,g2を用いて暗号化投票データ
Vi = g2^{mi + N2 * ri} mod N2
を生成する。
2. Voting phase
2-1. Voter vi vote
m i ∈ {0,1}
Select a random number
r i ∈ Z N2
Voting data using the public key N 2 , g 2 of the OU function of the homomorphic public key cryptosystem of the vote center O
V i = g 2 ^ {m i + N 2 * r i} mod N 2
Is generated.

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の個人情報で有権性検証のために選挙人名簿データベースに登録している。
2-2. Voter vi is confidential information data
r vi ∈ Z N2
Generate public information data
X i = g 2 ^ r vi mod N 2
Is generated. Next, use the secure hash function h () to generate the signature
H i = h (V i , MSG vi , X i )
Generates the voter's signature
Sig vi = H i ^ d vi mod N vi
And votes (ID vi , V i , MSG vi , X i , Sig vi ) are secretly transmitted to the aggregation center C. ID vi is an identification number of the voter vi , and MSG vi is personal information of the voter vi and is registered in the electoral list database for verifying the authority.

3.投票・委譲フェーズ
3-1.集計センタCは投票者viから票(IDvi,Vi,MSGvi,Xi,Sigvi)を受信し,投票者viの署名Sigviを投票者viの公開鍵evi,Nviと選挙人名簿データベースとを用いて有権者であるかどうかを署名検証する。
3. Voting and delegation phase
3-1. Aggregation center C receives votes (ID vi , V i , MSG vi , X i , Sig vi ) from voter vi and elects voter vi's signature Sig vi as public key e vi , N vi of voter vi. The signature verification is performed to determine whether or not the person is a voter using a personal list database.

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-2. If the signature verification of 3-1 confirms that the person is a voter, in order to request the validity of the vote from the vote opening center O, the vote (ID vi , V i , MSG vi , X i , Sig vi ) Encrypted voting data V i with a secure hash function h ()
H ci = h (V i , MSG C )
Is generated and the signature of aggregation center C is generated
Sig C1 = H C1 ^ d C
And a validity confirmation request (ID C , V i , MSG C , Sig C1 ) is secretly transmitted to the vote center O.

3-3.開票センタOは集計センタCから正当性確認依頼(IDC,Vi,MSGC,SigC1)を受信し,集計センタCの署名SigC1を集計センタCの公開鍵eC, NCを用いて,正当な集計センタCであるかどうかを署名検証する。 3-3. The counting center O receives the validity check request (ID C , V i , MSG C , Sig C1 ) from the aggregation center C, and uses the signature Sig C1 of the aggregation center C using the public keys e C , N C of the aggregation center C The signature is verified to determine whether it is a valid aggregation center C.

3-4.3-3の署名検証で正当な集計センタCであると確認できたら,正当性確認依頼(IDC,Vi,MSGC,SigC1)の暗号化投票データViを開票センタOの準同型系公開鍵暗号方式のOU関数の秘密鍵p2と公開鍵g2とを用いて復号化して,その復号化した票miの内容が1または0であることの票の正当性確認をする。 If it is confirmed as a legitimate tabulation center C in the signature verification of 3-4.3-3, validity confirmation request (ID C, V i, MSG C, Sig C1) vote counting the encrypted vote data V i of the center O of decrypted by using the secret key p 2 and the public key g 2 of OU function homomorphic system public key encryption method, correctness of the vote that the contents of the vote m i that the decrypted is 1 or 0 Check the sex.

3-5.3-4の正当性確認で票miの内容が1または0であると確認できたら,その票の内容が1または0であることの証明σiを生成し,その証明σiを集計センタCに送信するために,安全なハッシュ関数h()でハッシュ値
HO1 = h(σi,MSGO)
を生成し,開票センタOの署名
SigO1 = HO1^dO
を生成し,集計センタCに証明(IDOi,MSGO,SigO1)を秘密裏に送信する。
3-5. If the content of the vote m i is confirmed to be 1 or 0 in the validity check of 3-4, a proof σ i is generated that the content of the vote is 1 or 0, and the proof σ Hash value with secure hash function h () to send i to aggregation center C
H O1 = h (σ i , MSG O )
Generates the signature of the counting center O
Sig O1 = H O1 ^ d O
And the proof (ID O , σ i , MSG O , Sig O1 ) is secretly transmitted to the aggregation center C.

3-6.集計センタCは開票センタOから証明(IDOi,MSGO,SigO1)を受信し,開票センタOの署名SigO1を開票センタOの公開鍵eO, NOを用いて,正当な開票センタOであるかどうかを署名検証する。 3-6. Aggregation center C receives the proof (ID O , σ i , MSG O , Sig O1 ) from the counting center O , receives the signature Sig O1 of the counting center O and the public keys e O and N O of the counting center O Used to verify the signature of whether it is a valid counting center 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-7. When the signature verification of 3-6 confirms that it is a valid vote center O, the aggregation center C confirms the proof σ i that the vote is 1 or 0 and the voter vi's encrypted vote Using data V i and public information data X i , secret information x of aggregation center C, public keys N 2 and g 2 of the OU function of the homomorphic public key cryptosystem of counting center O, and common parameters p and G, Each vote confirmation data
Z i = V i * X i ^ x mod N 2 ,
Commitment data
C i = G ^ X i mod p,
Public information data of aggregation center C
Y i = g 2 ^ x mod N 2
Is generated. Furthermore, in order to post this information on the public bulletin board, a hash value is obtained with a secure hash function h ().
H C2 = h (Z i , C i , Y i , MSG C )
Is generated and the signature of aggregation center C is generated
Sig C2 = H C2 ^ d c
Is generated. Information (ID C , Z i , C i , Y i , MSG C , Sig C2 ) is posted on the public bulletin board.

3-8.投票者viは公開掲示板に掲示している情報(IDC,Zi,Ci,Yi,MSGC,SigC2)を取得し,集計センタCの署名SigC2について,正当な集計センタCであるかどうかを署名検証する。 3-8. The voter vi obtains information (ID C , Z i , C i , Y i , MSG C , Sig C2 ) posted on the public bulletin board and obtains the signature Sig C2 of the aggregation center C at the valid aggregation center C. Verify whether there is a signature.

3-9.3-8の署名検証で正当な集計センタCであると確認できたら,投票者viは暗号化投票データVi,投票者viの秘密情報データrvi,投票者viの公開情報データXi,投票確認データZi, コミットメントデータCi, 集計センタCの公開情報データYiを用いて,投票確認データとコミットメントデータが正しいかどうかを検証する。 3-9. If it is confirmed by the signature verification of 3-8 that the data is a valid counting center C, the voter vi is the encrypted vote data V i , the secret information data r vi of the voter vi, and the public information of the voter vi Using the data X i , the vote confirmation data Z i , the commitment data C i , and the public information data Y i of the aggregation center C, it is verified whether the vote confirmation data and the commitment data are correct.

Zi ={?} Vi * Yi^rvi mod N2
Ci ={?} G^Xi mod p
Z i = {? } V i * Y i ^ r vi mod N 2
C i = {? } G ^ X i mod p

3-10.3-9で投票確認データとコミットメントデータを確認できたら,投票者viによる投票が完了する。投票期日まで同様に繰り返す。   3-10. When the vote confirmation data and commitment data are confirmed in 3-9, the vote by the voter vi is completed. Repeat until the voting date.

4.集計フェーズ
4-1.投票期日後,任意の検証者(一例では集計センタC)は公開掲示板に掲示している複数の投票確認データZi(i=1,…,n)の積を生成し,その生成した投票確認データの積
Z = П{i=1}^n Zi mod N2
を公開掲示板に掲示する。
Four. Aggregation phase
4-1. After the voting date, an arbitrary verifier (in one example, the aggregation center C) generates a product of a plurality of voting confirmation data Z i (i = 1, ..., n) posted on the public bulletin board, and the generated voting confirmation Data product
Z = П {i = 1} ^ n Z i mod N 2
Will be posted on the public bulletin board.

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)を公開掲示板に掲示する。
4-2. Aggregation center C is the product of the public information data of voter vi
X = П {i = 1} ^ n X i mod N 2
And, using the secret information data of the aggregation center C, the power of the product
T = X ^ x mod N 2
And the aggregate value data using the power of the product of the vote confirmation data and the public information data of the voter
Z '= Z / T mod N 2
Is generated. In order to post these data X, T, Z 'on the public bulletin board, the hash value with a secure hash function h ()
H C3 = h (X, T, Z ', MSG C )
Is generated and the signature of aggregation center C is generated
Sig C3 = H C3 ^ d c
Is generated. Further, proof σ C that the tabulator correctly tabulated is generated, and tabulated information (ID C , X, T, Z ′, σ C , MSG C , Sig C3 ) is posted on the public bulletin board.

5.開票フェーズ
5-1.開票センタOは公開掲示板に掲示している集計情報(IDC,X,T,Z',σC,MSGC,SigC3)を取得し,集計センタCの署名SigC3について,正当な集計センタCであるかどうかを署名検証する。
Five. Ticking phase
5-1. The counting center O acquires the total information (ID C , X, T, Z ', σ C , MSG C , Sig C3 ) posted on the public bulletin board, and the signature center Sig C3 of the total center C is a valid total center. Verifies whether the signature is C or not.

5-2.5-1の署名検証で正当な集計センタCであると確認できたら,開票センタOは開票センタOの準同型系公開鍵暗号方式のOU関数の秘密鍵p2と公開鍵g2を用いて,集計値データZ'を復号化して集計結果Mを得る。 If it is confirmed as a legitimate tabulation center C in the signature verification of 5-2.5-1, vote counting center O is the secret key p 2 with the public key g of OU function of homomorphic-based public key encryption method of vote counting center O 2 is used to decrypt the aggregated value data Z ′ to obtain the aggregated result 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
Z p2 = Z '^ {p 2 -1} mod p 2 ^ 2
g p2 = g 2 ^ {p 2 -1} mod p 2 ^ 2
M = L (Z p2 ) / L (g p2 ) mod p 2
However,
L (x) = (x-1) / p 2

5-3.集計結果Mを公開掲示板に掲示するために,安全なハッシュ関数h()でハッシュ値
HO2 = h(M,MSG0)
を生成し,開票センタOの署名
SigO2 = HO2^dO
を生成する。さらに集計結果Mを正しく復号化したことの証明σOを生成し,集計結果(IDO,M,σO,MSGO,SigO2)を公開掲示板に掲示する。
5-3. Hash value with secure hash function h () to post count result M on public bulletin board
H O2 = h (M, MSG 0 )
Generates the signature of the counting center O
Sig O2 = H O2 ^ d O
Is generated. Further, proof σ O that the total result M is correctly decrypted is generated, and the total result (ID O , M, σ O , MSG O , Sig O2 ) is posted on the public bulletin board.

5-4.開票センタOを除く全てのエンティティが公開掲示板に掲示している集計結果(IDO,M,σO,MSGO,SigO2)を取得し,開票センタOの署名SigO2について,正当な開票センタOであるかどうかを署名検証する。 5-4. The total results (ID O , M, σ O , MSG O , Sig O2 ) posted on the public bulletin board by all the entities except the vote center O are acquired, and the valid vote center for the signature Sig O2 of the vote center O Verify whether it is O or not.

5-5. 5-4の署名検証で正当な開票センタCであると確認できたら,集計結果Mとその証明σOについて確認し,確認できたら,最終的な集計結果Mが確定する。 5-5. If it is confirmed by the signature verification of 5-4 that the center is a valid counting center C, the total result M and its proof σ O are confirmed, and if it is confirmed, the final total result M is determined.

本発明の実施の形態に係る電子投票システムを説明するためのブロック図である。It is a block diagram for demonstrating the electronic voting system which concerns on embodiment of this invention.

符号の説明Explanation of symbols

1 投票者端末
2 集計者端末
3 開票者端末
IDi 投票者viの認証番号
Vi 投票内容を暗号化した票
Xi 投票者viの公開情報データ
Y 集計センタCの公開情報データ
σ Viに対する票の正当性証明
x 集計センタCの秘密情報データ
r 投票者viの秘密情報データ
G 剰余類群の生成元(共通パラメータ)
Ci コミットメントデータ
1 Voter terminal 2 Counter terminal 3 Voter terminal
Identification number of ID i voter vi
V i vote vote
X i voter vi public information data
Y Public information data of tally center C Proof of vote validity for σ V i
x Tally Center C confidential information data
r Voter vi confidential information data
G generator of residue class group (common parameter)
C i commitment data

Claims (10)

投票者が暗号化投票データを生成する投票者端末と,集計者が暗号化投票データを集計する集計者端末と,開票者が集計した暗号化投票データを復号し,投票データの集計結果を得る開票者端末とを通信回線を介して接続した電子投票システムであって,
集計者端末は,
投票者端末が生成した暗号化投票データの内容が1また0であることを確認するために,開票者端末に暗号化投票データを送信して票の正当性証明の作成を依頼する票の正当性証明作成依頼手段と,
開票者端末から票の正当性証明を受信する票の正当性証明受信手段と,
受信した票の正当性証明に記載している暗号化投票データの内容が1または0であることを確認する票の正当性証明確認手段とを備え,
開票者端末は,
集計者端末から暗号化投票データを受信して復号し,復号した投票データの内容が1または0であることを確認し,暗号化投票データの内容が1または0であることを記載した票の正当性証明を作成する票の正当性証明作成手段と,
集計者端末に票の正当性証明を送信する票の正当性証明送信手段とを備える
ことを特徴とする電子投票システム。
The voter terminal where the voter generates encrypted voting data, the tabulator terminal where the tabulator counts the encrypted voting data, and the encrypted voting data tabulated by the voter are decrypted to obtain the voting data count result An electronic voting system in which a voter terminal is connected via a communication line,
The tabulator terminal
In order to confirm that the content of the encrypted voting data generated by the voter terminal is 1 or 0, the validity of the vote that sends the encrypted vote data to the voter terminal and requests the creation of the validity certificate of the vote Sex certificate creation request means;
A vote validity proof receiving means for receiving a vote validity proof from a voter terminal;
A means for verifying the validity of the vote for confirming that the content of the encrypted voting data described in the validity certificate of the received vote is 1 or 0;
The voter terminal
Received and decrypted encrypted voting data from the tabulator terminal, confirmed that the content of the decrypted voting data is 1 or 0, and entered a vote that stated that the content of the encrypted voting data was 1 or 0 A means for creating a validity proof of a vote for creating a validity proof;
An electronic voting system comprising a vote validity proof sending means for sending a vote validity proof to a totalizer terminal.
投票者端末は,
投票データの内容が0また1を選択し,開票者端末の公開鍵を用いて暗号化投票データを生成する暗号化手段と,
開票者端末の公開鍵を用いて秘密情報データと公開情報データを生成する情報データ生成手段と,
暗号化投票データと公開情報データを集計者端末に送信して投票する投票手段とを備え,
集計者端末は,
開票者端末の公開鍵を用いて秘密情報データと公開情報データを生成する情報データ生成手段を備える
ことを特徴とする,請求項1記載の電子投票システム。
The voter terminal
An encryption means for selecting the content of the voting data 0 or 1 and generating encrypted voting data using the public key of the voter terminal;
Information data generating means for generating secret information data and public information data using the public key of the voter terminal;
Voting means for voting by sending encrypted voting data and public information data to the tally terminal,
The tabulator terminal
The electronic voting system according to claim 1, further comprising information data generating means for generating secret information data and public information data using a public key of a voter terminal.
投票者端末は,
電子署名の鍵ペアを生成する第1電子署名の鍵ペア生成手段と,
投票データの内容が0または1を選択し,開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて,暗号化投票データを生成する投票作成手段と,
生成した暗号化投票データの内容が1または0であることを証明するために集計者端末および開票者端末に票の正当性証明の作成を依頼し,集計者端末に暗号化投票データを送信する投票・依頼手段とを備え,
集計者端末は,
電子署名の鍵ペアを生成する第2電子署名の鍵ペア生成手段と,
投票者端末から暗号化投票データを受信し,暗号化投票データを集計する集計手段とを備え,
開票者端末は,
電子署名の鍵ペアを生成する第3電子署名の鍵ペア生成手段と,
準同型系公開鍵暗号方式の鍵ペアを生成する準同型系公開暗号方式の鍵ペア生成手段と,
集計者端末から暗号化投票データの集計値を受信し,開票者端末の準同型系公開鍵暗号方式の秘密鍵を用いて復号し,平文の投票データの集計値を得る開票手段とを備える
ことを特徴とする,請求項1に記載の電子投票システム。
The voter terminal
A first electronic signature key pair generating means for generating an electronic signature key pair;
Voting means for generating encrypted voting data by using the public key of the homomorphic public key cryptosystem of the voter terminal, when the content of the voting data is selected as 0 or 1;
In order to prove that the content of the generated encrypted voting data is 1 or 0, request the tabulator terminal and voter terminal to create a proof of validity of the vote, and send the encrypted voting data to the tabulator terminal. Voting and requesting means,
The tabulator terminal
A second electronic signature key pair generating means for generating an electronic signature key pair;
Receiving encrypted voting data from a voter terminal, and tallying the encrypted voting data;
The voter terminal
A third electronic signature key pair generating means for generating an electronic signature key pair;
A homomorphic public encryption key pair generating means for generating a homomorphic public key encryption key pair;
And a vote counting means for receiving the aggregated value of the encrypted voting data from the tabulator terminal, decrypting it using the secret key of the homomorphic public key cryptosystem of the voter terminal, and obtaining the tabulated value of the plaintext voting data. The electronic voting system according to claim 1, wherein:
投票者端末は,
電子署名の鍵ペアを生成する第1電子署名の鍵ペア生成手段と,
投票データの内容が0または1を選択し,開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて,暗号化投票データを生成する投票作成手段と,
開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて,秘密情報データと公開情報データを生成する投票者端末の情報データ生成手段と,
生成した暗号化投票データの内容が1または0であることを証明するために集計者端末および開票者端末に票の正当性証明の作成を依頼し,集計者端末に暗号化投票データと公開情報データを送信する投票・依頼手段とを備え,
集計者端末は,
電子署名の鍵ペアを生成する第2電子署名の鍵ペア生成手段と,
投票者端末から暗号化投票データと投票者端末の公開情報データを受信する投票受付手段と,
開票者端末に暗号化投票データを送信して票の正当性証明の作成を依頼する票の正当性証明作成依頼手段と,
開票者端末から票の正当性証明を受信し,票の正当性証明に記載している暗号化投票データの内容が0または1であることを確認する票の正当性証明確認手段と,
開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて,秘密情報データ及び公開情報データを生成する集計者端末の情報データ生成手段と,
開票者端末の準同型系公開鍵暗号方式の公開鍵と暗号化投票データと投票者端末の公開情報データと集計者端末の秘密情報データとを用いて,投票確認データを生成する投票確認データ生成手段と,
開票者端末の準同型系公開鍵暗号方式の共通パラメータと投票者端末の公開情報データとを用いて,コミットメントデータを生成するコミットメントデータ生成手段と,
集計者端末の公開情報データと投票確認データとコミットメントデータとを公開掲示板に掲示する公開掲示手段と,
公開掲示板に記載している複数の投票確認データの積を算出する投票確認データの積の算出手段と,
生成した投票確認データの積を公開掲示板に掲示する投票確認データの積データ公開掲示手段と,
複数の投票者端末の公開情報データと集計者端末の秘密情報データと投票確認データの積とを用いて,集計値データを算出する集計値データ算出手段とを備え,
開票者端末は,
電子署名の鍵ペアを生成する第3電子署名の鍵ペア生成手段と,
準同型系公開鍵暗号方式の鍵ペアを生成する準同型系公開暗号方式の鍵ペア生成手段と,
集計者端末から暗号化投票データを受信して復号し,復号した投票データの内容が1または0であることを確認し,暗号化投票データの内容が1または0であることを記載した票の正当性証明を作成する票の正当性証明作成手段と,
集計者端末に票の正当性証明を送信する票の正当性証明送信手段と,
集計者端末から集計値データを受信し,開票者端末の準同型系公開鍵暗号方式の秘密鍵を用いて復号し,平文の投票データの集計値を得る開票手段と,
平文の投票データの集計値を公開掲示板に掲示する集計値公開掲示手段とを備える
ことを特徴とする,請求項1〜3の何れか一に記載の電子投票システム。
The voter terminal
A first electronic signature key pair generating means for generating an electronic signature key pair;
Voting means for generating encrypted voting data by using the public key of the homomorphic public key cryptosystem of the voter terminal, when the content of the voting data is selected as 0 or 1;
Information data generating means of a voter terminal that generates secret information data and public information data using the public key of the homomorphic public key cryptosystem of the voter terminal,
In order to prove that the content of the generated encrypted voting data is 1 or 0, the totalizer terminal and the voter terminal are requested to create a proof of validity of the vote, and the encrypted voting data and public information are sent to the totalizer terminal. Voting / requesting means for sending data,
The tabulator terminal
A second electronic signature key pair generating means for generating an electronic signature key pair;
Voting acceptance means for receiving encrypted voting data and voting terminal public information data from the voting terminal;
A vote validity certificate creation requesting means for sending encrypted vote data to the voter terminal and requesting the creation of a vote validity certificate;
A vote validity proof confirmation means for receiving a vote validity certificate from the voter terminal and confirming that the content of the encrypted vote data described in the vote validity certificate is 0 or 1;
An information data generating means of an aggregator terminal that generates secret information data and public information data using a public key of the homomorphic public key cryptosystem of the voter terminal;
Vote confirmation data generation for generating vote confirmation data using the public key of the homomorphic public key cryptosystem of the voter terminal, the encrypted vote data, the public information data of the voter terminal, and the secret information data of the tabulator terminal Means,
Commitment data generation means for generating commitment data using the common parameters of the homomorphic public key cryptosystem of the voter terminal and the public information data of the voter terminal;
A public posting means for posting the public information data, vote confirmation data, and commitment data of the tabulator terminal on a public bulletin board;
A means for calculating a product of vote confirmation data for calculating a product of a plurality of vote confirmation data described in a public bulletin board;
Product data public posting means for posting the vote confirmation data on the public bulletin board;
A total value data calculation means for calculating total value data using the product of the public information data of a plurality of voter terminals, the secret information data of the total number terminal, and the vote confirmation data;
The voter terminal
A third electronic signature key pair generating means for generating an electronic signature key pair;
A homomorphic public encryption key pair generating means for generating a homomorphic public key encryption key pair;
Received and decrypted encrypted voting data from the tabulator terminal, confirmed that the content of the decrypted voting data is 1 or 0, and entered a vote that stated that the content of the encrypted voting data was 1 or 0 A means for creating a validity proof of a vote for creating a validity proof;
A means for transmitting the validity certificate of the vote for transmitting the validity certificate of the vote to the totalizer terminal;
A vote counting means for receiving count value data from the tabulator terminal, decrypting it using the secret key of the homomorphic public key cryptosystem of the voter terminal, and obtaining a count value of plain text voting data;
The electronic voting system according to any one of claims 1 to 3, further comprising aggregate value public posting means for posting the aggregate value of plain text voting data on a public bulletin board.
投票者が暗号化投票データを生成する投票者端末と,集計者が暗号化投票データを集計する集計者端末と,開票者が集計した暗号化投票データを復号し,投票データの集計結果を得る開票者端末とを通信回線を介して接続した電子投票システムを利用する電子投票方法であって,
集計者端末が,投票者端末が生成した暗号化投票データの内容が1また0であることを確認するために,開票者端末に暗号化投票データを送信して票の正当性証明の作成を依頼するステップと,
開票者端末が,集計者端末から暗号化投票データを受信して復号し,復号した投票データの内容が1または0であることを確認し,暗号化投票データの内容が1または0であることを記載した票の正当性証明を作成するステップと,
開票者端末が,集計者端末に票の正当性証明を送信するステップと,
集計者端末が,開票者端末から票の正当性証明を受信するステップと,
集計者端末が,票の正当性証明に記載している暗号化投票データの内容が1または0であることを確認するステップと
を備えることを特徴とする電子投票方法。
The voter terminal where the voter generates encrypted voting data, the tabulator terminal where the tabulator counts the encrypted voting data, and the encrypted voting data tabulated by the voter are decrypted to obtain the voting data count result An electronic voting method using an electronic voting system in which a voter terminal is connected via a communication line,
In order to confirm that the content of the encrypted voting data generated by the voter terminal is 1 or 0, the tabulator terminal sends the encrypted voting data to the voter terminal and creates a proof of validity of the vote. A requesting step,
The voter terminal receives and decrypts the encrypted voting data from the tabulator terminal, confirms that the content of the decrypted voting data is 1 or 0, and the content of the encrypted voting data is 1 or 0 Creating a proof of validity of the vote containing
The voter terminal sends a vote proof to the tabulator terminal;
The tabulator terminal receiving a vote proof from the voter terminal;
The electronic voting method comprising: a step of confirming that the content of the encrypted voting data described in the validity certificate of the vote is 1 or 0.
投票者端末が,投票データの内容が0また1を選択し,開票者端末の公開鍵を用いて,暗号化投票データを生成するステップと,
投票者端末が,開票者端末の公開鍵を用いて秘密情報データと公開情報データを生成するステップと,
投票者端末が,暗号化投票データと公開情報データを集計者端末に送信して投票するステップと,
集計者端末が,開票者端末の公開鍵を用いて,秘密情報データと公開情報データを生成するステップと
を備えることを特徴とする,請求項5記載の電子投票方法。
The voter terminal selects 0 or 1 as the content of the vote data, and generates encrypted vote data using the public key of the voter terminal;
The voter terminal generates secret information data and public information data using the public key of the voter terminal;
A voter terminal transmitting encrypted voting data and public information data to a totalizer terminal for voting;
The electronic voting method according to claim 5, further comprising: a step of generating secret information data and public information data by using the public key of the voter terminal.
投票者端末が,第1電子署名の鍵ペアを生成するステップと,
集計者端末が,第2電子署名の鍵ペアを生成するステップと,
開票者端末が,第3電子署名の鍵ペアを生成するステップと,
開票者端末が,準同型系公開鍵暗号方式の鍵ペアを生成するステップと,
投票者端末が,投票データの内容が0または1を選択し,開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて,暗号化投票データを生成するステップと,
投票者端末が,生成した暗号化投票データの内容が1または0であることを証明するために集計者端末および開票者端末に票の正当性証明の作成を依頼し,集計者端末に暗号化投票データを送信するステップと,
集計者端末が,投票者端末から暗号化投票データを受信し,暗号化投票データを集計するステップと,
開票者端末が,集計者端末から暗号化投票データの集計値を受信し,開票者端末の準同型系公開鍵暗号方式の秘密鍵を用いて復号し,平文の投票データの集計値を得るステップと
を備えることを特徴とする,請求項5に記載の電子投票方法。
The voter terminal generates a key pair for the first electronic signature;
A step of generating a key pair of the second electronic signature by the aggregator terminal;
A voter terminal generating a third electronic signature key pair;
A voter terminal generating a key pair of a homomorphic public key cryptosystem;
The voter terminal selects 0 or 1 for the content of the vote data, and generates encrypted vote data using the public key of the homomorphic public key cryptosystem of the voter terminal;
In order to prove that the content of the encrypted vote data generated by the voter terminal is 1 or 0, the voter terminal requests the tabulator terminal and the voter terminal to create a proof of validity of the vote, and the tabulator terminal encrypts it. Sending voting data;
A step of receiving the encrypted voting data from the voter terminal and counting the encrypted voting data;
The voter terminal receives the aggregated value of the encrypted vote data from the aggregater terminal, decrypts it using the secret key of the homomorphic public key cryptosystem of the voter terminal, and obtains the aggregated value of the plaintext vote data The electronic voting method according to claim 5, further comprising:
投票者端末が,第1電子署名の鍵ペアを生成するステップと,
集計者端末が,第2電子署名の鍵ペアを生成するステップと,
開票者端末が,第3電子署名の鍵ペアを生成するステップと,
開票者端末が,準同型系公開鍵暗号方式の鍵ペアを生成するステップと,
投票者端末が,投票データの内容が0または1を選択し,開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて,暗号化投票データを生成するステップと,
投票者端末が,開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて,秘密情報データと公開情報データを生成するステップと,
投票者端末が,生成した暗号化投票データの内容が1または0であることを証明するために集計者端末および開票者端末に票の正当性証明の作成を依頼し,集計者端末に暗号化投票データと公開情報データを送信するステップと,
集計者端末が,投票者端末から暗号化投票データと投票者端末の公開情報データを受信するステップと,
集計者端末が,開票者端末に暗号化投票データを送信して票の正当性証明の作成を依頼するステップと,
開票者端末が,集計者端末から暗号化投票データを受信して復号し,復号した投票データの内容が1または0であることを確認し,暗号化投票データの内容が1または0であることを記載した票の正当性証明を作成するステップと,
開票者端末が,集計者端末に票の正当性証明を送信するステップと,
集計者端末が,開票者端末から票の正当性証明を受信し,票の正当性証明に記載している暗号化投票データの内容が0または1であることを確認するステップと,
集計者端末が,開票者端末の準同型系公開鍵暗号方式の公開鍵を用いて,秘密情報データと公開情報データを生成するステップと,
集計者端末が,開票者端末の準同型系公開鍵暗号方式の公開鍵と暗号化投票データと投票者端末の公開情報データと集計者端末の秘密情報データとを用いて,投票確認データを生成するステップと,
集計者端末が,開票者端末の準同型系公開鍵暗号方式の共通パラメータと投票者端末の公開情報データとを用いて,コミットメントデータを生成するステップと,
集計者端末が,集計者端末の公開情報データと投票確認データとコミットメントデータとを公開掲示板に掲示するステップと,
集計者端末が,公開掲示板に記載している複数の投票確認データの積を算出するステップと,
集計者端末が,算出した投票確認データの積を公開掲示板に掲示するステップと,
集計者端末が,複数の投票者端末の公開情報データと集計者端末の秘密情報データと投票確認データの積とを用いて集計値データを算出し,開票者端末に集計値データを送信するステップと,
開票者端末が,集計者端末から集計値データを受信し,開票者端末の準同型系公開鍵暗号方式の秘密鍵を用いて復号し,平文の投票データの集計値を得るステップと,
開票者端末が,平文の投票データの集計値を公開掲示板に掲示するステップと
を備えることを特徴とする,請求項5〜7の何れか一に記載の電子投票方法。
The voter terminal generates a key pair for the first electronic signature;
A step of generating a key pair of the second electronic signature by the aggregator terminal;
A voter terminal generating a third electronic signature key pair;
A voter terminal generating a key pair of a homomorphic public key cryptosystem;
The voter terminal selects 0 or 1 for the content of the vote data, and generates encrypted vote data using the public key of the homomorphic public key cryptosystem of the voter terminal;
The voter terminal generates secret information data and public information data using the public key of the homomorphic public key cryptosystem of the voter terminal;
In order to prove that the content of the encrypted vote data generated by the voter terminal is 1 or 0, the voter terminal requests the tabulator terminal and the voter terminal to create a proof of validity of the vote, and the tabulator terminal encrypts it. Sending voting data and public information data;
The tabulator terminal receives the encrypted vote data and the public information data of the voter terminal from the voter terminal;
A step in which the tabulator terminal sends encrypted vote data to the voter terminal and requests creation of a proof of validity of the vote;
The voter terminal receives and decrypts the encrypted voting data from the tabulator terminal, confirms that the content of the decrypted voting data is 1 or 0, and the content of the encrypted voting data is 1 or 0 Creating a proof of validity of the vote containing
The voter terminal sends a vote proof to the tabulator terminal;
A step of the tally terminal receiving a vote proof from the voter terminal and confirming that the content of the encrypted voting data described in the vote proof is 0 or 1;
A step of generating the secret information data and the public information data by using the public key of the homomorphic public key cryptosystem of the voter terminal;
The tabulator terminal generates vote confirmation data using the public key of the homomorphic public key cryptosystem of the voter terminal, the encrypted vote data, the public information data of the voter terminal, and the secret information data of the tabulator terminal. Steps to do,
The tabulator terminal generates commitment data using the common parameters of the homomorphic public key cryptosystem of the voter terminal and the public information data of the voter terminal;
A step in which the tabulator terminal posts the public information data, vote confirmation data, and commitment data of the tabulator terminal on the public bulletin board;
A step of calculating a product of a plurality of voting confirmation data described in the public bulletin board by the tabulator terminal;
A step in which the tabulator terminal posts the product of the calculated voting confirmation data on a public bulletin board;
A step of calculating total value data by using a product of public information data of a plurality of voter terminals, secret information data of the total number terminal, and vote confirmation data, and transmitting the total value data to the voter terminal When,
The voter terminal receives the aggregated value data from the aggregater terminal, decrypts it using the secret key of the homomorphic public key cryptosystem of the voter terminal, and obtains the aggregated value of the plaintext voting data;
The electronic balloting method according to any one of claims 5 to 7, further comprising a step of posting the total value of plain text voting data on a public bulletin board.
投票を行う複数の投票者端末と,投票者端末から暗号化投票データを収集し,収集した暗号化投票データを集計する集計者端末と,投票データの集計結果を開票する開票者端末とを通信回線を介して接続した電子投票システムであって,
投票者端末は,
前記開票者端末が指定した公開鍵で準同型系公開鍵暗号方式により,投票データを暗号化して暗号化投票データを生成する暗号化手段と,
投票確認データ生成に必要な投票者端末の公開情報データを生成する公開情報データ生成手段と,
集計者端末によって公開された投票確認データとコミットメントデータを検証する投票確認データ検証手段とを備え,
集計者端末は,
投票者端末から受信した暗号化投票データを電子署名により,投票者の有権性を検証する有権性検証手段と,
票の正当性確認依頼のために開票者端末に投票者端末の暗号化投票データを送信する票の正当性確認依頼手段と,
開票者端末から暗号化投票データの内容が1また0であることの証明を受信したことを確認する票の正当性証明確認手段と,
投票者端末が作成した暗号化投票データと投票者端末の公開情報データと集計者端末の秘密情報データとを用いて,投票確認データを生成する投票確認データ生成手段と,
開票者端末の準同型系暗号方式の共通パラメータと投票者端末の公開情報データとを用いて,コミットメントデータを生成するコミットメント生成手段と,
投票確認データとコミットメントデータを公開掲示板に掲示する投票確認データ及びコミットメントデータ公開掲示手段と,
投票締め切り後の公開掲示板に掲示している複数の投票確認データの積を生成し,その積のデータを公開掲示板に掲示する投票確認データの積生成手段と,
投票締め切り後の各投票者端末から受信した複数の各投票者端末の公開情報データの積を生成し,その生成した積を集計者端末の秘密情報データでべき乗し,さらに,公開掲示板に掲示している投票確認データの積を,べき乗で生成した公開情報データの積で除算した集計値データを,その正しく集計したことの証明とともに公開掲示板に掲示する集計情報データ生成手段と備え,
開票者端末は,
集計者端末から票の正当性確認依頼を受けて,投票者端末の暗号化投票データを受信し,開票者端末の秘密鍵を用いて復号し,その復号した投票データが1または0であることを確認する正当性確認手段と,
正当性確認手段により,暗号化投票データの内容が1または0であることの証明を生成し,その証明を集計者端末に送信する票の正当性証明生成手段と,
公開掲示板に掲示している集計値データを開票者端末の秘密鍵で復号し,集計結果データを生成する復号手段と,
集計結果データが正しく復号したことの証明を生成する復号処理正当性証明生成手段とを備える
ことを特徴とする,請求項1又は2に記載の電子投票システム。
Communication between a plurality of voter terminals that perform voting, a totalizer terminal that collects encrypted vote data from the voter terminal, and totals the collected encrypted vote data, and a voter terminal that counts the totaled result of the vote data An electronic voting system connected via a line,
The voter terminal
Encryption means for encrypting voting data and generating encrypted voting data by a homomorphic public key cryptosystem with a public key designated by the voter terminal;
Public information data generation means for generating public information data of voter terminals necessary for generating vote confirmation data;
A voting confirmation data verification means for verifying the voting confirmation data and commitment data published by the tabulator terminal;
The tabulator terminal
A voter verifier that verifies the voter's vote with the electronic signature of the encrypted vote data received from the voter terminal;
A vote validity check requesting means for sending encrypted vote data of a voter terminal to a voter terminal for a vote validity check request;
A means for confirming the validity of a vote that confirms that the proof that the content of the encrypted voting data is 1 or 0 has been received from the voter terminal;
Voting confirmation data generating means for generating voting confirmation data using the encrypted voting data created by the voting terminal, the public information data of the voting terminal, and the secret information data of the totaling terminal;
A commitment generation means for generating commitment data using the common parameters of the homomorphic encryption method of the voter terminal and the public information data of the voter terminal;
Voting confirmation data and commitment data disclosure posting means for posting voting confirmation data and commitment data on a public bulletin board;
A means for generating a product of vote confirmation data for generating a product of a plurality of vote confirmation data posted on the public bulletin board after the deadline for voting, and posting the product data on the public bulletin board;
Generate the product of the public information data of each voter terminal received from each voter terminal after the voting deadline, power the generated product with the secret information data of the tabulator terminal, and post it on the public bulletin board And aggregate information data generating means for posting the aggregated value data obtained by dividing the product of the voting confirmation data by the product of the public information data generated by the power together with a proof that the aggregated data is correctly compiled on the public bulletin board,
The voter terminal
The voter terminal receives encrypted vote data from the tabulator terminal, receives the encrypted vote data of the voter terminal, decrypts it using the secret key of the voter terminal, and the decrypted vote data is 1 or 0 A legitimacy checking means for checking
A validity verification means for generating a proof that the content of the encrypted voting data is 1 or 0, and sending the proof to the tabulator terminal;
Decryption means for decrypting the aggregated value data posted on the public bulletin board with the secret key of the voter terminal, and generating aggregated result data;
The electronic voting system according to claim 1, further comprising: decryption processing validity proof generation means for generating proof that the total result data has been correctly decrypted.
投票を行う複数の投票者端末と,投票者端末から暗号化投票データを収集し,収集した暗号化投票データを集計する集計者端末と,投票データの集計結果を開票する開票者端末とを通信回線を介して接続した電子投票システムを利用する電子投票方法であって,
投票者端末が,開票者端末が指定した公開鍵で準同型系公開鍵暗号方式により投票データを暗号化して暗号化投票データを生成するステップと,
投票者端末が,投票確認データ生成に必要な投票者端末の公開情報データを生成するステップと,
投票者端末が,暗号化投票データと公開情報データを集計者端末に秘密裏に送信するステップと,
集計者端末が,投票者端末から受信した暗号化投票データと公開情報データを用いて,電子署名により,投票者の有権性を検証するステップと,
集計者端末が,票の正当性確認依頼のために投票者端末の暗号化投票データを開票者端末に秘密裏に送信するステップと,
開票者端末が,集計者端末から暗号化投票データを受信し,開票者端末の秘密鍵を用いて復号し,その復号した投票データが1または0であることを確認するステップと,
開票者端末が,暗号化投票データの内容が1または0であることの証明を生成するステップと,
開票者端末が,暗号化投票データの内容が1または0であることの証明を集計者端末に秘密裏に送信するステップと,
集計者端末が,開票者端末から受信した暗号化投票データの内容が1また0であることの証明を確認するステップと,
集計者端末が,投票者端末が作成した暗号化投票データと投票者端末の公開情報データと集計者端末の秘密情報データとを用いて投票確認データを生成するステップと,
集計者端末が,開票者端末の準同型系暗号方式の共通パラメータと投票者端末の公開情報データとを用いてコミットメントデータを生成するステップと,
集計者端末が,投票確認データとコミットメントデータを公開掲示板に掲示するステップと,
投票者端末が,公開掲示板に掲示している投票確認データとコミットメントデータを検証するステップと,
集計者端末が,投票締め切り後の公開掲示板に掲示している複数の投票確認データの積を生成し,投票確認データの積を公開掲示板に掲示するステップと,
集計者端末が,投票締め切り後の各投票者端末から受信した複数の各投票者端末の公開情報データの積を生成し,その生成した公開情報データの積を集計者端末の秘密情報データでべき乗し,さらに,公開掲示板に掲示している投票確認データの積を,べき乗で生成した公開情報データの積で除算した集計値データを生成するステップと,
集計者端末が,正しく集計したことの証明を生成するステップと,
集計者端末が,集計値データと,その正しく集計したことの証明とともに公開掲示板に掲示するステップと,
開票者端末が,公開掲示板に掲示している集計値データを開票者端末の秘密鍵で復号し,集計結果データを生成するステップと,
開票者端末が,集計結果データが正しく復号化したことの証明を生成するステップと,
開票者端末が,集計結果データと,正しく復号化したことの証明を公開掲示板に掲示するステップと
を備えることを特徴とする,請求項5又は6に記載の電子投票方法。
Communication between a plurality of voter terminals that perform voting, a total voter terminal that collects encrypted vote data from the voter terminals, and totals the collected encrypted vote data, and a voter terminal that counts the totals of the vote data An electronic voting method using an electronic voting system connected via a line,
The voter terminal encrypts the voting data by the homomorphic public key cryptosystem with the public key designated by the voter terminal, and generates encrypted voting data;
A step in which the voter terminal generates public information data of the voter terminal necessary for generating the vote confirmation data;
The voter terminal secretly sending the encrypted vote data and the public information data to the tabulator terminal;
A step of verifying the voter's vote by electronic signature using the encrypted voting data and the public information data received from the voter terminal;
A step of the secretary terminal secretly sending the voter terminal's encrypted vote data to the voter terminal in order to request the validity of the vote;
The voter terminal receives encrypted voting data from the tabulator terminal, decrypts it using the secret key of the voter terminal, and confirms that the decrypted voting data is 1 or 0;
A voter terminal generating a proof that the content of the encrypted voting data is 1 or 0;
The voter terminal secretly sends a proof that the content of the encrypted voting data is 1 or 0 to the tabulator terminal;
A step in which the tabulator terminal confirms the proof that the content of the encrypted voting data received from the voter terminal is 1 or 0;
A step of generating vote confirmation data using the encrypted vote data created by the voter terminal, the public information data of the voter terminal, and the secret information data of the voter terminal;
A step of generating a commitment data by using a common parameter of a homomorphic encryption method of a voter terminal and public information data of a voter terminal;
A step in which the tabulator terminal posts vote confirmation data and commitment data on a public bulletin board;
A step in which a voter terminal verifies vote confirmation data and commitment data posted on a public bulletin board;
A step of generating a product of a plurality of vote confirmation data posted on the public bulletin board after the deadline for voting and posting the product of the vote confirmation data on the public bulletin board;
The totalizer terminal generates a product of the public information data of each of the plurality of voter terminals received from each voter terminal after the voting deadline, and the product of the generated public information data is a power of the secret information data of the totalizer terminal And, further, generating aggregate value data obtained by dividing the product of the vote confirmation data posted on the public bulletin board by the product of the public information data generated by a power,
A step of generating a proof that the tabulator terminal has tabulated correctly;
A step of posting on the public bulletin board together with the total value data and the proof that the totalizer terminal has correctly counted,
The voter terminal decrypting the aggregated value data posted on the public bulletin board with the secret key of the voter terminal and generating the aggregation result data;
A step of generating a proof that the voter terminal decrypted the counting result data correctly;
The electronic balloting method according to claim 5 or 6, characterized in that the voter terminal includes a step of posting the total result data and a proof of correct decryption on a public bulletin board.
JP2005098041A 2005-03-30 2005-03-30 Electronic voting system and electronic voting method Expired - Fee Related JP4199747B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005098041A JP4199747B2 (en) 2005-03-30 2005-03-30 Electronic voting system and electronic voting method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005098041A JP4199747B2 (en) 2005-03-30 2005-03-30 Electronic voting system and electronic voting method

Publications (2)

Publication Number Publication Date
JP2006279716A JP2006279716A (en) 2006-10-12
JP4199747B2 true JP4199747B2 (en) 2008-12-17

Family

ID=37213950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005098041A Expired - Fee Related JP4199747B2 (en) 2005-03-30 2005-03-30 Electronic voting system and electronic voting method

Country Status (1)

Country Link
JP (1) JP4199747B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230162182A1 (en) * 2018-01-18 2023-05-25 nChain Holdings Limited Computer-implemented decision making system and method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230162182A1 (en) * 2018-01-18 2023-05-25 nChain Holdings Limited Computer-implemented decision making system and method
US11943331B2 (en) * 2018-01-18 2024-03-26 Nchain Licensing Ag Computer-implemented decision making system and method

Also Published As

Publication number Publication date
JP2006279716A (en) 2006-10-12

Similar Documents

Publication Publication Date Title
JP4818264B2 (en) Method and system for generating a list signature
Demirel et al. Improving Helios with Everlasting Privacy Towards the Public.
Kumar et al. A secure end-to-end verifiable internet-voting system using identity-based blind signature
CN114255034A (en) Electronic voting method capable of verifying fairness based on block chain
Darwish et al. A new cryptographic voting verifiable scheme for e-voting system based on bit commitment and blind signature
Chang et al. An anonymous voting mechanism based on the key exchange protocol
Backes et al. Using mobile device communication to strengthen e-voting protocols
Smart et al. True trustworthy elections: remote electronic voting using trusted computing
JP4309367B2 (en) Electronic voting system and electronic voting method
Mateu et al. Constructing credential-based E-voting systems from offline E-coin protocols
Malina et al. Secure electronic voting based on group signatures
Rodríguez-Henríquez et al. Yet another improvement over the Mu–Varadharajan e-voting protocol
US10686599B2 (en) Method for the verification of the correct content of an encoded message
KR100653361B1 (en) Electronic voting method and system which is able to identify a voter`s ballot effective in counting of electronic vote
Fan et al. An efficient multi-receipt mechanism for uncoercible anonymous electronic voting
Zwierko et al. A light-weight e-voting system with distributed trust
JP4199747B2 (en) Electronic voting system and electronic voting method
Abd-alrazzq et al. Secure internet voting system based on public key kerberos
Alam et al. Electronic voting-Scopes and limitations
KR101167647B1 (en) An Electron Vote Symtem
Zhang et al. A lightweight electronic voting scheme based on blind signature and Kerberos mechanism
Khader et al. Proving {Prêt}{à} Voter Receipt Free Using Computational Security Models
Haghighat et al. An efficient and provably-secure coercion-resistant e-voting protocol
Chiou et al. Design and Implementation of a Multiple-Choice E-voting Scheme on Mobile System using Novel t-out-of-n Oblivious Signature.
Gallegos-Garcia et al. Electronic Voting Protocol Using Identity‐Based Cryptography

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080611

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

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

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

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4199747

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131010

Year of fee payment: 5

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees