JP5331028B2 - Signature / verification system, signature / verification method, signature device, verification device, program, recording medium - Google Patents
Signature / verification system, signature / verification method, signature device, verification device, program, recording medium Download PDFInfo
- Publication number
- JP5331028B2 JP5331028B2 JP2010035929A JP2010035929A JP5331028B2 JP 5331028 B2 JP5331028 B2 JP 5331028B2 JP 2010035929 A JP2010035929 A JP 2010035929A JP 2010035929 A JP2010035929 A JP 2010035929A JP 5331028 B2 JP5331028 B2 JP 5331028B2
- Authority
- JP
- Japan
- Prior art keywords
- signature
- key
- verification
- unit
- integer
- 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
Links
Images
Abstract
Description
本発明は、主に電気通信を介したメッセージの授受の際に用いる署名・検証システム、署名・検証方法、署名装置、検証装置、プログラム、記録媒体に関する。 The present invention relates to a signature / verification system, a signature / verification method, a signature device, a verification device, a program, and a recording medium, which are mainly used when sending and receiving messages via telecommunications.
デジタル署名はメッセージmに対して、公開鍵pkに対応する秘密鍵skを知る署名者が、メッセージmに対して秘密鍵skを正しく使ったときにのみ計算できる値sを算出し、これを電子的な署名として用いるものである。正しく計算された署名は誰でも公開鍵pkを用いてその正当性を検証でき、秘密鍵skを知らないいかなる第三者も正当な署名sを算出することはできない。 The digital signature calculates a value s that can be calculated only when the signer who knows the secret key sk corresponding to the public key pk correctly uses the secret key sk for the message m. It is used as a typical signature. A correct signature can be verified by anyone using the public key pk, and any third party who does not know the secret key sk cannot calculate the valid signature s.
デジタル署名は、電子現金やクレデンシャルシステムなど様々な暗号プロトコルにおいて基本的な構成要素として利用されている。特に、利用者のプライバシーを必要とする応用においては、ゼロ知識証明と組み合わせることにより署名sを明かさないまま、あるメッセージmに対する正しい署名sを保持しているという事実を任意の第三者に納得させるなど、高度な利用形態がしばしば見受けられる。 Digital signatures are used as basic components in various cryptographic protocols such as electronic cash and credential systems. In particular, in applications that require user privacy, it is possible to convince an arbitrary third party that the correct signature s for a message m is retained without revealing the signature s by combining with zero knowledge proof. Advanced usage forms are often seen.
近年のペアリング技術の進展によって、群の要素がある関係を満たすという事実を効率的に証明するゼロ知識証明が構成可能になった(非特許文献1)。これによって、署名sが効率的なペアリングを持つ群Gの要素である場合、即ちs∈Gである場合、前述のように署名sを明かさないまま、正しい署名sを保持しているという事実を証明することが可能である。例えば、非特許文献2に示されている、いわゆるCL-Signatureと呼ばれる方法では、メッセージm∈Zqに対する署名sは3つの群要素(a,b,c)∈G3から構成されている。 Recent progress in pairing technology has made it possible to construct zero-knowledge proof that efficiently proves the fact that groups of elements satisfy a certain relationship (Non-Patent Document 1). Thus, if the signature s is an element of the group G with efficient pairing, that is, if sεG, the fact that the correct signature s is retained without revealing the signature s as described above It is possible to prove For example, disclosed in Non-Patent Document 2, in the method of so-called CL-Signature, the signature s to the message M∈Z q is composed of three groups elements (a, b, c) ∈G 3.
しかしながら、CL-signatureのように、ランダムオラクル等の(実現不可能と知られている)理想化された構成要素を用いず、数論的な仮定のみによって安全性が証明できる既存の署名方法では、メッセージmが群Gの要素ではない。そのため、メッセージを秘匿した状態で、その秘匿したメッセージに対する正しい署名を保持していることを証明するという応用には供さない。メッセージが群Gの要素である場合にも安全な署名方法として、上記のCL-Signatureを改良した方式が非特許文献3に示されており、ランダムメッセージ攻撃に対して安全であることが示されているが、より強い選択メッセージ攻撃に対する安全性は不明である。 However, with CL-signature, an existing signature method that can prove its security only by number-theoretic assumptions without using idealized components (known as impossible) such as random oracles. , Message m is not an element of group G. Therefore, it is not used for the application of proving that the correct signature is retained for the concealed message in a state where the message is concealed. As a secure signature method even when a message is a group G element, Non-Patent Document 3 shows a method improved from the above-mentioned CL-Signature, which shows that it is safe against random message attacks. However, the security against stronger selective message attacks is unclear.
メッセージが群要素であって、選択メッセージ攻撃に強いことが証明されている方法として、非特許文献4に示された方法がある。この方法を以下に説明する。図1は署名・検証システムの構成例を示す図であり、図2は署名装置の処理フローを示す図、図3は検証装置の処理フローを示す図である。署名・検証システムは、ネットワーク800に接続された署名装置700と検証装置900で構成される。
As a method in which the message is a group element and proved to be strong against the selective message attack, there is a method shown in Non-Patent Document 4. This method will be described below. FIG. 1 is a diagram showing a configuration example of a signature / verification system, FIG. 2 is a diagram showing a processing flow of the signature device, and FIG. 3 is a diagram showing a processing flow of the verification device. The signature / verification system includes a
v=(q,G,GT,e,g)を公開パラメータとする。qは大きな素数、G,GTは位数qの群、eはG×G→GTの効率的な計算が可能なペアリング、gを群Gの任意の生成元、F,H,K,Tを群Gの生成元とする。また、メッセージは群要素の対(M,N)∈G2であって、e(M,H)=e(g,N)を満たすものに限られているとする。 Let v = (q, G, G T , e, g) be a public parameter. q is large prime numbers, G, G T is a group of order q, e is G × G → G T efficient calculations can pairing, g any generator of the group G, F, H, K , T is a generator of group G. Further, it is assumed that the message is limited to a group element pair (M, N) εG 2 and satisfying e (M, H) = e (g, N).
署名装置700は、1以上q−1以下のランダムな整数xを生成する(S710)。そして、X=xg、Y=xHを計算し(S720)、(v,xg,xH)を公開鍵pkとし、xを秘密鍵skとする(S730)。
The
署名装置700は、1以上q−1以下の乱数c,rを生成し(S750)、
The
a2=cg
a3=cF
a4=rg
a5=rH
を計算する(S760)。そして、5つの組(a1,a2,a3,a4,a5)∈G5を署名σとする(S770)。
a 2 = cg
a 3 = cF
a 4 = rg
a 5 = rH
Is calculated (S760). Then, the five sets (a 1 , a 2 , a 3 , a 4 , a 5 ) εG 5 are set as a signature σ (S770).
検証装置900は、ネットワーク800を介して署名σを受け取る(S910)。そして、メッセージ対(M,N)と署名σに対して、
e(a1,X+a2)=e(K+M,g)e(T,a4)であること、
e(a2,F)=e(g,a3)であること、
e(a4,H)=e(g,a5)であること、
e(M,H)=e(g,N)であること、
e(X,H)=e(g,Y)であること
を確認する(S920)。そして、すべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する(S930)。
The
e (a 1 , X + a 2 ) = e (K + M, g) e (T, a 4 )
e (a 2 , F) = e (g, a 3 )
e (a 4 , H) = e (g, a 5 )
e (M, H) = e (g, N)
It is confirmed that e (X, H) = e (g, Y) (S920). If it is confirmed that all the conditions are satisfied, information indicating that the signature is correct is output, and if it is determined that any of the conditions is not satisfied, information indicating that the signature is incorrect is output (S930). .
しかしながら、従来技術は署名・検証システムでは、署名が群Gの5つの要素からなり、また、検証においては5つのペアリングの等式を確認するため、効率が悪いという課題がある。また、メッセージは群要素の対(M,N)∈G2であって、e(M,H)=e(g,N)を満たさなければならないという制約がある。 However, in the conventional technique, the signature / verification system has a problem that the signature is composed of five elements of the group G, and the verification is performed because five pairing equations are confirmed. In addition, the message is a group element pair (M, N) ∈ G 2 , and there is a restriction that e (M, H) = e (g, N) must be satisfied.
そこで、本発明では、署名長が短く、署名生成と署名検証の計算量がより少な署名方法を提供することを目的とする。 Therefore, an object of the present invention is to provide a signature method that has a short signature length and a smaller amount of calculation for signature generation and signature verification.
本発明の署名・検証システムは、群要素の複数メッセージに対して署名生成と署名検証を行う。まず、G1、G2をG1からG2への写像が困難な位数pの群、GTを位数pの群、eをG1×G2→GTの双線形写像、Kを2以上の整数、^をべき乗を示す記号とする。本発明の署名・検証システムは、署名装置と検証装置で構成される。署名装置は、署名記録部、コミットメント群要素選択部、コミットメント乱数生成部、コミットメント計算部、CRS生成部、鍵乱数生成部、鍵計算部、鍵群要素選択部、鍵ランダマイズ部、鍵生成部、メッセージ取得部、署名乱数生成部、署名計算部、署名ランダマイズ部、署名出力部を備える。検証装置は、検証入力部、検証確認部、検証出力部を備える。署名記録部は、p,G1,G2,GT,eを記録する。コミットメント群要素選択部は、群G2の生成元g0,h0をランダムに選択する。コミットメント乱数生成部は、1以上p−1以下のランダムな整数x1,…,xKと整数y1,…,yKを生成する。コミットメント計算部は、
k=1,…,Kに対して、
gk=g0^xk、
hk=h0^yk、
を計算する。CRS生成部は、(p,G1,G2,GT,e,g0,h0,…,gK,hK)をCRS(Common Reference String)として設定し、(x1,y1,…,xK,yK)をトラップドアτとする。鍵乱数生成部は、1以上p−1以下のランダムな整数αz,βzと、ランダムな整数α0,…,αKと整数β0,…,βKを生成する。鍵計算部は、
gz=g0^αz、
hz=g0^βz、
を計算する。鍵群要素選択部は、群G2の生成元gsをランダムに選択する。鍵ランダマイズ部は、
The signature / verification system of the present invention performs signature generation and signature verification for a plurality of messages of group elements. First, G 1, G 2 a mapping is difficult order p groups from G 1 to G 2, bilinear mapping of a group of order p of G T, the e G 1 × G 2 → G T, K Is an integer of 2 or more, and ^ is a symbol indicating a power. The signature / verification system of the present invention includes a signature device and a verification device. The signature device includes a signature recording unit, a commitment group element selection unit, a commitment random number generation unit, a commitment calculation unit, a CRS generation unit, a key random number generation unit, a key calculation unit, a key group element selection unit, a key randomization unit, a key generation unit, A message acquisition unit, a signature random number generation unit, a signature calculation unit, a signature randomization unit, and a signature output unit are provided. The verification apparatus includes a verification input unit, a verification confirmation unit, and a verification output unit. The signature recording unit records p, G 1 , G 2 , G T , and e. The commitment group element selection unit randomly selects the generation sources g 0 and h 0 of the group G 2 . Commitment random number generator, a random integer x 1 of 1 or more p-1 or less, ..., x K and integer y 1, ..., and generates a y K. The commitment calculator
For k = 1, ..., K,
g k = g 0 ^ x k ,
h k = h 0 ^ y k ,
Calculate The CRS generator sets ( p 1 , G 1 , G 2 , G T , e, g 0 , h 0 ,..., G K , h K ) as a CRS (Common Reference String), and (x 1 , y 1 ,..., X K , y K ) are trap doors τ. The key random number generation unit, one or more p-1 or less random integer alpha z, and beta z, random integer α 0, ..., α K and integer beta 0, ..., to produce a beta K. The key calculator is
g z = g 0 ^ α z ,
h z = g 0 ^ β z ,
Calculate Key group element selection unit selects the origin g s of the group G 2 at random. The key randomization department
となる(gk,gs^αk)以外の組合せ(a1k,a2k)と、(hk,gs^βk)以外の組合せ(b1k,b2k)を求める。鍵生成部は、(gs,αz,βz,α0,β0,…,αK,βK)を秘密鍵skとし、(gz,hz,{a10,a20,b10,b20},…,{a1K,a2K,b1K,b2K})を検証鍵vkとし、当該検証鍵vkを公開する。メッセージ取得部は、群G2上の1以外の元であるメッセージm1,…,mKを受け取る。署名乱数生成部は、1以上p−1以下のランダムな整数ζ,η1,…,ηK,ξ1,…,ξKを生成する。署名計算部は、 A combination (a 1k , a 2k ) other than (g k , g s ^ α k ) and a combination (b 1k , b 2k ) other than (h k , g s ^ β k ) are obtained. Key generating unit, (g s, α z, β z, α 0, β 0, ..., α K, β K) was used as a secret key sk, (g z, h z , {a 10, a 20, b 10 , b 20 },..., {A 1K , a 2K , b 1K , b 2K }) are used as verification keys vk, and the verification keys vk are disclosed. The message acquisition unit receives messages m 1 ,..., M K that are elements other than 1 on the group G 2 . Signature random number generation unit, one or more p-1 or less random integer ζ, η 1, ..., η K, ξ 1, ..., to generate the xi] K. The signature calculator is
を計算する。署名ランダマイズ部は、 Calculate The signature randomization department
となる(r’k,s’k)以外の組合せ(rk,sk)と、(u’k,v’k)以外の組合せ(uk,vk)を求める。署名出力部は、(z,t,w,{r1,s1,u1,v1},…,{rK,sK,uK,vK})を署名σとして出力する。検証装置の検証入力部は、メッセージm1,…,mKと署名σとを受信する。検証確認部は、 Become (r 'k, s' k ) except combinations (r k, s k) and obtains the (u 'k, v' k ) except combinations (u k, v k). The signature output unit outputs (z, t, w, {r 1 , s 1 , u 1 , v 1 },..., {R K , s K , u K , v K }) as a signature σ. The verification input unit of the verification device receives the messages m 1 ,..., M K and the signature σ. The verification confirmation part
で得られるA,Bに対して、 For A and B obtained by
であることを確認する。検証出力部は、検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する。 Make sure that The verification output unit outputs information indicating that the signature is correct when the verification confirmation unit confirms that all conditions are satisfied, and indicates that the signature is incorrect when it is confirmed that any of the conditions is not satisfied. Output information.
本発明の署名・検証システムは、異なる群(G1,G2)からなる双線形写像を利用し、群G1から群G2への写像が困難であることを仮定し、異なる生成元の指数部を求めることが難しい性質を利用し、2つの異なる群上でのメッセージを署名のアウトプットとしている。 The signature / verification system of the present invention uses a bilinear mapping composed of different groups (G 1 , G 2 ), assumes that it is difficult to map from the group G 1 to the group G 2 , and uses different generation sources. Using the property that it is difficult to find the exponent part, messages on two different groups are used as signature output.
したがって、本発明の署名・検証システムによれば、群要素の複数メッセージに対して、ここに署名を生成するよりも、署名長を短くでき、署名生成と署名検証に必要な計算量を少なくできる。 Therefore, according to the signature / verification system of the present invention, the signature length can be shortened and the amount of calculation required for signature generation and signature verification can be reduced compared to the case where signatures are generated for a plurality of group element messages. .
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。 Hereinafter, embodiments of the present invention will be described in detail. In addition, the same number is attached | subjected to the structure part which has the same function, and duplication description is abbreviate | omitted.
図4に実施例1の署名・検証システムの機能構成例を、図5に実施例1の署名装置の処理フローを、図6に実施例1の検証装置の処理フローを示す。この署名・検証システムは、ネットワーク800で接続された署名装置100と検証装置200で構成され、群要素の複数メッセージに対して署名生成と署名検証を行う。なお、署名装置100で生成された署名を、記録媒体で検証装置200に渡す場合には署名装置100と検証装置200はネットワーク800で接続されている必要はない。
FIG. 4 shows a functional configuration example of the signature / verification system of the first embodiment, FIG. 5 shows a processing flow of the signature apparatus of the first embodiment, and FIG. 6 shows a processing flow of the verification apparatus of the first embodiment. This signature / verification system includes a signature device 100 and a verification device 200 connected by a
G1、G2をG1からG2への写像が困難な位数pの群、GTを位数pの群、eをG1×G2→GTの双線形写像、Kを2以上の整数、^をべき乗を示す記号とする。署名装置100は、コミットメント群要素選択部110、コミットメント乱数生成部115、コミットメント計算部120、CRS生成部125、鍵乱数生成部130、鍵計算部135、鍵群要素選択部140、鍵ランダマイズ部145、鍵生成部150、メッセージ取得部155、署名乱数生成部160、署名計算部165、署名ランダマイズ部170、署名出力部175、署名記録部190を備える。検証装置200は、検証入力部210、検証確認部220、検証出力部230を備える。
G 1, G 2 a mapping is difficult order p groups from G 1 to G 2, a group of order p of G T, bilinear mapping of e G 1 × G 2 → G T, the K 2 The above integers and ^ are symbols indicating powers. The signature device 100 includes a commitment group
署名記録部190は、あらかじめp,G1,G2,GT,eを記録しておく。コミットメント群要素選択部110は、群G2の生成元g0,h0をランダムに選択する(S110)。コミットメント乱数生成部115は、1以上p−1以下のランダムな整数x1,…,xKと整数y1,…,yKを生成する(S115)。コミットメント計算部120は、
k=1,…,Kに対して、
gk=g0^xk、
hk=h0^yk、
を計算する(S120)。CRS生成部125は、コミットメント鍵ck(p,G1,G2,GT,e,g0,h0,…,gK,hK)をCRS(Common Reference String)として設定し、(x1,y1,…,xK,yK)をトラップドアτとする(S125)。鍵乱数生成部130は、1以上p−1以下のランダムな整数αz,βzと、ランダムな整数α0,…,αKと整数β0,…,βKを生成する(S130)。
The
For k = 1, ..., K,
g k = g 0 ^ x k ,
h k = h 0 ^ y k ,
Is calculated (S120). The
鍵計算部135は、
gz=g0^αz、
hz=g0^βz、
を計算する(S135)。鍵群要素選択部140は、群G2の生成元gsをランダムに選択する(S140)。鍵ランダマイズ部145は、
The
g z = g 0 ^ α z ,
h z = g 0 ^ β z ,
Is calculated (S135). The key group
となる(gk,gs^αk)以外の組合せ(a1k,a2k)と、(hk,gs^βk)以外の組合せ(b1k,b2k)を求める(S145)。鍵生成部150は、(gs,αz,βz,α0,β0,…,αK,βK)を秘密鍵skとし、(gz,hz,{a10,a20,b10,b20},…,{a1K,a2K,b1K,b2K})を検証鍵vkとし、当該検証鍵vkを公開する(S150)。
A combination (a 1k , a 2k ) other than (g k , g s ^ α k ) and a combination (b 1k , b 2k ) other than (h k , g s ^ β k ) are obtained (S145). The
メッセージ取得部155は、群G2上の1以外の元であるメッセージm1,…,mKを受け取る(S155)。なお、「メッセージm1,…,mKを受け取る」とは、何らかの方法でメッセージm1,…,mKが利用できる状態になることであり、外部から入力されたメッセージm1,…,mKを受信することや、署名記録部190などにあらかじめ記録しておいたメッセージm1,…,mKを読み出すことなどを含む意味である。署名乱数生成部160は、1以上p−1以下のランダムな整数ζ,η1,…,ηK,ξ1,…,ξKを生成する(S160)。署名計算部165は、
The
を計算する(S165)。署名ランダマイズ部170は、
Is calculated (S165). The
となる(r’k,s’k)以外の組合せ(rk,sk)と、(u’k,v’k)以外の組合せ(uk,vk)を求める(S170)。署名出力部175は、(z,t,w,{r1,s1,u1,v1},…,{rK,sK,uK,vK})を署名σとして出力する(S175)。
Become (r 'k, s' k ) except combinations (r k, s k) and obtains the (u 'k, v' k ) except combinations (u k, v k) ( S170). The
ここで、鍵ランダマイズ部145と署名ランダマイズ部170の具体例について説明する。ここでは、入力される数値の組合せを(x1,y1),(x2,y2),…,(xK,yK)、出力される数値の組合せを(x’1,y’1),(x’2,y’2),…,(x’K,y’K)とする。つまり、この説明では、鍵ランダマイズ部145と署名ランダマイズ部170は、e(x1,y1)e(x2,y2)…e(xK,yK)=e(x’1,y’1)e(x’2,y’2)…e(x’K,y’K)となる(xk,yk)以外の組合せ(x’k,y’k)を求める。なお、この具体例ではy’1=y1,x’K=xKである。鍵ランダマイズ部145と署名ランダマイズ部170は、ランダマイズ乱数生成手段146,171とランダマイズ実行手段147,172とを備える。ランダマイズ乱数生成手段146,171は、1以上p−1以下のランダムな整数γ1,…,γK−1を生成する(S146,S171)。ランダマイズ実行手段147,172は、以下のような処理をk=1からk=K−1まで順番に行う。
Here, specific examples of the key randomizing unit 145 and the
(1)y’k≠1,xk+1≠1であることを確認する。y’k=1の場合は、(xk,y’k)を入れ替える処理などによって、処理後のy’kの値を1以外にする。また、xk+1=1の場合も、(xk+1,yk+1)を入れ替える処理などによって、処理後のxk+1の値を1以外にする。 (1) Confirm that y ′ k ≠ 1, x k + 1 ≠ 1. When y ′ k = 1, the value of y ′ k after processing is set to a value other than 1, for example, by replacing (x k , y ′ k ). Also in the case of x k + 1 = 1, the value of x k + 1 after processing is set to a value other than 1 by a process of exchanging (x k + 1 , y k + 1 ).
(2)e(xk,y’k)とe(xk+1,yk+1)の間にe(xk+1^−γk,y’k)e(xk+1,y’k^γk)を挿入することで、
e(x’1,y’1)…e(xk,y’k)e(xk+1,yk+1)…e(xK,yK)を、
e(x’1,y’1)…e(xkxk+1^−γk,y’k)e(xk+1,(y’k^γk)yk+1)…e(xK,yK)のように変換し、変換後を
e(x’1,y’1)…e(x’k,y’k)e(xk+1,y’k+1)…e(xK,yK)
とする。
(2) e (x k + 1 ^ −γ k , y ′ k ) e (x k + 1 , y ′ k ^ γ k ) between e (x k , y ′ k ) and e (x k + 1 , y k + 1 ) By inserting
e (x ′ 1 , y ′ 1 )... e (x k , y ′ k ) e (x k + 1 , y k + 1 )... e (x K , y K )
e (x '1, y' 1) ... e (x k x k + 1 ^ -γ k, y 'k) e (x k + 1, (y' k ^ γ k) y k + 1) ... e (x K, y K ), And e (x ′ 1 , y ′ 1 )... E (x ′ k , y ′ k ) e (x k + 1 , y ′ k + 1 )... E (x K , y K )
And
このような処理によって、(x1,y1),(x2,y2),…,(xK,yK)を(x’1,y’1),(x’2,y’2),…,(x’K,y’K)にランダマイズする。なお、ランダマイズとは、演算結果が同一になるような別の数値の組合せに書き換えることである。ランダマイズ乱数生成手段146,171が整数γ1,…,γK−1を偏りがないようにランダムに生成(uniformに選択)することによって、ペアリングe(x’k,y’k)も群GT上にuniformに分布させることができる。 By such processing, (x 1 , y 1 ), (x 2 , y 2 ),..., (X K , y K ) are changed to (x ′ 1 , y ′ 1 ), (x ′ 2 , y ′ 2). ),..., (X ′ K , y ′ K ). Note that randomization is rewriting to a combination of different numerical values so that the calculation results are the same. Randomized random number generation means 146, 171 randomly generates integers γ 1 ,..., Γ K−1 so as not to be biased (selected as uniform), so that pairing e (x ′ k , y ′ k ) is also a group. it can be distributed uniform over the G T.
次に、検証装置200について説明する。検証入力部210は、メッセージm1,…,mKと署名σとを取得する(S210)。例えば、図4のようにネットワーク800に接続されている場合であれば、検証入力部210は、メッセージm1,…,mKと署名σとを受信する。ネットワークに接続されていない場合であれば、メッセージm1,…,mKと署名σとを記録媒体から受け取る。検証確認部220は、
Next, the verification apparatus 200 will be described. The
で得られる値A,Bに対して、 For values A and B obtained by
であることを確認する(S220)。なお、式(1)の計算は、検証確認部220がステップS220の中で計算してもよいし、あらかじめ検証鍵vkの要素を利用して計算しておいてもよい。もしくは、鍵生成部150がステップS150の中で式(1)を用いて値A,Bを求め、検証鍵vkの一部として値A,Bを公開してもよい。検証出力部230は、検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する(S230)。例えば、署名が正しいことを示す情報として“1”を出力し、署名が正しくないことを示す情報として“0”を出力すればよい。
(S220). The calculation of Expression (1) may be calculated by the
実施例1の署名・検証システムは、異なる群(G1,G2)からなる双線形写像を利用し、群G1から群G2への写像が困難であることを仮定し、異なる生成元の指数部を求めることが難しい性質を利用し、2つの異なる群上でのメッセージを署名のアウトプットとしている。したがって、実施例1の署名・検証システムによれば、群要素の複数メッセージに対して、ここに署名を生成するよりも、署名長を短くでき、署名生成と署名検証に必要な計算量を少なくできる。 The signature / verification system of the first embodiment uses a bilinear map composed of different groups (G 1 , G 2 ), assumes that it is difficult to map from the group G 1 to the group G 2, and generates different sources. Taking advantage of the fact that it is difficult to determine the exponent part of the message, messages on two different groups are used as signature output. Therefore, according to the signature / verification system of the first embodiment, the signature length can be shortened and the amount of calculation required for signature generation and signature verification can be reduced as compared with the case where signatures are generated for a plurality of group element messages. it can.
シミュレーション
鍵生成部150が、K個の“1”からなるデフォルトのメッセージm={1,1,…,1}に対する参照署名σ0を検証鍵vkに含めておく。そして、検証鍵vkから参照署名σ0を引き出し、(z,t,w,{r1,s1,u1,v1},…,{rK,sK,uK,vK})のそれぞれの値とする。そして、
The simulation
を計算し、(z,t’,w’,{r1,s1,u1,v1},…,{rK,sK,uK,vK})をメッセージm1,…,mKの署名σとして出力する。 And (z, t ′, w ′, {r 1 , s 1 , u 1 , v 1 },..., {R K , s K , u K , v K }) are converted into messages m 1 ,. and outputs as the signature σ for m K.
このように、本発明の署名・検証システムであれば、より高い安全性証明を行う際に必要となる“シミュレーション”の実行も可能になるという効果が得られる。 As described above, the signature / verification system according to the present invention provides an effect that it is possible to execute a “simulation” necessary for performing higher security certification.
[変形例1]
本変形例では、署名装置の処理を軽減する変更を行う。図4、5を参照して変更点についてのみ説明する。署名装置100’は、鍵乱数生成部130’、鍵ランダマイズ部145’、鍵生成部150’が実施例1の署名装置100と異なる。
[Modification 1]
In this modification, a change is made to reduce the processing of the signature device. Only the changes will be described with reference to FIGS. The signature device 100 ′ is different from the signature device 100 of the first embodiment in a key random
鍵乱数生成部130’は、ランダムな整数α0,…,αKと整数β0,…,βKを生成する代わりに、ランダムな整数α1,β1と、αk=βk=0(k=0,2,…,K)を生成する(S130’)。鍵ランダマイズ部145’は、
Instead of generating random integers α 0 ,..., Α K and integers β 0 ,..., Β K , the key
となる(a10,a20),…,(a1K,a2K)と(b10,b20),…,(b1K,b2K)を求める(S145’)。鍵生成部150’は、秘密鍵skを(gs,αz,βz,α1,β1)とする(S150’)。その他の構成部と処理フローは実施例1と同じである。 Become (a 10, a 20), ..., (a 1K, a 2K) and (b 10, b 20), ..., (b 1K, b 2K) Request (S145 '). The key generation unit 150 ', a secret key sk (g s, α z, β z, α 1, β 1) to (S150'). Other components and processing flow are the same as those in the first embodiment.
本変形例の署名装置では、αk=βk=0(k=0,2,…,K)としたことによって、計算量を減らすことができる。したがって、本変形例の署名・検証システムも実施例1と同様の効果が得られ、かつ署名装置の処理を軽減できる。 In the signature device of this modification, the amount of calculation can be reduced by setting α k = β k = 0 (k = 0, 2,..., K). Therefore, the signature / verification system of the present modification can achieve the same effects as those of the first embodiment and can reduce the processing of the signature device.
[変形例2]
変形例1は、ランダムな整数α0,…,αKと整数β0,…,βKの中のα1,β1を0以外としたが、他の整数を0以外としてもよい。本変形例では、αj,βjを0以外とし、αk=βk=0(k=0,…,K ただし、k≠j)とする。図4、5を参照して変更点についてのみ説明する。署名装置100”は、鍵乱数生成部130”、鍵ランダマイズ部145”、鍵生成部150”が実施例1の署名装置100と異なる。
[Modification 2]
In the first modification, α 1 and β 1 in random integers α 0 ,..., Α K and integers β 0 ,..., Β K are set to other than 0, but other integers may be set to other than 0. In this modification, α j and β j are other than 0, and α k = β k = 0 (k = 0,..., K, where k ≠ j). Only the changes will be described with reference to FIGS. The signature device 100 ″ is different from the signature device 100 of the first embodiment in a key random
鍵乱数生成部130”は、ランダムな整数α0,…,αKと整数β0,…,βKを生成する代わりに、ランダムな整数αj,βjと、αk=βk=0(k=0,…,K ただし、k≠j)を生成する(S130”)。鍵ランダマイズ部145”は、
Instead of generating random integers α 0 ,..., Α K and integers β 0 ,..., Β K , the key
となる(a10,a20),…,(a1K,a2K)と(b10,b20),…,(b1K,b2K)を求める(S145”)。鍵生成部150”は、秘密鍵skを(gs,αz,βz,αj,βj)とする(S150”)。その他の構成部と処理フローは実施例1と同じである。
Become (a 10, a 20), ..., (a 1K, a 2K) and (b 10, b 20), ..., (b 1K, b 2K) Request (S145 "). The
本変形例の署名装置では、αk=βk=0(k=0,…,K ただし、k≠j)としたことによって、計算量を減らすことができる。したがって、本変形例の署名・検証システムも実施例1と同様の効果が得られ、かつ署名装置の処理を軽減できる。 In the signature device of this modification, the amount of calculation can be reduced by setting α k = β k = 0 (k = 0,..., K, k ≠ j). Therefore, the signature / verification system of the present modification can achieve the same effects as those of the first embodiment and can reduce the processing of the signature device.
図7に実施例2の署名・検証システムの機能構成例を、図8に実施例2の署名装置の処理フローを、図6に実施例2の検証装置の処理フローを示す。この署名・検証システムは、ネットワーク800で接続された署名装置300と検証装置400で構成され、群要素の複数メッセージに対して署名生成と署名検証を行う。なお、署名装置300で生成された署名を、記録媒体で検証装置400に渡す場合には署名装置300と検証装置400はネットワーク800で接続されている必要はない。
FIG. 7 shows a functional configuration example of the signature / verification system of the second embodiment, FIG. 8 shows a processing flow of the signature apparatus of the second embodiment, and FIG. 6 shows a processing flow of the verification apparatus of the second embodiment. This signature / verification system includes a signature device 300 and a verification device 400 connected via a
G1、G2をG1からG2への写像が困難な位数pの群、GTを位数pの群、eをG1×G2→GTの双線形写像、Kを2以上の整数、^をべき乗を示す記号とする。署名装置300は、コミットメント群要素選択部110、コミットメント乱数生成部115、コミットメント計算部120、鍵乱数生成部330、鍵計算部135、鍵群要素選択部140、鍵ランダマイズ部345、鍵生成部350、メッセージ取得部155、署名乱数生成部360、署名計算部365、署名出力部375、署名記録部390を備える。検証装置400は、検証入力部410、検証確認部420、検証出力部230を備える。
G 1, G 2 a mapping is difficult order p groups from G 1 to G 2, a group of order p of G T, bilinear mapping of e G 1 × G 2 → G T, the K 2 The above integers and ^ are symbols indicating powers. The signature device 300 includes a commitment group
署名記録部390は、あらかじめp,G1,G2,GT,eを記録しておく。コミットメント群要素選択部110は、群G2の生成元g0,h0をランダムに選択する(S110)。コミットメント乱数生成部115は、1以上p−1以下のランダムな整数x1,…,xKと整数y1,…,yKを生成する(S115)。コミットメント計算部120は、
k=1,…,Kに対して、
gk=g0^xk、
hk=h0^yk、
を計算する(S120)。鍵乱数生成部330は、
1以上p−1以下のランダムな整数αz,βzと、ランダムな整数α1,β1を生成する(S330)。鍵計算部135は、
gz=g0^αz、
hz=g0^βz、
を計算する(S135)。鍵群要素選択部140は、群G2の生成元gsをランダムに選択する(S135)。鍵ランダマイズ部は345、
e(gk,gs^αk)=e(a10,a20)e(a11,a21)
e(hk,gs^βk)=e(b10,b20)e(b11,b21)
となる(a10,a20),(a11,a21)と、(b10,b20),(b11,b21)を求める(S345)。鍵生成部350は、(gz,hz,{g0,h0},…,{gK,hK},{a10,a20,b10,b20},{a11,a21,b11,b21})を検証鍵vkとし、(vk,gs,αz,βz,α1,β1)を秘密鍵skとし、検証鍵vkを公開する(S350)。
The
For k = 1, ..., K,
g k = g 0 ^ x k ,
h k = h 0 ^ y k ,
Is calculated (S120). The key
Random integers α z and β z of 1 or more and p−1 or less and random integers α 1 and β 1 are generated (S330). The
g z = g 0 ^ α z ,
h z = g 0 ^ β z ,
Is calculated (S135). The key group
e (g k , g s ^ α k ) = e (a 10 , a 20 ) e (a 11 , a 21 )
e (h k , g s ^ β k ) = e (b 10 , b 20 ) e (b 11 , b 21 )
(A 10 , a 20 ), (a 11 , a 21 ) and (b 10 , b 20 ), (b 11 , b 21 ) are obtained (S345). The
メッセージ取得部155は、群G2上の1以外の元であるメッセージm1,…,mKを受け取る(S155)。なお、「メッセージm1,…,mKを受け取る」とは、何らかの方法でメッセージm1,…,mKが利用できる状態になることであり、外部から入力されたメッセージm1,…,mKを受信することや、署名記録部390などにあらかじめ記録しておいたメッセージm1,…,mKを読み出すことなどを含む意味である。署名乱数生成部360は、1以上p−1以下のランダムな整数ζ,η,ξ,ρ,δを生成する(S360)。署名計算部365は、
The
を計算する(S365)。署名出力部375は、(z,t,w,r,s,u,v)を署名σとして出力する。
Is calculated (S365). The
次に、検証装置400の処理について説明する。検証入力部410は、メッセージm1,…,mKと署名σとを取得する(S410)。検証確認部420は、
Next, processing of the verification apparatus 400 will be described. The
であることを確認する(S420)。検証出力部230は、検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する。例えば、署名が正しいことを示す情報として“1”を出力し、署名が正しくないことを示す情報として“0”を出力すればよい。
(S420). The
実施例2の署名・検証システムも、異なる群(G1,G2)からなる双線形写像を利用し、群G1から群G2への写像が困難であることを仮定し、異なる生成元の指数部を求めることが難しい性質を利用し、2つの異なる群上でのメッセージを署名のアウトプットとしている。したがって、実施例2の署名・検証システムによれば、群要素の複数メッセージに対して、ここに署名を生成するよりも、署名長を短くでき、署名生成と署名検証に必要な計算量を少なくできる。 The signature / verification system of the second embodiment also uses a bilinear map composed of different groups (G 1 , G 2 ), assumes that mapping from the group G 1 to the group G 2 is difficult, and generates different sources. Taking advantage of the fact that it is difficult to determine the exponent part of the message, messages on two different groups are used as signature output. Therefore, according to the signature / verification system of the second embodiment, the signature length can be shortened and the amount of calculation required for signature generation and signature verification can be reduced compared to the case where signatures are generated for a plurality of group element messages. it can.
プログラム、記録媒体
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
Program, Recording Medium When the above-described configuration is realized by a computer, the processing contents of functions that each device should have are described by the program. The processing functions are realized on the computer by executing the program on the computer.
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。 The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。 A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 In this embodiment, 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.
本発明は、電子データの正当性を証明するために利用することができる。 The present invention can be used to prove the validity of electronic data.
100、100’、100”、300、700 署名装置
110 コミットメント群要素選択部
115 コミットメント乱数生成部
120 コミットメント計算部 125 CRS生成部
130、130’、130”、330 鍵乱数生成部
135 鍵計算部 140 鍵群要素選択部
145、145’、145”、345 鍵ランダマイズ部
146,171 ランダマイズ乱数生成手段
147,172 ランダマイズ実行手段
150、150’、150”、350 鍵生成部
155 メッセージ取得部 160、360 署名乱数生成部
165、365 署名計算部 170 署名ランダマイズ部
175、375 署名出力部 190、390 署名記録部
200、400、900 検証装置 210、410 検証入力部
220、420 検証確認部 230 検証出力部
800 ネットワーク
100, 100 ′, 100 ″, 300, 700
Claims (22)
p,G1,G2,GT,eを記録する署名記録部と、
群G2の生成元g0,h0をランダムに選択するコミットメント群要素選択部と、
1以上p−1以下のランダムな整数x1,…,xKと整数y1,…,yKを生成するコミットメント乱数生成部と、
k=1,…,Kに対して、
gk=g0^xk、
hk=h0^yk、
を計算するコミットメント計算部と、
(p,G1,G2,GT,e,g0,h0,…,gK,hK)をCRSとして設定し、(x1,y1,…,xK,yK)をトラップドアτとするCRS生成部と、
1以上p−1以下のランダムな整数αz,βzと、ランダムな整数α0,…,αKと整数β0,…,βKを生成する鍵乱数生成部と、
gz=g0^αz、
hz=g0^βz、
を計算する鍵計算部と、
群G2の生成元gsをランダムに選択する鍵群要素選択部と、
(gs,αz,βz,α0,β0,…,αK,βK)を秘密鍵skとし、(gz,hz,{a10,a20,b10,b20},…,{a1K,a2K,b1K,b2K})を検証鍵vkとし、当該検証鍵vkを公開する鍵生成部と、
群G2上の1以外の元であるメッセージm1,…,mKを受け取るメッセージ取得部と、
1以上p−1以下のランダムな整数ζ,η1,…,ηK,ξ1,…,ξKを生成する署名乱数生成部と、
(z,t,w,{r1,s1,u1,v1},…,{rK,sK,uK,vK})を署名σとして出力する署名出力部と
を備える署名装置と、
メッセージm1,…,mKと署名σとを取得する検証入力部と、
前記検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する検証出力部と
を備える検証装置と
を有する署名・検証システム。 G 1, G 2 a mapping is difficult order p groups from G 1 to G 2, a group of order p of G T, bilinear mapping of e G 1 × G 2 → G T, the K 2 The above integer, ^ is a symbol indicating a power,
a signature recording unit for recording p, G 1 , G 2 , G T , e;
A commitment group element selector that randomly selects generators g 0 and h 0 of group G 2 ;
1 or p-1 random integer x 1 below, ..., x K and integer y 1, ..., and commitment random number generation unit for generating a y K,
For k = 1, ..., K,
g k = g 0 ^ x k ,
h k = h 0 ^ y k ,
A commitment calculation unit for calculating
(P, G 1, G 2 , G T, e, g 0, h 0, ..., g K, h K) was set as CRS, the (x 1, y 1, ... , x K, y K) A CRS generator for trap door τ;
1 or p-1 or less random integer alpha z, and beta z, random integer α 0, ..., α K and integer β 0, ..., a key the random number generation unit for generating a beta K,
g z = g 0 ^ α z ,
h z = g 0 ^ β z ,
A key calculation unit for calculating
A key group element selection unit that randomly selects a generator g s of the group G 2 ;
(G s, α z, β z, α 0, β 0, ..., α K, β K) was used as a secret key sk, (g z, h z , {a 10, a 20, b 10, b 20} ,..., {A 1K , a 2K , b 1K , b 2K }) as a verification key vk, and a key generation unit that discloses the verification key vk;
A message acquisition unit that receives messages m 1 ,..., M K that are elements other than 1 on the group G 2 ;
1 or p-1 or less random integer ζ, η 1, ..., η K, ξ 1, ..., a signature random number generation unit for generating xi] K,
A signature output unit that outputs (z, t, w, {r 1 , s 1 , u 1 , v 1 },..., {R K , s K , u K , v K }) as a signature σ. Equipment,
A verification input unit for obtaining the messages m 1 ,..., M K and the signature σ;
When the verification confirmation unit confirms that all conditions are satisfied, information indicating that the signature is correct is output, and when it is determined that any condition is not satisfied, information indicating that the signature is incorrect is output. A signature / verification system comprising: a verification device comprising: a verification output unit.
前記鍵ランダマイズ部と前記署名ランダマイズ部は、
e(x1,y1)e(x2,y2)…e(xK,yK)=e(x’1,y’1)e(x’2,y’2)…e(x’K,y’K)となる(xk,yk)以外の組合せ(x’k,y’k)を求めるときに、
1以上p−1以下のランダムな整数γ1,…,γK−1を生成するランダマイズ乱数生成手段と、
e(xk,y’k)とe(xk+1,yk+1)の間にe(xk+1^−γk,y’k)e(xk+1,y’k^γk)を挿入することで、
e(x’1,y’1)…e(xk,y’k)e(xk+1,yk+1)…e(xK,yK)を、
e(x’1,y’1)…e(xkxk+1^−γk,y’k)e(xk+1,(y’k^γk)yk+1)…e(xK,yK)
のように変換し、変換後を
e(x’1,y’1)…e(x’k,y’k)e(xk+1,y’k+1)…e(xK,yK)
とする処理を、k=1からk=K−1まで順番に行うランダマイズ実行手段と
を有することを特徴とする署名・検証システム。 The signature / verification system according to claim 1,
The key randomization part and the signature randomization part are:
e (x 1, y 1) e (x 2, y 2) ... e (x K, y K) = e (x '1, y' 1) e (x '2, y' 2) ... e (x When obtaining a combination (x ′ k , y ′ k ) other than (x k , y k ) that becomes “ K , y ′ K ),
Randomized random number generating means for generating random integers γ 1 ,..., Γ K−1 of 1 or more and p−1 or less;
inserting e (x k + 1 ^ −γ k , y ′ k ) e (x k + 1 , y ′ k ^ γ k ) between e (x k , y ′ k ) and e (x k + 1 , y k + 1 ). so,
e (x ′ 1 , y ′ 1 )... e (x k , y ′ k ) e (x k + 1 , y k + 1 )... e (x K , y K )
e (x '1, y' 1) ... e (x k x k + 1 ^ -γ k, y 'k) e (x k + 1, (y' k ^ γ k) y k + 1) ... e (x K, y K )
E (x ′ 1 , y ′ 1 )... E (x ′ k , y ′ k ) e (x k + 1 , y ′ k + 1 )... E (x K , y K )
And a randomization executing means for sequentially performing the processing of k = 1 to k = K−1.
前記鍵乱数生成部は、ランダムな整数α0,…,αKと整数β0,…,βKを生成する代わりに、ランダムな整数α1,β1と、αk=βk=0(k=0,2,…,K)を生成し、
前記鍵ランダマイズ部は、
前記鍵生成部は、秘密鍵skを(gs,αz,βz,α1,β1)とする
ことを特徴とする署名・検証システム。 The signature / verification system according to claim 1,
The key the random number generator, a random integer α 0, ..., α K and integer beta 0, ..., instead of generating a beta K, random integer alpha 1, and β 1, α k = β k = 0 ( k = 0, 2, ..., K),
The key randomization part
The key generation unit, a signature-verification system, characterized by a secret key sk and (g s, α z, β z, α 1, β 1).
jは0以上K以下の整数とし、
前記鍵乱数生成部は、ランダムな整数α0,…,αKと整数β0,…,βKを生成する代わりに、ランダムな整数αj,βjと、αk=βk=0(k=0,…,K ただし、k≠j)を生成し、
前記鍵ランダマイズ部は、
前記鍵生成部は、秘密鍵skを(gs,αz,βz,αj,βj)とする
ことを特徴とする署名・検証システム。 The signature / verification system according to claim 1,
j is an integer between 0 and K,
The key the random number generator, a random integer α 0, ..., α K and integer beta 0, ..., instead of generating a beta K, random integer alpha j, and β j, α k = β k = 0 ( k = 0,..., K where k ≠ j)
The key randomization part
The key generation unit, a signature-verification system, characterized by a secret key sk and (g s, α z, β z, α j, β j).
前記鍵生成部は、
ことを特徴とする署名・検証システム。 The signature / verification system according to any one of claims 1 to 4,
The key generation unit
p,G1,G2,GT,eを記録する署名記録部と、
群G2の生成元g0,h0をランダムに選択するコミットメント群要素選択部と、
1以上p−1以下のランダムな整数x1,…,xKと整数y1,…,yKを生成するコミットメント乱数生成部と、
k=1,…,Kに対して、
gk=g0^xk、
hk=h0^yk、
を計算するコミットメント計算部と、
1以上p−1以下のランダムな整数αz,βzと、ランダムな整数α1,β1を生成する鍵乱数生成部と、
gz=g0^αz、
hz=g0^βz、
を計算する鍵計算部と、
群G2の生成元gsをランダムに選択する鍵群要素選択部と、
e(gk,gs^αk)=e(a10,a20)e(a11,a21)
e(hk,gs^βk)=e(b10,b20)e(b11,b21)
となる(a10,a20),(a11,a21)と、(b10,b20),(b11,b21)を求める鍵ランダマイズ部と、
(gz,hz,{g0,h0},…,{gK,hK},{a10,a20,b10,b20},{a11,a21,b11,b21})を検証鍵vkとし、(vk,gs,αz,βz,α1,β1)を秘密鍵skとし、検証鍵vkを公開する鍵生成部と、
群G2上の1以外の元であるメッセージm1,…,mKを受け取るメッセージ取得部と、
1以上p−1以下のランダムな整数ζ,η,ξ,ρ,δを生成する署名乱数生成部と、
(z,t,w,r,s,u,v)を署名σとして出力する署名出力部と
を備える署名装置と、
メッセージm1,…,mKと署名σとを取得する検証入力部と、
前記検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する検証出力部と
を備える検証装置と
を有する署名・検証システム。 G 1, G 2 a mapping is difficult order p groups from G 1 to G 2, a group of order p of G T, bilinear mapping of e G 1 × G 2 → G T, the K 2 The above integer, ^ is a symbol indicating a power,
a signature recording unit for recording p, G 1 , G 2 , G T , e;
A commitment group element selector that randomly selects generators g 0 and h 0 of group G 2 ;
1 or p-1 random integer x 1 below, ..., x K and integer y 1, ..., and commitment random number generation unit for generating a y K,
For k = 1, ..., K,
g k = g 0 ^ x k ,
h k = h 0 ^ y k ,
A commitment calculation unit for calculating
A random number α z , β z of 1 to p−1 and a key random number generator for generating random integers α 1 , β 1 ;
g z = g 0 ^ α z ,
h z = g 0 ^ β z ,
A key calculation unit for calculating
A key group element selection unit that randomly selects a generator g s of the group G 2 ;
e (g k , g s ^ α k ) = e (a 10 , a 20 ) e (a 11 , a 21 )
e (h k , g s ^ β k ) = e (b 10 , b 20 ) e (b 11 , b 21 )
(A 10 , a 20 ), (a 11 , a 21 ), and (b 10 , b 20 ), (b 11 , b 21 ) to obtain a key randomization unit,
(G z, h z, { g 0, h 0}, ..., {g K, h K}, {a 10, a 20, b 10, b 20}, {a 11, a 21, b 11, b 21 }) as a verification key vk, (vk, g s , α z , β z , α 1 , β 1 ) as a secret key sk, and a key generation unit that publishes the verification key vk;
A message acquisition unit that receives messages m 1 ,..., M K that are elements other than 1 on the group G 2 ;
A signature random number generator for generating random integers ζ, η, ξ, ρ, δ of 1 or more and p−1 or less;
A signature device comprising: a signature output unit that outputs (z, t, w, r, s, u, v) as a signature σ;
A verification input unit for obtaining the messages m 1 ,..., M K and the signature σ;
When the verification confirmation unit confirms that all conditions are satisfied, information indicating that the signature is correct is output, and when it is determined that any condition is not satisfied, information indicating that the signature is incorrect is output. A signature / verification system comprising: a verification device comprising: a verification output unit.
G1、G2をG1からG2への写像が困難な位数pの群、GTを位数pの群、eをG1×G2→GTの双線形写像、Kを2以上の整数、^をべき乗を示す記号とし、
前記署名装置において、
署名記録部に、あらかじめp,G1,G2,GT,eを記録しておき、
コミットメント群要素選択部で、群G2の生成元g0,h0をランダムに選択するコミットメント群要素選択ステップと、
コミットメント乱数生成部で、1以上p−1以下のランダムな整数x1,…,xKと整数y1,…,yKを生成するコミットメント乱数生成ステップと、
コミットメント計算部で、k=1,…,Kに対して、
gk=g0^xk、
hk=h0^yk、
を計算するコミットメント計算ステップと、
CRS生成部で、(p,G1,G2,GT,e,g0,h0,…,gK,hK)をCRSとして設定し、(x1,y1,…,xK,yK)をトラップドアτとするCRS生成ステップと、
鍵乱数生成部で、1以上p−1以下のランダムな整数αz,βzと、ランダムな整数α0,…,αKと整数β0,…,βKを生成する鍵乱数生成ステップと、
鍵計算部で、
gz=g0^αz、
hz=g0^βz、
を計算する鍵計算ステップと、
鍵群要素選択部で、群G2の生成元gsをランダムに選択する鍵群要素選択ステップと、
鍵ランダマイズ部で、
鍵生成部で、(gs,αz,βz,α0,β0,…,αK,βK)を秘密鍵skとし、(gz,hz,{a10,a20,b10,b20},…,{a1K,a2K,b1K,b2K})を検証鍵vkとし、当該検証鍵vkを公開する鍵生成ステップと、
メッセージ取得部で、群G2上の1以外の元であるメッセージm1,…,mKを受け取るメッセージ取得ステップと、
署名乱数生成部で、1以上p−1以下のランダムな整数ζ,η1,…,ηK,ξ1,…,ξKを生成する署名乱数生成ステップと、
署名計算部で、
署名ランダマイズ部で、
署名出力部で、(z,t,w,{r1,s1,u1,v1},…,{rK,sK,uK,vK})を署名σとして出力する署名出力ステップと
を有し、
前記検証装置において、
検証入力部で、メッセージm1,…,mKと署名σとを取得する検証入力ステップと、
検証確認部で、
検証出力部で、前記検証確認ステップですべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する検証出力ステップと
を有する署名・検証方法。 A signature / verification method in a signature / verification system including a signature device and a verification device,
G 1, G 2 a mapping is difficult order p groups from G 1 to G 2, a group of order p of G T, bilinear mapping of e G 1 × G 2 → G T, the K 2 The above integer, ^ is a symbol indicating a power,
In the signature device,
In the signature recording part, p, G 1 , G 2 , G T , e are recorded in advance,
A commitment group element selection unit that randomly selects the generators g 0 and h 0 of the group G 2 in the commitment group element selection unit;
In commitment random number generation unit, a random integer x 1 of 1 or more p-1 or less, ..., x K and integer y 1, ..., and commitment random number generation step of generating a y K,
In the commitment calculator, for k = 1, ..., K,
g k = g 0 ^ x k ,
h k = h 0 ^ y k ,
A commitment calculation step for calculating
In the CRS generator, ( p , G 1 , G 2 , G T , e, g 0 , h 0 ,..., G K , h K ) are set as CRS, and (x 1 , y 1 ,..., X K , Y K ) as a trapdoor τ, a CRS generation step;
The key the random number generation unit, one or more p-1 or less random integer alpha z, and beta z, random integer α 0, ..., α K and integer beta 0, ..., a key the random number generation step of generating a beta K ,
In the key calculator,
g z = g 0 ^ α z ,
h z = g 0 ^ β z ,
A key calculation step for calculating
A key group element selection unit for randomly selecting a generation source g s of the group G 2 by a key group element selection unit;
In the key randomization department,
In the key generation unit, (g s , α z , β z , α 0 , β 0 ,..., Α K , β K ) is set as a secret key sk, and (g z , h z , {a 10 , a 20 , b 10 , b 20 },..., {A 1K , a 2K , b 1K , b 2K }) as a verification key vk, and a key generation step for publishing the verification key vk;
A message acquisition step of receiving messages m 1 ,..., M K that are elements other than 1 on the group G 2 in the message acquisition unit;
In the signature random number generation unit, one or more p-1 or less random integer ζ, η 1, ..., η K, ξ 1, ..., a signature random number generation step of generating xi] K,
In the signature calculator,
In the signature randomization department,
The signature output unit outputs (z, t, w, {r 1 , s 1 , u 1 , v 1 },..., {R K , s K , u K , v K }) as a signature σ. Steps and
In the verification device,
A verification input step of acquiring messages m 1 ,..., M K and a signature σ at the verification input unit;
In the verification check section,
When the verification output unit confirms that all the conditions are satisfied in the verification check step, it outputs information indicating that the signature is correct, and when it is confirmed that any of the conditions is not satisfied, the signature is not correct. And a verification output step for outputting information indicating the signature / verification method.
前記鍵ランダマイズステップと前記署名ランダマイズステップは、
e(x1,y1)e(x2,y2)…e(xK,yK)=e(x’1,y’1)e(x’2,y’2)…e(x’K,y’K)となる(xk,yk)以外の組合せ(x’k,y’k)を求めるときに、
1以上p−1以下のランダムな整数γ1,…,γK−1を生成するランダマイズ乱数生成サブステップと、
e(xk,y’k)とe(xk+1,yk+1)の間にe(xk+1^−γk,y’k)e(xk+1,y’k^γk)を挿入することで、
e(x’1,y’1)…e(xk,y’k)e(xk+1,yk+1)…e(xK,yK)を、
e(x’1,y’1)…e(xkxk+1^−γk,y’k)e(xk+1,(y’k^γk)yk+1)…e(xK,yK)
のように変換し、変換後を
e(x’1,y’1)…e(x’k,y’k)e(xk+1,y’k+1)…e(xK,yK)
とする処理を、k=1からk=K−1まで順番に行うランダマイズ実行サブステップと
を有することを特徴とする署名・検証方法。 The signature / verification method according to claim 7,
The key randomizing step and the signature randomizing step are:
e (x 1, y 1) e (x 2, y 2) ... e (x K, y K) = e (x '1, y' 1) e (x '2, y' 2) ... e (x When obtaining a combination (x ′ k , y ′ k ) other than (x k , y k ) that becomes “ K , y ′ K ),
1 or p-1 random integer gamma 1 below, ..., a randomizing random number generation substep of generating a gamma K-1,
inserting e (x k + 1 ^ −γ k , y ′ k ) e (x k + 1 , y ′ k ^ γ k ) between e (x k , y ′ k ) and e (x k + 1 , y k + 1 ). so,
e (x ′ 1 , y ′ 1 )... e (x k , y ′ k ) e (x k + 1 , y k + 1 )... e (x K , y K )
e (x '1, y' 1) ... e (x k x k + 1 ^ -γ k, y 'k) e (x k + 1, (y' k ^ γ k) y k + 1) ... e (x K, y K )
E (x ′ 1 , y ′ 1 )... E (x ′ k , y ′ k ) e (x k + 1 , y ′ k + 1 )... E (x K , y K )
And a randomization execution sub-step for performing the processing in order from k = 1 to k = K−1 in order.
前記鍵乱数生成ステップは、ランダムな整数α0,…,αKと整数β0,…,βKを生成する代わりに、ランダムな整数α1,β1と、αk=βk=0(k=0,2,…,K)を生成し、
前記鍵ランダマイズステップは、
前記鍵生成ステップは、秘密鍵skを(gs,αz,βz,α1,β1)とする
ことを特徴とする署名・検証方法。 The signature / verification method according to claim 7,
The key the random number generation step, random integer α 0, ..., α K and integer beta 0, ..., instead of generating a beta K, random integer alpha 1, and β 1, α k = β k = 0 ( k = 0, 2, ..., K),
The key randomizing step includes
The key generating step, the secret key sk (g s, α z, β z, α 1, β 1) signature and verification method which is characterized in that a.
jは0以上K以下の整数とし、
前記鍵乱数生成ステップは、ランダムな整数α0,…,αKと整数β0,…,βKを生成する代わりに、ランダムな整数αj,βjと、αk=βk=0(k=0,…,K ただし、k≠j)を生成し、
前記鍵ランダマイズステップは、
前記鍵生成ステップは、秘密鍵skを(gs,αz,βz,αj,βj)とする
ことを特徴とする署名・検証方法。 The signature / verification method according to claim 7,
j is an integer between 0 and K,
The key the random number generation step, random integer α 0, ..., α K and integer beta 0, ..., instead of generating a beta K, random integer alpha j, and β j, α k = β k = 0 ( k = 0,..., K where k ≠ j)
The key randomizing step includes
The key generating step, the secret key sk (g s, α z, β z, α j, β j) signature and verification method which is characterized in that a.
前記鍵生成ステップは、
ことを特徴とする署名・検証方法。 The signature / verification method according to any one of claims 7 to 10,
The key generation step includes:
G1、G2をG1からG2への写像が困難な位数pの群、GTを位数pの群、eをG1×G2→GTの双線形写像、Kを2以上の整数、^をべき乗を示す記号とし、
前記署名装置において、
署名記録部で、あらかじめp,G1,G2,GT,eを記録しておき、
コミットメント群要素選択部で、群G2の生成元g0,h0をランダムに選択するコミットメント群要素選択ステップと、
コミットメント乱数生成部で、1以上p−1以下のランダムな整数x1,…,xKと整数y1,…,yKを生成するコミットメント乱数生成ステップと、
コミットメント計算部で、k=1,…,Kに対して、
gk=g0^xk、
hk=h0^yk、
を計算するコミットメント計算ステップと、
鍵乱数生成部で、1以上p−1以下のランダムな整数αz,βzと、ランダムな整数α1,β1を生成する鍵乱数生成ステップと、
鍵計算部で、
gz=g0^αz、
hz=g0^βz、
を計算する鍵計算ステップと、
鍵群要素選択部で、群G2の生成元gsをランダムに選択する鍵群要素選択ステップと、
鍵ランダマイズ部で、
e(gk,gs^αk)=e(a10,a20)e(a11,a21)
e(hk,gs^βk)=e(b10,b20)e(b11,b21)
となる(a10,a20),(a11,a21)と、(b10,b20),(b11,b21)を求める鍵ランダマイズステップと、
鍵生成部で、(gz,hz,{g0,h0},…,{gK,hK},{a10,a20,b10,b20},{a11,a21,b11,b21})を検証鍵vkとし、(vk,gs,αz,βz,α1,β1)を秘密鍵skとし、検証鍵vkを公開する鍵生成ステップと、
メッセージ取得部で、群G2上の1以外の元であるメッセージm1,…,mKを受け取るメッセージ取得ステップと、
署名乱数生成部で、1以上p−1以下のランダムな整数ζ,η,ξ,ρ,δを生成する署名乱数生成ステップと、
署名計算部で、
署名出力部で、(z,t,w,r,s,u,v)を署名σとして出力する署名出力ステップと
を有し、
前記検証装置において、
検証入力部で、メッセージm1,…,mKと署名σとを取得する検証入力ステップと、
検証確認部で、
検証出力部で、前記検証確認ステップがすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する検証出力ステップと
を有する署名・検証方法。 A signature / verification method in a signature / verification system including a signature device and a verification device,
G 1, G 2 a mapping is difficult order p groups from G 1 to G 2, a group of order p of G T, bilinear mapping of e G 1 × G 2 → G T, the K 2 The above integer, ^ is a symbol indicating a power,
In the signature device,
In the signature recording part, p, G 1 , G 2 , G T , e are recorded in advance,
A commitment group element selection unit that randomly selects the generators g 0 and h 0 of the group G 2 in the commitment group element selection unit;
In commitment random number generation unit, a random integer x 1 of 1 or more p-1 or less, ..., x K and integer y 1, ..., and commitment random number generation step of generating a y K,
In the commitment calculator, for k = 1, ..., K,
g k = g 0 ^ x k ,
h k = h 0 ^ y k ,
A commitment calculation step for calculating
A key random number generation unit for generating random integers α z and β z of 1 to p−1 and random integers α 1 and β 1 ;
In the key calculator,
g z = g 0 ^ α z ,
h z = g 0 ^ β z ,
A key calculation step for calculating
A key group element selection unit for randomly selecting a generation source g s of the group G 2 by a key group element selection unit;
In the key randomization department,
e (g k , g s ^ α k ) = e (a 10 , a 20 ) e (a 11 , a 21 )
e (h k , g s ^ β k ) = e (b 10 , b 20 ) e (b 11 , b 21 )
(A 10 , a 20 ), (a 11 , a 21 ) and (b 10 , b 20 ), (b 11 , b 21 ) to obtain a key randomization step,
In the key generation unit, (g z , h z , {g 0 , h 0 },..., {G K , h K }, {a 10 , a 20 , b 10 , b 20 }, {a 11 , a 21 , B 11 , b 21 }) as a verification key vk, (vk, g s , α z , β z , α 1 , β 1 ) as a secret key sk, and a key generation step for publicizing the verification key vk;
A message acquisition step of receiving messages m 1 ,..., M K that are elements other than 1 on the group G 2 in the message acquisition unit;
A signature random number generation unit for generating random integers ζ, η, ξ, ρ, δ of 1 or more and p−1 or less;
In the signature calculator,
A signature output unit that outputs (z, t, w, r, s, u, v) as a signature σ, and
In the verification device,
A verification input step of acquiring messages m 1 ,..., M K and a signature σ at the verification input unit;
In the verification check section,
The verification output unit outputs information indicating that the signature is correct when the verification confirmation step confirms that all conditions are satisfied, and confirms that the signature is incorrect when it is confirmed that any of the conditions is not satisfied. And a verification output step for outputting information indicating the signature / verification method.
p,G1,G2,GT,eを記録する署名記録部と、
群G2の生成元g0,h0をランダムに選択するコミットメント群要素選択部と、
1以上p−1以下のランダムな整数x1,…,xKと整数y1,…,yKを生成するコミットメント乱数生成部と、
k=1,…,Kに対して、
gk=g0^xk、
hk=h0^yk、
を計算するコミットメント計算部と、
(p,G1,G2,GT,e,g0,h0,…,gK,hK)をCRSとして設定し、(x1,y1,…,xK,yK)をトラップドアτとするCRS生成部と、
1以上p−1以下のランダムな整数αz,βzと、ランダムな整数α0,…,αKと整数β0,…,βKを生成する鍵乱数生成部と、
gz=g0^αz、
hz=g0^βz、
を計算する鍵計算部と、
群G2の生成元gsをランダムに選択する鍵群要素選択部と、
(gs,αz,βz,α0,β0,…,αK,βK)を秘密鍵skとし、(gz,hz,{a10,a20,b10,b20},…,{a1K,a2K,b1K,b2K})を検証鍵vkとし、当該検証鍵vkを公開する鍵生成部と、
群G2上の1以外の元であるメッセージm1,…,mKを受け取るメッセージ取得部と、
1以上p−1以下のランダムな整数ζ,η1,…,ηK,ξ1,…,ξKを生成する署名乱数生成部と、
(z,t,w,{r1,s1,u1,v1},…,{rK,sK,uK,vK})を署名σとして出力する署名出力部と
を備える署名装置。 G 1, G 2 a mapping is difficult order p groups from G 1 to G 2, a group of order p of G T, bilinear mapping of e G 1 × G 2 → G T, the K 2 The above integer, ^ is a symbol indicating a power,
a signature recording unit for recording p, G 1 , G 2 , G T , e;
A commitment group element selector that randomly selects generators g 0 and h 0 of group G 2 ;
1 or p-1 random integer x 1 below, ..., x K and integer y 1, ..., and commitment random number generation unit for generating a y K,
For k = 1, ..., K,
g k = g 0 ^ x k ,
h k = h 0 ^ y k ,
A commitment calculation unit for calculating
(P, G 1, G 2 , G T, e, g 0, h 0, ..., g K, h K) was set as CRS, the (x 1, y 1, ... , x K, y K) A CRS generator for trap door τ;
1 or p-1 or less random integer alpha z, and beta z, random integer α 0, ..., α K and integer β 0, ..., a key the random number generation unit for generating a beta K,
g z = g 0 ^ α z ,
h z = g 0 ^ β z ,
A key calculation unit for calculating
A key group element selection unit that randomly selects a generator g s of the group G 2 ;
(G s, α z, β z, α 0, β 0, ..., α K, β K) was used as a secret key sk, (g z, h z , {a 10, a 20, b 10, b 20} ,..., {A 1K , a 2K , b 1K , b 2K }) as a verification key vk, and a key generation unit that discloses the verification key vk;
A message acquisition unit that receives messages m 1 ,..., M K that are elements other than 1 on the group G 2 ;
1 or p-1 or less random integer ζ, η 1, ..., η K, ξ 1, ..., a signature random number generation unit for generating xi] K,
A signature output unit that outputs (z, t, w, {r 1 , s 1 , u 1 , v 1 },..., {R K , s K , u K , v K }) as a signature σ. apparatus.
前記鍵ランダマイズ部と前記署名ランダマイズ部は、
e(x1,y1)e(x2,y2)…e(xK,yK)=e(x’1,y’1)e(x’2,y’2)…e(x’K,y’K)となる(xk,yk)以外の組合せ(x’k,y’k)を求めるときに、
1以上p−1以下のランダムな整数γ1,…,γK−1を生成するランダマイズ乱数生成手段と、
e(xk,y’k)とe(xk+1,yk+1)の間にe(xk+1^−γk,y’k)e(xk+1,y’k^γk)を挿入することで、
e(x’1,y’1)…e(xk,y’k)e(xk+1,yk+1)…e(xK,yK)を、
e(x’1,y’1)…e(xkxk+1^−γk,y’k)e(xk+1,(y’k^γk)yk+1)…e(xK,yK)
のように変換し、変換後を
e(x’1,y’1)…e(x’k,y’k)e(xk+1,y’k+1)…e(xK,yK)
とする処理を、k=1からk=K−1まで順番に行うランダマイズ実行手段と
を有することを特徴とする署名装置。 14. The signature device according to claim 13, comprising:
The key randomization part and the signature randomization part are:
e (x 1, y 1) e (x 2, y 2) ... e (x K, y K) = e (x '1, y' 1) e (x '2, y' 2) ... e (x When obtaining a combination (x ′ k , y ′ k ) other than (x k , y k ) that becomes “ K , y ′ K ),
Randomized random number generating means for generating random integers γ 1 ,..., Γ K−1 of 1 or more and p−1 or less;
inserting e (x k + 1 ^ −γ k , y ′ k ) e (x k + 1 , y ′ k ^ γ k ) between e (x k , y ′ k ) and e (x k + 1 , y k + 1 ). so,
e (x ′ 1 , y ′ 1 )... e (x k , y ′ k ) e (x k + 1 , y k + 1 )... e (x K , y K )
e (x '1, y' 1) ... e (x k x k + 1 ^ -γ k, y 'k) e (x k + 1, (y' k ^ γ k) y k + 1) ... e (x K, y K )
E (x ′ 1 , y ′ 1 )... E (x ′ k , y ′ k ) e (x k + 1 , y ′ k + 1 )... E (x K , y K )
And a randomization execution means for sequentially performing the following processing from k = 1 to k = K−1.
前記鍵乱数生成部は、ランダムな整数α0,…,αKと整数β0,…,βKを生成する代わりに、ランダムな整数α1,β1と、αk=βk=0(k=0,2,…,K)を生成し、
前記鍵ランダマイズ部は、
前記鍵生成部は、秘密鍵skを(gs,αz,βz,α1,β1)とする
ことを特徴とする署名装置。 14. The signature device according to claim 13, comprising:
The key the random number generator, a random integer α 0, ..., α K and integer beta 0, ..., instead of generating a beta K, random integer alpha 1, and β 1, α k = β k = 0 ( k = 0, 2, ..., K),
The key randomization part
The key generating unit, a secret key sk (g s, α z, β z, α 1, β 1) and the signature device, characterized by.
jは0以上K以下の整数とし、
前記鍵乱数生成部は、ランダムな整数α0,…,αKと整数β0,…,βKを生成する代わりに、ランダムな整数αj,βjと、αk=βk=0(k=0,…,K ただし、k≠j)を生成し、
前記鍵ランダマイズ部は、
前記鍵生成部は、秘密鍵skを(gs,αz,βz,αj,βj)とする
ことを特徴とする署名装置。 14. The signature device according to claim 13, comprising:
j is an integer between 0 and K,
The key the random number generator, a random integer α 0, ..., α K and integer beta 0, ..., instead of generating a beta K, random integer alpha j, and β j, α k = β k = 0 ( k = 0,..., K where k ≠ j)
The key randomization part
The key generating unit, a secret key sk (g s, α z, β z, α j, β j) the signature apparatus which is characterized in that a.
前記鍵生成部は、
ことを特徴とする署名装置。 The signature device according to any one of claims 13 to 16,
The key generation unit
p,G1,G2,GT,eを記録する署名記録部と、
群G2の生成元g0,h0をランダムに選択するコミットメント群要素選択部と、
1以上p−1以下のランダムな整数x1,…,xKと整数y1,…,yKを生成するコミットメント乱数生成部と、
k=1,…,Kに対して、
gk=g0^xk、
hk=h0^yk、
を計算するコミットメント計算部と、
1以上p−1以下のランダムな整数αz,βzと、ランダムな整数α1,β1を生成する鍵乱数生成部と、
gz=g0^αz、
hz=g0^βz、
を計算する鍵計算部と、
群G2の生成元gsをランダムに選択する鍵群要素選択部と、
e(gk,gs^αk)=e(a10,a20)e(a11,a21)
e(hk,gs^βk)=e(b10,b20)e(b11,b21)
となる(a10,a20),(a11,a21)と、(b10,b20),(b11,b21)を求める鍵ランダマイズ部と、
(gz,hz,{g0,h0},…,{gK,hK},{a10,a20,b10,b20},{a11,a21,b11,b21})を検証鍵vkとし、(vk,gs,αz,βz,α1,β1)を秘密鍵skとし、検証鍵vkを公開する鍵生成部と、
群G2上の1以外の元であるメッセージm1,…,mKを受け取るメッセージ取得部と、
1以上p−1以下のランダムな整数ζ,η,ξ,ρ,δを生成する署名乱数生成部と、
(z,t,w,r,s,u,v)を署名σとして出力する署名出力部と
を備える署名装置。 G 1, G 2 a mapping is difficult order p groups from G 1 to G 2, a group of order p of G T, bilinear mapping of e G 1 × G 2 → G T, the K 2 The above integer, ^ is a symbol indicating a power,
a signature recording unit for recording p, G 1 , G 2 , G T , e;
A commitment group element selector that randomly selects generators g 0 and h 0 of group G 2 ;
1 or p-1 random integer x 1 below, ..., x K and integer y 1, ..., and commitment random number generation unit for generating a y K,
For k = 1, ..., K,
g k = g 0 ^ x k ,
h k = h 0 ^ y k ,
A commitment calculation unit for calculating
A random number α z , β z of 1 to p−1 and a key random number generator for generating random integers α 1 , β 1 ;
g z = g 0 ^ α z ,
h z = g 0 ^ β z ,
A key calculation unit for calculating
A key group element selection unit that randomly selects a generator g s of the group G 2 ;
e (g k , g s ^ α k ) = e (a 10 , a 20 ) e (a 11 , a 21 )
e (h k , g s ^ β k ) = e (b 10 , b 20 ) e (b 11 , b 21 )
(A 10 , a 20 ), (a 11 , a 21 ), and (b 10 , b 20 ), (b 11 , b 21 ) to obtain a key randomization unit,
(G z, h z, { g 0, h 0}, ..., {g K, h K}, {a 10, a 20, b 10, b 20}, {a 11, a 21, b 11, b 21 }) as a verification key vk, (vk, g s , α z , β z , α 1 , β 1 ) as a secret key sk, and a key generation unit that publishes the verification key vk;
A message acquisition unit that receives messages m 1 ,..., M K that are elements other than 1 on the group G 2 ;
A signature random number generator for generating random integers ζ, η, ξ, ρ, δ of 1 or more and p−1 or less;
A signature output unit that outputs (z, t, w, r, s, u, v) as a signature σ.
k=1,…,Kに対して、g k =g 0 ^x k 、h k =h 0 ^y k 、
(p,G1,G2,GT,e,g0,h0,…,gK,hK)をCRS、(x 1 ,y 1 ,…,x K ,y K )をトラップドアτ、
α z とβ z を1以上p−1以下の整数、α 0 ,…,α K とβ 0 ,…,β K を整数、
g z =g 0 ^α z 、h z =g 0 ^β z 、
g s を群G 2 の生成元、(a 1k ,a 2k )を
メッセージm1,…,mKと署名σとを取得する検証入力部と、
前記検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する検証出力部と
を備える検証装置。 G 1, G 2 a mapping is difficult order p groups from G 1 to G 2, a group of order p of G T, bilinear mapping of e G 1 × G 2 → G T, the K 2 more integer, ^ symbol indicating the power, g 0 and h 0 the generator of the group G 2, x 1, ..., x K and y 1, ..., 1 or more y K p-1 an integer,
For k = 1,..., K, g k = g 0 ^ x k , h k = h 0 ^ y k ,
(P, G 1, G 2 , G T, e, g 0, h 0, ..., g K, h K) the CRS, (x 1, y 1 , ..., x K, y K) a trap door τ ,
The alpha z and beta z 1 or p-1 an integer, α 0, ..., α K and beta 0, ..., a beta K integers,
g z = g 0 ^ α z , h z = g 0 ^ β z ,
g s is the generator of group G 2 and (a 1k , a 2k )
A verification input unit for obtaining the messages m 1 ,..., M K and the signature σ;
When the verification confirmation unit confirms that all conditions are satisfied, information indicating that the signature is correct is output, and when it is determined that any condition is not satisfied, information indicating that the signature is incorrect is output. A verification device comprising: a verification output unit.
k=1,…,Kに対して、g k =g 0 ^x k 、h k =h 0 ^y k 、
α z とβ z を1以上p−1以下の整数、α 1 とβ 1 を整数、
g z =g 0 ^α z 、h z =g 0 ^β z 、
g s を群G 2 の生成元、(a 10 ,a 20 )と(a 11 ,a 21 )を
e(g k ,g s ^α k )=e(a 10 ,a 20 )e(a 11 ,a 21 )
となる組み合わせ、(b 10 ,b 20 )と(b 11 ,b 21 )を
e(h k ,g s ^β k )=e(b 10 ,b 20 )e(b 11 ,b 21 )
となる組み合わせ、(vk,g s ,α z ,β z ,α 1 ,β 1 )を秘密鍵sk、(gz,hz,{g0,h0},…,{gK,hK},{a10,a20,b10,b20},{a11,a21,b11,b21})を検証鍵vk、m 1 ,…,m K を群G 2 上の1以外の元であるメッセージ、ζ,η,ξ,ρ,δを1以上p−1以下の整数とし、
メッセージm1,…,mKと署名σとを取得する検証入力部と、
前記検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する検証出力部と
を備える検証装置。 G 1, G 2 a mapping is difficult order p groups from G 1 to G 2, a group of order p of G T, bilinear mapping of e G 1 × G 2 → G T, the K 2 or greater, the symbol indicating the power of ^, g 0, h 0 of origin group G 2, x 1, ..., x K and y 1, ..., 1 or more y K p-1 an integer,
For k = 1,..., K, g k = g 0 ^ x k , h k = h 0 ^ y k ,
α z and β z are integers from 1 to p−1, α 1 and β 1 are integers,
g z = g 0 ^ α z , h z = g 0 ^ β z ,
g s is the generator of group G 2 and (a 10 , a 20 ) and (a 11 , a 21 )
e (g k , g s ^ α k ) = e (a 10 , a 20 ) e (a 11 , a 21 )
A combination of (b 10 , b 20 ) and (b 11 , b 21 )
e (h k , g s ^ β k ) = e (b 10 , b 20 ) e (b 11 , b 21 )
The combination (vk, g s , α z , β z , α 1 , β 1 ) is a secret key sk, (g z , h z , {g 0 , h 0 }, ..., {g K , h K }, {A 10 , a 20 , b 10 , b 20 }, {a 11 , a 21 , b 11 , b 21 }) are verification keys vk, m 1 ,..., M K are other than 1 on the group G 2 The message, ζ, η, ξ, ρ, δ, which is the element of, is an integer between 1 and p-1,
A verification input unit for obtaining the messages m 1 ,..., M K and the signature σ;
When the verification confirmation unit confirms that all conditions are satisfied, information indicating that the signature is correct is output, and when it is determined that any condition is not satisfied, information indicating that the signature is incorrect is output. A verification device comprising: a verification output unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010035929A JP5331028B2 (en) | 2010-02-22 | 2010-02-22 | Signature / verification system, signature / verification method, signature device, verification device, program, recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010035929A JP5331028B2 (en) | 2010-02-22 | 2010-02-22 | Signature / verification system, signature / verification method, signature device, verification device, program, recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011170247A JP2011170247A (en) | 2011-09-01 |
JP5331028B2 true JP5331028B2 (en) | 2013-10-30 |
Family
ID=44684410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010035929A Expired - Fee Related JP5331028B2 (en) | 2010-02-22 | 2010-02-22 | Signature / verification system, signature / verification method, signature device, verification device, program, recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5331028B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5815754B2 (en) * | 2012-01-24 | 2015-11-17 | 日本電信電話株式会社 | Signature verification system, signature device, verification device, and signature verification method |
AU2019322590B2 (en) * | 2018-08-13 | 2021-12-16 | Nippon Telegraph And Telephone Corporation | Secure joining system, method, secure computing apparatus and program |
-
2010
- 2010-02-22 JP JP2010035929A patent/JP5331028B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011170247A (en) | 2011-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5790319B2 (en) | Signature verification apparatus, signature verification method, program, and recording medium | |
JP6069852B2 (en) | Information processing apparatus, information processing method, and program | |
Zhao | Practical aggregate signature from general elliptic curves, and applications to blockchain | |
JP5099003B2 (en) | Group signature system and information processing method | |
EP4035307A1 (en) | Key-value map commitments system and method | |
Meshram et al. | A provably secure lightweight subtree-based short signature scheme with fuzzy user data sharing for human-centered IoT | |
JP6075785B2 (en) | Cryptographic communication system, cryptographic communication method, program | |
JP5331028B2 (en) | Signature / verification system, signature / verification method, signature device, verification device, program, recording medium | |
KR20230002941A (en) | (EC)DSA Threshold Signature with Secret Sharing | |
JP2013110628A (en) | Key exchange system, key exchange device, key generation apparatus, key exchange method and key exchange program | |
JP5331027B2 (en) | Signature / verification system, signature / verification method, signature device, verification device, program, recording medium | |
JP5815754B2 (en) | Signature verification system, signature device, verification device, and signature verification method | |
JP5069157B2 (en) | Signature system, signature method, verification device, verification device, verification method, verification method, program | |
JP5651611B2 (en) | Key exchange device, key exchange system, key exchange method, program | |
JP2011145591A (en) | Commitment system, master device, transmitter, receiver, commitment method, program and recording medium | |
JP5314449B2 (en) | Electronic signature verification system, electronic signature device, verification device, electronic signature verification method, electronic signature method, verification method, electronic signature program, verification program | |
JP5330964B2 (en) | Signature / verification system, signature / verification method, signature device, verification device, program | |
JP6634171B2 (en) | Apparatus, method and program for certifying public key reliability | |
JP5227764B2 (en) | Electronic signature verification system, electronic signature device, verification device, electronic signature verification method, electronic signature method, verification method, electronic signature program, verification program | |
JP5572580B2 (en) | Lost communication system, lost communication method, and program | |
JP4533636B2 (en) | Digital signature system, digital signature management apparatus, digital signature management method and program | |
JP5486454B2 (en) | Digital signature / verification system, digital signature / verification method, signature apparatus, verification apparatus, and program thereof | |
JP5457991B2 (en) | Digital signature / verification system, digital signature / verification method, signature apparatus, verification apparatus, and program thereof | |
JP5427156B2 (en) | Key exchange device, key exchange system, key exchange method, key exchange program | |
JP6225097B2 (en) | Signature / Verification System, Signature Device, Verification Device, Signature / Verification Method, Program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20110624 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130528 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130628 |
|
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: 20130716 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130726 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5331028 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |