JP4790422B2 - Electronic signature method with threshold, verification method, electronic signature system, verification device, signature device, duplicate signature copy signature detection device, signature verification system, signature verification method, electronic billing system, electronic cash payment system, and program - Google Patents

Electronic signature method with threshold, verification method, electronic signature system, verification device, signature device, duplicate signature copy signature detection device, signature verification system, signature verification method, electronic billing system, electronic cash payment system, and program Download PDF

Info

Publication number
JP4790422B2
JP4790422B2 JP2006008040A JP2006008040A JP4790422B2 JP 4790422 B2 JP4790422 B2 JP 4790422B2 JP 2006008040 A JP2006008040 A JP 2006008040A JP 2006008040 A JP2006008040 A JP 2006008040A JP 4790422 B2 JP4790422 B2 JP 4790422B2
Authority
JP
Japan
Prior art keywords
signature
factor
generating
generation
public key
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.)
Active
Application number
JP2006008040A
Other languages
Japanese (ja)
Other versions
JP2007006441A (en
Inventor
幸太郎 鈴木
英一郎 藤崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2006008040A priority Critical patent/JP4790422B2/en
Publication of JP2007006441A publication Critical patent/JP2007006441A/en
Application granted granted Critical
Publication of JP4790422B2 publication Critical patent/JP4790422B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報セキュリティ技術に関するものであり、閾値つき電子署名技術に関する。   The present invention relates to information security technology, and to a digital signature technology with a threshold.

閾値つき電子署名技術は、複数の参加者の一部が協力することで署名が生成されたことを、誰が署名生成に協力したのかが分からないように署名のみから確認できる電子署名である。n人の参加者うち任意のt人以上が協力することで署名が生成されたことを、誰が署名生成に協力したのかが分からないように署名のみから確認できる電子署名の方式を、(t,n)閾値電子署名方式と呼ぶ。従来の方法として非特許文献1に示された方法がある。最初に本説明中で使用する記号について説明する。離散対数問題が難しいと考えられている巡回群をGとし、その生成元をg、群の位数をqとする(G=<g>,#G=q)。Zは、qを法とする剰余類{0,1,2,…,q−1}である。∈は一様ランダムに元を取り出すことを、{0,1}は0または1が任意長並んだビット列を、Kは有限体を意味する。また、H,I,JはそれぞれH:{0,1}→Zのように変換するハッシュ関数である。以下に非特許文献1に示された方法について説明する。 The digital signature technique with a threshold is an electronic signature that can be confirmed from only the signature so that it is not known who has cooperated in signature generation that the signature has been generated by the cooperation of some of a plurality of participants. An electronic signature method that can confirm from the signature alone that the signature has been generated by the cooperation of arbitrary t or more of the n participants without knowing who has cooperated in the signature generation (t, n) Called threshold electronic signature method. There is a method disclosed in Non-Patent Document 1 as a conventional method. First, symbols used in this description will be described. Let G be a cyclic group that is considered to be difficult to solve the discrete logarithm problem, g be the generation source, and q be the order of the group (G = <g>, # G = q). Z q is a residue class {0, 1, 2,..., Q−1} modulo q. ∈ U means that elements are extracted uniformly and randomly, {0, 1} * means a bit string in which 0 or 1 are arranged in an arbitrary length, and K means a finite field. H, I, and J are hash functions for conversion as H: {0, 1} * → Z q . The method disclosed in Non-Patent Document 1 will be described below.

図1に、閾値つき電子署名システムの構成例と流れを示す。本システムへの参加者の総数はn人であり、n台の参加装置910−i(i=1,…,n)では、あらかじめ定められた巡回群Gの元g(g∈G)を用いて、各参加装置の秘密鍵xと公開鍵yとが生成され、公開鍵yは公開される。署名を作成する場合は、n人中の任意のt人以上が参加装置910−i(i=1,…,t)でコミットメントaを生成し、署名生成部920を備える装置に送信する。ここで、説明を簡略化するために、i=1,…,tを署名生成に使用した(協力した)参加装置を示す数、i=t+1,…,nを署名作成に使用していない(協力しなかった)参加装置を示す数とするが、t台の参加装置はn台の参加装置中のどれでも良い。 FIG. 1 shows a configuration example and a flow of an electronic signature system with a threshold. The total number of participants in this system is n, and n participating devices 910-i (i = 1,..., N) use a predetermined element g (gεG) of a cyclic group G. Thus, the secret key x i and the public key y i of each participating device are generated, and the public key y i is made public. When creating a signature, any t or more of the n people generate a commitment a i with the participating devices 910-i (i = 1,..., T), and transmit the commitment a i to a device including the signature generation unit 920. Here, to simplify the explanation, i = 1,..., T is a number indicating the participating devices that used (cooperated) for signature generation, and i = t + 1,. The number of participating devices that did not cooperate) may be any of the n participating devices.

署名生成部920は、独立した装置ででもかまわないし、いずれかの参加装置内に備えさせてもかまわない。署名生成部920は、i=t+1,…,nに対するダミーレスポンスe、ダミーチャレンジc、およびダミーコミットメントaを生成した上で、n−t次多項式f(x)、i=1,…,tに対するチャレンジcとレスポンスeとを生成し、署名σ(m)を作成する。この署名σ(m)はt台の参加装置910−i(i=1,…,t)から取得したコミットメントaと、署名生成部920がダミーとして生成したコミットメントa(i=t+1,…,n)等から生成されており、t人が協力した署名生成になっているだけでなく、どのt人が協力したのかが分からない署名になっている。 The signature generation unit 920 may be an independent device, or may be provided in any participating device. The signature generation unit 920 generates a dummy response e i , a dummy challenge c i , and a dummy commitment a i for i = t + 1,..., N, and then an n−t degree polynomial f (x), i = 1,. , T, a challenge c i and a response e i are generated, and a signature σ (m) is generated. The signature σ (m) is a commitment a i acquired from t participating devices 910-i (i = 1,..., T) and a commitment a i (i = t + 1,...) Generated as a dummy by the signature generation unit 920. , N), etc., and not only the signature generation with which t people cooperated, but also the signature with which it is not known which t people cooperated.

署名検証部930は、署名検証を行いたい任意の装置内に備えてかまわない。署名検証部では、多項式f(x)の次数がn−tであること、チャレンジc(i=1,…,n)とf(0)の値が正しいことなどを検証する。
図2は、参加装置910−iの機能構成例を示す図である。参加装置910−iは、鍵生成部911−i、乱数生成部912−i、記録部913−i、および通信部914−iから構成される。図3は鍵生成部911−iの処理フローを示す図であり、図4は乱数生成部912−iの処理フローを示す図である。
The signature verification unit 930 may be provided in any apparatus that wishes to perform signature verification. The signature verification unit verifies that the degree of the polynomial f (x) is n−t and that the values of the challenges c i (i = 1,..., N) and f (0) are correct.
FIG. 2 is a diagram illustrating a functional configuration example of the participation apparatus 910-i. Participating device 910-i includes key generation unit 911-i, random number generation unit 912-i, recording unit 913-i, and communication unit 914-i. FIG. 3 is a diagram illustrating a processing flow of the key generation unit 911-i, and FIG. 4 is a diagram illustrating a processing flow of the random number generation unit 912-i.

鍵生成部911−iは、秘密鍵x生成手段9111−iと公開鍵y生成手段9112−iとで構成される。鍵生成部911-iでの具体的な鍵生成方法の例を次に示す。秘
密鍵x生成手段9111−iでは、qを法とする剰余類Zから等確率でランダムに1つの元を選択して秘密鍵xとし(x)(S9111)、秘密鍵xを記録部913−iに記録する(S9112)。公開鍵y生成手段9112−iでは、あらかじめ定められた巡回群Gの元gを用いて、
The key generation unit 911-i includes a secret key x i generation unit 9111-i and a public key y i generation unit 9112-i. An example of a specific key generation method in the key generation unit 911-i is shown below. In the secret key x i generating means 9111-i, one element is randomly selected with equal probability from the remainder class Z q modulo q as a secret key x i (x iU Z q ) (S9111), the secret key x i is recorded in the recording unit 913-i (S9112). The public key y i generating means 9112-i uses the element g of the cyclic group G determined in advance,

Figure 0004790422
により公開鍵y(y∈G={1,g,g,…,gq−1})を生成し(S9113)、公開鍵yを記録部913−iに記録する(S9114)。ここで、巡回群Gは、離散対数問題が難しい群から選ばれているため、公開鍵yと元gが分かっても、秘密鍵xは分からない。このように生成された公開鍵yは、元gの情報とともに通信部914−iを介して公開される。
Figure 0004790422
To generate a public key y i (y i ∈ G = {1, g, g 2 ,..., G q−1 }) (S9113), and records the public key y i in the recording unit 913-i (S9114). . Here, since the cyclic group G is selected from a group in which the discrete logarithm problem is difficult, even if the public key y i and the element g are known, the secret key x i is not known. The public key y i generated in this way is disclosed via the communication unit 914-i together with the information of the original g.

乱数生成部912−iは、署名生成に協力する場合に動作する構成部であり、乱数r生成手段9121−i、コミットメントa生成手段9122−i、チャレンジc取得手段9123−i、およびレスポンスe生成手段9122−iで構成される。乱数生成部912−iでの具体的な処理手順の例を次に示す。参加者が署名に協力する場合には、乱数r生成手段9121−iでは、qを法とする剰余類Zから等確率でランダムに1つの元を選択して乱数rとする(r)(S9121)。次にコミットメントa生成手段9122−iでは、元gを用いて、 Random number generation unit 912-i is a component which operates when cooperating in signature generation, random number r i generation means 9121-i, commitment a i generation means 9122-i, challenge c i acquisition unit 9123-i, and comprised in the response e i generation means 9122-i. An example of a specific processing procedure in the random number generation unit 912-i is shown below. If the participants cooperate to signature, the random number r i generation means 9121-i, a random number r i selects one of the original randomly with equal probability from coset Z q modulo q (r iU Z q ) (S9121). Next, the commitment a i generating means 9122-i uses the element g,

Figure 0004790422
によりコミットメントa(∈G)を生成し(S9122)、コミットメントaを記録部913−iに記録し、通信部914−iを介して署名生成部920を備える装置に送信する(S9123)。署名生成部920で署名生成処理が行われると、署名生成部920の計算部922の処理過程で生成されたチャレンジcが署名生成部920から、署名生成に協力している参加装置910−i(i=1,…,t)に送信される。このチャレンジcをチャレンジc取得手段9123−iで取得し(S9124)、記録部913−iに記録する(S9125)。また、レスポンスe生成手段9122−iで、e:=r−c(e∈Z)により、e(i=1,…,t)を求め(S9126)、記録部913−iに記録するとともに署名生成部920に送信する(S9127)。
Figure 0004790422
To generate a commitment a i (∈G) (S9122), record the commitment a i in the recording unit 913-i, and transmit it to the apparatus including the signature generation unit 920 via the communication unit 914-i (S9123). If the signature generation processing is performed in the signature generation unit 920, from the challenge c i is the signature generation unit 920 generated in the process of calculating unit 922 of the signature generation unit 920, participants are collaborating in the signature generating apparatus 910-i (I = 1,..., T). Gets the challenge c i a challenge c i acquisition unit 9123-i (S9124), and records in the recording unit 913-i (S9125). Further, the response e i generation means 9122-i, e i: = the r i -c i x i (e i ∈Z q), e i (i = 1, ..., t) and calculated (S9126), recording The information is recorded in the part 913-i and transmitted to the signature generation part 920 (S9127).

図5に署名生成部920の機能構成例を示す。署名生成部920は、ダミー生成部921、計算部922、情報取得部923、記録部924、および通信部925から構成されている。また、図6は署名生成部920の処理フローを示す図である。
署名生成部920では、以下の手順で署名σ(m)が生成される。通信部925を介して情報取得部923の公開鍵y(i=1,…,n)取得手段9231により、参加装置910−i(i=1,…,n)の公開鍵yを取得する(S9231)。ダミー生成部921では、次のように、ダミーレスポンスe、ダミーチャレンジc、ダミーコミットメントa(i=t+1,…,n)を生成する。ダミーレスポンスe・ダミーチャレンジc(i=t+1,…,n)生成手段9211により、qを法とする剰余類Zから等確率でランダムに元を選択してダミーレスポンスeとダミーチャレンジc(i=t+1,…,n)とし(e,c)(S9211)、記録部924に記録する(S9212)。また、ダミーコミットメントa(i=t+1,…,n)生成手段9213により、元gと公開鍵yを用いて、
FIG. 5 shows a functional configuration example of the signature generation unit 920. The signature generation unit 920 includes a dummy generation unit 921, a calculation unit 922, an information acquisition unit 923, a recording unit 924, and a communication unit 925. FIG. 6 is a diagram showing a processing flow of the signature generation unit 920.
The signature generation unit 920 generates a signature σ (m) by the following procedure. Public key y i (i = 1, ... , n) of the information acquisition unit 923 via the communication unit 925 by acquiring unit 9231, obtains the public key y i participating device 910-i (i = 1, ..., n) (S9231). The dummy generation unit 921 generates a dummy response e i , a dummy challenge c i , and a dummy commitment a i (i = t + 1,..., N) as follows. The dummy response e i and the dummy challenge c i (i = t + 1,..., N) generation means 9211 selects an element at random with equal probability from the remainder class Z q modulo q, and the dummy response e i and the dummy challenge c i (i = t + 1,..., n) (e i , c iU Z q ) (S9211), and the result is recorded in the recording unit 924 (S9212). Further, the dummy commitment a i (i = t + 1,..., N) generation unit 9213 uses the element g and the public key y i ,

Figure 0004790422
によりダミーコミットメントa(i=t+1,…,n)を生成し(S9215)、記録部924に記録する(S9216)。
また、通信部925を介して情報取得部923のコミットメントa(i=1,…,t)取得手段9232により、参加装置910−i(i=1,…,t)のコミットメントaを取得する(S9232)。
Figure 0004790422
The dummy commitment a i (i = t + 1,..., N) is generated (S9215) and recorded in the recording unit 924 (S9216).
The commitment a i (i = 1, ... , t) in the information acquisition unit 923 via the communication unit 925 by acquiring unit 9232, acquires the commitment a i participating device 910-i (i = 1, ..., t) (S9232).

次に、計算部922では、以下のようにメッセージmの(t,n)閾値署名σ(m)を求める。n−t次多項式f(x)計算手段9221により、n−t次の多項式f(x)(f(x)=α+αx+α+…+αn−tn−t,α∈Z)と定め、f(0)=H(t,n,y,…,y,a,…,a,m)とf(i)=c(i=t+1,…,n)の条件からα(j=0,…,n−t)を計算することでn−t次多項式f(x)を求める(S9221)。また、求めたn−t次多項式f(x)を記録部924に記録する(S9222)。チャレンジc(i=1,…,t)生成手段9222では、c:=f(i)により、チャレンジc(i=1,…,t)を求め(S9223)、記録部924に記録するとともに、チャレンジcに対応する参加装置910−i(i=1,…,t)にチャレンジcを送信する(S9224)。各参加者装置910−i(i=1,…,t)では、送信されたチャレンジcを用いて、上記のようにレスポンスeを生成し署名生成部920に送信する(S9124〜S9127)。そこで、レスポンスe(i=1,…,t)取得手段9223は、レスポンスe(i=1,…,t)を取得し(S9225)、記録部924に記録する(S9226)。署名σ(m)作成手段9223では、σ(m)=(t,n,f,c,…,c,e,…,e)により、σ(m)を求め(S9227)、記録部924に記録する(S9228)。このようにしてメッセージmに対する(t,n)閾値署名σ(m)を求める。 Next, the calculation unit 922 obtains the (t, n) threshold signature σ (m) of the message m as follows. The n-th order polynomial f (x) calculating means 9221 causes the n-th order polynomial f (x) (f (x) = α 0 + α 1 x + α 2 x 2 +... + α n−t x n−t , α j ∈ Z q ), and f (0) = H (t, n, y 1 ,..., y n , a 1 ,..., a n , m) and f (i) = c i (i = t + 1, .., N) is calculated from the condition of α j (j = 0,..., Nt) to obtain an nt degree polynomial f (x) (S9221). Further, the obtained nt degree polynomial f (x) is recorded in the recording unit 924 (S9222). Challenge c i (i = 1, ... , t) in the generator 9222, c i: = the f (i), the challenge c i (i = 1, ... , t) and calculated (S9223), the recording unit 924 to with challenge c i participating device corresponding to the 910-i (i = 1, ..., t) to send a challenge c i (S9224). Each participant device 910-i (i = 1,..., T) generates the response e i as described above using the transmitted challenge c i and transmits it to the signature generation unit 920 (S9124 to S9127). . Therefore, the response e i (i = 1,..., T) acquisition unit 9223 acquires the response e i (i = 1,..., T) (S9225) and records it in the recording unit 924 (S9226). The signature σ (m) creating means 9223 obtains σ (m) from σ (m) = (t, n, f, c 1 ,..., C n , e 1 ,..., E n ) (S9227), Recording is performed in the recording unit 924 (S9228). In this way, the (t, n) threshold signature σ (m) for the message m is obtained.

図7に署名検証部930の機能構成例を示す。また、図8に署名検証部930での署名σ(m)を検証するフローを示す。情報取得手段933は、公開鍵y(i=1,…,n)と署名σ(m)を取得し(S933)、多項式f(x)の次数確認手段931で多項式f(x)の次数がn−tであることを確認し(S931)、チャレンジc、多項式f(0)確認手段932で、 FIG. 7 shows a functional configuration example of the signature verification unit 930. FIG. 8 shows a flow for verifying the signature σ (m) in the signature verification unit 930. The information acquisition unit 933 acquires the public key y i (i = 1,..., N) and the signature σ (m) (S933), and the degree confirmation unit 931 of the polynomial f (x) determines the degree of the polynomial f (x). Is nt (S931), challenge c i , polynomial f (0) confirmation means 932,

Figure 0004790422
であることを確認する(S932)。
このように署名σ(m)の生成と検証を行うことで、署名検証部930(署名検証をする人)は、少なくともt台の参加装置910−i(t人の参加者)が協力して署名を作成したことが確認できる。また、署名検証部930は、n台の参加装置910−i中のどのt台(n人の参加者中のどのt人)が署名生成に協力したのかは分からない。
[CDS94] R. Cramer and I. Damgard and B. Schoen-makers, Proofs of Partial Knowledge and Simplified Design of Witness Hiding Protocols, CRYPTO ’94, pp. 174-187, 1994.
Figure 0004790422
(S932).
By generating and verifying the signature σ (m) in this way, the signature verification unit 930 (the person who performs the signature verification) cooperates with at least t participating devices 910-i (t participants). You can confirm that you have created a signature. In addition, the signature verification unit 930 does not know which t of the n participating devices 910-i (which t of the n participants) cooperated in generating the signature.
[CDS94] R. Cramer and I. Damgard and B. Schoen-makers, Proofs of Partial Knowledge and Simplified Design of Witness Hiding Protocols, CRYPTO '94, pp. 174-187, 1994.

従来技術では、どの参加者が署名生成に協力したのかが分からないことを特徴としてい
るが、参加者が署名生成に協力したことを証明すること(名乗り出ること)もできなかった。
また、署名生成に協力したことを証明することができるようにする場合には、何人の参加者が証明できるのかを署名から確認できるようにすることも必要である。さらに、署名生成に協力したことを証明するときに秘密鍵の情報も流出することが考えられることから、以後、今までの秘密鍵と公開鍵が使用できなくなる問題があった。
The prior art is characterized by the fact that it is not known which participant has cooperated in signature generation, but it has not been possible to prove that the participant has cooperated in signature generation (named out).
In addition, when it is possible to prove that the signature generation has been cooperated, it is also necessary to be able to confirm from the signature how many participants can be proved. Furthermore, since it is conceivable that secret key information may also be leaked when certifying cooperation in signature generation, there has been a problem that the conventional secret key and public key can no longer be used.

本発明の目的は、秘密鍵と公開鍵とが使えなくなることなく、かつ、n台(nは2以上の整数)の参加者装置(集合N)に含まれるs台の参加者装置(集合S)が署名を行った場合に、署名をした参加者装置がt台以上(集合T)t’台(集合T’)以下であることが確認できる署名方法を提供することにある。   An object of the present invention is to make it possible to use s number of participant devices (set S) included in n (n is an integer of 2 or more) participant devices (set N) without causing the private key and public key to become unusable. ) Provides a signature method by which it can be confirmed that the number of participant devices who have signed is not less than t (set T) and not more than t ′ (set T ′).

離散対数問題をもとに秘密鍵と公開鍵とを生成する場合に、署名者の使い捨て公開鍵と公開鍵との離散対数を等しくすることにより、使い捨て公開鍵と公開鍵とを関連つける。
具体的には、署名を行う集合Sの各参加者装置では、公開鍵y、使い捨て公開鍵σの間で、離散対数を等しくするように使い捨て公開鍵σ(i∈S)を生成する。また、集合Sの参加者装置で協力して集合T’−Sの使い捨て公開鍵σ(i∈T’−S)を生成する。集合N−T’の使い捨て公開鍵σ(i∈N−T’)は、σ(i∈T’)から決まるt’次の多項式を用いて、計算により求める。このように使い捨て公開鍵を生成した上で、署名を作成する。また、実施形態によっては、離散対数が等しいことを証明することで、各参加者装置が署名した参加者であることを証明することもできる。
When the secret key and the public key are generated based on the discrete logarithm problem, the disposable public key and the public key are related by equalizing the discrete logarithm of the signer's disposable public key and public key.
Specifically, each participant device of the set S that performs signature generation generates the disposable public key σ i (i∈S) so that the discrete logarithm is equal between the public key y i and the disposable public key σ i. To do. Further, the participant devices of the set S cooperate to generate the disposable public key σ i (i∈T′-S) of the set T′-S. The disposable public key σ i (i∈NT ′) of the set NT ′ is obtained by calculation using a t′-order polynomial determined from σ i (i∈T ′). After generating the disposable public key in this way, a signature is created. Further, in some embodiments, it can be proved that each participant device is a signed participant by proving that the discrete logarithm is equal.

本発明によれば、公開鍵と使い捨て公開鍵とは、離散対数が等しいので関連付けられており、署名者になりすますことができない。また、n台の参加者装置に含まれるs台の参加者装置が署名を行った場合に、署名をした参加者装置がt台以上t’台以下であることが確認できる署名方法を提供することができる。   According to the present invention, the public key and the disposable public key are related because they have the same discrete logarithm and cannot impersonate the signer. Further, there is provided a signature method capable of confirming that the number of participant devices that have signed is t or more and t ′ or less when s participant devices included in the n participant devices have signed. be able to.

以下にこの発明の実施形態を図面を参照して説明するが、同一の機能を有する部分は、各図中に同一参照番号を付けて重複説明を省略する。また、以下の説明では、離散対数問題が難しいと考えられている巡回群をG、Gの生成元をg、R、Gの位数をq、qを法とする剰余類{0,1,2,…,q−1}をZ、gとRとはパブリックパラメータ、HとH’を0と1からなるビット列をGの元に写像するハッシュ関数、H”を0と1からなるビット列をZの元に写像するハッシュ関数、mをメッセージとする。なお、aは{ai∈Nを意味する。
[第1実施形態]
図9は、本発明のシステム構成例を示している。n台(nは2以上の整数)の参加者装置(集合N)に含まれるs台の参加者装置110−i(集合S)が協力して署名を行う。協力して署名を行うとは、1つの参加者装置の恣意では署名を確定することができず、集合Sの各参加者装置110−iから送られる情報の全てを用いて署名を作成する意味である。したがって、これらの情報を取りまとめる装置が必要であり、図9では署名生成部120が行っている。この署名生成部120は、単独の装置でもかまわないし、集合Nのいずれか参加者装置の内部に備えられてもよい。もしくは、全ての参加者装置に備えられ、署名を行うたびに異なる署名生成部が情報の取りまとめや署名作成を行ってもよい。また、署名をした参加者装置がt台以上(集合T)t’台(集合T’)以下であることが確認できる署名方法を提供する。本実施形態では、集合Nの各参加者装置は署名した参加者装置か署名していない参加者装置かを証明することができる。
Embodiments of the present invention will be described below with reference to the drawings, but portions having the same functions are denoted by the same reference numerals in each of the drawings, and redundant description is omitted. Further, in the following explanation, the cyclic group considered to be difficult to be a discrete logarithm is G, the generator of G is g, the order of R, the order of G is q, and the remainder class {0, 1, modulo q 2,..., Q-1} are Z q , g and R are public parameters, H and H ′ are hash functions that map a bit string consisting of 0 and 1 to G, and H ″ is a bit string consisting of 0 and 1 Is a hash function that maps to Z q , and m is a message, where a N means {a i } i∈N .
[First Embodiment]
FIG. 9 shows a system configuration example of the present invention. The s participant devices 110-i (set S) included in the n (n is an integer of 2 or more) participant devices (set N) cooperate to sign. Signing in cooperation means that a signature cannot be determined by the allegedness of one participant device, and a signature is created using all information sent from each participant device 110-i in the set S. It is. Therefore, a device for gathering these pieces of information is necessary, and the signature generation unit 120 performs this in FIG. This signature generation unit 120 may be a single device or may be provided inside any participant device in set N. Alternatively, each of the participant devices may be provided and a different signature generation unit may collect information and create a signature each time a signature is applied. In addition, the present invention provides a signature method capable of confirming that the number of participant devices that have signed is t or more (set T) and t ′ (set T ′) or less. In this embodiment, each participant device in set N can prove whether it is a signed participant device or an unsigned participant device.

図10に参加者装置110−iの機能構成例を示す。参加者装置110−iは、秘密鍵xと公開鍵yとを生成する鍵生成部911−i、使い捨て公開鍵を秘密鍵xから生成する鍵生成部112−i、任意のZの元wを選定するw生成手段1131−i、wからaとbを生成するa・b生成手段1132−i、Zの元zを、秘密鍵xを用いて計算するz生成手段1134−i、集合TとT’とを選定するための集合選定情報を生成する集合選定情報の生成手段1135−i、0と1のビット列であるrを選定するためのr選定情報を生成するr選定情報の生成手段1136−i、集合T’−Sの使い捨て公開鍵を選定するためのσ選定情報を生成するσ選定情報の生成手段1137−i、任意のZの元zとcを選定するためのz・c選定情報を生成するz・c選定情報の生成手段1138−i、任意のZの元cを選定するためのc選定情報を生成するc選定情報の生成手段1139−i、情報を公開または集合Sの他の参加者装置および署名生成部に送信する通信・公開部115−i、情報を記録する記録部114−iから構成される。 FIG. 10 shows a functional configuration example of the participant device 110-i. Participant devices 110-i is the private key x i and a public key y i and generating a key generation unit 911-i, the key generation unit 112-i for generating a disposable public key from the private key x i, any Z q of selecting the original w i w i generation means 1131-i, a i · b i generation means 1132-i to generate a a i and b i from w i, the original z i of Z q, the secret key x i Z i generating means 1134-i to be used for calculation, set selection information generating means 1135-i for generating set selection information for selecting sets T and T ′, and r which is a bit string of 0 and 1 is selected. R selection information generation means 1136-i for generating r selection information for generation, σ selection information generation means 1137-i for generating σ selection information for selecting disposable public keys of the set T′-S, arbitrary z i · c i selection information for selecting the original z i and c i of Z q Generating means 1138-i of the generated z i · c i selection information, publish generating means 1139-i, the information of c i selection information to generate a c i selection information for selecting the original c i of any Z q Alternatively, it includes a communication / disclosure unit 115-i that transmits to other participant devices and the signature generation unit of the set S, and a recording unit 114-i that records information.

図11に署名生成部120の機能構成例を示す。署名生成部120は、集合Sの各参加者装置110−iからの集合選定情報をもとに、T⊆S⊆T’⊆Nを満足する集合Tと集合T’の元となる参加者装置を選定する集合T,T’選定手段1211、集合Sの各参加者装置110−iからのr選定情報をもとに、前記rを選定するr選定手段1212、集合Sの各参加者装置110−iからのσ選定情報をもとに、集合T’−Sの使い捨て公開鍵を選定するσ選定手段1213、集合Sの各参加者装置110−iからのz・c選定情報をもとに、集合N−Sのzとcを選定するz・c選定手段1214、集合Sの各参加者装置110−iからのc選定情報をもとに、集合S−Tのcを選定するc選定手段1215、zとcから集合N−Sのaとbを生成するa・b生成手段1216、集合T’の使い捨て公開鍵から、集合N−T’の使い捨て公開鍵σを計算するσ計算手段1222、Zの元であって、次数(n−t)の多項式β(x)を計算するβ(x)計算手段1223、署名を、r,A,…,At’,β(x),z,…,zを用いて生成する署名出力部124、他の装置と通信を行う通信部123、情報を記録する記録部125から構成される。 FIG. 11 shows a functional configuration example of the signature generation unit 120. Based on the set selection information from each participant device 110-i in the set S, the signature generation unit 120 sets the set T that satisfies T⊆S⊆T'⊆N and the participant device that is the origin of the set T ′. Based on the r selection information from the set T, T ′ selection means 1211 and the participant devices 110-i of the set S, the r selection means 1212 for selecting r and the participant devices 110 of the set S Based on the σ selection information from -i, σ i selection means 1213 for selecting disposable public keys of the set T′-S, and z i · c i selection information from each participant device 110-i of the set S based, on the basis of c i selection information from z i and z i · c i selecting means 1214 for selecting a c i, each participant device 110-i of the set S of the set N-S, the set S- C i selection means 1215 for selecting c i of T, generates a i and b i of set NS from z i and c i a i · b i generating means 1216, σ i calculating means 1222 for calculating the disposable public key σ i of the set NT ′ from the disposable public key of the set T ′, an element of Z q , and the order (n− beta calculating polynomial t) beta a (x) (x) calculation means 1223, a signature, r, a 1, ..., a t ', β (x), z 1, ..., generated using z n It comprises a signature output unit 124, a communication unit 123 that communicates with other devices, and a recording unit 125 that records information.

図12は、署名検証部130の機能構成例を示す。署名検証部130は、署名検証を行いたい任意の装置の内部に備えられる。また、署名検証部130は、n,t,t’、集合Nの各参加者装置の公開鍵y={y,…,y}、メッセージm、署名σ=(r,A,…,At’,β(x),z,…,z)を受信し、検証結果を出力する通信部132、h=H(n,t,t’,y,m,r)、A=H’(n,t,t’,y,m,r)として、rがkビットの0と1のビット列であること、h,A,…,At’が群Gの元であること、z,…,zがZの元であることを確認する群の適正確認手段1311、σ(i=1,…,n)がGの元であることを確認するAの適正確認手段1312とa’={a’,…,a’},b’={b’,…,b’}を求め、β(x)がZの元であり、かつn−t次であること、β(0)=H”(n,t,t’,y,m,r,h,A,…,At’ ,a’,b’)であることを確認するβ(x)の適正
確認手段1313とから構成される。
FIG. 12 shows a functional configuration example of the signature verification unit 130. The signature verification unit 130 is provided inside an arbitrary apparatus that wants to perform signature verification. Also, the signature verification unit 130, n, t, t ', the public key y N = {y 1, ... , y n} of each participant device set N, the message m, the signature σ = (r, A 1, .., A t ′ , β (x), z 1 ,..., Z n ) and output a verification result, h = H (n, t, t ′, y N , m, r) , a 0 = H '(n , t, t', y n, m, r) as it r is 0 and 1 of the bit string of k bits, h, a 0, ..., a t ' is the group G , I, i, (i = 1,..., N) are G elements, and z 1 ,..., Z n are Z q elements. Value for money confirmation unit 1312 and a n confirmation that a i '= {a 1' , ..., a n '}, b n' = {b 1 ', ..., b n'} sought, β (x) is Z q is an original, and it is n-t Next, beta (0) = "(N, t, t ' , y N, m, r, h, A 0, ..., A t', a N ', b N') proper confirmation means of β to make sure that it is a (x) 1313 It consists of.

図13は電子署名システムの処理フローを示している。以下に、処理フローを図13に従って説明する。
集合Nの各参加者装置110−i(i=1,…,n)の鍵生成部911−iは、秘密鍵xと公開鍵yとを生成し、公開鍵yを公開する(S310)。署名に参加する各参加者装置110−i(集合S、i=1,…,s)の集合選定情報の生成手段1135−iは、T⊆S⊆T’⊆Nを満足する集合TとT’とを選定するための集合選定情報を生成し、集合Sの他の参加者装置および署名生成部に前記集合選定情報を送信する(S320)。署名生成部120の集合T,T’選定手段1211で、集合Sの各参加者装置からの前
記集合選定情報をもとに、任意の集合Tと集合T’の元となる参加者装置を選定し、集合Sの参加者装置に送信する(S330)。ここで、「集合選定情報をもとに、任意の集合Tと集合T’の元となる参加者装置を選定する」とは、集合Sの参加者装置110−i(集合S、i=1,…,s)から送られたs個の集合選定情報全てを用いて、任意の集合を選定することを意味している。言い換えると、集合Sの限られた参加者装置110−iの恣意によって集合Tと集合T’が選ばれることはないことを意味している。また、集合選定情報は、固定された数値でなければ、適当な数値でよく、乱数などによって発生させてもよい。以下、「選定情報を用いて選定する。」と言うときは同じ意味である。なお、集合Tの元の数がtであり、集合T’の元の数がt’である。また、集合T’の元をk,…,kt’とする。集合Sの各参加者装置110−i(i=1,…,s)のr選定情報の生成手段1136−iは、kビットの0と1のビット列であるrを選定するためのr選定情報を生成し、集合Sの他の参加者装置110−iおよび署名生成部120に送信する(S340)。署名生成部120のr選定手段1212は、集合Sの各参加者装置110−iからの前記r選定情報をもとに、kビットの0と1のビット列である任意のrを選定し、集合Sの参加者装置110−iに送信する(S350)。集合Sの各参加者装置110−i(i=1,…,s)の鍵生成部112−iで、使い捨て公開鍵σ(i=1,…,s)を、
FIG. 13 shows a processing flow of the electronic signature system. Hereinafter, the processing flow will be described with reference to FIG.
The key generation unit 911-i of each participant device 110-i (i = 1,..., N) of the set N generates a secret key x i and a public key y i and discloses the public key y i ( S310). The set selection information generation means 1135-i of each participant device 110-i (set S, i = 1,..., S) participating in the signature has the sets T and T satisfying T⊆S⊆T′⊆N. The group selection information for selecting 'is generated, and the group selection information is transmitted to the other participant devices and the signature generation unit of the group S (S320). A set T, T ′ selection means 1211 of the signature generation unit 120 selects an arbitrary set T and a participant device that is a source of the set T ′ based on the set selection information from each participant device of the set S. And it transmits to the participant apparatus of the set S (S330). Here, “selecting an arbitrary set T and a participant apparatus that is a base of the set T ′ based on the set selection information” means that the participant apparatus 110-i of the set S (set S, i = 1). ,..., S) means that an arbitrary set is selected using all the s set selection information sent from. In other words, it means that the set T and the set T ′ are not selected by the allegory of the participant apparatus 110-i having the limited set S. Further, the set selection information may be an appropriate numerical value as long as it is not a fixed numerical value, and may be generated by a random number or the like. Hereinafter, the phrase “select using selection information” has the same meaning. Note that the original number of the set T is t, and the original number of the set T ′ is t ′. Further, let the elements of the set T ′ be k 1 ,..., K t ′ . The r selection information generation means 1136-i of each participant device 110-i (i = 1,..., S) of the set S selects r selection information for selecting r that is a bit string of 0 and 1 of k bits. Is transmitted to the other participant devices 110-i and the signature generation unit 120 of the set S (S340). The r selection means 1212 of the signature generation unit 120 selects an arbitrary r that is a bit string of 0 and 1 of k bits based on the r selection information from each participant apparatus 110-i of the set S, and sets It transmits to the participant apparatus 110-i of S (S350). In the key generator 112-i of each participant device 110-i (i = 1,..., S) of the set S, the disposable public key σ i (i = 1,.

Figure 0004790422
により生成し、集合Sの他の参加者装置110−iおよび署名生成部120に送信する(S360)。集合Sの各参加者装置110−i(i=1,…,s)のσ選定情報の生成手段1137−iで、集合T’−Sの使い捨て公開鍵σ(i∈T’−S)を選定するためのσ選定情報を生成し、集合Sの他の参加者装置110−iおよび署名生成部120に送信する(S370)。署名生成部120のσ選定手段1213で、集合Sの各参加者装置110−iからの前記σ選定情報をもとに、任意の集合T’−Sの使い捨て公開鍵σ(i∈T’−S)を選定し、集合Sの参加者装置110−iに送信する(S380)。署名生成部120のσ計算手段1222で、集合T’の使い捨て公開鍵σ(i∈T’、i=k,…,kt’)から、
Figure 0004790422
And transmitted to the other participant devices 110-i and the signature generation unit 120 in the set S (S360). The disposable public key σ i (i∈T′-S) of the set T′-S is generated by the generation means 1137-i of the σ selection information of each participant device 110-i (i = 1,..., S) of the set S. Is selected and transmitted to the other participant devices 110-i of the set S and the signature generation unit 120 (S370). Based on the σ selection information from each participant device 110-i in the set S, the σ i selection unit 1213 of the signature generation unit 120 uses the disposable public key σ i (i∈T) of any set T′-S. '-S) is selected and transmitted to the participant device 110-i in the set S (S380). From the σ i calculation means 1222 of the signature generation unit 120, from the disposable public key σ i (i∈T ′, i = k 1 ,..., K t ′ ) of the set T ′,

Figure 0004790422
として、A(i=0,…,t')を
=H’(n,t,t’,y,m,r)
Figure 0004790422
A i (i = 0,..., T ′) A 0 = H ′ (n, t, t ′, y N , m, r)

Figure 0004790422
と定め、
Figure 0004790422
And

Figure 0004790422
として集合N−T’の使い捨て公開鍵σ(i∈N−T’)を計算し、集合Sの参加者装置110−iに送信する(S390)。ステップS390の処理内容について説明する。
=hα(0)
ただし、A=H’(n,t,t’,y,m,r)
と、
σ=hα(i)
ただし、i=k,…,kt’
が成り立つ次数t’の多項式α(x)を求める。そして、α(x)から、集合N−T’の使い捨て公開鍵σ(i∈N−T’)を、
σ=hα(i)
により求める。このように使い捨て公開鍵σ(i∈N)求めることによって、集合Nの全ての参加者装置110−iの使い捨て公開鍵σが、σ=hα(i)を満たす。ところが、α(x)の次数がt’であることから、署名に参加した参加者装置110−iはt’以下であることは分かる。しかし、全てのi(i=1,…,n)に対してσ=hα(i)が成り立つので、どの参加者装置110−iが署名に参加したのかは分からない。ただし、実際にはAはH’で生成されているから、離散対数α(0)が分からない。したがって、α(x)を直接求めることはできない。そこで、ステップS390では、Aを用いて計算している。
Figure 0004790422
The disposable public key σ i (iεN−T ′) of the set NT ′ is calculated and transmitted to the participant device 110-i of the set S (S390). The processing content of step S390 will be described.
A 0 = h α (0)
However, A 0 = H ′ (n, t, t ′, y N , m, r)
When,
σ i = h α (i)
However, i = k 1 ,..., K t ′
A polynomial α (x) of the order t ′ that holds is obtained. Then, from α (x), the disposable public key σ i (i∈NT ′) of the set NT ′ is obtained.
σ i = h α (i)
Ask for. By obtaining such disposable public key σ i (i∈N), disposable public key sigma i of all participant devices 110-i of the set N satisfies the σ i = h α (i) . However, since the degree of α (x) is t ′, it can be understood that the participant device 110-i participating in the signature is equal to or less than t ′. However, since σ i = h α (i) holds for all i (i = 1,..., N), it is not known which participant device 110-i participated in the signature. However, since A 0 is actually generated by H ′, the discrete logarithm α (0) is not known. Therefore, α (x) cannot be obtained directly. Therefore, in step S390, calculation is performed using A i .

以下のステップでは、「秘密鍵xを知っていて、log=x=logσが成り立つiがt以上である。」ことを証明する。まず、集合Sの各参加者装置110−iのw生成手段1131−iで、任意のZの元wを選定する(S400)。集合Sの各参加者装置110−iのa・b生成手段1132−iで、 In the following step, "I know the secret key x i, log g y i = x i = log h σ i is true i is equal to or greater than t." To prove that. First, in w i generation means 1131-i of the respective participant devices 110-i of the set S, selects the original w i for any Z q (S400). In the a i · b i generation means 1132-i of each participant device 110-i of the set S

Figure 0004790422
によってaとbとを生成し、集合Sの他の参加者装置110−iおよび署名生成部120に送信する(S410)。集合Sの各参加者装置110−iのz・c選定情報の生成手段1138−iで、任意のZの元zと元cを選定するためのz・c選定情報を生成し、集合Sの他の参加者装置110−iおよび署名生成部120に送信する(S420)。署名生成部120のz・c選定手段1214で、前記z・c選定情報をもとに、集合N−Sのzとc(i∈N−S)を選定し、a・b生成手段1216で、
Figure 0004790422
To generate a i and b i and transmit them to the other participant devices 110-i and the signature generation unit 120 of the set S (S410). Generating means 1138-i, z i · c i selection information for selecting the original z i and the original c i of any Z q of z i · c i selection information for each participant device 110-i of the set S Is transmitted to the other participant devices 110-i and the signature generation unit 120 of the set S (S420). The z i · c i selection means 1214 of the signature generation unit 120 selects z i and c i (iεN−S) of the set NS based on the z i · c i selection information, and a i · b i generation means 1216

Figure 0004790422
により集合N−Sのaとb(i∈N−S)とを生成し、生成したaとbとを集合Sの参加者装置110−iに送信する(S430)。集合Sの各参加者装置110−iのc選定情報の生成手段1139−iで、任意のZの元cを選定するためのc選定
情報を生成し、集合Sの他の参加者装置110−iおよび署名生成部120に送信する(S440)。署名生成部120のc選定手段1215は、集合Sの各参加者装置の前記c選定情報生成ステップで生成されたc選定情報をもとに、集合S−Tのc(i∈S−T)を選定し、集合Sの参加者装置110−iに送信する(S450)。署名生成部120のβ(x)計算手段1223は、
β(0)=H”(n,t,t’,y,m,r,h,A,…,At’,a,b
β(i)=c
ただし、i∈N−T
を満足するZの元であって、次数(n−t)の多項式β(x)を求め、集合Sの参加者装置110−iに送信する(S460)。集合Sの各参加者装置110−iのz生成手段1134−iは、
=w−β(i)x
によってZの元zを計算し、集合Sの他の参加者装置110−iおよび署名生成部120に送信する(S470)。署名生成部120の署名出力部124で、署名を、r,A,…,At’,β(x),z,…,zを用いて生成する(S480)。なお、説明が冗長となるため説明上は省略しているが、各ステップで生成、計算、受信された情報は、処理のたびに記録部114−iまたは125に記録され、利用される情報は記録部114−iまたは125から読み出される。このような処理によって、α(x)がt’次であること、β(x)が(n−t)次であることから、t台以上t’台以下の参加者装置が署名に参加したことを確認できる署名を生成できる。
Figure 0004790422
To generate a i and b i (iεN−S) of the set NS, and transmit the generated a i and b i to the participant device 110-i of the set S (S430). In generating means 1139-i of c i selection information for each participant device 110-i of the set S, and generates a c i selection information for selecting the original c i of any Z q, other participants of the set S To the user device 110-i and the signature generation unit 120 (S440). C i selecting means 1215 of the signature generation unit 120, based on the c i c i selection information generated by the selection information generating step of the respective participant devices of the set S, c i of the set S-T (i ∈ ST) is selected and transmitted to the participant device 110-i in the set S (S450). The β (x) calculation means 1223 of the signature generation unit 120 is
β (0) = H ″ (n, t, t ′, y N , m, r, h, A 0 ,..., A t ′ , a N , b N )
β (i) = c i
However, i∈N−T
A Z q of the original that satisfies the polynomial β seek (x) of degree (n-t), and transmits the participant device 110-i of the set S (S460). The z i generating means 1134-i of each participant device 110-i of the set S is
z i = w i −β (i) x i
To calculate the element z i of Z q and transmit it to the other participant devices 110-i of the set S and the signature generation unit 120 (S470). The signature output unit 124 of the signature generation unit 120 generates a signature using r, A 1 ,..., A t ′ , β (x), z 1 ,..., Z n (S480). Although the explanation is redundant, it is omitted in the explanation, but the information generated, calculated, and received at each step is recorded in the recording unit 114-i or 125 every time processing is performed, and the information to be used is Read from the recording unit 114-i or 125. By such processing, since α (x) is t′-order and β (x) is (nt) order, participant devices from t to t ′ participants participated in the signature. You can generate a signature that can be confirmed.

次に署名検証部130での処理フローを説明する。署名検証部130の通信部132で、通信部132で、n,t,t’、集合Nの各参加者装置の公開鍵y={y,…,y}、メッセージm、署名σ=(r,A,…,At’,β(x),z,…,z)を受信し、群の適正確認部1311で、
h=H(n,t,t’,y,m,r)
=H’(n,t,t’,y,m,r)
を計算し、rがkビットの0と1のビット列であること、h,A,…,At’が群Gの元であること、z,…,zがZの元であることを確認する(S490)。Aの適正確認部1312は、
Next, a processing flow in the signature verification unit 130 will be described. In the communication unit 132 of the signature verification unit 130, in the communication unit 132, n, t, t ′, the public key y N = {y 1 ,..., Y n } of each participant device in the set N, the message m, the signature σ = (R, A 1 ,..., A t ′ , β (x), z 1 ,..., Z n )
h = H (n, t, t ′, y N , m, r)
A 0 = H ′ (n, t, t ′, y N , m, r)
, R is a bit string of 0 and 1 of k bits, h, A 0 ,..., At are elements of group G, z 1 ,..., Z n are elements of Z q It is confirmed that there is (S490). Proper confirmation section 1312 of A i is,

Figure 0004790422
で求められるσ(i=1,…,n)がGの元であることを確認する(S500)。このステップで、Aがi=0,…,t’の(t’+1)個しかないことから、署名に参加した参加者装置110−iがt’台以下であることも確認される。次に、β(x)の適正確認部1313は、
Figure 0004790422
It is confirmed that σ i (i = 1,..., N) obtained in (1) is an element of G (S500). At this step, since there are only (t ′ + 1) A i with i = 0,..., T ′, it is also confirmed that the number of participant devices 110-i participating in the signature is t ′ or less. Next, the appropriateness confirmation unit 1313 for β (x)

Figure 0004790422
としてa’={a’,…,a’},b’={b’,…,b’}を求め、β(x)の係数がZの元であること、β(x)がn−t次であること、およびβ(0)=H”(n,t,t’,y,m,r,h,A,…,At’ ,a’,b’)であるこ
とを確認する(S510)。このステップで、β(x)が(n−t)次であることから、
署名に参加した参加者装置110−iがt台以上であることが確認される。通信部132は、ステップS490からS510の確認結果がすべてOKであれば、署名が正しいことを出力し、そうでないときは署名は正しくないことを出力する(S520)。
Figure 0004790422
A N ′ = {a 1 ′,..., A n ′}, b N ′ = {b 1 ′,..., B n ′}, and the coefficient of β (x) is an element of Z q β (x) is nt order, and β (0) = H ″ (n, t, t ′, y N , m, r, h, A 0 ,..., A t ′ , a N ′ , B N ′) (S510) Since β (x) is (n−t) th order at this step,
It is confirmed that there are t or more participant devices 110-i participating in the signature. The communication unit 132 outputs that the signature is correct if all the confirmation results in steps S490 to S510 are OK, and otherwise outputs that the signature is not correct (S520).

また、集合Sの各参加者装置110−i(i∈S)は、
log(y)=log(σ
を、例えば、参考文献([Cha90] David Chaum, Zero-Knowledge Undeniable Signatures,
EUROCRYPT 1990, pp.458-464, 1990.)の方法で証明することで、署名に参加したことを証明できる。集合N−Sの各参加者装置110−i(i∈N−S)は、
log(y)≠log(σ
を、同じ方法で証明することで、署名に参加しなかったことを証明できる(S530)。
In addition, each participant device 110-i (iεS) of the set S is
log g (y i ) = log hi )
For example, reference ([Cha90] David Chaum, Zero-Knowledge Undeniable Signatures,
You can prove that you participated in the signature by proof by the method of EUROCRYPT 1990, pp.458-464, 1990. Each participant device 110-i (iεN-S) of the set NS is
log g (y i ) ≠ log hi )
Can be proved not to participate in the signature (S530).

このような処理によって、n台(nは2以上の整数)の参加者装置に含まれるs台の参加者装置が署名を行った場合に、署名をした参加者装置がt台以上t’台以下であることが確認できる電子署名を生成できる。
[第2実施形態]
図14は、本発明のシステム構成例を示している。n台(nは2以上の整数)の参加者装置(集合N)に含まれるs台の参加者装置110−i(集合S)が協力して署名を行う。また、署名から、署名をした参加者装置がt台以上(集合T)t’台(集合T’)以下であることが確認できる署名方法を提供する。第1実施形態との違いは、本実施形態では、集合Nの各参加者装置は、署名した参加者装置か署名していない参加者装置かを証明することができない点である。
By such processing, when s participant devices included in n participant devices (n is an integer of 2 or more) have signed, there are t or more participant devices that have signed the signature. An electronic signature that can be confirmed as follows can be generated.
[Second Embodiment]
FIG. 14 shows a system configuration example of the present invention. The s participant devices 110-i (set S) included in the n (n is an integer of 2 or more) participant devices (set N) cooperate to sign. In addition, a signature method is provided by which it can be confirmed from the signature that there are t or more (set T) t ′ (set T ′) or less participant devices that have signed. The difference from the first embodiment is that in this embodiment, each participant device of the set N cannot prove whether it is a signed participant device or an unsigned participant device.

図15に参加者装置210−iの機能構成例を示す。参加者装置210−iは、秘密鍵xと公開鍵yとを生成する鍵生成部911−i、h生成手段2121−iとx
生成手段2122−iと使い捨て公開鍵σ生成手段2123−iを有し、使い捨て公開鍵を秘密鍵xとx’から生成する鍵生成部212−i、任意のZの元wとw’を選定するw・w’生成手段2131−i、wとw’からaとbを生成するa・b生成手段2133−i、Zの元zとz’を、秘密鍵xとx’を用いて計算するz・z’生成手段2135−i、集合TとT’とを選定するための集合選定情報を生成する集合選定情報の生成手段1135−i、集合T’−Sの使い捨て公開鍵を選定するためのσ選定情報を生成するσ選定情報の生成手段1137−i、任意のZの元zとz’とcを選定するためのz・z’・c選定情報を生成するz・z’・c選定情報の生成手段2137−i、任意のZの元cを選定するためのc選定情報を生成するc選定情報の生成手段1139−i、情報を公開または集合Sの他の参加者装置および署名生成部に送信する通信・公開部215−i、情報を記録する記録部214−iから構成される。
FIG. 15 shows a functional configuration example of the participant device 210-i. The participant apparatus 210-i includes a key generation unit 911-i that generates a secret key x i and a public key y i, and an h generation unit 2121-i and x i ′.
A key generation unit 212-i that has a generation unit 2122-i and a disposable public key σ i generation unit 2123-i, and generates a disposable public key from the secret keys x i and x i ′; an element w i of any Z q And w i 'are selected w i · w i ' generating means 2131-i, a i and b i generating means 2133-i that generate a i and b i from w i and w i ', z q element z 'the secret key x i and x i' i and z i to produce a set selection information for selecting z i · z i 'generating unit 2135-i, the set T and T' calculated using the set Selection information generation means 1135-i, σ i selection information generation means 1137-i for generating σ i selection information for selecting a disposable public key of the set T′-S, an arbitrary z q element z i and generating a · c i selection information 'z i · z i for selecting the c i' z i z i · z i '· c i Generating means 2137-i of the selection information, other participants of any Z q of the original c generator 1139-i of c i selection information to generate a c i selection information for i to select a public information or set S A communication / publication unit 215-i that transmits to the user device and the signature generation unit, and a recording unit 214-i that records information.

図16に署名生成部220の機能構成例を示す。署名生成部220は、集合Sの各参加者装置210−iからの集合選定情報をもとに、T⊆S⊆T’⊆Nを満足する集合Tと集合T’の元となる参加者装置を選定する集合T,T’選定手段1211、集合Sの各参加者装置210−iからのσ選定情報をもとに、集合T’−Sの使い捨て公開鍵を選定するσ選定手段1213、集合Sの各参加者装置からのz・z’・c選定情報をもとに、集合N−Sのzとz’とcを選定するz・z’・c選定手段2211、集合Sの各参加者装置210−iからのc選定情報をもとに、集合S−Tのcを選定するc選定手段2213、zとz’とcから集合N−Sのaとbを生成するa・b生成手段2216、集合T’の使い捨て公開鍵から、集合N−T’の使い捨て公開鍵σを計算するσ計算手段2222、Zの元であって、次数(n−t)の多項式β(x)を計算するβ(x)計算手段2223、署名を、A,…,At’,β(x),z,…,z,z’,…,z’を用いて生成する署名出力部224、他の装置と
通信を行う通信部223、情報を記録する記録部225から構成される。
FIG. 16 shows a functional configuration example of the signature generation unit 220. Based on the set selection information from each participant device 210-i in the set S, the signature generation unit 220 sets the set T that satisfies T⊆S⊆T'⊆N and the participant device that is the origin of the set T ′. A set T, T ′ selection means 1211 for selecting a σ i selection means 1213 for selecting a disposable public key of the set T′-S based on the σ selection information from each participant apparatus 210-i of the set S, 'based on · c i selection information, z i and z i of the set N-S' z i · z i from each participant device set S z i · z i '· c to select a c i i selecting means 2211, the c i selection information from each participant devices 210-i of the set S based, c i selecting means 2213 for selecting a c i of the set S-T, z i and z i 'and c a i · b i generation means 2216 for generating a a i and b i of the set N-S from i, the set T 'from disposable public key, set N-T' A disposable public key sigma sigma i calculating unit 2222 i calculating a, Z q of original order (n-t) of the polynomial beta (x) to calculate the beta (x) calculation means 2223, a signature, A 1 , ..., a t ', β (x), z 1, ..., z n, z 1', ..., the signature output unit 224 generated using z n ', the communication unit 223 for communicating with other devices, It comprises a recording unit 225 that records information.

図17は、署名検証部230の機能構成例を示す。署名検証部230は、署名検証を行いたい任意の装置の内部に備えられる。また、署名検証部230は、n,t,t’、集合Nの各参加者装置の公開鍵y={y,…,y}、メッセージm、署名σ=(r,A,…,At’,β(x),z,…,z,z’,…,z’)を受信し、検証結果を出力する通信部232、h=H(n,t,t’,y,m)、A=H’(n,t,t’,y,m)として、h,A,…,At’が群Gの元であること、z,…,z,z’,…,z’がZの元であることを確認する群の適正確認手段2311、σ(i=1,…,n)がGの元であることを確認するAの適正確認手段2312とa’={a’,…,a’},b’={b’,…,b’}を求め、β(x)がZの元であり、かつn−t次であること、β(0)=H”(n,t,t’,y,m,h,A,…,At’ ,a’,b’)であることを確認するβ(x)の適正確認手段231
3とから構成される。
FIG. 17 shows a functional configuration example of the signature verification unit 230. The signature verification unit 230 is provided inside an arbitrary apparatus that wishes to perform signature verification. The signature verification unit 230 also includes n, t, t ′, the public key y N = {y 1 ,..., Y n } of each participant device in the set N, the message m, the signature σ = (r, A 1 , .., A t ′ , β (x), z 1 ,..., Z n , z 1 ′,..., Z n ′) are received, and a communication unit 232 that outputs a verification result, h = H (n, t, t ′, y N , m), A 0 = H ′ (n, t, t ′, y N , m), h, A 0 ,..., A t ′ are elements of the group G, z 1 ,..., Z n , z 1 ′,..., Z n ′ are group q validity checking means 2311 and σ i (i = 1,..., N) are G elements. proper check means 2312 and a n of a i to ensure that '= {a 1', ... , a n '}, b n' = {b 1 ', ..., b n'} sought, β (x) it There is the original Z q, and a n-t Next, β (0) = H " (n, , T ', y N, m , h, A 0, ..., A t', a N ', b N') to verify that the beta (x) proper check means 231
3.

図18に第2実施形態での電子署名システムの処理フローを示す。以下に、処理フローを図18に従って説明する。
ステップS310からS330までは、第1実施形態と同じ処理である。次に、集合Sの各参加者装置210−i(i=1,…,s)のx’生成手段2122−iで、任意のZの元x’を選定する(S610)。集合Sの各参加者装置210−iの鍵生成部212−iで、使い捨て公開鍵σ(i=1,…,s)を、
FIG. 18 shows a processing flow of the electronic signature system in the second embodiment. Hereinafter, the processing flow will be described with reference to FIG.
Steps S310 to S330 are the same processing as in the first embodiment. Then each participant devices 210-i of the set S (i = 1, ..., s) ' in the generation unit 2122-i, based on x i of any Z q' x i of selecting (S610). In the key generation unit 212-i of each participant device 210-i of the set S, the disposable public key σ i (i = 1,..., S) is

Figure 0004790422
により生成し、集合Sの他の参加者装置210−iおよび署名生成部220に送信する(S620)。ステップS370とステップS380は、第1実施形態と同じである。次に、署名生成部220のσ計算手段2222は、集合T’の使い捨て公開鍵σ(i∈T’、i=k,…,kt’)から、
Figure 0004790422
And transmitted to the other participant devices 210-i and the signature generation unit 220 in the set S (S620). Step S370 and step S380 are the same as in the first embodiment. Next, the σ i calculating means 2222 of the signature generation unit 220 uses the disposable public key σ i (i∈T ′, i = k 1 ,..., K t ′ ) of the set T ′.

Figure 0004790422
として、A(i=0,…,t')を
=H’(n,t,t’,y,m)
Figure 0004790422
A i (i = 0,..., T ′) as A 0 = H ′ (n, t, t ′, y N , m)

Figure 0004790422
と定め、
Figure 0004790422
And

Figure 0004790422
として集合N−T’の使い捨て公開鍵σ(i∈N−T’)を計算し、集合Sの参加者装置210−iに送信する(S630)。ステップS630の処理内容について説明する。
=hα(0)α’(0)
ただし、A=H’(n,t,t’,y,m)
と、
σ=hα(i)α’(i)
ただし、i=k,…,kt’
が成り立つ次数t’の多項式α(x)とα’(x)を求める。そして、α(x)とα’(x)から、集合N−T’の使い捨て公開鍵σ(i∈N−T’)を、
σ=hα(i)α’(i)
により求める。このように使い捨て公開鍵σ(i∈N)求めることによって、集合Nの全ての参加者装置210−iの使い捨て公開鍵σが、σ=hα(i)α’(i)を満たす。ところが、α(x)とα’(x)の次数がt’であることから、署名に参加した参加者装置210−iはt’以下であることは分かる。しかし、全てのi(i=1,…,n)に対してσ=hα(i)α’(i)が成り立つので、どの参加者装置210−iが署名に参加したのかは分からない。ただし、実際にはAはH’で生成されているから、離散対数α(0)、α’(0)が分からない。したがって、α(x)とα’(x)を直接求めることはできない。そこで、ステップS390では、Aを用いて計算している。
Figure 0004790422
The disposable public key σ i (iεN−T ′) of the set NT ′ is calculated and transmitted to the participant device 210-i of the set S (S630). The processing content of step S630 will be described.
A 0 = h α (0) R α ′ (0)
However, A 0 = H ′ (n, t, t ′, y N , m)
When,
σ i = h α (i) R α ′ (i)
However, i = k 1 ,..., K t ′
The polynomials α (x) and α ′ (x) of the order t ′ that holds is obtained. Then, from α (x) and α ′ (x), the disposable public key σ i (i∈NT ′) of the set NT ′ is obtained.
σ i = h α (i) R α ′ (i)
Ask for. By obtaining such disposable public key σ i (i∈N), disposable public key sigma i of all participant devices 210-i of the set N is, σ i = h α (i ) R α '(i) Meet. However, since the orders of α (x) and α ′ (x) are t ′, it is understood that the participant device 210-i that participates in the signature is equal to or less than t ′. However, since σ i = h α (i) R α ′ (i) holds for all i (i = 1,..., N), it is not known which participant device 210-i participated in the signature. Absent. However, since A 0 is actually generated by H ′, the discrete logarithms α (0) and α ′ (0) are not known. Therefore, α (x) and α ′ (x) cannot be obtained directly. Therefore, in step S390, calculation is performed using A i .

次に、集合Sの各参加者装置210−iのw・w’生成手段2131−iで、任意のZの元wとw’を選定する(S640)。集合Sの各参加者装置210−iのa・b生成手段2133−iで、 Next, 'the generated unit 2131-i, based on w i and w i for any Z q' w i · w i for each participant device 210-i of the set S is selected (S640). In the a i · b i generation means 2133-i of each participant device 210-i of the set S,

Figure 0004790422
によってaとbとを生成し、集合Sの他の参加者装置210−iおよび署名生成部220に送信する(S650)。集合Sの各参加者装置210−iのz・z’・c選定情報の生成手段2137−iで、任意のZの元zとz’とcを選定するためのz・z’・c選定情報を生成し、集合Sの他の参加者装置210−iおよび署名生成部220に送信する(S660)。署名生成部220のz・z’・c選定手段2211で、前記z・z’・c選定情報をもとに、集合N−Sのz、z’、c(i∈N−S)を選定し、a・b生成手段2216で、
Figure 0004790422
To generate a i and b i and transmit them to the other participant devices 210-i and the signature generation unit 220 of the set S (S650). 'In generating means 2137-i of · c i selection information, based on z i and z i of any Z q' z i · z i for each participant device 210-i of the set S for selecting and c i z i · z i '· c i selection information is generated and transmitted to the other participant devices 210-i and the signature generation unit 220 of the set S (S660). The z i · z i ′ · c i selection means 2211 of the signature generation unit 220 uses the z i · z i ′ · c i selection information to set z i , z i ′, c i of the set NS. (I∈N−S) is selected, and the a i · b i generating means 2216

Figure 0004790422
により集合N−Sのaとb(i∈N−S)とを生成し、生成されたaとbとを集合Sの参加者装置210−iに送信する(S670)。次のステップS440とS450とは第1実施形態と同じである。次に、署名生成部220のβ(x)計算手段2223は、
β(0)=H”(n,t,t’,y,m,h,A,…,At’,a,b
β(i)=c
ただし、i∈N−T
を満足するZの元であって、次数(n−t)の多項式β(x)を求め、集合Sの参加者装置210−iに送信する(S680)。集合Sの各参加者装置210−iのz・z’生成手段2135−iは、
=w−β(i)x
’=w’−β(i)x
によってZの元zとz’を計算し、集合Sの他の参加者装置210−iおよび署名生成部220に送信する(S690)。署名生成部220の署名出力部224で、署名を、A,…,At’,β(x),z,…,z,z’,…,z’を用いて生成する(S700)。なお、説明が冗長となるため説明上は省略しているが、各ステップで生成、計算、受信された情報は、処理のたびに記録部214−iまたは225に記録され、利用される情報は記録部214−iまたは225から読み出される。このような処理によって、α(x)とα’(x)がt’次であること、β(x)が(n−t)次であることから、t台以上t’台以下の参加者装置が署名に参加したことを確認できる署名を生成できる。
Figure 0004790422
To generate a i and b i (iεN−S) of the set NS, and transmit the generated a i and b i to the participant device 210-i of the set S (S670). The next steps S440 and S450 are the same as in the first embodiment. Next, the β (x) calculation unit 2223 of the signature generation unit 220
β (0) = H ″ (n, t, t ′, y N , m, h, A 0 ,..., A t ′ , a N , b N )
β (i) = c i
However, i∈N−T
A Z q of the original that satisfies the polynomial β seek (x) of degree (n-t), and transmits the participant device 210-i of the set S (S680). The z i · z i 'generating means 2135-i of each participant device 210-i of the set S is:
z i = w i −β (i) x i
z i ′ = w i ′ −β (i) x i
To calculate the elements z i and z i ′ of Z q and transmit them to the other participant devices 210-i and the signature generation unit 220 of the set S (S690). The signature output unit 224 of the signature generation unit 220, signature, A 1, ..., A t ', β (x), z 1, ..., z n, z 1', ..., is generated using the z n ' (S700). Although the description is omitted because it is redundant, the information generated, calculated, and received in each step is recorded in the recording unit 214-i or 225 every time processing is performed, and the information to be used is It is read from the recording unit 214-i or 225. By such processing, α (x) and α ′ (x) are t′-th order, and β (x) is (nt) order. A signature can be generated that confirms that the device has joined the signature.

次に署名検証部230での処理フローを説明する。署名検証部130の通信部232で、n,t,t’、集合Nの各参加者装置の公開鍵y={y,…,y}、メッセージm、署名σ=(A,…,At’,β(x),z,…,z,z’,…,z’)を受信し、群の適正確認部2311で、
h=H(n,t,t’,y,m)
=H’(n,t,t’,y,m)
を計算し、h,A,…,At’が群Gの元であること、z,…,z,z’,…,z’がZの元であることを確認する(S710)。Aの適正確認部2312は、
Next, a processing flow in the signature verification unit 230 will be described. In the communication unit 232 of the signature verification unit 130, n, t, t ' , the public key y N = {y 1, ... , y n} of each participant device set N, the message m, the signature σ = (A 1, ..., a t ', β ( x), z 1, ..., z n, z 1', ..., receives the z n '), a proper check unit 2311 of the group,
h = H (n, t, t ′, y N , m)
A 0 = H ′ (n, t, t ′, y N , m)
, And confirm that h, A 0 ,..., At are elements of the group G, and that z 1 ,..., Z n , z 1 ′, ..., z n ′ are elements of Z q (S710). Proper confirmation section 2312 of A i is,

Figure 0004790422
で求められるσ(i=1,…,n)がGの元であることを確認する(S720)。このステップで、Aがi=0,…,t’の(t’+1)個しかないことから、署名に参加した参加者装置210−iがt’台以下であることも確認される。次に、β(x)の適正確認部2313は、
Figure 0004790422
It is confirmed that σ i (i = 1,..., N) obtained in (1) is an element of G (S720). At this step, since there are only (t ′ + 1) A i with i = 0,..., T ′, it is also confirmed that the number of participant devices 210-i participating in the signature is t ′ or less. Next, the appropriateness confirmation unit 2313 for β (x)

Figure 0004790422
としてa’={a’,…,a’},b’={b’,…,b’}を求め、β(x)の係数がZの元であること、β(x)がn−t次であること、およびβ(0)=H”(n,t,t’,y,m,h,A,…,At’ ,a’,b’)であることを
確認する(S730)。このステップで、β(x)が(n−t)次であることから、署名に参加した参加者装置210−iがt台以上であることが確認される。通信部132は、ステップS710からS730の確認結果がすべてOKであれば、署名が正しいことを出力し、そうでないときは署名は正しくないことを出力する(S740)。
Figure 0004790422
A N '= {a 1' , ..., a n '} as, b N' = {b 1 ', ..., b n'} sought, the coefficient of beta (x) is the original Z q, β (x) is nt order, and β (0) = H ″ (n, t, t ′, y N , m, h, A 0 ,..., A t ′ , a N ′, b N ′) is confirmed (S730) Since β (x) is (n−t) th order in this step, there are t or more participant devices 210-i participating in the signature. If all the confirmation results in steps S710 to S730 are OK, the communication unit 132 outputs that the signature is correct, and otherwise outputs that the signature is incorrect (S740).

第1実施形態では、集合Sの各参加者装置110−i(i∈S)は、
log(y)=log(σ
を、例えば、参考文献([Cha90] David Chaum, Zero-Knowledge Undeniable Signatures,
EUROCRYPT 1990, pp.458-464, 1990.)の方法で証明することで、署名に参加したことを証明できた。また、集合N−Sの各参加者装置110−i(i∈N−S)は、
log(y)≠log(σ
を、同じ方法で証明することで、署名に参加しなかったことを証明できた。しかし、第2実施形態では、集合Nの全ての参加者装置210−i(i∈N)に対して
In the first embodiment, each participant device 110-i (iεS) of the set S is
log g (y i ) = log hi )
For example, reference ([Cha90] David Chaum, Zero-Knowledge Undeniable Signatures,
I proved that I participated in the signature by proof by the method of EUROCRYPT 1990, pp.458-464, 1990.). In addition, each participant device 110-i (iεN−S) of the set NS is
log g (y i ) ≠ log hi )
By proving in the same way, I was able to prove that I did not participate in the signature. However, in the second embodiment, for all the participant devices 210-i (iεN) of the set N,

Figure 0004790422
が成り立つx’が存在するので、その式を証明できることが署名に参加したことを示していない。したがって、参加者装置210−i(i=1,…,n)は、署名に参加したか否かを証明することができない。
このような処理によって、n台(nは2以上の整数)の参加者装置に含まれるs台の参加者装置が署名を行った場合に、署名をした参加者装置がt台以上t’台以下であることが確認できる電子署名を生成できる。
Figure 0004790422
Since there exists x i 'that holds, the fact that the expression can be proved does not indicate that it participated in the signature. Therefore, the participant device 210-i (i = 1,..., N) cannot prove whether or not it has participated in the signature.
By such processing, when s participant devices included in n participant devices (n is an integer of 2 or more) have signed, there are t or more participant devices that have signed the signature. An electronic signature that can be confirmed as follows can be generated.

なお、本発明は、コンピュータ本体とコンピュータプログラムとして実行することが可能であるし、デジタルシグナルプロセッサや専用LSIに実装して実現することも可能であ
る。
The present invention can be executed as a computer main body and a computer program, or can be realized by being mounted on a digital signal processor or a dedicated LSI.

以下では、上記の参加者装置が1台に限定された場合についての説明を行う。この場合、署名鍵の重複使用を防止できる。なぜなら、上記においてt=t’=1の場合に相当し、署名鍵の重複使用者(重複署名者とも云う。)を追跡できるからである。
そこで、この重複使用者追跡可能署名方式について、説明の便宜から上記第1実施形態を基礎として説明を行うことにする。
なお、このような重複使用者追跡可能署名方式が要請されるのは、署名鍵を持っている署名者は何回でも匿名で署名できてしまい、例えば、電子投票(参考文献: Atsushi Fujioka, Tatsuaki Okamoto, Kazuo ohta, "A Practical Secret Voting Scheme for Large Scale Elections", ASIACRYPT, pp.244-251, 1992.)、電子現金(参考文献: Stefan Brands, "Untraceable Off-line Cash in Wallets with Observers (Extended Abstract)", CRYPTO, pp.302-318, 1993.)に応用した場合、重複投票、電子現金の重複使用が可能となってしまうからである。
また、この重複使用者追跡可能署名方式は、同一署名者が同一メッセージに署名を添付して複数回発行した署名付きメッセージも検出可能なものであるから、この点についても併せて説明する。なお、以下の説明では、このことを「コピー署名の検出」、「署名のコピーの検出」などとも云うことにする。
Below, the case where said participant apparatus is limited to one is demonstrated. In this case, duplicate use of the signature key can be prevented. This is because it corresponds to the case of t = t ′ = 1 in the above, and it is possible to trace a duplicate user of a signature key (also called a duplicate signer).
Therefore, this duplicate user traceable signature scheme will be described based on the first embodiment for convenience of description.
In addition, this kind of duplicate user traceable signature method is required because the signer who has the signature key can sign anonymously any number of times, for example, electronic voting (reference: Atsushi Fujioka, Tatsuaki Okamoto, Kazuo ohta, "A Practical Secret Voting Scheme for Large Scale Elections", ASIACRYPT, pp.244-251, 1992., electronic cash (reference: Stefan Brands, "Untraceable Off-line Cash in Wallets with Observers (Extended Abstract) ", CRYPTO, pp.302-318, 1993.), it is possible to duplicate voting and duplicate use of electronic cash.
In addition, since this duplicate user traceable signature method can detect a signed message issued by the same signer a plurality of times with a signature attached to the same message, this point will also be described. In the following description, this will also be referred to as “copy signature detection”, “signature copy detection”, and the like.

重複使用者追跡可能署名方式の説明を行うにあたり、改めて定義を示しておく。Gを離散対数問題の難しい素数位数qの巡回群とし、gをその生成元とする。巡回群Gの例としては、例えば乗法群Z 〔q=p−1〕、楕円曲線上の点で定義される群などが上げられる。 In describing the duplicate user traceable signature scheme, the definition is shown again. Let G be a cyclic group of prime order q, which is difficult to solve 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.

また、H、H’、H”を、H:{0,1}→G、H’:{0,1}→G、H”:{0,1}→Zなる性質を有するハッシュ関数とする。ここで{0,1}は、任意のビット長のバイナリ系列を表し、Zは、加法群を表す。 Further, H, H ′, and H ″ have the properties H: {0, 1} * → G, H ′: {0, 1} * → G, H ″: {0, 1} * → Z q. This is a hash function. Here, {0, 1} * represents a binary sequence having an arbitrary bit length, and Z q represents an additive group.

さらに、署名者はn人であるとし、これら署名者の集合をN={1,・・・,n}とする。各署名者は後述する署名装置(上記の参加者装置に相当する。)を用いて署名する。ここでは、署名者iのID(identification)をi(i=1,・・・,n)とする。
以下では、y={yi∈Nなどと略記する。
Further, it is assumed that there are n signers, and a set of these signers is N = {1,..., N}. Each signer signs using a signing device (corresponding to the participant device) described later. Here, the signer i's ID (identification) is i (i = 1,..., N).
Hereinafter, y N = {y i } iεN is abbreviated.

[情報公開サーバ装置]
まず、情報公開サーバ装置(以下、「情報公開サーバ」という。)について説明する。
図19は、情報公開サーバ(1000)のハードウェア構成を例示した構成ブロック図である。
[Information disclosure server device]
First, an information disclosure server device (hereinafter referred to as “information disclosure server”) will be described.
FIG. 19 is a configuration block diagram illustrating the hardware configuration of the information disclosure server (1000).

図19に例示するように、情報公開サーバ(1000)は、キーボードなどが接続可能な入力部(1100)、液晶ディスプレイなどが接続可能な出力部(1200)、情報公開サーバ(1000)外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部(1300)、CPU(Central Processing Unit)(1400)〔キャッシュメモリなどを備えていてもよい。〕、メモリであるRAM(1500)、ROM(1600)やハードディスクである外部記憶装置(1700)並びにこれらの入力部(1100)、出力部(1200)、通信部(1300)、CPU(1400)、RAM(1500)、ROM(1600)、外部記憶装置(1700)間のデータのやり取りが可能なように接続するバス(1800)を有している。また必要に応じて、情報公開サーバ(1000)に、CD−ROMなどの記憶媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。   As illustrated in FIG. 19, the information disclosure server (1000) communicates with an input unit (1100) to which a keyboard or the like can be connected, an output unit (1200) to which a liquid crystal display or the like can be connected, and the information disclosure server (1000). A communication unit (1300) to which a connectable communication device (for example, a communication cable) can be connected, a CPU (Central Processing Unit) (1400) [a cache memory or the like may be provided. ], A RAM (1500) as a memory, a ROM (1600), an external storage device (1700) as a hard disk, an input unit (1100), an output unit (1200), a communication unit (1300), a CPU (1400), The bus (1800) is connected so that data can be exchanged between the RAM (1500), the ROM (1600), and the external storage device (1700). If necessary, the information disclosure server (1000) may be provided with a device (drive) that can read and write a storage medium such as a CD-ROM.

情報公開サーバ(1000)の外部記憶装置(1700)には、情報公開のためのプログラムおよびこのプログラムの処理において必要となるデータなどが保存記憶されている。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に保存記憶されるとする。   The external storage device (1700) of the information disclosure server (1000) stores and stores a program for information disclosure and data necessary for processing of this program. Further, it is assumed that data obtained by the processing of these programs is appropriately stored in a RAM or an external storage device.

より具体的には、情報公開サーバ(1000)の外部記憶装置(1700)〔あるいはROMなど〕には、情報公開サーバ(1000)にアクセスした署名装置などに対して外部記憶手段(1700)に保存記憶される情報を提供するためのプログラム、情報公開サーバ(1000)にアクセスした署名装置などから情報を取得して外部記憶手段(1700)に保存記憶するためのプログラムおよびこれらのプログラムの処理において必要となるデータなどが保存記憶されている。その他、これらのプログラムに基づく処理を制御するための制御プログラムなども適宜に保存しておく。   More specifically, in the external storage device (1700) [or ROM etc.] of the information disclosure server (1000), the signature storage device accessing the information disclosure server (1000) is stored in the external storage means (1700). Necessary for a program for providing stored information, a program for acquiring information from a signature device that has accessed the information disclosure server (1000) and storing and storing it in the external storage means (1700), and processing of these programs Data such as is saved and stored. In addition, a control program for controlling processing based on these programs is also stored as appropriate.

情報公開サーバ(1000)では、外部記憶装置(1700)〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAM(1500)に読み込まれて、CPU(1400)で解釈実行・処理される。その結果、CPU(1400)が所定の機能(情報提供部、情報取得部)を実現することで、情報公開が実現される。   In the information disclosure server (1000), each program stored in the external storage device (1700) [or ROM, etc.] and data necessary for processing each program are read into the RAM (1500) as necessary, and the CPU Interpretation is executed and processed in (1400). As a result, the CPU (1400) realizes predetermined functions (information providing unit, information acquiring unit), thereby realizing information disclosure.

情報公開サーバ(1000)は、署名装置などからのアクセスを許可し、当該装置に対して、情報公開サーバにおける所定の情報(後述する公開鍵などである。)を提供し(「公開する」ともいう。)、あるいは、当該装置から情報を取得するものである。   The information disclosure server (1000) permits access from a signature device or the like, and provides predetermined information (such as a public key to be described later) in the information disclosure server to the device. Or to obtain information from the device.

[署名装置]
署名装置について説明する。
図20は、署名装置(2000)のハードウェア構成を例示した構成ブロック図である。
[Signature device]
The signature device will be described.
FIG. 20 is a block diagram illustrating the hardware configuration of the signature device (2000).

図20に例示するように、署名装置(2000)は、キーボードなどが接続可能な入力部(2100)、液晶ディスプレイなどが接続可能な出力部(2200)、署名装置(2000)外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部(2300)、CPU(Central Processing Unit)(2400)〔キャッシュメモリなどを備えていてもよい。〕、メモリであるRAM(2500)、ROM(2600)やハードディスクである外部記憶装置(2700)並びにこれらの入力部(2100)、出力部(2200)、通信部(2300)、CPU(2400)、RAM(2500)、ROM(2600)、外部記憶装置(2700)間のデータのやり取りが可能なように接続するバス(2800)を有している。また必要に応じて、署名装置(2000)に、CD−ROMなどの記憶媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。   As illustrated in FIG. 20, the signature device (2000) can communicate with an input unit (2100) to which a keyboard or the like can be connected, an output unit (2200) to which a liquid crystal display or the like can be connected, and the outside of the signature device (2000). A communication unit (2300) to which a communication device (for example, a communication cable) can be connected, a CPU (Central Processing Unit) (2400) [a cache memory or the like may be provided. ], A RAM (2500) as a memory, a ROM (2600), an external storage device (2700) as a hard disk, an input unit (2100), an output unit (2200), a communication unit (2300), a CPU (2400), It has a bus (2800) connected so that data can be exchanged between the RAM (2500), ROM (2600), and external storage device (2700). If necessary, the signature device (2000) may be provided with a device (drive) that can read and write a storage medium such as a CD-ROM.

署名装置(2000)の外部記憶装置(2700)には、署名のためのプログラムおよびこのプログラムの処理において必要となるデータなどが保存記憶されている。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に保存記憶される。   The external storage device (2700) of the signature device (2000) stores and stores a signature program, 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、σ、σ、A、A、a、b、a、b、z、cを生成するためのプログラム、群の中から元を任意に選択するためのプログラム、署名を生成するためのプログラムおよびこれらのプログラムの処理において必要となるデータ(例えばメッセージmである。)などが保存記憶されている。その他、これらのプログラムに基づく処理を制御するための制御プログラムも適宜に保存しておく。 More specifically, the external storage device (27) [or ROM, etc.] of the signature device (2) has values h, σ i , σ j , A 0 , A 1 , a i , b i , a described later. j , b j , z i , a program for generating c i , a program for arbitrarily selecting an element from a group, a program for generating a signature, and data necessary for processing of these programs ( For example, message m) is stored and stored. In addition, a control program for controlling processing based on these programs is also stored as appropriate.

署名装置(2000)では、外部記憶装置(2700)〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAM(2500)に読み込まれて、CPU(2400)で解釈実行・処理される。その結果、CPU(2400)が所定の機能(h生成部、σ生成部、σ生成部、A生成部、A生成部、a生成部、b生成部、a生成部、b生成部、z生成部、c生成部、元選択部、署名生成部、制御部)を実現することで、署名が実現される。 In the signature device (2000), each program stored in the external storage device (2700) [or ROM, etc.] and data necessary for processing each program are read into the RAM (2500) as necessary, and the CPU ( 2400). As a result, the CPU (2400) 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 signature is achieved.

[検証装置]
検証装置について説明する。検証装置は重複署名者の追跡および署名のコピーの検出にも用いられるとする。検証装置とは異なる物理的実態(装置)を重複署名者追跡兼コピー署名検出装置とすることでもよい。なお、重複署名者追跡兼コピー署名検出装置を各別の物理的実態(装置)として構成する−つまり、重複署名者追跡装置およびコピー署名検出装置である−としてもよいが、下記の説明から明らかになるとおり、実質的な機能・処理は両者で変わらないので、検証装置から機能的に分離するならば、機能的一体性の認められる重複署名者追跡兼コピー署名検出装置とするが一般的になると考えられる。
図21は、検証装置(3000)のハードウェア構成を例示した構成ブロック図である。
[Verification equipment]
The verification apparatus will be described. Assume that the verification device is also used to track duplicate signers and detect signature copies. A physical actual state (apparatus) different from the verification apparatus may be used as a duplicate signer tracking / copy signature detection apparatus. It should be noted that the duplicate signer tracking / copy signature detection device may be configured as a separate physical entity (ie, a duplicate signer tracking device and a copy signature detection device), but will be apparent from the following description. As shown, since the substantial functions and processing do not change between the two, if it is functionally separated from the verification device, it will be a duplicate signer tracking and copy signature detection device that is recognized as functional integrity, but generally It is considered to be.
FIG. 21 is a configuration block diagram illustrating the hardware configuration of the verification apparatus (3000).

図21に例示するように、検証装置(3000)は、キーボードなどが接続可能な入力部(3100)、液晶ディスプレイなどが接続可能な出力部(3200)、検証装置(3000)外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部(3300)、CPU(Central Processing Unit)(3400)〔キャッシュメモリなどを備えていてもよい。〕、メモリであるRAM(3500)、ROM(3600)やハードディスクである外部記憶装置(3700)並びにこれらの入力部(3100)、出力部(3200)、通信部(3300)、CPU(3400)、RAM(3500)、ROM(3600)、外部記憶装置(3700)間のデータのやり取りが可能なように接続するバス(3800)を有している。また必要に応じて、検証装置(3000)に、CD−ROMなどの記憶媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。   As illustrated in FIG. 21, the verification device (3000) can communicate with an input unit (3100) to which a keyboard or the like can be connected, an output unit (3200) to which a liquid crystal display or the like can be connected, and the verification device (3000). A communication unit (3300) to which a communication device (for example, a communication cable) can be connected, a CPU (Central Processing Unit) (3400) [a cache memory or the like may be provided. ] RAM (3500), which is a memory, ROM (3600), external storage device (3700) which is a hard disk, input unit (3100), output unit (3200), communication unit (3300), CPU (3400), There is a bus (3800) connected so that data can be exchanged between the RAM (3500), ROM (3600), and external storage device (3700). If necessary, the verification device (3000) may be provided with a device (drive) that can read and write a storage medium such as a CD-ROM.

検証装置(3000)の外部記憶装置(3700)には、検証(および重複署名者の追跡、コピー署名の検出)のためのプログラムおよびこのプログラムの処理において必要となるデータなどが保存記憶されている。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に保存記憶される。   The external storage device (3700) of the verification device (3000) stores and stores a program for verification (and tracking of duplicate signers, detection of a copy signature), 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.

より具体的には、検証装置(3000)の外部記憶装置(3700)〔あるいはROMなど〕には、後述するラベルLから所定の値を抽出するためのプログラム、後述する値h、σ、A、a、bを生成するためのプログラム、元zを検証するためのプログラム、Aを検証するためのプログラム、元cを検証するためのプログラム、公開鍵を検証するためのプログラム、元cの総和と所定の値との一致を判定するためのプログラム、重複臨時公開鍵の検証を行うためのプログラムおよびこれらのプログラムの処理において必要となるデータなどが保存記憶されている。その他、これらのプログラムに基づく処理を制御するための制御プログラムも適宜に保存しておく。 More specifically, the external storage device (3700) [or ROM, etc.] of the verification device (3000) has a program for extracting a predetermined value from a label L described later, values h, σ N , A described later. A program for generating 0 , a N , b N , a program for verifying the element z, a program for verifying the A 1 , a program for verifying the element c, a program for verifying the public key, A program for determining a match between the sum of the elements c and a predetermined value, a program for verifying duplicate temporary public keys, data necessary for processing of these programs, and the like are stored and stored. In addition, a control program for controlling processing based on these programs is also stored as appropriate.

検証装置(3000)では、外部記憶装置(3700)〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてRAM(3500)に読み込まれて、CPU(3400)で解釈実行・処理される。その結果、CPU(3400)が所定の機能(ラベル抽出部、h生成部、σ生成部、A生成部、a生成部、b生成部、z検証部、c検証部、A検証部、公開鍵検証部、判定部、重複臨時公開鍵検証部、制御部)を実現することで、署名検証、重複署名者の追跡、コピー署名の検出が実現される。 In the verification device (3000), each program stored in the external storage device (3700) [or ROM, etc.] and data necessary for processing each program are read into the RAM (3500) as necessary, and the CPU ( 3400) is executed and processed. As a result, the CPU (3400) performs predetermined functions (label extraction unit, h generation unit, σ N generation unit, A 0 generation unit, a N generation unit, b N generation unit, z verification unit, c verification unit, A 1. By implementing a verification unit, a public key verification unit, a determination unit, a duplicate temporary public key verification unit, and a control unit, signature verification, tracking of duplicate signers, and detection of copy signatures are realized.

[システム構成]
重複使用者追跡可能署名方式におけるシステム構成について説明する。
図22は、重複使用者追跡可能署名方式におけるシステム構成を示す図である。
[System configuration]
A system configuration in the duplicate user traceable signature scheme will be described.
FIG. 22 is a diagram showing a system configuration in the duplicate user traceable signature scheme.

ここで説明する重複使用者追跡可能署名方式では、説明の便宜から、公開鍵基盤の一例であるPKI(Public Key Infrastructure)を前提にしている。PKIは、日本国においても「電子署名及び認証業務に関する法律(平成12年法律第102号)」が制定されたことなども相まって普及整備が進んでいる公知技術であるから(例えば参考文献1参照。)、その詳細の説明は省略する。なお、重複使用者追跡可能署名方式は、日本国におけるPKIを前提とすることに限定するものではなく、例えば公知の電子公開掲示板でもよいし、およそ公開鍵基盤が普及整備されているならば、諸外国やあるいは公開鍵基盤の規模・性質(国家・地方・地域のような比較的大きな規模や例えば企業・大学・自治体・団体のような比較的小さな規模、社会基盤としての公的性質や私企業内における私的性質)などを問わず適用可能である。なお、日本国における政府認証基盤(GPKI:Government Public Key Infrastructure)については、参考文献2を参照のこと。
(参考文献1) 独立行政法人 情報処理推進機構、”PKI関連技術解説”、[平成18年1月16日検索]、
インターネット <URL : http://www.ipa.go.jp/security/pki/>
(参考文献2) 日本国総務省行政管理局、”政府認証基盤(GPKI)”、[平成18年1月16日検索]、
インターネット <URL : http://www.gpki.go.jp/>
The duplicate user traceable signature method described here assumes PKI (Public Key Infrastructure), which is an example of a public key infrastructure, for convenience of explanation. 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 (for example, see Reference 1). )), Detailed description thereof is omitted. The duplicate user traceable signature method is not limited to the premise of PKI in Japan. For example, a known electronic public bulletin board may be used. The size / characteristics of foreign countries and / or public key infrastructures (relatively large scales such as nations / regions / regions, comparatively small scales such as corporations, universities, local governments, organizations, etc. It can be applied regardless of the private nature of the company. Please refer to Reference Document 2 regarding the Government Public Key Infrastructure (GPKI) in Japan.
(Reference 1) Information-technology Promotion Agency, "PKI-related technical explanation", [Searched on January 16, 2006],
Internet <URL: http://www.ipa.go.jp/security/pki/>
(Reference 2) Administrative Administration Bureau, Ministry of Internal Affairs and Communications, “Government Authentication Infrastructure (GPKI)”, [Search January 16, 2006],
Internet <URL: http://www.gpki.go.jp/>

図22に示すCA(Certification Authority)(4000)は、PKIにおける認証局を表している。
情報公開サーバ(1000)、1つ以上の署名装置(2000−1),(2000−2),・・・,(2000−n)、検証装置(3000)、CA(4000)は、ネットワーク(5000)を介して相互に通信可能に接続されている。
A CA (Certification Authority) (4000) shown in FIG. 22 represents a certificate authority in PKI.
The information disclosure server (1000), the one or more signature devices (2000-1), (2000-2),..., (2000-n), the verification device (3000), and the CA (4000) are connected to the network (5000). ) To communicate with each other.

[鍵生成]
重複使用者追跡可能署名方式を実施するための準備(鍵生成)について説明する(図4参照)。
まず、署名者iは、秘密鍵sk=xを群Zの元から選択し、巡回群Gの生成元gを用いて、公開鍵pk=y=g^xを生成する。記号^は、べき乗を表す。署名者iは、署名者iに固有の公開鍵yをCA(4000)に送信し、CA(4000)に公開鍵yを登録する。
[Key generation]
The preparation (key generation) for implementing the duplicate user traceable signature method will be described (see FIG. 4).
First, the signer i selects the secret key sk i = x i from the element of the group Z q and generates the public key pk i = y i = g ^ x i using the generator g of the cyclic group G. . The symbol ^ represents a power. The signer i transmits the public key y i unique to the signer i to the CA (4000) and registers the public key y i in the CA (4000).

次に、情報公開サーバ(1000)は、CA(4000)にネットワーク(5000)経由でアクセスし、各署名者の公開鍵y,y,・・・,yを取得する。 Next, the information disclosure server (1000) accesses the CA (4000) via the network (5000) and acquires the public keys y 1 , y 2 ,..., N of each signer.

情報公開サーバ(1000)は、取得した各署名者の公開鍵y,y,・・・,yを外部記憶装置(1700)に記憶保存する。 Information public server (1000) is a public key y 1 in the signer acquired, y 2, · · ·, stores store y n in the external storage device (1700).

情報公開サーバ(1000)は、各署名装置からアクセスがあった場合に、これらのデータ(公開鍵y,y,・・・,y)を、情報提供部(8000)によって、その通信部(1300)を通じて、アクセスした署名装置に対して送信する。また、署名生成処理後においては、外部記憶装置(1700)に保存記憶されている署名なども、情報提供部(8000)によって、その通信部(1300)を通じて、アクセスした検証装置に対して送信する。 When there is an access from each signature device, the information disclosure server (1000) transmits these data (public keys y 1 , y 2 ,..., Y n ) by the information providing unit (8000). The information is transmitted to the accessed signature device through the section (1300). After the signature generation processing, the signature stored in the external storage device (1700) is also transmitted by the information providing unit (8000) to the accessed verification device through the communication unit (1300). .

なお、後述するラベルLの生成において、例えば全署名者の公開鍵をy,y,・・・,yを用いない場合には、情報公開サーバ(1000)やPKIを不要として、検証装置(3000)に複数の署名装置(1000)が相互に通信可能に接続する所謂サーバ−クライアント型のシステム構成とすることも可能である。 Incidentally, in the generation of which will be described later label L, such y 1 public key for all signers, y 2, · · ·, in the case of not using the y n is the public information server (1000) and PKI as required, verification It is also possible to adopt a so-called server-client type system configuration in which a plurality of signature devices (1000) are connected to the device (3000) so that they can communicate with each other.

以下、図23〜図30を参照して、重複使用者追跡可能署名方式の処理を説明する。
図23は、情報公開サーバ(1000)における処理フローを示す図である。
図24は、署名装置(2000)の機能構成例を示す図である。
図25は、署名装置(2000)における処理フローを示す図である(その1)。
図26は、署名装置(2000)における処理フローを示す図である(その2)。
図27は、署名後における状態を示す図である。
図28は、検証装置(3000)の機能構成例を示す図である。
図29は、検証装置(3000)における処理フローを示す図である(その1)。
図30は、検証装置(3000)における処理フローを示す図である(その2)。
Hereinafter, with reference to FIG. 23 to FIG. 30, the process of the duplicate user traceable signature method is described.
FIG. 23 is a diagram showing a processing flow in the information disclosure server (1000).
FIG. 24 is a diagram illustrating a functional configuration example of the signature device (2000).
FIG. 25 is a diagram showing a processing flow in the signature device (2000) (No. 1).
FIG. 26 is a diagram showing a processing flow in the signature device (2000) (No. 2).
FIG. 27 is a diagram illustrating a state after the signature.
FIG. 28 is a diagram illustrating a functional configuration example of the verification apparatus (3000).
FIG. 29 is a diagram showing a processing flow in the verification apparatus (3000) (No. 1).
FIG. 30 is a diagram showing a processing flow in the verification apparatus (3000) (No. 2).

[署名]
まず、署名装置による署名について説明する。
以下では、署名者iは、署名装置i(2000)によって署名を行うとする。
署名装置i(2000)の外部記憶装置(2700)には、署名装置i(2000)のIDであるi、巡回群Gの生成元g、投票者iに固有の秘密鍵x、全ての署名者の公開鍵y、ラベルL、メッセージm、全署名者の公開鍵{y,…,y}の個数nが予め保存記憶されているとする。
[signature]
First, the signature by the signature device will be described.
In the following, it is assumed that the signer i performs a signature with the signature device i (2000).
In the external storage device (2700) of the signature device i (2000), the ID i of the signature device i (2000), the generator g of the cyclic group G, the secret key x i unique to the voter i , all signatures It is assumed that the public key y N , the label L, the message m, and the number n of the public keys {y 1 ,..., Y n } of all the signers are stored and stored in advance.

署名装置i(2000)は、制御部(6130)の制御によって、その通信部(2300)を通じて、情報公開サーバ(1000)にアクセスし、情報公開サーバ(1000)の通信部(1300)を通じて送信された(ステップS1s)、情報公開サーバ(1000)の外部記憶装置(1700)に記憶される全ての署名者の公開鍵{y,…,y}〔以後、全ての署名者の公開鍵{y,…,y}をyと略記する。〕を受信し、これを署名装置i(2000)の外部記憶装置(2700)に保存記憶する。また、全ての投票者の公開鍵y(以下、「リストy」とも云う。)の個数nも、署名装置iの外部記憶装置(27)に保存記憶する。また、署名装置i(2000)は、制御部(6130)の制御によって、自身の外部記憶装置(2700)に、或る文字列L={0,1}およびラベルL=(L,y)について保存記憶する(ステップS2)。ここで、ラベルLは、文字列Lおよび公開鍵のリストyをバイナリ系列で結合した値L‖y(=L‖y‖y‖・・・‖y)〔記号‖はバイナリ系列同士の結合を表す。〕である。以下、特に断りの無い限り、(X,Y)なる表記はXおよびYのバイナリ系列の結合を表すとする。なお、文字列LおよびラベルLについては、全ての署名装置に共通とする。従って、正しく文字列LおよびラベルLを使用しない署名装置は正規の署名装置ではないことになる。なお、文字列LおよびラベルLを情報公開サーバ(1000)で公開するようにしてもよい。この場合、情報公開サーバのラベル生成部〔所定のプログラムがCPU(1400)で解釈・実行されて実現される。〕が、文字列LおよびリストyからラベルLを生成して、この文字列Lおよびリストyを外部記憶装置(1700)に保存記憶する。 The signature device i (2000) accesses the information disclosure server (1000) through the communication unit (2300) and is transmitted through the communication unit (1300) of the information disclosure server (1000) under the control of the control unit (6130). (Step S1s), public keys {y 1 ,..., Y n } of all signers stored in the external storage device (1700) of the information disclosure server (1000) [hereinafter, public keys of all signers { y 1 ,..., y n } is abbreviated as y N. ] Is stored in the external storage device (2700) of the signature device i (2000). In addition, the number n of the public keys y N (hereinafter also referred to as “list y N ”) of all the voters is stored and stored in the external storage device (27) of the signature device i. Also, the signature device i (2000) controls the control unit (6130) to store its own character string L 0 = {0, 1} * and label L = (L 0 , y N ) is stored (step S2). Here, the label L is a value linked list y N of the string L 0 and a public key in binary sequence L 0 ‖y N (= L 0 y 1 ‖y 2 ‖ ··· ‖y n) [Symbols ‖ Represents a combination of binary sequences. ]. Hereinafter, unless otherwise specified, the notation (X, Y) represents the combination of X and Y binary sequences. Note that the character string L 0 and the label L are common to all the signature devices. Therefore, a signature device that does not correctly use the character string L 0 and the label L is not a regular signature device. Incidentally, it is also possible to publish the string L 0 and the label L by the information publishing server (1000). In this case, the label generation unit of the information disclosure server [realized by a predetermined program being interpreted and executed by the CPU (1400). ] It is, to generate a label L from the string L 0 and list y N, Save stores the string L 0 and list y N in the external storage device (1700).

予め、署名装置i(2000)は、制御部(6130)の制御の下、外部記憶装置(2700)から、署名装置iのIDであるi、巡回群Gの生成元g、投票者iに固有の秘密鍵x、全ての署名者の公開鍵y、ラベルL、メッセージm、全署名者の公開鍵yの個数nを読み込み、それぞれをRAM(2500)の所定の格納領域に格納しておく。以下、「RAMから○○を読み込む」旨の説明をした場合は、「RAMにおいて○○が格納されている所定の格納領域から○○を読み込む」ことを意味するとする。 In advance, the signature device i (2000) is unique from the external storage device (2700) to the signature device i ID i, the generation group g of the cyclic group G, and the voter i under the control of the control unit (6130). Private key x i , public key y N of all signers, label L, message m, and number n of public keys y N of all signers, and stores them in a predetermined storage area of RAM (2500). Keep it. Hereinafter, the description “read XX from RAM” means “read XX from a predetermined storage area in which XX is stored in the RAM”.

まず、署名装置i(2000)のh生成部(6000)は、RAM(2500)からLを読み込み、h=H(L)を演算し、この演算結果hをRAM(2500)の所定の格納領域に格納する(ステップS3)。なお、hは巡回群Gの元、即ちh∈Gであることに留意する。このhが、固有臨時公開鍵生成因子に相当する。   First, the h generation unit (6000) of the signature device i (2000) reads L from the RAM (2500), calculates h = H (L), and stores the calculation result h in a predetermined storage area of the RAM (2500). (Step S3). Note that h is an element of the cyclic group G, that is, hεG. This h corresponds to a unique temporary public key generation factor.

次に、署名装置i(2000)のσ生成部(6010)は、RAM(2500)からh、xをそれぞれ読み込み、σ=h^xを演算し、この演算結果σをRAM(2500)の所定の格納領域に格納する(ステップS4)。なお、σは巡回群Gの元、即ちσ∈Gであることに留意する。このσは、署名装置iの固有臨時公開鍵に相当する。 Next, the σ i generation unit (6010) of the signature device i (2000) reads h and x i from the RAM (2500), calculates σ i = h ^ x i, and calculates the calculation result σ i to the RAM. (2500) is stored in a predetermined storage area (step S4). Note that σ i is an element of the cyclic group G, that is, σ i εG. This σ i corresponds to the unique temporary public key of the signature device i.

続いて、署名装置i(2000)のA生成部(6020)は、RAM(2500)からL、mをそれぞれ読み込み、A=H’(L,m)を演算し、この演算結果AをRAM(2500)の所定の格納領域に格納する(ステップS5)。なお、Aは巡回群Gの元、即ちA∈Gであることに留意する。このAが、撹乱因子生成因子に相当する。 Subsequently, the A 0 generation unit (6020) of the signature device i (2000) reads L and m from the RAM (2500), calculates A 0 = H ′ (L, m), and calculates the result A 0. Is stored in a predetermined storage area of the RAM (2500) (step S5). Note that A 0 is an element of the cyclic group G, that is, A 0 ∈G. The A 0 corresponds to the disturbance factor generation factor.

次に、署名装置i(2000)のA生成部(6030)は、RAM(2500)からi、A、σをそれぞれ読み込み、A=(σ/A)^(1/i)を演算し、この演算結果AをRAM(2500)の所定の格納領域に格納する(ステップS6)。Aは巡回群Gの元、即ちA∈Gであることに留意する。このAが、撹乱因子に相当する。 Next, the A 1 generation unit (6030) of the signature device i (2000) reads i, A 0 , and σ i from the RAM (2500), respectively, and A 1 = (σ i / A 0 ) ^ (1 / i ) is calculated, and stores the calculation result a 1 in a predetermined storage area of the RAM (2500) (step S6). Note that A 1 is an element of the cyclic group G, ie A 1 ∈G. The A 1 corresponds to the disturbance factor.

次に、署名装置i(2000)のσ生成部(6040)は、RAM(2500)からA、A、n、iをそれぞれ読み込み、σ=A(A^j)を演算し、この演算結果σをRAM(2500)の所定の格納領域に格納する(ステップS7)。ここでjは、j∈N−{i}、即ち、j=1,2,・・・,i−1,i+1,・・・,nである。なお、σは巡回群Gの元、即ちσ∈Gであることに留意する。このσは、署名装置iが作った署名装置i以外の署名装置の撹乱臨時公開鍵に相当する。 Next, the σ j generation unit (6040) of the signature device i (2000) reads A 0 , A 1 , n, i from the RAM (2500), and calculates σ j = A 0 (A 1 ^ j). Then, the calculation result σ j is stored in a predetermined storage area of the RAM (2500) (step S7). 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 a disturbing temporary public key of a signature device other than the signature device i created by the signature device i.

さらに、A=h^α(0)かつσ=h^α(f)〔但し、f∈N〕を満足する次数1の多項式α(x)∈Z[x]が存在することに留意しなければならない。なお、記号α(x)∈Z[x]は、多項式α(x)が、群Zの元を係数に有する多項式であることを表す。
このことを換言すると、log(σ)が、log(A)およびx=log(σ)で定まる直線上に存在することを意味する。
Further, there is a degree 1 polynomial α (x) ∈Z q [x] that satisfies A 0 = hhα (0) and σ f = hhα (f) [where f∈N]. You have to be careful. 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.
In other words, it means that log hj ) exists on a straight line determined by log h (A 0 ) and x i = log hi ).

続いて、ラベルL、固有臨時公開鍵生成因子h、臨時公開鍵σ(臨時公開鍵σは、固有臨時公開鍵と撹乱臨時公開鍵とを合わせたものである。つまり、σ={σ,σ,・・・,σi−1,σ,σi+1,・・・,σ}である。)について、log(yi’)=log(σi’)を満たすi’∈Nが存在することを、非対話ゼロ知識証明(non-interactive zero-knowledge proof of knowledge : NIZK法)によって証明するための非対話ゼロ知識証明情報を生成可能な非対話ゼロ知識証明情報生成因子c、zを求める。より具体的に説明すると、署名装置i(2000)が、その秘密鍵xを用いて固有臨時公開鍵σを生成したこと、即ち、log(y)=log(σ)が成立することを、非対話ゼロ知識証明によって検証装置に証明することが可能な情報を求めるのである。
なお、非対話ゼロ知識証明は公知の方法でよく、下記の非対話ゼロ知識証明に限定するものではない。
Subsequently, the label L, the unique temporary public key generation factor h, the temporary public key σ N (the temporary public key σ N is a combination of the unique temporary public key and the disturbing temporary public key. That is, σ N = { σ 1 , σ 2 ,..., σ i−1 , σ i , σ i + 1 ,..., σ n }), log g (y i ′ ) = log hi ′ ) Non-interactive zero-knowledge proof that can generate non-interactive zero-knowledge proof information to prove that there exists i'∈N satisfying by non-interactive zero-knowledge proof of knowledge (NIZK method) Information generation factors c N and z N are obtained. More specifically, the signing device i (2000) has generated the unique temporary public key σ i using the secret key x i , that is, log g (y i ) = log hi ) Information that can be proved to the verification device by non-dialog zero knowledge proof is obtained.
The non-interactive zero knowledge proof may be a known method and is not limited to the following non-interactive zero knowledge proof.

署名装置i(2000)の元選択部(6050)は、群Zの元の中から任意に1つの元wを選択し、この元wをRAM(2500)の所定の格納領域に格納する(ステップS8)。 Original selection of the signature device i (2000) (6050) may select any one Tsunomoto w i from the original group Z q, stores the original w i in a predetermined storage area of the RAM (2500) (Step S8).

次に、署名装置i(2000)のa生成部(6060)は、RAM(2500)からg、wをそれぞれ読み込み、a=g^wを演算し、この演算結果aをRAM(2500)の所定の格納領域に格納する(ステップS9)。なお、aは巡回群Gの元、即ちa∈Gであることに留意する。 Next, the a i generation unit (6060) of the signature device i (2000) reads g and w i from the RAM (2500), calculates a i = g ^ w i, and calculates the calculation result a i to the RAM. (2500) is stored in a predetermined storage area (step S9). Note that a i is an element of the cyclic group G, that is, a i εG.

次に、署名装置i(2000)のb生成部(6070)は、RAM(2500)からh、wをそれぞれ読み込み、b=h^wを演算し、この演算結果bをRAM(2500)の所定の格納領域に格納する(ステップS10)。なお、bは巡回群Gの元、即ちb∈Gであることに留意する。 Next, the b i generation unit (6070) of the signature device i (2000) reads h and w i from the RAM (2500), calculates b i = h ^ w i, and calculates the calculation result b i to the RAM. (2500) is stored in a predetermined storage area (step S10). Note that b i is an element of the cyclic group G, that is, b i εG.

続いて、署名装置i(2000)の元選択部(6050)は、RAM(2500)からi、nをそれぞれ読み込み、j∈N−{i}、即ちj=1,2,・・・,i−1,i+1,・・・,nについて、群Zの元の中から任意に2つの元z、cを選択し、これらの元z、cをRAM(2500)の所定の格納領域に格納する(ステップS11)。 Subsequently, the original selection unit (6050) of the signature device i (2000) reads i and n from the RAM (2500), respectively, and jεN− {i}, that is, j = 1, 2,. −1, i + 1,..., N, arbitrarily select two elements z j and c j from the elements of the group Z q , and select these elements z j and c j in the RAM (2500). Store in the storage area (step S11).

次に、署名装置i(2000)のa生成部(6080)は、j∈N−{i}、即ちj=1,2,・・・,i−1,i+1,・・・,nについて、RAM(2500)からg、z、c、yをそれぞれ読み込み(yは、yからyを除いたものである。)、a=(g^z)×(y^c)を演算し、この演算結果aをRAM(2500)の所定の格納領域に格納する(ステップS12)。なお、aは巡回群Gの元、即ちa∈Gであることに留意する。 Next, the a j generation unit (6080) of the signature device i (2000) performs jεN− {i}, that is, j = 1, 2,..., I−1, i + 1,. , RAM (2500), g, z j , c j , y j are read respectively (y j is y N minus y i ), a j = (g ^ z j ) × (y j ^ cj ) is calculated, and the calculation result aj is stored in a predetermined storage area of the RAM (2500) (step S12). Note that a j is an element of the cyclic group G, that is, a j εG.

次に、署名装置i(2000)のb生成部(6090)は、j∈N−{i}、即ちj=1,2,・・・,i−1,i+1,・・・,nについて、RAM(2500)からh、z、c、σをそれぞれ読み込み、b=(h^z)×(σ^c)を演算し、この演算結果bをRAM(2500)の所定の格納領域に格納する(ステップS13)。なお、bは巡回群Gの元、即ちb∈Gであることに留意する。 Next, the b j generation unit (6090) of the signature device i (2000) performs jεN− {i}, that is, j = 1, 2,..., I−1, i + 1,. , RAM (2500), h, z j , c j , and σ j are read, b j = (h ^ z j ) × (σ j ^ c j ) is calculated, and the calculation result b j is stored in the RAM (2500). ) In a predetermined storage area (step S13). Note that b j is an element of the cyclic group G, that is, b j εG.

以上の各処理で生成された、a={a,a,・・・,a}、b={b,b,・・・,b}が非対話ゼロ知識証明情報である。 Generated in the above processing, a N = {a 1, a 2, ···, a n}, b N = {b 1, b 2, ···, b n} are non-interactive zero-knowledge proof Information.

次に、署名装置i(2000)のc生成部(6100)は、RAM(2500)からm、L、A、A、a、b、c〔j∈N−{i}〕を読み込み、c=H”(L,m,A,A,a,b)−Σj∈N−{i} (mod q)=H”(L,m,A,A,a,b)−(c+c+・・・+ci−1+ci+1+・・・+c) (mod q)を演算し、この演算結果cをRAM(2500)の所定の格納領域に格納する(ステップS14)。なお、cは、群Zの元であることに留意する。
ハッシュ関数H”の入力には、ラベルLおよびメッセージmが含まれているが、いずれか一方を含むようにしても、あるいは、両者を含まないようにすることもできる。また、ハッシュ関数H”の入力は、この実施形態に限定する趣旨ではなく、他の非対話ゼロ知識証明情報を入力に含めるようにしてもよい。この明細書では、ハッシュ関数H”の入力は、L,m,A,A,a,bとする。
Then, c i generation unit of the signature device i (2000) (6100) is, RAM m from (2500), L, A 0 , A 1, a N, b N, c j [j∈N- {i} ], And c i = H ″ (L, m, A 0 , A 1 , a N , b N ) −Σ j∈N− {i} c j (mod q) = H ″ (L, m, A 0 , A 1 , a N , b N ) − (c 1 + c 2 +... + C i−1 + c i + 1 +... + C n ) (mod q), and this operation result c i is stored in the RAM ( 2500) in a predetermined storage area (step S14). Note that c i is an element of the group Z q .
The input of the hash function H ″ includes the label L and the message m, but may include either or both of them. The input of the hash function H ″ may also be included. Is not intended to be limited to this embodiment, and other non-interactive zero knowledge proof information may be included in the input. In this specification, the input of the hash function H ″ is L, m, A 0 , A 1 , a N , b N.

続いて、署名装置i(2000)のz生成部(6110)は、RAM(2500)からn、i、w、x、cをそれぞれ読み込み、z=w−c×x (mod q)を演算し、この演算結果zをRAM(2500)の所定の格納領域に格納する(ステップS15)。なお、zは群Zの元、即ちz∈Zであることに留意する。 Subsequently, the z i generation unit (6110) of the signature device i (2000) reads n, i, w i , x i , and c i from the RAM (2500), respectively, and z i = w i −c i × x i (mod q) is calculated, and the calculation result z i is stored in a predetermined storage area of the RAM (2500) (step S15). Note that z i is an element of the group Z q , that is, z i εZ q .

以上の各処理で生成された、c={c,c,・・・,c}、z={z,z,・・・,z}が非対話ゼロ知識証明情報生成因子である。 C N = {c 1 , c 2 ,..., C n } and z N = {z 1 , z 2 ,..., Z n } generated by the above processes are non-interactive zero knowledge proofs. Information generation factor.

続いて、署名装置i(2000)の署名生成部(6120)は、RAM(2500)からA、c、c、z、zをそれぞれ読み込み、このうち、A、c、c、z、zの組み合わせを、署名装置iにおけるラベルLおよびメッセージmの組に対する署名ξとする(ステップS16)。即ち、ξ={A、c、z}とする。ここでcは、c={c,c,・・・,c}、zは、z={z,z,・・・,z}である。 Subsequently, the signature generation unit (6120) of the signature device i (2000) reads A 1 , c i , c j , z i , and z j from the RAM (2500), and among these, A 1 , c i , A combination of c j , z i , and z j is set as a signature ξ i for the set of the label L and the message m in the signature device i (step S16). That is, ξ i = {A 1 , c N , z N }. Where c N is, c N = {c 1, c 2, ···, c n}, z N is, z N = {z 1, z 2, ···, z n} is.

続いて、署名装置i(2000)は、制御部(6130)の制御によって、通信部(2300)を通じて、ステップS16で生成された署名ξ={A、c、z}並びにラベルLおよびメッセージmの組を、匿名通信路を経由して情報公開サーバ(1000)に送信する(ステップS17)。 Subsequently, the signature device i (2000) controls the signature ξ i = {A 1 , c N , z N } and the label L generated in step S16 through the communication unit (2300) under the control of the control unit (6130). And a set of messages m are transmitted to the information disclosure server (1000) via the anonymous communication path (step S17).

情報公開サーバ(1000)は、情報取得部(8010)によって、その通信部(1300)を通じて、ステップS17で送信された署名ξ={A、c、z}並びにラベルLおよびメッセージmの組を受信し、署名ξ={A、c、z}並びにラベルLおよびメッセージmを対応付けて外部記憶装置(1700)に保存記憶する(ステップS2s)。 The information disclosure server (1000) uses the information acquisition unit (8010) through the communication unit (1300) to send the signature ξ i = {A 1 , c N , z N }, the label L, and the message m transmitted in step S17. And stores the signature ξ i = {A 1 , c N , z N }, the label L, and the message m in association with each other in the external storage device (1700) (step S2s).

[検証]
続いて、検証装置(3000)による署名の検証処理について説明する。
検証装置(3000)の外部記憶装置(3700)には、巡回群Gの生成元gが予め保存記憶されているとする。また、全署名者の公開鍵yの個数nも、検証装置(3000)の外部記憶装置(3700)に保存記憶されているとする。
[Verification]
Next, signature verification processing by the verification apparatus (3000) 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 (3700) of the verification device (3000). Also, the number n of the public key y N of all the signer, and is stored in the external storage device of the verification device (3000) (3700).

検証装置(3000)は、制御部(7110)の制御によって、その通信部(3300)を通じて、情報公開サーバ(1000)にアクセスし、情報公開サーバ(1000)の通信部(1300)を通じて送信された(ステップS3s)、情報公開サーバ(1000)の外部記憶装置(1700)に記憶される、ある署名装置で作られた署名ξ={A、c、z}、この署名ξに対応するラベルLおよびメッセージmを受信し、これらを検証装置(3000)の外部記憶装置(3700)に保存記憶する(ステップS18)。ここで、「ある署名装置で作られた署名ξ・・・メッセージm」としたのは、署名およびこの署名ξに対応するラベルLおよびメッセージmには署名装置を特定する情報が含まれていないため、検証装置の立場からすると、どの署名装置で作られた署名であるかを知ることができないからである。以下では、情報公開サーバ(1000)から取得した1個の署名およびこの署名ξに対応するラベルLおよびメッセージmについて検証を行う処理を説明する。 The verification device (3000) accesses the information disclosure server (1000) through the communication unit (3300) and is transmitted through the communication unit (1300) of the information disclosure server (1000) under the control of the control unit (7110). (Step S3s), a signature ξ = {A 1 , c N , z N } created by a certain signature device stored in the external storage device (1700) of the information disclosure server (1000), corresponding to this signature ξ The label L and the message m are received and stored in the external storage device (3700) of the verification device (3000) (step S18). In this case, “signature ξ... Message m created by a certain signature device” means that the signature and the label L and message m corresponding to this signature ξ do not include information for identifying the signature device. Therefore, from the standpoint of the verification device, it is impossible to know which signature device is used for the signature. Hereinafter, a process for verifying one signature acquired from the information disclosure server (1000) and the label L and the message m corresponding to the signature ξ will be described.

検証装置(3000)は、制御部(7110)の制御によって、外部記憶装置(3700)から、巡回群Gの生成元g、署名ξ={A、c、z}、この署名ξに対応するラベルLおよびメッセージmの組、全署名者の公開鍵yの個数nを読み込み、それぞれをRAM(3500)の所定の格納領域に格納する。 The verification device (3000) controls the generation unit g of the cyclic group G, the signature ξ = {A 1 , c N , z N } and the signature ξ from the external storage device (3700) under the control of the control unit (7110). corresponding label L and a set of message m, it reads the number n of the public key y n of all signers, and stores each in a predetermined storage area of the RAM (3500).

次に、検証装置(3000)のラベル抽出部(7150)は、RAM(3500)からラベルLを読み込み、文字列Lおよびリストyを抽出し、抽出した文字列LおよびリストyをRAM(3500)の所定の格納領域に格納する(ステップS19)。 Next, the label extracting unit of the verification device (3000) (7150) reads the label L from the RAM (3500), and extracts a character string L 0 and list y N, extracted string L 0 and list y N The data is stored in a predetermined storage area of the RAM (3500) (step S19).

次に、検証装置(3000)のA検証部(7020)は、RAM(3500)からAを読み込み、Aが巡回群Gの元であるか否かを検証する(ステップS20)。この検証に合格しなかった場合、署名ξ={A、c、z}は不正な署名であることが判明して検証処理を終了する(ステップS50)。この検証に合格したら、制御部(7110)は、以下の処理を実行するように制御する。 Next, the A 1 verification unit (7020) of the verification device (3000) reads A 1 from the RAM (3500) and verifies whether A 1 is an element of the cyclic group G (step S20). If the verification fails, the signature ξ = {A 1 , c N , z N } is found to be an illegal signature, and the verification process ends (step S50). If this verification is passed, the control unit (7110) controls to execute the following processing.

続いて、検証装置(3000)のc検証部(7040)は、RAM(3500)からc(={c,c,・・・,c})をそれぞれ読み込み、各c(f=1,2,・・・,n)が群Zの元であるか否かを検証する(ステップS21)。この検証に合格しなかった場合、署名ξは不正な署名であることが判明して検証処理を終了する(ステップS50)。この検証に合格したら、制御部(7110)は、以下の処理を実行するように制御する。 Subsequently, the c verification unit (7040) of the verification device (3000) reads c N (= {c 1 , c 2 ,..., C n }) from the RAM (3500), and each c f (f = 1, 2,..., N) is verified whether or not they are elements of the group Zq (step S21). If this verification does not pass, the signature ξ is found to be an illegal signature, and the verification process is terminated (step S50). If this verification is passed, the control unit (7110) controls to execute the following processing.

続いて、検証装置(3000)のz検証部(7060)は、RAM(3500)からz(={z,z,・・・,z})をそれぞれ読み込み、各z(f=1,2,・・・,n)が群Zの元であるか否かを検証する(ステップS22)。この検証に合格しなかった場合、署名ξは不正な署名であることが判明して検証処理を終了する(ステップS50)。この検証に合格したら、制御部(7110)は、以下の処理を実行するように制御する。 Subsequently, the z verification unit (7060) of the verification device (3000) reads z N (= {z 1 , z 2 ,..., Z n }) from the RAM (3500), and each z f (f = 1, 2,..., N) is verified whether or not they are elements of the group Zq (step S22). If this verification does not pass, the signature ξ is found to be an illegal signature, and the verification process is terminated (step S50). If this verification is passed, the control unit (7110) controls to execute the following processing.

続いて、検証装置(3000)の公開鍵検証部(7050)は、RAM(3500)からリストy(={y,y,・・・,y})をそれぞれ読み込み、各y(f=1,2,・・・,n)が群Gの元であるか否かを検証する(ステップS23)。この検証に合格しなかった場合、署名ξは不正な署名であることが判明して検証処理を終了する(ステップS50)。この検証に合格したら、制御部(711)は、以下の処理を実行するように制御する。 Subsequently, the public key verification unit (7050) of the verification device (3000) reads the list y N (= {y 1 , y 2 ,..., Y n }) from the RAM (3500), and each y f It is verified whether (f = 1, 2,..., N) is an element of the group G (step S23). If this verification does not pass, the signature ξ is found to be an illegal signature, and the verification process is terminated (step S50). If this verification is passed, the control unit (711) controls to execute the following processing.

ステップS20、S21、S22、S23の各処理において移行するステップS50の終了処理は、署名ξがそもそも適正な群の元を用いていないことに起因するものである。従って、後述の重複署名者追跡処理は行わない。   The termination process of step S50 that shifts to each process of steps S20, S21, S22, and S23 is caused by the fact that the signature ξ does not use an appropriate group element in the first place. Therefore, the duplicate signer tracking process described later is not performed.

次に、検証装置(3000)のh生成部(7000)は、RAM(3500)からラベルLを読み込み、h=H(L)を演算し、この演算結果hをRAM(3500)の所定の格納領域に格納する(ステップS24)。なお、hは巡回群Gの元、即ちh∈Gであることに留意する。このhは、署名装置で生成される固有臨時公開鍵生成因子に等しい。   Next, the h generation unit (7000) of the verification device (3000) reads the label L from the RAM (3500), calculates h = H (L), and stores the calculation result h in the RAM (3500) in a predetermined manner. Store in the area (step S24). Note that h is an element of the cyclic group G, that is, hεG. This h is equal to a unique temporary public key generation factor generated by the signature device.

次に、検証装置(3000)のA生成部(7010)は、RAM(3500)からラベルL、メッセージmをそれぞれ読み込み、A=H’(L,m)を演算し、この演算結果AをRAM(3500)の所定の格納領域に格納する(ステップS25)。なお、Aは巡回群Gの元、即ちA∈Gであることに留意する。このAは、署名装置で生成される撹乱因子生成因子に等しい。 Next, the A 0 generation unit (7010) of the verification device (3000) reads the label L and the message m from the RAM (3500), calculates A 0 = H ′ (L, m), and calculates the calculation result A 0 is stored in a predetermined storage area of the RAM (3500) (step S25). Note that A 0 is an element of the cyclic group G, that is, A 0 ∈G. The A 0 equals the disturbance factor generation factor generated by the signature apparatus.

次に、検証装置(3000)のσ生成部(7030)は、RAM(3500)からA、A、nをそれぞれ読み込み、σ=A(A^f)〔但しf=1,2,・・・,nとする。〕を演算し、この演算結果σ(={σ,σ,・・・,σ})をRAM(3500)の所定の格納領域に格納する(ステップS26)。なお、σ(={σ,σ,・・・,σ})はそれぞれ巡回群Gの元、即ちσ∈Gであることに留意する。このσは、署名装置の固有臨時公開鍵および署名装置で生成される撹乱臨時公開鍵を合わせた臨時公開鍵である。 Next, the σ N generation unit (7030) of the verification device (3000) reads A 0 , A 1 , and n from the RAM (3500), 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 (3500) (step S26). Note that σ N (= {σ 1 , σ 2 ,..., Σ n }) is an element of the cyclic group G, that is, σ f εG. This σ N is a temporary public key that is a combination of the unique temporary public key of the signature device and the disruptive temporary public key generated by the signature device.

続いて、検証装置(3000)のa生成部(7070)は、RAM(3500)からn、g、c、z、yをそれぞれ読み込み、a=(g^z)×(y^c)〔但しf=1,2,・・・,nとする。〕を演算し、この演算結果a(={a,a,・・・,a})をRAM(3500)の所定の格納領域に格納する(ステップS27)。なお、a(={a,a,・・・,a})はそれぞれ巡回群Gの元、即ちa∈Gであることに留意する。 Subsequently, the a N generation unit (7070) of the verification device (3000) reads n, g, c N , z N , and y N from the RAM (3500), respectively, 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 (3500) (step S27). Note that a N (= {a 1 , a 2 ,..., A n }) is an element of the cyclic group G, that is, a f ∈G.

続いて、検証装置(3000)のb生成部(7080)は、RAM(3500)からn、h、c、z、σをそれぞれ読み込み、b=(h^z)×(σ^c)〔但しf=1,2,・・・,nとする。〕を演算し、この演算結果b(={b,b,・・・,b})をRAM(3500)の所定の格納領域に格納する(ステップS28)。なお、b(={b,b,・・・,b})はそれぞれ巡回群Gの元、即ちb∈Gであることに留意する。 Subsequently, the b N generation unit (7080) of the verification apparatus (3000) reads n, h, c N , z N , and σ N from the RAM (3500), 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 (3500) (step S28). Note that b N (= {b 1 , b 2 ,..., B n }) is an element of the cyclic group G, that is, b f εG.

続いて、検証装置(3000)の判定部(7090)は、RAM(3500)からL、m、A、A、a、b、cをそれぞれ読み込み、Σf∈N (mod q)=H”(L,m,A,A,a,b) (mod q)が成立するか否かを判定し、この判定結果RをRAM(3500)の所定の格納領域に格納する(ステップS29)。このハッシュ関数H”の入力は、ステップS14の処理におけるハッシュ関数H”の入力と同じになるようにする。
この判定が成立しなかった場合(判定不成立)、署名ξは不正な署名であることが判明して検証処理を終了する(ステップS51)。ステップS51の終了処理は、不正署名の検出に成功したことに起因する終了である。
この判定が成立した場合(判定成立)、制御部(711)は、以下の署名者追跡処理を実行するように制御する。なお、以下の署名者追跡処理では、単に重複署名者の追跡をするだけでなく、同一の署名装置で作られた同一のメッセージに対する署名のコピーも検出する処理も行っている。また、説明の便宜上、重複署名ないしコピー署名は1つであるとする(つまり、二重署名ないし1個のコピー署名が存在する場合とする。)。
Subsequently, the determination unit of the verification device (3000) (7090) is, RAM (3500) from L, m, A 0, A 1, a N, b N, reads the c N respectively, Σ f∈N c f ( mod q) = H ″ (L, m, A 0 , A 1 , a N , b N ) (mod q) is determined to hold or not, and the determination result R is stored in the RAM (3500) in a predetermined manner. (Step S29) The input of the hash function H ″ is the same as the input of the hash function H ″ in the process of step S14.
If this determination is not established (determination is not established), the signature ξ is found to be an invalid signature and the verification process is terminated (step S51). The termination processing in step S51 is termination resulting from successful detection of an illegal signature.
When this determination is established (determination is established), the control unit (711) controls to execute the following signer tracking process. In the following signer tracking process, not only a duplicate signer is tracked, but also a process of detecting a copy of a signature for the same message created by the same signing device. For convenience of explanation, it is assumed that there is one duplicate signature or copy signature (that is, a case where there is a double signature or one copy signature).

[署名者追跡]
検証装置(3000)は、制御部(7110)の制御によって、その通信部(3300)を通じて、情報公開サーバ(1000)にアクセスし、情報公開サーバ(1000)の通信部(1300)を通じて送信された(ステップS4s)、情報公開サーバ(1000)の外部記憶装置(1700)に記憶される全ての署名ξ並びに各署名に対応したラベルLおよびメッセージmを受信し、これらを検証装置(3000)の外部記憶装置(3700)に保存記憶する(ステップS30)。
[Signer Tracking]
The verification device (3000) accesses the information disclosure server (1000) through the communication unit (3300) and is transmitted through the communication unit (1300) of the information disclosure server (1000) under the control of the control unit (7110). (Step S4s), all signatures ξ stored in the external storage device (1700) of the information disclosure server (1000), the label L and the message m corresponding to each signature are received, and these are received from the verification device (3000). The data is stored in the storage device (3700) (step S30).

次に、検証装置(3000)は、制御部(7110)の制御によって、外部記憶装置(3700)から読み込まれてRAM(3500)に記憶される各署名のうち、2つの署名(各署名に対応したラベルLおよびメッセージmも含む。)からなるペア〔後述の重複署名者追跡およびコピー署名の検出がまだ行われていないペアとする。〕を選択して、以下の処理を行う。ここでは、選択したペアを構成する、一方の署名並びにこの署名に対応したラベルLおよびメッセージmと、他方の署名並びにこの署名に対応したラベルLおよびメッセージmとを区別するために、〈L,m,ξ={A、c、z}〉、〈L,m’,ξ’={A’、c’、z’}〉とする〔ラベルLは共通であることに留意する。〕(ステップS31)。 Next, the verification device (3000) controls two signatures (corresponding to each signature) among the signatures read from the external storage device (3700) and stored in the RAM (3500) under the control of the control unit (7110). The label L and the message m are also included (the pair that has not yet been subjected to the duplicate signer tracking and copy signature detection described later). ] Is selected and the following processing is performed. Here, in order to distinguish one signature and the label L and the message m corresponding to the signature, and the other signature and the label L and the message m corresponding to the signature, which constitute the selected pair, <L, m, ξ = {A 1 , c N , z N }>, <L, m ′, ξ ′ = {A 1 ′, c N ′, z N ′}> [label L is common pay attention to. (Step S31).

まず、検証装置(3000)のA生成部(7010)は、RAM(3500)からラベルL、メッセージm、m’をそれぞれ読み込み、A=H’(L,m)、A’=H’(L,m’)を演算し、この演算結果A、A’をRAM(3500)の所定の格納領域に格納する(ステップS32)。 First, the A 0 generation unit (7010) of the verification device (3000) reads the label L and the messages m and m ′ from the RAM (3500), respectively, and A 0 = H ′ (L, m) and A 0 ′ = H. '(L, m') is calculated, and the calculation results A 0 and A 0 'are stored in a predetermined storage area of the RAM (3500) (step S32).

次に、検証装置(3000)のσ生成部(7030)は、RAM(3500)からA、A、A’、A’、nをそれぞれ読み込み、σ=A(A^f)〔但しf=1,2,・・・,nとする。〕およびσ’=A’(A’^f)〔但しf=1,2,・・・,nとする。〕を演算し、この演算結果σ(=(σ,σ,・・・,σ))およびσ’(=(σ’,σ’,・・・,σ’))をRAM(3500)の所定の格納領域に格納する(ステップS33)。 Next, the σ N generation unit (7030) of the verification device (3000) reads A 0 , A 1 , A 0 ′, A 1 ′, and n from the RAM (3500), respectively, and σ f = A 0 (A 1 ^ F) [where f = 1, 2,..., N. ] And σ f ′ = A 0 ′ (A 1 ′ ^ f), where f = 1, 2,..., N. ], And the calculation results σ N (= (σ 1 , σ 2 ,..., Σ n )) and σ N ′ (= (σ 1 ′, σ 2 ′,..., Σ n ′) ) Is stored in a predetermined storage area of the RAM (3500) (step S33).

次に、検証装置(3000)の重複臨時公開鍵検証部(7160)は、RAM(3500)からσ=A(A^f)〔但しf=1,2,・・・,nとする。〕およびσ’=A’(A’^f)〔但しf=1,2,・・・,nとする。〕をそれぞれ読み込み、σ=σ’が成立するか否かをf=1,2,・・・,nについて比較する(ステップS34)。
f=1,2,・・・,nの全てについてσ=σ’が成立した場合、ステップS31で選択された2つの署名は、同一の署名装置によって同一のメッセージmに対して署名生成されたものであることが判明し、少なくともいずれか一方は本来1つであるはずの署名のコピーであると特定される。そこで、重複臨時公開鍵検証部(7160)は、コピー署名を検出したことを示す情報ΩをRAM(3500)の所定の格納領域に格納する(コピー署名の検出;ステップS35)。
また、ある1つのpについてσ=σ’が成立する場合、このpに対応する署名者pが重複使用者として特定される。そこで、重複臨時公開鍵検証部(7160)は、重複署名者を示すpをRAM(3500)の所定の格納領域に格納する(重複使用者追跡;ステップS36)。
もし、f=1,2,・・・,nの全てについてσ=σ’が成立せず、かつ、ある1つのpについてσ=σ’が成立しない場合には、検証装置(3000)は、制御部(7110)の制御によって、ステップS31以降の処理を繰り返す(ステップS37)。
Next, the duplicate temporary public key verification unit (7160) of the verification device (3000) reads σ f = A 0 (A 1 ^ f) [where f = 1, 2,..., N from the RAM (3500). To do. ] And σ f ′ = A 0 ′ (A 1 ′ ^ f), where f = 1, 2,..., N. ] Are compared for f = 1, 2,..., N to determine whether or not σ f = σ f ′ is satisfied (step S34).
If σ f = σ f ′ holds for all of f = 1, 2,..., n, the two signatures selected in step S31 are generated for the same message m by the same signature device. And at least one of them is identified as a copy of the signature that should have been one. Therefore, the duplicate temporary public key verification unit (7160) stores information Ω indicating that the copy signature has been detected in a predetermined storage area of the RAM (3500) (detection of copy signature; step S35).
Further, when σ p = σ p ′ holds for a certain p, the signer p corresponding to this p is specified as a duplicate user. Therefore, the duplicate temporary public key verification unit (7160) stores p indicating the duplicate signer in a predetermined storage area of the RAM (3500) (duplicate user tracking; step S36).
If σ f = σ f ′ does not hold for all of f = 1, 2,..., And σ p = σ p ′ does not hold for a certain p , the verification device ( 3000) repeats the processing after step S31 under the control of the control unit (7110) (step S37).

