JP2009186950A - Applied system of homomorphic one-way function operating device - Google Patents

Applied system of homomorphic one-way function operating device Download PDF

Info

Publication number
JP2009186950A
JP2009186950A JP2008056974A JP2008056974A JP2009186950A JP 2009186950 A JP2009186950 A JP 2009186950A JP 2008056974 A JP2008056974 A JP 2008056974A JP 2008056974 A JP2008056974 A JP 2008056974A JP 2009186950 A JP2009186950 A JP 2009186950A
Authority
JP
Japan
Prior art keywords
homomorphic
voting
value
voter
way function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008056974A
Other languages
Japanese (ja)
Other versions
JP5110432B2 (en
JP2009186950A5 (en
Inventor
Tetsuji Kobayashi
哲二 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to JP2008056974A priority Critical patent/JP5110432B2/en
Publication of JP2009186950A publication Critical patent/JP2009186950A/en
Publication of JP2009186950A5 publication Critical patent/JP2009186950A5/ja
Application granted granted Critical
Publication of JP5110432B2 publication Critical patent/JP5110432B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To constitute a homomorphic one-way function operating device to safely perform, for example, counting of electronic voting (sum of voting content). <P>SOLUTION: An applied system having a homomorphic one-way function operation device F(*) is disclosed, wherein the product äF(V1)×F(V2), ..., F(Vn)} of the values obtained by inputting, as n (n≥2) variables, äV1,V2, ..., Vn} into a homomorphic one-way function operating device F(*) individually and in an optional order and the value obtained by inputting äV1+V2+, ..., +Vn} into the homomorphic one-way function operation device F(*) have the equal nature, and the applied system includes: a step of precalculating a correspondence table äF(V1+V2+, ..., +Vn), (V1+V2+, ..., +Vn)} for each value possible for äV1+V2+, ..., +Vn} and storing it in a storage device; and a step of obtaining, when F(V1+V2+, ..., +Vn) newly calculated by äV1,V2, ..., Vn} is obtained, the value of äV1+V2+, ..., +Vn} by referring to the correspondence table. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、準同形一方向性関数演算装置の応用システムに関するものであり、例えば無記名電子投票などに利用できる。無記名電子投票は,投票者名(投票を行う人または機器に付与される識別子)が秘密の電子投票である。  The present invention relates to an application system of a homomorphic unidirectional function computing device, and can be used for anonymous electronic voting, for example. An anonymous electronic vote is an electronic vote in which the name of the voter (identifier assigned to the person or device that performs the vote) is secret.

電子投票は,投票者の名前と投票用紙記載内容を対応付けるか否かによって,記名投票と無記名投票に分類できる。ネットワークを利用する安全な無記名電子投票を実現することは,情報社会への意義が多大であるが,現状はまだ発展段階にある。従来提案されている無記名投票方式において,準同形性を有する暗号を使用する方式の欠点は公開鍵と秘密鍵の管理や認証のための処理が複雑なことなどであり、ブラインド署名やMix−netによる方式の欠点は複雑な匿名通信路が必要なことなどである。  Electronic voting can be classified into registered voting and anonymous voting depending on whether or not the name of the voter is associated with the contents of the ballot. Realizing secure bearerless electronic voting using the network has great significance for the information society, but the present situation is still in the development stage. In the anonymous voting method proposed heretofore, the disadvantage of the method using ciphers with homomorphism is that the management of public and private keys and the process for authentication are complicated, and blind signatures and Mix-net The disadvantage of the method is that it requires a complicated anonymous communication path.

準同形性は、関数S(・)について、S(m1)・S(m2)=S(m1+m2)となる性質である。一方向性は、関数T(・)について、T(m)を計算するのは容易であるが、T(m)からmを求めるのは困難又は不可能であることである。従来、準同形性を有する暗号の研究がなされているが、準同形性を有する一方向性関数の研究は行われていない。
電子情報通信学会(編):「情報セキュリティハンドブック」、オーム社、2004年 黒澤・尾形(共著):「現代暗号の基礎数理」、コロナ社、2004年
The homomorphism is a property of S (m1) · S (m2) = S (m1 + m2) for the function S (·). One-way property is that it is easy to calculate T (m) for the function T (•), but it is difficult or impossible to obtain m from T (m). Conventionally, cryptography having homomorphism has been studied, but one-way function having homomorphism has not been studied.
IEICE (ed.): “Information Security Handbook”, Ohmsha, 2004 Kurosawa and Ogata (co-author): “Basic Mathematics of Modern Cryptography”, Corona, 2004

解決しようとする従来技術の主な問題点は、無記名投票の実装のためのコストが大きいことである。  The main problem of the prior art to be solved is that the cost for implementing bearer voting is high.

本発明は、n個(n≧2)の変数として{V1,V2,...,Vn}を順序は任意に個別に準同形一方向性関数演算装置F(・)に入力した値の積{F(V1)・F(V2)・・・F(Vn)}と,{V1+V2+...+Vn}を準同形一方向性関数演算装置F(・)に入力した値とが等しい性質を有する準同形一方向性関数演算装置F(・)を備える応用システムにおいて、
対応表{F(V1+V2+...+Vn),(V1+V2+...+Vn)}を、{V1+V2+...+Vn}の取り得る値ごとにあらかじめ計算して記憶装置に格納しておく処理と,新たに{V1,V2,...,Vn}によって計算されたF(V1+V2+...+Vn)が得られたときに前記の対応表を参照することによって{V1+V2+...+Vn}の値を得る処理を有することを特徴とする準同形一方向性関数演算装置の応用システムを実現する。
The present invention uses {V1, V2,. . . , Vn} in any order, the products {F (V1) · F (V2)... F (Vn)} of values individually input to the homomorphic one-way function calculation device F (·), {V1 + V2 + . . . In the application system including the homomorphic unidirectional function calculation device F (•) having the property that the value inputted to the homomorphic unidirectional function calculation device F (•) is equal to + Vn},
The correspondence table {F (V1 + V2 + ... + Vn), (V1 + V2 + ... + Vn)} is converted into {V1 + V2 +. . . + Vn} is calculated in advance for each possible value and stored in a storage device, and {V1, V2,. . . , Vn} by referring to the above correspondence table when F (V1 + V2 +... + Vn) calculated by {V1 + V2 +. . . An application system of a homomorphic unidirectional function arithmetic device characterized by having a process of obtaining a value of + Vn} is realized.

本発明の準同形一方向性関数演算装置の応用システムは、例えば電子投票に応用する場合は、匿名通信路を使用せずに、無記名投票を比較的容易に実現できる利点がある。本発明の準同形一方向性関数演算装置の応用システムでは、匿名通信路は使用しないが、準同形一方向性関数の性質によって、投票サーバ及び各投票者は、投票者と投票内容の対応付けを行えない。  The application system of the homomorphic unidirectional function computing device of the present invention has an advantage that an anonymous voting can be realized relatively easily without using an anonymous communication path, for example, when applied to electronic voting. In the application system of the homomorphic unidirectional function computing device of the present invention, the anonymous communication path is not used, but the voting server and each voter associate the voter with the voting content depending on the property of the homomorphic unidirectional function. Cannot be performed.

準同形一方向性関数演算装置F(・)は次の性質を有すると定義する: 任意の数値M,M1,M2,...,Mn,(n=1,2,・・・)について、MからF(M)を計算するのは容易であるが、F(M)からMを計算するのは困難又は不可能であり、かつ、
F(M1)・F(M2)=F(M1+M2)である。従って、
F(M1)・F(M2)・・・F(Mn)=F(M1+M2+・・・+Mn)である。
図1に準同形一方向性関数演算装置F(・)の動作例を示す。
The homomorphic unidirectional function arithmetic unit F (•) is defined to have the following properties: arbitrary numerical values M, M1, M2,. . . , Mn, (n = 1, 2,...), It is easy to calculate F (M) from M, but it is difficult or impossible to calculate M from F (M). And,
F (M1) · F (M2) = F (M1 + M2). Therefore,
F (M1) · F (M2)... F (Mn) = F (M1 + M2 +... + Mn).
FIG. 1 shows an operation example of the homomorphic one-way function calculation device F (•).

