Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4681474B2 - Blind signature generation / verification method, blind signature generation apparatus, user apparatus, blind signature verification apparatus, blind signature generation / verification system, blind signature generation program, user program, blind signature verification program - Google Patents
[go: Go Back, main page]

JP4681474B2 - Blind signature generation / verification method, blind signature generation apparatus, user apparatus, blind signature verification apparatus, blind signature generation / verification system, blind signature generation program, user program, blind signature verification program - Google Patents

Blind signature generation / verification method, blind signature generation apparatus, user apparatus, blind signature verification apparatus, blind signature generation / verification system, blind signature generation program, user program, blind signature verification program Download PDF

Info

Publication number
JP4681474B2
JP4681474B2 JP2006054594A JP2006054594A JP4681474B2 JP 4681474 B2 JP4681474 B2 JP 4681474B2 JP 2006054594 A JP2006054594 A JP 2006054594A JP 2006054594 A JP2006054594 A JP 2006054594A JP 4681474 B2 JP4681474 B2 JP 4681474B2
Authority
JP
Japan
Prior art keywords
unit
blind signature
generation
verification
user device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006054594A
Other languages
Japanese (ja)
Other versions
JP2007110668A (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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2006054594A priority Critical patent/JP4681474B2/en
Publication of JP2007110668A publication Critical patent/JP2007110668A/en
Application granted granted Critical
Publication of JP4681474B2 publication Critical patent/JP4681474B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、暗号技術の応用技術分野に関し、特にブラインド署名技術に関する。   The present invention relates to an application technical field of cryptographic technology, and more particularly to blind signature technology.

従来多くのブラインドディジタル署名方式が提案されているが、ほとんどの署名方式(RSAブラインド署名方式、DSAブラインド署名方式など(例えば、非特許文献1参照))は、ハッシュ関数を利用することで安全性が保証される。この場合、安全性の根拠はハッシュ値のランダム性に依存することになるが、ハッシュ値が完全にランダムなハッシュ関数は存在しない。
また、ハッシュ関数を利用しないブラインド署名方式としては、Juelsらの方式がある(例えば、非特許文献2参照)。
Chaum, D., "Security without Identification: Transaction Systems to Make Big Brother Obsolete", Communications of the ACM, vol.28, No.10, pp.1030-1044 (1985) Juels, A., Luby, M, and Ostrovsky, R., "Security of Blind Digital Signatures, Proceedings of Crypto'97, LNCS 1294, pp.150-164 (1997)
Conventionally, many blind digital signature schemes have been proposed, but most signature schemes (RSA blind signature scheme, DSA blind signature scheme, etc. (see, for example, Non-Patent Document 1)) are secure by using a hash function. Is guaranteed. In this case, the grounds for security depend on the randomness of the hash value, but there is no hash function in which the hash value is completely random.
As a blind signature method that does not use a hash function, there is a method of Juels et al. (See, for example, Non-Patent Document 2).
Chaum, D., "Security without Identification: Transaction Systems to Make Big Brother Obsolete", Communications of the ACM, vol.28, No.10, pp.1030-1044 (1985) Juels, A., Luby, M, and Ostrovsky, R., "Security of Blind Digital Signatures, Proceedings of Crypto'97, LNCS 1294, pp. 150-164 (1997)

しかし、Juelsらの方式は、一般的な二者間プロトコルに基づく方式であり、実用上の効率性は全く考慮されていない。そのため、この方式は全く実用性を持たない。
本発明はこのような点に鑑みてなされたものであり、ハッシュ関数に依存することなく、安全性が保証された効率的なブラインド署名を実現することを目的とする。
However, the method of Juels et al. Is based on a general two-party protocol, and practical efficiency is not considered at all. Therefore, this method has no practicality at all.
The present invention has been made in view of these points, and an object of the present invention is to realize an efficient blind signature with guaranteed security without depending on a hash function.

第1の発明では、まず、ブラインド署名生成装置の秘密鍵生成部が、pを素数とした場合における、秘密鍵x∈{0,1,...,p−1}を生成し、公開鍵生成部が、GとGを位数がpの巡回群とし、gをGの生成元とし、gをGの生成元とした場合における、公開鍵g,g,w=g ,u∈G,v∈Gを生成する。そして、h計算部が、h=g (r∈{0,1,...,p−1})を計算し、送信部が、hを利用者装置に送信する。
次に、利用者装置の受信部が、hと少なくともブラインド署名生成装置から送信された公開鍵g,w,u,vとを受信する。そして、利用者装置のX計算部が、ψをGからGへの写像ψ(g)=gとし、m∈{0,1,...,p−1}を署名対象情報とした場合における、X=g ・ψ(u)・ψ(v)・(ψ(w・h))(s,R∈{0,1,...,p−1})を計算し、送信部が、Xをブラインド署名生成装置に送信する。
In the first invention, first, the secret key generation unit of the blind signature generation device generates a secret key xε {0, 1,..., P−1} when p is a prime number, and the public key When the generation unit sets G 1 and G 2 as a cyclic group of order p, g 1 as a generation source of G 1 , and g 2 as a generation source of G 2 , public keys g 1 , g 2 , w = g 2 x , uεG 2 , vεG 2 are generated. Then, the h calculation unit calculates h = g 2 r (rε {0, 1,..., P−1}), and the transmission unit transmits h to the user device.
Next, the receiving unit of the user device receives h and at least the public keys g 1 , w, u, v transmitted from the blind signature generation device. Then, the X calculation unit of the user device sets ψ as a mapping ψ (g 2 ) = g 1 from G 2 to G 1 and sets m∈ {0, 1,..., P−1} as signature object information. X = g 1 m · ψ (u) · ψ (v) s · (ψ (w · h)) R (s, Rε {0, 1,..., P−1}) And the transmission unit transmits X to the blind signature generation device.

次に、ブラインド署名生成装置の受信部がXを受信する。また、ブラインド署名生成装置のY計算部が、Y=(X・g L・z1/(x+r)(L,z∈{0,1,...,p−1})を計算し、送信部が、少なくともYを利用者装置に送信する。
次に、利用者装置の受信部が少なくともYを受信し、σ計算部が、σ=(Y/g 1/t(t∈{0,1,...,p−1})を計算し、α計算部が、α=wt−1・hを計算し、送信部が、署名対象情報mと、ブラインド署名(σ,α,β)と、をブラインド署名検証装置に送信する。
Next, the receiving unit of the blind signature generation apparatus receives X. In addition, the Y calculation unit of the blind signature generation device calculates Y = (X · g 1 L · z ) 1 / (x + r) (L, zε {0,1,..., P−1}). The transmitting unit transmits at least Y to the user device.
Next, the reception unit of the user apparatus receives at least Y, and the σ calculation unit performs σ = (Y / g 1 R ) 1 / t (tε {0, 1,..., P−1}). The α calculation unit calculates α = w t−1 · h t , and the transmission unit transmits the signature target information m and the blind signature (σ, α, β) to the blind signature verification device. To do.

次に、ブラインド署名検証装置の受信部が、署名対象情報mとそのブラインド署名(σ,α,β)とを受信し、ブラインド署名生成装置から送信された公開鍵g,g,w,u,vを受信する。そして、ブラインド署名検証装置の署名検証部が、eをG×G→Gの双線形写像とした場合における、σ≠1,α∈G,e(σ,w・α)=e(g,g ・u・vβ)(β=s+L mod p)が成立するか否かを検証する。
ここで、本発明では、双線形写像を用いることとしため、ハッシュ関数を必要としないブラインド署名を実現できる。また、このブラインド署名の安全性は、Strong Diffile-Hellman問題の求解困難性に基づいており、安全であるといえる。さらに、このブラインド署名の各処理に必要とされる演算量は、広く用いられているRSA署名などと同程度である。
Next, the receiving unit of the blind signature verification device receives the signature object information m and the blind signature (σ, α, β), and the public keys g 1 , g 2 , w, transmitted from the blind signature generation device. u and v are received. Then, the signature verification unit of the blind signature verification device, in the case where the e bilinear mapping G 1 × G 2 → G T , σ ≠ 1, α∈G 2, e (σ, w · α) = e It is verified whether (g 1 , g 2 m · u · v β ) (β = s + L mod p) holds.
Here, in the present invention, since a bilinear mapping is used, a blind signature that does not require a hash function can be realized. The security of this blind signature is based on the difficulty of solving the Strong Diffile-Hellman problem and can be said to be secure. Furthermore, the amount of computation required for each process of this blind signature is comparable to that of a widely used RSA signature.

また、第1の発明において好ましくは、利用者装置の証明結果情報生成部が、当該利用者装置に(m,s,R)が保持されていることを、少なくともmを開示することなくブラインド署名生成装置に証明するための証明結果情報を生成し、送信部が、当該証明結果情報をブラインド署名生成装置に送信する。そして、ブラインド署名生成装置の受信部が、この証明結果情報を受信し、証明結果検証部が、証明結果情報を検証する。そして、この証明検証部が証明結果情報を合格と判断した場合にのみ、上述のブラインド署名生成装置のY計算部がYを計算するための処理を実行する。   In the first invention, preferably, the proof result information generation unit of the user device indicates that (m, s, R) is held in the user device without blindly disclosing at least m. Proof result information for proof to the generation device is generated, and the transmission unit transmits the proof result information to the blind signature generation device. Then, the reception unit of the blind signature generation apparatus receives this proof result information, and the proof result verification unit verifies the proof result information. Only when the proof verification unit determines that the proof result information is acceptable, the Y calculation unit of the above-described blind signature generation apparatus executes a process for calculating Y.

これにより、利用者装置が署名対象mに対応しないXをブラインド署名生成装置に送信し、不正な或いは誤ったブラインド署名が生成されることを防止できる。
また、第1の発明において好ましくは、利用者装置の乱数生成部が、a,a,aを{0,1,...,p−1}からランダムに選択し、W計算部が、W=g a1・ψ(v)a2・(ψ(w・h))a3(上付き添え字a1,a2,a3は、それぞれa,a,aを示す)を計算し、送信部が、Wをブラインド署名生成装置に送信する。そして、ブラインド署名生成装置の受信部がWを受信した後、乱数生成部が、ηを{0,1,...,p−1}からランダムに選択し、送信部が、このηを利用者装置に送信する。次に、利用者装置の受信部が、ηを受信し、証明結果情報生成部が、証明結果情報としてz=a+η・m mod p,z=a+η・s mod p,z=a+η・R mod pを生成し、送信部が、当該証明結果情報をブラインド署名生成装置に送信する。そして、これに対し、ブラインド署名生成装置の証明結果検証部がg z1・ψ(v)z2・(ψ(w・h))z3≡W・(X/ψ(u))η(上付き添え字z1,z2,z3は、それぞれz,z,zを示す)が成り立つか否かにより、証明結果情報の検証を行う。
As a result, it is possible to prevent the user apparatus from transmitting X that does not correspond to the signature object m to the blind signature generation apparatus and generating an illegal or incorrect blind signature.
Also, in the first invention, preferably, the random number generation unit of the user device randomly selects a 1 , a 2 , a 3 from {0, 1,..., P−1}, and the W calculation unit W = g 1 a1 · ψ (v) a2 · (ψ (w · h)) a3 (the superscripts a1, a2 and a3 indicate a 1 , a 2 and a 3 respectively) The transmitting unit transmits W to the blind signature generation device. Then, after the reception unit of the blind signature generation device receives W, the random number generation unit randomly selects η from {0, 1,..., P−1}, and the transmission unit uses this η. To the user device. Next, the receiving unit of the user apparatus receives η, and the proof result information generating unit uses z 1 = a 1 + η · m mod p, z 2 = a 2 + η · s mod p, z as proof result information. 3 = a 3 + η · R mod p is generated, and the transmission unit transmits the certification result information to the blind signature generation device. In response to this, the proof result verification unit of the blind signature generation apparatus performs g 1 z1 · ψ (v) z2 · (ψ (w · h)) z3 ≡W · (X / ψ (u)) η (superscript The subscripts z1, z2, and z3 indicate z 1 , z 2 , and z 3 ), respectively, and verify the proof result information.

また、第1の発明において好ましくは、写像ψはGからGへの同型写像である。
これにより、正確な署名検証が可能になる。
また、第1の発明において好ましくは、ブラインド署名生成装置の秘密鍵生成部が、秘密鍵xを生成する際に、秘密鍵z∈{0,1,...,p−1}も生成して記憶部に格納するステップをさらに有し、ブラインド署名生成装置の公開鍵生成部が生成する公開鍵はv=g であり、ブラインド署名生成装置の受信部がXを受信するステップの後、ブラインド署名生成装置のY計算部がYを計算して記憶部に格納するステップの前に、ブラインド署名生成装置の乱数生成部が、Lを{0,1,...,p−1}からランダムに選択して記憶部に格納するステップをさらに有し、ブラインド署名生成装置の送信部は、YとともにLをも利用者装置に送信し、利用者装置の受信部は、YとともにLをも受信し、利用者装置の受信部が、YとともにLをも受信するステップの後、利用者装置の送信部が署名対象情報mとブラインド署名(σ,α,β)とをブラインド署名検証装置に送信するステップの前に、利用者装置のβ計算部が、β=s+L mod pを計算して記憶部に格納するステップをさらに有する。
In the first invention, preferably, map ψ is an isomorphic map from G 2 to G 1 .
This enables accurate signature verification.
In the first invention, preferably, when the secret key generation unit of the blind signature generation device generates the secret key x, the secret key zε {0, 1,..., P−1} is also generated. And storing in the storage unit, the public key generated by the public key generation unit of the blind signature generation device is v = g 2 z , and after the step of receiving X by the reception unit of the blind signature generation device Before the step in which the Y calculation unit of the blind signature generation device calculates Y and stores it in the storage unit, the random number generation unit of the blind signature generation device sets L to {0, 1,..., P−1}. The transmission unit of the blind signature generation device transmits L together with Y to the user device, and the reception unit of the user device stores L together with Y. And the receiving unit of the user device receives L along with Y. After the step of receiving, before the step of transmitting the signature object information m and the blind signature (σ, α, β) to the blind signature verification device by the transmission unit of the user device, the β calculation unit of the user device It further has the step which calculates (beta) = s + L mod p and stores it in a memory | storage part.

これにより、署名の安全性がより向上する。
また、第2の発明では、まず、ブラインド署名生成装置の秘密鍵生成部が、pを素数とした場合における、秘密鍵x∈{0,1,...,p−1}を生成し、ブラインド署名生成装置の公開鍵生成部が、GとGを位数がpの巡回群とし、gをGの生成元とし、gをGの生成元とした場合における、公開鍵g,g,w=g ,u∈G,v∈Gを生成する。そして、利用者装置の受信部が、少なくともブラインド署名生成装置から送信された公開鍵g,u,vを受信し、X計算部が、ψをGからGへの写像ψ(g)=gとし、mを署名対象情報とした場合における、X=(g ・ψ(u)・ψ(v)(s,t∈{0,1,...,p−1})を計算し、送信部が、Xをブラインド署名生成装置に送信する。
This further improves the security of the signature.
In the second invention, first, the secret key generation unit of the blind signature generation device generates a secret key x∈ {0, 1,..., P−1} when p is a prime number. When the public key generation unit of the blind signature generation apparatus uses G 1 and G 2 as a cyclic group of order p, g 1 as the generation source of G 1 , and g 2 as the generation source of G 2 key g 1, g 2, w = g 2 x, u∈G 2, to generate a v∈G 2. Then, the reception unit of the user device receives at least the public keys g 1 , u, v transmitted from the blind signature generation device, and the X calculation unit maps ψ from G 2 to G 1 ψ (g 2 ) = G 1 and m = signature object information, X = (g 1 m · ψ (u) · ψ (v) s ) t (s, t∈ {0, 1,..., P -1}), and the transmission unit transmits X to the blind signature generation apparatus.

次に、ブラインド署名生成装置の受信部がXを受信し、Y計算部が、Y=(X・(ψ(v))1/(x+r)(r,L∈{0,1,...,p−1})を計算し、送信部が、少なくともYを利用者装置に送信する。
そして、利用者装置の受信部が少なくともYを受信し、ブラインド署名生成装置から送信された公開鍵wを受信し、τ計算部が、τ=(f・t)−1mod p(f∈{0,1,...,p−1})を計算し、σ計算部が、σ=Yτを計算し、α計算部が、α=wf−1・R(R=g ,r∈{0,1,...,p−1})を計算し、送信部が、署名対象情報mと、ブラインド署名(σ,α,β)(β=s+L/t mod p)と、をブラインド署名検証装置に送信する。
Next, the reception unit of the blind signature generation apparatus receives X, and the Y calculation unit Y = (X · (ψ (v)) L ) 1 / (x + r) (r, Lε {0, 1,. ., P-1}), and the transmission unit transmits at least Y to the user apparatus.
Then, the receiving unit of the user apparatus receives at least Y, receives the public key w transmitted from the blind signature generating apparatus, and the τ calculating unit receives τ = (f · t) −1 mod p (f∈ { 0, 1,..., P−1}), the σ calculator calculates σ = Y τ , and the α calculator calculates α = w f−1 · R f (R = g 2 r , Rε {0, 1,..., P−1}), and the transmitting unit calculates the signature object information m and the blind signature (σ, α, β) (β = s + L / t mod p). Are transmitted to the blind signature verification device.

次に、ブラインド署名検証装置の受信部が、署名対象情報mとブラインド署名(σ,α,β)とを受信し、ブラインド署名生成装置から送信された公開鍵g,g,w,u,vを受信し、署名検証部が、eをG×G→Gの双線形写像とした場合における、σ≠1,α∈G,e(σ,w・α)=e(g,g ・u・vβ)が成立するか否かを検証する。
ここで、第2の発明では、双線形写像を用いることとしため、ハッシュ関数を必要としないブラインド署名を実現できる。また、このブラインド署名の安全性は、Strong Diffile-Hellman問題の求解困難性に基づいており、安全であるといえる。さらに、このブラインド署名の各処理に必要とされる演算量は、広く用いられているRSA署名などと同程度である。
Next, the receiving unit of the blind signature verification device receives the signature object information m and the blind signature (σ, α, β), and the public keys g 1 , g 2 , w, u transmitted from the blind signature generation device. , v receives the signature verification unit, in the case where the e was bilinear mapping of G 1 × G 2 → G T , σ ≠ 1, α∈G 2, e (σ, w · α) = e ( g 1 , g 2 m · u · v β ) is verified.
Here, in the second invention, since a bilinear mapping is used, a blind signature that does not require a hash function can be realized. The security of this blind signature is based on the difficulty of solving the Strong Diffile-Hellman problem and can be said to be secure. Furthermore, the amount of computation required for each process of this blind signature is comparable to that of a widely used RSA signature.

また、第2の発明において好ましくは、利用者装置の証明結果情報生成部が、(m・t mod p,t,s・t mod p)を保持又は算出可能であることを、少なくともmを開示することなくブラインド署名生成装置に証明するための証明結果情報を生成し、送信部が、証明結果情報をブラインド署名生成装置に送信し、ブラインド署名生成装置の受信部が、証明結果情報を受信し、証明結果検証部が、証明結果情報を検証する。そして、ブラインド署名生成装置のY計算部がYを計算するための処理は、ブラインド署名生成装置の証明検証部が証明結果情報を合格と判断した場合にのみ実行される。   In the second invention, it is preferable that at least m is disclosed that the proof result information generation unit of the user apparatus can hold or calculate (m · t mod p, t, s · t mod p). Without generating a certification result information for proof to the blind signature generation device, the transmission unit transmits the certification result information to the blind signature generation device, and the reception unit of the blind signature generation device receives the certification result information. The proof result verification unit verifies the proof result information. The process for the Y calculation unit of the blind signature generation device to calculate Y is executed only when the certification verification unit of the blind signature generation device determines that the certification result information is acceptable.

これにより、利用者装置が署名対象mに対応しないXをブラインド署名生成装置に送信し、不正な或いは誤ったブラインド署名が生成されることを防止できる。
また、第2の発明において好ましくは、利用者装置の乱数生成部が、a,a,aを{0,1,...,p−1}からランダムに選択し、利用者装置のW計算部が、W=g a1・ψ(u)a2・ψ(v)a3(上付き添え字a1,a2,a3は、それぞれa,a,aを示す)を計算し、利用者装置の送信部が、Wをブラインド署名生成装置に送信する。次に、ブラインド署名生成装置の受信部がWを受信し、Wが受信された後、ブラインド署名生成装置の乱数生成部が、ηを{0,1,...,p−1}からランダムに選択し、送信部が、ηを利用者装置に送信し、利用者装置の受信部がηを受信する。そして、証明結果情報は、z=a+η・m・t mod p,z=a+η・t mod p,z=a+η・s・t mod pであり、ブラインド署名生成装置の証明結果検証部は、g z1・ψ(u)z2・ψ(v)z3≡W・Xη(上付き添え字z1,z2,z3は、それぞれz,z,zを示す)が成り立つか否かにより、証明結果情報の検証を行う。
As a result, it is possible to prevent the user apparatus from transmitting X that does not correspond to the signature object m to the blind signature generation apparatus and generating an illegal or incorrect blind signature.
In the second invention, preferably, the random number generation unit of the user device randomly selects a 1 , a 2 , a 3 from {0, 1,..., P−1}, and the user device. W = g 1 a1 · ψ (u) a2 · ψ (v) a3 (subscripts a1, a2, and a3 indicate a 1 , a 2 , and a 3 , respectively) The transmission unit of the user device transmits W to the blind signature generation device. Next, the receiving unit of the blind signature generation device receives W, and after W is received, the random number generation unit of the blind signature generation device randomly selects η from {0, 1,..., P−1}. The transmission unit transmits η to the user device, and the reception unit of the user device receives η. The proof result information is z 1 = a 1 + η · m · t mod p, z 2 = a 2 + η · t mod p, z 3 = a 3 + η · s · t mod p, and the blind signature generation device the proof result verification unit, g 1 z1 · ψ (u ) z2 · ψ (v) z3 ≡W · X η ( superscript z1, z2, z3 represents the z 1, z 2, z 3, respectively The verification result information is verified depending on whether or not

また、第2の発明において好ましくは、写像ψはGからGへの同型写像である。
これにより、正確な署名検証が可能になる。
また、第2の発明において好ましくは、ブラインド署名生成装置の受信部がXを受信するステップの後、ブラインド署名生成装置の送信部が少なくともYを利用者装置に送信するステップの前に、乱数生成部がr,Lを{0,1,...,p−1}からランダムに選択して記憶部に格納するステップと、R計算部がR=g を計算し、送信部が、YとともにRとLをも利用者装置に送信する。利用者装置の受信部は、YとともにRとLをも受信し、α計算部は、受信されたRを用いてα=wf−1・Rを計算する。また、利用者装置の受信部がYとともにRとLをも受信するステップの後、利用者装置の送信部が署名対象情報mとブラインド署名(σ,α,β)とをブラインド署名検証装置に送信するステップの前に、利用者装置のβ計算部がβ=s+L/t mod pを計算する。
In the second invention, preferably, map ψ is an isomorphic map from G 2 to G 1 .
This enables accurate signature verification.
In the second invention, preferably, after the step of receiving X by the reception unit of the blind signature generation device, before the step of transmission of at least Y to the user device by the transmission unit of the blind signature generation device, random number generation The unit randomly selects r, L from {0, 1,..., P−1} and stores them in the storage unit, the R calculator calculates R = g 2 r , and the transmitter R and L are transmitted to the user apparatus together with Y. The receiving unit of the user apparatus also receives R and L together with Y, and the α calculating unit calculates α = w f−1 · R f using the received R. In addition, after the reception unit of the user apparatus receives both R and L together with Y, the transmission unit of the user apparatus sends the signature object information m and the blind signature (σ, α, β) to the blind signature verification apparatus. Prior to the transmitting step, the β calculator of the user device calculates β = s + L / t mod p.

これにより、署名の安全性がより向上する。   This further improves the security of the signature.

以上のように、本発明では、ハッシュ関数に依存することなく、安全性が保証された効率的なブラインド署名を実現できる。   As described above, according to the present invention, it is possible to realize an efficient blind signature with guaranteed security without depending on the hash function.

第1の実施の形態:
以下、本発明の第1の実施の形態を図面を参照して説明する。
〔双線形写像〕
本発明は、双線形写像を用いる点に特徴がある。まず、本発明で用いる双線形写像の説明を行う。
本発明では、(G,G)を以下のような性質を持つ双線形群とする。
<性質1>GとGとは、位数がp(pは素数)の2つの巡回群である。
First embodiment:
Hereinafter, a first embodiment of the present invention will be described with reference to the drawings.
[Bilinear map]
The present invention is characterized in that a bilinear map is used. First, the bilinear mapping used in the present invention will be described.
In the present invention, (G 1 , G 2 ) is a bilinear group having the following properties.
<Property 1> G 1 and G 2 are two cyclic groups having an order p (p is a prime number).

<性質2>gは、Gの生成元であり、gは、Gの生成元である。
<性質3>ψは、GからGへの同型写像であり、ψ(g)=gを満たす。
<性質4>eは、双線形写像であり、e:G×G→Gで定義される。なお、「×」は直積を示す。また、Gの位数もpである。つまり、a,b∈G,c,d∈Gのとき、以下の関係が成り立つ。
e(a・b,c)=e(a,c)・e(b,c) …(1)
e(a,c・d)=e(a,c)・e(a,d) …(2)
<性質5>e,ψ,G,G,Gの群演算は効率的に計算できる。
<Properties 2> g 2 is a generator of G 1, g 2 is a generator of G 2.
The <nature 3> [psi, an isomorphism from G 2 to G 1, satisfy ψ (g 2) = g 1 .
<Nature 4> e is a bilinear mapping, e: as defined in G 1 × G 2 → G T . “×” indicates a direct product. In addition, the order of the G T also is p. That is, when a, b∈G 1 , c, d∈G 2 , the following relationship is established.
e (a ・ b, c) = e (a, c) ・ e (b, c)… (1)
e (a, c ・ d) = e (a, c) ・ e (a, d)… (2)
<Properties 5> e, ψ, group operation of G 1, G 2, G T can efficiently computed.

なお、上述のような双線形写像eを有限体上の楕円曲線を用いて実現する実現例については、文献「Boneh, D. and Franklin, M., "Identity Based Encryption from the Weil Pairing", SIAM J. of Computing, Vol. 32, No.3 pp.586-615, (2003)」などに記載されている。また、上述した記号の意味等については、文献「Boneh, D. and Boyen, X., "Short Signature Without Random Oracles", Proceedings of Crypto'04, LNCS, Springer-Verlag (2004)」とほぼ同様である。
〔構成〕
次に、本形態の構成について説明する。
For an example of realizing the bilinear map e as described above using an elliptic curve on a finite field, refer to the document “Boneh, D. and Franklin, M.,“ Identity Based Encryption from the Weil Pairing ”, SIAM. J. of Computing, Vol. 32, No.3 pp.586-615, (2003) ". In addition, the meanings of the above symbols are almost the same as the literature “Boneh, D. and Boyen, X.,“ Short Signature Without Random Oracles ”, Proceedings of Crypto'04, LNCS, Springer-Verlag (2004)”. is there.
〔Constitution〕
Next, the configuration of this embodiment will be described.

図1は、本形態におけるブラインド署名生成・検証システムの全体構成を例示したブロック図である。また、図2はブラインド署名生成装置の詳細構成を、図3は利用者装置の詳細構成を、図4はブラインド署名検証装置の詳細構成を、それぞれ例示したブロック図である。以下、これらの図を用いて、本形態の構成を説明する。
<全体構成>
図1に例示するように、本形態のブラインド署名生成・検証システム1は、ブラインド署名生成装置10と、利用者装置20と、ブラインド署名検証装置30とを有している。ここで、ブラインド署名生成装置10と利用者装置20と、及び利用者装置20とブラインド署名検証装置30とは、それぞれネットワークを通じて通信可能に接続されている。
FIG. 1 is a block diagram illustrating the overall configuration of a blind signature generation / verification system according to this embodiment. 2 is a block diagram illustrating a detailed configuration of the blind signature generation device, FIG. 3 is a detailed configuration of the user device, and FIG. 4 is a block diagram illustrating a detailed configuration of the blind signature verification device. Hereinafter, the configuration of this embodiment will be described with reference to these drawings.
<Overall configuration>
As illustrated in FIG. 1, the blind signature generation / verification system 1 according to this embodiment includes a blind signature generation device 10, a user device 20, and a blind signature verification device 30. Here, the blind signature generation device 10 and the user device 20, and the user device 20 and the blind signature verification device 30 are connected to each other through a network.

<ブラインド署名生成装置の構成>
図1及び図2に例示するように、本形態のブラインド署名生成装置10は、秘密鍵生成部10aと、公開鍵生成部10bと、乱数生成部10cと、h計算部10dと、記憶部10eと、証明結果検証部10fと、Y計算部10gと、送信部10hと、受信部10iと、制御部10jとを有している。
本形態のブラインド署名生成装置10は、CPU(Central Processing Unit)、補助記憶装置、RAM(Random Access Memory)、ROM(Read Only Memory)、入出力インタフェース、NIC(Network Interface Card)等から構成される公知のコンピュータにブラインド署名生成プログラムが読み込まれことにより構築されるものである。
<Configuration of Blind Signature Generation Device>
As illustrated in FIGS. 1 and 2, the blind signature generation apparatus 10 of the present embodiment includes a secret key generation unit 10a, a public key generation unit 10b, a random number generation unit 10c, an h calculation unit 10d, and a storage unit 10e. And a proof result verification unit 10f, a Y calculation unit 10g, a transmission unit 10h, a reception unit 10i, and a control unit 10j.
The blind signature generation apparatus 10 according to the present embodiment includes a CPU (Central Processing Unit), an auxiliary storage device, a RAM (Random Access Memory), a ROM (Read Only Memory), an input / output interface, a NIC (Network Interface Card), and the like. It is constructed by reading a blind signature generation program into a known computer.

すなわち、図1及び図2の鍵生成部10a、公開鍵生成部10b、乱数生成部10c、h計算部10d、証明結果検証部10f、Y計算部10g及び制御部10jは、ブラインド署名生成プログラムが読み込まれたCPUに相当する。また、送信部10h及び受信部10iは、ブラインド署名生成プログラムが読み込まれたCPU11の制御のもと通信処理を行うNIC等に相当する。また、記憶部10eは、補助記憶装置、RAM、レジスタ等により構成される。なお、ブラインド署名生成装置10は、制御部10jの制御のもと各処理を実行する。   That is, the key generation unit 10a, the public key generation unit 10b, the random number generation unit 10c, the h calculation unit 10d, the proof result verification unit 10f, the Y calculation unit 10g, and the control unit 10j illustrated in FIGS. It corresponds to the read CPU. The transmission unit 10h and the reception unit 10i correspond to a NIC that performs communication processing under the control of the CPU 11 into which the blind signature generation program has been read. The storage unit 10e includes an auxiliary storage device, a RAM, a register, and the like. The blind signature generation apparatus 10 executes each process under the control of the control unit 10j.

<利用者装置の構成>
図1及び図3に例示するように、本形態の利用者装置20は、受信部20aと、送信部20bと、乱数生成部20cと、X計算部20dと、制御部20eと、証明結果情報生成部20fと、σ計算部20gと、α計算部20hと、β計算部20iと、記憶部20jとを有している。また、図3に例示するように、証明結果情報生成部20fは、W計算部20faとz計算部20fbを有している。
本形態の利用者装置20は、前述のような公知のコンピュータに利用者プログラムが読み込まれることにより構成される。すなわち、乱数生成部20c、X計算部20d、制御部20e、証明結果情報生成部20f、σ計算部20g、α計算部20h及びβ計算部20iは、利用者プログラムが読み込まれたCPUに相当する。また、受信部20a及び送信部20bは、利用者プログラムが読み込まれたCPUの制御のもと通信処理を行うNIC等に相当する。また、記憶部20jは、補助記憶装置、RAM、レジスタ等により構成される。なお、利用者装置20は、制御部20eの制御のもと各処理を実行する。
<Configuration of user device>
As illustrated in FIGS. 1 and 3, the user device 20 according to the present embodiment includes a receiving unit 20a, a transmitting unit 20b, a random number generating unit 20c, an X calculating unit 20d, a control unit 20e, and proof result information. It has a generation unit 20f, a σ calculation unit 20g, an α calculation unit 20h, a β calculation unit 20i, and a storage unit 20j. Further, as illustrated in FIG. 3, the proof result information generation unit 20f includes a W calculation unit 20fa and a z calculation unit 20fb.
The user device 20 of this embodiment is configured by reading a user program into a known computer as described above. That is, the random number generation unit 20c, the X calculation unit 20d, the control unit 20e, the proof result information generation unit 20f, the σ calculation unit 20g, the α calculation unit 20h, and the β calculation unit 20i correspond to the CPU into which the user program is read. . The receiving unit 20a and the transmitting unit 20b correspond to a NIC that performs communication processing under the control of the CPU in which the user program is read. The storage unit 20j includes an auxiliary storage device, a RAM, a register, and the like. The user device 20 executes each process under the control of the control unit 20e.

<ブラインド署名検証装置の構成>
図1及び図4に例示するように、本形態のブラインド署名検証装置30は、受信部30aと、署名検証部30bと、署名検証結果出力部30cと、制御部30dと、記憶部30eとを有している。
本形態のブラインド署名検証装置30は、前述のような公知のコンピュータにブラインド署名検証プログラムが読み込まれることにより構成される。すなわち、署名検証部30b及び制御部30dは、ブラインド署名検証プログラムが読み込まれたCPUに相当する。また、受信部30aは、ブラインド署名検証プログラムが読み込まれたCPUの制御のもと通信処理を行うNIC等に相当する。また、署名検証結果出力部30cは、ブラインド署名検証プログラムが読み込まれたCPUの制御のもとデータ出力を行う入出力インタフェース等に相当する。なお、ブラインド署名検証装置30は、制御部30dの制御のもと各処理を実行する。
<Configuration of blind signature verification device>
As illustrated in FIG. 1 and FIG. 4, the blind signature verification device 30 of this embodiment includes a receiving unit 30a, a signature verification unit 30b, a signature verification result output unit 30c, a control unit 30d, and a storage unit 30e. Have.
The blind signature verification device 30 of this embodiment is configured by reading a blind signature verification program into a known computer as described above. That is, the signature verification unit 30b and the control unit 30d correspond to a CPU into which the blind signature verification program has been read. The receiving unit 30a corresponds to a NIC that performs communication processing under the control of the CPU loaded with the blind signature verification program. The signature verification result output unit 30c corresponds to an input / output interface that outputs data under the control of the CPU loaded with the blind signature verification program. The blind signature verification device 30 executes each process under the control of the control unit 30d.

〔処理〕
次に、本形態のブラインド署名生成・検証処理について説明する。
図5は、ブラインド署名生成装置10の処理を説明するためのフローチャートである。また、図6は、利用者装置20の処理を説明するためのフローチャートである。また、図7は、ブラインド署名検証装置30の処理を説明するためのフローチャートである。以下、これらの図を用いて本形態のブラインド署名生成・検証処理を説明する。
<ブラインド署名生成処理>
本処理の前提として、ブラインド署名生成装置10の秘密鍵生成部10a、乱数生成部10c、利用者装置20の乱数生成部20c、証明結果情報生成部20f、β計算部20iが、共通の素数pを利用できるように設定しておく。これは、ブラインド署名生成プログラム及び利用者プログラムのコードに素数pを記述して実現してもよいし、別途素数pのデータをCPUに読み込ませて実現してもよい。また、利用者装置20の記憶部20jに署名対象情報(例えば文書)m∈{0,1,...,p−1}を格納しておく。本形態では、この署名対象情報mのブラインド署名を生成する。
〔processing〕
Next, the blind signature generation / verification process of this embodiment will be described.
FIG. 5 is a flowchart for explaining the processing of the blind signature generation apparatus 10. FIG. 6 is a flowchart for explaining processing of the user device 20. FIG. 7 is a flowchart for explaining the processing of the blind signature verification apparatus 30. Hereinafter, the blind signature generation / verification processing of this embodiment will be described with reference to these drawings.
<Blind signature generation process>
As a premise of this processing, the secret key generation unit 10a, the random number generation unit 10c of the blind signature generation device 10, the random number generation unit 20c of the user device 20, the proof result information generation unit 20f, and the β calculation unit 20i have a common prime p Set to be available. This may be realized by describing the prime p in the code of the blind signature generation program and the user program, or may be realized by separately reading the data of the prime p into the CPU. Also, signature target information (for example, document) mε {0, 1,..., P−1} is stored in the storage unit 20j of the user device 20. In this embodiment, a blind signature for this signature target information m is generated.

本形態では、まず、ブラインド署名生成装置10(図2)の秘密鍵生成部10aが、秘密鍵x,y,z∈{0,1,...,p−1}を(例えばランダムに)生成し、当該秘密鍵(x,y,z)を記憶部10eに格納する(図5/ステップS1)。なお、ランダムな値の生成には、例えば、公知の擬似乱数生成アルゴリズムを利用するが、入力値や、予め定められた値をランダム(任意)な値として用いてもよい(以下も同様)。
次に、ブラインド署名生成装置10の公開鍵生成部10bが、記憶部10eから秘密鍵(x,y,z)を読み込み、公開鍵g,g,w=g ,u=g ,v=g を生成し、当該公開鍵(g,g,w,u,v)を記憶部10eに格納する(ステップS2)。
In this embodiment, first, the secret key generation unit 10a of the blind signature generation apparatus 10 (FIG. 2) assigns the secret keys x, y, zε {0, 1,..., P−1} (for example, randomly). Generate and store the secret key (x, y, z) in the storage unit 10e (FIG. 5 / step S1). For generating a random value, for example, a known pseudorandom number generation algorithm is used, but an input value or a predetermined value may be used as a random (arbitrary) value (the same applies to the following).
Next, the public key generation unit 10b of the blind signature generation apparatus 10 reads the secret key (x, y, z) from the storage unit 10e, and public keys g 1 , g 2 , w = g 2 x , u = g 2 y , v = g 2 z is generated, and the public key (g 1 , g 2 , w, u, v) is stored in the storage unit 10e (step S2).

次に、乱数生成部10cが、rを{0,1,...,p−1}からランダムに選択して記憶部10eに格納する(ステップS3)。そして、h計算部10dが、記憶部10eからrと公開鍵gとを読み込み、h=g を計算し、このhを記憶部10eに格納する(ステップS4)。そして、記憶部10eに格納されたhが送信部10hに送られ、送信部10hは、hを利用者装置20に送信する(ステップS5)。
利用者装置20(図3)は、受信部20aにおいてhを受信し、記憶部20jに格納する(図6/ステップS21)。次に、乱数生成部20cが、sとRを{0,1,...,p−1}からそれぞれランダムに選択して記憶部20jに格納する(ステップS22)。
Next, the random number generation unit 10c randomly selects r from {0, 1,..., P−1} and stores it in the storage unit 10e (step S3). Then, h calculator 10d is, reads the public key g 2 r from the storage unit 10e, calculates the h = g 2 r, and stores the h in the storage unit 10e (step S4). Then, h stored in the storage unit 10e is sent to the transmission unit 10h, and the transmission unit 10h transmits h to the user device 20 (step S5).
The user device 20 (FIG. 3) receives h at the receiving unit 20a and stores it in the storage unit 20j (FIG. 6 / step S21). Next, the random number generation unit 20c randomly selects s and R from {0, 1,..., P−1} and stores them in the storage unit 20j (step S22).

また、利用者装置20は、制御部20eの制御のもと、送信部20bからブラインド署名生成装置10に対して公開鍵の発行要求情報を送信する。これを受けたブラインド署名生成装置10は、記憶部10eの公開鍵(g,g,w,u,v)を送信部10hから利用者装置20に送信し、利用者装置20は、受信部20aでこれを受信し記憶部20jに格納する(ステップS23)。なお、この例の利用者装置20は公開鍵gを使用しない。よって、利用者装置20が公開鍵(g,w,u,v)のみを取得する構成としてもよい。 Also, the user device 20 transmits public key issue request information from the transmission unit 20b to the blind signature generation device 10 under the control of the control unit 20e. Receiving this, the blind signature generation device 10 transmits the public key (g 1 , g 2 , w, u, v) of the storage unit 10 e from the transmission unit 10 h to the user device 20, and the user device 20 receives the reception key. This is received by the unit 20a and stored in the storage unit 20j (step S23). Note that the user device 20 in this example does not use the public key g 2. Therefore, the user device 20 may acquire only the public key (g 1 , w, u, v).

次に利用者装置20のX計算部20dが、記憶部20jから公開鍵(g,w,u,v)と(s,R)とhと署名対象情報mとを読み込み、
X=g1 m・ψ(u)・ψ(v)s・(ψ(w・h))R …(3)
を計算し、その演算結果Xを記憶部20jに格納する(ステップS24)。そして、このXが送信部20bに送られ、送信部20bが、このXをブラインド署名生成装置10に送信する(ステップS25)。なお、このXは、ブラインド署名生成装置10(図2)の受信部10iで受信され記憶部10eに格納される(図5/ステップS6)。
Next, the X calculation unit 20d of the user device 20 reads the public key (g 1 , w, u, v), (s, R), h, and the signature target information m from the storage unit 20j.
X = g 1 m・ ψ (u) ・ ψ (v) s・ (ψ (w ・ h)) R … (3)
And the calculation result X is stored in the storage unit 20j (step S24). Then, this X is sent to the transmission unit 20b, and the transmission unit 20b transmits this X to the blind signature generation device 10 (step S25). This X is received by the receiving unit 10i of the blind signature generating apparatus 10 (FIG. 2) and stored in the storage unit 10e (FIG. 5 / step S6).

また、利用者装置20(図3)は、(m,s,R)を保持していることを、少なくともmを開示することなく(s及びRの少なくとも一方も開示しない構成も含む)ブラインド署名生成装置10に証明する。
[証明の概要]
まず、証明結果情報生成部20fが、当該利用者装置20の記憶部20jに(m,s,R)が格納されていることを、少なくともmを開示することなく(好ましくは、m,s,Rを開示することなく)ブラインド署名生成装置10に証明するための処理を実行し、その証明を行うための証明結果情報を生成して記憶部20jに格納する(図6/ステップS26)。そして、送信部20bが、その証明結果情報をブラインド署名生成装置10に送信する(ステップS27)。ブラインド署名生成装置10の受信部10iは、この証明結果情報を受信し、証明結果検証部10fが、この証明結果情報を検証する(図5/ステップS7)。そして、証明結果検証部10fが、この証明結果情報を不合格と判断すれば、ブラインド署名生成装置10の制御部10jは処理をエラー終了させる。一方、証明結果検証部10fが、この証明結果情報を合格と判断すれば、ステップS9以降の処理が実行される(ステップS8)。
Further, the user apparatus 20 (FIG. 3) indicates that it holds (m, s, R) without including at least m (including a configuration in which at least one of s and R is not disclosed). Prove to the generator 10.
[Summary of certification]
First, the certification result information generation unit 20f indicates that (m, s, R) is stored in the storage unit 20j of the user device 20 without disclosing at least m (preferably m, s, A process for proving to the blind signature generation device 10 is executed (without disclosing R), and proof result information for performing the proof is generated and stored in the storage unit 20j (step S26 in FIG. 6). Then, the transmission unit 20b transmits the certification result information to the blind signature generation device 10 (step S27). The receiving unit 10i of the blind signature generation device 10 receives the proof result information, and the proof result verifying unit 10f verifies the proof result information (FIG. 5 / step S7). If the proof result verification unit 10f determines that the proof result information is unacceptable, the control unit 10j of the blind signature generation device 10 terminates the process with an error. On the other hand, if the proof result verification unit 10f determines that the proof result information is acceptable, the processes after step S9 are executed (step S8).

[証明の具体例(証明の一例)]
次に、上記のステップS26,S27(図6)及びステップS7(図5)の処理の具体例を説明する。なお、本発明は、この具体例には限定されない。
図8は、上記のステップS26,S27及びステップS7の処理の具体例を説明するためのフローチャートである。以下、このフローチャートに従ってこの具体例の説明を行っていく。
まず、利用者装置20(図3)の乱数生成部20cが、(a,a,a)を{0,1,...,p−1}からランダムに選択して記憶部20jに格納する(ステップS51)。次に、証明結果情報生成部20fのW計算部20faが、記憶部20jから(a,a,a)とgとvとwとhとを読み込み、
W=g1 a1・ψ(v)a2・(ψ(w・h))a3 …(4)
を計算し、その演算結果Wを記憶部20jに格納する(ステップS52)。次に、記憶部20jに格納されたWが送信部20bに送られ、送信部20bは、Wをブラインド署名生成装置10に送信する(ステップS53)。
[Specific example of proof (example of proof)]
Next, a specific example of the processing of steps S26, S27 (FIG. 6) and step S7 (FIG. 5) will be described. The present invention is not limited to this specific example.
FIG. 8 is a flowchart for explaining a specific example of the processing in steps S26, S27 and S7. Hereinafter, this specific example will be described according to this flowchart.
First, the random number generation unit 20c of the user device 20 (FIG. 3) randomly selects (a 1 , a 2 , a 3 ) from {0, 1,..., P−1} and stores the storage unit 20j. (Step S51). Next, the W calculation unit 20fa of the proof result information generation unit 20f reads (a 1 , a 2 , a 3 ), g 1 , v, w, and h from the storage unit 20j.
W = g 1 a1・ ψ (v) a2・ (ψ (w ・ h)) a3 … (4)
And the calculation result W is stored in the storage unit 20j (step S52). Next, W stored in the storage unit 20j is sent to the transmission unit 20b, and the transmission unit 20b transmits W to the blind signature generation apparatus 10 (step S53).

ブラインド署名生成装置10(図2)の受信部10iはこのWを受信する(ステップS54)。Wが受信された後、乱数生成部10cが、ηを{0,1,...,p−1}からランダムに選択して記憶部10eに格納する(ステップS55)。このηは送信部10hに送られ、送信部10hは、このηを利用者装置20に送信する(ステップS56)。
利用者装置20(図3)の受信部20aは、このηを受信して記憶部20jに格納する(ステップS57)。次に、証明結果情報生成部20fのz計算部20fbが、記憶部20jから(a,a,a)とηとmと(s,R)とを読み込み、
z1=a1+η・m mod p
z2=a2+η・s mod p …(5)
z3=a3+η・R mod p
を計算し、その演算結果(z,z,z)を証明結果情報として記憶部20jに格納する(ステップS58)。次に、この証明結果情報(z,z,z)は、送信部20bに送られ、送信部20bは、証明結果情報(z,z,z)をブラインド署名生成装置10に送信する(ステップS59)。
The receiving unit 10i of the blind signature generation device 10 (FIG. 2) receives this W (step S54). After W is received, the random number generation unit 10c randomly selects η from {0, 1,..., P−1} and stores it in the storage unit 10e (step S55). This η is sent to the transmission unit 10h, and the transmission unit 10h transmits this η to the user device 20 (step S56).
The receiving unit 20a of the user device 20 (FIG. 3) receives this η and stores it in the storage unit 20j (step S57). Next, the z calculation unit 20fb of the proof result information generation unit 20f reads (a 1 , a 2 , a 3 ), η, m, and (s, R) from the storage unit 20j.
z 1 = a 1 + η ・ m mod p
z 2 = a 2 + η ・ s mod p (5)
z 3 = a 3 + η ・ R mod p
And the calculation results (z 1 , z 2 , z 3 ) are stored in the storage unit 20j as proof result information (step S58). Next, the certification result information (z 1 , z 2 , z 3 ) is sent to the transmission unit 20b, and the transmission unit 20b sends the certification result information (z 1 , z 2 , z 3 ) to the blind signature generation device 10. (Step S59).

ブラインド署名生成装置10(図2)の受信部10iは、この証明結果情報(z,z,z)を受信し、記憶部10eに格納する(ステップS60)。そして、証明結果検証部10fが、記憶部10eから、g,w,u,v,h,W,X,η,(z,z,z)を読み込み、
g1 z1・ψ(v)z2・(ψ(w・h))z3≡W・(X/ψ(u))η …(6)
が成り立つか否かにより、証明結果情報の検証を行う(ステップS61)。ここで、式(6)が成立する場合、証明結果検証部10fは、証明結果が正当である旨を出力する(ステップS62)。一方、式(6)が成立しない場合、証明結果検証部10fは、証明結果が不当である旨を出力する(ステップS63)。
The receiving unit 10i of the blind signature generation device 10 (FIG. 2) receives the proof result information (z 1 , z 2 , z 3 ) and stores it in the storage unit 10e (step S60). Then, the proof result verification unit 10f reads g 1 , w, u, v, h, W, X, η, (z 1 , z 2 , z 3 ) from the storage unit 10e,
g 1 z1・ ψ (v) z2・ (ψ (w ・ h)) z3 ≡W ・ (X / ψ (u)) η … (6)
The verification result information is verified depending on whether or not holds (step S61). Here, when Formula (6) is materialized, the certification result verification unit 10f outputs that the certification result is valid (step S62). On the other hand, when Expression (6) is not satisfied, the certification result verification unit 10f outputs that the certification result is invalid (step S63).

そして、上述したステップS51以降の処理を複数回繰り返し、全てのループにおいて証明結果が正当であると出力された場合、証明結果検証部10fは、証明結果情報が合格であると判断し、1度でも証明結果が不当であると出力された場合、証明結果情報が不合格であると判断する(図5/ステップS8/[証明の具体例(証明の一例)]の説明終わり)。
証明結果検証部10fが、証明結果情報を合格と判断した場合、ブラインド署名生成装置10の乱数生成部10cは、Lを{0,1,...,p−1}からランダムに選択して記憶部10eに格納する(ステップS9)。次に、Y計算部10gが、記憶部10eからX,g,L,z,x,rを読み込み、
Y=(X・g1 L・z)1/(x+r) …(7)
を計算して記憶部10eに格納する(ステップS10)。次に、記憶部10eに格納された(Y,L)が送信部10hに送られ、送信部10hは、この(Y,L)を利用者装置20に送信する(ステップS11)。
Then, when the processing after step S51 described above is repeated a plurality of times and the proof result is output as valid in all the loops, the proof result verification unit 10f determines that the proof result information is acceptable, and once However, if it is output that the proof result is invalid, it is determined that the proof result information is unacceptable (end of explanation of FIG. 5 / step S8 / [specific example of proof (example of proof)]).
When the proof result verification unit 10f determines that the proof result information is acceptable, the random number generation unit 10c of the blind signature generation device 10 randomly selects L from {0, 1,..., P−1}. It stores in the storage unit 10e (step S9). Next, the Y calculation unit 10g reads X, g 1 , L, z, x, r from the storage unit 10e,
Y = (X ・ g 1 L ・ z ) 1 / (x + r) … (7)
Is calculated and stored in the storage unit 10e (step S10). Next, (Y, L) stored in the storage unit 10e is sent to the transmission unit 10h, and the transmission unit 10h transmits this (Y, L) to the user device 20 (step S11).

利用者装置20(図3)の受信部20aは、この(Y,L)を受信し、記憶部20jに格納する(図6/ステップS28)。次に、乱数生成部20cが、tを{0,1,...,p−1}からランダムに選択して記憶部20jに格納する(ステップS29)。そして、σ計算部20gが、記憶部20jからYとgとRとtとを読み込み、
σ=(Y/g1 R)1/t …(8)
を計算し、その演算結果σを記憶部20jに格納する(ステップS30)。また、α計算部20hが、記憶部20jからwとhとtとを読み込み、
α=wt-1・ht …(9)
を計算し、その演算結果αを記憶部20jに格納する(ステップS31)。さらに、β計算部20iが、記憶部20jからsとLとを読み込み、
β=s+L mod p …(10)
を計算し、その演算結果βを記憶部20jに格納する(ステップS32)。以上のように生成された(σ,α,β)が署名対象情報mのブラインド署名となる。そして、記憶部20jに格納された署名対象情報mとそのブラインド署名(σ,α,β)とは送信部20bに送られ、送信部20bは、署名対象情報mとそのブラインド署名(σ,α,β)とをブラインド署名検証装置30に送信する(ステップS33)。
The receiving unit 20a of the user device 20 (FIG. 3) receives this (Y, L) and stores it in the storage unit 20j (FIG. 6 / step S28). Next, the random number generation unit 20c randomly selects t from {0, 1,..., P−1} and stores it in the storage unit 20j (step S29). Then, sigma calculation unit 20g is, reads the Y and g 1 and R and t from the storage unit 20j,
σ = (Y / g 1 R ) 1 / t (8)
And the calculation result σ is stored in the storage unit 20j (step S30). Further, the α calculation unit 20h reads w, h, and t from the storage unit 20j,
α = w t-1・ h t (9)
And the calculation result α is stored in the storage unit 20j (step S31). Further, the β calculation unit 20i reads s and L from the storage unit 20j,
β = s + L mod p (10)
And the calculation result β is stored in the storage unit 20j (step S32). (Σ, α, β) generated as described above is a blind signature of the signature target information m. The signature target information m and its blind signature (σ, α, β) stored in the storage unit 20j are sent to the transmission unit 20b, and the transmission unit 20b transmits the signature target information m and its blind signature (σ, α). , Β) is transmitted to the blind signature verification device 30 (step S33).

<ブラインド署名検証処理>
ブラインド署名検証装置(図4)の受信部30aは、上記の署名対象情報mとそのブラインド署名(σ,α,β)とを受信し、これらを記憶部30eに格納する(ステップS41)。また、受信部30aが、ブラインド署名生成装置10から送信された公開鍵(g,g,w,u,v)を受信し、記憶部30wに格納する(ステップS42)。なお、ブラインド署名生成装置10への公開鍵の配送依頼手順は、前述した利用者装置10の場合と同様であるため説明を省略する。
<Blind signature verification process>
The receiving unit 30a of the blind signature verification apparatus (FIG. 4) receives the signature object information m and the blind signature (σ, α, β) and stores them in the storage unit 30e (step S41). In addition, the receiving unit 30a receives the public keys (g 1 , g 2 , w, u, v) transmitted from the blind signature generation device 10 and stores them in the storage unit 30w (step S42). Note that the public key delivery request procedure to the blind signature generation apparatus 10 is the same as that of the user apparatus 10 described above, and a description thereof will be omitted.

次に署名検証部30bが、記憶部30eから署名対象情報mとそのブラインド署名(σ,α,β)と公開鍵(g,g,w,u,v)とを読み込み、
σ≠1, α∈G2, e(σ,w・α)=e(g1,g2 m・u・vβ) …(11)
が全て成立するか否かを検証する(ステップS43)。ここで、式(11)が成立する場合、署名検証部30bは、署名検証が合格である旨の情報を署名検証結果出力部30cに送り、署名検証結果出力部30cは署名検証が合格である旨を出力する(ステップS44)。一方、式(11)が成立しなかった場合、署名検証部30bは、署名検証が不合格である旨の情報を署名検証結果出力部30cに送り、署名検証結果出力部30cは署名検証が不合格である旨を出力する(ステップS45)。
Next, the signature verification unit 30b reads the signature target information m, its blind signature (σ, α, β) and the public key (g 1 , g 2 , w, u, v) from the storage unit 30e,
σ ≠ 1, α∈G 2 , e (σ, w ・ α) = e (g 1 , g 2 m・ u ・ v β )… (11)
It is verified whether or not all are satisfied (step S43). Here, when Expression (11) is satisfied, the signature verification unit 30b sends information indicating that the signature verification is successful to the signature verification result output unit 30c, and the signature verification result output unit 30c passes the signature verification. A message is output (step S44). On the other hand, when Expression (11) is not satisfied, the signature verification unit 30b sends information indicating that the signature verification is unacceptable to the signature verification result output unit 30c, and the signature verification result output unit 30c does not verify the signature. The fact that it is acceptable is output (step S45).

<署名検証が正しく行われる理由>
次に、式(11)が成立する場合になぜ署名が合格であるといえるかについて説明する。
まず、前述の式(7)に式(3)を代入すると、
Y=(X・g1 L・z)1/(x+r)=((g1 m・ψ(u)・ψ(v)s・(ψ(w・h))R)・g1 L・z)1/(x+r) …(12)
となる。また、前述の<性質3>より、ψは、GからGへの同型写像であり、ψ(g)=gを満たすため、式(12)は、
Y=g1 (m+y+(s+L)・z)/(x+r)・g1 R …(13)
と変形できる。
<Reason for signature verification correctly>
Next, the reason why it can be said that the signature is acceptable when Expression (11) is satisfied will be described.
First, substituting equation (3) into equation (7) above,
Y = (X ・ g 1 L ・ z ) 1 / (x + r) = ((g 1 m・ ψ (u) ・ ψ (v) s・ (ψ (w ・ h)) R ) ・ g 1 L・ Z ) 1 / (x + r) … (12)
It becomes. Also, from the foregoing <nature 3>, [psi is isomorphism from G 2 to G 1, to satisfy the ψ (g 2) = g 1 , formula (12),
Y = g 1 (m + y + (s + L) ・ z) / (x + r)・ g 1 R … (13)
And can be transformed.

そして、式(13)と式(10)により、式(8)は、
σ=(Y/g1 R)1/t=g1 (m+y+(s+L)・z)/(t・x+t・r)=g1 (m+y+β・z)/(t・x+t・r) …(14)
と変形できる。
ここで、δ=(t‐1)・x+t・rとすると、式(14)は、
σ=g1 (m+y+β・z)/(x+((t‐1)・x+t・r))=g1 (m+y+β・z)/(x+δ) …(15)
となる。
また、この場合、w=g2 x(ステップS2),h=g2 r(ステップS4)より、式(9)は、
α=wt-1・ht=g2 (t‐1)・x+t・r=g2 δ …(16)
となる。
Then, from the equations (13) and (10), the equation (8) is
σ = (Y / g 1 R ) 1 / t = g 1 (m + y + (s + L) ・ z) / (t ・ x + t ・ r) = g 1 (m + y + β ・ z) / (t ・ x + t ・ r) … (14)
And can be transformed.
Here, assuming that δ = (t−1) · x + t · r, Equation (14) is
σ = g 1 (m + y + β ・ z) / (x + ((t-1) ・ x + t ・ r)) = g 1 (m + y + β ・ z) / (x + δ) ... ( 15)
It becomes.
In this case, from w = g 2 x (step S2) and h = g 2 r (step S4), equation (9) is
α = w t-1・ h t = g 2 (t−1) ・ x + t ・ r = g 2 δ (16)
It becomes.

これらより、式(11)の左辺は、
e(σ,w・α)=e(g1 (m+y+β・z)/(x+δ), g2 x+δ) …(17)
と変形できる。さらに、<性質4>により、eは双線形写像であり、式(2)を満たすことから、式(17)は、
e(σ,w・α)=e(g1 (m+y+β・z)/(x+δ), g2 x+δ)
=e(g1 (m+y+β・z)/(x+δ), g2)・e(g1 (m+y+β・z)/(x+δ), g2)・…・e(g1 (m+y+β・z)/(x+δ), g2) …(18)
と変形でき、式(1)を満たすことから、式(18)は、
e(σ,w・α)=e(g1 (m+y+β・z), g2)
=e(g1, g2)・e(g1, g2)・…・e(g1, g2) …(19)
と変形できる。さらに、eは式(2)を満たし、u=g2 y, v=g2 z(ステップS2)より、式(19)は、
e(σ,w・α)=e(g1, g2 (m+y+β・z))
=e(g1, g2 mu・vβ)=式(11)の右辺
となる。
From these, the left side of equation (11) is
e (σ, w ・ α) = e (g 1 (m + y + β ・ z) / (x + δ) , g 2 x + δ )… (17)
And can be transformed. Furthermore, because of <property 4>, e is a bilinear map and satisfies equation (2), so equation (17) is
e (σ, w ・ α) = e (g 1 (m + y + β ・ z) / (x + δ) , g 2 x + δ )
= e (g 1 (m + y + β ・ z) / (x + δ) , g 2 ) ・ e (g 1 (m + y + β ・ z) / (x + δ) , g 2 ) ・ ・ ・ ・・ E (g 1 (m + y + β ・ z) / (x + δ) , g 2 )… (18)
And satisfying equation (1), equation (18) is
e (σ, w ・ α) = e (g 1 (m + y + β ・ z) , g 2 )
= e (g 1 , g 2 ) ・ e (g 1 , g 2 ) ・ ・ ・ ・ ・ e (g 1 , g 2 )… (19)
And can be transformed. Furthermore, e satisfies the equation (2), and u = g 2 y , v = g 2 z (step S2), the equation (19) is
e (σ, w ・ α) = e (g 1 , g 2 (m + y + β ・ z) )
= e (g 1 , g 2 m u · v β ) = the right side of equation (11).

〔本形態の効果〕
本形態のブラインド署名には、ハッシュ関数が使われていない。また、本形態のブラインド署名生成処理及びブラインド署名検証処理の安全性はStrong Diffile-Hellman問題の求解困難性に基づいており、安全であるといえる。さらに、本形態のブラインド署名生成処理及びブラインド署名検証処理の処理速度は、現在最も広く使われているRSA署名などと同程度であり、高い実用性を持つ。
例えば、双線形写像の典型的な実現例では、G=Gとなるような楕円曲線を用い、この楕円曲線のパラメータを200ビット程度にすることが可能である。このときのブラインド署名(σ,α,β)のデータサイズは200ビット程度(つまり、σ,α,β合計で600ビット程度)となり、RSA署名のデータサイズよりも小さくなる。
[Effect of this embodiment]
A hash function is not used in the blind signature of this embodiment. Further, the security of the blind signature generation process and the blind signature verification process of this embodiment is based on the difficulty of solving the Strong Diffile-Hellman problem, and can be said to be safe. Furthermore, the processing speed of the blind signature generation processing and the blind signature verification processing according to the present embodiment is similar to that of the most widely used RSA signature at present, and has high practicality.
For example, in a typical implementation of bilinear mapping, an elliptic curve such that G 1 = G 2 is used, and the parameter of this elliptic curve can be set to about 200 bits. The data size of the blind signature (σ, α, β) at this time is about 200 bits (that is, about 600 bits in total for σ, α, β), which is smaller than the data size of the RSA signature.

〔変形例〕
なお、本発明は上述の実施の形態に限定されるものではない。例えば、本形態では、ステップS26,S27(図6)及びステップS7(図5)において、利用者装置20が、(m,s,R)を保持していることを、少なくともmを開示することなく、ブラインド署名生成装置10に証明し、この証明が成功した場合にのみ、ステップS9(図5)以降の処理を実行することとした。しかし、この証明処理を行うことなく、ステップS9(図5)以降の処理を実行することとしてもよい。
[Modification]
The present invention is not limited to the embodiment described above. For example, in this embodiment, at step S26, S27 (FIG. 6) and step S7 (FIG. 5), at least m is disclosed that the user device 20 holds (m, s, R). However, only when the certificate is proved to the blind signature generation apparatus 10 and the certification is successful, the processing after step S9 (FIG. 5) is executed. However, the processing after step S9 (FIG. 5) may be executed without performing this proof processing.

また、本形態では、ψをGからGへの同型写像とした。しかし、ψをGからGへの準同型写像とした構成であってもよい。
また、本形態では、ブラインド署名生成装置10が秘密鍵x,y,zを生成し、u=g によって公開鍵uを生成することとした。しかし、秘密鍵yを生成せず、公開鍵uを巡回群Gから任意に選択する構成でもよい。
また、本形態では、ブラインド署名生成装置10がLを{0,1,...,p−1}からランダムに選択し、これを利用者装置20に送信することとした。しかし、ブラインド署名生成装置10がLの選択や送信を行わない構成としてもよい。この場合、ブラインド署名生成装置10が、利用者装置20との間で既に共有しているL(0も含む)を用いてY=(X・g L・z1/(x+r)を計算し、利用者装置20がこのLを用いてβを計算してもよい。ここでL=0であるなら秘密鍵zは不要となり、ブラインド署名生成装置10が、秘密鍵zを生成せず、公開鍵vを巡回群Gから任意に選択する構成を採ることもできる。また、この場合、利用者装置20はsをそのままβとして用いることもできる。
In this embodiment, ψ is an isomorphism from G 2 to G 1 . However, a configuration in which ψ is a homomorphic map from G 2 to G 1 may be used.
In the present embodiment, the blind signature generation device 10 generates the secret key x, y, z, and generates the public key u by u = g 2 y . However, without generating a private key y, may be optionally select consists cyclic group G 2 a public key u.
In this embodiment, the blind signature generation apparatus 10 sets L to {0, 1,. . . , P−1} are selected at random and transmitted to the user device 20. However, the blind signature generation device 10 may be configured not to select or transmit L. In this case, the blind signature generation device 10 calculates Y = (X · g 1 L · z ) 1 / (x + r) using L (including 0) already shared with the user device 20. Then, the user device 20 may calculate β using this L. Here the secret key z if a L = 0 is not required, the blind signature generating apparatus 10, without generating a private key z, may take any To select consists cyclic group G 2 a public key v. In this case, the user device 20 can also use s as β as it is.

また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよく、その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
第2の実施の形態:
次に、本発明の第2の実施の形態を図面を参照して説明する。なお、以下では、第1の実施の形態との相違点を中心に説明し、第1の実施の形態と共通する部分については説明を簡略化する。
In addition, the various processes described above are not only executed in time series according to the description, but may be executed in parallel or individually as required by the processing capability of the apparatus that executes the process, or otherwise. Needless to say, changes can be made without departing from the scope of the present invention.
Second embodiment:
Next, a second embodiment of the present invention will be described with reference to the drawings. In the following description, differences from the first embodiment will be mainly described, and description of parts common to the first embodiment will be simplified.

〔構成〕
次に、本形態の構成について説明する。
図9は、本形態におけるブラインド署名生成・検証システムの全体構成を例示したブロック図である。また、図10はブラインド署名生成装置の詳細構成を、図11は利用者装置の詳細構成を、それぞれ例示したブロック図である。なお、ブラインド署名検証装置30は、第1の実施の形態のものと同じである。以下、これらの図を用いて、本形態の構成を説明する。
〔Constitution〕
Next, the configuration of this embodiment will be described.
FIG. 9 is a block diagram illustrating the overall configuration of the blind signature generation / verification system in the present embodiment. FIG. 10 is a block diagram illustrating a detailed configuration of the blind signature generation apparatus, and FIG. 11 is a block diagram illustrating a detailed configuration of the user apparatus. The blind signature verification device 30 is the same as that of the first embodiment. Hereinafter, the configuration of this embodiment will be described with reference to these drawings.

<全体構成>
図9に例示するように、本形態のブラインド署名生成・検証システム101は、ブラインド署名生成装置110と、利用者装置120と、ブラインド署名検証装置30とを有している。ここで、ブラインド署名生成装置110と利用者装置120と、及び利用者装置120とブラインド署名検証装置30とは、それぞれネットワークを通じて通信可能に接続されている。
<ブラインド署名生成装置の構成>
図9及び図10に例示するように、本形態のブラインド署名生成装置110は、秘密鍵生成部110aと、公開鍵生成部110bと、乱数生成部110cと、R計算部110d、記憶部110eと、証明結果検証部110fと、Y計算部110gと、送信部110hと、受信部110iと、制御部110jとを有している。
<Overall configuration>
As illustrated in FIG. 9, the blind signature generation / verification system 101 of this embodiment includes a blind signature generation device 110, a user device 120, and a blind signature verification device 30. Here, the blind signature generation device 110 and the user device 120, and the user device 120 and the blind signature verification device 30 are connected to each other through a network.
<Configuration of Blind Signature Generation Device>
As illustrated in FIGS. 9 and 10, the blind signature generation device 110 according to the present exemplary embodiment includes a secret key generation unit 110a, a public key generation unit 110b, a random number generation unit 110c, an R calculation unit 110d, and a storage unit 110e. , A proof result verification unit 110f, a Y calculation unit 110g, a transmission unit 110h, a reception unit 110i, and a control unit 110j.

本形態のブラインド署名生成装置110は、第1の実施の形態と同様、公知のコンピュータにブラインド署名生成プログラムが読み込まれことにより構築される。
すなわち、図9及び図10の鍵生成部110a、公開鍵生成部110b、乱数生成部110c、R計算部110d、証明結果検証部110f、Y計算部110g及び制御部110jは、ブラインド署名生成プログラムが読み込まれたCPUに相当する。また、送信部110h及び受信部110iは、ブラインド署名生成プログラムが読み込まれたCPUの制御のもと通信処理を行うNIC等に相当する。また、記憶部110eは、補助記憶装置、RAM、レジスタ等により構成される。なお、ブラインド署名生成装置110は、制御部110jの制御のもと各処理を実行する。
As in the first embodiment, the blind signature generation apparatus 110 of this embodiment is constructed by reading a blind signature generation program into a known computer.
That is, the key generation unit 110a, the public key generation unit 110b, the random number generation unit 110c, the R calculation unit 110d, the proof result verification unit 110f, the Y calculation unit 110g, and the control unit 110j illustrated in FIGS. It corresponds to the read CPU. The transmission unit 110h and the reception unit 110i correspond to a NIC that performs communication processing under the control of the CPU into which the blind signature generation program is read. The storage unit 110e includes an auxiliary storage device, a RAM, a register, and the like. Note that the blind signature generation apparatus 110 executes each process under the control of the control unit 110j.

<利用者装置の構成>
図9及び図11に例示するように、本形態の利用者装置120は、受信部120aと、送信部120bと、乱数生成部120cと、X計算部120dと、制御部120eと、証明結果情報生成部120fと、σ計算部120gと、α計算部120hと、β計算部120iと、記憶部120jと、τ計算部120kとを有している。また、図11に例示するように、証明結果情報生成部120fは、W計算部120faとz計算部120fbを有している。
<Configuration of user device>
As illustrated in FIGS. 9 and 11, the user device 120 according to the present embodiment includes a receiving unit 120a, a transmitting unit 120b, a random number generating unit 120c, an X calculating unit 120d, a control unit 120e, and proof result information. It has a generation unit 120f, a σ calculation unit 120g, an α calculation unit 120h, a β calculation unit 120i, a storage unit 120j, and a τ calculation unit 120k. Further, as illustrated in FIG. 11, the proof result information generation unit 120f includes a W calculation unit 120fa and a z calculation unit 120fb.

本形態の利用者装置120は、第1の実施の形態と同様、公知のコンピュータに利用者プログラムが読み込まれることにより構成される。すなわち、乱数生成部120c、X計算部120d、制御部120e、証明結果情報生成部120f、σ計算部120g、α計算部120h、β計算部120i及びτ計算部120kは、利用者プログラムが読み込まれたCPUに相当する。また、受信部120a及び送信部120bは、利用者プログラムが読み込まれたCPUの制御のもと通信処理を行うNIC等に相当する。また、記憶部120jは、補助記憶装置、RAM、レジスタ等により構成される。なお、利用者装置120は、制御部120eの制御のもと各処理を実行する。   The user device 120 of this embodiment is configured by reading a user program into a known computer, as in the first embodiment. That is, the random number generator 120c, the X calculator 120d, the controller 120e, the proof result information generator 120f, the σ calculator 120g, the α calculator 120h, the β calculator 120i, and the τ calculator 120k are loaded with user programs. This corresponds to a CPU. The receiving unit 120a and the transmitting unit 120b correspond to a NIC that performs communication processing under the control of the CPU in which the user program is read. The storage unit 120j includes an auxiliary storage device, a RAM, a register, and the like. The user device 120 executes each process under the control of the control unit 120e.

<ブラインド署名検証装置の構成>
第1の実施の形態で説明した通りである。ここでは説明を省略する。
〔処理〕
次に、本形態のブラインド署名生成処理について説明する。
図12は、ブラインド署名生成装置110の処理を説明するためのフローチャートである。また、図13は、利用者装置20の処理を説明するためのフローチャートである。以下、これらの図を用いて本形態のブラインド署名生成処理を説明する。なお、署名検証処理については、第1の実施の形態と同じであるため説明を省略する。
<Configuration of blind signature verification device>
This is as described in the first embodiment. The description is omitted here.
〔processing〕
Next, the blind signature generation process of this embodiment will be described.
FIG. 12 is a flowchart for explaining the process of the blind signature generation apparatus 110. FIG. 13 is a flowchart for explaining processing of the user device 20. Hereinafter, the blind signature generation processing of this embodiment will be described with reference to these drawings. Since the signature verification process is the same as that in the first embodiment, the description thereof is omitted.

<ブラインド署名生成処理>
本処理の前提として、ブラインド署名生成装置110の秘密鍵生成部110a、乱数生成部110c、利用者装置120の乱数生成部120c、証明結果情報生成部120f、β計算部120i,τ計算部120kが、共通の素数pを利用できるように設定しておく。これは、ブラインド署名生成プログラム及び利用者プログラムのコードに素数pを記述して実現してもよいし、別途素数pのデータをCPUに読み込ませて実現してもよい。また、利用者装置120の記憶部120jに署名対象情報(例えば文書)m∈{0,1,...,p−1}を格納しておく。本形態では、この署名対象情報mのブラインド署名を生成する。
<Blind signature generation process>
As a premise of this process, the secret key generation unit 110a, the random number generation unit 110c of the blind signature generation device 110, the random number generation unit 120c of the user device 120, the proof result information generation unit 120f, the β calculation unit 120i, and the τ calculation unit 120k The common prime number p is set so that it can be used. This may be realized by describing the prime p in the code of the blind signature generation program and the user program, or may be realized by separately reading the data of the prime p into the CPU. Also, signature target information (for example, document) mε {0, 1,. . . , P−1} are stored. In this embodiment, a blind signature for this signature target information m is generated.

本形態では、まず、ブラインド署名生成装置110(図10)の秘密鍵生成部110aが、秘密鍵x∈{0,1,...,p−1}を(例えばランダムに)生成し、当該秘密鍵xを記憶部110eに格納する(図12/ステップS101)。
次に、ブラインド署名生成装置110の公開鍵生成部110bが、記憶部110eから秘密鍵xを読み込み、公開鍵g,g,w=g ,u∈G,v∈Gを生成し、当該公開鍵(g,g,w,u,v)を記憶部110eに格納する(ステップS102)。
In this embodiment, first, the secret key generation unit 110a of the blind signature generation device 110 (FIG. 10) generates a secret key xε {0, 1,..., P−1} (for example, randomly), and The secret key x is stored in the storage unit 110e (FIG. 12 / step S101).
Next, the public key generation unit 110b of the blind signature generating device 110 reads the secret key x from the storage unit 110e, a public key g 1, g 2, w = g 2 x, u∈G 2, the V∈G 2 The public key (g 1 , g 2 , w, u, v) is generated and stored in the storage unit 110e (step S102).

次に、利用者装置120(図11)の乱数生成部120cが、sとtを{0,1,...,p−1}からそれぞれランダムに選択して記憶部120jに格納する(ステップS121)。
また、利用者装置120は、制御部120eの制御のもと、送信部120bからブラインド署名生成装置110に対して公開鍵の発行要求情報を送信する。これを受けたブラインド署名生成装置110は、記憶部110eの公開鍵(g,g,w,u,v)を送信部110hから利用者装置120に送信し、利用者装置120は、受信部120aでこれを受信し記憶部120jに格納する(ステップS122)。なお、この例の利用者装置120は公開鍵gを使用しない。よって、利用者装置120が公開鍵(g,w,u,v)のみを取得する構成としてもよい。
Next, the random number generation unit 120c of the user device 120 (FIG. 11) randomly selects s and t from {0, 1,..., P−1}, and stores them in the storage unit 120j (step). S121).
Further, the user device 120 transmits public key issue request information from the transmission unit 120b to the blind signature generation device 110 under the control of the control unit 120e. Receiving this, the blind signature generation device 110 transmits the public key (g 1 , g 2 , w, u, v) of the storage unit 110e from the transmission unit 110h to the user device 120, and the user device 120 receives This is received by the unit 120a and stored in the storage unit 120j (step S122). Incidentally, the user device 120 in this example does not use the public key g 2. Therefore, the user device 120 may acquire only the public key (g 1 , w, u, v).

次に利用者装置120のX計算部120dが、記憶部120jから公開鍵(g,w,u,v)と(s,t)と署名対象情報mとを読み込み、
X=(g1 m・ψ(u)・ψ(v)s)t …(20)
を計算し、その演算結果Xを記憶部120jに格納する(ステップS123)。
そして、このXが送信部120bに送られ、送信部120bが、このXをブラインド署名生成装置110に送信する(ステップS124)。なお、このXは、ブラインド署名生成装置110(図10)の受信部110iで受信され、記憶部110eに格納される(図12/ステップS103)。
Next, the X calculation unit 120d of the user device 120 reads the public key (g 1 , w, u, v), (s, t), and the signature target information m from the storage unit 120j,
X = (g 1 m・ ψ (u) ・ ψ (v) s ) t … (20)
And the calculation result X is stored in the storage unit 120j (step S123).
Then, this X is sent to the transmission unit 120b, and the transmission unit 120b transmits this X to the blind signature generation device 110 (step S124). This X is received by the receiving unit 110i of the blind signature generating apparatus 110 (FIG. 10) and stored in the storage unit 110e (FIG. 12 / step S103).

また、利用者装置120(図11)は、(m・t mod p,t,s・t mod p)を保持或いは算出可能である旨を、少なくともmを開示することなく(好ましくは、m,s,tを開示することなく)ブラインド署名生成装置110に証明する。
[証明の概要]
まず、証明結果情報生成部120fが、(m・t mod p,t,s・t mod p)を保持或いは算出可能である旨を、少なくともmを開示することなく(好ましくは、m,s,tを開示することなく)ブラインド署名生成装置110に証明するための処理を実行し、その証明を行うための証明結果情報を生成して記憶部120jに格納する(図13/ステップS125)。そして、送信部120bが、その証明結果情報をブラインド署名生成装置110に送信する(ステップS126)。ブラインド署名生成装置110の受信部110iは、この証明結果情報を受信し、証明結果検証部110fが、この証明結果情報を検証する(図12/ステップS104)。そして、証明結果検証部110fが、この証明結果情報を不合格と判断すれば、ブラインド署名生成装置110の制御部110jは処理をエラー終了させる。一方、証明結果検証部110fが、この証明結果情報を合格と判断すれば、ステップS106以降の処理が実行される(ステップS105)。
Further, the user device 120 (FIG. 11) indicates that it can hold or calculate (m · t mod p, t, s · t mod p) without disclosing at least m (preferably m, (without disclosing s, t))
[Summary of certification]
First, the fact that the proof result information generation unit 120f can hold or calculate (m · t mod p, t, s · t mod p) without disclosing at least m (preferably m, s, Processing for proving to the blind signature generation device 110 is executed (without disclosing t), and proof result information for performing the proof is generated and stored in the storage unit 120j (step S125 in FIG. 13). Then, the transmission unit 120b transmits the certification result information to the blind signature generation device 110 (step S126). The receiving unit 110i of the blind signature generating apparatus 110 receives the proof result information, and the proof result verifying unit 110f verifies the proof result information (step S104 in FIG. 12). If the proof result verification unit 110f determines that the proof result information is unacceptable, the control unit 110j of the blind signature generation device 110 terminates the process with an error. On the other hand, if the proof result verification unit 110f determines that the proof result information is acceptable, the processing after step S106 is executed (step S105).

[証明の具体例(証明の一例)]
次に、上記のステップS125,S126(図13)及びステップS104(図12)の処理の具体例を説明する。なお、本発明は、この具体例には限定されない。
図14は、上記のステップS125,S126及びステップS104の処理の具体例を説明するためのフローチャートである。以下、このフローチャートに従ってこの具体例の説明を行っていく。
まず、利用者装置120(図11)の乱数生成部120cが、(a,a,a)を{0,1,...,p−1}からランダムに選択して記憶部120jに格納する(ステップS151)。次に、証明結果情報生成部120fのW計算部120faが、記憶部120jから(a,a,a)とgとuとvとを読み込み、
W=g a1・ψ(u)a2・ψ(v)a3 …(21)
を計算し、その演算結果Wを記憶部120jに格納する(ステップS152)。次に、記憶部120jに格納されたWが送信部120bに送られ、送信部120bは、Wをブラインド署名生成装置110に送信する(ステップS153)。
[Specific example of proof (example of proof)]
Next, a specific example of the processing of steps S125, S126 (FIG. 13) and step S104 (FIG. 12) will be described. The present invention is not limited to this specific example.
FIG. 14 is a flowchart for explaining a specific example of the processing in steps S125, S126, and step S104. Hereinafter, this specific example will be described according to this flowchart.
First, the random number generation unit 120c of the user device 120 (FIG. 11) randomly selects (a 1 , a 2 , a 3 ) from {0, 1,..., P−1} and stores the storage unit 120j. (Step S151). Next, the W calculation unit 120fa of the proof result information generation unit 120f reads (a 1 , a 2 , a 3 ), g 1 , u, and v from the storage unit 120j,
W = g 1 a1 · ψ (u) a2 · ψ (v) a3 (21)
And the calculation result W is stored in the storage unit 120j (step S152). Next, W stored in the storage unit 120j is sent to the transmission unit 120b, and the transmission unit 120b transmits W to the blind signature generation apparatus 110 (step S153).

ブラインド署名生成装置110(図10)の受信部110iはこのWを受信する(ステップS154)。Wが受信された後、乱数生成部110cが、ηを{0,1,...,p−1}からランダムに選択して記憶部110eに格納する(ステップS155)。このηは送信部110hに送られ、送信部110hは、このηを利用者装置120に送信する(ステップS156)。
利用者装置120(図11)の受信部120aは、このηを受信して記憶部120jに格納する(ステップS157)。次に、証明結果情報生成部120fのz計算部120fbが、記憶部120jから(a,a,a)とηとmとRとを読み込み、
z1=a1+η・m・t mod p
z2=a2+η・t mod p …(22)
z3=a3+η・s・t mod p
を計算し、その演算結果(z,z,z)を証明結果情報として記憶部120jに格納する(ステップS158)。次に、この証明結果情報(z,z,z)は、送信部120bに送られ、送信部120bは、証明結果情報(z,z,z)をブラインド署名生成装置110に送信する(ステップS159)。
The receiving unit 110i of the blind signature generation device 110 (FIG. 10) receives this W (step S154). After W is received, the random number generation unit 110c randomly selects η from {0, 1,..., P−1} and stores it in the storage unit 110e (step S155). This η is sent to the transmission unit 110h, and the transmission unit 110h transmits this η to the user device 120 (step S156).
The receiving unit 120a of the user device 120 (FIG. 11) receives this η and stores it in the storage unit 120j (step S157). Next, the z calculation unit 120fb of the proof result information generation unit 120f reads (a 1 , a 2 , a 3 ), η, m, and R from the storage unit 120j,
z 1 = a 1 + η ・ m ・ t mod p
z 2 = a 2 + η ・ t mod p (22)
z 3 = a 3 + η ・ s ・ t mod p
And the calculation results (z 1 , z 2 , z 3 ) are stored in the storage unit 120j as proof result information (step S158). Next, the certification result information (z 1 , z 2 , z 3 ) is sent to the transmission unit 120b, and the transmission unit 120b sends the certification result information (z 1 , z 2 , z 3 ) to the blind signature generation device 110. (Step S159).

ブラインド署名生成装置110(図10)の受信部110iは、この証明結果情報(z,z,z)を受信し、記憶部110eに格納する(ステップS160)。そして、証明結果検証部110fが、記憶部110eから、g,u,v,W,X,η,(z,z,z)を読み込み、
g1 z1・ψ(u)z2・ψ(v)z3≡W・(X)η …(23)
が成り立つか否かにより、証明結果情報の検証を行う(ステップS161)。ここで、式(23)が成立する場合、証明結果検証部110fは、証明結果が正当である旨を出力する(ステップS162)。一方、式(23)が成立しない場合、証明結果検証部110fは、証明結果が不当である旨を出力する(ステップS163)。
The receiving unit 110i of the blind signature generation device 110 (FIG. 10) receives the proof result information (z 1 , z 2 , z 3 ) and stores it in the storage unit 110e (step S160). Then, the proof result verification unit 110f reads g 1 , u, v, W, X, η, (z 1 , z 2 , z 3 ) from the storage unit 110e,
g 1 z1 · ψ (u) z2 · ψ (v) z3 ≡W · (X) η … (23)
The verification result information is verified depending on whether or not holds (step S161). Here, when Formula (23) is materialized, the certification result verification unit 110f outputs that the certification result is valid (step S162). On the other hand, when Expression (23) is not satisfied, the proof result verification unit 110f outputs that the proof result is invalid (step S163).

そして、上述したステップS151以降の処理を複数回繰り返し、全てのループにおいて証明結果が正当であると出力された場合、証明結果検証部110fは、証明結果情報が合格であると判断し、1度でも証明結果が不当であると出力された場合、証明結果情報が不合格であると判断する(図12/ステップS105/[証明の具体例(証明の一例)]の説明終わり)。
証明結果検証部110fが、証明結果情報を合格と判断した場合、ブラインド署名生成装置110の乱数生成部110cは、r,Lを{0,1,...,p−1}からランダムに選択して記憶部110eに格納する(ステップS106)。次に、Y計算部110gが、記憶部110eからX,L,v,x,rを読み込み、
Y=(X・ψ(v)L)1/(x+r) …(24)
を計算して記憶部110eに格納する(ステップS107)。
Then, when the processing after step S151 described above is repeated a plurality of times and the proof result is output as valid in all the loops, the proof result verification unit 110f determines that the proof result information is acceptable, and once However, if it is output that the proof result is invalid, it is determined that the proof result information is unacceptable (end of explanation of FIG. 12 / step S105 / [specific example of proof (example of proof)]).
When the proof result verification unit 110f determines that the proof result information is acceptable, the random number generation unit 110c of the blind signature generation device 110 randomly selects r and L from {0, 1,..., P−1}. And stored in the storage unit 110e (step S106). Next, the Y calculation unit 110g reads X, L, v, x, r from the storage unit 110e,
Y = (X ・ ψ (v) L ) 1 / (x + r) (24)
Is calculated and stored in the storage unit 110e (step S107).

また、R計算部110dが、記憶部110eからg,rを読み込み、
R=g2 r …(25)
を計算して記憶部110eに格納する(ステップS108)。
次に、記憶部110eに格納された(Y,R,L)が送信部110hに送られ、送信部110hは、この(Y,R,L)を利用者装置120に送信する(ステップS109)。利用者装置120(図11)の受信部120aは、この(Y,R,L)を受信し、記憶部120jに格納する(図13/ステップS127)。次に、乱数生成部120cが、fを{0,1,...,p−1}からランダムに選択して記憶部120jに格納する(ステップS128)。そして、τ計算部120kが、記憶部120jからfとtとを読み込み、
τ=(f・t)-1mod p …(26)
を計算し、その演算結果τを記憶部120jに格納する(ステップS129)。また、σ計算部120gが、記憶部120jからYとτとを読み込み、
σ=Yτ …(27)
を計算し、その演算結果σを記憶部120jに格納する(ステップS130)。また、α計算部120hが、記憶部120jからwとhとtとを読み込み、
α=wf-1・Rf …(28)
を計算し、その演算結果αを記憶部120jに格納する(ステップS131)。さらに、β計算部120iが、記憶部120jからsとLとtとを読み込み、
β=s+L/t mod p …(29)
を計算し、その演算結果βを記憶部120jに格納する(ステップS132)。以上のように生成された(σ,α,β)が署名対象情報mのブラインド署名となる。そして、記憶部120jに格納された署名対象情報mとそのブラインド署名(σ,α,β)とは送信部120bに送られ、送信部120bは、署名対象情報mとそのブラインド署名(σ,α,β)とをブラインド署名検証装置130に送信する(ステップS133)。
In addition, the R calculation unit 110d reads g 2 and r from the storage unit 110e,
R = g 2 r (25)
Is calculated and stored in the storage unit 110e (step S108).
Next, (Y, R, L) stored in the storage unit 110e is sent to the transmission unit 110h, and the transmission unit 110h transmits this (Y, R, L) to the user device 120 (step S109). . The receiving unit 120a of the user device 120 (FIG. 11) receives (Y, R, L) and stores it in the storage unit 120j (FIG. 13 / step S127). Next, the random number generation unit 120c randomly selects f from {0, 1,..., P−1} and stores it in the storage unit 120j (step S128). Then, the τ calculation unit 120k reads f and t from the storage unit 120j,
τ = (f ・ t) -1 mod p (26)
And the calculation result τ is stored in the storage unit 120j (step S129). Also, the σ calculation unit 120g reads Y and τ from the storage unit 120j,
σ = Y τ (27)
And the calculation result σ is stored in the storage unit 120j (step S130). Further, the α calculation unit 120h reads w, h, and t from the storage unit 120j,
α = w f-1・ R f … (28)
And the calculation result α is stored in the storage unit 120j (step S131). Further, the β calculation unit 120i reads s, L, and t from the storage unit 120j,
β = s + L / t mod p (29)
And the calculation result β is stored in the storage unit 120j (step S132). (Σ, α, β) generated as described above is a blind signature of the signature target information m. The signature target information m and its blind signature (σ, α, β) stored in the storage unit 120j are sent to the transmission unit 120b, and the transmission unit 120b transmits the signature target information m and its blind signature (σ, α). , Β) is transmitted to the blind signature verification device 130 (step S133).

<ブラインド署名検証処理>
本形態のブラインド署名検証処理でも、第1の実施の形態と同じく、
σ≠1, α∈G2, e(σ,w・α)=e(g1,g2 m・u・vβ) …(30)
が成立する場合に署名が合格であると判断する。
<署名検証が正しく行われる理由>
次に、式(30)が成立する場合になぜ署名が合格であるといえるかについて説明する。
<Blind signature verification process>
Even in the blind signature verification process of this embodiment, as in the first embodiment,
σ ≠ 1, α∈G 2 , e (σ, w ・ α) = e (g 1 , g 2 m・ u ・ v β )… (30)
If is established, it is determined that the signature is acceptable.
<Reason for signature verification correctly>
Next, the reason why it can be said that the signature is acceptable when Expression (30) is satisfied will be described.

まず、前述の式(24)に式(20)を代入すると、
Y=(X・ψ(v)L)1/(x+r)=((g1 m・ψ(u)・ψ(v)s)t・ψ(v)L)1/(x+r)
=(g1 m・ψ(u)・ψ(v)s+L/t)t/(x+r) …(31)
となる。これと式(26)を式(27)に代入すると、
σ=Yτ=Y1/(f・t)=(g1 m・ψ(u)・ψ(v)s+L/t)1/(f・x+f・r) …(32)
となる。そして、式(32)に式(29)を代入し、さらに、δ=(f‐1)x+f・r mod pとすると、
σ=(g1 m・ψ(u)・ψ(v)β)1/(x+(f−1)x+f・r)=(g1 m・ψ(u)・ψ(v)β)1/(x+δ) …(33)
となる。また、w=g2 xと式(25)とを式(28)に代入し、上記のδを用いて表現すると、
α=wf-1・Rf=g2 f-1+r=g2 (f‐1)x+f・r)=g2 δ …(34)
となる。
First, substituting equation (20) into equation (24) above,
Y = (X ・ ψ (v) L ) 1 / (x + r) = ((g 1 m・ ψ (u) ・ ψ (v) s ) t・ ψ (v) L ) 1 / (x + r )
= (g 1 m・ ψ (u) ・ ψ (v) s + L / t ) t / (x + r) … (31)
It becomes. Substituting this and equation (26) into equation (27) gives
σ = Y τ = Y 1 / (f ・ t) = (g 1 m・ ψ (u) ・ ψ (v) s + L / t ) 1 / (f ・ x + f ・ r) … (32)
It becomes. Then, substituting equation (29) into equation (32), and further assuming that δ = (f−1) x + f · r mod p,
σ = (g 1 m・ ψ (u) ・ ψ (v) β ) 1 / (x + (f−1) x + f ・ r) = (g 1 m・ ψ (u) ・ ψ (v) β ) 1 / (x + δ) (33)
It becomes. Also, if w = g 2 x and equation (25) are substituted into equation (28) and expressed using the above δ,
α = w f-1・ R f = g 2 f-1 + r = g 2 (f-1) x + f ・ r) = g 2 δ (34)
It becomes.

これらより、式(11)の左辺は、
e(σ,w・α)=e((g1 m・ψ(u)・ψ(v)β)1/(x+δ),g2 x+δ) …(35)
と変形できる。さらに、<性質4>により、eは双線形写像であり、式(2)を満たすことから、式(35)は、
e(σ,w・α)=e((g1 m・ψ(u)・ψ(v)β)1/(x+δ),g2 x+δ)=e((g1 m・ψ(u)・ψ(v)β)1/(x+δ),g2)・e((g1 m・ψ(u)・ψ(v)β)1/(x+δ),g2)・…・e((g1 m・ψ(u)・ψ(v)β)1/(x+δ),g2) …(36)
と変形でき、式(1)を満たすことから、式(36)は、
e(σ,w・α)=e(g1 m・ψ(u)・ψ(v)β,g2) …(37)
と変形できる。また、u,v∈Gでありu=g2 y, v=g2 zと書ける(y,z∈{0,1,...,p−1})ため、式(37)は、
e(σ,w・α)=e(g1 m・ψ(g2 y)・ψ(g2 z)β,g2) …(37)
と書ける。また、前述の<性質3>より、ψは、GからGへの同型写像であり、さらにψ(g)=gを満たすため、式(37)は、
e(σ,w・α)=e(g1 m・ψ(g2 y)・ψ(g2 z)β,g2)=e(g1 (m+y+β・z), g2) …(38)
と変形できる。さらに、式(1)を満たすことから、式(38)は、
e(σ,w・α)=e(g1, g2)・e(g1, g2)・…・e(g1, g2) …(39)
と変形でき、式(2)を満たすことから、式(39)は、
e(σ,w・α)=e(g1, g2 (m+y+β・z)) …(40)
と変形できる。そして、u=g2 y, v=g2 zとおいているのだから、式(40)は、
e(σ,w・α)=e(g1, g2 mu・vβ)=式(30)の右辺
となる。
From these, the left side of equation (11) is
e (σ, w · α) = e ((g 1 m · ψ (u) · ψ (v) β ) 1 / (x + δ) , g 2 x + δ )… (35)
And can be transformed. Furthermore, because of <property 4>, e is a bilinear map and satisfies equation (2), so equation (35) is
e (σ, w ・ α) = e ((g 1 m・ ψ (u) ・ ψ (v) β ) 1 / (x + δ) , g 2 x + δ ) = e ((g 1 m・ ψ (u) ・ ψ (v) β ) 1 / (x + δ) , g 2 ) ・ e ((g 1 m・ ψ (u) ・ ψ (v) β ) 1 / (x + δ) , g 2 ) ・ ・ ・ ・ ・ E ((g 1 m・ ψ (u) ・ ψ (v) β ) 1 / (x + δ) , g 2 )… (36)
And satisfying equation (1), equation (36) is
e (σ, w · α) = e (g 1 m · ψ (u) · ψ (v) β , g 2 )… (37)
And can be transformed. Since u, vεG 2 and u = g 2 y , v = g 2 z can be written (y, zε {0, 1,..., P−1}), equation (37) is
e (σ, w · α) = e (g 1 m · ψ (g 2 y ) · ψ (g 2 z ) β , g 2 )… (37)
Can be written. Further, from <Property 3> described above, ψ is an isomorphism from G 2 to G 1 , and further satisfies ψ (g 2 ) = g 1 , so Expression (37) is
e (σ, w ・ α) = e (g 1 m・ ψ (g 2 y ) ・ ψ (g 2 z ) β , g 2 ) = e (g 1 (m + y + β ・ z) , g 2 )… (38)
And can be transformed. Furthermore, since Expression (1) is satisfied, Expression (38) is
e (σ, w ・ α) = e (g 1 , g 2 ) ・ e (g 1 , g 2 ) ・ ・ ・ ・ ・ e (g 1 , g 2 )… (39)
And satisfying equation (2), equation (39) is
e (σ, w ・ α) = e (g 1 , g 2 (m + y + β ・ z) )… (40)
And can be transformed. And since u = g 2 y and v = g 2 z are set, Equation (40) becomes
e (σ, w · α) = e (g 1 , g 2 m u · v β ) = the right side of the equation (30).

〔本形態の効果〕
本形態のブラインド署名には、ハッシュ関数が使われていない。また、本形態のブラインド署名生成処理及びブラインド署名検証処理の安全性はStrong Diffile-Hellman問題の求解困難性に基づいており、安全であるといえる。さらに、本形態のブラインド署名生成処理及びブラインド署名検証処理の処理速度は、現在最も広く使われているRSA署名などと同程度であり、高い実用性を持つ。
〔変形例〕
なお、本発明は上述の実施の形態に限定されるものではない。例えば、本形態では、ステップS125,S126(図13)及びステップS104(図12)において、利用者装置120が、(m・t mod p,t,s・t mod p)を保持又は算出可能である旨を、少なくともmを開示することなく、ブラインド署名生成装置110に証明し、この証明が成功した場合にのみ、ステップS106(図12)以降の処理を実行することとした。しかし、この証明処理を行うことなく、ステップS106(図12)以降の処理を実行することとしてもよい。
[Effect of this embodiment]
A hash function is not used in the blind signature of this embodiment. Further, the security of the blind signature generation process and the blind signature verification process of this embodiment is based on the difficulty of solving the Strong Diffile-Hellman problem, and can be said to be safe. Furthermore, the processing speed of the blind signature generation processing and the blind signature verification processing according to the present embodiment is similar to that of the most widely used RSA signature at present, and has high practicality.
[Modification]
The present invention is not limited to the embodiment described above. For example, in this embodiment, the user device 120 can hold or calculate (m · t mod p, t, s · t mod p) in steps S125, S126 (FIG. 13) and step S104 (FIG. 12). This fact is proved to the blind signature generation device 110 without disclosing at least m, and the processing after step S106 (FIG. 12) is executed only when this certification is successful. However, the processing after step S106 (FIG. 12) may be executed without performing this proof processing.

また、本形態では、ψをGからGへの同型写像とした。しかし、ψをGからGへの準同型写像とした構成であってもよい。
また、本形態では、ブラインド署名生成装置110がr,Lを{0,1,...,p−1}からランダムに選択し、R=g を算出し、YとともにLとRを利用者装置120に送信することとした。しかし、ブラインド署名生成装置110がRやLの選択・算出・送信を行わない構成としてもよい。この場合、例えば、ブラインド署名生成装置110と利用者装置120とは事前にr,Lを共用しているものとし、ブラインド署名生成装置110は、これらを用いてY=(X・ψ(v)1/(x+r)を計算し、利用者装置120は、これらr,Lをを用いて、R=g 、α=wf−1・R及びβ=s+L/t mod pを計算する。
In this embodiment, ψ is an isomorphism from G 2 to G 1 . However, a configuration in which ψ is a homomorphic map from G 2 to G 1 may be used.
In this embodiment, the blind signature generation apparatus 110 converts r, L into {0, 1,. . . , P−1} are selected at random, R = g 2 r is calculated, and L and R together with Y are transmitted to the user apparatus 120. However, the blind signature generation apparatus 110 may be configured not to select, calculate, or transmit R or L. In this case, for example, it is assumed that the blind signature generation apparatus 110 and the user apparatus 120 share r and L in advance, and the blind signature generation apparatus 110 uses these to generate Y = (X · ψ (v) L ) 1 / (x + r) is calculated, and the user apparatus 120 uses these r and L to calculate R = g 2 r , α = w f−1 · R f and β = s + L / t mod p. calculate.

また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよく、その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、各実施の形態の処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
In addition, the various processes described above are not only executed in time series according to the description, but may be executed in parallel or individually as required by the processing capability of the apparatus that executes the process, or otherwise. Needless to say, changes can be made without departing from the scope of the present invention.
The program describing the processing contents of each embodiment can be recorded on a computer-readable recording medium. The computer-readable recording medium may be any medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, or a semiconductor memory. Specifically, for example, the magnetic recording device may be a hard disk device or a flexible Discs, magnetic tapes, etc. as optical disks, DVD (Digital Versatile Disc), DVD-RAM (Random Access Memory), CD-ROM (Compact Disc Read Only Memory), CD-R (Recordable) / RW (ReWritable), etc. As the magneto-optical recording medium, MO (Magneto-Optical disc) or the like can be used, and as the semiconductor memory, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory) or the like can be used.

また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
As another execution form of such a program, the computer may read the program directly from the portable recording medium and execute processing according to the program, and the program is transferred to the computer from the server computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).

また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   In this embodiment, the present apparatus is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.

本発明の産業上の利用分野としては、例えば、電子現金や電子投票の分野などを例示できる。   Examples of the industrial application field of the present invention include the field of electronic cash and electronic voting.

図1は、第1の実施の形態におけるブラインド署名生成・検証システムの全体構成を例示したブロック図である。FIG. 1 is a block diagram illustrating the overall configuration of a blind signature generation / verification system according to the first embodiment. 図2は、第1の実施の形態におけるブラインド署名生成装置の詳細構成を例示したブロック図である。FIG. 2 is a block diagram illustrating a detailed configuration of the blind signature generation apparatus according to the first embodiment. 図3は、第1の実施の形態における利用者装置の詳細構成を例示したブロック図である。FIG. 3 is a block diagram illustrating a detailed configuration of the user device according to the first embodiment. 図4は、第1,2の実施の形態におけるブラインド署名検証装置の詳細構成を例示したブロック図である。FIG. 4 is a block diagram illustrating a detailed configuration of the blind signature verification apparatus according to the first and second embodiments. 図5は、第1の実施の形態におけるブラインド署名生成装置の処理を説明するためのフローチャートである。FIG. 5 is a flowchart for explaining processing of the blind signature generation apparatus according to the first embodiment. 図6は、第1の実施の形態における利用者装置の処理を説明するためのフローチャートである。FIG. 6 is a flowchart for explaining the process of the user device according to the first embodiment. 図7は、第1,2の実施の形態におけるブラインド署名検証装置の処理を説明するためのフローチャートである。FIG. 7 is a flowchart for explaining processing of the blind signature verification apparatus according to the first and second embodiments. 図8は、ステップS26,S27及びステップS7の処理の具体例を説明するためのフローチャートである。FIG. 8 is a flowchart for explaining a specific example of the processing in steps S26, S27 and S7. 図9は、第2の実施の形態におけるブラインド署名生成・検証システムの全体構成を例示したブロック図である。FIG. 9 is a block diagram illustrating the overall configuration of the blind signature generation / verification system according to the second embodiment. 図10は、第2の実施の形態におけるブラインド署名生成装置の詳細構成を例示したブロック図である。FIG. 10 is a block diagram illustrating a detailed configuration of the blind signature generation apparatus according to the second embodiment. 図11は、第2の実施の形態における利用者装置の詳細構成を例示したブロック図である。FIG. 11 is a block diagram illustrating a detailed configuration of the user device according to the second embodiment. 図12は、第2の実施の形態におけるブラインド署名生成装置の処理を説明するためのフローチャートである。FIG. 12 is a flowchart for explaining processing of the blind signature generation apparatus according to the second embodiment. 図13は、第2の実施の形態における利用者装置の処理を説明するためのフローチャートである。FIG. 13 is a flowchart for explaining processing of the user device according to the second embodiment. 図14は、S125,S126及びステップS104の処理の具体例を説明するためのフローチャートである。FIG. 14 is a flowchart for explaining a specific example of the processing of S125, S126, and step S104.

符号の説明Explanation of symbols

1,101 ブラインド署名生成・検証システム
10,110 ブラインド署名生成装置
20,120 利用者装置
30 ブラインド署名検証装置
1,101 Blind Signature Generation / Verification System 10, 110 Blind Signature Generation Device 20, 120 User Device 30 Blind Signature Verification Device

Claims (20)

ブラインド署名生成装置と利用者装置とブラインド署名検証装置とによって実行されるブラインド署名生成・検証方法であって、
ブラインド署名生成装置の秘密鍵生成部が、pを素数とした場合における、秘密鍵x∈{0,1,...,p−1}を生成して記憶部に格納するステップと、
ブラインド署名生成装置の公開鍵生成部が、GとGを位数がpの巡回群とし、gをGの生成元とし、gをGの生成元とした場合における、公開鍵g,g,w=g ,u∈G,v∈Gを生成して記憶部に格納するステップと、
ブラインド署名生成装置のh計算部が、h=g (r∈{0,1,...,p−1})を計算して記憶部に格納するステップと、
ブラインド署名生成装置の送信部が、hを利用者装置に送信するステップと、
利用者装置の受信部が、hを受信するステップと、
利用者装置の受信部が、少なくともブラインド署名生成装置から送信された公開鍵g,w,u,vを受信するステップと、
利用者装置のX計算部が、ψをGからGへの写像ψ(g)=gとし、mを署名対象情報とした場合における、X=g ・ψ(u)・ψ(v)・(ψ(w・h))(s,R∈{0,1,...,p−1})を計算して記憶部に格納するステップと、
利用者装置の送信部が、Xをブラインド署名生成装置に送信するステップと、
ブラインド署名生成装置の受信部がXを受信するステップと、
ブラインド署名生成装置のY計算部が、Y=(X・g L・z1/(x+r)(L,z∈{0,1,...,p−1})を計算して記憶部に格納するステップと、
ブラインド署名生成装置の送信部が、少なくともYを利用者装置に送信するステップと、
利用者装置の受信部が少なくともYを受信するステップと、
利用者装置のσ計算部が、σ=(Y/g 1/t(t∈{0,1,...,p−1})を計算して記憶部に格納するステップと、
利用者装置のα計算部が、α=wt−1・hを計算して記憶部に格納するステップと、
利用者装置の送信部が、署名対象情報mと、ブラインド署名(σ,α,β)(β=s+L mod p)と、をブラインド署名検証装置に送信するステップと、
ブラインド署名検証装置の受信部が、署名対象情報mと上記ブラインド署名(σ,α,β)とを受信するステップと、
ブラインド署名検証装置の受信部が、ブラインド署名生成装置から送信された公開鍵g,g,w,u,vを受信するステップと、
ブラインド署名検証装置の署名検証部が、eをG×G→Gの双線形写像とした場合における、σ≠1,α∈G,e(σ,w・α)=e(g,g ・u・vβ)が成立するか否かを検証するステップと、
を有することを特徴とするブラインド署名生成・検証方法。
A blind signature generation / verification method executed by a blind signature generation device, a user device, and a blind signature verification device,
A secret key generation unit of the blind signature generation device generates a secret key xε {0, 1,..., P−1} when p is a prime number, and stores it in the storage unit;
When the public key generation unit of the blind signature generation apparatus uses G 1 and G 2 as a cyclic group of order p, g 1 as the generation source of G 1 , and g 2 as the generation source of G 2 and storing keys g 1, g 2, w = g 2 x, u∈G 2, the storage unit generates a v∈G 2,
A step in which the h calculation unit of the blind signature generation device calculates h = g 2 r (rε {0, 1,..., P−1}) and stores it in the storage unit;
A step of transmitting a h to the user device by a transmission unit of the blind signature generation device;
A receiving unit of the user device receiving h;
Receiving a public key g 1 , w, u, v transmitted from at least the blind signature generation device by a receiving unit of the user device;
When the X calculation unit of the user apparatus sets ψ to G 2 to G 1 mapping ψ (g 2 ) = g 1 and m is signature object information, X = g 1 m · ψ (u) · calculating ψ (v) s · (ψ (w · h)) R (s, Rε {0, 1,..., p−1}) and storing it in the storage unit;
A transmitting unit of the user device transmitting X to the blind signature generating device;
A receiving unit of the blind signature generation device receiving X;
The Y calculation unit of the blind signature generation device calculates and stores Y = (X · g 1 L · z ) 1 / (x + r) (L, zε {0,1,..., P−1}). A step of storing in the department;
A step of transmitting at least Y to the user device by the transmission unit of the blind signature generation device;
The receiving unit of the user device receives at least Y;
A σ calculation unit of the user device calculates σ = (Y / g 1 R ) 1 / t (t∈ {0, 1,..., P−1}) and stores it in the storage unit;
An α calculation unit of the user device calculates α = w t−1 · h t and stores it in the storage unit;
A transmitting unit of the user device transmitting the signature object information m and the blind signature (σ, α, β) (β = s + L mod p) to the blind signature verification device;
Receiving a signature target information m and the blind signature (σ, α, β) by a receiving unit of the blind signature verification device;
Receiving a public key g 1 , g 2 , w, u, v transmitted from the blind signature generation device by a receiving unit of the blind signature verification device;
Signature verification unit of the blind signature verification device, in the case where the e was bilinear mapping of G 1 × G 2 → G T , σ ≠ 1, α∈G 2, e (σ, w · α) = e (g 1 , g 2 m · u · v β ) holds,
A blind signature generation / verification method comprising:
請求項1に記載のブラインド署名生成・検証方法であって、
利用者装置の証明結果情報生成部が、当該利用者装置に(m,s,R)が保持されていることを、少なくともmを開示することなくブラインド署名生成装置に証明するための証明結果情報を生成し、それを記憶部に格納するステップと、
利用者装置の送信部が、上記証明結果情報をブラインド署名生成装置に送信するステップと、
ブラインド署名生成装置の受信部が、上記証明結果情報を受信するステップと、
ブラインド署名生成装置の証明結果検証部が、上記証明結果情報を検証するステップと、を有し、
上記のブラインド署名生成装置のY計算部がYを計算するための処理は、
ブラインド署名生成装置の証明検証部が上記証明結果情報を合格と判断した場合にのみ実行される、
ことを特徴とするブラインド署名生成・検証方法。
The blind signature generation / verification method according to claim 1,
Certification result information for the certification result information generation unit of the user device to prove to the blind signature generation device without disclosing at least m that the user device holds (m, s, R) Generating and storing it in the storage unit;
A transmitting unit of the user device transmitting the certification result information to the blind signature generating device;
A receiving unit of the blind signature generating device receiving the certification result information;
A verification result verification unit of the blind signature generation device has a step of verifying the verification result information,
The process for the Y calculation unit of the blind signature generation apparatus to calculate Y is as follows:
It is executed only when the proof verification unit of the blind signature generation device determines that the proof result information is acceptable,
A blind signature generation / verification method characterized by the above.
請求項2に記載のブラインド署名生成・検証方法であって、
利用者装置の乱数生成部が、a,a,aを{0,1,...,p−1}からランダムに選択して記憶部に格納するステップと、
利用者装置のW計算部が、W=g a1・ψ(v)a2・(ψ(w・h))a3(上付き添え字a1,a2,a3は、それぞれa,a,aを示す)を計算して記憶部に格納するステップと、
利用者装置の送信部が、Wをブラインド署名生成装置に送信するステップと、
ブラインド署名生成装置の受信部がWを受信するステップと、
Wが受信された後、ブラインド署名生成装置の乱数生成部が、ηを{0,1,...,p−1}からランダムに選択して記憶部に格納するステップと、
ブラインド署名生成装置の送信部が、ηを利用者装置に送信するステップと、
利用者装置の受信部が、ηを受信するステップと、を有し、
上記証明結果情報は、
=a+η・m mod p,z=a+η・s mod p,z=a+η・R mod pであり、
上記ブラインド署名生成装置の証明結果検証部は、
z1・ψ(v)z2・(ψ(w・h))z3≡W・(X/ψ(u))η(上付き添え字z1,z2,z3は、それぞれz,z,zを示す)が成り立つか否かにより、上記証明結果情報の検証を行う、
ことを特徴とするブラインド署名生成・検証方法。
The blind signature generation / verification method according to claim 2,
A step in which a random number generation unit of the user device randomly selects a 1 , a 2 , a 3 from {0, 1,..., P−1} and stores them in the storage unit;
The W calculation unit of the user device W = g 1 a1 · ψ (v) a2 · (ψ (w · h)) a3 (The superscripts a1, a2, and a3 are a 1 , a 2 , a 3, respectively. 3 ) and storing it in the storage unit;
A transmitting unit of the user device transmitting W to the blind signature generating device;
A receiving unit of the blind signature generation device receiving W;
After W is received, the random number generation unit of the blind signature generation device randomly selects η from {0, 1,..., P−1} and stores it in the storage unit;
A transmission unit of the blind signature generation device transmits η to the user device;
A receiving unit of the user device receives η, and
The above proof result information is
z 1 = a 1 + η · m mod p, z 2 = a 2 + η · s mod p, z 3 = a 3 + η · R mod p,
The proof result verification unit of the blind signature generation device
g 1 z1 · ψ (v) z2 · (ψ (w · h)) z3 ≡W · (X / ψ (u)) η (subscripts z1, z2, and z3 are z 1 , z 2 , the proof result information is verified according to whether or not z 3 is satisfied).
A blind signature generation / verification method characterized by the above.
請求項1に記載のブラインド署名生成・検証方法であって、
上記写像ψはGからGへの同型写像である、
ことを特徴とするブラインド署名生成・検証方法。
The blind signature generation / verification method according to claim 1,
The map ψ is an isomorphic map from G 2 to G 1 .
A blind signature generation / verification method characterized by the above.
請求項1に記載のブラインド署名生成・検証方法であって、
ブラインド署名生成装置の秘密鍵生成部が、秘密鍵xを生成する際に、秘密鍵z∈{0,1,...,p−1}も生成して記憶部に格納するステップをさらに有し、
ブラインド署名生成装置の公開鍵生成部が生成する公開鍵はv=g であり、
ブラインド署名生成装置の受信部がXを受信するステップの後、ブラインド署名生成装置のY計算部がYを計算して記憶部に格納するステップの前に、ブラインド署名生成装置の乱数生成部が、Lを{0,1,...,p−1}からランダムに選択して記憶部に格納するステップをさらに有し、
ブラインド署名生成装置の送信部は、YとともにLをも利用者装置に送信し、
利用者装置の受信部は、YとともにLをも受信し、
利用者装置の受信部が、YとともにLをも受信するステップの後、利用者装置の送信部が署名対象情報mとブラインド署名(σ,α,β)とをブラインド署名検証装置に送信するステップの前に、利用者装置のβ計算部が、β=s+L mod pを計算して記憶部に格納するステップをさらに有する、
ことを特徴とするブラインド署名生成・検証方法。
The blind signature generation / verification method according to claim 1,
When the secret key generation unit of the blind signature generation device generates the secret key x, the secret key generation unit further generates a secret key zε {0, 1,..., P−1} and stores it in the storage unit. And
The public key generated by the public key generation unit of the blind signature generation device is v = g 2 z ,
After the step of receiving X by the receiving unit of the blind signature generating device, before the step of calculating the Y by the Y calculating unit of the blind signature generating device and storing it in the storage unit, the random number generating unit of the blind signature generating device, A step of randomly selecting L from {0, 1,..., P−1} and storing it in the storage unit;
The transmission unit of the blind signature generation apparatus transmits L together with Y to the user apparatus,
The receiving unit of the user apparatus receives L together with Y,
After the step in which the receiving unit of the user device receives L together with Y, the step of transmitting the signature object information m and the blind signature (σ, α, β) to the blind signature verification device by the transmitting unit of the user device The β calculation unit of the user device further includes a step of calculating β = s + L mod p and storing it in the storage unit.
A blind signature generation / verification method characterized by the above.
ブラインド署名生成装置であって、
秘密鍵生成部と、公開鍵生成部と、送信部と、受信部と、h計算部と、Y計算部とを有し、
上記秘密鍵生成部は、pを素数とした場合における、秘密鍵x∈{0,1,...,p−1}を生成し、
上記公開鍵生成部は、GとGを位数がpの巡回群とし、gをGの生成元とし、gをGの生成元とした場合における、公開鍵g,g,w=g ,u∈G,v∈Gを生成し、
上記送信部は、公開鍵g,g,w,u,vの少なくとも一部を利用者装置及びブラインド署名検証装置に送信し、
上記h計算部は、h=g (r∈{0,1,...,p−1})を計算し、
上記送信部は、hを利用者装置に送信し、
上記受信部は、利用者装置から送信されたXを受信し、
上記Y計算部は、Y=(X・g L・z1/(x+r)(L,z∈{0,1,...,p−1})を計算し、
上記送信部は、少なくともYを利用者装置に送信する、
ことを特徴とするブラインド署名生成装置。
A blind signature generator,
A secret key generation unit, a public key generation unit, a transmission unit, a reception unit, an h calculation unit, and a Y calculation unit,
The secret key generation unit generates a secret key xε {0, 1,..., P−1} where p is a prime number,
The public key generation unit, a cyclic group of number digit of G 1 and G 2 is p, the g 1 and a generator of G 1, in the case where the g 2 and a generator of G 2, the public key g 1, g 2, w = g 2 x , u∈G 2, to generate a v∈G 2,
The transmission unit transmits at least a part of the public keys g 1 , g 2 , w, u, v to the user device and the blind signature verification device,
The h calculation unit calculates h = g 2 r (r∈ {0, 1,..., P−1}),
The transmission unit transmits h to the user device,
The receiving unit receives X transmitted from the user device,
The Y calculation unit calculates Y = (X · g 1 L · z ) 1 / (x + r) (L, zε {0,1,..., P−1}),
The transmission unit transmits at least Y to the user device;
A blind signature generation apparatus characterized by the above.
利用者装置であって、
送信部と、受信部と、X計算部と、σ計算部と、α計算部とを有し、
上記受信部は、hと公開鍵g,w,u,vとを少なくとも受信し、
上記X計算部は、GとGを位数がpの巡回群とし、gをGの生成元とし、gをGの生成元とし、ψをGからGへの写像ψ(g)=gとし、mを署名対象情報とした場合における、X=g ・ψ(u)・ψ(v)・(ψ(w・h))(s,R∈{0,1,...,p−1})を計算し、
上記送信部は、Xをブラインド署名生成装置に送信し、
上記受信部は、少なくともブラインド署名生成装置から送信されたYを受信し、
上記σ計算部は、σ=(Y/g 1/t(t∈{0,1,...,p−1})を計算し、
上記α計算部は、α=wt−1・hを計算し、
上記送信部は、署名対象情報mと、ブラインド署名(σ,α,β)(β=s+L mod p,L∈{0,1,...,p−1})と、をブラインド署名検証装置に送信する、
ことを特徴とする利用者装置。
A user device,
A transmitter, a receiver, an X calculator, a σ calculator, and an α calculator;
The receiving unit receives at least h and public keys g 1 , w, u, v,
The X calculator, a cyclic group of number digit of G 1 and G 2 is p, the g 1 and a generator of G 1, the g 2 is a generator of G 2, the ψ from G 2 to G 1 X = g 1 m · ψ (u) · ψ (v) s · (ψ (w · h)) R (s, where m ψ (g 2 ) = g 1 and m is signature target information R∈ {0,1, ..., p-1})
The transmission unit transmits X to the blind signature generation device,
The receiving unit receives at least Y transmitted from the blind signature generation device,
The σ calculator calculates σ = (Y / g 1 R ) 1 / t (tε {0, 1,..., P−1}),
The α calculation unit calculates α = w t−1 · h t ,
The transmission unit displays the signature target information m and the blind signature (σ, α, β) (β = s + L mod p, Lε {0, 1,..., P−1}) as a blind signature verification device. Send to
A user device characterized by that.
ブラインド署名検証装置であって、
受信部と、署名検証部とを有し、
上記受信部は、署名対象情報mと、ブラインド署名(σ,α,β)と、公開鍵g,g,w,u,vとを受信し、
上記署名検証部は、pを素数とし、GとGを位数がpの巡回群とし、eをG×G→Gの双線形写像とした場合における、σ≠1,α∈G,e(σ,w・α)=e(g,g ・u・vβ)が成立するか否かを検証する、
ことを特徴とするブラインド署名検証装置。
A blind signature verification device,
A receiving unit and a signature verification unit;
The receiving unit receives the signature object information m, the blind signature (σ, α, β), and the public keys g 1 , g 2 , w, u, v,
The signature verification unit, the prime p, the G 1 and G 2 and of order is a cyclic group of p, in the case where the e was bilinear mapping of G 1 × G 2 → G T , σ ≠ 1, α It is verified whether or not εG 2 , e (σ, w · α) = e (g 1 , g 2 m · u · v β ) holds.
A blind signature verification apparatus characterized by the above.
ブラインド署名生成装置と利用者装置とブラインド署名検証装置とからなるブラインド署名生成・検証システムであって、
上記ブラインド署名生成装置は、秘密鍵生成部と、公開鍵生成部と、送信部と、受信部と、h計算部と、Y計算部とを有し、
上記秘密鍵生成部は、pを素数とした場合における、秘密鍵x∈{0,1,...,p−1}を生成し、上記公開鍵生成部は、GとGを位数がpの巡回群とし、gをGの生成元とし、gをGの生成元とした場合における、公開鍵g,g,w=g ,u∈G,v∈Gを生成し、上記ブラインド署名生成装置の送信部は、公開鍵g,g,w,u,vの少なくとも一部を利用者装置及びブラインド署名検証装置に送信し、上記h計算部は、h=g (r∈{0,1,...,p−1})を計算し、上記送信部は、hを利用者装置に送信し、上記受信部は、利用者装置から送信されたXを受信し、上記Y計算部は、Y=(X・g L・z1/(x+r)(L,z∈{0,1,...,p−1})を計算し、上記ブラインド署名生成装置の送信部は、少なくともYを利用者装置に送信し、
上記利用者装置は、送信部と、受信部と、X計算部と、σ計算部と、α計算部とを有し、上記利用者装置の受信部は、hと公開鍵g,w,u,vとを少なくとも受信し、上記X計算部は、ψをGからGへの写像ψ(g)=gとし、mを署名対象情報とした場合における、X=g ・ψ(u)・ψ(v)・(ψ(w・h))(s,R∈{0,1,...,p−1})を計算し、上記利用者装置の上記送信部は、Xをブラインド署名生成装置に送信し、上記利用者装置の上記受信部は、ブラインド署名生成装置から送信されたYを少なくとも受信し、上記σ計算部は、σ=(Y/g 1/t(t∈{0,1,...,p−1})を計算し、上記α計算部は、α=wt−1・hを計算し、上記利用者装置の上記送信部は、署名対象情報mと、ブラインド署名(σ,α,β)と、をブラインド署名検証装置に送信し、
上記ブラインド署名検証装置は、受信部と、署名検証部とを有し、
上記ブラインド署名検証装置の受信部は、署名対象情報mと上記ブラインド署名と公開鍵g,g,w,u,vとを受信し、上記署名検証部は、pを素数とし、GとGを位数がpの巡回群とし、eをG×G→Gの双線形写像とした場合における、σ≠1,α∈G,e(σ,w・α)=e(g,g ・u・vβ)(β=s+L mod p)が成立するか否かを検証する、
ことを特徴とするブラインド署名生成・検証システム。
A blind signature generation / verification system comprising a blind signature generation device, a user device, and a blind signature verification device,
The blind signature generation apparatus includes a secret key generation unit, a public key generation unit, a transmission unit, a reception unit, an h calculation unit, and a Y calculation unit.
The secret key generation unit generates a secret key xε {0, 1,..., P−1} when p is a prime number, and the public key generation unit ranks G 1 and G 2 the number is a cyclic group of p, the g 1 and a generator of G 1, in the case where the g 2 and a generator of G 2, the public key g 1, g 2, w = g 2 x, u∈G 2, vεG 2 is generated, and the transmission unit of the blind signature generation device transmits at least part of the public keys g 1 , g 2 , w, u, v to the user device and the blind signature verification device, and the h The calculation unit calculates h = g 2 r (rε {0, 1,..., P−1}), the transmission unit transmits h to the user apparatus, and the reception unit uses X transmitted from the user device is received, and the Y calculation unit Y = (X · g 1 L · z ) 1 / (x + r) (L, zε {0,1,..., P−1) }) And above Transmission of the blind signature generation apparatus transmits to the user device at least Y,
The user device includes a transmission unit, a reception unit, an X calculation unit, a σ calculation unit, and an α calculation unit, and the reception unit of the user device includes h and public keys g 1 , w, At least u and v are received, and the X calculation unit X = g 1 m when ψ is a mapping ψ (g 2 ) = g 1 from G 2 to G 1 and m is signature target information Ψ (u) · ψ (v) s · (ψ (w · h)) R (s, Rε {0, 1,..., P−1}) The transmission unit transmits X to the blind signature generation device, the reception unit of the user device receives at least Y transmitted from the blind signature generation device, and the σ calculation unit is σ = (Y / g 1 R ) 1 / t (tε {0, 1,..., P−1}), and the α calculation unit calculates α = w t−1 · h t , and the user device The sending part of Elephant information m, blind signature (sigma, alpha, beta) and sent, the blind signature verification device,
The blind signature verification apparatus includes a receiving unit and a signature verification unit,
The reception unit of the blind signature verification apparatus receives the signature target information m, the blind signature, and the public keys g 1 , g 2 , w, u, and v. The signature verification unit sets p as a prime number and G 1 the G 2 and of order is a cyclic group of p and, in the case where the e was bilinear mapping of G 1 × G 2 → G T , σ ≠ 1, α∈G 2, e (σ, w · α) = verify whether e (g 1 , g 2 m · u · v β ) (β = s + L mod p) holds,
This is a blind signature generation / verification system.
ブラインド署名生成装置と利用者装置とブラインド署名検証装置とによって実行されるブラインド署名生成・検証方法であって、
ブラインド署名生成装置の秘密鍵生成部が、pを素数とした場合における、秘密鍵x∈{0,1,...,p−1}を生成して記憶部に格納するステップと、
ブラインド署名生成装置の公開鍵生成部が、GとGを位数がpの巡回群とし、gをGの生成元とし、gをGの生成元とした場合における、公開鍵g,g,w=g ,u∈G,v∈Gを生成して記憶部に格納するステップと、
利用者装置の受信部が、少なくともブラインド署名生成装置から送信された公開鍵g,u,vを受信するステップと、
利用者装置のX計算部が、ψをGからGへの写像ψ(g)=gとし、mを署名対象情報とした場合における、X=(g ・ψ(u)・ψ(v)(s,t∈{0,1,...,p−1})を計算して記憶部に格納するステップと、
利用者装置の送信部が、Xをブラインド署名生成装置に送信するステップと、
ブラインド署名生成装置の受信部がXを受信するステップと、
ブラインド署名生成装置のY計算部が、Y=(X・(ψ(v))1/(x+r)(r,L∈{0,1,...,p−1})を計算して記憶部に格納するステップと、
ブラインド署名生成装置の送信部が、少なくともYを利用者装置に送信するステップと、
利用者装置の受信部が少なくともYを受信するステップと、
利用者装置の受信部が、ブラインド署名生成装置から送信された公開鍵wを受信するステップと、
利用者装置のτ計算部が、τ=(f・t)−1 mod p(f∈{0,1,...,p−1})を計算して記憶部に格納するステップと、
利用者装置のσ計算部が、σ=Yτを計算して記憶部に格納するステップと、
利用者装置のα計算部が、α=wf−1・R(R=g ,r∈{0,1,...,p−1})を計算して記憶部に格納するステップと、
利用者装置の送信部が、署名対象情報mと、ブラインド署名(σ,α,β)(β=s+L/t mod p)と、をブラインド署名検証装置に送信するステップと、
ブラインド署名検証装置の受信部が、署名対象情報mと上記ブラインド署名(σ,α,β)とを受信するステップと、
ブラインド署名検証装置の受信部が、ブラインド署名生成装置から送信された公開鍵g,g,w,u,vを受信するステップと、
ブラインド署名検証装置の署名検証部が、eをG×G→Gの双線形写像とした場合における、σ≠1,α∈G,e(σ,w・α)=e(g,g ・u・vβ)が成立するか否かを検証するステップと、
を有することを特徴とするブラインド署名生成・検証方法。
A blind signature generation / verification method executed by a blind signature generation device, a user device, and a blind signature verification device,
A secret key generation unit of the blind signature generation device generates a secret key xε {0, 1,..., P−1} when p is a prime number, and stores it in the storage unit;
When the public key generation unit of the blind signature generation apparatus uses G 1 and G 2 as a cyclic group of order p, g 1 as the generation source of G 1 , and g 2 as the generation source of G 2 and storing keys g 1, g 2, w = g 2 x, u∈G 2, the storage unit generates a v∈G 2,
Receiving a public key g 1 , u, v transmitted from at least the blind signature generation device by a receiving unit of the user device;
X = (g 1 m · ψ (u) in the case where the X calculation unit of the user device sets ψ as a mapping ψ (g 2 ) = g 1 from G 2 to G 1 and m as signature object information. Calculating ψ (v) s ) t (s, tε {0, 1,..., P−1}) and storing it in the storage unit;
A transmitting unit of the user device transmitting X to the blind signature generating device;
A receiving unit of the blind signature generation device receiving X;
The Y calculation unit of the blind signature generation apparatus calculates Y = (X · (ψ (v)) L ) 1 / (x + r) (r, Lε {0, 1,..., P−1}). Storing in the storage unit,
A step of transmitting at least Y to the user device by the transmission unit of the blind signature generation device;
The receiving unit of the user device receives at least Y;
A receiving unit of the user device receiving the public key w transmitted from the blind signature generating device;
A τ calculation unit of the user device calculates τ = (f · t) −1 mod p (fε {0, 1,..., P−1}) and stores it in the storage unit;
A σ calculation unit of the user device calculates σ = Y τ and stores it in the storage unit;
The α calculation unit of the user device calculates α = w f−1 · R f (R = g 2 r , rε {0, 1,..., P−1}) and stores it in the storage unit. Steps,
Transmitting a signature target information m and a blind signature (σ, α, β) (β = s + L / t mod p) to the blind signature verification device;
Receiving a signature target information m and the blind signature (σ, α, β) by a receiving unit of the blind signature verification device;
Receiving a public key g 1 , g 2 , w, u, v transmitted from the blind signature generation device by a receiving unit of the blind signature verification device;
Signature verification unit of the blind signature verification device, in the case where the e was bilinear mapping of G 1 × G 2 → G T , σ ≠ 1, α∈G 2, e (σ, w · α) = e (g 1 , g 2 m · u · v β ) holds,
A blind signature generation / verification method comprising:
請求項10に記載のブラインド署名生成・検証方法であって、
利用者装置の証明結果情報生成部が、(m・t mod p,t,s・t mod p)を保持又は算出可能であることを、少なくともmを開示することなくブラインド署名生成装置に証明するための証明結果情報を生成し、それを記憶部に格納するステップと、
利用者装置の送信部が、上記証明結果情報をブラインド署名生成装置に送信するステップと、
ブラインド署名生成装置の受信部が、上記証明結果情報を受信するステップと、
ブラインド署名生成装置の証明結果検証部が、上記証明結果情報を検証するステップと、を有し、
上記のブラインド署名生成装置のY計算部がYを計算するための処理は、
ブラインド署名生成装置の証明検証部が上記証明結果情報を合格と判断した場合にのみ実行される、
ことを特徴とするブラインド署名生成・検証方法。
The blind signature generation / verification method according to claim 10,
The proof result information generation unit of the user device proves to the blind signature generation device that at least m is not disclosed, that (m · t mod p, t, s · t mod p) can be held or calculated. Generating proof result information for storing and storing it in a storage unit;
A transmitting unit of the user device transmitting the certification result information to the blind signature generating device;
A receiving unit of the blind signature generating device receiving the certification result information;
A verification result verification unit of the blind signature generation device has a step of verifying the verification result information,
The process for the Y calculation unit of the blind signature generation apparatus to calculate Y is as follows:
It is executed only when the proof verification unit of the blind signature generation device determines that the proof result information is acceptable,
A blind signature generation / verification method characterized by the above.
請求項11に記載のブラインド署名生成・検証方法であって、
利用者装置の乱数生成部が、a,a,aを{0,1,...,p−1}からランダムに選択して記憶部に格納するステップと、
利用者装置のW計算部が、W=g a1・ψ(u)a2・ψ(v)a3(上付き添え字a1,a2,a3は、それぞれa,a,aを示す)を計算して記憶部に格納するステップと、
利用者装置の送信部が、Wをブラインド署名生成装置に送信するステップと、
ブラインド署名生成装置の受信部がWを受信するステップと、
Wが受信された後、ブラインド署名生成装置の乱数生成部が、ηを{0,1,...,p−1}からランダムに選択して記憶部に格納するステップと、
ブラインド署名生成装置の送信部が、ηを利用者装置に送信するステップと、
利用者装置の受信部が、ηを受信するステップと、を有し、
上記証明結果情報は、
=a+η・m・t mod p,z=a+η・t mod p,z=a+η・s・t mod pであり、
上記ブラインド署名生成装置の証明結果検証部は、
z1・ψ(u)z2・ψ(v)z3≡W・Xη(上付き添え字z1,z2,z3は、それぞれz,z,zを示す)が成り立つか否かにより、上記証明結果情報の検証を行う、
ことを特徴とするブラインド署名生成・検証方法。
The blind signature generation / verification method according to claim 11,
A step in which a random number generation unit of the user device randomly selects a 1 , a 2 , a 3 from {0, 1,..., P−1} and stores them in the storage unit;
The W calculation unit of the user apparatus W = g 1 a1 · ψ (u) a2 · ψ (v) a3 (superscripts a1, a2, and a3 indicate a 1 , a 2 , and a 3 , respectively) Calculating and storing in the storage unit;
A transmitting unit of the user device transmitting W to the blind signature generating device;
A receiving unit of the blind signature generation device receiving W;
After W is received, the random number generation unit of the blind signature generation device randomly selects η from {0, 1,..., P−1} and stores it in the storage unit;
A transmission unit of the blind signature generation device transmits η to the user device;
A receiving unit of the user device receives η, and
The above proof result information is
z 1 = a 1 + η · m · t mod p, z 2 = a 2 + η · t mod p, z 3 = a 3 + η · s · t mod p,
The proof result verification unit of the blind signature generation device
g 1 z1 · ψ (u) z2 · ψ (v) z3 ≡W · X η ( superscript z1, z2, z3 represents the z 1, z 2, z 3, respectively) depending on whether or not is satisfied , Verify the above proof result information,
A blind signature generation / verification method characterized by the above.
請求項10に記載のブラインド署名生成・検証方法であって、
上記写像ψはGからGへの同型写像である、
ことを特徴とするブラインド署名生成・検証方法。
The blind signature generation / verification method according to claim 10,
The map ψ is an isomorphic map from G 2 to G 1 .
A blind signature generation / verification method characterized by the above.
請求項10に記載のブラインド署名生成・検証方法であって、
ブラインド署名生成装置の受信部がXを受信するステップの後、ブラインド署名生成装置の送信部が少なくともYを利用者装置に送信するステップの前に、ブラインド署名生成装置の乱数生成部がr,Lを{0,1,...,p−1}からランダムに選択して記憶部に格納するステップと、R計算部がR=g を計算して記憶部に格納するステップとを有し、
ブラインド署名生成装置の送信部は、YとともにRとLをも利用者装置に送信し、
利用者装置の受信部は、YとともにRとLをも受信し、
利用者装置のα計算部は、受信されたRを用いてα=wf−1・Rを計算し、
利用者装置の受信部がYとともにRとLをも受信するステップの後、利用者装置の送信部が署名対象情報mとブラインド署名(σ,α,β)とをブラインド署名検証装置に送信するステップの前に、利用者装置のβ計算部がβ=s+L/t mod pを計算して記憶部に格納するステップをさらに有する、
ことを特徴とするブラインド署名生成・検証方法。
The blind signature generation / verification method according to claim 10,
After the step of receiving X by the receiving unit of the blind signature generating device, before the step of transmitting at least Y to the user device by the transmitting unit of the blind signature generating device, the random number generating unit of the blind signature generating device uses r, L Are randomly selected from {0, 1,..., P−1} and stored in the storage unit, and the R calculation unit calculates R = g 2 r and stores it in the storage unit. And
The transmission unit of the blind signature generation device transmits R and L together with Y to the user device,
The receiving unit of the user device receives R and L together with Y,
The α calculation unit of the user device calculates α = w f−1 · R f using the received R,
After the step in which the receiving unit of the user apparatus receives both R and L together with Y, the transmitting unit of the user apparatus transmits the signature object information m and the blind signature (σ, α, β) to the blind signature verification apparatus. Before the step, the β calculation unit of the user apparatus further includes a step of calculating β = s + L / t mod p and storing it in the storage unit.
A blind signature generation / verification method characterized by the above.
ブラインド署名生成装置であって、
秘密鍵生成部と、公開鍵生成部と、送信部と、受信部と、Y計算部とを有し、
上記秘密鍵生成部は、pを素数とした場合における、秘密鍵x∈{0,1,...,p−1}を生成し、
上記公開鍵生成部は、GとGを位数がpの巡回群とし、gをGの生成元とし、gをGの生成元とした場合における、公開鍵g,g,w=g ,u∈G,v∈Gを生成し、
上記受信部は、利用者装置から送信されたXを受信し、
上記Y計算部は、Y=(X・(ψ(v))1/(x+r)(r,L∈{0,1,...,p−1})を計算し、
上記送信部は、少なくともYを利用者装置に送信する、
ことを特徴とするブラインド署名生成装置。
A blind signature generator,
A secret key generation unit, a public key generation unit, a transmission unit, a reception unit, and a Y calculation unit;
The secret key generation unit generates a secret key xε {0, 1,..., P−1} where p is a prime number,
The public key generation unit, a cyclic group of number digit of G 1 and G 2 is p, the g 1 and a generator of G 1, in the case where the g 2 and a generator of G 2, the public key g 1, g 2, w = g 2 x , u∈G 2, to generate a v∈G 2,
The receiving unit receives X transmitted from the user device,
The Y calculation unit calculates Y = (X · (ψ (v)) L ) 1 / (x + r) (r, Lε {0, 1,..., P−1}),
The transmission unit transmits at least Y to the user device;
A blind signature generation apparatus characterized by the above.
利用者装置であって、
送信部と、受信部と、X計算部と、τ計算部と、σ計算部と、α計算部とを有し、
上記受信部は、少なくともブラインド署名生成装置から送信された公開鍵g,u,vを受信し、
上記X計算部は、ψをGからGへの写像ψ(g)=gとし、mを署名対象情報とした場合における、X=(g ・ψ(u)・ψ(v)(s,t∈{0,1,...,p−1})を計算し、
上記送信部は、Xをブラインド署名生成装置に送信し、
上記受信部は、少なくともブランド署名生成装置から送信されたYを受信し、
上記受信部は、ブラインド署名生成装置から送信された公開鍵wを受信し、
上記τ計算部は、τ=(f・t)−1 mod p(f∈{0,1,...,p−1})を計算し、
上記σ計算部は、σ=Yτを計算し、
上記α計算部は、α=wf−1・R(R=g ,r∈{0,1,...,p−1})を計算し、
上記送信部は、署名対象情報mと、ブラインド署名(σ,α,β)(β=s+L/t mod p)と、をブラインド署名検証装置に送信する、
ことを特徴とする利用者装置。
A user device,
A transmitter, a receiver, an X calculator, a τ calculator, a σ calculator, and an α calculator;
The reception unit receives at least the public keys g 1 , u, v transmitted from the blind signature generation device,
The X calculation unit X = (g 1 m · ψ (u) · ψ () when ψ is a mapping ψ (g 2 ) = g 1 from G 2 to G 1 and m is signature object information. v) Calculate s ) t (s, tε {0,1, ..., p-1})
The transmission unit transmits X to the blind signature generation device,
The receiving unit receives at least Y transmitted from the brand signature generation device,
The receiving unit receives the public key w transmitted from the blind signature generation device,
The τ calculation unit calculates τ = (f · t) −1 mod p (fε {0, 1,..., P−1}),
The σ calculation unit calculates σ = Y τ ,
The α calculation unit calculates α = w f−1 · R f (R = g 2 r , r∈ {0, 1,..., P−1}),
The transmission unit transmits the signature target information m and the blind signature (σ, α, β) (β = s + L / t mod p) to the blind signature verification device.
A user device characterized by that.
ブラインド署名生成装置と利用者装置とブラインド署名検証装置とからなるブラインド署名生成・検証システムであって、
上記ブラインド署名生成装置は、秘密鍵生成部と、公開鍵生成部と、送信部と、受信部と、Y計算部とを有し、
上記秘密鍵生成部は、pを素数とした場合における、秘密鍵x∈{0,1,...,p−1}を生成し、上記公開鍵生成部は、GとGを位数がpの巡回群とし、gをGの生成元とし、gをGの生成元とした場合における、公開鍵g,g,w=g ,u∈G,v∈Gを生成し、上記受信部は、利用者装置から送信されたXを受信し、上記Y計算部は、Y=(X・(ψ(v))1/(x+r)(r,L∈{0,1,...,p−1})を計算し、上記送信部は、少なくともYを利用者装置に送信し、
上記利用者装置は、送信部と、受信部と、X計算部と、τ計算部と、σ計算部と、α計算部とを有し、
上記受信部は、少なくともブラインド署名生成装置から送信された公開鍵g,u,vを受信し、上記X計算部は、ψをGからGへの写像ψ(g)=gとし、mを署名対象情報とした場合における、X=(g ・ψ(u)・ψ(v)(s,t∈{0,1,...,p−1})を計算し、上記送信部は、Xをブラインド署名生成装置に送信し、上記受信部は、少なくともブランド署名生成装置から送信されたYを受信し、上記受信部は、ブラインド署名生成装置から送信された公開鍵wを受信し、上記τ計算部は、τ=(f・t)−1mod p(f∈{0,1,...,p−1})を計算し、上記σ計算部は、σ=Yτを計算し、上記α計算部は、α=wf−1・R(R=g ,r∈{0,1,...,p−1})を計算し、上記送信部は、署名対象情報mと、ブラインド署名(σ,α,β)(β=s+L/t mod p)と、をブラインド署名検証装置に送信し、
上記ブラインド署名検証装置は、受信部と、署名検証部とを有し、
上記受信部は、署名対象情報mと上記ブラインド署名(σ,α,β)と、公開鍵g,g,w,u,vとを受信し、上記署名検証部は、eをG×G→Gの双線形写像とした場合における、σ≠1,α∈G,e(σ,w・α)=e(g,g ・u・vβ)が成立するか否かを検証する、
ことを特徴とするブラインド署名生成・検証システム。
A blind signature generation / verification system comprising a blind signature generation device, a user device, and a blind signature verification device,
The blind signature generation device includes a secret key generation unit, a public key generation unit, a transmission unit, a reception unit, and a Y calculation unit.
The secret key generation unit generates a secret key xε {0, 1,..., P−1} when p is a prime number, and the public key generation unit ranks G 1 and G 2 the number is a cyclic group of p, the g 1 and a generator of G 1, in the case where the g 2 and a generator of G 2, the public key g 1, g 2, w = g 2 x, u∈G 2, vεG 2 is generated, the reception unit receives X transmitted from the user device, and the Y calculation unit Y = (X · (ψ (v)) L ) 1 / (x + r) ( r, Lε {0, 1,..., p−1}), and the transmitting unit transmits at least Y to the user device,
The user device includes a transmission unit, a reception unit, an X calculation unit, a τ calculation unit, a σ calculation unit, and an α calculation unit,
The reception unit receives at least the public keys g 1 , u, v transmitted from the blind signature generation device, and the X calculation unit maps ψ from G 2 to G 1 ψ (g 2 ) = g 1 And X = (g 1 m · ψ (u) · ψ (v) s ) t (s, t∈ {0, 1,..., P−1}) where m is the signature object information. The transmitting unit transmits X to the blind signature generating device, the receiving unit receives at least Y transmitted from the brand signature generating device, and the receiving unit is transmitted from the blind signature generating device. The public key w is received, and the τ calculation unit calculates τ = (f · t) −1 mod p (fε {0, 1,..., P−1}), and the σ calculation unit. Calculates σ = Y τ , and the α calculation unit calculates α = w f−1 · R f (R = g 2 r , rε {0, 1,..., P−1}). And Serial transmission section transmits the signature target information m, blind signature (sigma, alpha, beta) and (β = s + L / t mod p), the blind signature verification device,
The blind signature verification apparatus includes a receiving unit and a signature verification unit,
The receiving unit receives the signature object information m, the blind signature (σ, α, β), and the public keys g 1 , g 2 , w, u, v, and the signature verification unit converts e into G 1 in case of a bilinear map × G 2 → G T, σ ≠ 1, α∈G 2, e (σ, w · α) = e (g 1, g 2 m · u · v β) is established Verify whether or not
This is a blind signature generation / verification system.
請求項6又は15に記載のブラインド署名生成装置としてコンピュータを機能させるためのブラインド署名生成プログラム。   A blind signature generation program for causing a computer to function as the blind signature generation device according to claim 6 or 15. 請求項7又は16に記載の利用者装置としてコンピュータを機能させるための利用者プログラム。   A user program for causing a computer to function as the user device according to claim 7. 請求項8に記載のブラインド署名検証装置としてコンピュータを機能させるためのブラインド署名検証プログラム。
A blind signature verification program for causing a computer to function as the blind signature verification apparatus according to claim 8.
JP2006054594A 2005-09-16 2006-03-01 Blind signature generation / verification method, blind signature generation apparatus, user apparatus, blind signature verification apparatus, blind signature generation / verification system, blind signature generation program, user program, blind signature verification program Expired - Fee Related JP4681474B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006054594A JP4681474B2 (en) 2005-09-16 2006-03-01 Blind signature generation / verification method, blind signature generation apparatus, user apparatus, blind signature verification apparatus, blind signature generation / verification system, blind signature generation program, user program, blind signature verification program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005269759 2005-09-16
JP2006054594A JP4681474B2 (en) 2005-09-16 2006-03-01 Blind signature generation / verification method, blind signature generation apparatus, user apparatus, blind signature verification apparatus, blind signature generation / verification system, blind signature generation program, user program, blind signature verification program

Publications (2)

Publication Number Publication Date
JP2007110668A JP2007110668A (en) 2007-04-26
JP4681474B2 true JP4681474B2 (en) 2011-05-11

Family

ID=38036136

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006054594A Expired - Fee Related JP4681474B2 (en) 2005-09-16 2006-03-01 Blind signature generation / verification method, blind signature generation apparatus, user apparatus, blind signature verification apparatus, blind signature generation / verification system, blind signature generation program, user program, blind signature verification program

Country Status (1)

Country Link
JP (1) JP4681474B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5314449B2 (en) * 2009-02-12 2013-10-16 日本電信電話株式会社 Electronic signature verification system, electronic signature device, verification device, electronic signature verification method, electronic signature method, verification method, electronic signature program, verification program
CN116527280A (en) * 2023-05-22 2023-08-01 山东浪潮科学研究院有限公司 Blind signature method based on homomorphic operation and RSA signature algorithm

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3691726B2 (en) * 2000-05-30 2005-09-07 日本電信電話株式会社 Partial blind signature scheme
KR20030008182A (en) * 2002-12-24 2003-01-24 학교법인 한국정보통신학원 Method of id-based blind signature by using bilinear parings

Also Published As

Publication number Publication date
JP2007110668A (en) 2007-04-26

Similar Documents

Publication Publication Date Title
US20230106151A1 (en) Multi-party threshold authenticated encryption
CN100583755C (en) Use of isogenies for design of cryptosystems
US11128462B2 (en) Matching system, method, apparatus, and program
JP4555859B2 (en) Authentication system, authentication method, certification device, verification device, program and recording medium thereof
JP5205398B2 (en) Key authentication method
US10374797B2 (en) Public-key encryption system
US8139766B2 (en) Pseudo public key encryption
US6122742A (en) Auto-recoverable and auto-certifiable cryptosystem with unescrowed signing keys
US20170272244A1 (en) Public-key encryption system
US8254569B2 (en) Provable data integrity verifying method, apparatuses and system
KR20000071078A (en) Cyclotomic polynomial construction of discrete logarithm cryptosystems over finite fields
CN109818752A (en) Credit score generation method, apparatus, computer equipment and storage medium
CN102449951B (en) For performing the method for cryptographic tasks in electronic building brick
CN105593918A (en) Secret parallel processing device, secret parallel processing method, and program
CN117118600A (en) An improved blockchain proxy re-encryption method and system based on lattice cryptography
JP2010166549A (en) Method and apparatus of generating finger print data
WO2014030706A1 (en) Encrypted database system, client device and server, method and program for adding encrypted data
JP4681474B2 (en) Blind signature generation / verification method, blind signature generation apparatus, user apparatus, blind signature verification apparatus, blind signature generation / verification system, blind signature generation program, user program, blind signature verification program
JP2013110628A (en) Key exchange system, key exchange device, key generation apparatus, key exchange method and key exchange program
US7373499B2 (en) Methods and apparatus for delegation of cryptographic servers for capture-resilient devices
JP4922139B2 (en) Key sharing method, first device, second device, and program thereof
JP5142361B2 (en) Validity verification device
JP4629889B2 (en) Verifiable encryption method, apparatus thereof, program thereof, and recording medium thereof
JP2009290698A (en) Blind signature device, partial blind signature device, receiver, system, method, and program
JP5912281B2 (en) Decryption result verification apparatus, method, system, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080128

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

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

LAPS Cancellation because of no payment of annual fees