既述のとおり、二重署名ないし1個のコピー署名が存在する場合としたので、f=1,2,・・・,nの全てについてσ=σ’が成立するか、あるいは、ある1つのpについてσ=σ’が成立した場合には、署名者追跡処理を終了できる。もちろん、このような限定をしない場合には、全てのペアで署名者追跡処理を行えばよい。 As described above, since there is a case where there is a double signature or one copy signature, σ f = σ f ′ holds for all of f = 1, 2,. If σ p = σ p ′ holds for one p, the signer tracking process can be terminated. Of course, when such a limitation is not made, the signer tracking process may be performed for all pairs.

このように、署名ξから得られた臨時公開鍵σ〔f=1,2,・・・,n〕には署名装置pに固有の臨時公開鍵σが含まれるので、この臨時公開鍵σが異なる署名ξ’から得られた臨時公開鍵のp番目の臨時公開鍵σ’と一致する場合、この臨時公開鍵σを生成した署名者が重複使用者であると特定することができる。このことによって、署名の重複使用を防止することが可能となる。 Thus, the temporary public key σ f [f = 1, 2,..., N] obtained from the signature ξ includes the temporary public key σ p unique to the signature device p. If σ p matches the p-th temporary public key σ p ′ of the temporary public key obtained from a different signature ξ ′, the signer who generated this temporary public key σ p is identified as a duplicate user Can do. This makes it possible to prevent duplicate use of signatures.