前記の定義を満たす準同形一方向性関数演算装置は、例えば、次のような関数を装置として実装することによって実現できるが、本発明の準同形一方向性関数演算装置に実装する準同形一方向性関数は、前記の定義を満たす関数であればよいので、下記の例に限定されない。
任意の整数A、Bについて、exp(A,B)はAのB乗を表し、
A mod Bは、AをBで割ったときの剰余を表す。
modPの付与された変数に対する除算は,modPにおける逆数を乗じることによって計算できる。
(1)準同形一方向性関数の構成例1:
F(M)=exp(g,M)modP
ここで,定数g,及び定数Pは安全性を考慮して適切に定める。
適切に定めるのには、種々の例があるが、例えば、gはmodPの原始元で数100桁の整数、Pは300桁以上の素数であるようにする。
(2)準同形一方向性関数の例2:
F(M)=exp(g,αM)modP
ここで,定数g,定数α,及び定数Pは安全性を考慮して適切に定める。
(3)準同形一方向性関数の例3:
F(M)=K・exp(g,αM)modP
ここで、定数g,定数α,及び定数Pは安全性を考慮して適切に定める。
Kは任意の定数または関数である。この場合は、次のような変換が必要である。
F(M1)・F(M2)・・・F(Mn)=F(M1+M2+・・・Mn)/(Kのn個の積)
(4)準同形一方向性関数の例4:
F(M)=β・M・R,
ここで、βは定数であり、F(M)とRは適切に定数を選定した楕円曲線上の点の二次元座標である。楕円曲線は、y=ax+bx+cx+d で表される曲線であり、a,b,c,dは定数である。楕円曲線,β,及びRを適切に設定すれば,{F(M),β,R}を与えられてMを求めるのは困難である。
この場合は、F(M1)+F(M2)+・・・+F(Mn)=β・(M1+M2+・・・Mn)・Rによって、(M1+M2+・・・Mn)を求める。従って、前記の例1、例2、例3とは異なり、複数のF(・)の積は、複数のF(・)の和に置き換える必要がある。
A homomorphic one-way function computing device that satisfies the above definition can be realized by, for example, implementing the following function as a device, but the homomorphic one-way function computing device implemented in the homomorphic one-way function computing device of the present invention. The directionality function is not limited to the following example, as long as it satisfies the above definition.
For any integer A, B, exp (A, B) represents A to the power B,
A mod B represents the remainder when A is divided by B.
The division for a variable given modP can be calculated by multiplying the inverse in modP.
(1) Configuration example 1 of a homomorphic one-way function
F (M) = exp (g, M) modP
Here, the constant g and the constant P are appropriately determined in consideration of safety.
There are various examples for appropriate determination. For example, g is a primitive element of modP, an integer of several hundred digits, and P is a prime number of 300 digits or more.
(2) Homomorphic one-way function example 2:
F (M) = exp (g, αM) mod P
Here, the constant g, the constant α, and the constant P are appropriately determined in consideration of safety.
(3) Example 3 of homomorphic unidirectional function:
F (M) = K · exp (g, αM) mod P
Here, the constant g, the constant α, and the constant P are appropriately determined in consideration of safety.
K is an arbitrary constant or function. In this case, the following conversion is necessary.
F (M1) · F (M2)... F (Mn) = F (M1 + M2 +... Mn) / (n products of K)
(4) Example 4 of homomorphic one-way function:
F (M) = β · M · R,
Here, β is a constant, and F (M) and R are two-dimensional coordinates of points on an elliptic curve for which a constant is appropriately selected. The elliptic curve is a curve represented by y 2 = ax 3 + bx 2 + cx + d, and a, b, c, and d are constants. If the elliptic curve, β, and R are appropriately set, it is difficult to obtain M given {F (M), β, R}.
In this case, (M1 + M2 +... Mn) is obtained by F (M1) + F (M2) +... + F (Mn) = β · (M1 + M2 +... Mn) · R. Therefore, unlike the first, second, and third examples, the product of a plurality of F (•) needs to be replaced with the sum of a plurality of F (•).

