JP4630144B2 - Electronic voting apparatus, voting apparatus, electronic voting system, electronic voting method and program - Google Patents
Electronic voting apparatus, voting apparatus, electronic voting system, electronic voting method and program Download PDFInfo
- Publication number
- JP4630144B2 JP4630144B2 JP2005199239A JP2005199239A JP4630144B2 JP 4630144 B2 JP4630144 B2 JP 4630144B2 JP 2005199239 A JP2005199239 A JP 2005199239A JP 2005199239 A JP2005199239 A JP 2005199239A JP 4630144 B2 JP4630144 B2 JP 4630144B2
- Authority
- JP
- Japan
- Prior art keywords
- voting
- signature
- vote
- public key
- electronic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
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 information security technology, and more particularly, to electronic billing technology.
従来的な電子投開票技術の代表的な例として、選挙管理者が投票にブラインド署名を付けることにより匿名性と一人一票を実現する方式がある(例えば非特許文献1参照。)。以下に、その電子投開票方法の概要を説明する。 As a typical example of the conventional electronic balloting technique, there is a method in which an election manager realizes anonymity and one vote by attaching a blind signature to a vote (see, for example, Non-Patent Document 1). The outline of the electronic billing method will be described below.
[準備]
選挙管理者Aは、ブラインド署名の署名鍵と検証鍵を生成し、検証鍵を公開する。
[Preparation]
The election manager A generates a signature key and a verification key for the blind signature, and discloses the verification key.
[投票]
投票者i∈N(Nは、投票者の集合を表す。)は、投票内容mをマスキングしたものであるMを選挙管理者Aに送る。ここで選挙管理者Aとは、人間ではなく、所定の機能(ブラインド署名の付与)を実現するサーバである。
選挙管理者Aは、投票者i∈Nを所定の方法(例えば本人確認など)で認証し有権者であることを確認したら、ブラインド署名σ(M)を生成し投票者i∈Nに送る。投票者i∈Nは、受信したブラインド署名σ(M)からマスクを外し選挙管理者Aの署名σ(m)を得て、投票内容mおよび署名σ(m)を、匿名通信路を経由して公開掲示板Bに公開する。ここで公開掲示板Bとは、例えば端末装置からアクセスを受けた場合に、所定の情報を提供することのできるサーバである。
ブラインド署名としては、例えばRSA暗号に基づく方式などがある(例えば非特許文献2参照。)。
[Voting]
The voter iεN (N represents a set of voters) sends M, which is a mask of the vote content m, to the election manager A. Here, the election manager A is not a human but a server that realizes a predetermined function (giving a blind signature).
When the election manager A authenticates the voter iεN by a predetermined method (for example, identity verification) and confirms that the voter is a voter, the election manager A generates a blind signature σ (M) and sends it to the voter iεN. The voter iεN removes the mask from the received blind signature σ (M) to obtain the signature σ (m) of the election manager A, and sends the vote contents m and the signature σ (m) via the anonymous communication path. To the public bulletin board B. Here, the public bulletin board B is a server that can provide predetermined information when, for example, access is received from a terminal device.
As a blind signature, for example, there is a method based on RSA encryption (for example, see Non-Patent Document 2).
[開票]
開票者は、公開掲示板Bに公開された選挙管理者Aの署名σ(m)を検証鍵で検証し、検証に合格した投票内容mおよび署名σ(m)を投票結果として公開する。
[Voting]
The voter verifies the signature σ (m) of the election manager A published on the public bulletin board B with the verification key, and publishes the vote contents m and the signature σ (m) that have passed the verification as the voting results.
この方式では、ブラインド署名の性質から、(M,σ(M))と(m,σ(m))とを関連付けることができないので、匿名性を実現することができる。また、ブラインド署名σ(m)を偽造することができないので、一人一票を実現することができる。
しかし、従来的な電子投開票方式においては、信頼できる選挙管理者Aという電子投開票のための特別なサーバが必要である。信頼できるサーバを実現するためには分散実装などコストがかかるため、一回の投票のためだけに信頼できるサーバを設置するのは不経済であり、電子投開票を簡単に行なえないという問題点があった。 However, the conventional electronic balloting method requires a special server for electronic balloting, which is a reliable election manager A. In order to realize a reliable server, it is costly such as distributed implementation, so it is uneconomical to install a reliable server only for one vote and there is a problem that it is not possible to easily perform electronic balloting there were.
そこで、本発明は、選挙管理者を必要としない電子投票装置、開票装置、電子投開票システム、電子投開票方法並びにプログラムを提供することを目的とする。 The present invention relates to an electronic voting apparatus which does not require the electoral administrator, vote counting device, electronic Tokaihyo system, and an object thereof is to provide an electronic Tokaihyo method and program.
上記課題を解決するために、本発明では、電子投票装置によって、公開鍵基盤において公開鍵証明書が与えられた全投票者の公開鍵および各投票者に固有の秘密鍵を用いて投票内容に対する署名を生成し、この署名(投票署名)をもって電子投票を行う。開票については、開票装置によって、電子投票装置から電子投票された投票署名に対して、公開鍵基盤において公開鍵証明書が与えられた全投票者の公開鍵を用いた検証を行い、検証に合格した投票署名を計数することで行う。また、公開鍵基盤において公開鍵証明書が与えられた全投票者の公開鍵、投票内容、さらには投票署名を、情報公開サーバで公開しておく。 In order to solve the above-described problem, in the present invention, the electronic voting device uses the public key of all voters who have been given a public key certificate in the public key infrastructure and the contents of the vote using the private key unique to each voter. A signature is generated, and electronic voting is performed with this signature (voting signature). For vote-voting, the vote-voting device verifies the voting signature electronically voted from the electronic voting device using the public keys of all voters who have been given public-key certificates in the public-key infrastructure, and passed the verification. This is done by counting the voting signatures made. In addition, the public key, the contents of the vote, and the vote signature of all voters who have been given public key certificates in the public key infrastructure are made public on the information public server.
また、電子投票装置においては、投票者に固有の秘密鍵および全投票者の公開鍵を用いて、投票者に固有の固有臨時公開鍵を生成し、固有臨時公開鍵および全投票者の公開鍵を用いて撹乱因子を生成し、さらに、撹乱因子および全投票者の公開鍵を用いて、全投票者数から1を引いた数の撹乱臨時公開鍵を生成するとし、この固有臨時公開鍵および撹乱臨時公開鍵を用いて投票内容に対する署名情報を生成して、この署名情報および撹乱因子からなる組を投票内容に対する署名(投票署名)としてもよい。なお、固有臨時公開鍵および撹乱臨時公開鍵は、撹乱因子から生成されるものであり、固有臨時公開鍵と撹乱臨時公開鍵との判別が不能である。開票については、所定の投票内容に対する全ての投票署名について、投票署名ごとに、臨時公開鍵(固有臨時公開鍵と撹乱臨時公開鍵)を生成し、この臨臨時公開鍵および全投票者の公開鍵を用いて、臨時公開鍵が生成された投票署名の検証を行い、検証に合格した投票署名を計数するようにする。 Also, in the electronic voting apparatus, a unique temporary public key unique to the voter is generated using the private key unique to the voter and the public key of all the voters, and the unique temporary public key and the public key of all the voters are generated. Is used to generate a disturbance factor, and using the disturbance factor and the public keys of all voters, the number of disturbance temporary public keys obtained by subtracting 1 from the total number of votes is generated. The signature information for the voting content may be generated using the disturbance temporary public key, and a set of the signature information and the disturbance factor may be used as a signature for the voting content (voting signature). Note that the unique temporary public key and the disturbing temporary public key are generated from the disturbance factor, and the unique temporary public key and the disturbed temporary public key cannot be distinguished. For vote counting, a temporary public key (unique temporary public key and disturbed temporary public key) is generated for each voting signature for all the voting signatures for a given vote, and this temporary public key and the public keys of all voters Is used to verify the vote signature for which the temporary public key has been generated, and count the vote signatures that have passed the verification.
また、本発明の電子投票装置、開票装置をコンピュータ上で機能させる電子投票プログラム、開票プログラムによって、コンピュータを電子投票装置、開票装置として作動処理させることができる。 The electronic voting system of the present invention, electronic voting a program that causes a vote counting equipment on a computer, the vote counting program Accordingly, the electronic voting system computer can be operated for as tally votes equipment.
本発明によれば、公開鍵基盤において公開鍵証明書が与えられた全投票者の公開鍵および各投票者に固有の秘密鍵を用いて投票内容に対する署名を生成し、この署名(投票署名)をもって電子投票を行い、開票については、開票装置によって、電子投票装置から電子投票された投票署名に対して、公開鍵基盤において公開鍵証明書が与えられた全投票者の公開鍵を用いた検証を行い、検証に合格した投票署名を計数することで行うので、電子投開票のための特別なサーバ(選挙管理装置)を用いることなく電子投開票を実現することができる。 According to the present invention, a signature for voting content is generated using the public keys of all the voters who have been given public key certificates in the public key infrastructure and the private key unique to each voter, and this signature (voting signature) The balloting is verified using the public keys of all the voters who have been given public key certificates on the public key infrastructure for the voting signature electronically voted from the electronic voting device. And counting the number of voting signatures that have passed the verification, it is possible to realize an electronic voting vote without using a special server (election management device) for the electronic voting vote.
また、固有臨時公開鍵および撹乱臨時公開鍵を生成し、これらが撹乱因子から生成可能であるが、固有臨時公開鍵と撹乱臨時公開鍵との判別が不能であるとすることで、少なくとも開票においては、投票署名に含まれる撹乱因子から生成される臨時公開鍵のいずれが固有臨時公開鍵であるか判別不明であるため匿名性が実現でき、さらには、臨時公開鍵に固有臨時公開鍵が含まれるから、各投票署名から生成されたた臨時公開鍵を比較することで重複投票の排除(一人一票)を実現できる。 In addition, a unique temporary public key and a disturbing temporary public key are generated, and these can be generated from the disturbance factor, but by distinguishing the unique temporary public key from the disturbing temporary public key, at least in counting votes Since it is unknown whether the temporary public key generated from the disturbance factor included in the voting signature is the unique temporary public key, anonymity can be realized, and the temporary public key includes the unique temporary public key. Therefore, it is possible to eliminate duplicate votes (one vote per person) by comparing temporary public keys generated from each vote signature.
<第1実施形態>
本発明の第1実施形態を以下に説明する。
まず、Gを離散対数問題の難しい素数位数qの巡回群とし、gをその生成元とする。巡回群Gの例としては、例えば乗法群Zp *〔q=p−1〕、楕円曲線上の点で定義される群などが上げられる。
また、H、H’、H”を、H:{0,1}*→G、H’:{0,1}*→G、H”:{0,1}*→Zqなる性質を有するハッシュ関数(一方向性関数)とする。ここで{0,1}*は、任意のビット長のバイナリ系列を表し、Zqは、加法群を表す。
さらに、投票者はn人であるとし、これら投票者の集合をN={1,・・・,n}とする。各投票者は後述する投票装置を用いて電子投票に参加する。ここでは、投票者iのID(identification)をi(i=1,・・・,n)とする。
以下では、yN=(yi)i∈Nなどと略記する。
<First Embodiment>
A first embodiment of the present invention will be described below.
First, let G be a cyclic group of prime order q, which is difficult for the discrete logarithm problem, and let g be its generation source. Examples of the cyclic group G include a multiplicative group Z p * [q = p−1], a group defined by points on an elliptic curve, and the like.
Further, H, H ′, and H ″ have the properties of H: {0, 1} * → G, H ′: {0, 1} * → G, H ″: {0, 1} * → Z q. A hash function (one-way function) is used. Here, {0, 1} * represents a binary sequence having an arbitrary bit length, and Z q represents an additive group.
Furthermore, it is assumed that there are n voters, and a set of these voters is N = {1,..., N}. Each voter participates in electronic voting by using a voting device described later. Here, the voter i's ID (identification) is i (i = 1,..., N).
Hereinafter, it is abbreviated as y N = (y i ) iεN .
[情報公開サーバ]
第1実施形態における公開掲示板(情報公開サーバ)について説明する。
図1は、第1実施形態に係わる情報公開サーバ(1)のハードウェア構成を例示した構成ブロック図である。
[Information disclosure server]
The public bulletin board (information disclosure server) in the first embodiment will be described.
FIG. 1 is a configuration block diagram illustrating a hardware configuration of the information disclosure server (1) according to the first embodiment.
図1に例示するように、情報公開サーバ(1)は、キーボードなどが接続可能な入力部(11)、液晶ディスプレイなどが接続可能な出力部(12)、情報公開サーバ(1)外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部(13)、CPU(Central Processing Unit)(14)〔キャッシュメモリなどを備えていてもよい。〕、メモリであるRAM(15)、ROM(16)やハードディスクである外部記憶装置(17)並びにこれらの入力部(11)、出力部(12)、通信部(13)、CPU(14)、RAM(15)、ROM(16)、外部記憶装置(17)間のデータのやり取りが可能なように接続するバス(18)を有している。また必要に応じて、情報公開サーバ(1)に、CD−ROMなどの記憶媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。 As illustrated in FIG. 1, the information disclosure server (1) communicates with an input unit (11) to which a keyboard or the like can be connected, an output unit (12) to which a liquid crystal display or the like can be connected, and the information disclosure server (1). A communication unit (13) to which a possible communication device (for example, a communication cable) can be connected, a CPU (Central Processing Unit) (14) [a cache memory, etc. may be provided. ] RAM (15) as a memory, ROM (16), external storage device (17) as a hard disk, and these input unit (11), output unit (12), communication unit (13), CPU (14), The bus (18) is connected so that data can be exchanged between the RAM (15), the ROM (16), and the external storage device (17). If necessary, the information disclosure server (1) may be provided with a device (drive) that can read and write a storage medium such as a CD-ROM.
情報公開サーバ(1)の外部記憶装置(17)には、情報公開のためのプログラムおよびこのプログラムの処理において必要となるデータなどが保存記憶されている。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に保存記憶されるとする。 The external storage device (17) of the information disclosure server (1) stores and stores a program for information disclosure, data necessary for processing of this program, and the like. Further, it is assumed that data obtained by the processing of these programs is appropriately stored in a RAM or an external storage device.
より具体的には、情報公開サーバ(1)の外部記憶装置(17)〔あるいはROMなど〕には、情報公開サーバ(1)にアクセスした電子投票装置(後述する。)や開票装置(後述する。)などに対して外部記憶手段(17)に保存記憶される情報を提供するためのプログラム、情報公開サーバ(1)にアクセスした電子投票装置や開票装置などから情報を取得して外部記憶手段(17)に保存記憶するためのプログラムおよびこれらのプログラムの処理において必要となるデータなどが保存記憶されている。その他、これらのプログラムに基づく処理を制御するための制御プログラムなども適宜に保存しておく。 More specifically, the external storage device (17) [or ROM, etc.] of the information disclosure server (1) includes an electronic voting device (described later) and a vote counting device (described later) that accessed the information disclosure server (1). Etc.) for obtaining information stored and stored in the external storage means (17), information obtained from an electronic voting device or a voting device accessing the information disclosure server (1), and the external storage means (17) stores and stores programs to be stored and stored, data necessary for processing of these programs, and the like. In addition, a control program for controlling processing based on these programs is also stored as appropriate.
情報公開サーバ(1)では、外部記憶装置(17)〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAM(15)に読み込まれて、CPU(14)で解釈実行・処理される。その結果、CPU(14)が所定の機能(情報提供部、情報取得部)を実現することで、情報公開が実現される。 In the information disclosure server (1), each program stored in the external storage device (17) [or ROM, etc.] and data necessary for processing each program are read into the RAM (15) as necessary, and the CPU Interpretation is executed and processed in (14). As a result, the CPU (14) realizes predetermined functions (information providing unit, information acquiring unit), thereby realizing information disclosure.
情報公開サーバ(1)は、電子投票装置や開票装置からのアクセスを許可し、これらの装置に対して、情報公開サーバにおける所定の情報(後述する公開鍵や、開票装置によって得られた開票結果などが含まれる。)を提供し、あるいは、これらの装置から情報を取得するものであるが、投票の公正を保持するため、一旦(情報公開サーバ(1)の外部記憶装置に)保存記憶された情報については、これらの装置よる(情報内容の)変更要求を受け付けないものとし、また、第三者(装置)からの不正なアクセスに対して頑強な保守機能を有しているとする(つまり、情報の改竄ができないとする。)。 The information disclosure server (1) permits access from the electronic voting device and the vote counting device, and gives predetermined information (public key to be described later, the vote counting result obtained by the vote counting device) to these devices. In order to maintain the fairness of voting, it is temporarily stored (stored in the external storage device of the information disclosure server (1)). It is assumed that these devices do not accept change requests (information content) and that they have a robust maintenance function against unauthorized access from third parties (devices) ( In other words, it is assumed that information cannot be falsified.)
[電子投票装置]
第1実施形態における電子投票装置(以下、「投票装置」という。)について説明する。
図2は、第1実施形態に係わる投票装置(2)のハードウェア構成を例示した構成ブロック図である。
[Electronic voting device]
The electronic voting apparatus (hereinafter referred to as “voting apparatus”) in the first embodiment will be described.
FIG. 2 is a block diagram illustrating a hardware configuration of the voting device (2) according to the first embodiment.
図2に例示するように、投票装置(2)は、キーボードなどが接続可能な入力部(21)、液晶ディスプレイなどが接続可能な出力部(22)、投票装置(2)外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部(23)、CPU(Central Processing Unit)(24)〔キャッシュメモリなどを備えていてもよい。〕、メモリであるRAM(25)、ROM(26)やハードディスクである外部記憶装置(27)並びにこれらの入力部(21)、出力部(22)、通信部(23)、CPU(24)、RAM(25)、ROM(26)、外部記憶装置(27)間のデータのやり取りが可能なように接続するバス(28)を有している。また必要に応じて、投票装置(2)に、CD−ROMなどの記憶媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。 As illustrated in FIG. 2, the voting device (2) can communicate with an input unit (21) to which a keyboard or the like can be connected, an output unit (22) to which a liquid crystal display or the like can be connected, and the voting device (2). A communication unit (23) to which a communication device (for example, a communication cable) can be connected, a CPU (Central Processing Unit) (24) [a cache memory or the like may be provided. ] RAM (25) as a memory, ROM (26), external storage device (27) as a hard disk, and these input unit (21), output unit (22), communication unit (23), CPU (24), The bus (28) is connected so that data can be exchanged between the RAM (25), the ROM (26), and the external storage device (27). If necessary, the voting device (2) may be provided with a device (drive) that can read and write a storage medium such as a CD-ROM.
投票装置(2)の外部記憶装置(27)には、電子投票のためのプログラムおよびこのプログラムの処理において必要となるデータなどが保存記憶されている。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に保存記憶される。 The external storage device (27) of the voting device (2) stores and stores a program for electronic voting, data necessary for processing of this program, and the like. Further, data obtained by the processing of these programs is appropriately stored and stored in a RAM or an external storage device.
より具体的には、投票装置(2)の外部記憶装置(27)〔あるいはROMなど〕には、後述する値h、σi、σj、A0、A1、ai、bi、aj、bj、zi、βφを生成するためのプログラム、群の中から元を任意に選択するためのプログラム、署名を生成するためのプログラムおよびこれらのプログラムの処理において必要となるデータなどが保存記憶されている。その他、これらのプログラムに基づく処理を制御するための制御プログラムも適宜に保存しておく。 More specifically, the external storage device (27) [or ROM, etc.] of the voting device (2) has values h, σ i , σ j , A 0 , A 1 , a i , b i , a described later. a program for generating j , b j , z i , βφ , a program for arbitrarily selecting an element from a group, a program for generating a signature, and data required for processing of these programs, etc. Is stored and stored. In addition, a control program for controlling processing based on these programs is also stored as appropriate.
投票装置(2)では、外部記憶装置(27)〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAM(25)に読み込まれて、CPU(24)で解釈実行・処理される。その結果、CPU(24)が所定の機能(h生成部、σi生成部、σj生成部、A0生成部、A1生成部、ai生成部、bi生成部、aj生成部、bj生成部、zi生成部、βφ生成部、元選択部、署名生成部、制御部)を実現することで、電子投票における投票が実現される。 In the voting device (2), each program stored in the external storage device (27) [or ROM, etc.] and data necessary for processing each program are read into the RAM (25) as necessary, and the CPU ( 24) Interpretation is executed and processed. As a result, the CPU (24) has predetermined functions (h generator, σ i generator, σ j generator, A 0 generator, A 1 generator, a i generator, b i generator, a j generator. , B j generation unit, z i generation unit, β φ generation unit, original selection unit, signature generation unit, control unit), thereby realizing voting in electronic voting.
[開票装置]
第1実施形態における開票装置について説明する。
図3は、第1実施形態に係わる開票装置(3)のハードウェア構成を例示した構成ブロック図である。
[Voting device]
The vote counting device in the first embodiment will be described.
FIG. 3 is a configuration block diagram illustrating a hardware configuration of the vote counting device (3) according to the first embodiment.
図3に例示するように、開票装置(3)は、キーボードなどが接続可能な入力部(31)、液晶ディスプレイなどが接続可能な出力部(32)、開票装置(3)外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部(33)、CPU(Central Processing Unit)(34)〔キャッシュメモリなどを備えていてもよい。〕、メモリであるRAM(35)、ROM(36)やハードディスクである外部記憶装置(37)並びにこれらの入力部(31)、出力部(32)、通信部(33)、CPU(34)、RAM(35)、ROM(36)、外部記憶装置(37)間のデータのやり取りが可能なように接続するバス(38)を有している。また必要に応じて、開票装置(3)に、CD−ROMなどの記憶媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。 As illustrated in FIG. 3, the vote counting device (3) can communicate with an input unit (31) to which a keyboard or the like can be connected, an output unit (32) to which a liquid crystal display or the like can be connected, and the vote counting device (3). A communication unit (33) to which a communication device (for example, a communication cable) can be connected, a CPU (Central Processing Unit) (34) [may include a cache memory and the like. ], A memory (RAM) 35, a ROM (36), a hard disk external storage device (37), an input unit (31), an output unit (32), a communication unit (33), a CPU (34), The bus (38) is connected so that data can be exchanged between the RAM (35), the ROM (36), and the external storage device (37). If necessary, the vote counting device (3) may be provided with a device (drive) capable of reading and writing a storage medium such as a CD-ROM.
開票装置(3)の外部記憶装置(37)には、開票のためのプログラムおよびこのプログラムの処理において必要となるデータなどが保存記憶されている。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に保存記憶される。 The external storage device (37) of the vote counting device (3) stores and stores a program for counting votes, data necessary for processing of this program, and the like. Further, data obtained by the processing of these programs is appropriately stored and stored in a RAM or an external storage device.
より具体的には、開票装置(3)の外部記憶装置(37)〔あるいはROMなど〕には、後述する値h、σN、A0、a’N、b’Nを生成するためのプログラム、元zを検証するためのプログラム、A1を検証するためのプログラム、βφを検証するためのプログラム、βφの個数を検証するためのプログラム、βφ(φ=0)と所定の値との一致を判定するためのプログラム、判定結果に応じて計数するためのプログラム、重複投票の有無を検証するためのプログラムおよびこれらのプログラムの処理において必要となるデータなどが保存記憶されている。その他、これらのプログラムに基づく処理を制御するための制御プログラムも適宜に保存しておく。 More specifically, a program for generating values h, σ N , A 0 , a ′ N , and b ′ N to be described later is stored in the external storage device (37) [or ROM, etc.] of the vote counting device (3). , a program for verifying the source z, the program for verifying the a 1, a program for verifying the beta phi, program for verifying the number of β φ, β φ (φ = 0) to a predetermined value A program for determining whether or not there is a match, a program for counting according to the determination result, a program for verifying the presence or absence of duplicate voting, and data necessary for processing of these programs are stored and stored. In addition, a control program for controlling processing based on these programs is also stored as appropriate.
開票装置(3)では、外部記憶装置(37)〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAM(35)に読み込まれて、CPU(34)で解釈実行・処理される。その結果、CPU(34)が所定の機能(h生成部、σN生成部、A0生成部、a’N生成部、b’N生成部、z検証部、βφ検証部、次数検証部、A1検証部、判定部、カウンタ部、フラッグ部、重複投票検証部、制御部)を実現することで、電子投票における開票が実現される。 In the vote counting device (3), each program stored in the external storage device (37) [or ROM, etc.] and data necessary for processing each program are read into the RAM (35) as necessary, and the CPU ( 34) Interpretation is executed and processed. As a result, the CPU (34) has predetermined functions (h generation unit, σ N generation unit, A 0 generation unit, a ′ N generation unit, b ′ N generation unit, z verification unit, β φ verification unit, order verification unit. , a 1 verification unit, determination unit, the counter section, the flag section, overlapping voting verification unit, the control unit) to realize a ballot in electronic voting is achieved.
[ネットワーク構成]
第1実施形態の電子投票システムにおけるネットワーク構成について説明する。
図4は、第1実施形態の電子投票システムにおけるネットワーク構成を示す図である。なお、図4では、電子投票が行われる前の状態を示している。
[Network configuration]
A network configuration in the electronic voting system of the first embodiment will be described.
FIG. 4 is a diagram illustrating a network configuration in the electronic voting system according to the first embodiment. FIG. 4 shows a state before electronic voting is performed.
第1実施形態における電子投票システムは、公開鍵基盤の一例であるPKI(Public Key Infrastructure)を前提にしている。PKIは、日本国においても「電子署名及び認証業務に関する法律(平成12年法律第102号)」が制定されたことなども相まって普及整備が進んでいる公知技術であるから(例えば参考文献1参照。)、その詳細の説明は省略する。なお、本発明は、日本国におけるPKIを前提とすることに限定するものではなく、およそ公開鍵基盤が普及整備されているならば、諸外国やあるいは公開鍵基盤の規模・性質(国家・地方・地域のような比較的大きな規模や例えば企業・大学・自治体・団体のような比較的小さな規模、社会基盤としての公的性質や私企業内における私的性質)などを問わず適用可能である。なお、日本国における政府認証基盤(GPKI:Government Public Key Infrastructure)については、参考文献2を参照のこと。
(参考文献1) 独立行政法人 情報処理推進機構、”PKI関連技術解説”、[平成17年6月30日検索]、
インターネット <URL : http://www.ipa.go.jp/security/pki/>
(参考文献2) 日本国総務省行政管理局、”政府認証基盤(GPKI)”、[平成17年6月30日検索]、
インターネット <URL : http://www.gpki.go.jp/>
The electronic voting system in the first embodiment is based on PKI (Public Key Infrastructure), which is an example of a public key infrastructure. PKI is a well-known technology that has been in widespread use in Japan due to the enactment of the “Act on Electronic Signatures and Authentication Services (Act No. 102 of 2000)” in Japan (see, for example, Reference 1). )), Detailed description thereof is omitted. The present invention is not limited to the premise of PKI in Japan. If the public key infrastructure is widely spread and maintained, the scale and nature of the public key infrastructure (national / local)・ It can be applied regardless of a relatively large scale such as a region, a relatively small scale such as a company, a university, a local government or an organization, a public property as a social infrastructure, or a private property within a private company. . Please refer to
(Reference 1) Information-technology Promotion Agency, "PKI-related technical explanation", [Search June 30, 2005],
Internet <URL: http://www.ipa.go.jp/security/pki/>
(Reference 2) Administrative Management Bureau, Ministry of Internal Affairs and Communications, “Government Authentication Infrastructure (GPKI)”, [Search June 30, 2005],
Internet <URL: http://www.gpki.go.jp/>
図4に示すCA(Certification Authority)(4)は、PKIにおける認証局を表している。
情報公開サーバ(1)、1つ以上の投票装置(2−1),(2−2),・・・,(2−n)、開票装置(3)、CA(4)は、ネットワーク(5)を介して相互に通信可能に接続されている。なお、少なくとも、各投票装置とネットワークとの間は、各投票装置を利用する投票者のプライバシーが保たれるように匿名通信路とするのがよい。
A CA (Certification Authority) (4) shown in FIG. 4 represents a certificate authority in PKI.
The information disclosure server (1), the one or more voting devices (2-1), (2-2),..., (2-n), the vote counting device (3), and the CA (4) are connected to the network (5 ) To communicate with each other. At least between each voting device and the network is preferably an anonymous communication path so that the privacy of the voter who uses each voting device is maintained.
第1実施形態では、n人の投票者各人には、それぞれ1つの投票装置が割り当てられている。つまり、各投票者は、各別の投票装置を用いて電子投票を行う。しかしながら後述のとおり、各投票者は、各投票者に固有の秘密鍵・公開鍵を用いることで電子投票を行うので、各投票者に各別の投票装置を割り当てることは必須ではない。同じ投票装置であっても、各投票者が、投票者に固有の秘密鍵・公開鍵を投票装置に入力する(例えば、秘密鍵・公開鍵が記録された記録媒体を投票装置に読み取らせる。)ことで、各投票者固有の電子投票が行える。 In the first embodiment, one voting device is assigned to each of the n voters. That is, each voter performs electronic voting using a separate voting device. However, as will be described later, each voter performs electronic voting by using a secret key / public key unique to each voter. Therefore, it is not essential to assign a separate voting device to each voter. Even in the same voting device, each voter inputs a secret key / public key unique to the voter to the voting device (for example, the voting device reads a recording medium in which the secret key / public key is recorded). ), It is possible to perform electronic voting unique to each voter.
[準備]
第1実施形態における電子投票を実施するための準備について説明する(図4参照)。
まず、投票者iは、秘密鍵xiを群Zqの元から選択し、巡回群Gの生成元gを用いて、公開鍵yi=g^xiを生成する。記号^は、べき乗を表す。投票者iは、投票者iに固有の公開鍵yiをCA(4)に送信し、CA(4)に公開鍵yiを登録する。CA(4)は、公開鍵yiに対して公開鍵証明書Certiを発行する。このようにして、CA(4)は、各投票者の公開鍵y1,y2,・・・,ynに対して、公開鍵証明書Cert1,Cert2,・・・,Certnを発行する(公知技術)。
[Preparation]
Preparations for carrying out electronic voting in the first embodiment will be described (see FIG. 4).
First, the voter i selects the secret key x i from the element of the group Z q and generates the public key y i = g ^ x i using the generator g of the cyclic group G. The symbol ^ represents a power. The voter i transmits the public key y i unique to the voter i to the CA (4) and registers the public key y i in the CA (4). CA (4) issues public key certificate Cert i to public key y i . In this way, CA (4), the
次に、情報公開サーバ(1)は、CA(4)にネットワーク(5)経由でアクセスし、各投票者の公開鍵y1,y2,・・・,ynおよびCA(4)から発行された公開鍵証明書Cert1,Cert2,・・・,Certnを取得する。 Next, the information disclosure server (1) accesses the CA (4) via the network (5) and issues it from each voter's public keys y 1 , y 2 ,..., Y n and the CA (4). Obtained public key certificates Cert 1 , Cert 2 ,..., Cert n .
情報公開サーバ(1)は、取得した各投票者の公開鍵y1,y2,・・・,ynおよびCA(4)から発行された公開鍵証明書Cert1,Cert2,・・・,Certnを、各公開鍵と各公開鍵証明書とを対応付けて外部記憶装置(17)に記憶保存する。これらは、いわば有権者名簿に相当するものであると云える。
Information public server (1),
また、情報公開サーバ(1)は、電子投票における投票内容m1,m2,・・・,msも、外部記憶装置(17)に保存記憶している。ここでsは、投票内容の種類の数を表す。 Also, information disclosure server (1) is, vote content m 1, m 2 of the electronic voting, · · ·, m s are also stored in the external storage device (17). Here, s represents the number of types of voting content.
情報公開サーバ(1)は、各投票装置や開票装置からアクセスがあった場合に、これらのデータ(公開鍵y1,y2,・・・,yn、公開鍵証明書Cert1,Cert2,・・・,Certn、投票内容m1,m2,・・・,ms)を、情報提供部(800)によって、その通信部(13)を通じて、アクセスした装置に対して送信する。また、電子投票後においては、外部記憶装置(17)に保存記憶されている署名も、情報提供部(800)によって、その通信部(13)を通じて、アクセスした開票装置に対して送信する。 The information disclosure server (1), when accessed from each voting device or the voting device, receives these data (public keys y 1 , y 2 ,..., Y n , public key certificates Cert 1 , Cert 2). ,..., Cert n , voting content m 1 , m 2 ,..., M s ) are transmitted by the information providing unit (800) to the accessed device through the communication unit (13). In addition, after electronic voting, the signature stored and stored in the external storage device (17) is also transmitted by the information providing unit (800) to the accessed vote counting device through the communication unit (13).
以下、図4〜図14を参照して、第1実施形態における電子投開票処理の処理を説明する。
図5は、情報公開サーバ(1)における処理フローを示す図である。
図6は、投票装置(2)の機能構成例を示す図である。
図7は、投票装置(2)における処理フローを示す図である(その1)。
図8は、投票装置(2)における処理フローを示す図である(その2)。
図9は、電子投票後における状態を示す図である。
図10は、開票装置(3)の機能構成例を示す図である。
図11は、開票装置(3)における処理フローを示す図である(その1)。
図12は、開票装置(3)における処理フローを示す図である(その2)。
図13は、開票装置(3)において重複投票を検証する処理における機能構成を例示した図である。
図14は、開票装置(3)において重複投票を検証する処理フローを示す図である。
Hereinafter, with reference to FIG. 4 to FIG. 14, processing of the electronic opening / closing vote processing in the first embodiment will be described.
FIG. 5 is a diagram showing a processing flow in the information disclosure server (1).
FIG. 6 is a diagram illustrating a functional configuration example of the voting device (2).
FIG. 7 is a diagram showing a processing flow in the voting apparatus (2) (No. 1).
FIG. 8 is a diagram showing a processing flow in the voting apparatus (2) (No. 2).
FIG. 9 is a diagram illustrating a state after electronic voting.
FIG. 10 is a diagram illustrating a functional configuration example of the vote-tapping device (3).
FIG. 11 is a diagram showing a processing flow in the vote-tapping device (3) (No. 1).
FIG. 12 is a diagram showing a processing flow in the vote-tapping device (3) (No. 2).
FIG. 13 is a diagram exemplifying a functional configuration in a process for verifying duplicate votes in the vote counting device (3).
FIG. 14 is a diagram showing a processing flow for verifying duplicate voting in the vote counting device (3).
[投票]
まず、投票装置による電子投票について説明する。
以下では、投票者iは、投票装置iによって電子投票を行うとする。
投票装置iの外部記憶装置(27)には、投票装置iのIDであるi、巡回群Gの生成元g、投票者iに固有の秘密鍵xiが予め保存記憶されているとする。既述のとおり、投票装置iのIDであるi、巡回群Gの生成元g、投票者iに固有の秘密鍵xiが記録された記録媒体をある投票装置に読み取らせることで、この投票装置を投票装置iとして用いることが可能になる。
[Voting]
First, electronic voting by a voting device will be described.
In the following, it is assumed that the voter i performs an electronic vote by the voting device i.
In the external storage device (27) of the voting device i, it is assumed that i, which is the ID of the voting device i, the generator g of the cyclic group G, and the secret key xi unique to the voter i are stored in advance. As described above, the voting device i is made to read the recording medium on which the ID i of the voting device i, the generation g of the cyclic group G, and the secret key xi unique to the voter i are recorded. The device can be used as the voting device i.
投票装置iは、制御部(613)の制御によって、その通信部(23)を通じて、情報公開サーバ(1)にアクセスし、情報公開サーバ(1)の通信部(13)を通じて送信された(ステップS1s)、情報公開サーバ(1)の外部記憶装置(17)に記憶される全ての投票者(有権者)の公開鍵{y1,…,yn}、全ての公開鍵証明書{cert1,・・・,certn}(これらは有権者名簿に相当するものである。)、投票内容m(投票内容がm1,m2,・・・,msと複数ある場合は、これら全てについてmと同様の投開票処理を行うことで複数の投票内容につき投票を行うことができる。)を受信し、これらを投票装置iの外部記憶装置(27)に保存記憶する。また、全ての投票者(有権者)の公開鍵{y1,…,yn}の個数nも、投票装置iの外部記憶装置(27)に保存記憶する(ステップS2)。
次いで、投票装置iの図示しない検証部(所定のプログラムを解釈実行するCPU(24)によって機能が実現する。)は、各公開鍵証明書を検証する(ステップS3)。この検証に全て合格したならば、下記の所定の処理を実行する。この検証に合格しなかったならば、取得した公開鍵の中に不正な公開鍵が含まれていることを示すものであるから、投票装置iは下記の処理を実行せずに終了する(ステップS4)。
なお、検証処理は、PKIにおける公知技術で達成されるから詳細な説明を省略する。また、相互に通信可能なサーバ(情報公開サーバ)−クライアント(投票装置)間で、サーバからクライアント(あるいは逆に、クライアントからサーバ)にアクセスして所定の情報(データ)を取得し、取得した情報(データ)を外部記憶装置に保存記憶することも公知技術で達成されるから、この明細書ではその詳細な説明を省略する。
The voting device i accesses the information disclosure server (1) through the communication unit (23) under the control of the control unit (613), and is transmitted through the communication unit (13) of the information disclosure server (1) (step). S1s), public keys {y 1 ,..., Y n } of all voters (voting people) stored in the external storage device (17) of the information disclosure server (1), all public key certificates {cert 1 , · · ·, cert n} (these are equivalent to voters list.), vote content m (vote content is m 1,
Next, a verification unit (not shown) of the voting device i (a function is realized by the CPU (24) that interprets and executes a predetermined program) verifies each public key certificate (step S3). If all the verifications are passed, the following predetermined processing is executed. If this verification does not pass, it indicates that the acquired public key contains an illegal public key, and thus the voting device i ends without executing the following processing (step S4).
Since the verification process is achieved by a known technique in PKI, detailed description is omitted. Also, between a server (information disclosure server) and a client (voting device) that can communicate with each other, the client (or conversely, the client to the server) is accessed from the server to acquire predetermined information (data). Since information (data) is stored and stored in an external storage device by a known technique, detailed description thereof is omitted in this specification.
なお、情報公開サーバ(1)において公開される情報に含まれる投票内容mに賛成か反対かを選択する所作は、人間によってのみ為しえるものであり、この点のみは投票装置(ハードウェア)による所作とは言えない。しかしながら、一旦投票内容が1つ選択されたならば、その後の処理は、投票装置(ハードウェア)による所定のプログラム(ソフトウェア)の解釈実行に従った情報処理が行われ、この情報処理によって電子投票が実現するものであることに留意しなければならない。 It should be noted that the operation of selecting whether or not to vote content m included in the information disclosed in the information disclosure server (1) can only be done by humans, and only this point is a voting device (hardware). It cannot be said that it is the work by. However, once one voting content is selected, subsequent processing is performed according to interpretation processing of a predetermined program (software) by a voting device (hardware), and electronic voting is performed by this information processing. It must be noted that is realized.
予め、制御部(613)の制御の下、外部記憶装置(27)から、投票装置iのIDであるi、巡回群Gの生成元g、投票者iに固有の秘密鍵xi、全ての投票者(有権者)の公開鍵{y1,…,yn}、投票内容m、全ての投票者(有権者)の公開鍵{y1,…,yn}の個数nを読み込み、それぞれをRAM(25)の所定の格納領域に格納しておく。以後、全ての投票者(有権者)の公開鍵{y1,…,yn}をyNと略記する。また、「RAMから○○を読み込む」旨の説明をした場合は、「RAMにおいて○○が格納されている所定の格納領域から○○を読み込む」ことを意味するとする。 Under the control of the control unit (613), from the external storage device (27), i which is the ID of the voting device i, the generator g of the cyclic group G, the secret key x i unique to the voter i , all public key {y 1, ..., y n } of voters (voters), vote content m, the public key of all of the voters (voters) {y 1, ..., y n } reads the number n of, RAM, respectively Store in the predetermined storage area of (25). Hereinafter, the public keys {y 1 ,..., Y n } of all the voters (voters) are abbreviated as y N. In addition, the description “read XX from RAM” means “read XX from a predetermined storage area in which XX is stored in the RAM”.
まず、h生成部(600)は、RAM(25)からn、m、yNをそれぞれ読み込み、h=H(n,yN,m)を演算し、この演算結果hをRAM(25)の所定の格納領域に格納する(ステップS5)。ここでハッシュ演算H(n,yN,m)は、バイナリ系列で結合した値n‖yN‖m(=n‖y1‖y2‖・・・‖yn‖m)〔記号‖はバイナリ系列同士の結合を表す。〕を入力として、ハッシュ関数Hを演算することを表す。その他のハッシュ関数H’、H”についても同様である。なお、hは巡回群Gの元、即ちh∈Gであることに留意する。なお、ハッシュ関数Hの入力は、値n‖yN‖mに限定するものではないが、電子投票における安全性確保の観点からは、少なくともyNおよびmを用いたバイナリ系列の結合値を用いるのがよい。
First, h generator (600) reads n from RAM (25), m, and y N, respectively, h = H (n, y N, m) is calculated and the calculation result h RAM (25) Store in a predetermined storage area (step S5). Here hash calculation H (n, y N, m ) is a value linked with the
次に、σi生成部(601)は、RAM(25)からh、xiをそれぞれ読み込み、σi=h^xiを演算し、この演算結果σiをRAM(25)の所定の格納領域に格納する(ステップS6)。なお、σiは巡回群Gの元、即ちσi∈Gであることに留意する。このσiは、端末装置iに固有の固有臨時公開鍵に相当する。 Next, sigma i generator (601) is stored from RAM (25) h, reads each x i, calculates the sigma i = h ^ x i, the result of the calculation sigma i RAM predetermined (25) Store in the area (step S6). Note that σ i is an element of the cyclic group G, that is, σ i εG. This σ i corresponds to a unique temporary public key unique to the terminal device i.
続いて、A0生成部(602)は、RAM(25)からn、m、yNをそれぞれ読み込み、A0=H’(n,yN,m)を演算し、この演算結果A0をRAM(25)の所定の格納領域に格納する(ステップS7)。なお、A0は巡回群Gの元、即ちA0∈Gであることに留意する。また、ハッシュ関数H’の入力は、ハッシュ関数Hの入力と同じにする必要はないが、この実施形態では同じものを入力としている。 Subsequently, the A 0 generation unit (602) reads n, m, and y N from the RAM (25), calculates A 0 = H ′ (n, y N , m), and calculates the calculation result A 0 . The data is stored in a predetermined storage area of the RAM (25) (step S7). Note that A 0 is an element of the cyclic group G, that is, A 0 ∈G. Further, the input of the hash function H ′ need not be the same as the input of the hash function H, but in this embodiment, the same input is used.
次に、A1生成部(603)は、RAM(25)からi、A0、σiをそれぞれ読み込み、A1=(σi/A0)^(1/i)を演算し、この演算結果A1をRAM(25)の所定の格納領域に格納する(ステップS8)。A1は巡回群Gの元、即ちA1∈Gであることに留意する。このA1は、撹乱因子に相当する。 Next, the A 1 generation unit (603) reads i, A 0 and σ i from the RAM (25), and calculates A 1 = (σ i / A 0 ) ^ (1 / i). results stores a 1 in a predetermined storage area of the RAM (25) (step S8). Note that A 1 is an element of the cyclic group G, ie A 1 ∈G. The A 1 corresponds to the disturbance factor.
次に、σj生成部(604)は、RAM(25)からA0、A1、n、iをそれぞれ読み込み、σj=A0(A1^j)を演算し、この演算結果σjをRAM(25)の所定の格納領域に格納する(ステップS9)。ここでjは、j∈N−{i}、即ち、j=1,2,・・・,i−1,i+1,・・・,nである。なお、σjは巡回群Gの元、即ちσj∈Gであることに留意する。このσjは、撹乱臨時公開鍵に相当する。 Next, the σ j generation unit (604) reads A 0 , A 1 , n, i from the RAM (25), calculates σ j = A 0 (A 1 ^ j), and calculates the result σ j Is stored in a predetermined storage area of the RAM (25) (step S9). Here, j is jεN− {i}, that is, j = 1, 2,..., I−1, i + 1,. Note that σ j is an element of the cyclic group G, that is, σ j εG. This σ j corresponds to the disturbance temporary public key.
さらに、A0=h^α(0)かつσf=h^α(f)〔但し、f∈N〕を満足する次数1の多項式α(x)∈Zq[x]が存在することに留意しなければならない。
なお、記号α(x)∈Zq[x]は、多項式α(x)が、群Zqの元を係数に有する多項式であることを表す。
Further, there is a
Note that the symbol α (x) ∈Z q [x] represents that the polynomial α (x) is a polynomial having an element of the group Z q as a coefficient.
続いて、元選択部(605)は、群Zqの元の中から任意に1つの元wiを選択し、この元wiをRAM(25)の所定の格納領域に格納する(ステップS10)。 Then, based on the selection unit (605) selects any one Tsunomoto w i from the original group Z q, and stores the original w i in a predetermined storage area of the RAM (25) (step S10 ).
次に、ai生成部(606)は、RAM(25)からg、wiをそれぞれ読み込み、ai=g^wiを演算し、この演算結果aiをRAM(25)の所定の格納領域に格納する(ステップS11)。なお、aiは巡回群Gの元、即ちai∈Gであることに留意する。 Next, the a i generation unit (606) reads g and w i from the RAM (25), calculates a i = g ^ w i, and stores the calculation result a i in the RAM (25). Store in the area (step S11). Note that a i is an element of the cyclic group G, that is, a i εG.
次に、bi生成部(607)は、RAM(25)からh、wiをそれぞれ読み込み、bi=h^wiを演算し、この演算結果biをRAM(25)の所定の格納領域に格納する(ステップS12)。なお、biは巡回群Gの元、即ちbi∈Gであることに留意する。 Next, the b i generation unit (607) reads h and w i from the RAM (25), calculates b i = h ^ w i, and stores the calculation result b i in the RAM (25). Store in the area (step S12). Note that b i is an element of the cyclic group G, that is, b i εG.
続いて、元選択部(605)は、RAM(25)からi、nをそれぞれ読み込み、j∈N−{i}、即ちj=1,2,・・・,i−1,i+1,・・・,nについて、群Zqの元の中から任意に2つの元zj、cjを選択し、これらの元zj、cjをRAM(25)の所定の格納領域に格納する(ステップS13)。 Subsequently, the original selection unit (605) reads i and n from the RAM (25), respectively, and jεN− {i}, that is, j = 1, 2,..., I−1, i + 1,. · for n, optionally select the two elements z j, c j from the original group Z q, and stores these original z j, a c j in a predetermined storage area of the RAM (25) (step S13).
次に、aj生成部(608)は、j∈N−{i}、即ちj=1,2,・・・,i−1,i+1,・・・,nについて、RAM(25)からg、zj、cj、yjをそれぞれ読み込み(yjは、yNからyiを除いたものである。)、aj=(g^zj)×(yj^cj)を演算し、この演算結果ajをRAM(25)の所定の格納領域に格納する(ステップS14)。なお、ajは巡回群Gの元、即ちaj∈Gであることに留意する。 Next, the a j generation unit (608) determines that jεN− {i}, that is, j = 1, 2,..., I−1, i + 1,. , Z j , c j , y j are read (y j is y N minus y i ), and a j = (g ^ z j ) × (y j ^ c j ) is calculated. Then, the calculation result aj is stored in a predetermined storage area of the RAM (25) (step S14). Note that a j is an element of the cyclic group G, that is, a j ∈G.
次に、bj生成部(609)は、j∈N−{i}、即ちj=1,2,・・・,i−1,i+1,・・・,nについて、RAM(25)からh、zj、cj、σjをそれぞれ読み込み、bj=(h^zj)×(σj^cj)を演算し、この演算結果bjをRAM(25)の所定の格納領域に格納する(ステップS15)。なお、bjは巡回群Gの元、即ちbj∈Gであることに留意する。 Next, the b j generation unit (609) generates h from the RAM (25) for jεN− {i}, that is, j = 1, 2,..., I−1, i + 1,. , Z j , c j , and σ j , respectively, b j = (h ^ z j ) × (σ j ^ c j ) is calculated, and the calculation result b j is stored in a predetermined storage area of the RAM (25). Store (step S15). Note that b j is an element of the cyclic group G, that is, b j εG.
続いて、βφ生成部(610)は、次数(n−1)の多項式β(x)∈Zq[x]の係数βφ(φ=0,1,2,・・・,n−1)を求める。つまり、多項式β(x)=βn−1x^(n−1)+βn−2x^(n−2)+・・・+β1x+β0とすると、n個の係数βn−1,βn−2,・・・,β1、β0の値を求めるのである(β0はx^(0)の係数とする。)。これら係数は、xに0,1,・・・,i−1,i+1,・・・,nを代入したn個の連立方程式を解くことで求めることができる。連立方程式を解くアルゴリズムは公知であるからその説明は省略する。
βφ生成部(610)は、RAM(25)からn、yN、m、h、A0、A1、ai、aj、bi、bj、cjをそれぞれ読み込み、β(0)=H”(n,yN,m,h,A0,A1,aN,bN)、β(j)=cj(j∈N−{i})からなるn個の連立方程式を公知のアルゴリズムで解いてn個の係数βn−1,βn−2,・・・,β1、β0の値を求め、これらの係数βn−1,βn−2,・・・,β1、β0をRAM(25)の所定の格納領域に格納する(ステップS16)。ここで、j∈N−{i}、即ちj=1,2,・・・,i−1,i+1,・・・,nであり、aNは、aN=(a1,a2,・・・,an)であり、bNは、bN=(b1,b2,・・・,bn)であるとする。なお、β(0)、β(j)は群Zqの元であることに留意する。
Subsequently, the β φ generator (610) generates the coefficient β φ (φ = 0, 1, 2,..., N−1) of the polynomial β (x) ∈Z q [x] of the order (n−1). ) That is, if the polynomial β (x) = β n−1 x ^ (n−1) + β n−2 x ^ (n−2) +... + Β 1 x + β 0 , n coefficients β n−1 , β n−2 ,..., β 1 , β 0 are obtained (β 0 is a coefficient of x ^ (0)). These coefficients can be obtained by solving n simultaneous equations in which 0, 1,..., I−1, i + 1,. Since the algorithm for solving the simultaneous equations is known, the description thereof is omitted.
The β φ generation unit (610) reads n, y N , m, h, A 0 , A 1 , a i , a j , b i , b j , and c j from the RAM (25), respectively, and β (0 ) = H ″ (n, y N , m, h, A 0 , A 1 , a N , b N ), n simultaneous equations consisting of β (j) = c j (j∈N− {i}) Is obtained by a known algorithm to determine the values of n coefficients β n−1 , β n-2 ,..., Β 1 , β 0 , and these coefficients β n−1 , β n− 2 ,. ., Β 1 and β 0 are stored in a predetermined storage area of the RAM (25) (step S16), where jεN− {i}, that is, j = 1, 2,. , I + 1,..., N , a N is a N = (a 1 , a 2 ,..., A n ), and b N is b N = (b 1 , b 2 ,. ..., and a b n). in addition, β ( ), Β (j) is noted that the original group Z q.
続いて、zi生成部(611)は、RAM(25)からn、i、wi、xi、βφ(φ=0,1,2,・・・,n−1)をそれぞれ読み込み、zi=wi−β(i)×xiを演算し、この演算結果ziをRAM(25)の所定の格納領域に格納する(ステップS17)。β(i)は、読み込んだβφを用いて、β(i)=βn−1×i^(n−1)+βn−2×i^(n−2)+・・・+β1×i+β0によって求めることができる。なお、ziは群Zqの元、即ちzi∈Zqであることに留意する。
Subsequently, the z i generator (611) reads n, i, w i , x i , β φ (φ = 0, 1, 2,..., N−1) from the RAM (25), z i = computes w i -β (i) × x i, and stores the calculation result z i in a predetermined storage area of the RAM (25) (step S17). β (i), using the read β φ, β (i) = β n-1 × i ^ (n-1) + β n-2 × i ^ (n-2) + ··· +
続いて、署名生成部(612)は、RAM(25)からA1、m、zi、zj、βφ(φ=0,1,2,・・・,n−1)をそれぞれ読み込み、このうち、A1、zi、zj、βφの組み合わせを、投票装置iにおける投票内容mに対する署名ξiとする(ステップS18)。即ち、ξi=(A1、β、zN)とする。ここでβは、β=(β0,β1,・・・,βn−1)、zNは、zN=(z1,z2,・・・,zn)である。 Subsequently, the signature generation unit (612) reads A 1 , m, z i , z j , β φ (φ = 0, 1, 2,..., N−1) from the RAM (25), respectively. Among these, a combination of A 1 , z i , z j , and β φ is a signature ξ i for the vote content m in the voting device i (step S18). That is, ξ i = (A 1 , β, z N ). Here, β is β = (β 0 , β 1 ,..., Β n−1 ), and z N is z N = (z 1 , z 2 ,..., Z n ).
続いて、投票装置iは、制御部(613)の制御によって、通信部(23)を通じて、ステップS18で生成された署名ξiおよび投票内容mを、匿名通信路を経由して情報公開サーバ(1)に送信する(ステップS19)。これが「電子投票」に相当する。 Subsequently, under the control of the control unit (613), the voting device i sends the signature ξ i and the voting content m generated in step S18 through the communication unit (23) to the information disclosure server ( 1) (step S19). This corresponds to “electronic voting”.
情報公開サーバ(1)は、情報取得部(801)によって、その通信部(13)を通じて、ステップS19で送信された署名ξiおよび投票内容mを受信し、署名ξiおよび投票内容mを対応付けて外部記憶装置(17)に保存記憶する(ステップS2s)。 Disclosure server (1) is the information obtaining unit (801), the communication unit through (13) receives the transmitted signed xi] i and vote content m in step S19, the corresponding signature xi] i and vote content m At the same time, it is stored and stored in the external storage device (17) (step S2s).
各投票装置からも同様の電子投票が行われ、結果として、情報公開サーバ(1)の外部記憶装置(17)には、各投票装置から電子投票された投票結果が保存記憶される(図10参照)。 The same electronic voting is performed from each voting device, and as a result, the voting result electronically voted from each voting device is stored and stored in the external storage device (17) of the information disclosure server (1) (FIG. 10). reference).
[開票]
続いて、開票装置(3)による電子投票の開票処理について説明する。
開票装置(3)の外部記憶装置(37)には、巡回群Gの生成元gが予め保存記憶されているとする。
[Voting]
Next, the electronic balloting process of electronic voting by the voter device (3) will be described.
It is assumed that the generation source g of the cyclic group G is stored and stored in advance in the external storage device (37) of the vote counting device (3).
開票装置(3)は、制御部(711)の制御によって、その通信部(33)を通じて、情報公開サーバ(1)にアクセスし、情報公開サーバ(1)の通信部(13)を通じて送信された(ステップS3s)、情報公開サーバ(1)の外部記憶装置(17)に記憶される全投票者(有権者)の公開鍵{y1,…,yn}、全公開鍵証明書{cert1,・・・,certn}(これらは有権者名簿に相当する。)を受信し、これらを開票装置(3)の外部記憶装置(37)に保存記憶する。また、全投票者(有権者)の公開鍵{y1,…,yn}の個数nも、開票装置(3)の外部記憶装置(37)に保存記憶する(ステップS21)。
次いで、開票装置(3)の図示しない検証部(所定のプログラムを解釈実行するCPU(34)によって機能が実現する。)は、各公開鍵証明書を検証する(ステップS22)。この検証に全て合格したならば、下記の所定の処理を実行する。この検証に合格しなかったならば、取得した公開鍵の中に不正な公開鍵が含まれていることを示すものであるから、開票装置(3)は下記の処理を実行せずに終了する(ステップS23)。
なお、検証処理は、PKIにおける公知技術で達成されるから詳細な説明を省略する。また、相互に通信可能なサーバ(情報公開サーバ)−クライアント(投票装置)間で、サーバからクライアント(あるいは逆に、クライアントからサーバ)にアクセスして所定の情報(データ)を取得し、取得した情報(データ)を外部記憶装置に保存記憶することも公知技術で達成されるから、この明細書ではその詳細な説明を省略する。
The vote-tick device (3) accesses the information disclosure server (1) through the communication unit (33) under the control of the control unit (711), and is transmitted through the communication unit (13) of the information disclosure server (1). (Step S3s), public keys {y 1 ,..., Y n } of all voters (voting persons) stored in the external storage device (17) of the information disclosure server (1), all public key certificates {cert 1 , .., Cert n } (these correspond to the voter list) are received and stored in the external storage device (37) of the vote counting device (3). Further, the number n of public keys {y 1 ,..., Y n } of all voters (voting people) is also stored and stored in the external storage device (37) of the vote counting device (3) (step S21).
Next, a verification unit (not shown) of the vote counting device (3) (a function is realized by the CPU (34) that interprets and executes a predetermined program) verifies each public key certificate (step S22). If all the verifications are passed, the following predetermined processing is executed. If this verification is not passed, it indicates that the obtained public key contains an illegal public key, so the vote-tapping device (3) ends without executing the following processing. (Step S23).
Since the verification process is achieved by a known technique in PKI, detailed description is omitted. Also, between a server (information disclosure server) and a client (voting device) that can communicate with each other, the client (or conversely, the client to the server) is accessed from the server to acquire predetermined information (data). Since information (data) is stored and stored in an external storage device by a known technique, detailed description thereof is omitted in this specification.
まず、開票装置(3)は、制御部(711)の制御によって、その通信部(33)を通じて、情報公開サーバ(1)にアクセスし、情報公開サーバ(1)の通信部(13)を通じて送信された(ステップ4s)、情報公開サーバ(1)の外部記憶装置(17)に記憶される有効投票総数の計数処理を行う投票内容mおよびその投票内容mに対応付けられた署名を全て受信し、外部記憶装置(37)に保存記憶する(ステップS24)。ここでは、投票内容mに電子投票した投票総数(有効投票総数ではない。)をe(e≦n)とする。従って、受信する署名はe個である。 First, the vote-voting device (3) accesses the information disclosure server (1) through the communication unit (33) under the control of the control unit (711), and transmits it through the communication unit (13) of the information disclosure server (1). Received (step 4s), the vote content m for counting the total number of valid votes stored in the external storage device (17) of the information disclosure server (1) and the signature associated with the vote content m are received. Then, it is stored and stored in the external storage device (37) (step S24). Here, the total number of votes (not the total number of valid votes) electronically voted for the vote content m is assumed to be e (e ≦ n). Therefore, e signatures are received.
続いて、制御部(711)の制御によって、外部記憶装置(37)から、巡回群Gの生成元g、全投票者(有権者)の公開鍵{y1,…,yn}、投票内容m、e個の署名から1個選択した署名ξ=(A1、β、zN)、全投票者(有権者)の公開鍵{y1,…,yn}の個数nを読み込み、それぞれをRAM(35)の所定の格納領域に格納する(ステップS25)。また、制御部(711)の制御によって、RAM(35)に値vおよび値Fを格納する所定の格納領域を確保する。値vおよび値Fの初期値は0とする。 Subsequently, the control of the control unit (711), the public key {y 1, ..., y n } from the external storage device (37), generation of the cyclic group G based g, total voters (voter), vote content m , Read the signature n selected from e signatures ξ = (A 1 , β, z N ), the number n of the public keys {y 1 ,..., Y n } of all voters (voting people), Store in the predetermined storage area (35) (step S25). Also, a predetermined storage area for storing the value v and the value F is secured in the RAM (35) under the control of the control unit (711). The initial value of the value v and the value F is 0.
次に、h生成部(700)は、RAM(35)からn、m、yNをそれぞれ読み込み、h=H(n,yN,m)を演算し、この演算結果hをRAM(35)の所定の格納領域に格納する(ステップS26)。なお、hは巡回群Gの元、即ちh∈Gであることに留意する。 Next, h generator (700), RAM read n from (35), m, and y N, respectively, h = H (n, y N, m) is calculated and the calculation result h RAM (35) Is stored in a predetermined storage area (step S26). Note that h is an element of the cyclic group G, that is, hεG.
次に、A0生成部(701)は、RAM(35)からn、m、yNをそれぞれ読み込み、A0=H’(n,yN,m)を演算し、この演算結果A0をRAM(35)の所定の格納領域に格納する(ステップS27)。なお、A0は巡回群Gの元、即ちA0∈Gであることに留意する。 Next, the A 0 generator (701) reads n, m, and y N from the RAM (35), calculates A 0 = H ′ (n, y N , m), and calculates the calculation result A 0 . The data is stored in a predetermined storage area of the RAM (35) (step S27). Note that A 0 is an element of the cyclic group G, that is, A 0 ∈G.
次に、A1検証部(702)は、RAM(35)からA1を読み込み、A1が巡回群Gの元であるか否かを検証する(ステップS28)。この検証に合格しなかった場合、この署名は不正な署名であるから、制御部(711)は、この署名が付与された電子投票を無効投票として計数しないで(つまり、以下の処理を実行しないで)、e個の署名から新たに1個の署名ξを選択してステップS26以降の処理を行う(ステップS45)。この検証に合格したら、制御部(711)は、以下の処理を実行するように制御する。 Next, the A 1 verification unit (702) reads A 1 from the RAM (35) and verifies whether A 1 is an element of the cyclic group G (step S28). If this verification does not pass, this signature is an illegal signature, and therefore the control unit (711) does not count the electronic vote with this signature as an invalid vote (that is, does not execute the following processing). In step S45), one new signature ξ is newly selected from the e signatures, and the processes in and after step S26 are performed. If this verification is passed, the control unit (711) controls to execute the following processing.
次に、σN生成部(703)は、RAM(35)からA0、A1、nをそれぞれ読み込み、σf=A0(A1^f)〔但しf=1,2,・・・,nとする。〕を演算し、この演算結果σN(=(σ1,σ2,・・・,σn))をRAM(35)の所定の格納領域に格納する(ステップS29)。このσNが、臨時公開鍵に相当する。なお、σN(=(σ1,σ2,・・・,σn))はそれぞれ巡回群Gの元、即ちσN∈Gであることに留意する。また、ステップS29で生成されたσNには固有臨時公開鍵と撹乱臨時公開鍵が含まれるが、いずれのσfが署名ξをもって電子投票した投票装置において生成された固有臨時公開鍵であるかは判別できないことにも留意すること(電子投票における匿名性の確保)。 Next, the σ N generation unit (703) reads A 0 , A 1 , n from the RAM (35), respectively, and σ f = A 0 (A 1 ^ f) [where f = 1, 2,. , N. ], And the calculation result σ N (= (σ 1 , σ 2 ,..., Σ n )) is stored in a predetermined storage area of the RAM (35) (step S29). This σ N corresponds to a temporary public key. Note that σ N (= (σ 1 , σ 2 ,..., Σ n )) is an element of the cyclic group G, that is, σ N εG. In addition, σ N generated in step S29 includes a unique temporary public key and a disturbed temporary public key. Which σ f is a unique temporary public key generated in a voting apparatus that electronically voted with a signature ξ. Note also that cannot be determined (ensure anonymity in electronic voting).
続いて、βφ検証部(704)は、RAM(35)からβφ(φ=0,1,2,・・・,n−1)をそれぞれ読み込み、各βφ(φ=0,1,2,・・・,n−1)が群Zqの元であるか否かを検証する(ステップS30)。この検証に合格しなかった場合、この署名は不正な署名であるから、制御部(711)は、この署名が付与された電子投票を無効投票として計数しないで(つまり、以下の処理を実行しないで)、e個の署名から新たに1個の署名ξを選択してステップS26以降の処理を行う(ステップS45)。この検証に合格したら、制御部(711)は、以下の処理を実行するように制御する。 Then, β φ verification unit (704) reads from β φ RAM (35) (φ = 0,1,2, ···, n-1) , respectively, each β φ (φ = 0,1, 2, ···, n-1) is verified whether the original group Z q (step S30). If this verification does not pass, this signature is an illegal signature, and therefore the control unit (711) does not count the electronic vote with this signature as an invalid vote (that is, does not execute the following processing). In step S45), one new signature ξ is newly selected from the e signatures, and the processes in and after step S26 are performed. If this verification is passed, the control unit (711) controls to execute the following processing.
続いて、次数検証部(705)は、RAM(35)からn、βφ(φ=0,1,2,・・・,n−1)をそれぞれ読み込み、βφの個数がnであるか否かを検証する(ステップS31)。この検証に合格しなかった場合、この署名は不正な署名であるから、制御部(711)は、この署名が付与された電子投票を無効投票として計数しないで(つまり、以下の処理を実行しないで)、e個の署名から新たに1個の署名ξを選択してステップS26以降の処理を行う(ステップS45)。この検証に合格したら、制御部(711)は、以下の処理を実行するように制御する。 Subsequently, the order verification unit (705) reads n and β φ (φ = 0, 1, 2,..., N−1) from the RAM (35), respectively, and whether the number of β φ is n. It is verified whether or not (step S31). If this verification does not pass, this signature is an illegal signature, and therefore the control unit (711) does not count the electronic vote with this signature as an invalid vote (that is, does not execute the following processing). In step S45), one new signature ξ is newly selected from the e signatures, and the processes in and after step S26 are performed. If this verification is passed, the control unit (711) controls to execute the following processing.
続いて、z検証部(706)は、RAM(35)からzN(=(z1,z2,・・・,zn))をそれぞれ読み込み、各zN(=(z1,z2,・・・,zn))が群Zqの元であるか否かを検証する(ステップS32)。この検証に合格しなかった場合、この署名は不正な署名であるから、制御部(711)は、この署名が付与された電子投票を無効投票として計数しないで(つまり、以下の処理を実行しないで)、e個の署名から新たに1個の署名ξを選択してステップS26以降の処理を行う(ステップS45)。この検証に合格したら、制御部(711)は、以下の処理を実行するように制御する。 Subsequently, the z verification unit (706) reads z N (= (z 1 , z 2 ,..., Z n )) from the RAM (35), and each z N (= (z 1 , z 2). ,..., Z n )) is an element of the group Z q (step S32). If this verification does not pass, this signature is an illegal signature, and therefore the control unit (711) does not count the electronic vote with this signature as an invalid vote (that is, does not execute the following processing). In step S45), one new signature ξ is newly selected from the e signatures, and the processes in and after step S26 are performed. If this verification is passed, the control unit (711) controls to execute the following processing.
続いて、a’N生成部(707)は、RAM(35)からn、g、βφ、zN、yNをそれぞれ読み込み、a’f=(g^zf)×(yf^β(f))〔但しf=1,2,・・・,nとする。〕を演算し、この演算結果a’N(=(a’1,a’2,・・・,a’n))をRAM(35)の所定の格納領域に格納する(ステップS33)。β(f)は、読み込んだβφを用いて、β(f)=βn−1×f^(n−1)+βn−2×f^(n−2)+・・・+β1×f+β0によって求めることができる。なお、a’N(=(a’1,a’2,・・・,a’n))はそれぞれ巡回群Gの元、即ちa’N∈Gであることに留意する。 Subsequently, the a ′ N generation unit (707) reads n, g, β φ , z N , and y N from the RAM (35), and a ′ f = (g ^ z f ) × (y f ^ β (F)) [where f = 1, 2,..., N. ] And stores the calculation result a ′ N (= (a ′ 1 , a ′ 2 ,..., A ′ n )) in a predetermined storage area of the RAM (35) (step S33). β (f) is obtained by using β φ that has been read, β (f) = β n−1 × f ^ (n−1) + β n−2 × f ^ (n−2) +... + β 1 × it can be determined by f + β 0. Note that a ′ N (= (a ′ 1 , a ′ 2 ,..., A ′ n )) is an element of the cyclic group G, that is, a ′ N εG.
続いて、b’N生成部(708)は、RAM(35)からn、h、βφ、zN、σNをそれぞれ読み込み、b’f=(h^zf)×(σf^β(f))〔但しf=1,2,・・・,nとする。〕を演算し、この演算結果b’N(=(b’1,b’2,・・・,b’n))をRAM(35)の所定の格納領域に格納する(ステップS34)。β(f)は、読み込んだβφを用いて、β(f)=βn−1×f^(n−1)+βn−2×f^(n−2)+・・・+β1×f+β0によって求めることができる。なお、b’N(=(b’1,b’2,・・・,b’n))はそれぞれ巡回群Gの元、即ちb’N∈Gであることに留意する。 Subsequently, the b ′ N generation unit (708) reads n, h, β φ , z N , and σ N from the RAM (35), and b ′ f = (h ^ z f ) × (σ f ^ β (F)) [where f = 1, 2,..., N. ] And the result b ′ N (= (b ′ 1 , b ′ 2 ,..., B ′ n )) is stored in a predetermined storage area of the RAM (35) (step S34). β (f) is obtained by using β φ that has been read, β (f) = β n−1 × f ^ (n−1) + β n−2 × f ^ (n−2) +... + β 1 × it can be determined by f + β 0. Note that b ′ N (= (b ′ 1 , b ′ 2 ,..., B ′ n )) is an element of the cyclic group G, that is, b ′ N εG.
続いて、判定部(709)は、RAM(35)からn、yN、m、h、A0、A1、a’N、b’N、βφをそれぞれ読み込み、β(0)=H”(n,yN,m,h,A0,A1,a’ N,b’ N)が成立するか否かを判定し、この判定結果RをRAM(35)の所定の格納領域に格納する(ステップS35)。この判定が成立しなかった場合(判定不成立)、この署名は不正な署名であるから、制御部(711)は、この署名が付与された電子投票を無効投票として計数しないで(つまり、以下の処理を実行しないで)、e個の署名から新たに1個の署名ξを選択してステップS以降の処理を行う。この判定が成立した場合(判定成立)、制御部(711)は、以下の処理を実行するように制御する。 Subsequently, the determination unit (709) reads n, y N , m, h, A 0 , A 1 , a ′ N , b ′ N , and β φ from the RAM (35), and β (0) = H. ”(N, y N , m, h, A 0 , A 1 , a ′ N , b ′ N ) is determined, and this determination result R is stored in a predetermined storage area of the RAM (35). When this determination is not satisfied (determination is not satisfied), since this signature is an illegal signature, the control unit (711) counts the electronic vote with this signature as an invalid vote. Without (i.e., not executing the following processing), one signature ξ is newly selected from e signatures, and the processing after step S is performed. The unit (711) controls to execute the following processing.
続いて、カウンタ部(710)は、RAM(35)からvを読み込み、この値に1を加えた値v+1を、RAM(35)の値vが格納されている格納領域に上書きで格納する(ステップS36)。ここで上書きとは、予め格納されている値を消除して新たな値を格納することをいう。 Subsequently, the counter unit (710) reads v from the RAM (35), and stores the value v + 1 obtained by adding 1 to this value by overwriting it in the storage area in which the value v of the RAM (35) is stored ( Step S36). Here, overwriting means deleting a previously stored value and storing a new value.
続いて、フラッグ部(712)は、フラッグ値F=1をRAM(35)の値Fが格納されている格納領域に上書きで格納する(ステップS37)。 Subsequently, the flag unit (712) stores the flag value F = 1 by overwriting the storage area in which the value F of the RAM (35) is stored (step S37).
制御部(711)の制御によって、以上の処理で求められた値FおよびσNを、外部記憶装置(37)に保存記憶される署名ξに対応付けて保存記憶する(ステップS38)。なお、ステップS37の処理が実行されなかった署名ξには、フラッグ値F=0が対応付けられる。 Under the control of the control unit (711), the values F and σ N obtained by the above processing are stored in association with the signature ξ stored in the external storage device (37) (step S38). Note that the flag value F = 0 is associated with the signature ξ for which the process of step S37 has not been executed.
以上の処理をe個の署名全てについて行うことで(ステップS39)、投票内容mに対応付けられたe個の署名のうち、有権者による投票の総数を計数することができる。つまり、e個の署名全てについて以上の処理を行った後に、RAM(35)の所定の格納領域に格納されているvの値が、有権者による(投票内容mの)投票の総数を表している。そこで、制御部(711)の制御によって、以上の処理で求められた値vを、外部記憶装置(37)に保存記憶する(ステップS40)。 By performing the above processing for all e signatures (step S39), it is possible to count the total number of votes voted by voters among the e signatures associated with the vote content m. That is, after performing the above processing for all e signatures, the value of v stored in a predetermined storage area of the RAM (35) represents the total number of votes (of the vote contents m) by the voters. . Therefore, under the control of the control unit (711), the value v obtained by the above processing is stored and stored in the external storage device (37) (step S40).
続いて、重複投票の有無を検証する処理を行う。
ステップS29で生成されたσNには固有臨時公開鍵と撹乱臨時公開鍵が含まれるが、この固有臨時公開鍵は投票装置(投票者)に固有のものであるから、複数の署名に同一の固有臨時公開鍵が含まれないことを利用する(もし、同一の固有臨時公開鍵が含まれれば、重複投票と看做すことができる。)。なお、既述のとおり、いずれのσfが投票装置(投票者)に固有の固有臨時公開鍵であるかは不明であるが、投票装置iから電子投票された署名から求められたσNにおいては、i番目のσiが固有臨時公開鍵であるから、各署名から求められたσNそれぞれのi番目のσiの値を比較し、同一の値が存在すれば、この同一値を与えるσiを含むσNを生成した署名は不正な電子投票に基づくものとして、計数から除外することが可能になる(電子投票における一人一票の確保)。
Subsequently, processing for verifying the presence or absence of duplicate voting is performed.
The σ N generated in step S29 includes a unique temporary public key and a disturbing temporary public key. Since this unique temporary public key is unique to the voting device (voter), it is the same for a plurality of signatures. Utilizing the fact that a unique temporary public key is not included (if the same unique temporary public key is included, it can be regarded as a duplicate vote). As described above, it is not clear which σ f is a unique temporary public key unique to the voting device (voting person), but in σ N obtained from the signature electronically voted by the voting device i Since the i-th σ i is a unique temporary public key, the i-th σ i value of each σ N obtained from each signature is compared, and if the same value exists, the same value is given. A signature that generates σ N including σ i can be excluded from the count as being based on an illegal electronic vote (secure one vote for each electronic vote).
まず、制御部(711)の制御によって、値F=1が対応付けられた署名に対応付けられたσNを外部記憶装置(37)から読み込み、RAM(35)の所定の格納領域に格納する。また、制御部(711)の制御によって、値vも外部記憶装置(37)から読み込み、RAM(35)の所定の格納領域に格納する(ステップS41)。ここでは説明の便宜から、投票内容mに対応付けられたe個の署名をξ2、ξ3、ξ5、ξ8、ξ10、ξ17、・・・とし、このうち値F=1が対応付けられた署名をξ3、ξ5、ξ8、ξ17、・・・とする。また、値F=1が対応付けられた署名に対応付けられたσNをσN(ξ3)、σN(ξ5)、σN(ξ8)、σN(ξ17)、・・・とする。 First, under the control of the control unit (711), σ N associated with the signature associated with the value F = 1 is read from the external storage device (37) and stored in a predetermined storage area of the RAM (35). . The value v is also read from the external storage device (37) and stored in a predetermined storage area of the RAM (35) under the control of the control unit (711) (step S41). Here, for convenience of explanation, e signatures associated with the vote content m are denoted as ξ 2 , ξ 3 , ξ 5 , ξ 8 , ξ 10 , ξ 17 ,. Assume that the associated signatures are ξ 3 , ξ 5 , ξ 8 , ξ 17 ,. Further, σ N associated with the signature associated with the value F = 1 is defined as σ N (ξ 3 ), σ N (ξ 5 ), σ N (ξ 8 ), σ N (ξ 17 ),.・ Let's say.
次に、重複投票検証部(713)は、RAM(35)からσN(ξ3)、σN(ξ5)、σN(ξ8)、σN(ξ17)、・・・およびvを読み込み、f=1,2,・・・,nについて、σf(ξ3)、σf(ξ5)、σf(ξ8)、σf(ξ17)、・・・に同一の値が存在するか否かを検証し、同一の値が存在する場合、その値が存在するσNの数(τ)を計数する(ステップS42)。重複投票検証部(713)は、v−τを求めて、この値をRAM(35)の値vが格納されている格納領域に上書きで格納する(ステップS43)。 Next, the duplicate voting verification unit (713) starts from the RAM (35) to σ N (ξ 3 ), σ N (ξ 5 ), σ N (ξ 8 ), σ N (ξ 17 ),. , And for f = 1, 2,..., N, the same as σ f (ξ 3 ), σ f (ξ 5 ), σ f (ξ 8 ), σ f (ξ 17 ),. It is verified whether or not a value exists. If the same value exists, the number (τ) of σ N in which the value exists is counted (step S42). The duplicate vote verifying unit (713) obtains v−τ and stores this value by overwriting it in the storage area where the value v of the RAM (35) is stored (step S43).
制御部(711)の制御によって、以上の処理で求められた値vを、外部記憶装置(37)に保存記憶する。この値vが、重複投票による無効投票を排除した、有権者による(投票内容mに対する)電子投票の有効投票総数を表している。 Under the control of the control unit (711), the value v obtained by the above processing is stored and stored in the external storage device (37). This value v represents the total number of valid votes for electronic voting (for vote contents m) by the voter, excluding invalid voting due to duplicate voting.
以上の処理を、各投票内容m1,m2,・・・,msについて行うことで、各投票内容に対する有効投票総数を計数できる。 The above processing, the vote content m 1, m 2, · · ·, by performing the m s, can count the valid votes cast for each voting contents.
開票装置(3)は、制御部(711)の制御によって、その通信部(33)を通じて、情報公開サーバ(1)に対し、計数された各投票内容に対する有効投票総数を送信する。情報公開サーバ(1)は、開票装置(3)から各投票内容に対する有効投票総数を受信し、この各投票内容に対する有効投票総数を外部記憶装置(17)に保存記憶する。
結果、各投票装置は、情報公開サーバに対してアクセスすることで、開票結果(各投票内容に対する有効投票総数)を取得することが可能になる。
Under the control of the control unit (711), the vote-voting device (3) transmits the total number of valid votes for each voted content to the information disclosure server (1) through the communication unit (33). The information disclosure server (1) receives the total number of valid votes for each vote content from the vote counting device (3), and saves and stores the total number of valid votes for each vote content in the external storage device (17).
As a result, each voting device can obtain the result of counting votes (the total number of valid votes for each voting content) by accessing the information disclosure server.
<第2実施形態>
次に、本発明の第2実施形態について、図15から図20を参照しながら説明する。
第1実施形態では、多項式β(x)の係数を用いた電子投票・開票処理を行ったが、第2実施形態では、多項式の係数を用いない電子投票・開票処理を説明する。これにより、電子投票における署名生成処理・開票における検証処理の演算量を低減することができる。
なお、第2実施形態では、第1実施形態と同一の機能・処理については同一の符号を与えるなどして説明を省略する。
図15は、第2実施形態における投票装置(2’)の機能構成例を示す図である。
図16は、投票装置(2’)における処理フローを示す図である(その1)。
図17は、投票装置(2’)における処理フローを示す図である(その2)。
図18は、第2実施形態における開票装置(3)の機能構成例を示す図である。
図19は、開票装置(3’)における処理フローを示す図である(その1)。
図20は、開票装置(3’)における処理フローを示す図である(その2)。
<Second Embodiment>
Next, a second embodiment of the present invention will be described with reference to FIGS.
In the first embodiment, the electronic voting / voting process using the coefficient of the polynomial β (x) is performed. In the second embodiment, the electronic voting / voting process without using the coefficient of the polynomial will be described. Thereby, it is possible to reduce the calculation amount of signature generation processing in electronic voting and verification processing in vote counting.
In the second embodiment, the same functions and processes as those in the first embodiment are given the same reference numerals and the description thereof is omitted.
FIG. 15 is a diagram illustrating a functional configuration example of the voting device (2 ′) in the second embodiment.
FIG. 16 is a diagram showing a processing flow in the voting apparatus (2 ′) (part 1).
FIG. 17 is a diagram showing a processing flow in the voting apparatus (2 ′) (part 2).
FIG. 18 is a diagram illustrating a functional configuration example of the vote counting device (3) in the second embodiment.
FIG. 19 is a diagram showing a processing flow in the vote-tapping device (3 ′) (No. 1).
FIG. 20 is a diagram showing a processing flow in the vote-tapping device (3 ′) (No. 2).
[投票装置]
第2実施形態における投票装置(2’)について説明する。
第2実施形態に係わる投票装置(2’)の外部記憶装置(27)には、電子投票のためのプログラムおよびこのプログラムの処理において必要となるデータなどが保存記憶されている。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に保存記憶される。
[Voting device]
The voting device (2 ′) in the second embodiment will be described.
The external storage device (27) of the voting device (2 ′) according to the second embodiment stores and stores a program for electronic voting and data necessary for processing of this program. Further, data obtained by the processing of these programs is appropriately stored and stored in a RAM or an external storage device.
第2実施形態に係わる投票装置(2’)の外部記憶装置(27)〔あるいはROMなど〕には、値βφを生成するプログラムに替えて値ciを生成するためのプログラムが保存記憶されている。その他のプログラムは第1実施形態と同様である。 The voting apparatus according to a second embodiment the external storage device (2 ') (27) [or a ROM, etc.], a program for generating the value c i in place of a program to generate the value beta phi is saved stored ing. Other programs are the same as those in the first embodiment.
第2実施形態に係わる投票装置(2’)では、外部記憶装置(27)〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAM(25)に読み込まれて、CPU(24)で解釈実行・処理される。その結果、CPU(24)が所定の機能(h生成部、σi生成部、σj生成部、A0生成部、A1生成部、ai生成部、bi生成部、aj生成部、bj生成部、zi生成部、ci生成部、元選択部、署名生成部、制御部)を実現することで、電子投票における投票が実現される。 In the voting device (2 ′) according to the second embodiment, each program stored in the external storage device (27) [or ROM, etc.] and data necessary for processing each program are stored in the RAM (25) as necessary. Are interpreted and executed and processed by the CPU (24). As a result, the CPU (24) has predetermined functions (h generator, σ i generator, σ j generator, A 0 generator, A 1 generator, a i generator, b i generator, a j generator. , b j generator, z i generation unit, c i generation unit, based on the selection unit, the signature generating unit, the control unit) to realize a vote in electronic voting is achieved.
[開票装置]
第2実施形態における開票装置について説明する。
第2実施形態に係わる開票装置(3’)の外部記憶装置(37)〔あるいはROMなど〕には、βφを検証するためのプログラム、βφの個数を検証するためのプログラム、βφ(φ=0)と所定の値との一致を判定するためのプログラムに替えて、元cを検証するためのプログラム、元cと所定の値との一致を判定するためのプログラムが保存記憶されている。
[Voting device]
A vote counting apparatus in the second embodiment will be described.
The vote count device according to a second embodiment the external storage device (3 ') (37) [or a ROM, etc.], a program for verifying the number of programs, beta phi for verifying beta phi, beta phi ( In place of the program for determining the coincidence between φ = 0) and the predetermined value, a program for verifying the element c and a program for determining the coincidence between the element c and the predetermined value are stored and stored. Yes.
開票装置(3’)では、外部記憶装置(37)〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAM(35)に読み込まれて、CPU(34)で解釈実行・処理される。その結果、CPU(34)が所定の機能(h生成部、σN生成部、A0生成部、a’N生成部、b’N生成部、z検証部、c検証部、A1検証部、判定部、カウンタ部、フラッグ部、重複投票検証部、制御部)を実現することで、電子投票における開票が実現される。 In the vote counting device (3 ′), each program stored in the external storage device (37) [or ROM, etc.] and data necessary for processing each program are read into the RAM (35) as necessary, and the CPU Interpretation is executed and processed in (34). As a result, the CPU (34) has predetermined functions (h generator, σ N generator, A 0 generator, a ′ N generator, b ′ N generator, z verifier, c verifier, A 1 verifier. By implementing a determination unit, a counter unit, a flag unit, a duplicate vote verification unit, and a control unit, vote counting in electronic voting is realized.
[投票]
第1実施形態のステップS1からステップS15までは同じ処理を行う。
第1実施形態における投票装置iのステップS16では、βφ生成部(610)が、次数(n−1)の多項式β(x)∈Zq[x]の係数βφ(φ=0,1,2,・・・,n−1)を求めたが、第2実施形態では、ci生成部(615)がciを求める。即ち、ci生成部(615)は、RAM(25)からn、yN、m、h、A0、A1、ai、aj、bi、bj、cjをそれぞれ読み込み、式(1)の演算を行い、この演算結果ciをRAM(25)の所定の格納領域に格納する(ステップS16’)。ここで、j∈N−{i}、即ちj=1,2,・・・,i−1,i+1,・・・,nであり、aNは、aN=(a1,a2,・・・,an)であり、bNは、bN=(b1,b2,・・・,bn)であるとする。なお、ciは群Zqの元、即ちci∈Zqであることに留意する。
The same processing is performed from step S1 to step S15 of the first embodiment.
In step S16 of the voting device i in the first embodiment, the β φ generation unit (610) determines the coefficient β φ (φ = 0, 1) of the polynomial β (x) ∈Z q [x] of the degree (n−1). , 2, · · ·, n-1) a was determined, in the second embodiment, c i generation unit (615) is obtaining the c i. That, c i generation unit (615) reads n from RAM (25), y N, m, h, A 0, A 1, a i, a j, b i, b j, a c j respectively, wherein It performs the operation of (1), and stores the calculation result c i in a predetermined storage area of the RAM (25) (step S16 '). Here, j∈N- {i}, i.e. j = 1,2, ···, i- 1, i + 1, ···, a n, a N is, a N = (a 1, a 2, , A n ), and b N is b N = (b 1 , b 2 ,..., B n ). Note that c i is an element of group Z q , that is, c i εZ q .
第1実施形態における投票装置iのステップS17では、zi生成部(611)が、zi=wi−β(i)×xiを演算し、この演算結果ziを求めたが、第2実施形態では、zi生成部(616)が第1実施形態とは異なるziを求める。即ち、zi生成部(616)は、RAM(25)からwi、xi、ciをそれぞれ読み込み、zi=wi−ci×xiを演算し、この演算結果ziをRAM(25)の所定の格納領域に格納する(ステップS17’)。なお、ziは群Zqの元、即ちzi∈Zqであることに留意する。 In step S17 of Vote device i in the first embodiment, z i generation unit (611) calculates the z i = w i -β (i ) × x i, was calculated the result of the calculation z i, the In the second embodiment, the z i generator (616) obtains z i different from that of the first embodiment. That, z i generator (616) reads RAM (25) from the w i, x i, a c i respectively, z i = w i -c i × calculates the x i, RAM and the calculation result z i Store in the predetermined storage area of (25) (step S17 '). Note that z i is an element of the group Z q , that is, z i εZ q .
第1実施形態における投票装置iのステップS18では、署名生成部(612)が、A1、zi、zj、βφの組み合わせを、投票装置iにおける投票内容mに対する署名ξiとしたが、第2実施形態では、署名生成部(617)が第1実施形態とは異なる署名を求める。即ち、署名生成部(617)は、RAM(25)からA1、m、zi、zj、ci、cjをそれぞれ読み込み、このうち、A1、zi、zj、ci、cjの組み合わせを、投票装置iにおける投票内容mに対する署名ξiとする(ステップS18’)。即ち、ξi=(A1、cN、zN)とする。ここでzNは、zN=(z1,z2,・・・,zn)、cNは、cN=(c1,c2,・・・,cn)である。ステップS18’以降は、第1実施形態と同様の処理を行う。
In step S18 of the voting device i in the first embodiment, the signature generation unit (612) sets the combination of A 1 , z i , z j , and β φ as the signature ξ i for the voting content m in the voting device i. In the second embodiment, the signature generation unit (617) obtains a signature different from that in the first embodiment. That is, the signature generation unit (617) reads A 1 , m, z i , z j , c i , and c j from the RAM (25), and among these, A 1 , z i , z j , c i , The combination of c j is a signature ξ i for the vote content m in the voting device i (step S18 ′). That is, ξ i = (A 1 , c N , z N ). Where z N is, z N = (z 1,
[開票]
第1実施形態のステップS20からステップS23までは同じ処理を行う。
第1実施形態における開票装置(3)のステップS24では、制御部(711)の制御によって、外部記憶装置(37)から、巡回群Gの生成元g、全投票者(有権者)の公開鍵{y1,…,yn}、投票内容m、e個の署名から1個選択した署名ξ=(A1、β、zN)、全投票者(有権者)の公開鍵{y1,…,yn}の個数nを読み込み、それぞれをRAM(35)の所定の格納領域に格納したが、第2実施形態では、制御部(711)の制御によって、外部記憶装置(37)から、巡回群Gの生成元g、全投票者(有権者)の公開鍵{y1,…,yn}、投票内容m、e個の署名から1個選択した署名ξ=(A1、cN、zN)、全投票者(有権者)の公開鍵{y1,…,yn}の個数nを読み込み、それぞれをRAM(35)の所定の格納領域に格納する(ステップS24’)。
[Voting]
The same processing is performed from step S20 to step S23 of the first embodiment.
In step S24 of the vote counting device (3) in the first embodiment, the control unit (711) controls the generation group g of the traveling group G and the public keys of all voters (voting people) from the external storage device (37). y 1 ,..., y n }, voting content m, one signature selected from e signatures ξ = (A 1 , β, z N ), public keys {y 1 ,. The number n of y n } is read and stored in a predetermined storage area of the RAM (35). In the second embodiment, the cyclic group is transferred from the external storage device (37) under the control of the control unit (711). Generator G of G, public key {y 1 ,..., Y n } of all voters (voting people), vote content m, signature selected from e signatures ξ = (A 1 , c N , z N ), the public key of all voters (voter) {y 1, ..., y n} reads the number n of the respective R Stored in a predetermined storage area of M (35) (step S24 ').
ステップS24’以降は、第1実施形態におけるステップS25からステップS29までと同様の処理を行う。 After step S24 ', processing similar to that from step S25 to step S29 in the first embodiment is performed.
第1実施形態における開票装置(3)のステップS30では、βφ検証部(704)が、RAM(35)からβφ(φ=0,1,2,・・・,n−1)をそれぞれ読み込み、各βφ(φ=0,1,2,・・・,n−1)が群Zqの元であるか否かを検証したが、第2実施形態では不要の処理となる。 In step S30 of the vote counting device (3) in the first embodiment, the β φ verification unit (704) receives β φ (φ = 0, 1, 2,..., N−1) from the RAM (35). Reading and verifying whether each β φ (φ = 0, 1, 2,..., N−1) is an element of the group Z q is an unnecessary process in the second embodiment.
また、第1実施形態における開票装置(3)のステップS31では、次数検証部(705)は、RAM(35)からn、βφ(φ=0,1,2,・・・,n−1)をそれぞれ読み込み、βφの個数がnであるか否かを検証したが、第2実施形態では不要の処理となる。 Further, in step S31 of the vote counting device (3) in the first embodiment, the order verifying unit (705) receives n, β φ (φ = 0, 1, 2,..., N−1) from the RAM (35). ) read respectively, although the number of beta phi was verified whether or not n, becomes unnecessary processing in the second embodiment.
第2実施形態では、ステップS32に続き、c検証部(715)が、RAM(35)からcN(=(c1,c2,・・・,cn))をそれぞれ読み込み、各cN(=(c1,c2,・・・,cn))が群Zqの元であるか否かを検証する(ステップS32a)。この検証に合格しなかった場合、この署名は不正な署名であるから、制御部(711)は、この署名が付与された電子投票を無効投票として計数しないで(つまり、以下の処理を実行しないで)、e個の署名から新たに1個の署名ξを選択してステップS26以降の処理を行い(ステップS45)、この検証に合格したら、制御部(711)は、以下の処理を実行するように制御することは第1実施形態と同様である。 In the second embodiment, following step S32, the c verification unit (715) reads c N (= (c 1 , c 2 ,..., C n )) from the RAM (35), and each c N It is verified whether (= (c 1 , c 2 ,..., C n )) is an element of the group Z q (step S32a). If this verification is not passed, the signature is an invalid signature, and therefore the control unit (711) does not count the electronic vote with this signature as an invalid vote (that is, does not execute the following processing). Then, one new signature ξ is selected from e signatures, and the processing from step S26 is performed (step S45). If this verification is passed, the control unit (711) executes the following processing. Such control is the same as in the first embodiment.
第1実施形態における開票装置(3)のステップS33では、a’N生成部(707)がa’Nを求めたが、第2実施形態では、第1実施形態と異なるa’Nを求める。即ち、a’N生成部(716)は、RAM(35)からn、g、cN、zN、yNをそれぞれ読み込み、a’f=(g^zf)×(yf^cf)〔但しf=1,2,・・・,nとする。〕を演算し、この演算結果a’N(=(a’1,a’2,・・・,a’n))をRAM(35)の所定の格納領域に格納する(ステップS33’)。なお、a’N(=(a’1,a’2,・・・,a’n))はそれぞれ巡回群Gの元、即ちa’N∈Gであることに留意する。 In step S33 of the vote counting device (3) in the first embodiment, the a ′ N generation unit (707) calculates a ′ N , but in the second embodiment, a ′ N different from the first embodiment is calculated. That is, the a ′ N generation unit (716) reads n, g, c N , z N , and y N from the RAM (35), and a ′ f = (g ^ z f ) × (y f ^ c f [Where f = 1, 2,..., N. ], And the calculation result a ′ N (= (a ′ 1 , a ′ 2 ,..., A ′ n )) is stored in a predetermined storage area of the RAM (35) (step S33 ′). Note that a ′ N (= (a ′ 1 , a ′ 2 ,..., A ′ n )) is an element of the cyclic group G, that is, a ′ N εG.
第1実施形態における開票装置(3)のステップS34では、b’N生成部(708)がb’Nを求めたが、第2実施形態では、第1実施形態と異なるb’Nを求める。即ち、b’N生成部(717)は、RAM(35)からn、h、cN、zN、σNをそれぞれ読み込み、b’f=(h^zf)×(σf^cf)〔但しf=1,2,・・・,nとする。〕を演算し、この演算結果b’N(=(b’1,b’2,・・・,b’n))をRAM(35)の所定の格納領域に格納する(ステップS34’)。なお、b’N(=(b’1,b’2,・・・,b’n))はそれぞれ巡回群Gの元、即ちb’N∈Gであることに留意する。 In step S34 of the vote counting device (3) in the first embodiment, the b ′ N generation unit (708) calculates b ′ N. In the second embodiment, b ′ N that is different from the first embodiment is determined. That is, the b ′ N generation unit (717) reads n, h, c N , z N , and σ N from the RAM (35), respectively, and b ′ f = (h ^ z f ) × (σ f ^ c f [Where f = 1, 2,..., N. ] And the result b ′ N (= (b ′ 1 , b ′ 2 ,..., B ′ n )) is stored in a predetermined storage area of the RAM (35) (step S34 ′). Note that b ′ N (= (b ′ 1 , b ′ 2 ,..., B ′ n )) is an element of the cyclic group G, that is, b ′ N εG.
第1実施形態における開票装置(3)のステップS35では、判定部(709)が、β(0)=H”(n,yN,m,h,A0,A1,aN,bN)が成立するか否かを判定したが、第2実施形態では異なる判定を行う。即ち、判定部(718)は、RAM(35)からn、yN、m、h、A0、A1、a’N、b’N、cNをそれぞれ読み込み、式(2)が成立するか否かを判定し、この判定結果RをRAM(35)の所定の格納領域に格納する(ステップS35’)。この判定が成立しなかった場合(判定不成立)、この署名は不正な署名であるから、制御部(711)は、この署名が付与された電子投票を無効投票として計数しないで(つまり、以下の処理を実行しないで)、e個の署名から新たに1個の署名ξを選択してステップS26以降の処理を行い(ステップS45)、この判定が成立した場合(判定成立)、制御部(711)は、以下の処理を実行するように制御することは第1実施形態と同様である。ステップS35’以降は、第1実施形態と同様の処理を行う。
本発明である電子投票装置、開票装置、情報公開サーバ、電子投開票システム・方法は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、署名生成方法や投票署名の検証方法は適宜に変更可能である。また、上記電子投開票システム・方法において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。 The electronic voting device, the voting device, the information disclosure server, and the electronic voting and voting system / method according to the present invention are not limited to the above-described embodiments, and can be appropriately changed without departing from the gist of the present invention. For example, the signature generation method and the voting signature verification method can be changed as appropriate. In addition, the processes described in the above-mentioned electronic voting system / method are not only executed in time series according to the order of description, but also executed in parallel or individually as required by the processing capability of the apparatus that executes the processes. It may be.
また、上記電子投票装置、開票装置、情報公開サーバにおける処理機能をコンピュータによって実現する場合、電子投票装置、開票装置、情報公開サーバが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記電子投票装置、開票装置、情報公開サーバにおける処理機能がコンピュータ上で実現される。 Further, when the processing functions of the electronic voting device, the vote counting device, and the information disclosure server are realized by a computer, the processing contents of the functions that the electronic voting device, the vote counting device, and the information disclosure server should have are described by a program. By executing this program on a computer, the processing functions in the electronic voting device, the voting device, and the information disclosure server are realized on the computer.
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。 The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used. Specifically, for example, as a magnetic recording device, a hard disk device, a flexible disk, a magnetic tape or the like, and as an optical disk, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only). Memory), CD-R (Recordable) / RW (ReWritable), etc., magneto-optical recording medium, MO (Magneto-Optical disc), etc., semiconductor memory, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory), etc. Can be used.
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。 A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、電子投票装置、開票装置、情報公開サーバを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 In this embodiment, an electronic voting device, a vote-tick device, and an information disclosure server are configured by executing a predetermined program on a computer. However, at least a part of these processing contents is realized by hardware. It is good to do.
本発明は電子投開票に有用である。 The present invention is useful for electronic billing.
1 情報公開サーバ
2 投票装置
3 開票装置
4 CA(認証局)
5 ネットワーク
601 σi生成部
603 A1生成部
604 σj生成部
612 署名生成部
702 A1検証部
703 σN生成部
709 判定部
710 カウンタ部
1
5
Claims (10)
投票者iに固有の秘密鍵x i を記憶する記憶手段と、
上記情報公開サーバから、投票内容mと全投票者の公開鍵y N ={y 1 ,…,y n }を受信する受信手段と、
投票者iに固有の固有臨時公開鍵σ i =H(n,y N ,m)^x i を求める固有臨時公開鍵生成手段と、
撹乱因子A 1 =(σ i /H’(n,y N ,m))^(1/i)を求める撹乱因子生成手段と、
n−1個の撹乱臨時公開鍵σ j =H’(n,y N ,m)(A 1 ^j)[j∈{1,…,n}−{i}]を求める撹乱臨時公開鍵生成手段と、
任意に選択した元w i ∈Z q についてa i =g^w i とb i =H(n,y N ,m)^w i を求め、各j[j∈{1,…,n}−{i}]について任意に選択した2つの元z j 、c j ∈Z q を用いて、a j =(g^z j )×(y j ^c j )とb j =(H(n,y N ,m)^z j )×(σ j ^c j )を求め、β(0)=H”(n,y N ,m,H(n,y N ,m),H’(n,y N ,m),A 1 ,a 1 ,a 2 ,…,a n ,b 1 ,b 2 ,…,b n )、β(j)=c j [j∈{1,…,n}−{i}]を満たす次数(n−1)の多項式β(x)=β n−1 x^(n−1)+β n−2 x^(n−2)+…+β 1 x+β 0 ∈Z q [x]の係数β φ (φ=0,1,2,…,n−1)を求め、さらに、z i =w i −β(i)×x i を求め、ξ i =(A 1 ,β 0 ,β 1 ,…,β n−1 ,z 1 ,z 2 ,…,z n )を投票内容mに対する署名とする署名情報生成手段と、
投票内容mおよび当該投票内容mに対する署名ξ i を電子投票として上記情報公開サーバに送信する送信手段と
を備えた電子投票装置。 The generator of the cyclic group G is g, the total number of voters is n, the secret key x i of the voter i (1 ≦ i ≦ n) is the element of the group Z q , and the voter i (1 ≦ i ≦ n) Is set to y i = g ^ x i , H, H ′, H ″ are hash functions, respectively, and the vote contents m and the public keys y N = {y 1 ,..., Y n } of all voters are stored. An electronic voting apparatus that performs electronic voting on an information disclosure server,
Storage means for storing a secret key x i unique to the voter i ;
From the information public server, public vote content m and the total voters key y N = {y 1, ... , y n} and receiving means for receiving,
A unique temporary public key generating means for obtaining a unique temporary public key σ i = H (n, y N , m) ^ x i unique to the voter i ;
Disturbance factor generation means for determining the disturbance factor A 1 = (σ i / H ′ (n, y N , m)) ^ (1 / i) ;
Disturbed temporary public key generation for obtaining n−1 disturbed temporary public keys σ j = H ′ (n, y N , m) (A 1 ^ j) [j∈ {1,..., n} − {i}] Means,
For an arbitrarily selected element w i ∈Z q , a i = g ^ w i and b i = H (n, y N , m) ^ w i are obtained, and each j [j∈ {1,..., N} − {I}] using two elements z j , c j ∈Z q arbitrarily selected , a j = (g ^ z j ) × (y j ^ c j ) and b j = (H (n, y N , m) ^ z j ) × (σ j ^ c j ) is obtained, and β (0) = H ″ (n, y N , m, H (n, y N , m), H ′ (n, y n, m), A 1 , a 1, a 2, ..., a n, b 1, b 2, ..., b n), β (j) = c j [j∈ {1, ..., n} - {I}] polynomial of order (n−1) β (x) = β n−1 x ^ (n−1) + β n−2 x ^ (n−2) +... + Β 1 x + β 0 ∈Z q coefficients [x] β φ (φ = 0,1,2, ..., n-1) look, further, z i = w i -β ( i) × seeking i, ξ i = (A 1 , β 0, β 1, ..., β n-1, z 1, z 2, ..., z n) and signature information generation means for the signature for vote content m the,
Child voting device collector having a transmission means for transmitting to the information disclosure server as electronic voting signature xi] i for vote content m and the vote content m.
投票者iに固有の秘密鍵x i を記憶する記憶手段と、
上記情報公開サーバから、投票内容mと全投票者の公開鍵y N ={y 1 ,…,y n }を受信する受信手段と、
投票者iに固有の固有臨時公開鍵σ i =H(n,y N ,m)^x i を求める固有臨時公開鍵生成手段と、
撹乱因子A 1 =(σ i /H’(n,y N ,m))^(1/i)を求める撹乱因子生成手段と、
n−1個の撹乱臨時公開鍵σ j =H’(n,y N ,m)(A 1 ^j)[j∈{1,…,n}−{i}]を求める撹乱臨時公開鍵生成手段と、
任意に選択した元w i ∈Z q についてa i =g^w i とb i =H(n,y N ,m)^w i を求め、各j[j∈{1,…,n}−{i}]について任意に選択した2つの元z j 、c j ∈Z q を用いて、a j =(g^z j )×(y j ^c j )とb j =(H(n,y N ,m)^z j )×(σ j ^c j )を求め、c i =H”(n,y N ,m,H(n,y N ,m),H’(n,y N ,m),A 1 ,a 1 ,a 2 ,…,a n ,b 1 ,b 2 ,…,b n )−Σ j∈{1,…,n}-{i} c j を求め、さらに、z i =w i −c i ×x i を求め、ξ i =(A 1 ,c 0 ,c 1 ,…,c n ,z 1 ,z 2 ,…,z n )を投票内容mに対する署名とする署名情報生成手段と、
投票内容mおよび当該投票内容mに対する署名ξ i を電子投票として上記情報公開サーバに送信する送信手段と
を備えた電子投票装置。 The generator of the cyclic group G is g, the total number of voters is n, the secret key x i of the voter i (1 ≦ i ≦ n) is the element of the group Z q , and the voter i (1 ≦ i ≦ n) Is set to y i = g ^ x i , H, H ′, H ″ are hash functions, respectively, and the vote contents m and the public keys y N = {y 1 ,..., Y n } of all voters are stored. An electronic voting apparatus that performs electronic voting on an information disclosure server,
Storage means for storing a secret key x i unique to the voter i ;
From the information public server, public vote content m and the total voters key y N = {y 1, ... , y n} and receiving means for receiving,
A unique temporary public key generating means for obtaining a unique temporary public key σ i = H (n, y N , m) ^ x i unique to the voter i ;
Disturbance factor generation means for determining the disturbance factor A 1 = (σ i / H ′ (n, y N , m)) ^ (1 / i) ;
Disturbed temporary public key generation for obtaining n−1 disturbed temporary public keys σ j = H ′ (n, y N , m) (A 1 ^ j) [j∈ {1,..., n} − {i}] Means,
For an arbitrarily selected element w i ∈Z q , a i = g ^ w i and b i = H (n, y N , m) ^ w i are obtained, and each j [j∈ {1,..., N} − {I}] using two elements z j , c j ∈Z q arbitrarily selected , a j = (g ^ z j ) × (y j ^ c j ) and b j = (H (n, y n, m) ^ z j ) seek × (σ j ^ c j) , c i = H "(n, y n, m, H (n, y n, m), H '(n, y n , M), A 1 , a 1 , a 2 ,..., A n , b 1 , b 2 ,..., B n ) −Σ j∈ {1, ..., n}-{i} c j , obtains a z i = w i -c i × x i, ξ i = (a 1, c 0, c 1, ..., c n, z 1, z 2, ..., z n) signature for vote content m the and the signature information generating means and,
Child voting device collector having a transmission means for transmitting to the information disclosure server as electronic voting signature xi] i for vote content m and the vote content m.
上記情報公開サーバから、少なくとも全投票者の公開鍵y N ={y 1 ,…,y n }および投票内容mに対する全ての投票署名ξ 1 ,…,ξ e を受信する受信手段と、
各投票署名ξ 1 ,…,ξ e についてσ f =H’(n,y N ,m)(A 1 ^f)[f=1,2,…,n]を求める臨時公開鍵生成手段と、
各投票署名ξ 1 ,…,ξ e について、β(x)=β n−1 x^(n−1)+β n−2 x^(n−2)+…+β 1 x+β 0 として、a’ f =(g^z f )×(y f ^β(f))[f=1,2,…,n]とb’ f =(H(n,y N ,m)^z f )×(σ f ^β(f))[f=1,2,…,n]を求め、β(0)=H”(n,y N ,m,H(n,y N ,m),H’(n,y N ,m),A 1 ,a’ 1 ,a’ 2 ,…,a’ n ,b’ 1 ,b’ 2 ,…,b’ n )が成立するか否かを判定する検証手段と、
上記判定に合格した投票署名の数vを計数し、さらに、上記判定に合格した投票署名に対応する各{σ 1 ,…,σ n }を比較して同一の値が含まれる投票署名を重複投票とし、当該重複投票の数τを上記計数結果vから引いて得られるv−τを有効投票総数とする計数手段と
を備えた開票装置。 The origin of the cyclic group G and g, the voter total number is n, the public key of the voter i (1 ≦ i ≦ n) and y i = g ^ x i, hash H, H ', H ", respectively The vote content m and the public key y N = {y 1 ,..., Y n } of all the voters and the signature for the vote content m transmitted from the electronic voting apparatus according to claim 1 (hereinafter referred to as a vote signature) ) Ξ i = (A 1 , β 0 , β 1 ,..., Β n−1 , z 1 , z 2 ,..., Z n ) are stored, and at least the public keys of all voters y n = {y 1, ... , y n} all voting signature xi] 1 against and vote content m, ..., receives the ξ e (e ≦ n), a vote counting apparatus for performing vote count relates vote content m ,
From the information public server, the public key y N = {y 1, ... , y n} of at least all voters Oyo voting signature of all hands for beauty voting contents m xi] 1, ..., receiver means for receiving xi] e When,
Each voting signature xi] 1, ..., for ξ e σ f = H '( n, y N, m) (A 1 ^ f) [f = 1,2, ..., n] and the temporary public key generation unit asking you to ,
For each voting signature ξ 1 ,..., Ξ e , β (x) = β n−1 x ^ (n−1) + β n−2 x ^ (n−2) +... + Β 1 x + β 0 and a ′ f = (g ^ z f) × (y f ^ β (f)) [f = 1,2, ..., n] and b 'f = (H (n , y n, m) ^ z f) × (σ f ^ β (f)) [f = 1, 2,..., n], and β (0) = H ″ (n, y N , m, H (n, y N , m), H ′ (n , y n, m), a 1, a '1, a' 2, ..., a 'n, b' 1, b '2, ..., b' n) and determining the verification means whether established ,
Counting the number v of voting signature passed to the decision, further overlap each {σ 1, ..., σ n } corresponding to the voting signature passed the determination voting signature featuring the same value than the vote was open form device having a counting means for effective votes cast the v-tau obtained by subtracting from the count result v the number tau of the duplicate voting.
上記情報公開サーバから、少なくとも全投票者の公開鍵y N ={y 1 ,…,y n }および投票内容mに対する全ての投票署名ξ 1 ,…,ξ e を受信する受信手段と、
各投票署名ξ 1 ,…,ξ e についてσ f =H’(n,y N ,m)(A 1 ^f)[f=1,2,…,n]を求める臨時公開鍵生成手段と、
各投票署名ξ 1 ,…,ξ e について、a’ f =(g^z f )×(y f ^c f )[f=1,2,…,n]とb’ f =(H(n,y N ,m)^z f )×(σ f ^c f )[f=1,2,…,n]を求め、Σ j∈{1,…,n} c j =H”(n,y N ,m,H(n,y N ,m),H’(n,y N ,m),A 1 ,a’ 1 ,a’ 2 ,…,a’ n ,b’ 1 ,b’ 2 ,…,b’ n )が成立するか否かを判定する検証手段と、
上記判定に合格した投票署名の数vを計数し、さらに、上記判定に合格した投票署名に対応する各{σ 1 ,…,σ n }を比較して同一の値が含まれる投票署名を重複投票とし、当該重複投票の数τを上記計数結果vから引いて得られるv−τを有効投票総数とする計数手段と
を備えた開票装置。 The origin of the cyclic group G and g, the voter total number is n, the public key of the voter i (1 ≦ i ≦ n) and y i = g ^ x i, hash H, H ', H ", respectively The vote content m and the public key y N = {y 1 ,..., Y n } of all the voters and the signature for the vote content m transmitted from the electronic voting apparatus according to claim 2 ) Ξ i = (A 1 , c 0 , c 1 ,..., C n , z 1 , z 2 ,..., Z n ) is stored, and at least the public keys y N of all the voters are stored. = {Y 1 ,..., Y n } and all the voting signatures ξ 1 ,..., Ξ e (e ≦ n) for the voting content m,
From the information public server, the public key y N = {y 1, ... , y n} of at least all voters Oyo voting signature of all hands for beauty voting contents m xi] 1, ..., receiver means for receiving xi] e and,
Each voting signature xi] 1, ..., for ξ e σ f = H '( n, y N, m) (A 1 ^ f) [f = 1,2, ..., n] and the temporary public key generation unit asking you to ,
For each voting signature ξ 1 ,..., Ξ e , a ′ f = (g ^ z f ) × (y f cc f ) [f = 1, 2,..., N] and b ′ f = (H (n , Y N , m) ^ z f ) × (σ f ^ c f ) [f = 1, 2,..., N], and Σ j∈ {1,..., N} c j = H ″ (n, y n, m, H (n , y n, m), H '(n, y n, m), A 1, a' 1, a '2, ..., a' n, b '1, b' 2 , ..., and verification means for b 'n) to determine whether satisfied,
Counting the number v of voting signature passed to the decision, further overlap each {σ 1, ..., σ n } corresponding to the voting signature passed the determination voting signature featuring the same value than the vote was open form device having a counting means for effective votes cast the v-tau obtained by subtracting from the count result v the number tau of the duplicate voting.
巡回群Gの生成元をgとし、投票者総数をnとし、投票者i(1≦i≦n)の秘密鍵x i を群Z q の元とし、投票者i(1≦i≦n)の公開鍵をy i =g^x i とし、H,H’,H”をそれぞれハッシュ関数とし、
上記情報公開サーバは、
投票内容mと全投票者の公開鍵y N ={y 1 ,…,y n }、投票内容mに対する署名(以下、投票署名という)を記憶可能な記憶手段と、
上記電子投票装置に対して、上記情報公開サーバの記憶手段に記憶される投票内容mと全投票者の公開鍵y N ={y 1 ,…,y n }を送信可能な対電子投票装置送信手段と、
上記電子投票装置から送信された投票署名を受信可能な対電子投票装置受信手段と、
上記開票装置に対して、少なくとも、上記情報公開サーバの記憶手段に記憶される全投票者の公開鍵y N ={y 1 ,…,y n }および投票内容mに対する全ての投票署名を送信可能な対開票装置送信手段と
を備えており、
上記電子投票装置は、
投票者iに固有の秘密鍵x i を記憶する記憶手段と、
上記情報公開サーバから、投票内容mと全投票者の公開鍵y N ={y 1 ,…,y n }を受信する受信手段と、
投票者iに固有の固有臨時公開鍵σ i =H(n,y N ,m)^x i を求める固有臨時公開鍵生成手段と、
撹乱因子A 1 =(σ i /H’(n,y N ,m))^(1/i)を求める撹乱因子生成手段と、
n−1個の撹乱臨時公開鍵σ j =H’(n,y N ,m)(A 1 ^j)[j∈{1,…,n}−{i}]を求める撹乱臨時公開鍵生成手段と、
任意に選択した元w i ∈Z q についてa i =g^w i とb i =H(n,y N ,m)^w i を求め、各j[j∈{1,…,n}−{i}]について任意に選択した2つの元z j 、c j ∈Z q を用いて、a j =(g^z j )×(y j ^c j )とb j =(H(n,y N ,m)^z j )×(σ j ^c j )を求め、β(0)=H”(n,y N ,m,H(n,y N ,m),H’(n,y N ,m),A 1 ,a 1 ,a 2 ,…,a n ,b 1 ,b 2 ,…,b n )、β(j)=c j [j∈{1,…,n}−{i}]を満たす次数(n−1)の多項式β(x)=β n−1 x^(n−1)+β n−2 x^(n−2)+…+β 1 x+β 0 ∈Z q [x]の係数β φ (φ=0,1,2,…,n−1)を求め、さらに、z i =w i −β(i)×x i を求め、ξ i =(A 1 ,β 0 ,β 1 ,…,β n−1 ,z 1 ,z 2 ,…,z n )を投票内容mに対する署名とする署名情報生成手段と、
投票内容mおよび当該投票内容mに対する署名ξ i を電子投票として上記情報公開サーバに送信する送信手段と
を備えており、
上記開票装置は、
電子投票後に投票内容mに対する全ての投票署名ξ 1 ,…,ξ e (e≦n)を記憶する上記情報公開サーバから、少なくとも全投票者の公開鍵y N ={y 1 ,…,y n }および投票内容mに対する全ての投票署名ξ 1 ,…,ξ e を受信する受信手段と、
各投票署名ξ 1 ,…,ξ e についてσ f =H’(n,y N ,m)(A 1 ^f)[f=1,2,…,n]を求める臨時公開鍵生成手段と、
各投票署名ξ 1 ,…,ξ e について、β(x)=β n−1 x^(n−1)+β n−2 x^(n−2)+…+β 1 x+β 0 として、a’ f =(g^z f )×(y f ^β(f))[f=1,2,…,n]とb’ f =(H(n,y N ,m)^z f )×(σ f ^β(f))[f=1,2,…,n]を求め、β(0)=H”(n,y N ,m,H(n,y N ,m),H’(n,y N ,m),A 1 ,a’ 1 ,a’ 2 ,…,a’ n ,b’ 1 ,b’ 2 ,…,b’ n )が成立するか否かを判定する検証手段と、
上記判定に合格した投票署名の数vを計数し、さらに、上記判定に合格した投票署名に対応する各{σ 1 ,…,σ n }を比較して同一の値が含まれる投票署名を重複投票とし、当該重複投票の数τを上記計数結果vから引いて得られるv−τを有効投票総数とする計数手段と
を備えている
電子投開票システム。 An electronic Tokaihyo system including a electronic voting apparatus, and vote counting system, and an information public server,
The generator of the cyclic group G is g, the total number of voters is n, the secret key x i of the voter i (1 ≦ i ≦ n) is the element of the group Z q , and the voter i (1 ≦ i ≦ n) the public key and y i = g ^ x i, and H, H ', H "and the hash function each,
The upper Symbol information public server,
Vote content m and the public key y N = {y 1, ... , y n} of all voters and the signature for the vote contents m (hereinafter, referred to as voting signature) capable of storing memory means,
With respect to the electronic voting device, the public key y N = {y 1, ... , y n} of the vote content m and the total voters stored in the storage means of the information disclosure server transmission possible pairs electronic voting device transmits a Means,
A pair electronic voting device receiving means capable of receiving voting signature transmitted from the electronic voting device,
To said vote counting device, at least the public key y N = {y 1, ... , y n} of all voters stored in the storage means of the information publishing server and all hands voting for voting contents m signature and a transmission possible pairs vote counting equipment transmission means,
The upper Symbol electronic voting equipment,
Storage means for storing a secret key x i unique to the voter i ;
From the information public server, public vote content m and the total voters key y N = {y 1, ... , y n} and receiving means for receiving,
A unique temporary public key generating means for obtaining a unique temporary public key σ i = H (n, y N , m) ^ x i unique to the voter i ;
Disturbance factor generation means for obtaining the disturbance factor A 1 = (σ i / H ′ (n, y N , m)) ^ (1 / i) ;
Disturbed temporary public key generation for obtaining n−1 disturbed temporary public keys σ j = H ′ (n, y N , m) (A 1 ^ j) [j∈ {1,..., n} − {i}] Means,
For an arbitrarily selected element w i ∈Z q , a i = g ^ w i and b i = H (n, y N , m) ^ w i are obtained, and each j [j∈ {1,..., N} − {I}] using two elements z j , c j ∈Z q arbitrarily selected , a j = (g ^ z j ) × (y j ^ c j ) and b j = (H (n, y N , m) ^ z j ) × (σ j ^ c j ) is obtained, and β (0) = H ″ (n, y N , m, H (n, y N , m), H ′ (n, y n, m), A 1 , a 1, a 2, ..., a n, b 1, b 2, ..., b n), β (j) = c j [j∈ {1, ..., n} - {I}] polynomial of order (n−1) β (x) = β n−1 x ^ (n−1) + β n−2 x ^ (n−2) +... + Β 1 x + β 0 ∈Z q coefficients [x] β φ (φ = 0,1,2, ..., n-1) look, further, z i = w i -β ( i) × seeking i, ξ i = (A 1 , β 0, β 1, ..., β n-1, z 1, z 2, ..., z n) and signature information generation means for the signature for vote content m the,
And a transmitting means for transmitting to said information public server signature xi] i for vote content m and the vote content m as electronic voting,
Above Symbol vote counting device,
All voting signature xi] 1 for vote content m after the electronic voting, ..., xi] e from the information public server to (e ≦ n) storing the public key of at least all voters y N = {y 1, ... , y n } and voting signature of all hands for voting contents m ξ 1, ..., a receiving means for receiving xi] e,
Each voting signature xi] 1, ..., for ξ e σ f = H '( n, y N, m) (A 1 ^ f) [f = 1,2, ..., n] and the temporary public key generation unit asking you to ,
For each voting signature ξ 1 ,..., Ξ e , β (x) = β n−1 x ^ (n−1) + β n−2 x ^ (n−2) +... + Β 1 x + β 0 and a ′ f = (g ^ z f) × (y f ^ β (f)) [f = 1,2, ..., n] and b 'f = (H (n , y n, m) ^ z f) × (σ f ^ β (f)) [f = 1, 2,..., n], and β (0) = H ″ (n, y N , m, H (n, y N , m), H ′ (n , y n, m), a 1, a '1, a' 2, ..., a 'n, b' 1, b '2, ..., b' n) and determining the verification means whether established ,
Counting the number v of voting signature passed to the decision, further overlap each {σ 1, ..., σ n } corresponding to the voting signature passed the determination voting signature featuring the same value than the And counting means that takes v−τ obtained by subtracting the number of duplicate votes τ from the count result v as a total number of effective votes .
Electronic Tokaihyo system.
巡回群Gの生成元をgとし、投票者総数をnとし、投票者i(1≦i≦n)の秘密鍵x i を群Z q の元とし、投票者i(1≦i≦n)の公開鍵をy i =g^x i とし、H,H’,H”をそれぞれハッシュ関数とし、
上記情報公開サーバは、
投票内容mと全投票者の公開鍵y N ={y 1 ,…,y n }、投票内容mに対する署名(以下、投票署名という)を記憶可能な記憶手段と、
上記電子投票装置に対して、上記情報公開サーバの記憶手段に記憶される投票内容mと全投票者の公開鍵y N ={y 1 ,…,y n }を送信可能な対電子投票装置送信手段と、
上記電子投票装置から送信された投票署名を受信可能な対電子投票装置受信手段と、
上記開票装置に対して、少なくとも、上記情報公開サーバの記憶手段に記憶される全投票者の公開鍵y N ={y 1 ,…,y n }および投票内容mに対する全ての投票署名を送信可能な対開票装置送信手段と
を備えており、
上記電子投票装置は、
投票者iに固有の秘密鍵x i を記憶する記憶手段と、
上記情報公開サーバから、投票内容mと全投票者の公開鍵y N ={y 1 ,…,y n }を受信する受信手段と、
投票者iに固有の固有臨時公開鍵σ i =H(n,y N ,m)^x i を求める固有臨時公開鍵生成手段と、
撹乱因子A 1 =(σ i /H’(n,y N ,m))^(1/i)を求める撹乱因子生成手段と、
n−1個の撹乱臨時公開鍵σ j =H’(n,y N ,m)(A 1 ^j)[j∈{1,…,n}−{i}]を求める撹乱臨時公開鍵生成手段と、
任意に選択した元w i ∈Z q についてa i =g^w i とb i =H(n,y N ,m)^w i を求め、各j[j∈{1,…,n}−{i}]について任意に選択した2つの元z j 、c j ∈Z q を用いて、a j =(g^z j )×(y j ^c j )とb j =(H(n,y N ,m)^z j )×(σ j ^c j )を求め、c i =H”(n,y N ,m,H(n,y N ,m),H’(n,y N ,m),A 1 ,a 1 ,a 2 ,…,a n ,b 1 ,b 2 ,…,b n )−Σ j∈{1,…,n}-{i} c j を求め、さらに、z i =w i −c i ×x i を求め、ξ i =(A 1 ,c 0 ,c 1 ,…,c n ,z 1 ,z 2 ,…,z n )を投票内容mに対する署名とする署名情報生成手段と、
投票内容mおよび当該投票内容mに対する署名ξ i を電子投票として上記情報公開サーバに送信する送信手段と
を備えており、
上記開票装置は、
電子投票後に投票内容mに対する全ての投票署名ξ 1 ,…,ξ e (e≦n)を記憶する上記情報公開サーバから、少なくとも全投票者の公開鍵y N ={y 1 ,…,y n }および投票内容mに対する全ての投票署名ξ 1 ,…,ξ e を受信する受信手段と、
各投票署名ξ 1 ,…,ξ e についてσ f =H’(n,y N ,m)(A 1 ^f)[f=1,2,…,n]を求める臨時公開鍵生成手段と、
各投票署名ξ 1 ,…,ξ e について、a’ f =(g^z f )×(y f ^c f )[f=1,2,…,n]とb’ f =(H(n,y N ,m)^z f )×(σ f ^c f )[f=1,2,…,n]を求め、Σ j∈{1,…,n} c j =H”(n,y N ,m,H(n,y N ,m),H’(n,y N ,m),A 1 ,a’ 1 ,a’ 2 ,…,a’ n ,b’ 1 ,b’ 2 ,…,b’ n )が成立するか否かを判定する検証手段と、
上記判定に合格した投票署名の数vを計数し、さらに、上記判定に合格した投票署名に対応する各{σ 1 ,…,σ n }を比較して同一の値が含まれる投票署名を重複投票とし、当該重複投票の数τを上記計数結果vから引いて得られるv−τを有効投票総数とする計数手段と
を備えている
電子投開票システム。 An electronic Tokaihyo system including a electronic voting apparatus, and vote counting system, and an information public server,
The generator of the cyclic group G is g, the total number of voters is n, the secret key x i of the voter i (1 ≦ i ≦ n) is the element of the group Z q , and the voter i (1 ≦ i ≦ n) Let y i = g ^ x i and H, H ′, H ″ be hash functions respectively,
The upper Symbol information public server,
Vote content m and the public key y N = {y 1, ... , y n} of all voters and the signature for the vote contents m (hereinafter, referred to as voting signature) capable of storing memory means,
With respect to the electronic voting device, the public key y N = {y 1, ... , y n} of the vote content m and the total voters stored in the storage means of the information disclosure server transmission possible pairs electronic voting device transmits a Means,
An electronic voting device receiving means capable of receiving a voting signature transmitted from the electronic voting device;
To said vote counting device, at least the public key y N = {y 1, ... , y n} of all voters stored in the storage means of the information publishing server and all hands voting for voting contents m signature and a transmission possible pairs vote counting equipment transmission means,
The upper Symbol electronic voting equipment,
Storage means for storing a secret key x i unique to the voter i ;
From the information public server, public vote content m and the total voters key y N = {y 1, ... , y n} and receiving means for receiving,
A unique temporary public key generating means for obtaining a unique temporary public key σ i = H (n, y N , m) ^ x i unique to the voter i ;
Disturbance factor generation means for determining the disturbance factor A 1 = (σ i / H ′ (n, y N , m)) ^ (1 / i) ;
Disturbed temporary public key generation for obtaining n−1 disturbed temporary public keys σ j = H ′ (n, y N , m) (A 1 ^ j) [j∈ {1,..., n} − {i}] Means,
For an arbitrarily selected element w i ∈Z q , a i = g ^ w i and b i = H (n, y N , m) ^ w i are obtained, and each j [j∈ {1,..., N} − {I}] using two elements z j , c j ∈Z q arbitrarily selected , a j = (g ^ z j ) × (y j ^ c j ) and b j = (H (n, y n, m) ^ z j ) seek × (σ j ^ c j) , c i = H "(n, y n, m, H (n, y n, m), H '(n, y n , M), A 1 , a 1 , a 2 ,..., A n , b 1 , b 2 ,..., B n ) −Σ j∈ {1, ..., n}-{i} c j , obtains a z i = w i -c i × x i, ξ i = (a 1, c 0, c 1, ..., c n, z 1, z 2, ..., z n) signature for vote content m the and the signature information generating means and,
And a transmitting means for transmitting to said information public server signature xi] i for vote content m and the vote content m as electronic voting,
Above Symbol vote counting device,
All voting signature xi] 1 for vote content m after the electronic voting, ..., xi] e from the information public server to (e ≦ n) storing the public key of at least all voters y N = {y 1, ... , y n } and voting signature of all hands for voting contents m ξ 1, ..., a receiving means for receiving xi] e,
Each voting signature xi] 1, ..., for ξ e σ f = H '( n, y N, m) (A 1 ^ f) [f = 1,2, ..., n] and the temporary public key generation unit asking you to ,
For each voting signature ξ 1 ,..., Ξ e , a ′ f = (g ^ z f ) × (y f cc f ) [f = 1, 2,..., N] and b ′ f = (H (n , Y N , m) ^ z f ) × (σ f ^ c f ) [f = 1, 2,..., N], and Σ j∈ {1,..., N} c j = H ″ (n, y n, m, H (n , y n, m), H '(n, y n, m), A 1, a' 1, a '2, ..., a' n, b '1, b' 2 , ..., and verification means for b 'n) to determine whether satisfied,
Counting the number v of voting signature passed to the decision, further overlap each {σ 1, ..., σ n } corresponding to the voting signature passed the determination voting signature featuring the same value than the And counting means that takes v−τ obtained by subtracting the number of duplicate votes τ from the count result v as a total number of effective votes .
Electronic Tokaihyo system.
巡回群Gの生成元をgとし、投票者総数をnとし、投票者i(1≦i≦n)の秘密鍵x i を群Z q の元とし、投票者i(1≦i≦n)の公開鍵をy i =g^x i とし、H,H’,H”をそれぞれハッシュ関数とし、
上記情報公開サーバの対電子投票装置送信手段が、上記電子投票装置に対して、上記情報公開サーバの記憶手段に記憶される投票内容mと全投票者の公開鍵y N ={y 1 ,…,y n }を送信する対電子投票装置送信ステップと、
上記電子投票装置の受信手段が、上記対電子投票装置送信ステップにおいて送信された投票内容mと全投票者の公開鍵y N ={y 1 ,…,y n }を受信する電子投票装置受信ステップと、
上記電子投票装置の固有臨時公開鍵生成手段が、投票者iに固有の固有臨時公開鍵σ i =H(n,y N ,m)^x i を求める固有臨時公開鍵生成ステップと、
上記電子投票装置の撹乱因子生成手段が、撹乱因子A 1 =(σ i /H’(n,y N ,m))^(1/i)を求める撹乱因子生成ステップと、
上記電子投票装置の撹乱臨時公開鍵生成手段が、n−1個の撹乱臨時公開鍵σ j =H’(n,y N ,m)(A 1 ^j)[j∈{1,…,n}−{i}]を求める撹乱臨時公開鍵生成ステップと、
上記電子投票装置の署名情報生成手段が、任意に選択した元w i ∈Z q についてa i =g^w i とb i =H(n,y N ,m)^w i を求め、各j[j∈{1,…,n}−{i}]について任意に選択した2つの元z j 、c j ∈Z q を用いて、a j =(g^z j )×(y j ^c j )とb j =(H(n,y N ,m)^z j )×(σ j ^c j )を求め、β(0)=H”(n,y N ,m,H(n,y N ,m),H’(n,y N ,m),A 1 ,a 1 ,a 2 ,…,a n ,b 1 ,b 2 ,…,b n )、β(j)=c j [j∈{1,…,n}−{i}]を満たす次数(n−1)の多項式β(x)=β n−1 x^(n−1)+β n−2 x^(n−2)+…+β 1 x+β 0 ∈Z q [x]の係数β φ (φ=0,1,2,…,n−1)を求め、さらに、z i =w i −β(i)×x i を求め、ξ i =(A 1 ,β 0 ,β 1 ,…,β n−1 ,z 1 ,z 2 ,…,z n )を投票内容mに対する署名とする署名情報生成ステップと、
上記電子投票装置の送信手段が、投票内容mおよび当該投票内容mに対する上記署名(以下、投票署名という)ξ i =(A 1 ,β 0 ,β 1 ,…,β n−1 ,z 1 ,z 2 ,…,z n )を電子投票として上記情報公開サーバに送信する対情報公開サーバ送信ステップと、
上記情報公開サーバの対電子投票装置受信手段が、上記対情報公開サーバ送信ステップにおいて送信された投票署名ξ i =(A 1 ,β 0 ,β 1 ,…,β n−1 ,z 1 ,z 2 ,…,z n )を受信する対電子投票装置受信ステップと、
上記情報公開サーバの記憶手段が、投票内容mに対する電子投票として受信した投票署名ξ 1 ,…,ξ e (e≦n)を記憶する情報公開サーバ記憶ステップと、
上記情報公開サーバの対開票装置送信手段が、上記開票装置に対して、少なくとも、全投票者の公開鍵y N ={y 1 ,…,y n }および投票内容mに対する全ての投票署名ξ 1 ,…,ξ e を送信する対開票装置送信ステップと、
上記開票装置の受信手段が、上記対開票装置送信ステップにおいて送信された全投票者の公開鍵y N ={y 1 ,…,y n }および投票内容mに対する全ての投票署名ξ 1 ,…,ξ e を受信する開票装置受信ステップと、
上記開票装置の臨時公開鍵生成手段が、各投票署名ξ 1 ,…,ξ e についてσ f =H’(n,y N ,m)(A 1 ^f)[f=1,2,…,n]を求める臨時公開鍵生成ステップと、
上記開票装置の検証手段が、各投票署名ξ 1 ,…,ξ e について、β(x)=β n−1 x^(n−1)+β n−2 x^(n−2)+…+β 1 x+β 0 として、a’ f =(g^z f )×(y f ^β(f))[f=1,2,…,n]とb’ f =(H(n,y N ,m)^z f )×(σ f ^β(f))[f=1,2,…,n]を求め、β(0)=H”(n,y N ,m,H(n,y N ,m),H’(n,y N ,m),A 1 ,a’ 1 ,a’ 2 ,…,a’ n ,b’ 1 ,b’ 2 ,…,b’ n )が成立するか否かを判定する検証ステップと、
上記開票装置の計数手段が、上記判定に合格した投票署名の数vを計数し、さらに、上記判定に合格した投票署名に対応する各{σ 1 ,…,σ n }を比較して同一の値が含まれる投票署名を重複投票とし、当該重複投票の数τを上記計数結果vから引いて得られるv−τを有効投票総数とする計数ステップと
を有する電子投開票方法。 And electronic voting apparatus, and vote counting device, an electronic voting method in an electronic Tokaihyo system including a public information server,
The generator of the cyclic group G is g, the total number of voters is n, the secret key x i of the voter i (1 ≦ i ≦ n) is the element of the group Z q , and the voter i (1 ≦ i ≦ n) Let y i = g ^ x i and H, H ′, H ″ be hash functions respectively,
It said information-to-electronic voting device transmitting means of the public server, to said electronic voting device, the public key y N = {y 1 of vote content m and the total voters stored in the storage means of the information public server, ... , Y n } to the electronic voting apparatus transmitting step;
Said receiving means of the electronic voting apparatus, the public key y N = {y 1, ... , y n} of the vote content m and the total voters transmitted in the pair electronic voting device transmitting step electronic voting apparatus receiving step of receiving When,
Specific temporary public key generating means of the electronic voting apparatus, unique temporary public key unique to the voter i σ i = H (n, y N, m) ^ a unique temporary public key generation step of obtaining a x i,
Disturbance factor generating means of the electronic voting apparatus, disturbance factor A 1 = (σ i / H '(n, y N, m)) ^ and disturbance factor generation step of obtaining a (1 / i),
The disturbing temporary public key generating means of the electronic voting device has n−1 disturbing temporary public keys σ j = H ′ (n, y N , m) (A 1 ^ j) [j∈ {1,. }-{I}], a disruptive temporary public key generation step;
The signature information generating means of the electronic voting apparatus obtains a i = g ^ w i and b i = H (n, y N , m) ^ w i for arbitrarily selected elements w i εZ q , Using two elements z j and c j εZ q arbitrarily selected for [j∈ {1,..., n} − {i}] , a j = (g ^ z j ) × (y j ^ c j) and b j = (H (n, y n, m) ^ z j) seek × (σ j ^ c j) , β (0) = H "(n, y n, m, H (n, y n, m), H ' (n, y n, m), A 1, a 1, a 2, ..., a n, b 1, b 2, ..., b n), β (j) = c j Polynomial β (x) of order (n−1) satisfying [j∈ {1,..., n} − {i}] = β n−1 x ^ (n−1) + β n−2 x ^ (n− 2) + ... + β 1 x + β 0 ∈Z q coefficients [x] β φ (φ = 0,1,2, ..., n-1) a Because, further, it obtains a z i = w i -β (i ) × x i, ξ i = (A 1, β 0, β 1, ..., β n-1, z 1, z 2, ..., z n ) As a signature for the vote content m ,
Transmitting means of the electronic voting apparatus, the signature for the vote content m and the vote content m (hereinafter, voting signature of) ξ i = (A 1, β 0, β 1, ..., β n-1, z 1, z 2 ,..., z n ) as an electronic vote to the information disclosure server,
Vs. electronic voting device receiving means of the information disclosure server, voting signature transmitted in the pair information disclosure server transmission step ξ i = (A 1, β 0, β 1, ..., β n-1, z 1, z 2 ,..., Z n ) for receiving an electronic voting device;
Storage means of the information disclosure server, voting signature xi] 1 received as electronic voting for vote content m, ..., xi] e and public information server storing step of storing (e ≦ n),
Pair ballot device transmitting means of the information disclosure server, to said vote counting device, at least the public key y N = {y 1, ... , y n} of all voters and for voting contents m of all hands A counter-voting device transmitting step for transmitting voting signatures ξ 1 ,..., Ξ e ;
Receiving means of said vote counting device, the public key y N = {y 1, ... , y n} of all voters transmitted in the pair vote counting device transmitting step and all hands voting signature for voting contents m xi] 1, ..., a vote counting apparatus receiving step of receiving xi] e,
Temporary public key generating means of said vote counting apparatus, each voting signature xi] 1, ..., for ξ e σ f = H '( n, y N, m) (A 1 ^ f) [f = 1,2, ..., and the temporary public key generation step asking you to n],
Verification means of the ballot-counting device, each voting signature ξ 1, ..., for ξ e, β (x) = β n-1 x ^ (n-1) + β n-2 x ^ (n-2) + ... + β 1 x + β 0 , a ′ f = (ggz f ) × (y f ^ β (f)) [f = 1, 2,..., N] and b ′ f = (H (n, y N , m ) ^ Z f ) × (σ f ^ β (f)) [f = 1, 2,..., N] and β (0) = H ″ (n, y N , m, H (n, y N , m), H '(n , y n, m), A 1, a' 1, a '2, ..., a' n, b '1, b' 2, ..., or b 'n) is satisfied A verification step to determine whether or not ;
Counting means of said vote counting device counts the number v of voting signature passed to the decision, further each {σ 1, ..., σ n } corresponding to the voting signature passed the determination same by comparing the voting signature included values and duplicate voting, counting steps and that electronic Tokaihyo method having a to enable the votes the v-tau obtained by subtracting from the count result v the number tau of the duplicate voting.
巡回群Gの生成元をgとし、投票者総数をnとし、投票者i(1≦i≦n)の秘密鍵x i を群Z q の元とし、投票者i(1≦i≦n)の公開鍵をy i =g^x i とし、H,H’,H”をそれぞれハッシュ関数とし、
上記情報公開サーバの対電子投票装置送信手段が、上記電子投票装置に対して、上記情報公開サーバの記憶手段に記憶される投票内容mと全投票者の公開鍵y N ={y 1 ,…,y n }を送信する対電子投票装置送信ステップと、
上記電子投票装置の受信手段が、上記対電子投票装置送信ステップにおいて送信された投票内容mと全投票者の公開鍵y N ={y 1 ,…,y n }を受信する電子投票装置受信ステップと、
上記電子投票装置の固有臨時公開鍵生成手段が、投票者iに固有の固有臨時公開鍵σ i =H(n,y N ,m)^x i を求める固有臨時公開鍵生成ステップと、
上記電子投票装置の撹乱因子生成手段が、撹乱因子A 1 =(σ i /H’(n,y N ,m))^(1/i)を求める撹乱因子生成ステップと、
上記電子投票装置の撹乱臨時公開鍵生成手段が、n−1個の撹乱臨時公開鍵σ j =H’(n,y N ,m)(A 1 ^j)[j∈{1,…,n}−{i}]を求める撹乱臨時公開鍵生成ステップと、
上記電子投票装置の署名情報生成手段が、任意に選択した元w i ∈Z q についてa i =g^w i とb i =H(n,y N ,m)^w i を求め、各j[j∈{1,…,n}−{i}]について任意に選択した2つの元z j 、c j ∈Z q を用いて、a j =(g^z j )×(y j ^c j )とb j =(H(n,y N ,m)^z j )×(σ j ^c j )を求め、c i =H”(n,y N ,m,H(n,y N ,m),H’(n,y N ,m),A 1 ,a 1 ,a 2 ,…,a n ,b 1 ,b 2 ,…,b n )−Σ j∈{1,…,n}-{i} c j を求め、さらに、z i =w i −c i ×x i を求め、ξ i =(A 1 ,c 0 ,c 1 ,…,c n ,z 1 ,z 2 ,…,z n )を投票内容mに対する署名とする署名情報生成ステップと、
上記電子投票装置の送信手段が、投票内容mおよび当該投票内容mに対する上記署名(以下、投票署名という)ξ i =(A 1 ,c 0 ,c 1 ,…,c n ,z 1 ,z 2 ,…,z n )を電子投票として上記情報公開サーバに送信する対情報公開サーバ送信ステップと、
上記情報公開サーバの対電子投票装置受信手段が、上記対情報公開サーバ送信手段において送信された投票署名ξ i =(A 1 ,c 0 ,c 1 ,…,c n ,z 1 ,z 2 ,…,z n )を受信する対電子投票装置受信ステップと、
上記情報公開サーバの記憶手段が、投票内容mに対する電子投票として受信した投票署名ξ 1 ,…,ξ e (e≦n)を記憶する記憶ステップと、
上記情報公開サーバの対開票装置送信手段が、上記開票装置に対して、少なくとも、全投票者の公開鍵y N ={y 1 ,…,y n }および投票内容mに対する全ての投票署名ξ 1 ,…,ξ e を送信する対開票装置送信ステップと、
上記開票装置の受信手段が、上記対開票装置送信ステップにおいて送信された全投票者の公開鍵y N ={y 1 ,…,y n }および投票内容mに対する全ての投票署名ξ 1 ,…,ξ e を受信する開票装置受信ステップと、
上記開票装置の臨時公開鍵生成手段が、各投票署名ξ 1 ,…,ξ e についてσ f =H’(n,y N ,m)(A 1 ^f)[f=1,2,…,n]を求める臨時公開鍵生成ステップと、
上記開票装置の検証手段が、各投票署名ξ 1 ,…,ξ e について、a’ f =(g^z f )×(y f ^c f )[f=1,2,…,n]とb’ f =(H(n,y N ,m)^z f )×(σ f ^c f )[f=1,2,…,n]を求め、Σ j∈{1,…,n} c j =H”(n,y N ,m,H(n,y N ,m),H’(n,y N ,m),A 1 ,a’ 1 ,a’ 2 ,…,a’ n ,b’ 1 ,b’ 2 ,…,b’ n )が成立するか否かを判定する検証ステップと、
上記開票装置の計数手段が、上記判定に合格した投票署名の数vを計数し、さらに、上記判定に合格した投票署名に対応する各{σ 1 ,…,σ n }を比較して同一の値が含まれる投票署名を重複投票とし、当該重複投票の数τを上記計数結果vから引いて得られるv−τを有効投票総数とする計数ステップと
を有する電子投開票方法。 And electronic voting apparatus, and vote counting device, an electronic voting method in an electronic Tokaihyo system including a public information server,
The generator of the cyclic group G is g, the total number of voters is n, the secret key x i of the voter i (1 ≦ i ≦ n) is the element of the group Z q , and the voter i (1 ≦ i ≦ n) Let y i = g ^ x i and H, H ′, H ″ be hash functions respectively,
It said information-to-electronic voting device transmitting means of the public server, to said electronic voting device, the public key y N = {y 1 of vote content m and the total voters stored in the storage means of the information public server, ... , Y n } to the electronic voting apparatus transmitting step;
Said receiving means of the electronic voting apparatus, the public key y N = {y 1, ... , y n} of the vote content m and the total voters transmitted in the pair electronic voting device transmitting step electronic voting apparatus receiving step of receiving When,
Specific temporary public key generating means of the electronic voting apparatus, unique temporary public key unique to the voter i σ i = H (n, y N, m) ^ a unique temporary public key generation step of obtaining a x i,
Disturbance factor generating means of the electronic voting apparatus, disturbance factor A 1 = (σ i / H '(n, y N, m)) ^ and disturbance factor generation step of obtaining a (1 / i),
The disturbing temporary public key generating means of the electronic voting device has n−1 disturbing temporary public keys σ j = H ′ (n, y N , m) (A 1 ^ j) [j∈ {1,. }-{I}], a disruptive temporary public key generation step;
The signature information generation means of the electronic voting apparatus obtains a i = g ^ w i and b i = H (n, y N , m) ^ w i for arbitrarily selected elements w i εZ q , Using two elements z j and c j εZ q arbitrarily selected for [j∈ {1,..., n} − {i}] , a j = (g ^ z j ) × (y j ^ c j) and b j = (H (n, y n, m) ^ z j) seek × (σ j ^ c j) , c i = H "(n, y n, m, H (n, y n , M), H ′ (n, y N , m), A 1 , a 1 , a 2 ,..., A n , b 1 , b 2 , ..., b n ) −Σ j∈ {1,. } - {i} seek c j, further, z i = w i -c i seek × x i, ξ i = ( a 1, c 0, c 1, ..., c n, z 1, z 2, ..., z n ) a signature information generation step with a signature for the vote content m ;
Transmitting means of the electronic voting apparatus, the signature for the vote content m and the vote content m (hereinafter, voting signature of) ξ i = (A 1, c 0, c 1, ..., c n, z 1, z 2 ,..., Z n ) to the information disclosure server as an electronic vote ,
The pair electronic voting device receiving means information disclosure server, voting signature transmitted in the pair information disclosure server transmission means ξ i = (A 1, c 0, c 1, ..., c n, z 1, z 2, ..., z n ) for receiving an electronic voting apparatus;
Storage means of the information disclosure server, voting signature xi] 1 received as electronic voting for vote content m, ..., a storing step of storing xi] e a (e ≦ n),
Pair ballot device transmitting means of the information disclosure server, to said vote counting device, at least the public key y N = {y 1, ... , y n} of all voters and for voting contents m of all hands A counter-voting device transmitting step for transmitting voting signatures ξ 1 ,..., Ξ e ;
Receiving means of said vote counting device, the public key y N = {y 1, ... , y n} of all voters transmitted in the pair vote counting device transmitting step and all hands voting signature for voting contents m xi] 1, ..., a vote counting apparatus receiving step of receiving xi] e,
Temporary public key generating means of said vote counting apparatus, each voting signature xi] 1, ..., for ξ e σ f = H '( n, y N, m) (A 1 ^ f) [f = 1,2, ..., and the temporary public key generation step asking you to n],
The verification means of the above-mentioned vote-voting device has the following for each voting signature ξ 1 ,..., Ξ e : a ′ f = (g ^ z f ) × (y f ^ c f ) [f = 1, 2,. b ′ f = (H (n, y N , m) ^ z f ) × (σ f ^ c f ) [f = 1, 2,..., n] is obtained, and Σ j∈ {1,. c j = H ″ (n, y N , m, H (n, y N , m), H ′ (n, y N , m), A 1 , a ′ 1 , a ′ 2 ,..., a ′ n , b '1, b' 2 , ..., a verification step of b 'n) to determine whether satisfied,
Counting means of said vote counting device counts the number v of voting signature passed to the decision, further each {σ 1, ..., σ n } corresponding to the voting signature passed the determination same by comparing the voting signature included values and duplicate voting, counting steps and that electronic Tokaihyo method having a to enable the votes the v-tau obtained by subtracting from the count result v the number tau of the duplicate voting.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005199239A JP4630144B2 (en) | 2005-07-07 | 2005-07-07 | Electronic voting apparatus, voting apparatus, electronic voting system, electronic voting method and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005199239A JP4630144B2 (en) | 2005-07-07 | 2005-07-07 | Electronic voting apparatus, voting apparatus, electronic voting system, electronic voting method and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2007019872A JP2007019872A (en) | 2007-01-25 |
| JP4630144B2 true JP4630144B2 (en) | 2011-02-09 |
Family
ID=37756628
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005199239A Expired - Lifetime JP4630144B2 (en) | 2005-07-07 | 2005-07-07 | Electronic voting apparatus, voting apparatus, electronic voting system, electronic voting method and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4630144B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2024538651A (en) * | 2021-10-01 | 2024-10-23 | マスターカード インターナシヨナル インコーポレイテツド | METHOD AND SYSTEM FOR BLOCKCHAIN-BASED COOPERATIVE TRANSACTIONS |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4835886B2 (en) * | 2009-12-22 | 2011-12-14 | クオード株式会社 | Electronic voting system |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3309874B2 (en) * | 1993-06-23 | 2002-07-29 | 日本電信電話株式会社 | Electronic voting method and electronic voting management device |
| JP3298826B2 (en) * | 1998-05-29 | 2002-07-08 | 日本電信電話株式会社 | Anonymous communication method and apparatus and program recording medium |
| JP3910529B2 (en) * | 2002-12-06 | 2007-04-25 | 株式会社エヌ・ティ・ティ・データ | Electronic voting system |
-
2005
- 2005-07-07 JP JP2005199239A patent/JP4630144B2/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2024538651A (en) * | 2021-10-01 | 2024-10-23 | マスターカード インターナシヨナル インコーポレイテツド | METHOD AND SYSTEM FOR BLOCKCHAIN-BASED COOPERATIVE TRANSACTIONS |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2007019872A (en) | 2007-01-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| RU2652443C1 (en) | Voters votes quantity collected by electronic voting determining system and method | |
| JP4235453B2 (en) | Verifiable secret shuffles and their application to electronic voting | |
| Heiberg et al. | Improving the verifiability of the Estonian internet voting scheme | |
| AU2021206913A1 (en) | Systems and methods for distributed data sharing with asynchronous third-party attestation | |
| CN112789823B (en) | Blockchain-based campaign network system and campaign method | |
| US20120144459A1 (en) | Revoking delegatable anonymous credentials | |
| JP2006115550A (en) | Secret shuffle for making encrypted data like el gamal encryption data for safe plural authority elections to be verifiable | |
| US20050021954A1 (en) | Personal authentication device and system and method thereof | |
| CN117176361A (en) | Block chain digital identity authentication control system and method | |
| Wu et al. | A blockchain-based network security mechanism for voting systems | |
| Mullegowda et al. | A novel smart contract based blockchain with sidechain for electronic voting | |
| CN118379825A (en) | A blockchain electronic voting method that provides ballot security and data privacy protection | |
| KR20220060444A (en) | Bolckchain e-voting system and manipulation method | |
| WO2021124498A1 (en) | Guarantee control method, information processing device, and guarantee control program | |
| KR20200085204A (en) | Verifiable Electronic Voting System | |
| JP4630144B2 (en) | Electronic voting apparatus, voting apparatus, electronic voting system, electronic voting method and program | |
| JP3910529B2 (en) | Electronic voting system | |
| Drakshayani et al. | Online Voting System Using Blockchain | |
| Al-Janabi et al. | Security of internet voting schemes: A survey | |
| Grontas et al. | Blockchain, consensus, and cryptography in electronic voting | |
| Mukta et al. | VCTP: a verifiable credential-based trust propagation protocol for personal issuers in self-sovereign identity platforms | |
| Bag et al. | E2E verifiable electronic voting system for shareholders | |
| Vijayalakshmi et al. | Secure online voting system in cloud | |
| Gabay | A privacy framework for decentralized applications using blockchains and zero knowledge proofs | |
| Yun et al. | The Biometric based Mobile ID and Its Application to Electronic Voting. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070810 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100709 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100817 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101018 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101102 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101112 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131119 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4630144 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| EXPY | Cancellation because of completion of term |