また、撹乱臨時公開鍵は、メッセージmおよび固有臨時公開鍵を変数とした関数として表されることから、署名ξから得られた臨時公開鍵σと、署名ξ’から得られた臨時公開鍵σ’とが、f=1,2,・・・,nについて全て一致する場合は、署名ξおよび署名ξ’は、同一の署名装置によって同一のメッセージに対して生成されたものと言える。従って、どの署名装置によって生成された署名であるかは判別できないものの、全てのf=1,2,・・・,nについてσ=σ’が成立する関係にある複数の署名は、実質的に1個の署名として取り扱うことができる。 The disturbing temporary public key is expressed as a function using the message m and the unique temporary public key as variables, so that the temporary public key σ f obtained from the signature ξ and the temporary public key obtained from the signature ξ ′. If σ f ′ is the same for all f = 1, 2,..., n, it can be said that the signature ξ and the signature ξ ′ are generated for the same message by the same signature device. Therefore, although it cannot be determined by which signature device the signature is generated, a plurality of signatures having a relationship in which σ f = σ f ′ holds for all f = 1, 2,. Can be handled as a single signature.

以上に説明した重複使用者追跡可能署名方式は、例えば電子投票や電子現金方式に適用可能である。詳しい情報処理(例えば具体的な演算手段、送信手段、記憶手段などの情報処理の主体や、各主体の行う情報処理の具体的内容など)については以上に説明した重複使用者追跡可能署名方式を参照すべきであるから、以下、上記の重複使用者追跡可能署名方式の適用例を簡単に説明する。   The overlapping user traceable signature method described above can be applied to, for example, electronic voting and electronic cash methods. For detailed information processing (for example, the subject of information processing such as specific computing means, transmission means, storage means, and the specific contents of information processing performed by each subject), the duplicate user traceable signature method described above is used. Since it should be referred to, an application example of the above-described duplicate user traceable signature scheme will be briefly described below.