図2に、(V1+V2+...+Vn)とF(V1+V2+...+Vn)を対応付けるために、あらかじめ{V1,V2,・・・Vn}の選択肢の値について計算してメモリに保持しておく対応表{(V1+V2+...+Vn),F(V1+V2+...+Vn)}の構成例を示す。In FIG. 2, in order to associate (V1 + V2 +... + Vn) with F (V1 + V2 +... + Vn), the values of the choices {V1, V2,. A configuration example of the correspondence table {(V1 + V2 + ... + Vn), F (V1 + V2 + ... + Vn)} is shown.

図3に、準同形一方向性関数演算装置F(・)への入力値Vk,(k=1,2,・・・,n)の選択肢を考慮して、選択肢ごとの集計を可能にした集計演算ビット列の設定例を示す。
例えば、1つのVkについて、どれか1つの選択肢が選択された場合には、その選択肢に対応するビット列内の最下位ビットを1に設定した値がVkの値になる。個々の選択肢に対応するビット列の最大長は、特定の選択肢を全入力値が選択した場合でも、他の選択肢に対応するビット列と重ならないように設定する。
In FIG. 3, considering the choices of the input values Vk, (k = 1, 2,..., N) to the homomorphic one-way function calculation device F (•), it is possible to aggregate each choice. An example of setting the aggregate calculation bit string is shown.
For example, when any one option is selected for one Vk, a value in which the least significant bit in the bit string corresponding to the option is set to 1 is the value of Vk. The maximum length of the bit string corresponding to each option is set so that it does not overlap with bit strings corresponding to other options even when all input values select a specific option.

本発明の準同形一方向性関数演算装置を用いることによって、例えば、コンピュータと通信回線を利用して無記名電子投票を実現できる。その一実施例を、実施例2に示す。  By using the homomorphic unidirectional function computing device of the present invention, for example, anonymous electronic voting can be realized using a computer and a communication line. One example is shown in Example 2.

準同形一方向性関数演算装置を用いるネットワーク会議用の無記名電子投票のモデルを図3に示す。ネットワーク会議用電子投票システムは、投票管理者(議長)用の投票管理端末11(パソコンなど)、投票者用の投票端末12(パソコン又は携帯電話など)、投票サーバ13(投票管理など)、信頼サーバ14(信頼できる補助的サーバ)および通信回線15(ネットワークなど)で構成し、これらの構成要素間の通信における一般的な安全性は、通常のセキュリティ技術(例えば、暗号や認証技術)で保護する。投票端末は投票者ごとに個別である。  FIG. 3 shows a model of anonymous electronic voting for network conferencing using a homomorphic unidirectional function arithmetic unit. An electronic voting system for network meetings includes a voting management terminal 11 (such as a personal computer) for a voting manager (chairperson), a voting terminal 12 for a voter (such as a personal computer or a mobile phone), a voting server 13 (such as voting management), and trust Consists of a server 14 (trusted auxiliary server) and a communication line 15 (such as a network), and general security in communication between these components is protected by ordinary security technology (for example, encryption or authentication technology). To do. The voting terminal is individual for each voter.

無記名電子投票の処理手順の一実施例を以下に示す。
ステップ0(初期設定): 投票管理者は,投票者の集合を{投票者1,投票者2,...,投票者n}とし,投票者k,(k=1,2,...,n)の投票メッセージ(投票内容)をVk,(k=1,2,...,n)とし,投票管理者は,準同形一方向性関数演算装置F(・),及び投票者k,(k=1,2,...,n)の投票メッセージ{V1,V2,...,Vn}の選択肢(取り得る値)を定め,投票サーバ13とすべての投票端末に設定する。
An example of the procedure for anonymous electronic voting is shown below.
Step 0 (initial setting): The voting manager selects a set of voters {voter 1, voter 2,. . . , Voter n}, voting message (voting content) of voter k, (k = 1, 2,..., N) is Vk, (k = 1, 2,..., N) The administrator sends a homomorphic one-way function computing device F (·) and voter messages {V 1, V 2,. . . , Vn} are determined (possible values) and set for the voting server 13 and all voting terminals.

ステップ1(信頼サーバ): 信頼サーバ14は投票者k,(k=1,2,...,n)に秘密の乱数Sk,(k=1,2,...,n)を送信する。信頼サーバ14は、[(S1・S2・...・Sn)modP]を投票サーバ13に送信し、(S1,S2,...,Sn)を秘密に保持する(又は消去する)。
投票サーバ13は、受信した(S1,S2,...,Sn)を秘密に保持する。
Step 1 (trust server): The trust server 14 sends a secret random number Sk, (k = 1, 2,..., N) to the voter k, (k = 1, 2,..., N). . The trust server 14 transmits [(S1, S2,..., Sn) mod P] to the voting server 13, and keeps (or deletes) (S1, S2, ..., Sn) secretly.
The voting server 13 keeps the received (S1, S2, ..., Sn) secretly.

ステップ2(投票者と投票サーバ): 投票者k,(k=1,2,...,n)は、Wk・F(Vk)modP,(k=1,2,...,n)を個々に投票サーバ13に送信する。ここでWk,(k=1,2,...,n)は秘密の乱数である。Step 2 (voter and voting server): The voter k, (k = 1, 2,..., N) is Wk · F (Vk) mod P, (k = 1, 2,..., N). Are individually transmitted to the voting server 13. Here, Wk, (k = 1, 2,..., N) is a secret random number.

ステップ3(投票者間の通信): 先頭番号の投票者1は投票者2に{S1・W1modP}を送信し,投票サーバ13にその確認を送信し,
投票者2は投票者3に{(S1・W1・S2・W2)modP}を送信し,投票サーバ13にその確認を送信し,
投票者3は,投票者4に{(S1・W1・S2・W2・S3・W3)modP}を送信し,投票サーバ13にその確認を送信し,以下,同様な動作を各投票者が順次に行い,この結果,
最終番号の投票者nは、{(S1・W1・S2・W2・...・Sn・Wn)modP}を受信する。
Step 3 (communication between voters): The first voter 1 sends {S1 · W1modP} to the voter 2 and sends the confirmation to the voting server 13.
The voter 2 sends {(S1, W1, S2, W2) mod P} to the voter 3, and sends the confirmation to the voting server 13.
The voter 3 sends {(S1, W1, S2, W2, S3, W3) mod P} to the voter 4, sends the confirmation to the voting server 13, and thereafter each voter sequentially performs the same operation. As a result,
The final voter n receives {(S1, W1, S2, W2,... Sn, Wn) mod P}.

ステップ4(最終番号の投票者): 投票者nは投票サーバ13に
{(S1・W1・S2・W2・...・Sn・Wn)modP}を送信する。
Step 4 (last voter): Voter n sends {(S1, W1, S2, W2,... Sn, Wn) mod P} to voting server 13.

ステップ5(投票サーバ): 投票サーバ13は,
A1=[W1・F(V1)]・[W2・F(V2)]・...・[Wn・F(Vn)]modP
を計算する,ここで,
A1=W1・W2・...・Wn・F(V1)・F(V2)・...・F(Vn)modP
=W1・W2・...・Wn・F(V1+V2+...+Vn)modP
であり,次に,投票サーバ13は,
C1=[(S1・W1・S2・W2・...・Sn・Wn)modP1]/[(S1・S2・...・Sn)modP]
(=(W1・W2・...・Wn)modP)
を計算し,(W1・W2・...・Wn)modPを得る,
次に,投票サーバ13は
A2=A1/[(W1)・W2・...・Wn)modP]=F(V1+V2+...+Vn)
を計算してA2の数値を得る。
Step 5 (voting server): The voting server 13
A1 = [W1 · F (V1)] · [W2 · F (V2)],. . .・ [Wn ・ F (Vn)] modP
, Where
A1 = W1, W2,. . .・ Wn ・ F (V1) ・ F (V2) ・. . .・ F (Vn) modP
= W1, W2,. . .・ Wn ・ F (V1 + V2 + ... + Vn) mod P
Next, the voting server 13
C1 = [(S1, W1, S2, W2,... Sn, Wn) mod P1] / [(S1, S2,... Sn) mod P]
(= (W1, W2,... Wn) mod P)
To obtain (W1, W2,... Wn) mod P,
Next, the voting server 13 determines that A2 = A1 / [(W1) · W2. . . Wn) mod P] = F (V1 + V2 + ... + Vn)
To obtain the value of A2.

準同形一方向性関数F(・)の一方向性によって、投票サーバ13はF(V1+V2+...+Vn)から(V1+V2+...+Vn)を得ることはできない。
このことを解決するために、投票サーバ13は任意の時点で,(V1+V2+...+Vn)の取り得る全数値について、C1=F(V1+V2+...+Vn)を事前に計算し,計算結果の数値を対応表T1に格納する。
T1={C1(=F(V1+V2+...+Vn)),(V1+V2+...+Vn)}
入力値から関数F(・)を計算するのは容易であり、かつ投票者集合は部分集合に分割して1個の部分集合ごとの投票者数を適切に設定することも可能なので、前記の事前の計算は容易に実行できる。
Due to the unidirectionality of the homomorphic unidirectional function F (•), the voting server 13 cannot obtain (V1 + V2 + ... + Vn) from F (V1 + V2 + ... + Vn).
In order to solve this, the voting server 13 calculates C1 = F (V1 + V2 + ... + Vn) in advance for all the possible values of (V1 + V2 + ... + Vn) at any point in time. Numerical values are stored in the correspondence table T1.
T1 = {C1 (= F (V1 + V2 + ... + Vn)), (V1 + V2 + ... + Vn)}
Since it is easy to calculate the function F (•) from the input value, and the voter set can be divided into subsets, and the number of votes for each subset can be set appropriately, the above-mentioned Prior calculations can be easily performed.

投票サーバ13はA2の数値を、対応表T1の各要素と照合し、A2=C1の要素を見出したときに、その要素から投票結果の数値{V1+V2+...+Vn}を得る。When the voting server 13 collates the numerical value of A2 with each element of the correspondence table T1, and finds the element of A2 = C1, the voting result numerical value {V1 + V2 +. . . + Vn} is obtained.

備考1: 投票サーバ13が任意の投票者Xから確認を受信しない場合、投票サーバ13は、現在の投票議題の投票メンバリストから投票者Xを除去する。投票者数が多い場合には、投票者の集合を,複数の部分集合に分割可能であり、その場合は各部分集合の投票者は、部分集合ごとに上記の無記名投票手順を実行する。Note 1: If the voting server 13 does not receive a confirmation from any voter X, the voting server 13 removes the voter X from the voting member list of the current voting agenda. When the number of voters is large, the set of voters can be divided into a plurality of subsets. In this case, the voter of each subset executes the above-described anonymous voting procedure for each subset.

備考2: 投票メッセージVk,(k=1,2,...,n)は、投票管理者が指定した条件の数値であり、例えば投票メッセージに2つの選択肢{Yes=1,No=0}が存在する場合、
(V1+V2+...+Vn)は、0〜nの整数値であるので対応表T1には,(n+1)個の要素がある。
Remark 2: The voting message Vk, (k = 1, 2,..., N) is a numerical value of the condition specified by the voting manager. For example, two options {Yes = 1, No = 0} for the voting message Is present,
Since (V1 + V2 +... + Vn) is an integer value of 0 to n, the correspondence table T1 has (n + 1) elements.

備考3: 投票メッセージVk,(k=1,2,...,n)の正当性を保証するために、投票端末のアプリケーションは、投票者が入力した数値の正当性を検査する必要がある。投票端末のアプリケーションは、投票サーバ13からダウンロードできる。投票端末のアプリケーションの正当性は、投票サーバ13がアプリケーションにディジタル署名を行うことによって保証できる。Note 3: In order to guarantee the validity of the voting message Vk, (k = 1, 2,..., N), the application of the voting terminal needs to check the validity of the numerical value input by the voter. . The application of the voting terminal can be downloaded from the voting server 13. The validity of the application of the voting terminal can be guaranteed by the voting server 13 digitally signing the application.