<適用例1:電子投票>
重複使用者追跡可能署名方式における署名者(署名装置)が投票者(電子投票装置;以下、単に投票装置という。)になり、検証者(検証装置)が集計者(開票装置)になる。投票者の集合をN={1,2,・・・,n}とする。
<Application example 1: Electronic voting>
A signer (signature device) in the duplicate user traceable signature method becomes a voter (electronic voting device; hereinafter simply referred to as a voting device), and a verifier (verification device) becomes a totalizer (voting device). Let N = {1, 2,..., N} be a set of voters.

[鍵生成]
まず、情報公開サーバ(1000)には、選挙名(例えば、「平成○○年××月市長リコール選挙」とする。)、投票内容(例えば、市長のリコールに「賛成」あるいは「反対」とする。)を特定する情報Lを公開する。
[Key generation]
First, in the information disclosure server (1000), the name of the election (for example, “Heisei XX year ×× month mayor recall election”), the contents of the vote (for example, “agree” or “disagree” for the recall of the mayor) The information L 0 specifying the above is disclosed.

投票者iの投票装置iは、重複使用者追跡可能署名方式において説明したように鍵生成を行い、公開鍵yをPKIに登録し、情報公開サーバ(1000)で公開鍵yが公開される。 The voter i of the voter i generates a key as described in the duplicate user traceable signature method, registers the public key y i in the PKI, and the public key y i is released by the information disclosure server (1000). The

情報公開サーバ(1000)のラベル生成部が、情報Lおよび投票者の公開鍵のリストyからラベルL=(L,y)を生成して公開する。このラベルLは、各投票装置に提供される。 The label generation unit of the information disclosure server (1000) generates and publishes a label L = (L 0 , y N ) from the information L 0 and the voter's public key list y N. This label L is provided to each voting device.

[投票]
投票者iは、投票内容mを決定し、投票装置iを用いて投票を行う。ここで、投票装置iは、情報公開サーバ(1000)から取得したラベルLおよび投票内容mから、重複使用者追跡可能署名方式において説明した署名ξを生成し、ラベルL、投票内容m、署名ξを(認証のない)匿名通信路を通じて情報公開サーバ(1000)に送信する。
[Voting]
The voter i determines the content of the vote m and votes using the voting device i. Here, the voting apparatus i generates the signature ξ i described in the duplicate user traceable signature scheme from the label L and the voting content m acquired from the information disclosure server (1000), and the label L, the voting content m, the signature ξ i is transmitted to the information disclosure server (1000) through the anonymous communication path (without authentication).

[開票]
開票装置は、情報公開サーバ(1000)からある投票内容(例えば「賛成」を表す投票内容とする。)の全署名を取得し、重複使用者追跡可能署名方式において説明した署名検証によって、各署名を検証する。検証に不合格の投票は全て不正として破棄する(不正な署名の付いた投票を計数しない。)。
[Voting]
The vote counting device acquires all signatures of certain voting contents (for example, voting contents indicating “agree”) from the information disclosure server (1000), and each signature is verified by signature verification described in the duplicate user traceable signature method. To verify. All votes that fail validation are discarded as fraud (does not count votes with illegal signatures).

次に、開票装置は、重複使用者追跡可能署名方式において説明した署名者追跡によって、重複署名者を検出する。もし重複署名者を検出した場合には、この投票装置から投票された署名付き投票を破棄し(不正な重複署名の付いた投票を計数しない。)、この重複署名者のIDを情報公開サーバ(1000)に送信して、情報公開サーバ(1000)において重複署名者のIDや公開鍵を公開する。さらに、投票のコピー(つまり、同一の投票者が、同一の投票内容を複数回投票したものである。)を検出するようにして、コピーが検出された場合には、1つを除き残りのコピーを破棄する。投票のコピーの検出は、投票に付された署名について上記ステップS35の処理を行うことで実現される。   Next, the vote counting device detects the duplicate signer by the signer tracking described in the duplicate user traceable signature method. If a duplicate signer is detected, the signed vote voted from this voting device is discarded (votes with illegal duplicate signatures are not counted), and the ID of this duplicate signer is assigned to the information disclosure server ( 1000), and the ID and public key of the duplicate signer are disclosed in the information disclosure server (1000). In addition, if a copy of a vote is detected (ie, the same voter has voted the same vote content multiple times), and if a copy is detected, the remaining ones are excluded. Discard the copy. Detection of a copy of the vote is realized by performing the process of step S35 on the signature attached to the vote.

そして、開票装置は、投票内容mごとに上記の処理を行い、開票装置の集計手段〔所定のプログラムがCPUで解釈・実行されて実現される。〕は、投票内容mごとに投票数を計数して、これを情報公開サーバ(1000)に送信し、情報公開サーバ(1000)において投票内容mごとの投票数を公開する。   Then, the vote-tapping device performs the above-described processing for each vote content m, and implements the counting means [a predetermined program is interpreted and executed by the CPU. ] Counts the number of votes for each vote content m, transmits it to the information disclosure server (1000), and releases the number of votes for each vote content m in the information disclosure server (1000).

<適用例2:電子現金方式>
重複使用者追跡可能署名方式における署名者(署名装置)が利用者(利用者装置)になり、検証者(検証装置)が店舗(店舗装置)および銀行(銀行の検証装置)になり、PKIの運営者が銀行になる。また、銀行が情報公開サーバを管理し、重複使用者の検出は、銀行の検証装置で行うとする。
利用者の集合をN={1,2,・・・,n}とする。
<Application example 2: Electronic cash method>
The signer (signature device) in the duplicate user traceable signature method becomes a user (user device), the verifier (verification device) becomes a store (store device) and a bank (bank verification device), and the PKI The operator becomes a bank. Further, it is assumed that the bank manages the information disclosure server, and the duplicate user detection is performed by the bank verification device.
Let N = {1, 2,..., N} be a set of users.

[鍵生成:口座開設]
利用者iの利用者装置iは、重複使用者追跡可能署名方式において説明したように鍵生成を行い、公開鍵yを例えば銀行の公開鍵登録サーバ装置に登録し、情報公開サーバ(1000)で公開鍵yが公開される。
[Key generation: Open account]
The user device i of the user i generates a key as described in the duplicate user traceable signature method, registers the public key y i in, for example, the public key registration server device of the bank, and the information disclosure server (1000) The public key y i is released.

[引出]
以下、引出、振込、払戻は、銀行の口座管理装置によって行うとする。引出、振込、払戻の具体的な処理や口座管理装置の構成は公知の電子現金システムなどで実現するから、これらの詳細な説明は省略し、重複使用者追跡可能署名方式の電子現金方式への適用に焦点を当てて説明する。
[Drawer]
Hereinafter, it is assumed that withdrawal, transfer, and withdrawal are performed by a bank account management device. Detailed processing of withdrawals, transfers, and withdrawals and the configuration of the account management device are realized by a known electronic cash system, etc., so these detailed explanations will be omitted, and the electronic cash method of the double user traceable signature method will be omitted. The explanation will focus on the application.

銀行の口座管理装置は、銀行名、利用者iが電子現金として用いる金額(電子現金の額面額である。)、有効期限などを特定する情報Lを決定し、情報Lと利用者全員の公開鍵yとからラベルL=(L,y)を決定する。 The bank account management device determines the information L 0 that specifies the bank name, the amount used by the user i as electronic cash (the face value of electronic cash), the expiration date, etc., and the information L 0 and all users The label L = (L 0 , y N ) is determined from the public key y N.

銀行の口座管理装置は、利用者iの口座からラベルLの定める(より具体的には、情報Lを構成する金額である。)金額を引き落とす。この引き落としも、公知の電子現金システムに拠ればよい(実際に現金を引き落とすのではなく、例えば、残高を示すデータを引き落とし後の金額に書き換えればよい。)。 Bank of account management device shall be determined from the account of the user i of the label L (more specifically, is the amount of money that make up the information L 0.) Withdraw the amount. This deduction may also be based on a known electronic cash system (instead of actually deducting cash, for example, data indicating the balance may be rewritten with the amount after deduction).

銀行の口座管理装置は、ラベルLおよびラベルLに対する銀行の署名Sig(L)を情報公開サーバで公開する。   The bank account management apparatus publishes the label L and the bank signature Sig (L) for the label L on the information disclosure server.

[支払]
利用者iから電子現金での支払いを受ける店舗装置は、店舗を特定する情報と、取引を特定する情報(例えば取引金額、取引日時などである。)とを含む取引情報mを決定し、利用者装置iに送信する。
[payment]
The store apparatus that receives payment by electronic cash from the user i determines and uses transaction information m including information specifying the store and information specifying the transaction (for example, transaction amount, transaction date and time). To the user device i.

利用者装置iは、情報公開サーバからはラベルLおよびラベルLに対する署名Sig(L)を受信し、店舗装置からは取引情報mを受信し、ラベルLと取引情報mとから重複使用者追跡可能署名方式において説明した署名ξを生成する。そして、利用者装置iは、ラベルL,取引情報m、署名ξの組を電子現金とし、この電子現金(L,m,ξ)と銀行の署名Sig(L)を店舗装置に送信する。   User device i receives label L and signature Sig (L) for label L from the information disclosure server, receives transaction information m from the store device, and can track duplicate users from label L and transaction information m The signature ξ described in the signature method is generated. Then, the user device i uses the combination of the label L, the transaction information m, and the signature ξ as electronic cash, and transmits the electronic cash (L, m, ξ) and the bank signature Sig (L) to the store device.

店舗装置は、重複使用者追跡可能署名方式において説明した署名検証によって、電子現金(L,m,ξ)を検証する。また、店舗装置は、公知の署名検証方法によって、銀行の署名Sig(L)を検証する(例えば、銀行の公開鍵が情報公開サーバに公開されているとして、この銀行の公開鍵を情報公開サーバから取得し、この銀行の公開鍵で署名Sig(L)を検証すればよい。)。   The store apparatus verifies the electronic cash (L, m, ξ) by the signature verification described in the duplicate user traceable signature method. Further, the store apparatus verifies the signature Sig (L) of the bank by a known signature verification method (for example, assuming that the public key of the bank is disclosed to the information disclosure server, the public key of the bank is used as the information disclosure server). And verify the signature Sig (L) with the bank's public key.)

上記の検証がいずれも成立すると、店舗装置は、電子現金(L,m,ξ)を銀行の検証装置に送信する。   When both of the above verifications are established, the store apparatus transmits electronic cash (L, m, ξ) to the bank verification apparatus.

銀行の検証装置は、店舗装置から電子現金(L,m,ξ)を受信すると、重複使用者追跡可能署名方式において説明した署名検証によって、電子現金(L,m,ξ)を検証する。銀行の検証装置は、電子現金(L,m,ξ)の検証が成立した場合には、銀行の口座管理装置は、店舗の口座にラベルLの定める現金を振り込む。   When receiving the electronic cash (L, m, ξ) from the store device, the bank verification device verifies the electronic cash (L, m, ξ) by the signature verification described in the duplicate user traceable signature method. When the verification of the electronic cash (L, m, ξ) is established, the bank verification device transfers the cash determined by the label L to the store account.

[電子現金の重複使用、電子現金のコピー検出]
銀行の検証装置は、電子現金(L,m,ξ)の検証が成立しなかった場合には、重複使用者追跡可能署名方式において説明した署名者追跡によって、電子現金の重複使用および電子現金のコピーを検出する。ここで電子現金の重複使用は、異なる取引において利用者が電子現金を重複使用したことを意味する。つまり、利用者による電子現金の不正利用である。また、電子現金のコピーは、店舗(装置)が、利用者(装置)から受信した電子現金を銀行に複数回送信したことを意味する。つまり、店舗による電子現金の不正利用である。
そこで、この検出によって電子現金の重複使用が行われたと判定できた場合には、重複利用した利用者のID等を情報公開サーバで公開し、銀行取引を停止すればよい。また、電子現金のコピーが検出された場合には、コピーを生成した店舗名(この店舗名は、取引情報mに含まれる。)を情報公開サーバで公開し、銀行取引を停止すればよい。
[Duplicate use of electronic cash, copy detection of electronic cash]
If the verification of the electronic cash (L, m, ξ) is not established, the bank verification device uses the electronic cash for the duplicate use and the electronic cash by the signer tracking described in the duplicate user traceable signature method. Detect copy. Here, the overlapping use of electronic cash means that the user has used electronic cash repeatedly in different transactions. That is, it is an unauthorized use of electronic cash by a user. Moreover, the copy of electronic cash means that the store (apparatus) transmitted the electronic cash received from the user (apparatus) to the bank a plurality of times. That is, it is illegal use of electronic cash by a store.
Therefore, if it can be determined that the electronic cash has been duplicated by this detection, the ID of the user who has used the duplicated cash is disclosed on the information disclosure server and the bank transaction is stopped. When a copy of electronic cash is detected, the name of the store that generated the copy (this store name is included in the transaction information m) may be disclosed on the information disclosure server, and the bank transaction may be stopped.

[払戻]
利用者は、ラベルLの定める有効期限を経過した未使用の電子現金を保持している場合には、この未使用の電子現金を銀行の検証装置に対して送信して、払戻のための呈示を行う。
[Refund]
When the user holds unused electronic cash whose expiration date stipulated by the label L has passed, the user transmits the unused electronic cash to the bank verification device and presents it for refund. I do.

利用者装置から未使用の電子現金を受信することによって払戻のための電子現金の呈示を受けた銀行の検証装置は、利用者装置から電子現金(L,m,ξ)を受信すると、重複使用者追跡可能署名方式において説明した署名検証、署名者追跡、コピー署名検出によって、電子現金(L,m,ξ)を検証する。銀行の検証装置が電子現金(L,m,ξ)のいずれの検証にも成功した場合には、銀行の口座管理装置は、利用者の口座に取引情報mの定める現金を振り込む(実際に現金を振り込むのではなく、例えば、残高を示すデータを振り込み後の金額に書き換えればよい。)。
振込みによる払戻については、公知の電子現金システムに拠ればよいので、詳細な説明を略して簡潔に記すに留める。
A bank verification device that has received electronic cash for refund by receiving unused electronic cash from a user device receives duplicate electronic cash (L, m, ξ) from the user device. The electronic cash (L, m, ξ) is verified by the signature verification, signer tracking, and copy signature detection described in the person traceable signature method. If the verification device of the bank succeeds in verifying any of the electronic cash (L, m, ξ), the bank account management device transfers the cash determined by the transaction information m to the user's account (actually cash (For example, the data indicating the balance may be rewritten to the amount after the transfer).
The payout by transfer may be based on a publicly known electronic cash system, so a detailed description will be omitted and only a brief description will be given.

重複に署名を行った者を特定可能な重複使用者追跡可能署名方式を、電子投票、電子現金に適用することで、例えば投票内容に添付するためのブラインド署名を発行する従来的な選挙管理者と云う信頼できるサーバ装置が不要になる。   A conventional election manager that issues a blind signature to attach to the contents of a vote, for example, by applying a duplicate user traceable signature method that can identify the person who has signed a duplicate to electronic voting and electronic cash This eliminates the need for a reliable server device.

閾値つき電子署名システムの構成例と流れを示す図。The figure which shows the structural example and flow of an electronic signature system with a threshold value. 参加装置910−iの機能構成例を示す図。The figure which shows the function structural example of participation apparatus 910-i. 鍵生成部911−iの処理フローを示す図。The figure which shows the processing flow of the key generation part 911-i. 乱数生成部912−iの処理フローを示す図。The figure which shows the processing flow of the random number generation part 912-i. 署名生成部920の機能構成例を示す図。The figure which shows the function structural example of the signature production | generation part 920. FIG. 署名生成部920の処理フローを示す図。The figure which shows the processing flow of the signature production | generation part 920. 署名検証部930の機能構成例を示す図。The figure which shows the function structural example of the signature verification part 930. FIG. 署名検証部930での署名σ(m)を検証するフローを示す図。The figure which shows the flow which verifies signature (sigma) (m) in the signature verification part 930. FIG. 第1実施形態の閾値つき電子署名システムの構成例と流れを示す図。The figure which shows the structural example and flow of a digital signature system with a threshold value of 1st Embodiment. 参加者装置110−iの機能構成例を示す図。The figure which shows the function structural example of participant apparatus 110-i. 署名生成部120の機能構成例を示す図。The figure which shows the function structural example of the signature production | generation part 120. FIG. 署名検証部130の機能構成例を示す図。The figure which shows the function structural example of the signature verification part 130. FIG. 第1実施形態での電子署名システムの処理フローを示す図。The figure which shows the processing flow of the electronic signature system in 1st Embodiment. 第2実施形態の閾値つき電子署名システムの構成例と流れを示す図。The figure which shows the structural example and flow of a digital signature system with a threshold value of 2nd Embodiment. 参加者装置210−iの機能構成例を示す図。The figure which shows the function structural example of participant apparatus 210-i. 署名生成部220の機能構成例を示す図。The figure which shows the function structural example of the signature production | generation part 220. FIG. 署名検証部230の機能構成例を示す図。FIG. 3 is a diagram illustrating an example of a functional configuration of a signature verification unit 230. 第2実施形態での電子署名システムの処理フローを示す図。The figure which shows the processing flow of the electronic signature system in 2nd Embodiment. 情報公開サーバ(1000)のハードウェア構成例を示す図。The figure which shows the hardware structural example of an information disclosure server (1000). 署名装置(2000)のハードウェア構成例を示す図。The figure which shows the hardware structural example of a signature apparatus (2000). 検証装置(3000)のハードウェア構成例を示す図。The figure which shows the hardware structural example of a verification apparatus (3000). 重複使用者追跡可能方式におけるシステム構成例を示す図。The figure which shows the system structural example in a duplication user traceable system. 情報公開サーバ(1000)における処理フローを示す図。The figure which shows the processing flow in an information disclosure server (1000). 署名装置(2000)の機能構成例を示す図。The figure which shows the function structural example of a signature apparatus (2000). 署名装置(2000)における処理フローを示す図(その1)。The figure which shows the processing flow in a signature apparatus (2000) (the 1). 署名装置(2000)における処理フローを示す図(その2)。The figure which shows the processing flow in a signature apparatus (2000) (the 2). 署名後における状態を示す図。The figure which shows the state after signature. 検証装置(3000)の機能構成例を示す図。The figure which shows the function structural example of a verification apparatus (3000). 検証装置(3000)における処理フローを示す図(その1)。The figure which shows the processing flow in a verification apparatus (3000) (the 1). 検証装置(3000)における処理フローを示す図(その2)。The figure which shows the processing flow in a verification apparatus (3000) (the 2).

Claims (21)

Gを離散対数問題が難しい位数qの巡回群、G is a cyclic group of order q where the discrete logarithm problem is difficult,
gを巡回群Gの生成元、g is the generator of the cyclic group G,
Z q を位数qの加法群、Is an additive group of order q,
Hを0と1からなる任意長さのビット列の集合を定義域とし巡回群Gを値域とするハッシュ関数、A hash function in which H is a set of bit strings of arbitrary lengths consisting of 0 and 1, and a cyclic group G is a range;
H’を0と1からなる任意長さのビット列の集合を定義域とし巡回群Gを値域とするハッシュ関数、A hash function in which H ′ is a set of bit strings of arbitrary lengths consisting of 0 and 1, and a cyclic group G is a range;
H”を0と1からなる任意長さのビット列の集合を定義域とし加法群ZAddition group Z with H ″ as a domain defined by a set of bit strings of arbitrary length consisting of 0 and 1 q を値域とするハッシュ関数、A hash function whose range is
mをメッセージとし、Let m be a message,
n台(nは2以上の予め定められた整数)の参加者装置(以下、n台の参加者装置の集合を集合Nとする)に含まれるs台の参加者装置(以下、s台の参加者装置の集合を集合Sとする)が電子署名を行う電子署名方法であって、s number of participant devices (hereinafter, s number of devices) included in n number of participant devices (n is a predetermined integer of 2 or more) (hereinafter, a set of n number of participant devices is referred to as a set N) A set of participant devices is a set S) is an electronic signature method for performing an electronic signature,
集合Nに属する各参加者装置i(i=1,…,n)の鍵生成部が、秘密鍵xThe key generation unit of each participant device i (i = 1,..., N) belonging to the set N receives the secret key x i ∈Z∈Z q を選択し、公開鍵ySelect the public key y i =g^x= G ^ x i ∈Gを生成するステップと、Generating ∈G;
署名生成装置の集合選定部が、T⊆S⊆T’⊆Nを満足する集合Tに属する参加者装置(ただし、集合Tに属する参加者装置はt台とする)と集合T’に属する参加者装置(ただし、集合T’に属する参加者装置はt’台とする)とをそれぞれ集合Nから選定するステップと、The set selection unit of the signature generation device has participant devices belonging to the set T satisfying T⊆S⊆T'⊆N (provided that t participant devices belong to the set T) and participations belonging to the set T ′. Selecting each participant device (however, the participant devices belonging to the set T ′ are t ′ units) from the set N;
署名生成装置の選定部が、0と1からなるkビットのビット列rを選定するステップと、A step of selecting a k-bit bit string r consisting of 0 and 1 by a selection unit of the signature generation device;
集合Sに属する各参加者装置i(i=1,…,s)の鍵生成部が、秘密鍵xThe key generation unit of each participant device i (i = 1,..., S) belonging to the set S performs the secret key x i を用いて、使い捨て公開鍵σ, The disposable public key σ i =h^x= H ^ x i (ただし、h=H(n,t,t’,y(Where h = H (n, t, t ', y 1 ,…,y, ..., y n ,m,r)∈G)を生成するステップと、, M, r) ∈ G);
署名生成装置の使い捨て公開鍵選定部が、集合T’−Sに属する各参加者装置i(i=s+1,…,t’)の使い捨て公開鍵σThe disposable public key selection unit of the signature generation device uses the disposable public key σ of each participant device i (i = s + 1,..., T ′) belonging to the set T′-S. i を巡回群Gから任意に選定するステップと、Arbitrarily selecting from the cyclic group G;
署名生成装置の計算部が、集合T’に属する各参加者装置i(i=1,…,t’)の使い捨て公開鍵σThe calculation unit of the signature generation device uses the disposable public key σ of each participant device i (i = 1,..., T ′) belonging to the set T ′. i (i=1,…,t’)を用いて、(I = 1,..., T ′)
Figure 0004790422
Figure 0004790422

とし、age,
A 0 =H’(n,t,t’,y= H '(n, t, t', y 1 ,…,y, ..., y n ,m,r)∈G、, M, r) ∈ G,
Figure 0004790422
Figure 0004790422

(j=1,…,t’)とし、集合N−T’に属する各参加者装置(i=t’+1,…,n)の使い捨て公開鍵(J = 1,..., T ′) and the disposable public key of each participant device (i = t ′ + 1,..., N) belonging to the set N-T ′
Figure 0004790422
Figure 0004790422

を計算するステップと、A step of calculating
集合Sに属する各参加者装置i(i=1,…,s)の計算部が、任意の元wThe calculation unit of each participant device i (i = 1,..., S) belonging to the set S is an arbitrary element w i ∈Z∈Z q を選定し、当該元wSelect the source w i を用いて、aUsing a i =g^w= G ^ w i ∈Gとb∈G and b i =h^w= H ^ w i ∈Gを生成するステップと、Generating ∈G;
署名生成装置の元生成部が、集合N−Sに属する各参加者装置i(i=s+1,…,n)に対応する任意のzAn arbitrary generation unit corresponding to each participant apparatus i (i = s + 1,..., N) belonging to the set NS is generated by the original generation unit of the signature generation apparatus. i ∈Z∈Z q と任意のcAnd any c i ∈Z∈Z q を選定し、aAnd select a i =(g^z= (G ^ z i )(y) (Y i ^c^ C i )∈Gとb) ∈G and b i =(h^z= (H ^ z i )(σ) (Σ i ^c^ C i )∈Gとを生成するステップと、) ΕG, and
署名生成装置の元選定部が、集合S−Tに属する各参加者装置i(i=t+1,…,s)に対応する任意の元cAn element c corresponding to each participant apparatus i (i = t + 1,..., S) belonging to the set ST by the element selection unit of the signature generation apparatus i ∈Z∈Z q を選定するステップと、A step of selecting
署名生成装置の多項式計算部が、The polynomial calculation unit of the signature generation device
β(0)=H”(n,t,t’,yβ (0) = H ″ (n, t, t ′, y 11 ,…,y, ..., y nn ,m,r,h,A, m, r, h, A 00 ,…,A, ..., A t’t ’ ,a, a 11 ,…,a, ..., a nn ,b, b 11 ,…,b, ..., b nn )∈Z) ∈Z q
β(i)=cβ (i) = c i ∈Z∈Z q (ただし、i=t+1,…,n)(Where i = t + 1,..., N)
を満足する次数(n−t)の多項式β(x)∈ZA polynomial β (x) ∈Z of degree (nt) satisfying q [x]を求めるステップと、Obtaining [x];
集合Sに属する各参加者装置i(i=1,…,s)の計算部が、秘密鍵xThe calculation unit of each participant device i (i = 1,..., S) belonging to the set S performs the secret key x i を用いて、zTo use z i =w= W i −β(i)x-Β (i) x i ∈Z∈Z q を求めるステップと、A step of seeking
署名生成装置の署名生成部が、電子署名σ=(r,AThe signature generation unit of the signature generation apparatus receives the electronic signature σ = (r, A 1 ,…,A, ..., A t’t ’ ,β(x),z, Β (x), z 1 ,…,z, ..., z n )を出力するステップと) And output step
を有する電子署名方法。An electronic signature method comprising:
請求項1に記載の電子署名方法によって生成された上記電子署名σの検証方法であって、A method for verifying the electronic signature σ generated by the electronic signature method according to claim 1,
署名検証装置の検証部が、The verification unit of the signature verification device
請求項1に記載の電子署名方法で用いられた巡回群G、巡回群Gの生成元g、加法群ZThe cyclic group G, the generator g of the cyclic group G, and the additive group Z used in the electronic signature method according to claim 1 q 、ハッシュ関数H、ハッシュ関数H’、ハッシュ関数H”、n、t、t’、集合Nに属する各参加者装置i(i=1,…,n)の公開鍵y, Hash function H, hash function H ′, hash function H ″, n, t, t ′, public key y of each participant device i (i = 1,..., N) belonging to set N 1 ,…,y, ..., y n 、メッセージm、電子署名σ=(r,A, Message m, electronic signature σ = (r, A 1 ,…,A, ..., A t’t ’ ,β(x),z, Β (x), z 1 ,…,z, ..., z n )を用いて、)Using,
電子署名σに含まれるrが0と1のビット列であること、h=H(n,t,t’,yR included in the electronic signature σ is a bit string of 0 and 1, h = H (n, t, t ′, y 1 ,…,y, ..., y n ,m,r)が巡回群Gの元であること、A, M, r) is an element of the cyclic group G, A 0 =H’(n,t,t’,y= H '(n, t, t', y 1 ,…,y, ..., y n ,m,r)が巡回群Gの元であること、電子署名σに含まれるA, M, r) is an element of the cyclic group G, A included in the electronic signature σ 1 ,…,A, ..., A t’t ’ がそれぞれ巡回群Gの元であること、電子署名σに含まれるzAre elements of the cyclic group G, z included in the electronic signature σ 1 ,…,z, ..., z n がそれぞれ加法群ZAre additive groups Z q の元であること、を確認するステップと、A step of confirming that
Figure 0004790422
Figure 0004790422

で求められるσCalculated by i (i=1,…,n)が巡回群Gの元であることを確認するステップと、Confirming that (i = 1,..., N) is an element of the cyclic group G;
電子署名σに含まれる多項式β(x)、zPolynomial β (x), z included in electronic signature σ 1 ,…,z, ..., z n を用いて、Using,
Figure 0004790422
Figure 0004790422

(i=1,…,n)を求め、電子署名σに含まれる多項式β(x)の各係数が加法群Z(I = 1,..., N) is obtained, and each coefficient of the polynomial β (x) included in the electronic signature σ is added to the additive group Z. q の元であること、多項式β(x)の次数がn−tであること、β(0)=H”(n,t,t’,y, The degree of the polynomial β (x) is n−t, β (0) = H ″ (n, t, t ′, y 11 ,…,y, ..., y nn ,m,r,h,A, m, r, h, A 00 ,…,A, ..., A t’t ’ ,a, a 11 ’,…,a’, ..., a nn ’,b’, B 11 ’,…,b’,…, B nn ’)であることを確認するステップと’) And confirming that
を有する検証方法。A verification method.
Gを離散対数問題が難しい位数qの巡回群、G is a cyclic group of order q where the discrete logarithm problem is difficult,
g、Rをそれぞれ巡回群Gの生成元、g and R are generators of the cyclic group G,
Z q を位数qの加法群、Is an additive group of order q,
Hを0と1からなる任意長さのビット列の集合を定義域とし巡回群Gを値域とするハッシュ関数、A hash function in which H is a set of bit strings of arbitrary lengths consisting of 0 and 1, and a cyclic group G is a range;
H’を0と1からなる任意長さのビット列の集合を定義域とし巡回群Gを値域とするハッシュ関数、A hash function in which H ′ is a set of bit strings of arbitrary lengths consisting of 0 and 1, and a cyclic group G is a range;
H”を0と1からなる任意長さのビット列の集合を定義域とし加法群ZAddition group Z with H ″ as a domain defined by a set of bit strings of arbitrary length consisting of 0 and 1 q を値域とするハッシュ関数、A hash function whose range is
mをメッセージとし、Let m be a message,
n台(nは2以上の予め定められた整数)の参加者装置(以下、n台の参加者装置の集合を集合Nとする)に含まれるs台の参加者装置(以下、s台の参加者装置の集合を集合Sとする)が電子署名を行う電子署名方法であって、s number of participant devices (hereinafter, s number of devices) included in n number of participant devices (n is a predetermined integer of 2 or more) (hereinafter, a set of n number of participant devices is referred to as a set N) A set of participant devices is a set S) is an electronic signature method for performing an electronic signature,
集合Nに属する各参加者装置i(i=1,…,n)の鍵生成部が、秘密鍵xThe key generation unit of each participant device i (i = 1,..., N) belonging to the set N receives the secret key x i ∈Z∈Z q を選択し、公開鍵ySelect the public key y i =g^x= G ^ x i ∈Gを生成するステップと、Generating ∈G;
署名生成装置の集合選定部が、T⊆S⊆T’⊆Nを満足する集合Tに属する参加者装置(ただし、集合Tに属する参加者装置はt台とする)と集合T’に属する参加者装置(ただし、集合T’に属する参加者装置はt’台とする)とをそれぞれ集合Nから選定するステップと、The set selection unit of the signature generation device has participant devices belonging to the set T satisfying T⊆S⊆T'⊆N (provided that t participant devices belong to the set T) and participations belonging to the set T ′. Selecting each participant device (however, the participant devices belonging to the set T ′ are t ′ units) from the set N;
集合Sに属する各参加者装置i(i=1,…,s)の鍵生成部が、任意の元xThe key generation unit of each participant device i (i = 1,..., S) belonging to the set S performs an arbitrary element x i ’∈Z′ ∈Z q を選び、秘密鍵xSelect the secret key x i ∈Z∈Z q を用いて、使い捨て公開鍵σ, The disposable public key σ i =(h^x= (H ^ x i )(R^x) (R ^ x i ’)(ただし、h=H(n,t,t’,y′) (Where h = H (n, t, t ′, y 1 ,…,y, ..., y n ,m)∈G)を生成するステップと、, M) εG);
署名生成装置の使い捨て公開鍵選定部が、集合T’−Sに属する各参加者装置i(i=s+1,…,t’)の使い捨て公開鍵σThe disposable public key selection unit of the signature generation device uses the disposable public key σ of each participant device i (i = s + 1,..., T ′) belonging to the set T′-S. i を巡回群Gから任意に選定するステップと、Arbitrarily selecting from the cyclic group G;
署名生成装置の計算部が、集合T’に属する各参加者装置i(i=1,…,t’)の使い捨て公開鍵σThe calculation unit of the signature generation device uses the disposable public key σ of each participant device i (i = 1,..., T ′) belonging to the set T ′. i (i=1,…,t’)を用いて、(I = 1,..., T ′)
Figure 0004790422
Figure 0004790422

とし、age,
A 0 =H’(n,t,t’,y= H '(n, t, t', y 1 ,…,y, ..., y n ,m)∈G、, M) ∈ G,
Figure 0004790422
Figure 0004790422

(j=1,…,t’)とし、集合N−T’に属する各参加者装置(i=t’+1,…,n)の使い捨て公開鍵(J = 1,..., T ′) and the disposable public key of each participant device (i = t ′ + 1,..., N) belonging to the set N-T ′
Figure 0004790422
Figure 0004790422