備考4: 投票サーバ13が投票端末から投票メッセージを受信時には、投票サーバ13が投票端末の正当性をディジタル署名によって検証する。投票サーバ13は、投票者との通信時に、投票者IDと投票者パスワードを検査することで多重投票を防止できる。Note 4: When the voting server 13 receives a voting message from the voting terminal, the voting server 13 verifies the validity of the voting terminal by a digital signature. The voting server 13 can prevent multiple votes by inspecting the voter ID and the voter password when communicating with the voter.

投票者が2人の場合の簡単な数値例を説明のために以下に示す。
ステップ0(初期設定): 準同形一方向性関数は,F(V)=exp(g,V)modP,g=2,P=97,投票メッセージは、V=0(No)又は1(Yes)とする。
A simple numerical example in the case where there are two voters is shown below for explanation.
Step 0 (initial setting): The homomorphic one-way function is F (V) = exp (g, V) mod P, g = 2, P = 97, and the voting message is V = 0 (No) or 1 (Yes) ).

ステップ1(信頼サーバ): 信頼サーバ14は,秘密乱数 S1=23,S2=53を生成し、投票者1にS1,投票者2にS2を送信し,S1・S2modP=55を投票サーバ13に送信する。Step 1 (trust server): The trust server 14 generates secret random numbers S1 = 23 and S2 = 53, sends S1 to the voter 1 and S2 to the voter 2, and sends S1 · S2modP = 55 to the vote server 13. Send.

ステップ2(投票者と投票サーバ間): 投票者1は、V1=0,W1=88,W1・F(V1)modP=88,S1・W1modP=84を決定し、W1・F(V1)を投票サーバ13に送信し、投票者2は,V2=1,W2=77,W2・F(V2)modP=57,S2・W2modP=7を決定し、W2・F(V2)modPを投票サーバ13に送信する。Step 2 (between the voter and the voting server): The voter 1 determines V1 = 0, W1 = 88, W1 · F (V1) mod P = 88, S1 · W1 mod P = 84, and sets W1 · F (V1). The voting server 13 determines that V2 = 1, W2 = 77, W2 · F (V2) modP = 57, S2 · W2modP = 7, and the voting server 13 determines W2 · F (V2) modP. Send to.

ステップ3(投票者間の通信): 先頭番号の投票者1は、投票者2にS1・W1modP=84を送信し、投票サーバ13にその確認を送信する。Step 3 (communication between voters): The voter 1 with the first number transmits S1 · W1modP = 84 to the voter 2 and transmits the confirmation to the voting server 13.

ステップ4(最終番号の投票者): 最終番号の投票者2は、投票サーバ13に、
(S1・W1)・(S2・W2)=6を送信する。
Step 4 (last voter): The final voter 2 sends the vote server 13
(S1 · W1) · (S2 · W2) = 6 is transmitted.

ステップ5(投票サーバ): 投票サーバ13の事前計算は、
F(0+0)=1, F(0+1)=F(1+0)=2, F(1+1)=4, T1=[{1,0},{2,1},{4,2}]
である。
A1=[W1・F(V1)]・[W2・F(V2)]]modP=69
C1=[(S1・W1・S2・W2)modP]/[(S1・S2)modP]=83
A2=A1/[(W1・W2)modP]= F(V1+V2)=2
Step 5 (voting server): The pre-calculation of the voting server 13 is
F (0 + 0) = 1, F (0 + 1) = F (1 + 0) = 2, F (1 + 1) = 4, T1 = [{1, 0}, {2, 1}, {4, 2}]
It is.
A1 = [W1 · F (V1)] · [W2 · F (V2)]] mod P = 69
C1 = [(S1, W1, S2, W2) mod P] / [(S1, S2) mod P] = 83
A2 = A1 / [(W1 · W2) modP] = F (V1 + V2) = 2

A2=2の数値を,テーブルT1の各要素と照合して,A2=C1(=F(V1+V2))となる要素{F(V1+V2),V1+V2}={2,1}によって,投票集計結果として,V1+V2=1を得る。The numerical value of A2 = 2 is collated with each element of the table T1, and the result of voting is obtained by the element {F (V1 + V2), V1 + V2} = {2, 1} where A2 = C1 (= F (V1 + V2)) , V1 + V2 = 1.

本発明の準同形一方向性演算装置の応用システムの特長は、匿名通信路を使用せずに秘密の集計を比較的容易に実現できることであり、無記名電子投票、無記名アンケートなどに利用できる。  A feature of the application system of the homomorphic unidirectional computing device of the present invention is that it is possible to relatively easily realize secret tabulation without using an anonymous communication path, and it can be used for anonymous electronic voting, anonymous questionnaires, and the like.

準同形一方向性関数演算装置F(・)の動作例である。(実施例1)It is an operation example of the homomorphic unidirectional function computing device F (•). Example 1 対応表{F(V1+V2+...+Vn),(V1+V2+...+Vn)}の一例である。(実施例1)It is an example of the correspondence table {F (V1 + V2 + ... + Vn), (V1 + V2 + ... + Vn)}. Example 1 選択肢ごとの集計を可能にしたビット列の設定の一例である。(実施例1)It is an example of the setting of the bit string which enabled totalization for every choice. Example 1 ネットワーク会議用の無記名電子投票のモデル例である。(実施例2)It is a model example of the anonymous electronic voting for network meetings. (Example 2) 投票者が2人の無記名電子投票のモデル例である。(実施例2)This is an example of an anonymous electronic voting model with two voters. (Example 2)

符号の説明Explanation of symbols

1 準同形一方向性関数演算装置F(・)
2 対応表{F(V1+V2+...+Vn),(V1+V2+...+Vn)}
3 集計演算ビット列
11 投票管理者用の投票管理端末
12 投票者用の投票端末
13 投票サーバ
14 信頼サーバ
15 通信回線
1 Homomorphic one-way function calculator F (・)
2 Correspondence table {F (V1 + V2 + ... + Vn), (V1 + V2 + ... + Vn)}
3 Total operation bit string 11 Vote management terminal 12 for vote manager Voting terminal 13 for voter Vote server 14 Trust server 15 Communication line

Claims (4)

n個(n≧2)の変数として{V1,V2,...,Vn}を順序は任意に個別に準同形一方向性関数演算装置F(・)に入力した値の積{F(V1)・F(V2)・・・F(Vn)}と,{V1+V2+...+Vn}を準同形一方向性関数演算装置F(・)に入力した値とが等しい性質を有する準同形一方向性関数演算装置F(・)を備える応用システムにおいて、
対応表{F(V1+V2+...+Vn),(V1+V2+...+Vn)}を、{V1+V2+...+Vn}の取り得る値ごとにあらかじめ計算して記憶装置に格納しておく処理と,新たに{V1,V2,...,Vn}によって計算されたF(V1+V2+...+Vn)が得られたときに前記の対応表を参照することによって{V1+V2+...+Vn}の値を得る処理を有することを特徴とする準同形一方向性関数演算装置の応用システム。
n variables (n ≧ 2) as {V1, V2,. . . , Vn} in any order, the products {F (V1) · F (V2)... F (Vn)} of values individually input to the homomorphic one-way function calculation device F (·), {V1 + V2 + . . . In the application system including the homomorphic unidirectional function calculation device F (•) having the property that the value inputted to the homomorphic unidirectional function calculation device F (•) is equal to + Vn},
The correspondence table {F (V1 + V2 + ... + Vn), (V1 + V2 + ... + Vn)} is converted into {V1 + V2 +. . . + Vn} is calculated in advance for each possible value and stored in a storage device, and {V1, V2,. . . , Vn} by referring to the above correspondence table when F (V1 + V2 +... + Vn) calculated by {V1 + V2 +. . . Application system of a homomorphic unidirectional function arithmetic unit characterized by having a process of obtaining a value of + Vn}.
準同形一方向性関数演算装置F(・)に,べき乗剰余関数を含めることを特徴とする請求項1に記載の準同形一方向性関数演算装置の応用システム。  The application system of the homomorphic unidirectional function arithmetic unit according to claim 1, wherein a power residue function is included in the homomorphic unidirectional function arithmetic unit F (·). 準同形一方向性関数演算装置F(・)への入力値Vの取り得る個々の選択肢ごとに、集計ビット列の位置を分離して、Vの選択肢ごとの集計値を独立に得られるようにしたことを特徴とする請求項1に記載の準同形一方向性関数演算装置の応用システム。  The position of the aggregate bit string is separated for each possible choice of the input value V to the homomorphic unidirectional function arithmetic unit F (•) so that the aggregate value for each of the V choices can be obtained independently. The application system of the homomorphic unidirectional function computing device according to claim 1. 準同形一方向性関数演算装置F(・)に,楕円曲線に係わる演算を含めることにして、
n個(n≧2)の変数として{V1,V2,...,Vn}を順序は任意に個別に準同形一方向性関数演算装置F(・)に入力した値の楕円曲線上の和{F(V1)+F(V2)+・・・+F(Vn)}と,(V1+V2+...+Vn)を準同形一方向性関数演算装置F(・)に入力した値が等しい性質を有する準同形一方向性関数演算装置F(・)を備える応用システムにおいて、対応表{F(V1+V2+...+Vn),(V1+V2+...+Vn)}を{V1+V2+...+Vn}の取り得る値ごとにあらかじめ計算してメモリに格納しておく処理と,新たに{V1,V2,...,Vn}によって計算されたF(V1+V2+...+Vn)が得られたときに前記の対応表を参照することによって{V1+V2+...+Vn}の値を得る処理を有することを特徴とする準同形一方向性関数演算装置の応用システム。
In the homomorphic one-way function calculation device F (•), including the calculation related to the elliptic curve,
n variables (n ≧ 2) as {V1, V2,. . . , Vn} is the sum of the values on the elliptic curve {F (V1) + F (V2) +... + F (Vn)} of the values individually input to the homomorphic one-way function computing device F (•). And (V1 + V2 +... + Vn) input to the homomorphic unidirectional function computing device F (•) in an application system comprising a homomorphic unidirectional function computing device F (•) having the same property. The table {F (V1 + V2 + ... + Vn), (V1 + V2 + ... + Vn)} is {V1 + V2 +. . . + Vn} is calculated in advance for each possible value and stored in the memory, and {V1, V2,. . . , Vn} by referring to the above correspondence table when F (V1 + V2 +... + Vn) calculated by {V1 + V2 +. . . Application system of a homomorphic unidirectional function arithmetic unit characterized by having a process of obtaining a value of + Vn}.
JP2008056974A 2008-02-06 2008-02-06 Application system of homomorphic unidirectional function arithmetic unit Expired - Fee Related JP5110432B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008056974A JP5110432B2 (en) 2008-02-06 2008-02-06 Application system of homomorphic unidirectional function arithmetic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008056974A JP5110432B2 (en) 2008-02-06 2008-02-06 Application system of homomorphic unidirectional function arithmetic unit