を計算するステップと、A step of calculating
集合Sに属する各参加者装置i(i=1,…,s)の計算部が、任意の元wThe calculation unit of each participant device i (i = 1,..., S) belonging to the set S is an arbitrary element w i 、w, W i ’∈Z′ ∈Z q を選定し、当該元wSelect the source w i 、w, W i ’を用いて、a' i =g^w= G ^ w i ∈Gとb∈G and b i =(h^w= (H ^ w i )(R^w) (R ^ w i ’)∈Gを生成するステップと、′) Generating ∈G;
署名生成装置の元生成部が、集合N−Sに属する各参加者装置i(i=s+1,…,n)に対応する任意のzAn arbitrary generation unit corresponding to each participant apparatus i (i = s + 1,..., N) belonging to the set NS is generated by the original generation unit of the signature generation apparatus. i 、z, Z i ’、c', C i ∈Z∈Z q を選定し、aAnd select a i =(g^z= (G ^ z i )(y) (Y i ^c^ C i )∈Gとb) ∈G and b i =(h^z= (H ^ z i )(R^z) (R ^ z i ’)(σ’) (Σ i ^c^ C i )∈Gとを生成するステップと、) ΕG, and
署名生成装置の元選定部が、集合S−Tに属する各参加者装置i(i=t+1,…,s)に対応する任意の元cAn element c corresponding to each participant apparatus i (i = t + 1,..., S) belonging to the set ST by the element selection unit of the signature generation apparatus i ∈Z∈Z q を選定するステップと、A step of selecting
署名生成装置の多項式計算部が、The polynomial calculation unit of the signature generation device
β(0)=H”(n,t,t’,yβ (0) = H ″ (n, t, t ′, y 11 ,…,y, ..., y nn ,m,h,A, m, h, A 00 ,…,A, ..., A t’t ’ ,a, a 11 ,…,a, ..., a nn ,b, b 11 ,…,b, ..., b nn )∈Z) ∈Z q
β(i)=cβ (i) = c i ∈Z∈Z q (ただし、i=t+1,…,n)(Where i = t + 1,..., N)
を満足する次数(n−t)の多項式β(x)∈ZA polynomial β (x) ∈Z of degree (nt) satisfying q [x]を求めるステップと、Obtaining [x];
集合Sに属する各参加者装置i(i=1,…,s)の計算部が、秘密鍵xThe calculation unit of each participant device i (i = 1,..., S) belonging to the set S performs the secret key x i 、x, X i ’を用いて、z'To use z i =w= W i −β(i)x-Β (i) x i ∈Z∈Z q 、z, Z i ’=w’= W i ’−β(i)x'-Β (i) x i ’∈Z′ ∈Z q を求めるステップと、A step of seeking
署名生成装置の署名生成部が、電子署名σ=(AThe signature generation unit of the signature generation apparatus receives the electronic signature σ = (A 1 ,…,A, ..., A t’t ’ ,β(x),z, Β (x), z 1 ,…,z, ..., z n ,z, Z 1 ’,…,z', ..., z n ’)を出力するステップと′) Output step;
を有する電子署名方法。An electronic signature method comprising:
請求項3に記載の電子署名方法によって生成された上記電子署名σの検証方法であって、A method for verifying the electronic signature σ generated by the electronic signature method according to claim 3,
署名検証装置の検証部が、The verification unit of the signature verification device
請求項3に記載の電子署名方法で用いられた巡回群G、巡回群Gの生成元gおよびR、加法群ZA cyclic group G, generators g and R of the cyclic group G used in the electronic signature method according to claim 3, and an additive group Z q 、ハッシュ関数H、ハッシュ関数H’、ハッシュ関数H”、n、t、t’、集合Nに属する各参加者装置i(i=1,…,n)の公開鍵y, Hash function H, hash function H ′, hash function H ″, n, t, t ′, public key y of each participant device i (i = 1,..., N) belonging to set N 1 ,…,y, ..., y n 、メッセージm、電子署名σ=(A, Message m, electronic signature σ = (A 1 ,…,A, ..., A t’t ’ ,β(x),z, Β (x), z 1 ,…,z, ..., z n ,z, Z 1 ’,…,z', ..., z n ’)を用いて、')Using,
h=H(n,t,t’,yh = H (n, t, t ', y 1 ,…,y, ..., y n ,m)が巡回群Gの元であること、A, M) is an element of the cyclic group G, A 0 =H’(n,t,t’,y= H '(n, t, t', y 1 ,…,y, ..., y n ,m)が巡回群Gの元であること、電子署名σに含まれるA, M) is an element of the cyclic group G, A included in the electronic signature σ 1 ,…,A, ..., A t’t ’ がそれぞれ巡回群Gの元であること、電子署名σに含まれるzAre elements of the cyclic group G, z included in the electronic signature σ 1 ,…,z, ..., z n ,z, Z 1 ’,…,z', ..., z n ’がそれぞれ加法群Z'Is the additive group Z q の元であること、を確認するステップと、A step of confirming that
Figure 0004790422
Figure 0004790422

で求められるσCalculated by i (i=1,…,n)が巡回群Gの元であることを確認するステップと、Confirming that (i = 1,..., N) is an element of the cyclic group G;
電子署名σに含まれる多項式β(x)、zPolynomial β (x), z included in electronic signature σ 1 ,…,z, ..., z n ,z, Z 1 ’,…,z', ..., z n ’を用いて、'Using,
Figure 0004790422
Figure 0004790422

(i=1,…,n)を求め、電子署名σに含まれる多項式β(x)の各係数が加法群Z(I = 1,..., N) is obtained, and each coefficient of the polynomial β (x) included in the electronic signature σ is added to the additive group Z. q の元であること、多項式β(x)の次数がn−tであること、β(0)=H”(n,t,t’,y, The degree of the polynomial β (x) is n−t, β (0) = H ″ (n, t, t ′, y 11 ,…,y, ..., y nn ,m,h,A, m, h, A 00 ,…,A, ..., A t’t ’ ,a, a 11 ’,…,a’, ..., a nn ’,b’, B 11 ’,…,b’,…, B nn ’)であることを確認するステップと’) And confirming that
を有する検証方法。A verification method.
Gを離散対数問題が難しい位数qの巡回群、G is a cyclic group of order q where the discrete logarithm problem is difficult,
gを巡回群Gの生成元、g is the generator of the cyclic group G,
Z q を位数qの加法群、Is an additive group of order q,
Hを0と1からなる任意長さのビット列の集合を定義域とし巡回群Gを値域とするハッシュ関数、A hash function in which H is a set of bit strings of arbitrary lengths consisting of 0 and 1, and a cyclic group G is a range;
H’を0と1からなる任意長さのビット列の集合を定義域とし巡回群Gを値域とするハッシュ関数、A hash function in which H ′ is a set of bit strings of arbitrary lengths consisting of 0 and 1, and a cyclic group G is a range;
H”を0と1からなる任意長さのビット列の集合を定義域とし加法群ZAddition group Z with H ″ as a domain defined by a set of bit strings of arbitrary length consisting of 0 and 1 q を値域とするハッシュ関数、A hash function whose range is
mをメッセージとし、Let m be a message,
n台(nは2以上の予め定められた整数)の参加者装置(以下、n台の参加者装置の集合を集合Nとする)に含まれるs台の参加者装置(以下、s台の参加者装置の集合を集合Sとする)が電子署名を行う電子署名システムであって、s number of participant devices (hereinafter, s number of devices) included in n number of participant devices (n is a predetermined integer of 2 or more) (hereinafter, a set of n number of participant devices is referred to as a set N) A set of participant devices is a set S) is an electronic signature system for performing an electronic signature,
当該電子署名システムは、n台の上記参加者装置i(i=1,…,n)と、署名生成装置とを含み、The electronic signature system includes n participant devices i (i = 1,..., N) and a signature generation device.
秘密鍵xSecret key x i ∈Z∈Z q を選択し、公開鍵ySelect the public key y i =g^x= G ^ x i ∈Gを生成する手段Aと、Means A for generating ∈G;
T⊆S⊆T’⊆Nを満足する集合Tに属する参加者装置(ただし、集合Tに属する参加者装置はt台とする)と集合T’に属する参加者装置(ただし、集合T’に属する参加者装置はt’台とする)とをそれぞれ集合Nから選定する手段Bと、Participant devices belonging to the set T satisfying T⊆S⊆T′⊆N (provided that t participant devices belong to the set T) and participant devices belonging to the set T ′ (provided that the set T ′ Means B for selecting each participant device from the set N;
0と1からなるkビットのビット列rを選定する手段Cと、Means C for selecting a k-bit bit string r consisting of 0 and 1;
秘密鍵xSecret key x i を用いて、使い捨て公開鍵σ, The disposable public key σ i =h^x= H ^ x i (ただし、h=H(n,t,t’,y(Where h = H (n, t, t ', y 1 ,…,y, ..., y n ,m,r)∈G)を生成する手段Dと、, M, r) ∈ G), means D,
集合T’−Sに属する各参加者装置i(i=s+1,…,t’)の使い捨て公開鍵σThe disposable public key σ of each participant device i (i = s + 1,..., T ′) belonging to the set T′-S. i を巡回群Gから任意に選定する手段Eと、Means E for arbitrarily selecting from the cyclic group G;
集合T’に属する各参加者装置i(i=1,…,t’)の使い捨て公開鍵σThe disposable public key σ of each participant device i (i = 1,..., T ′) belonging to the set T ′ i (i=1,…,t’)を用いて、(I = 1,..., T ′)
Figure 0004790422
Figure 0004790422

とし、age,
A 0 =H’(n,t,t’,y= H '(n, t, t', y 1 ,…,y, ..., y n ,m,r)∈G、, M, r) ∈ G,
Figure 0004790422
Figure 0004790422

(j=1,…,t’)とし、集合N−T’に属する各参加者装置(i=t’+1,…,n)の使い捨て公開鍵(J = 1,..., T ′) and the disposable public key of each participant device (i = t ′ + 1,..., N) belonging to the set N-T ′
Figure 0004790422
Figure 0004790422

を計算する手段Fと、Means F for calculating
任意の元wArbitrary source w i ∈Z∈Z q を選定し、当該元wSelect the source w i を用いて、aUsing a i =g^w= G ^ w i ∈Gとb∈G and b i =h^w= H ^ w i ∈Gを生成する手段Gと、Means G for generating ∈ G;
集合N−Sに属する各参加者装置i(i=s+1,…,n)に対応する任意のzArbitrary z corresponding to each participant device i (i = s + 1,..., N) belonging to the set NS i ∈Z∈Z q と任意のcAnd any c i ∈Z∈Z q を選定し、aAnd select a i =(g^z= (G ^ z i )(y) (Y i ^c^ C i )∈Gとb) ∈G and b i =(h^z= (H ^ z i )(σ) (Σ i ^c^ C i )∈Gとを生成する手段Hと、) Means H for generating ∈ G;
集合S−Tに属する各参加者装置i(i=t+1,…,s)に対応する任意の元cAn arbitrary element c corresponding to each participant device i (i = t + 1,..., S) belonging to the set ST i ∈Z∈Z q を選定する手段Iと、Means I for selecting
β(0)=H”(n,t,t’,yβ (0) = H ″ (n, t, t ′, y 11 ,…,y, ..., y nn ,m,r,h,A, m, r, h, A 00 ,…,A, ..., A t’t ’ ,a, a 11 ,…,a, ..., a nn ,b, b 11 ,…,b, ..., b nn )∈Z) ∈Z q
β(i)=cβ (i) = c i ∈Z∈Z q (ただし、i=t+1,…,n)(Where i = t + 1,..., N)
を満足する次数(n−t)の多項式β(x)∈ZA polynomial β (x) ∈Z of degree (nt) satisfying q [x]を求める手段Jと、Means J for determining [x];
秘密鍵xSecret key x i を用いて、zTo use z i =w= W i −β(i)x-Β (i) x i ∈Z∈Z q を求める手段Kと、Means K for obtaining
電子署名σ=(r,AElectronic signature σ = (r, A 1 ,…,A, ..., A t’t ’ ,β(x),z, Β (x), z 1 ,…,z, ..., z n )を出力する手段L) For outputting L
のうち、Out of
署名生成装置は、少なくとも手段B、手段C、手段E、手段F、手段H、手段I、手段J、手段Lを含み、The signature generation apparatus includes at least means B, means C, means E, means F, means H, means I, means J, and means L.
各参加者装置iは、少なくとも手段A、手段D、手段G、手段Kを含み、Each participant device i includes at least means A, means D, means G, and means K,
署名生成装置がn台の上記参加者装置i(i=1,…,n)のいずれか一つと一致する場合には、当該参加者装置は手段A、手段B、手段C、手段D、手段E、手段F、手段G、手段H、手段I、手段J、手段K、手段Lを含むIf the signature generation device matches any one of the n participant devices i (i = 1,..., N), the participant device has means A, means B, means C, means D, means E, means F, means G, means H, means I, means J, means K, means L
電子署名システム。Electronic signature system.
請求項1に記載の電子署名方法によって生成された上記電子署名σの検証を行う検証装置であって、A verification device for verifying the electronic signature σ generated by the electronic signature method according to claim 1,
請求項1に記載の電子署名方法で用いられた巡回群G、巡回群Gの生成元g、加法群ZThe cyclic group G, the generator g of the cyclic group G, and the additive group Z used in the electronic signature method according to claim 1 q 、ハッシュ関数H、ハッシュ関数H’、ハッシュ関数H”、n、t、t’、集合Nに属する各参加者装置i(i=1,…,n)の公開鍵y, Hash function H, hash function H ′, hash function H ″, n, t, t ′, public key y of each participant device i (i = 1,..., N) belonging to set N 1 ,…,y, ..., y n 、メッセージm、電子署名σ=(r,A, Message m, electronic signature σ = (r, A 1 ,…,A, ..., A t’t ’ ,β(x),z, Β (x), z 1 ,…,z, ..., z n )を用いて、)Using,
電子署名σに含まれるrが0と1のビット列であること、h=H(n,t,t’,yR included in the electronic signature σ is a bit string of 0 and 1, h = H (n, t, t ′, y 1 ,…,y, ..., y n ,m,r)が巡回群Gの元であること、A, M, r) is an element of the cyclic group G, A 0 =H’(n,t,t’,y= H '(n, t, t', y 1 ,…,y, ..., y n ,m,r)が巡回群Gの元であること、電子署名σに含まれるA, M, r) is an element of the cyclic group G, A included in the electronic signature σ 1 ,…,A, ..., A t’t ’ がそれぞれ巡回群Gの元であること、電子署名σに含まれるzAre elements of the cyclic group G, z included in the electronic signature σ 1 ,…,z, ..., z n がそれぞれ加法群ZAre additive groups Z q の元であること、を確認する手段と、A means of confirming that
Figure 0004790422
Figure 0004790422

で求められるσCalculated by i (i=1,…,n)が巡回群Gの元であることを確認する手段と、Means for confirming that (i = 1,..., N) is an element of the cyclic group G;
電子署名σに含まれる多項式β(x)、zPolynomial β (x), z included in electronic signature σ 1 ,…,z, ..., z n を用いて、Using,
Figure 0004790422
Figure 0004790422

(i=1,…,n)を求め、電子署名σに含まれる多項式β(x)の各係数が加法群Z(I = 1,..., N) is obtained, and each coefficient of the polynomial β (x) included in the electronic signature σ is added to the additive group Z. q の元であること、多項式β(x)の次数がn−tであること、β(0)=H”(n,t,t’,y, The degree of the polynomial β (x) is n−t, β (0) = H ″ (n, t, t ′, y 11 ,…,y, ..., y nn ,m,r,h,A, m, r, h, A 00 ,…,A, ..., A t’t ’ ,a, a 11 ’,…,a’, ..., a nn ’,b’, B 11 ’,…,b’,…, B nn ’)であることを確認する手段と’) Means to confirm that
を含む検証装置。Verification device including
Gを離散対数問題が難しい位数qの巡回群、G is a cyclic group of order q where the discrete logarithm problem is difficult,
g、Rをそれぞれ巡回群Gの生成元、g and R are generators of the cyclic group G,
Z q を位数qの加法群、Is an additive group of order q,
Hを0と1からなる任意長さのビット列の集合を定義域とし巡回群Gを値域とするハッシュ関数、A hash function in which H is a set of bit strings of arbitrary lengths consisting of 0 and 1, and a cyclic group G is a range;
H’を0と1からなる任意長さのビット列の集合を定義域とし巡回群Gを値域とするハッシュ関数、A hash function in which H ′ is a set of bit strings of arbitrary lengths consisting of 0 and 1, and a cyclic group G is a range;
H”を0と1からなる任意長さのビット列の集合を定義域とし加法群ZAddition group Z with H ″ as a domain defined by a set of bit strings of arbitrary length consisting of 0 and 1 q を値域とするハッシュ関数、A hash function whose range is
mをメッセージとし、Let m be a message,
n台(nは2以上の予め定められた整数)の参加者装置(以下、n台の参加者装置の集合を集合Nとする)に含まれるs台の参加者装置(以下、s台の参加者装置の集合を集合Sとする)が電子署名を行う電子署名システムであって、s number of participant devices (hereinafter, s number of devices) included in n number of participant devices (n is a predetermined integer of 2 or more) (hereinafter, a set of n number of participant devices is referred to as a set N) A set of participant devices is a set S) is an electronic signature system for performing an electronic signature,
当該電子署名システムは、n台の上記参加者装置i(i=1,…,n)と、署名生成装置とを含み、The electronic signature system includes n participant devices i (i = 1,..., N) and a signature generation device.
秘密鍵xSecret key x i ∈Z∈Z q を選択し、公開鍵ySelect the public key y i =g^x= G ^ x i ∈Gを生成する手段Aと、Means A for generating ∈G;
T⊆S⊆T’⊆Nを満足する集合Tに属する参加者装置(ただし、集合Tに属する参加者装置はt台とする)と集合T’に属する参加者装置(ただし、集合T’に属する参加者装置はt’台とする)とをそれぞれ集合Nから選定する手段Bと、Participant devices belonging to the set T satisfying T⊆S⊆T′⊆N (provided that t participant devices belong to the set T) and participant devices belonging to the set T ′ (provided that the set T ′ Means B for selecting each participant device from the set N;
任意の元xAny element x i ’∈Z′ ∈Z q を選び、秘密鍵xSelect the secret key x i ∈Z∈Z q を用いて、使い捨て公開鍵σ, The disposable public key σ i =(h^x= (H ^ x i )(R^x) (R ^ x i ’)(ただし、h=H(n,t,t’,y′) (Where h = H (n, t, t ′, y 1 ,…,y, ..., y n ,m)∈G)を生成する手段Cと、, M) ∈ G) generating means C;
集合T’−Sに属する各参加者装置i(i=s+1,…,t’)の使い捨て公開鍵σThe disposable public key σ of each participant device i (i = s + 1,..., T ′) belonging to the set T′-S. i を巡回群Gから任意に選定する手段Dと、Means D for arbitrarily selecting from the cyclic group G;
集合T’に属する各参加者装置i(i=1,…,t’)の使い捨て公開鍵σThe disposable public key σ of each participant device i (i = 1,..., T ′) belonging to the set T ′ i (i=1,…,t’)を用いて、(I = 1,..., T ′)
Figure 0004790422
Figure 0004790422

とし、age,
A 0 =H’(n,t,t’,y= H '(n, t, t', y 1 ,…,y, ..., y n ,m)∈G、, M) ∈ G,
Figure 0004790422
Figure 0004790422

(j=1,…,t’)とし、集合N−T’に属する各参加者装置(i=t’+1,…,n)の使い捨て公開鍵(J = 1,..., T ′) and the disposable public key of each participant device (i = t ′ + 1,..., N) belonging to the set N-T ′
Figure 0004790422
Figure 0004790422

を計算する手段Eと、Means E for calculating
任意の元wArbitrary source w i 、w, W i ’∈Z′ ∈Z q を選定し、当該元wSelect the source w i 、w, W i ’を用いて、a' i =g^w= G ^ w i ∈Gとb∈G and b i =(h^w= (H ^ w i )(R^w) (R ^ w i ’)∈Gを生成する手段Fと、′) Means F for generating ∈G;
集合N−Sに属する各参加者装置i(i=s+1,…,n)に対応する任意のzArbitrary z corresponding to each participant device i (i = s + 1,..., N) belonging to the set NS i 、z, Z i ’、c', C i ∈Z∈Z q を選定し、aAnd select a i =(g^z= (G ^ z i )(y) (Y i ^c^ C i )∈Gとb) ∈G and b i =(h^z= (H ^ z i )(R^z) (R ^ z i ’)(σ’) (Σ i ^c^ C i )∈Gとを生成する手段Gと、) Means G for generating ∈ G;
集合S−Tに属する各参加者装置i(i=t+1,…,s)に対応する任意の元cAn arbitrary element c corresponding to each participant device i (i = t + 1,..., S) belonging to the set ST i ∈Z∈Z q を選定する手段Hと、Means H for selecting
β(0)=H”(n,t,t’,yβ (0) = H ″ (n, t, t ′, y 11 ,…,y, ..., y nn ,m,h,A, m, h, A 00 ,…,A, ..., A t’t ’ ,a, a 11 ,…,a, ..., a nn ,b, b 11 ,…,b, ..., b nn )∈Z) ∈Z q
β(i)=cβ (i) = c i ∈Z∈Z q (ただし、i=t+1,…,n)(Where i = t + 1,..., N)
を満足する次数(n−t)の多項式β(x)∈ZA polynomial β (x) ∈Z of degree (nt) satisfying q [x]を求める手段Iと、Means I for determining [x];
秘密鍵xSecret key x i 、x, X i ’を用いて、z'To use z i =w= W i −β(i)x-Β (i) x i ∈Z∈Z q 、z, Z i ’=w’= W i ’−β(i)x'-Β (i) x i ’∈Z′ ∈Z q を求める手段Jと、Means J for obtaining
電子署名σ=(AElectronic signature σ = (A 1 ,…,A, ..., A t’t ’ ,β(x),z, Β (x), z 1 ,…,z, ..., z n ,z, Z 1 ’,…,z', ..., z n ’)を出力する手段K′) Output means K
のうち、Out of
署名生成装置は、少なくとも手段B、手段D、手段E、手段G、手段H、手段I、手段Kを含み、The signature generation apparatus includes at least means B, means D, means E, means G, means H, means I, and means K.
各参加者装置iは、少なくとも手段A、手段C、手段F、手段Jを含み、Each participant device i includes at least means A, means C, means F, means J,
署名生成装置がn台の上記参加者装置i(i=1,…,n)のいずれか一つと一致する場合には、当該参加者装置は手段A、手段B、手段C、手段D、手段E、手段F、手段G、手段H、手段I、手段J、手段Kを含むIf the signature generation device matches any one of the n participant devices i (i = 1,..., N), the participant device has means A, means B, means C, means D, means E, means F, means G, means H, means I, means J, means K
電子署名システム。Electronic signature system.
請求項3に記載の電子署名方法によって生成された上記電子署名σの検証を行う検証装置であって、A verification device for verifying the electronic signature σ generated by the electronic signature method according to claim 3,
請求項3に記載の電子署名方法で用いられた巡回群G、巡回群Gの生成元gおよびR、加法群ZA cyclic group G, generators g and R of the cyclic group G used in the electronic signature method according to claim 3, and an additive group Z q 、ハッシュ関数H、ハッシュ関数H’、ハッシュ関数H”、n、t、t’、集合Nに属する各参加者装置i(i=1,…,n)の公開鍵y, Hash function H, hash function H ′, hash function H ″, n, t, t ′, public key y of each participant device i (i = 1,..., N) belonging to set N 1 ,…,y, ..., y n 、メッセージm、電子署名σ=(A, Message m, electronic signature σ = (A 1 ,…,A, ..., A t’t ’ ,β(x),z, Β (x), z 1 ,…,z, ..., z n ,z, Z 1 ’,…,z', ..., z n ’)を用いて、')Using,
h=H(n,t,t’,yh = H (n, t, t ', y 1 ,…,y, ..., y n ,m)が巡回群Gの元であること、A, M) is an element of the cyclic group G, A 0 =H’(n,t,t’,y= H '(n, t, t', y 1 ,…,y, ..., y n ,m)が巡回群Gの元であること、電子署名σに含まれるA, M) is an element of the cyclic group G, A included in the electronic signature σ 1 ,…,A, ..., A t’t ’ がそれぞれ巡回群Gの元であること、電子署名σに含まれるzAre elements of the cyclic group G, z included in the electronic signature σ 1 ,…,z, ..., z n ,z, Z 1 ’,…,z', ..., z n ’がそれぞれ加法群Z'Is the additive group Z q の元であること、を確認する手段と、A means of confirming that
Figure 0004790422
Figure 0004790422

で求められるσCalculated by i (i=1,…,n)が巡回群Gの元であることを確認する手段と、Means for confirming that (i = 1,..., N) is an element of the cyclic group G;
電子署名σに含まれる多項式β(x)、zPolynomial β (x), z included in electronic signature σ 1 ,…,z, ..., z n ,z, Z 1 ’,…,z', ..., z n ’を用いて、'Using,
Figure 0004790422
Figure 0004790422

(i=1,…,n)を求め、電子署名σに含まれる多項式β(x)の各係数が加法群Z(I = 1,..., N) is obtained, and each coefficient of the polynomial β (x) included in the electronic signature σ is added to the additive group Z. q の元であること、多項式β(x)の次数がn−tであること、β(0)=H”(n,t,t’,y, The degree of the polynomial β (x) is n−t, β (0) = H ″ (n, t, t ′, y 11 ,…,y, ..., y nn ,m,h,A, m, h, A 00 ,…,A, ..., A t’t ’ ,a, a 11 ’,…,a’, ..., a nn ’,b’, B 11 ’,…,b’,…, B nn ’)であることを確認する手段と’) Means to confirm that
を含む検証装置。Verification device including
署名者iに固有の秘密鍵xと、署名者iに固有の識別番号i、メッセージmと、全署名者に共通のラベルLとを記憶する記憶手段と、
記憶手段に記憶されるラベルLをハッシュ関数Hに入力して、署名者iに固有の固有臨時公開鍵σを生成するために用いられる固有臨時公開鍵生成因子hを生成する固有臨時公開鍵生成因子生成手段と、
固有臨時公開鍵生成因子生成手段によって生成された固有臨時公開鍵生成因子hと記憶手段に記憶される署名者iに固有の秘密鍵xとから署名者iに固有の固有臨時公開鍵σを生成する固有臨時公開鍵生成手段と、
記憶手段に記憶されるラベルLおよびメッセージmをハッシュ関数H’に入力して、撹乱因子Aを生成するために用いられる撹乱因子生成因子Aを生成する撹乱因子生成因子生成手段と、
撹乱因子生成因子生成手段によって生成された撹乱因子生成因子A、固有臨時公開鍵生成手段によって生成された固有臨時公開鍵σ、記憶手段に記憶される識別番号iとから撹乱因子A=(σ/A)^(1/i)を生成する撹乱因子生成手段と、
撹乱因子生成手段によって生成された撹乱因子Aおよび撹乱因子生成因子生成手段によって生成された撹乱因子生成因子Aから全署名者数nから1を引いた個数の撹乱臨時公開鍵σ=A 〔j=1,2,・・・,i−1、i+1,・・・,n〕を生成する撹乱臨時公開鍵生成手段と、
署名者iに固有の秘密鍵xを用いて固有臨時公開鍵σを生成したことを非対話ゼロ知識証明によって証明するために用いる非対話ゼロ知識証明情報を生成する非対話ゼロ知識証明情報生成手段と、
非対話ゼロ知識証明情報生成手段によって生成された非対話ゼロ知識証明情報を生成可能な非対話ゼロ知識証明情報生成因子を生成する非対話ゼロ知識証明情報生成因子生成手段と、
撹乱因子生成手段によって生成された撹乱因子Aおよび非対話ゼロ知識証明情報生成因子生成手段によって生成された非対話ゼロ知識証明情報生成因子を、記憶手段に記憶されるラベルLおよびメッセージmに対する署名とする署名生成手段と
を備え、
固有臨時公開鍵生成手段によって生成された固有臨時公開鍵σおよび撹乱臨時公開鍵生成手段によって生成された撹乱臨時公開鍵σ〔j=1,2,・・・,i−1、i+1,・・・,n〕は、固有臨時公開鍵と撹乱臨時公開鍵との判別が不能に、撹乱因子生成因子生成手段によって生成された撹乱因子生成因子Aおよび撹乱因子生成手段によって生成された撹乱因子Aから生成可能である
ことを特徴とする署名装置。
Storage means for storing a secret key x i unique to the signer i, an identification number i unique to the signer i, a message m, and a label L common to all signers;
A unique temporary public key for generating a unique temporary public key generation factor h used to generate a unique temporary public key σ i unique to the signer i by inputting the label L stored in the storage means into the hash function H Generating factor generating means;
Specific temporary public key generation factor specific unique temporary public key to the signer i from generated by the generating means unique temporary public key generation factor h signer and unique secret key x i to i stored in the storage means sigma i A unique temporary public key generating means for generating
Disturbing factor generating factor generating means for inputting the label L and the message m stored in the storing means to the hash function H ′ and generating the disturbing factor generating factor A 0 used for generating the disturbing factor A 1 ;
The disturbance factor A 1 = the disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means, the unique temporary public key σ i generated by the unique temporary public key generation means, and the identification number i stored in the storage means. A disturbance factor generating means for generating (σ i / A 0 ) ^ (1 / i);
The number of temporary temporary public keys σ j = A that is obtained by subtracting 1 from the total number of signers n from the disturbance factor A 1 generated by the disturbance factor generation unit and the disturbance factor generation factor A 0 generated by the disturbance factor generation unit 0 A 1 j [j = 1, 2,..., I−1, i + 1,.
Non-interactive zero-knowledge proof information for generating a non-interactive zero-knowledge proof information used to prove the non-interactive zero-knowledge proof that generates a unique temporary public key sigma i using a unique secret key x i to the signer i Generating means;
Non-interactive zero knowledge proof information generating factor generating means for generating non-interactive zero knowledge proof information generating factor capable of generating non-interactive zero knowledge proof information generated by non-interactive zero knowledge proof information generating means;
The disturbing factor A 1 generated by the disturbing factor generating means and the non-interactive zero knowledge proof information generating factor generated by the non-interactive zero knowledge proof information generating factor are used to sign the label L and the message m stored in the storing means. And signature generation means
The unique temporary public key σ i generated by the unique temporary public key generating means and the disturbing temporary public key σ j generated by the disturbing temporary public key generating means [j = 1, 2,..., I−1, i + 1, .., N] is the disturbance generated by the disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means and the disturbance generated by the disturbance factor generation means, so that the distinctive temporary public key and the disturbance temporary public key cannot be distinguished. A signature device that can be generated from the factor A 1 .
メッセージmと、全署名者に共通のラベルL、ラベルLおよびメッセージmに対する署名とを記憶する記憶手段と、
記憶手段に記憶されるラベルLおよびメッセージmをハッシュ関数H’に入力して、撹乱因子生成因子Aを生成する撹乱因子生成因子生成手段と、
記憶手段に記憶される署名に含まれる撹乱因子Aおよび撹乱因子生成因子生成手段によって生成された撹乱因子生成因子Aから全署名者数に相当するn個の臨時公開鍵σ=A 〔f=1,2,・・・,n〕を生成する臨時公開鍵生成手段と、
記憶手段に記憶される署名に含まれる非対話ゼロ知識証明情報生成因子を用いて非対話ゼロ知識証明情報を生成する非対話ゼロ知識証明情報生成手段と、
撹乱因子生成因子生成手段によって生成された撹乱因子生成因子A、記憶手段に記憶される署名に含まれる撹乱因子A、非対話ゼロ知識証明情報生成手段によって生成された非対話ゼロ知識証明情報の間でゼロ知識証明の検証を行う判定手段と
を備えたことを特徴とする検証装置。
Storage means for storing message m and label L, label L and signature for message m common to all signers;
Disturbing factor generating factor generating means for inputting the label L and the message m stored in the storing means to the hash function H ′ to generate the disturbing factor generating factor A 0 ;
N temporary public keys σ f = A 0 corresponding to the total number of signers from the disturbance factor A 1 included in the signature stored in the storage means and the disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means. Temporary public key generation means for generating A 1 f [f = 1, 2,..., N];
Non-interactive zero knowledge proof information generating means for generating non-interactive zero knowledge proof information using a non-interactive zero knowledge proof information generating factor included in the signature stored in the storage means;
The disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means, the disturbance factor A 1 included in the signature stored in the storage means, and the non-interaction zero knowledge proof information generated by the non-interaction zero knowledge proof information generation means And a verification means for verifying zero knowledge proof between the verification devices.
各署名装置によって生成された署名および各署名に対応するメッセージmと、全署名者に共通のラベルLを記憶する記憶手段と、
記憶手段に記憶されるラベルLおよびメッセージmをハッシュ関数H’に入力して、撹乱因子生成因子Aを生成する撹乱因子生成因子生成手段と、
記憶手段に記憶される署名に含まれる撹乱因子Aおよび撹乱因子生成因子生成手段によって生成された撹乱因子生成因子Aから全署名者数に相当するn個の臨時公開鍵σ=A 〔f=1,2,・・・,n〕を生成する臨時公開鍵生成手段と、
記憶手段に記憶される署名に含まれる非対話ゼロ知識証明情報生成因子を用いて非対話ゼロ知識証明情報を生成する非対話ゼロ知識証明情報生成手段と、
撹乱因子生成因子生成手段によって生成された撹乱因子生成因子A、記憶手段に記憶される署名に含まれる撹乱因子A、非対話ゼロ知識証明情報生成手段によって生成された非対話ゼロ知識証明情報の間でゼロ知識証明の検証を行う判定手段と、
記憶手段に記憶される各署名装置によって生成された署名から異なる2つの署名ξ、ξ’およびこれら署名に対応するメッセージm、m’を選択する選択制御手段と、
臨時公開鍵生成手段によって生成された、選択制御手段によって選択された異なる2つの署名ξ、ξ’ごとの臨時公開鍵σ、σ’〔f=1,2,・・・,n〕について、各fごとにσ=σ’が成立するか否かを判定する重複臨時公開鍵検証手段と
を備えたことを特徴とする検証装置。
Storage means for storing a signature generated by each signature device and a message m corresponding to each signature, and a label L common to all signers;
Disturbing factor generating factor generating means for inputting the label L and the message m stored in the storing means to the hash function H ′ to generate the disturbing factor generating factor A 0 ;
N temporary public keys σ f = A 0 corresponding to the total number of signers from the disturbance factor A 1 included in the signature stored in the storage means and the disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means. Temporary public key generation means for generating A 1 f [f = 1, 2,..., N];
Non-interactive zero knowledge proof information generating means for generating non-interactive zero knowledge proof information using a non-interactive zero knowledge proof information generating factor included in the signature stored in the storage means;
The disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means, the disturbance factor A 1 included in the signature stored in the storage means, and the non-interaction zero knowledge proof information generated by the non-interaction zero knowledge proof information generation means A determination means for verifying zero knowledge proof between
Selection control means for selecting two different signatures ξ, ξ ′ and messages m, m ′ corresponding to these signatures from the signatures generated by each signature device stored in the storage means;
About the temporary public keys σ f , σ f ′ [f = 1, 2,..., N] for two different signatures ξ, ξ ′ selected by the selection control unit generated by the temporary public key generation unit A verification apparatus comprising: a duplicate temporary public key verification unit that determines whether or not σ f = σ f ′ holds for each f.
上記重複臨時公開鍵検証手段は、
上記選択制御手段によって選択された異なる2つの署名ξ、ξ’ごとの臨時公開鍵σ、σ’〔f=1,2,・・・,n〕について、各fごとにσ=σ’が成立するか否かを判定し、
f=1,2,・・・,nの全てについてσ=σ’が成立する場合には、2つの署名ξ、ξ’は同一署名装置による同一メッセージに対する署名(コピー署名)であると特定し、
1つのp〔但し、p∈{1,2,・・・,n}〕についてσ=σ’が成立する場合には、2つの署名ξ、ξ’は同一署名装置による異なるメッセージに対する署名(重複署名)であると特定する
ものであることを特徴とする請求項11に記載の検証装置。
The duplicate temporary public key verification means is
With respect to temporary public keys σ f , σ f ′ [f = 1, 2,..., N] for two different signatures ξ, ξ ′ selected by the selection control means, σ f = σ for each f. determine whether f 'is true,
When σ f = σ f ′ holds for all of f = 1, 2,..., n, the two signatures ξ and ξ ′ are signatures (copy signatures) for the same message by the same signature device. Identify,
If σ p = σ p ′ holds for one p [where p∈ {1, 2,..., N}], the two signatures ξ and ξ ′ are signatures for different messages by the same signature device. The verification apparatus according to claim 11 , wherein the verification apparatus specifies that the signature is a duplicate signature.
各署名装置によって生成された署名および各署名に対応するメッセージmと、全署名者に共通のラベルLを記憶する記憶手段と、
記憶手段に記憶される各署名装置によって生成された署名から異なる2つの署名ξ、ξ’およびこれら署名に対応するメッセージm、m’を選択する選択制御手段と、
選択制御手段によって選択された異なる2つの署名ξ、ξ’ごとに、各署名に対応したメッセージm、m’およびラベルLをハッシュ関数H’に入力して、撹乱因子生成因子AおよびA’を生成する撹乱因子生成因子生成手段と、
選択制御手段によって選択された異なる2つの署名ξ、ξ’ごとに、選択制御手段によって選択された異なる2つの署名ξ、ξ’に含まれる撹乱因子A、A’および撹乱因子生成因子生成手段によって生成された撹乱因子生成因子A、A’から全署名者数に相当するn個の臨時公開鍵σ、σ’〔f=1,2,・・・,n〕を生成する臨時公開鍵生成手段と、
臨時公開鍵生成手段によって生成された、異なる2つの署名ξ、ξ’ごとの臨時公開鍵σ、σ’〔f=1,2,・・・,n〕について、各fごとにσ=σ’が成立するか否かを判定する重複臨時公開鍵検証手段と
を備えたことを特徴とする重複署名コピー署名検出装置。
Storage means for storing a signature generated by each signature device and a message m corresponding to each signature, and a label L common to all signers;
Selection control means for selecting two different signatures ξ, ξ ′ and messages m, m ′ corresponding to these signatures from the signatures generated by each signature device stored in the storage means;
For each of two different signatures ξ and ξ ′ selected by the selection control means, the message m, m ′ and label L corresponding to each signature are input to the hash function H ′, and the disturbance factor generation factors A 0 and A 0 are input. A disturbing factor generating factor generating means for generating ',
For each of two different signatures ξ and ξ ′ selected by the selection control means, the disturbance factors A 1 and A 1 ′ and the disturbance factor generation factor generation included in the two different signatures ξ and ξ ′ selected by the selection control means N temporary public keys σ f , σ f ′ [f = 1, 2,..., N] corresponding to the total number of signers are generated from the disturbance factor generation factors A 0 , A 0 ′ generated by the means. A temporary public key generating means for
With respect to temporary public keys σ f , σ f ′ [f = 1, 2,..., N] for each of two different signatures ξ, ξ ′ generated by the temporary public key generation means, σ f for each f. A duplicate signature copy signature detection apparatus comprising: a duplicate temporary public key verification unit that determines whether or not σ f ′ holds.
上記重複臨時公開鍵検証手段は、
上記選択制御手段によって選択された異なる2つの署名ξ、ξ’ごとの臨時公開鍵σ、σ’〔f=1,2,・・・,n〕について、各fごとにσ=σ’が成立するか否かを判定し、
f=1,2,・・・,nの全てについてσ=σ’が成立する場合には、2つの署名ξ、ξ’は同一署名装置による同一メッセージに対する署名(コピー署名)であると特定し、
1つのp〔但し、p∈{1,2,・・・,n}〕についてσ=σ’が成立する場合には、2つの署名ξ、ξ’は同一署名装置による異なるメッセージに対する署名(重複署名)であると特定する
ものであることを特徴とする請求項13に記載の重複署名コピー署名検出装置。
The duplicate temporary public key verification means is
With respect to temporary public keys σ f , σ f ′ [f = 1, 2,..., N] for two different signatures ξ, ξ ′ selected by the selection control means, σ f = σ for each f. determine whether f 'is true,
When σ f = σ f ′ holds for all of f = 1, 2,..., n, the two signatures ξ and ξ ′ are signatures (copy signatures) for the same message by the same signature device. Identify,
If σ p = σ p ′ holds for one p [where p∈ {1, 2,..., N}], the two signatures ξ and ξ ′ are signatures for different messages by the same signature device. The duplicate signature copy signature detection apparatus according to claim 13 , wherein the duplicate signature is specified as (duplicate signature).
1つ以上の署名装置と、検証装置とが相互に通信可能に接続され、
上記署名装置は、
署名者iに固有の秘密鍵xと、署名者iに固有の識別番号i、メッセージmと、全署名者に共通のラベルLとを記憶する記憶手段と、
記憶手段に記憶されるラベルLをハッシュ関数Hに入力して、署名者iに固有の固有臨時公開鍵σを生成するために用いられる固有臨時公開鍵生成因子hを生成する固有臨時公開鍵生成因子生成手段と、
固有臨時公開鍵生成因子生成手段によって生成された固有臨時公開鍵生成因子hと記憶手段に記憶される署名者iに固有の秘密鍵xとから署名者iに固有の固有臨時公開鍵σを生成する固有臨時公開鍵生成手段と、
記憶手段に記憶されるラベルLおよびメッセージmをハッシュ関数H’に入力して、撹乱因子Aを生成するために用いられる撹乱因子生成因子Aを生成する撹乱因子生成因子生成手段と、
撹乱因子生成因子生成手段によって生成された撹乱因子生成因子A、固有臨時公開鍵生成手段によって生成された固有臨時公開鍵σ、記憶手段に記憶される識別番号iとから撹乱因子A=(σ/A)^(1/i)を生成する撹乱因子生成手段と、
撹乱因子生成手段によって生成された撹乱因子Aおよび撹乱因子生成因子生成手段によって生成された撹乱因子生成因子Aから全署名者数nから1を引いた個数の撹乱臨時公開鍵σ=A 〔j=1,2,・・・,i−1、i+1,・・・,n〕を生成する撹乱臨時公開鍵生成手段と、
署名者iに固有の秘密鍵xを用いて固有臨時公開鍵σを生成したことを非対話ゼロ知識証明によって証明するために用いる非対話ゼロ知識証明情報を生成する非対話ゼロ知識証明情報生成手段と、
非対話ゼロ知識証明情報生成手段によって生成された非対話ゼロ知識証明情報を生成可能な非対話ゼロ知識証明情報生成因子を生成する非対話ゼロ知識証明情報生成因子生成手段と、
撹乱因子生成手段によって生成された撹乱因子Aおよび非対話ゼロ知識証明情報生成因子生成手段によって生成された非対話ゼロ知識証明情報生成因子を、記憶手段に記憶されるラベルLおよびメッセージmに対する署名とする署名生成手段と
検証装置に対して、ラベルL、メッセージm、ラベルLおよびメッセージmに対する署名を送信可能な対検証装置送信手段と
を備え、
固有臨時公開鍵生成手段によって生成された固有臨時公開鍵σおよび撹乱臨時公開鍵生成手段によって生成された撹乱臨時公開鍵σ〔j=1,2,・・・,i−1、i+1,・・・,n〕は、固有臨時公開鍵と撹乱臨時公開鍵との判別が不能に、撹乱因子生成因子生成手段によって生成された撹乱因子生成因子Aおよび撹乱因子生成手段によって生成された撹乱因子Aから生成可能であり、
上記検証装置は、
署名装置から、ラベルL、メッセージm、ラベルLおよびメッセージmに対する署名を受信可能な対署名装置受信手段と、
対署名装置受信手段によって受信したメッセージm、ラベルL、ラベルLおよびメッセージmに対する署名を記憶する記憶手段と、
記憶手段に記憶されるラベルLおよびメッセージmをハッシュ関数H’に入力して、撹乱因子生成因子Aを生成する撹乱因子生成因子生成手段と、
記憶手段に記憶される署名に含まれる撹乱因子Aおよび撹乱因子生成因子生成手段によって生成された撹乱因子生成因子Aから全署名者数に相当するn個の臨時公開鍵σ=A 〔f=1,2,・・・,n〕を生成する臨時公開鍵生成手段と、
記憶手段に記憶される署名に含まれる非対話ゼロ知識証明情報生成因子を用いて非対話ゼロ知識証明情報を生成する非対話ゼロ知識証明情報生成手段と、
撹乱因子生成因子生成手段によって生成された撹乱因子生成因子A、記憶手段に記憶される署名に含まれる撹乱因子A、非対話ゼロ知識証明情報生成手段によって生成された非対話ゼロ知識証明情報の間でゼロ知識証明の検証を行う判定手段と
を備えたことを特徴とする署名検証システム。
One or more signature devices and a verification device are communicatively connected to each other;
The signing device
Storage means for storing a secret key x i unique to the signer i, an identification number i unique to the signer i, a message m, and a label L common to all signers;
A unique temporary public key for generating a unique temporary public key generation factor h used to generate a unique temporary public key σ i unique to the signer i by inputting the label L stored in the storage means into the hash function H Generating factor generating means;
Specific temporary public key generation factor specific unique temporary public key to the signer i from generated by the generating means unique temporary public key generation factor h signer and unique secret key x i to i stored in the storage means sigma i A unique temporary public key generating means for generating
Disturbing factor generating factor generating means for inputting the label L and the message m stored in the storing means to the hash function H ′ and generating the disturbing factor generating factor A 0 used for generating the disturbing factor A 1 ;
The disturbance factor A 1 = the disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means, the unique temporary public key σ i generated by the unique temporary public key generation means, and the identification number i stored in the storage means. A disturbance factor generating means for generating (σ i / A 0 ) ^ (1 / i);
The number of temporary temporary public keys σ j = A that is obtained by subtracting 1 from the total number of signers n from the disturbance factor A 1 generated by the disturbance factor generation unit and the disturbance factor generation factor A 0 generated by the disturbance factor generation unit 0 A 1 j [j = 1, 2,..., I−1, i + 1,.
Non-interactive zero-knowledge proof information for generating a non-interactive zero-knowledge proof information used to prove the non-interactive zero-knowledge proof that generates a unique temporary public key sigma i using a unique secret key x i to the signer i Generating means;
Non-interactive zero knowledge proof information generating factor generating means for generating non-interactive zero knowledge proof information generating factor capable of generating non-interactive zero knowledge proof information generated by non-interactive zero knowledge proof information generating means;
The disturbing factor A 1 generated by the disturbing factor generating means and the non-interactive zero knowledge proof information generating factor generated by the non-interactive zero knowledge proof information generating factor are used to sign the label L and the message m stored in the storing means. A signature generation means and a verification apparatus capable of transmitting a label L, a message m, a label L, and a signature for the message m to the verification apparatus,
The unique temporary public key σ i generated by the unique temporary public key generating means and the disturbing temporary public key σ j generated by the disturbing temporary public key generating means [j = 1, 2,..., I−1, i + 1, .., N] is the disturbance generated by the disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means and the disturbance generated by the disturbance factor generation means, so that the distinctive temporary public key and the disturbance temporary public key cannot be distinguished. Can be generated from factor A 1 ,
The verification device is
A signature device receiving means capable of receiving a signature for the label L, the message m, the label L, and the message m from the signature device;
Storage means for storing a signature for the message m, label L, label L and message m received by the signature receiving means;
Disturbing factor generating factor generating means for inputting the label L and the message m stored in the storing means to the hash function H ′ to generate the disturbing factor generating factor A 0 ;
N temporary public keys σ f = A 0 corresponding to the total number of signers from the disturbance factor A 1 included in the signature stored in the storage means and the disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means. Temporary public key generation means for generating A 1 f [f = 1, 2,..., N];
Non-interactive zero knowledge proof information generating means for generating non-interactive zero knowledge proof information using a non-interactive zero knowledge proof information generating factor included in the signature stored in the storage means;
The disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means, the disturbance factor A 1 included in the signature stored in the storage means, and the non-interaction zero knowledge proof information generated by the non-interaction zero knowledge proof information generation means A signature verification system comprising: a determination means for verifying a zero knowledge proof between the two.
1つ以上の署名装置と、検証装置とが相互に通信可能に接続され、
上記署名装置は、
署名者iに固有の秘密鍵xと、署名者iに固有の識別番号i、メッセージmと、全署名者に共通のラベルLとを記憶する記憶手段と、
記憶手段に記憶されるラベルLをハッシュ関数Hに入力して、署名者iに固有の固有臨時公開鍵σを生成するために用いられる固有臨時公開鍵生成因子hを生成する固有臨時公開鍵生成因子生成手段と、
固有臨時公開鍵生成因子生成手段によって生成された固有臨時公開鍵生成因子hと記憶手段に記憶される署名者iに固有の秘密鍵xとから署名者iに固有の固有臨時公開鍵σを生成する固有臨時公開鍵生成手段と、
記憶手段に記憶されるラベルLおよびメッセージmをハッシュ関数H’に入力して、撹乱因子Aを生成するために用いられる撹乱因子生成因子Aを生成する撹乱因子生成因子生成手段と、
撹乱因子生成因子生成手段によって生成された撹乱因子生成因子A、固有臨時公開鍵生成手段によって生成された固有臨時公開鍵σ、記憶手段に記憶される識別番号iとから撹乱因子A=(σ/A)^(1/i)を生成する撹乱因子生成手段と、
撹乱因子生成手段によって生成された撹乱因子Aおよび撹乱因子生成因子生成手段によって生成された撹乱因子生成因子Aから全署名者数nから1を引いた個数の撹乱臨時公開鍵σ=A 〔j=1,2,・・・,i−1、i+1,・・・,n〕を生成する撹乱臨時公開鍵生成手段と、
署名者iに固有の秘密鍵xを用いて固有臨時公開鍵σを生成したことを非対話ゼロ知識証明によって証明するために用いる非対話ゼロ知識証明情報を生成する非対話ゼロ知識証明情報生成手段と、
非対話ゼロ知識証明情報生成手段によって生成された非対話ゼロ知識証明情報を生成可能な非対話ゼロ知識証明情報生成因子を生成する非対話ゼロ知識証明情報生成因子生成手段と、
撹乱因子生成手段によって生成された撹乱因子Aおよび非対話ゼロ知識証明情報生成因子生成手段によって生成された非対話ゼロ知識証明情報生成因子を、記憶手段に記憶されるラベルLおよびメッセージmに対する署名とする署名生成手段と
検証装置に対して、ラベルL、メッセージm、ラベルLおよびメッセージmに対する署名を送信可能な対検証装置送信手段と
を備え、
固有臨時公開鍵生成手段によって生成された固有臨時公開鍵σおよび撹乱臨時公開鍵生成手段によって生成された撹乱臨時公開鍵σ〔j=1,2,・・・,i−1、i+1,・・・,n〕は、固有臨時公開鍵と撹乱臨時公開鍵との判別が不能に、撹乱因子生成因子生成手段によって生成された撹乱因子生成因子Aおよび撹乱因子生成手段によって生成された撹乱因子Aから生成可能であり、
上記検証装置は、
各署名装置から、各署名装置によって生成された署名および各署名に対応するメッセージmと、全署名者に共通のラベルLを受信可能な対署名装置受信手段と、
対署名装置受信手段によって受信した、各署名装置によって生成された署名、各署名に対応するメッセージmおよびラベルLを記憶する記憶手段と、
記憶手段に記憶されるラベルLおよびメッセージmをハッシュ関数H’に入力して、撹乱因子生成因子Aを生成する撹乱因子生成因子生成手段と、
記憶手段に記憶される署名に含まれる撹乱因子Aおよび撹乱因子生成因子生成手段によって生成された撹乱因子生成因子Aから全署名者数に相当するn個の臨時公開鍵σ=A 〔f=1,2,・・・,n〕を生成する臨時公開鍵生成手段と、
記憶手段に記憶される署名に含まれる非対話ゼロ知識証明情報生成因子を用いて非対話ゼロ知識証明情報を生成する非対話ゼロ知識証明情報生成手段と、
撹乱因子生成因子生成手段によって生成された撹乱因子生成因子A、記憶手段に記憶される署名に含まれる撹乱因子A、非対話ゼロ知識証明情報生成手段によって生成された非対話ゼロ知識証明情報の間でゼロ知識証明の検証を行う判定手段と、
判定手段によるゼロ知識証明の検証に成功した場合に、記憶手段に記憶される各署名装置によって生成された署名から異なる2つの署名ξ、ξ’およびこれら署名に対応するメッセージを選択する選択制御手段と、
臨時公開鍵生成手段によって生成された、選択制御手段によって選択された異なる2つの署名ξ、ξ’ごとの臨時公開鍵σ、σ’〔f=1,2,・・・,n〕について、各fごとにσ=σ’が成立するか否かを判定する重複臨時公開鍵検証手段と
を備えたことを特徴とする、重複署名および/またはコピー署名を検出する署名検証システム。
One or more signature devices and a verification device are communicatively connected to each other;
The signing device
Storage means for storing a secret key x i unique to the signer i, an identification number i unique to the signer i, a message m, and a label L common to all signers;
A unique temporary public key for generating a unique temporary public key generation factor h used to generate a unique temporary public key σ i unique to the signer i by inputting the label L stored in the storage means into the hash function H Generating factor generating means;
Specific temporary public key generation factor specific unique temporary public key to the signer i from generated by the generating means unique temporary public key generation factor h signer and unique secret key x i to i stored in the storage means sigma i A unique temporary public key generating means for generating
Disturbing factor generating factor generating means for inputting the label L and the message m stored in the storing means to the hash function H ′ and generating the disturbing factor generating factor A 0 used for generating the disturbing factor A 1 ;
The disturbance factor A 1 = the disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means, the unique temporary public key σ i generated by the unique temporary public key generation means, and the identification number i stored in the storage means. A disturbance factor generating means for generating (σ i / A 0 ) ^ (1 / i);
The number of temporary temporary public keys σ j = A that is obtained by subtracting 1 from the total number of signers n from the disturbance factor A 1 generated by the disturbance factor generation unit and the disturbance factor generation factor A 0 generated by the disturbance factor generation unit 0 A 1 j [j = 1, 2,..., I−1, i + 1,.
Non-interactive zero-knowledge proof information for generating a non-interactive zero-knowledge proof information used to prove the non-interactive zero-knowledge proof that generates a unique temporary public key sigma i using a unique secret key x i to the signer i Generating means;
Non-interactive zero knowledge proof information generating factor generating means for generating non-interactive zero knowledge proof information generating factor capable of generating non-interactive zero knowledge proof information generated by non-interactive zero knowledge proof information generating means;
The disturbing factor A 1 generated by the disturbing factor generating means and the non-interactive zero knowledge proof information generating factor generated by the non-interactive zero knowledge proof information generating factor are used to sign the label L and the message m stored in the storing means. A signature generation means and a verification apparatus capable of transmitting a label L, a message m, a label L, and a signature for the message m to the verification apparatus,
The unique temporary public key σ i generated by the unique temporary public key generating means and the disturbing temporary public key σ j generated by the disturbing temporary public key generating means [j = 1, 2,..., I−1, i + 1, .., N] is the disturbance generated by the disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means and the disturbance generated by the disturbance factor generation means, so that the distinctive temporary public key and the disturbance temporary public key cannot be distinguished. Can be generated from factor A 1 ,
The verification device is
A signature device receiving means capable of receiving a signature generated by each signature device and a message m corresponding to each signature, and a label L common to all the signers, from each signature device;
Storage means for storing the signature generated by each signature device, the message m and the label L corresponding to each signature received by the signature device reception means;
Disturbing factor generating factor generating means for inputting the label L and the message m stored in the storing means to the hash function H ′ to generate the disturbing factor generating factor A 0 ;
N temporary public keys σ f = A 0 corresponding to the total number of signers from the disturbance factor A 1 included in the signature stored in the storage means and the disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means. Temporary public key generation means for generating A 1 f [f = 1, 2,..., N];
Non-interactive zero knowledge proof information generating means for generating non-interactive zero knowledge proof information using a non-interactive zero knowledge proof information generating factor included in the signature stored in the storage means;
The disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means, the disturbance factor A 1 included in the signature stored in the storage means, and the non-interaction zero knowledge proof information generated by the non-interaction zero knowledge proof information generation means A determination means for verifying zero knowledge proof between
Selection control means for selecting two different signatures ξ, ξ ′ and messages corresponding to these signatures from the signatures generated by the respective signature devices stored in the storage means when the zero knowledge proof is successfully verified by the determination means When,
About the temporary public keys σ f , σ f ′ [f = 1, 2,..., N] for two different signatures ξ, ξ ′ selected by the selection control unit generated by the temporary public key generation unit A signature verification system for detecting a duplicate signature and / or a copy signature, comprising: a duplicate temporary public key verification unit that determines whether or not σ f = σ f ′ holds for each f.
1つ以上の署名装置と、検証装置とが相互に通信可能に接続され、
署名者iに固有の秘密鍵xと、署名者iに固有の識別番号i、メッセージmと、全署名者に共通のラベルLとが署名装置の記憶手段に記憶され、
署名装置の固有臨時公開鍵生成因子生成手段が、署名装置の記憶手段に記憶されるラベルLをハッシュ関数Hに入力して、署名者iに固有の固有臨時公開鍵σを生成するために用いられる固有臨時公開鍵生成因子hを生成する固有臨時公開鍵生成因子生成ステップと、
署名装置の固有臨時公開鍵生成手段が、固有臨時公開鍵生成因子生成ステップにおいて生成された固有臨時公開鍵生成因子hと署名装置の記憶手段に記憶される署名者iに固有の秘密鍵xとから署名者iに固有の固有臨時公開鍵σを生成する固有臨時公開鍵生成ステップと、
署名装置の撹乱因子生成因子生成手段が、署名装置の記憶手段に記憶されるラベルLおよびメッセージmをハッシュ関数H’に入力して、撹乱因子Aを生成するために用いられる撹乱因子生成因子Aを生成する撹乱因子生成因子生成ステップと、
署名装置の撹乱因子生成手段が、撹乱因子生成因子生成ステップにおいて生成された撹乱因子生成因子A、固有臨時公開鍵生成ステップにおいて生成された固有臨時公開鍵σ、署名装置の記憶手段に記憶される識別番号iとから撹乱因子A=(σ/A)^(1/i)を生成する撹乱因子生成ステップと、
署名装置の撹乱臨時公開鍵生成手段が、撹乱因子生成ステップにおいて生成された撹乱因子Aおよび撹乱因子生成因子生成ステップにおいて生成された撹乱因子生成因子Aから全署名者数nから1を引いた個数の撹乱臨時公開鍵σ=A 〔j=1,2,・・・,i−1、i+1,・・・,n〕を生成する撹乱臨時公開鍵生成ステップと、
署名装置の非対話ゼロ知識証明情報生成手段が、署名者iに固有の秘密鍵xを用いて固有臨時公開鍵σを生成したことを非対話ゼロ知識証明によって証明するために用いる非対話ゼロ知識証明情報を生成する非対話ゼロ知識証明情報生成ステップと、
署名装置の非対話ゼロ知識証明情報生成因子生成手段が、非対話ゼロ知識証明情報生成ステップにおいて生成された非対話ゼロ知識証明情報を生成可能な非対話ゼロ知識証明情報生成因子を生成する非対話ゼロ知識証明情報生成因子生成ステップと、
署名装置の署名生成手段が、撹乱因子生成ステップにおいて生成された撹乱因子Aおよび非対話ゼロ知識証明情報生成因子生成ステップにおいて生成された非対話ゼロ知識証明情報生成因子を、記憶手段に記憶されるラベルLおよびメッセージmに対する署名とする署名生成ステップと、
署名装置の対検証装置送信手段が、検証装置に対して、ラベルL、メッセージm、ラベルLおよびメッセージmに対する署名を送信する対検証装置送信ステップと、
検証装置の対署名装置受信手段が、署名装置から、ラベルL、メッセージm、ラベルLおよびメッセージmに対する署名を受信する対署名装置受信ステップと、
検証装置の記憶手段が、対署名装置受信ステップにおいて受信したメッセージm、ラベルL、ラベルLおよびメッセージmに対する署名を記憶する記憶ステップと、
検証装置の撹乱因子生成因子生成手段が、検証装置の記憶手段に記憶されるラベルLおよびメッセージmをハッシュ関数H’に入力して、撹乱因子生成因子Aを生成する第2撹乱因子生成因子生成ステップと、
検証装置の臨時公開鍵生成手段が、検証装置の記憶手段に記憶される署名に含まれる撹乱因子Aおよび第2撹乱因子生成因子生成ステップにおいて生成された撹乱因子生成因子Aから全署名者数に相当するn個の臨時公開鍵σ=A 〔f=1,2,・・・,n〕を生成する臨時公開鍵生成ステップと、
検証装置の非対話ゼロ知識証明情報生成手段が、検証装置の記憶手段に記憶される署名に含まれる非対話ゼロ知識証明情報生成因子を用いて非対話ゼロ知識証明情報を生成する第2非対話ゼロ知識証明情報生成ステップと、
検証装置の判定手段が、撹乱因子生成因子生成ステップにおいて生成された撹乱因子生成因子A、検証装置の記憶手段に記憶される署名に含まれる撹乱因子A、第2非対話ゼロ知識証明情報生成ステップにおいて生成された非対話ゼロ知識証明情報の間でゼロ知識証明の検証を行う判定ステップと
を有することを特徴とする署名検証方法。
One or more signature devices and a verification device are communicatively connected to each other;
And a unique secret key x i to the signer i, signer i a unique identification number i, and the message m, a common label L is stored in the storage means of the signing device to all signers,
In order for the unique temporary public key generation factor generating unit of the signature device to input the label L stored in the storage unit of the signature device to the hash function H and generate the unique temporary public key σ i unique to the signer i A unique temporary public key generation factor generation step for generating a unique temporary public key generation factor h to be used;
The unique temporary public key generation means of the signature device generates the unique temporary public key generation factor h generated in the unique temporary public key generation factor generation step and the secret key x i unique to the signer i stored in the storage means of the signature device. A unique temporary public key generation step for generating a unique temporary public key σ i unique to the signer i from
The disturbance factor generating factor generating means of the signature device inputs the label L and the message m stored in the storage means of the signature device into the hash function H ′, and is used to generate the disturbance factor A 1 a disturbance factor generation factor generation step of generating a a 0,
The disturbance factor generation means of the signature device stores the disturbance factor generation factor A 0 generated in the disturbance factor generation factor generation step, the unique temporary public key σ i generated in the unique temporary public key generation step, and the storage means of the signature device. A disturbance factor generating step for generating a disturbance factor A 1 = (σ i / A 0 ) ^ (1 / i) from the identification number i
The disturbance temporary public key generation means of the signature device subtracts 1 from the total number of signers n from the disturbance factor A 1 generated in the disturbance factor generation step and the disturbance factor generation factor A 0 generated in the disturbance factor generation factor generation step. A disturbing temporary public key generating step for generating a predetermined number of disturbing temporary public keys σ j = A 0 A 1 j [j = 1, 2,..., I−1, i + 1,.
Non dialogue non-interactive zero-knowledge proof information generation means of the signature device, used to prove the non-interactive zero-knowledge proof that generates a unique temporary public key sigma i using a unique secret key x i to the signer i A non-interactive zero knowledge proof information generation step for generating zero knowledge proof information;
Non-interactive zero-knowledge proof information generating factor generating means for generating a non-interactive zero-knowledge proof information generating factor capable of generating non-interactive zero-knowledge proof information generated in the non-interactive zero-knowledge proof information generating step Zero knowledge proof information generation factor generation step,
The signature generation means of the signature device stores the disturbance factor A 1 generated in the disturbance factor generation step and the non-interaction zero knowledge proof information generation factor generated in the non-interaction zero knowledge proof information generation factor in the storage means. Generating a signature for the label L and the message m.
A pair verification device transmission means for transmitting a signature for the label L, the message m, the label L, and the message m to the verification device;
A signature-signing-device receiving unit in which a signature-signing-device receiving unit of the verification device receives a signature for the label L, the message m, the label L, and the message m from the signature device;
A storage step in which the storage means of the verification device stores the message m, the label L, the label L, and the signature for the message m received in the signature device reception step;
A second disturbance factor generating factor for generating a disturbance factor generating factor A 0 by inputting the label L and the message m stored in the storage unit of the verification device to the hash function H ′ by the disturbance factor generating factor generating unit of the verification device Generation step;
Temporary public key generating means of the verification apparatus, the total signature from disturbance factor generation factor A 0 generated by the disturbance factor A 1 and the second disturbance factor generation factor generation step includes a signature that is stored in the storage means of the verification device's A temporary public key generation step for generating n temporary public keys σ f = A 0 A 1 f [f = 1, 2,..., N] corresponding to the number;
Second non-interaction in which the non-interactive zero knowledge proof information generating means of the verification device generates non-interactive zero knowledge proof information using the non-interactive zero knowledge proof information generation factor included in the signature stored in the storage means of the verification device Zero knowledge proof information generation step,
The verification means of the verification device includes the disturbance factor generation factor A 0 generated in the disturbance factor generation factor generation step, the disturbance factor A 1 included in the signature stored in the storage means of the verification device, and second non-interactive zero knowledge proof information And a determination step for verifying zero knowledge proof between the non-interactive zero knowledge proof information generated in the generation step.
1つ以上の署名装置と、検証装置とが相互に通信可能に接続され、
署名者iに固有の秘密鍵xと、署名者iに固有の識別番号i、メッセージmと、全署名者に共通のラベルLとが署名装置の記憶手段に記憶され、
署名装置の固有臨時公開鍵生成因子生成手段が、署名装置の記憶手段に記憶されるラベルLをハッシュ関数Hに入力して、署名者iに固有の固有臨時公開鍵σを生成するために用いられる固有臨時公開鍵生成因子hを生成する固有臨時公開鍵生成因子生成ステップと、
署名装置の固有臨時公開鍵生成手段が、固有臨時公開鍵生成因子生成ステップにおいて生成された固有臨時公開鍵生成因子hと署名装置の記憶手段に記憶される署名者iに固有の秘密鍵xとから署名者iに固有の固有臨時公開鍵σを生成する固有臨時公開鍵生成ステップと、
署名装置の撹乱因子生成因子生成手段が、署名装置の記憶手段に記憶されるラベルLおよびメッセージmをハッシュ関数H’に入力して、撹乱因子Aを生成するために用いられる撹乱因子生成因子Aを生成する撹乱因子生成因子生成ステップと、
署名装置の撹乱因子生成手段が、撹乱因子生成因子生成ステップにおいて生成された撹乱因子生成因子A、固有臨時公開鍵生成ステップにおいて生成された固有臨時公開鍵σ、署名装置の記憶手段に記憶される識別番号iとから撹乱因子A=(σ/A)^(1/i)を生成する撹乱因子生成ステップと、
署名装置の撹乱臨時公開鍵生成手段が、撹乱因子生成ステップにおいて生成された撹乱因子Aおよび撹乱因子生成因子生成ステップにおいて生成された撹乱因子生成因子Aから全署名者数nから1を引いた個数の撹乱臨時公開鍵σ=A 〔j=1,2,・・・,i−1、i+1,・・・,n〕を生成する撹乱臨時公開鍵生成ステップと、
署名装置の非対話ゼロ知識証明情報生成手段が、署名者iに固有の秘密鍵xを用いて固有臨時公開鍵σを生成したことを非対話ゼロ知識証明によって証明するために用いる非対話ゼロ知識証明情報を生成する非対話ゼロ知識証明情報生成ステップと、
署名装置の非対話ゼロ知識証明情報生成因子生成手段が、非対話ゼロ知識証明情報生成ステップにおいて生成された非対話ゼロ知識証明情報を生成可能な非対話ゼロ知識証明情報生成因子を生成する非対話ゼロ知識証明情報生成因子生成ステップと、
署名装置の署名生成手段が、撹乱因子生成ステップにおいて生成された撹乱因子Aおよび非対話ゼロ知識証明情報生成因子生成ステップにおいて生成された非対話ゼロ知識証明情報生成因子を、記憶手段に記憶されるラベルLおよびメッセージmに対する署名とする署名生成ステップと、
署名装置の対検証装置送信手段が、検証装置に対して、ラベルL、メッセージm、ラベルLおよびメッセージmに対する署名を送信する対検証装置送信ステップと、
検証装置の対署名装置受信手段が、各署名装置から、各署名装置によって生成された署名、各署名に対応するメッセージmおよびラベルLを受信する対署名装置受信ステップと、
検証装置の記憶手段が、対署名装置受信ステップにおいて受信した、各署名装置によって生成された署名、各署名に対応するメッセージmおよびラベルLを記憶する記憶ステップと、
検証装置の撹乱因子生成因子生成手段が、検証装置の記憶手段に記憶されるラベルLおよびメッセージmをハッシュ関数H’に入力して、撹乱因子生成因子Aを生成する第2撹乱因子生成因子生成ステップと、
検証装置の臨時公開鍵生成手段が、検証装置の記憶手段に記憶される署名に含まれる撹乱因子Aおよび第2撹乱因子生成因子生成ステップにおいて生成された撹乱因子生成因子Aから全署名者数に相当するn個の臨時公開鍵σ=A 〔f=1,2,・・・,n〕を生成する臨時公開鍵生成ステップと、
検証装置の非対話ゼロ知識証明情報生成手段が、検証装置の記憶手段に記憶される署名に含まれる非対話ゼロ知識証明情報生成因子を用いて非対話ゼロ知識証明情報を生成する第2非対話ゼロ知識証明情報生成ステップと、
検証装置の判定手段が、撹乱因子生成因子生成ステップにおいて生成された撹乱因子生成因子A、検証装置の記憶手段に記憶される署名に含まれる撹乱因子A、第2非対話ゼロ知識証明情報生成ステップにおいて生成された非対話ゼロ知識証明情報の間でゼロ知識証明の検証を行う判定ステップと、
検証装置の選択制御手段が、判定ステップにおいてゼロ知識証明の検証に成功した場合に、検証装置の記憶手段に記憶される各署名装置によって生成された署名から異なる2つの署名ξ、ξ’およびこれら署名に対応するメッセージを選択する選択制御ステップと、
検証装置の重複臨時公開鍵検証手段が、臨時公開鍵生成ステップにおいて生成された、選択制御ステップにおいて選択された異なる2つの署名ξ、ξ’ごとの臨時公開鍵σ、σ’〔f=1,2,・・・,n〕について、各fごとにσ=σ’が成立するか否かを判定する重複臨時公開鍵検証ステップと
を有することを特徴とする、重複署名および/またはコピー署名を検出する署名検証方法。
One or more signature devices and a verification device are communicatively connected to each other;
And a unique secret key x i to the signer i, signer i a unique identification number i, and the message m, a common label L is stored in the storage means of the signing device to all signers,
In order for the unique temporary public key generation factor generating unit of the signature device to input the label L stored in the storage unit of the signature device to the hash function H and generate the unique temporary public key σ i unique to the signer i A unique temporary public key generation factor generation step for generating a unique temporary public key generation factor h to be used;
The unique temporary public key generation means of the signature device generates the unique temporary public key generation factor h generated in the unique temporary public key generation factor generation step and the secret key x i unique to the signer i stored in the storage means of the signature device. A unique temporary public key generation step for generating a unique temporary public key σ i unique to the signer i from
The disturbance factor generating factor generating means of the signature device inputs the label L and the message m stored in the storage means of the signature device into the hash function H ′, and is used to generate the disturbance factor A 1 a disturbance factor generation factor generation step of generating a a 0,
The disturbance factor generation means of the signature device stores the disturbance factor generation factor A 0 generated in the disturbance factor generation factor generation step, the unique temporary public key σ i generated in the unique temporary public key generation step, and the storage means of the signature device. A disturbance factor generating step for generating a disturbance factor A 1 = (σ i / A 0 ) ^ (1 / i) from the identification number i
The disturbance temporary public key generation means of the signature device subtracts 1 from the total number of signers n from the disturbance factor A 1 generated in the disturbance factor generation step and the disturbance factor generation factor A 0 generated in the disturbance factor generation factor generation step. A disturbing temporary public key generating step for generating a predetermined number of disturbing temporary public keys σ j = A 0 A 1 j [j = 1, 2,..., I−1, i + 1,.
Non dialogue non-interactive zero-knowledge proof information generation means of the signature device, used to prove the non-interactive zero-knowledge proof that generates a unique temporary public key sigma i using a unique secret key x i to the signer i A non-interactive zero knowledge proof information generation step for generating zero knowledge proof information;
Non-interactive zero-knowledge proof information generating factor generating means for generating a non-interactive zero-knowledge proof information generating factor capable of generating non-interactive zero-knowledge proof information generated in the non-interactive zero-knowledge proof information generating step Zero knowledge proof information generation factor generation step,
The signature generation means of the signature device stores the disturbance factor A 1 generated in the disturbance factor generation step and the non-interaction zero knowledge proof information generation factor generated in the non-interaction zero knowledge proof information generation factor in the storage means. Generating a signature for the label L and the message m.
A pair verification device transmission means for transmitting a signature for the label L, the message m, the label L, and the message m to the verification device;
A signature-signing-device receiving unit for receiving a signature generated by each signature device, a message m corresponding to each signature, and a label L from each signature device;
A storage step in which the storage means of the verification device stores the signature generated by each signature device, the message m and the label L corresponding to each signature received in the signature receiving device reception step;
A second disturbance factor generating factor for generating a disturbance factor generating factor A 0 by inputting the label L and the message m stored in the storage unit of the verification device to the hash function H ′ by the disturbance factor generating factor generating unit of the verification device Generation step;
Temporary public key generating means of the verification apparatus, the total signature from disturbance factor generation factor A 0 generated by the disturbance factor A 1 and the second disturbance factor generation factor generation step includes a signature that is stored in the storage means of the verification device's A temporary public key generation step for generating n temporary public keys σ f = A 0 A 1 f [f = 1, 2,..., N] corresponding to the number;
Second non-interaction in which the non-interactive zero knowledge proof information generating means of the verification device generates non-interactive zero knowledge proof information using the non-interactive zero knowledge proof information generation factor included in the signature stored in the storage means of the verification device Zero knowledge proof information generation step,
The verification means of the verification device includes the disturbance factor generation factor A 0 generated in the disturbance factor generation factor generation step, the disturbance factor A 1 included in the signature stored in the storage means of the verification device, and second non-interactive zero knowledge proof information A determination step for verifying zero knowledge proof between the non-interactive zero knowledge proof information generated in the generation step;
When the selection control unit of the verification device succeeds in verifying the zero knowledge proof in the determination step, two signatures ξ, ξ ′ different from the signatures generated by the signature devices stored in the storage unit of the verification device and these A selection control step for selecting a message corresponding to the signature;
The duplicate temporary public key verification means of the verification device generates temporary public keys σ f and σ f ′ [f = for each of two different signatures ξ and ξ ′ selected in the selection control step generated in the temporary public key generation step. 1, 2,..., N], and a duplicate temporary public key verification step for determining whether or not σ f = σ f ′ holds for each f. Or a signature verification method that detects copy signatures.
1つ以上の電子投票装置と、開票装置と、情報公開サーバ装置とが相互に通信可能に接続され、
上記情報公開サーバ装置は、
選挙を特定する情報を含むラベルL、投票内容m、投票内容mに対する署名(投票署名)を記憶可能な記憶手段と、
電子投票装置に対して、記憶手段に記憶されるラベルLおよび投票内容mを送信可能な対電子投票装置送信手段と、
電子投票装置の対情報公開サーバ装置送信手段によって送信されたラベルL、投票内容mおよび投票署名を受信可能な対電子投票装置受信手段と、
開票装置に対して、記憶手段に記憶されるラベルL、投票内容m、投票内容mに対する投票署名を送信可能な対開票装置送信手段と
を備え、
上記電子投票装置は、
情報公開サーバ装置の対電子投票装置送信手段によって送信されたラベルLおよび投票内容mを受信する対情報公開サーバ装置受信手段と、
対情報公開サーバ装置受信手段によって受信した投票内容mおよびラベルL並びに投票者iに固有の秘密鍵xと、投票者iに固有の識別番号iとを記憶する記憶手段と、
記憶手段に記憶されるラベルLをハッシュ関数Hに入力して、投票者iに固有の固有臨時公開鍵σを生成するために用いられる固有臨時公開鍵生成因子hを生成する固有臨時公開鍵生成因子生成手段と、
固有臨時公開鍵生成因子生成手段によって生成された固有臨時公開鍵生成因子hと記憶手段に記憶される投票者iに固有の秘密鍵xとから投票者iに固有の固有臨時公開鍵σを生成する固有臨時公開鍵生成手段と、
記憶手段に記憶されるラベルLおよび投票内容mをハッシュ関数H’に入力して、撹乱因子Aを生成するために用いられる撹乱因子生成因子Aを生成する撹乱因子生成因子生成手段と、
撹乱因子生成因子生成手段によって生成された撹乱因子生成因子A、固有臨時公開鍵生成手段によって生成された固有臨時公開鍵σ、記憶手段に記憶される識別番号iとから撹乱因子A=(σ/A)^(1/i)を生成する撹乱因子生成手段と、
撹乱因子生成手段によって生成された撹乱因子Aおよび撹乱因子生成因子生成手段によって生成された撹乱因子生成因子Aから全投票者数nから1を引いた個数の撹乱臨時公開鍵σ=A 〔j=1,2,・・・,i−1、i+1,・・・,n〕を生成する撹乱臨時公開鍵生成手段と、
投票者iに固有の秘密鍵xを用いて固有臨時公開鍵σを生成したことを非対話ゼロ知識証明によって証明するために用いる非対話ゼロ知識証明情報を生成する非対話ゼロ知識証明情報生成手段と、
非対話ゼロ知識証明情報生成手段によって生成された非対話ゼロ知識証明情報を生成可能な非対話ゼロ知識証明情報生成因子を生成する非対話ゼロ知識証明情報生成因子生成手段と、
撹乱因子生成手段によって生成された撹乱因子Aおよび非対話ゼロ知識証明情報生成因子生成手段によって生成された非対話ゼロ知識証明情報生成因子を、記憶手段に記憶されるラベルLおよび投票内容mに対する署名(投票署名)とする署名生成手段と、
情報公開サーバ装置に対して、ラベルL、投票内容m、ラベルLおよび投票内容mに対する投票署名を送信可能な対情報公開サーバ装置送信手段と
を備え、
固有臨時公開鍵生成手段によって生成された固有臨時公開鍵σおよび撹乱臨時公開鍵生成手段によって生成された撹乱臨時公開鍵σ〔j=1,2,・・・,i−1、i+1,・・・,n〕は、固有臨時公開鍵と撹乱臨時公開鍵との判別が不能に、撹乱因子生成因子生成手段によって生成された撹乱因子生成因子Aおよび撹乱因子生成手段によって生成された撹乱因子Aから生成可能であり、
上記開票装置は、
情報公開サーバ装置から、各電子投票装置によって生成された投票署名、各投票署名に対応する投票内容mおよびラベルLを受信可能な対情報公開サーバ装置受信手段と、
対情報公開サーバ装置受信手段によって受信した、各電子投票装置によって生成された投票署名、各投票署名に対応する投票内容mおよびラベルLを記憶する記憶手段と、
記憶手段に記憶されるラベルLおよび投票内容mをハッシュ関数H’に入力して、撹乱因子生成因子Aを生成する撹乱因子生成因子生成手段と、
記憶手段に記憶される投票署名に含まれる撹乱因子Aおよび撹乱因子生成因子生成手段によって生成された撹乱因子生成因子Aから全投票者数に相当するn個の臨時公開鍵σ=A 〔f=1,2,・・・,n〕を生成する臨時公開鍵生成手段と、
記憶手段に記憶される投票署名に含まれる非対話ゼロ知識証明情報生成因子を用いて非対話ゼロ知識証明情報を生成する非対話ゼロ知識証明情報生成手段と、
撹乱因子生成因子生成手段によって生成された撹乱因子生成因子A、記憶手段に記憶される投票署名に含まれる撹乱因子A、非対話ゼロ知識証明情報生成手段によって生成された非対話ゼロ知識証明情報の間でゼロ知識証明の検証を行う判定手段と、
判定手段によるゼロ知識証明の検証に成功した場合に、記憶手段に記憶される各電子投票装置によって生成された投票署名から異なる2つの投票署名ξ、ξ’およびこれら投票署名に対応する投票内容を選択する選択制御手段と、
臨時公開鍵生成手段によって生成された、選択制御手段によって選択された異なる2つの投票署名ξ、ξ’ごとの臨時公開鍵σ、σ’〔f=1,2,・・・,n〕について、各fごとにσ=σ’が成立するか否かを判定する重複臨時公開鍵検証手段と
判定手段によるゼロ知識証明の検証および重複臨時公開鍵検証手段による重複投票署名および/またはコピー投票署名の検出に成功した場合に、重複投票署名に対応した投票内容ついてはその全ての個数を除いて、コピー投票署名に対応した投票内容についてはその総数から1を引いた個数を除いて、投票内容に投票された投票数を計数する集計手段と
を備えたことを特徴とする、重複投票署名および/またはコピー投票署名を検出する電子投開票システム。
One or more electronic voting devices, a voting device, and an information disclosure server device are connected to be able to communicate with each other,
The information disclosure server device
A storage means capable of storing a label L including information for specifying an election, a vote content m, a signature (voting signature) for the vote content m,
An electronic voting apparatus transmitting means capable of transmitting a label L and voting content m stored in the storage means to the electronic voting apparatus;
An electronic voting device receiving means capable of receiving the label L, the voting content m and the voting signature transmitted by the electronic information disclosure server device transmitting means of the electronic voting device;
A labeling device stored in the storage means, a vote content m, and a counter-voting device transmitting means capable of transmitting a vote signature for the vote content m,
The electronic voting device is
A counter information disclosure server apparatus receiving means for receiving the label L and the voting content m transmitted by the electronic voting apparatus transmission means of the information disclosure server apparatus;
And a unique secret key x i to vote content m and the label L and voter i received by the pair information publishing server device receiving means, storage means for storing a unique identification number i to the voter i,
A unique temporary public key for generating a unique temporary public key generation factor h used to generate a unique temporary public key σ i unique to the voter i by inputting the label L stored in the storage means into the hash function H Generating factor generating means;
Specific temporary public key-specific temporary public key specific to the voter i to voter i to be stored in the unique temporary public key generation factor h and a storage means which is generated by the generating factor generating means from a unique secret key x i σ i A unique temporary public key generating means for generating
Disturbing factor generating factor generating means for inputting a label L and voting content m stored in the storing means to the hash function H ′ to generate a disturbing factor generating factor A 0 used for generating the disturbing factor A 1 ;
The disturbance factor A 1 = the disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means, the unique temporary public key σ i generated by the unique temporary public key generation means, and the identification number i stored in the storage means. A disturbance factor generating means for generating (σ i / A 0 ) ^ (1 / i);
The number of temporary disturbance public keys σ j = A that is obtained by subtracting 1 from the total number of votes n from the disturbance factor A 1 generated by the disturbance factor generation unit and the disturbance factor generation factor A 0 generated by the disturbance factor generation unit 0 A 1 j [j = 1, 2,..., I−1, i + 1,.
Non-interactive zero-knowledge proof information to generate a non-interactive zero-knowledge proof information to be used for voter i in order to prove by non-interactive zero-knowledge proof that generates a unique temporary public key σ i by using a unique secret key x i Generating means;
Non-interactive zero knowledge proof information generating factor generating means for generating non-interactive zero knowledge proof information generating factor capable of generating non-interactive zero knowledge proof information generated by non-interactive zero knowledge proof information generating means;
The disturbing factor A 1 generated by the disturbing factor generating means and the non-interactive zero knowledge proof information generating factor generated by the non-interactive zero knowledge proof information generating factor are assigned to the label L and the vote contents m stored in the storing means. A signature generation means for making a signature (voting signature);
An information disclosure server device transmitting means capable of transmitting a label L, a vote content m, a label L and a vote signature for the vote content m to the information disclosure server device,
The unique temporary public key σ i generated by the unique temporary public key generating means and the disturbing temporary public key σ j generated by the disturbing temporary public key generating means [j = 1, 2,..., I−1, i + 1, .., N] is the disturbance generated by the disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means and the disturbance generated by the disturbance factor generation means, so that the distinctive temporary public key and the disturbance temporary public key cannot be distinguished. Can be generated from factor A 1 ,
The above counting device is
Anti-information disclosure server device receiving means capable of receiving a voting signature generated by each electronic voting device, voting content m and label L corresponding to each voting signature from the information disclosure server device;
Storage means for storing the voting signature generated by each electronic voting device, the voting content m and the label L corresponding to each voting signature received by the information disclosure server device receiving means;
Disturbing factor generating factor generating means for inputting the label L and the vote content m stored in the storing means to the hash function H ′ to generate the disturbing factor generating factor A 0 ;
N temporary public keys σ f = A corresponding to the total number of voters from the disturbance factor A 1 included in the voting signature stored in the storage means and the disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means Temporary public key generation means for generating 0 A 1 f [f = 1, 2,..., N];
Non-interactive zero knowledge proof information generating means for generating non-interactive zero knowledge proof information using a non-interactive zero knowledge proof information generating factor included in the voting signature stored in the storage means;
The disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means, the disturbance factor A 1 included in the voting signature stored in the storage means, and the non-interaction zero knowledge proof generated by the non-interaction zero knowledge proof information generation means A determination means for verifying zero knowledge proof between information;
When the zero-knowledge proof is successfully verified by the judging means, two different voting signatures ξ, ξ ′ and voting contents corresponding to these voting signatures are obtained from the voting signatures generated by each electronic voting device stored in the storage means Selection control means to select;
Temporary public keys σ f , σ f ′ [f = 1, 2,..., N] for each of two different voting signatures ξ, ξ ′ selected by the selection control unit, generated by the temporary public key generation unit. For each f, a duplicate temporary public key verification means for determining whether or not σ f = σ f ′ is satisfied, a verification of zero knowledge proof by the determination means, a duplicate vote signature by the duplicate temporary public key verification means, and / or When the copy vote signature is successfully detected, all the vote contents corresponding to the duplicate vote signature are excluded, and the vote contents corresponding to the copy vote signature are excluded from the total number minus 1. An electronic voting vote system for detecting duplicate voting signatures and / or copy voting signatures, characterized in that it comprises a counting means for counting the number of votes voted for the voting contents.
1つ以上の利用者装置と、1つ以上の店舗装置と、銀行の検証装置とが相互に通信可能に接続され、
上記利用者装置は、
店舗装置から取引を特定する情報である取引情報mを受信する対店舗装置受信手段と、
対店舗装置受信手段によって受信した取引情報m並びに、利用者iに固有の秘密鍵xと、利用者iに固有の識別番号iと、電子現金の金額の情報を含むラベルLとを記憶する記憶手段と、
記憶手段に記憶されるラベルLをハッシュ関数Hに入力して、利用者iに固有の固有臨時公開鍵σを生成するために用いられる固有臨時公開鍵生成因子hを生成する固有臨時公開鍵生成因子生成手段と、
固有臨時公開鍵生成因子生成手段によって生成された固有臨時公開鍵生成因子hと記憶手段に記憶される利用者iに固有の秘密鍵xとから利用者iに固有の固有臨時公開鍵σを生成する固有臨時公開鍵生成手段と、
記憶手段に記憶されるラベルLおよび取引情報mをハッシュ関数H’に入力して、撹乱因子Aを生成するために用いられる撹乱因子生成因子Aを生成する撹乱因子生成因子生成手段と、
撹乱因子生成因子生成手段によって生成された撹乱因子生成因子A、固有臨時公開鍵生成手段によって生成された固有臨時公開鍵σ、記憶手段に記憶される識別番号iとから撹乱因子A=(σ/A)^(1/i)を生成する撹乱因子生成手段と、
撹乱因子生成手段によって生成された撹乱因子Aおよび撹乱因子生成因子生成手段によって生成された撹乱因子生成因子Aから全利用者数nから1を引いた個数の撹乱臨時公開鍵σ=A 〔j=1,2,・・・,i−1、i+1,・・・,n〕を生成する撹乱臨時公開鍵生成手段と、
利用者iに固有の秘密鍵xを用いて固有臨時公開鍵σを生成したことを非対話ゼロ知識証明によって証明するために用いる非対話ゼロ知識証明情報を生成する非対話ゼロ知識証明情報生成手段と、
非対話ゼロ知識証明情報生成手段によって生成された非対話ゼロ知識証明情報を生成可能な非対話ゼロ知識証明情報生成因子を生成する非対話ゼロ知識証明情報生成因子生成手段と、
撹乱因子生成手段によって生成された撹乱因子Aおよび非対話ゼロ知識証明情報生成因子生成手段によって生成された非対話ゼロ知識証明情報生成因子を、記憶手段に記憶されるラベルLおよび取引情報mに対する署名とする署名生成手段と
店舗装置に対して、ラベルL、取引情報m、ラベルLおよび取引情報mに対する署名を電子現金として送信する対店舗装置送信手段と
を備え、
固有臨時公開鍵生成手段によって生成された固有臨時公開鍵σおよび撹乱臨時公開鍵生成手段によって生成された撹乱臨時公開鍵σ〔j=1,2,・・・,i−1、i+1,・・・,n〕は、固有臨時公開鍵と撹乱臨時公開鍵との判別が不能に、撹乱因子生成因子生成手段によって生成された撹乱因子生成因子Aおよび撹乱因子生成手段によって生成された撹乱因子Aから生成可能であり、
上記店舗装置は、
利用者装置に対して取引情報mを送信する対利用者装置送信手段と、
利用者装置からラベルL、取引情報m、ラベルLおよび取引情報mに対する署名を受信する対利用者装置受信手段と、
対利用者装置受信手段によって受信した、利用者装置によって生成された署名、各署名に対応する取引情報mおよびラベルLを記憶する記憶手段と、
記憶手段に記憶されるラベルLおよび取引情報mをハッシュ関数H’に入力して、撹乱因子生成因子Aを生成する撹乱因子生成因子生成手段と、
記憶手段に記憶される署名に含まれる撹乱因子Aおよび撹乱因子生成因子生成手段によって生成された撹乱因子生成因子Aから全利用者数に相当するn個の臨時公開鍵σ=A 〔f=1,2,・・・,n〕を生成する臨時公開鍵生成手段と、
記憶手段に記憶される署名に含まれる非対話ゼロ知識証明情報生成因子を用いて非対話ゼロ知識証明情報を生成する非対話ゼロ知識証明情報生成手段と、
撹乱因子生成因子生成手段によって生成された撹乱因子生成因子A、記憶手段に記憶される署名に含まれる撹乱因子A、非対話ゼロ知識証明情報生成手段によって生成された非対話ゼロ知識証明情報の間でゼロ知識証明の検証を行う判定手段と、
判定手段によってゼロ知識証明が成功した場合に、対利用者装置受信手段によって受信したラベルL、取引情報m、ラベルLおよび取引情報mに対する署名を銀行の検証装置に送信する対銀行検証装置送信手段と
を備え、
上記銀行の検証装置は、
各店舗装置からラベルL、取引情報m、ラベルLおよび取引情報mに対する署名を受信する対店舗装置受信手段と、
対店舗装置受信手段によって受信した、各利用者装置によって生成された署名、各署名に対応する投票内容mおよびラベルLを記憶する記憶手段と、
記憶手段に記憶されるラベルLおよび取引情報mをハッシュ関数H’に入力して、撹乱因子生成因子Aを生成する撹乱因子生成因子生成手段と、
記憶手段に記憶される署名に含まれる撹乱因子Aおよび撹乱因子生成因子生成手段によって生成された撹乱因子生成因子Aから全利用者数に相当するn個の臨時公開鍵σ=A 〔f=1,2,・・・,n〕を生成する臨時公開鍵生成手段と、
記憶手段に記憶される署名に含まれる非対話ゼロ知識証明情報生成因子を用いて非対話ゼロ知識証明情報を生成する非対話ゼロ知識証明情報生成手段と、
撹乱因子生成因子生成手段によって生成された撹乱因子生成因子A、記憶手段に記憶される署名に含まれる撹乱因子A、非対話ゼロ知識証明情報生成手段によって生成された非対話ゼロ知識証明情報の間でゼロ知識証明の検証を行う判定手段と、
記憶手段に記憶される各利用者装置によって生成された署名から異なる2つの署名ξ、ξ’およびこれら署名に対応する取引情報m、m’を選択する選択制御手段と、
臨時公開鍵生成手段によって生成された、選択制御手段によって選択された異なる2つの署名ξ、ξ’ごとの臨時公開鍵σ、σ’〔f=1,2,・・・,n〕について、各fごとにσ=σ’が成立するか否かを判定する重複臨時公開鍵検証手段と、
判定手段によるゼロ知識証明の検証および重複臨時公開鍵検証手段による重複署名および/またはコピー署名の検出に成功した場合に、ラベルLに定まる金額を店舗の銀行口座に振り込む口座管理手段と、
を備えたことを特徴とする電子現金支払システム。
One or more user devices, one or more store devices, and a bank verification device are connected to be able to communicate with each other,
The user device is
An anti-store device receiving means for receiving transaction information m which is information for identifying a transaction from the store device;
And transaction information received by the pair shop device receiving unit m, stores a unique secret key x i to the user i, and a unique identification number i to the user i, a label L which contains information amount of electronic cash Storage means;
A unique temporary public key for generating a unique temporary public key generation factor h used for generating a unique temporary public key σ i unique to the user i by inputting the label L stored in the storage means into the hash function H Generating factor generating means;
Specific temporary public key-specific temporary public key specific to the user i to user i that is stored in the specific temporary public key generation factor h and a storage means which is generated by the generating factor generating means from a unique secret key x i σ i A unique temporary public key generating means for generating
Disturbing factor generation factor generating means for inputting the label L and the transaction information m stored in the storage means to the hash function H ′ and generating the disturbance factor generating factor A 0 used for generating the disturbance factor A 1 ;
The disturbance factor A 1 = the disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means, the unique temporary public key σ i generated by the unique temporary public key generation means, and the identification number i stored in the storage means. A disturbance factor generating means for generating (σ i / A 0 ) ^ (1 / i);
The number of temporary disturbance public keys σ j = A that is obtained by subtracting 1 from the total number of users n from the disturbance factor A 1 generated by the disturbance factor generation unit and the disturbance factor generation factor A 0 generated by the disturbance factor generation unit 0 A 1 j [j = 1, 2,..., I−1, i + 1,.
Non-interactive zero-knowledge proof information for generating non-interactive zero-knowledge proof information used to prove by using non-interactive zero-knowledge proof that a unique temporary public key σ i is generated using a secret key x i unique to user i Generating means;
Non-interactive zero knowledge proof information generating factor generating means for generating non-interactive zero knowledge proof information generating factor capable of generating non-interactive zero knowledge proof information generated by non-interactive zero knowledge proof information generating means;
The disturbance factor A 1 generated by the disturbance factor generation means and the non-interaction zero knowledge proof information generation factor generated by the non-interaction zero knowledge proof information generation factor are stored in the label L and the transaction information m stored in the storage means. A signature generating means for making a signature, and a store apparatus transmitting means for transmitting a label for the label L, transaction information m, label L and transaction information m as electronic cash to the store apparatus,
The unique temporary public key σ i generated by the unique temporary public key generating means and the disturbing temporary public key σ j generated by the disturbing temporary public key generating means [j = 1, 2,..., I−1, i + 1, .., N] is the disturbance generated by the disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means and the disturbance generated by the disturbance factor generation means, so that the distinctive temporary public key and the disturbance temporary public key cannot be distinguished. Can be generated from factor A 1 ,
The store device is
A user device transmission means for transmitting the transaction information m to the user device;
A user device receiving means for receiving a label for the label L, the transaction information m, the label L, and the transaction information m from the user device;
Storage means for storing the signature generated by the user device, the transaction information m and the label L corresponding to each signature received by the user device reception means;
Disturbing factor generating factor generating means for inputting the label L and the transaction information m stored in the storing means to the hash function H ′ to generate the disturbing factor generating factor A 0 ,
N temporary public keys σ f = A 0 corresponding to the total number of users from the disturbance factor A 1 included in the signature stored in the storage means and the disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means Temporary public key generation means for generating A 1 f [f = 1, 2,..., N];
Non-interactive zero knowledge proof information generating means for generating non-interactive zero knowledge proof information using a non-interactive zero knowledge proof information generating factor included in the signature stored in the storage means;
The disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means, the disturbance factor A 1 included in the signature stored in the storage means, and the non-interaction zero knowledge proof information generated by the non-interaction zero knowledge proof information generation means A determination means for verifying zero knowledge proof between
When the zero-knowledge proof is successful by the judging means, the anti-bank verification apparatus transmitting means for transmitting the label L, the transaction information m, the label L and the signature for the transaction information m received by the anti-user apparatus receiving means to the bank verification apparatus And
The bank verification device
To store device receiving means for receiving a label for each label L, transaction information m, label L and transaction information m from each store device;
Storage means for storing the signature generated by each user device, the voting content m and the label L corresponding to each signature received by the store device receiving means;
Disturbing factor generating factor generating means for inputting the label L and the transaction information m stored in the storing means to the hash function H ′ to generate the disturbing factor generating factor A 0 ,
N temporary public keys σ f = A 0 corresponding to the total number of users from the disturbance factor A 1 included in the signature stored in the storage means and the disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means Temporary public key generation means for generating A 1 f [f = 1, 2,..., N];
Non-interactive zero knowledge proof information generating means for generating non-interactive zero knowledge proof information using a non-interactive zero knowledge proof information generating factor included in the signature stored in the storage means;
The disturbance factor generation factor A 0 generated by the disturbance factor generation factor generation means, the disturbance factor A 1 included in the signature stored in the storage means, and the non-interaction zero knowledge proof information generated by the non-interaction zero knowledge proof information generation means A determination means for verifying zero knowledge proof between
Selection control means for selecting two different signatures ξ, ξ ′ and transaction information m, m ′ corresponding to these signatures from the signatures generated by each user device stored in the storage means;
About the temporary public keys σ f , σ f ′ [f = 1, 2,..., N] for two different signatures ξ, ξ ′ selected by the selection control unit generated by the temporary public key generation unit Duplicate temporary public key verification means for determining whether or not σ f = σ f ′ holds for each f;
Account management means for transferring the amount determined in the label L to the bank account of the store when the verification of the zero knowledge proof by the determination means and the detection of the duplicate signature and / or the copy signature by the duplicate temporary public key verification means are successful;
An electronic cash payment system comprising:
請求項1、2、3、4、1718のいずれかに記載の方法の各ステップをコンピュータにより実行するプログラム。
The program which performs each step of the method in any one of Claim 1, 2, 3, 4, 17 , 18 with a computer.
JP2006008040A 2005-05-24 2006-01-16 Electronic signature method with threshold, verification method, electronic signature system, verification device, signature device, duplicate signature copy signature detection device, signature verification system, signature verification method, electronic billing system, electronic cash payment system, and program Active JP4790422B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006008040A JP4790422B2 (en) 2005-05-24 2006-01-16 Electronic signature method with threshold, verification method, electronic signature system, verification device, signature device, duplicate signature copy signature detection device, signature verification system, signature verification method, electronic billing system, electronic cash payment system, and program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005150963 2005-05-24
JP2005150963 2005-05-24
JP2006008040A JP4790422B2 (en) 2005-05-24 2006-01-16 Electronic signature method with threshold, verification method, electronic signature system, verification device, signature device, duplicate signature copy signature detection device, signature verification system, signature verification method, electronic billing system, electronic cash payment system, and program

Publications (2)

Publication Number Publication Date
JP2007006441A JP2007006441A (en) 2007-01-11
JP4790422B2 true JP4790422B2 (en) 2011-10-12

Family

ID=37691564

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006008040A Active JP4790422B2 (en) 2005-05-24 2006-01-16 Electronic signature method with threshold, verification method, electronic signature system, verification device, signature device, duplicate signature copy signature detection device, signature verification system, signature verification method, electronic billing system, electronic cash payment system, and program

Country Status (1)

Country Link
JP (1) JP4790422B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113112268A (en) * 2021-03-19 2021-07-13 杭州复杂美科技有限公司 Anonymous multiple signature method, computer device, and storage medium

Also Published As

Publication number Publication date
JP2007006441A (en) 2007-01-11

Similar Documents

Publication Publication Date Title
KR101837169B1 (en) Method for providing secret electronic voting service on the basis of blockchain with merkle tree structure by using zero knowledge proof algorithm, and voting coin minter server, voting token distributor server and voting supporting server using the same
KR101837170B1 (en) Method for providing secret electronic voting service on the basis of blockchain by using zero knowledge proof algorithm, and voting coin minter server, voting token distributor server and voting supporting server using the same
RU2652443C1 (en) Voters votes quantity collected by electronic voting determining system and method
JP4082717B2 (en) Anonymous signature method and apparatus using shared private key
JP2023071977A (en) Computer-implemented system and method suitable for increasing security of instant off-line blockchain transactions
EP1469429A1 (en) Secure electronic voting method and the cryptographic protocols and computer programs used
CN101821987B (en) Efficient certified email protocol
WO2003105400A1 (en) Data processing system, data processing device, data processing method, and computer program
JP4727651B2 (en) Electronic voting process using fair blind signature
US20230208643A1 (en) Zero-knowledge interaction processing system and method
Küpçü Official arbitration with secure cloud storage application
US7356842B2 (en) Cryptographic revocation method using a chip card
Fan et al. An efficient multi-receipt mechanism for uncoercible anonymous electronic voting
CN115147975B (en) Encryption network voting method based on block chain
JP4790422B2 (en) Electronic signature method with threshold, verification method, electronic signature system, verification device, signature device, duplicate signature copy signature detection device, signature verification system, signature verification method, electronic billing system, electronic cash payment system, and program
Hernandez-Ardieta et al. An optimistic fair exchange protocol based on signature policies
Pan et al. Enhanced name and vote separated E‐voting system: an E‐voting system that ensures voter confidentiality and candidate privacy
Emilia et al. E-voting protocols in context of COVID19
US20240013170A1 (en) Method for secure, traceable and privacy-preserving digital currency transfer with anonymity revocation on a distributed ledger
JP2004013606A (en) Electronic voting method and system, voter device and manager device and tabulator device, electronic voting program and storage medium with its program stored
KR102430835B1 (en) Bolckchain e-voting system and manipulation method
Fan et al. Anonymous fair transaction protocols based on electronic cash
Vasco et al. Anonymous subscription schemes: A flexible construction for on-line services access
Akinyokun Secure voter authentication for poll-site elections in developing countries
KR100338330B1 (en) Voting method for a receipt-free electronic voting system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110419

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110620

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

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

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

Free format text: PAYMENT UNTIL: 20140729

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4790422

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