Publications (3)

Publication Number Publication Date
JP2009186950A true JP2009186950A (en) 2009-08-20
JP2009186950A5 JP2009186950A5 (en) 2011-04-21
JP5110432B2 JP5110432B2 (en) 2012-12-26

Family

ID=41070221

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008056974A Expired - Fee Related JP5110432B2 (en) 2008-02-06 2008-02-06 Application system of homomorphic unidirectional function arithmetic unit

Country Status (1)

Country Link
JP (1) JP5110432B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013524277A (en) * 2010-03-30 2013-06-17 インターナショナル・ビジネス・マシーンズ・コーポレーション Computer readable storage medium and apparatus for efficient homomorphic cryptography on bilinear form
US9608817B2 (en) 2012-02-17 2017-03-28 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013524277A (en) * 2010-03-30 2013-06-17 インターナショナル・ビジネス・マシーンズ・コーポレーション Computer readable storage medium and apparatus for efficient homomorphic cryptography on bilinear form
US9252954B2 (en) 2010-03-30 2016-02-02 International Business Machines Corporation Efficient homomorphic encryption scheme for bilinear forms
US9608817B2 (en) 2012-02-17 2017-03-28 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
US9621346B2 (en) 2012-02-17 2017-04-11 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
US9742566B2 (en) 2012-02-17 2017-08-22 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
US10057057B2 (en) 2012-02-17 2018-08-21 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management

Also Published As

Publication number Publication date
JP5110432B2 (en) 2012-12-26

Similar Documents

Publication Publication Date Title
CN107634836B (en) SM2 digital signature generation method and system
US10728038B2 (en) Multiple secrets in quorum based data processing
US7853016B2 (en) Signature schemes using bilinear mappings
US9166957B2 (en) Digital file authentication using biometrics
US9438589B2 (en) Binding a digital file to a person&#39;s identity using biometrics
Lee Provably secure anonymous single-sign-on authentication mechanisms using extended Chebyshev chaotic maps for distributed computer networks
JPWO2008146667A1 (en) Anonymous authentication system and anonymous authentication method
CN109450640B (en) SM 2-based two-party signature method and system
CN114157427A (en) Threshold signature method based on SM2 digital signature
US9860069B2 (en) Group signature using a pseudonym
CN111262704A (en) SM9 digital signature generation method and device, computer equipment and storage medium
CN111130758B (en) Lightweight anonymous authentication method suitable for resource-constrained equipment
CN109361519A (en) A kind of improved generation method and system comprising secret number
US20170359177A1 (en) Method and System for Cryptographic Decision-making of Set Membership
JP5110432B2 (en) Application system of homomorphic unidirectional function arithmetic unit
CN110990896B (en) Digital signature device, method, storage medium and equipment based on SM2 white box
Zhang et al. Privacy‐friendly weighted‐reputation aggregation protocols against malicious adversaries in cloud services
Allam et al. A provably secure certificateless organizational signature schemes
JP7276423B2 (en) Cryptographic system, key generation device, key generation method, key generation program, and homomorphic arithmetic device
Shin et al. A verifier-based password-authenticated key exchange using tamper-proof hardware
Byun PDAKE: a provably secure PUF-based device authenticated key exchange in cloud setting
CN108737103B (en) SM2 algorithm signature method applied to CS framework
Kulyk et al. Efficiency evaluation of cryptographic protocols for boardroom voting
CN112184440A (en) Data processing method, data processing device, node equipment and storage medium
Vu et al. An efficient approach for electronic voting scheme without an authenticated channel

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110207

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120824

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

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

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

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5110432

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees