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
JP5331027B2 - Signature / verification system, signature / verification method, signature device, verification device, program, recording medium - Google Patents
[go: Go Back, main page]

JP5331027B2 - 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 PDF

Info

Publication number
JP5331027B2
JP5331027B2 JP2010035928A JP2010035928A JP5331027B2 JP 5331027 B2 JP5331027 B2 JP 5331027B2 JP 2010035928 A JP2010035928 A JP 2010035928A JP 2010035928 A JP2010035928 A JP 2010035928A JP 5331027 B2 JP5331027 B2 JP 5331027B2
Authority
JP
Japan
Prior art keywords
signature
verification
unit
group
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010035928A
Other languages
Japanese (ja)
Other versions
JP2011170246A (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 JP2010035928A priority Critical patent/JP5331027B2/en
Publication of JP2011170246A publication Critical patent/JP2011170246A/en
Application granted granted Critical
Publication of JP5331027B2 publication Critical patent/JP5331027B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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∈Zに対する署名sは3つの群要素(a,b,c)∈Gから構成されている。 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 signature device 700 and a verification device 900 connected to a network 800.

v=(q,G,G,e,g)を公開パラメータとする。qは大きな素数、G,Gは位数qの群、eはG×G→Gの効率的な計算が可能なペアリング、gを群Gの任意の生成元、F,H,K,Tを群Gの生成元とする。また、メッセージは群要素の対(M,N)∈Gであって、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 signature device 700 generates a random integer x not less than 1 and not more than q−1 (S710). Then, X = xg and Y = xH are calculated (S720), (v, xg, xH) is set as the public key pk, and x is set as the secret key sk (S730).

署名装置700は、1以上q−1以下の乱数c,rを生成し(S750)、   The signature device 700 generates random numbers c and r of 1 to q−1 (S750),

Figure 0005331027
Figure 0005331027

=cg
=cF
=rg
=rH
を計算する(S760)。そして、5つの組(a,a,a,a,a)∈Gを署名σとする(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(a,X+a)=e(K+M,g)e(T,a)であること、
e(a,F)=e(g,a)であること、
e(a,H)=e(g,a)であること、
e(M,H)=e(g,N)であること、
e(X,H)=e(g,Y)であること
を確認する(S920)。そして、すべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する(S930)。
The verification apparatus 900 receives the signature σ via the network 800 (S910). And for message pair (M, N) and signature σ,
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). .

Jens Groth and Amit Sahai, “Efficient Non-interactive Proof Systems for Bilinear Groups”, Eurocrypt 2008, LNCS 2965, pp.415-432.Jens Groth and Amit Sahai, “Efficient Non-interactive Proof Systems for Bilinear Groups”, Eurocrypt 2008, LNCS 2965, pp.415-432. Jan Camenisch and Anna Lysyanskaya, “Signature Schemes and Anonymous Credentials from Bilinear Maps”, Crypto 2004, LNCS 3152, pp.56-72.Jan Camenisch and Anna Lysyanskaya, “Signature Schemes and Anonymous Credentials from Bilinear Maps”, Crypto 2004, LNCS 3152, pp.56-72. Matthew Green and Susan Hohenberger, “Universally Composable Adaptive Oblivious Transfer”, IACR e-Print archive, 2008/163 [平成22年2月5日検索]、インターネット<URL: http://eprint.iacr.org/cgi-bin/getfile.pl?entry=2008/163&version=20080806:150034&file=163.pdf>.Matthew Green and Susan Hohenberger, “Universally Composable Adaptive Oblivious Transfer”, IACR e-Print archive, 2008/163 [Search February 5, 2010], Internet <URL: http://eprint.iacr.org/cgi- bin / getfile.pl? entry = 2008/163 & version = 20080806: 150034 & file = 163.pdf>. Georg Fuchsbauer, “Automorphic Signatures in Bilinear Groups”, IACR e-print 200/320 [平成22年2月5日検索]、インターネット<URL: http://eprint.iacr.org/2009/320.pdf>.Georg Fuchsbauer, “Automorphic Signatures in Bilinear Groups”, IACR e-print 200/320 [searched February 5, 2010], Internet <URL: http://eprint.iacr.org/2009/320.pdf>.

しかしながら、従来技術は署名・検証システムでは、署名が群Gの5つの要素からなり、また、検証においては5つのペアリングの等式を確認するため、効率が悪いという課題がある。また、メッセージは群要素の対(M,N)∈Gであって、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, the present invention is a digital signature method for a group element message that has a short signature length, a smaller amount of calculation of a verification formula, and can prove high security, and further has no conventional message restrictions, An object is to provide a signature method capable of generating a signature for an arbitrary message.

まず、G、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、gを群Gの任意の生成元とする。本発明の第1の署名・検証システムは、署名装置と検証装置で構成される。署名装置は、署名記録部、鍵乱数生成部、鍵計算部、鍵生成部、メッセージ取得部、署名乱数生成部、署名計算部、署名出力部を備える。検証装置は、検証入力部、検証確認部、検証出力部を備える。署名記録部は、q,G,G,G,e,g,gを記録する。鍵乱数生成部は、1以上q−1以下のランダムな整数α,β,x,yを生成する。鍵計算部は、
h=g
’=g
=h
A=e(g,gα
B=e(h,gβ
を計算する。鍵生成部は、(q,G,G,G,e,g,g,A,B,h,g’,h’)を公開鍵pkとし、(pk,α,β,x,y)を秘密鍵skとする。メッセージ取得部は、群G上の1以外の元であるメッセージMを受け取る。署名乱数生成部は、1以上q−1以下のランダムな整数ζ,ρ,ν生成する。署名計算部は、
z=g ζ
r=g ρ
u=hν
s=(g α−x−11/ρ
v=(g β −x−11/ν
を計算する。署名出力部は、(r,s,u,v,z)を署名σとして出力する。検証入力部は、メッセージMと署名σとを受信する。検証確認部は、
A=e(g’,M)e(g,z)e(r,s)であること、
B=e(h’,M)e(h,z)e(u,v)であること、
を確認する。検証出力部は、検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する。
First, G 1, G 2 a mapping is difficult order q group of from G 1 to G 2, bilinear mapping group of order q of G T, the e G 1 × G 2 → G T, g 1 any generator of the group G 1, the g 2 and any generator of the group G 2. The first signature / verification system of the present invention comprises a signature device and a verification device. The signature device includes a signature recording unit, a key random number generation unit, a key calculation unit, a key generation unit, a message acquisition unit, a signature random number generation unit, a signature calculation unit, and a signature output unit. The verification apparatus includes a verification input unit, a verification confirmation unit, and a verification output unit. The signature recording unit records q, G 1 , G 2 , G T , e, g 1 , and g 2 . The key random number generation unit generates random integers α, β, x, y of 1 or more and q−1 or less. The key calculator is
h = g 1 y ,
g 1 ′ = g 1 x ,
h = h x ,
A = e (g 1 , g 2 ) α ,
B = e (h, g 2 ) β ,
Calculate The key generation unit uses (q, G 1 , G 2 , G T , e, g 1 , g 2 , A, B, h, g 1 ′, h ′) as the public key pk, and (pk, α, β , X, y) is a secret key sk. Message acquisition unit receives a message M is one other than the original on the group G 2. The signature random number generation unit generates random integers ζ, ρ, ν of 1 or more and q−1 or less. The signature calculator is
z = g 2 ζ ,
r = g 1 ρ ,
u = h ν ,
s = (g 2 α M −x z −1 ) 1 / ρ ,
v = (g 2 β M −x z −1 ) 1 / ν ,
Calculate The signature output unit outputs (r, s, u, v, z) as a signature σ. The verification input unit receives the message M and the signature σ. The verification confirmation part
A = e (g 1 ′, M) e (g 1 , z) e (r, s),
B = e (h ′, M) e (h, z) e (u, v),
Confirm. 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.

なお、ランダムな整数αとβを用いる代わりに、αのみを用いてもよい Instead of using random integers α and β, only α may be used .

本発明の署名・検証システムによれば、異なる群からなる双線形写像を利用し、群Gから群Gへの写像が困難であることが仮定されている。そして、異なる生成元の指数部を求めることが難しい性質を利用し、2つの異なる群上でのメッセージを署名のアウトプットとしている。本発明の署名・検証システムはこのような特徴を有するので、検証のときに確認する式の数を少なくできる。また、メッセージに対する制約条件はなく、任意のメッセージに対して署名生成が可能である。 According to the signature / verification system of the present invention, it is assumed that the mapping from the group G 1 to the group G 2 is difficult by using a bilinear map composed of different groups. Then, using the property that it is difficult to find the exponents of different generators, messages on two different groups are used as signature output. Since the signature / verification system of the present invention has such characteristics, the number of expressions to be confirmed at the time of verification can be reduced. In addition, there are no restrictions on the message, and a signature can be generated for any message.

従来の署名・検証システムの構成例を示す図。The figure which shows the structural example of the conventional signature and verification system. 従来の署名装置の処理フローを示す図。The figure which shows the processing flow of the conventional signature apparatus. 従来の検証装置の処理フローを示す図。The figure which shows the processing flow of the conventional verification apparatus. 実施例1、実施例1変形例の署名・検証システムの構成例を示す図。The figure which shows the structural example of the signature and verification system of Example 1 and Example 1 modification. 実施例1、実施例1変形例の署名装置の処理フローを示す図。The figure which shows the processing flow of the signature apparatus of Example 1 and Example 1 modification. 本発明の検証装置の処理フローを示す図 The figure which shows the processing flow of the verification apparatus of this invention .

以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。   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は署名装置の処理フローを示す図、図6は検証装置の処理フローを示す図である。実施例1の署名・検証システムは、署名装置100と検証装置200を含む。この図では、署名装置100と検証装置200とはネットワーク800によって接続されている。なお、署名装置100が出力した署名σを検証装置200に渡す方法は、ネットワークを用いる方法に限定する必要はない。例えば、記録媒体によって署名装置100から検証装置200に渡されてもよい。   4 is a diagram illustrating a configuration example of the signature / verification system according to the first embodiment, FIG. 5 is a diagram illustrating a processing flow of the signature device, and FIG. 6 is a diagram illustrating a processing flow of the verification device. The signature / verification system according to the first embodiment includes a signature device 100 and a verification device 200. In this figure, the signature device 100 and the verification device 200 are connected by a network 800. Note that the method of passing the signature σ output from the signature device 100 to the verification device 200 is not necessarily limited to a method using a network. For example, it may be transferred from the signature device 100 to the verification device 200 by a recording medium.

まず、G、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、gを群Gの任意の生成元とする。双線形写像の具体例としては、Weilペアリング、Bilinearペアリング、Tateペアリングなどがある。署名装置100は、署名記録部190、鍵乱数生成部110、鍵計算部120、鍵生成部130、メッセージ取得部140、署名乱数生成部150、署名計算部160、署名出力部170を備える。検証装置200は、検証入力部210、検証確認部220、検証出力部230、検証記録部290を備える。 First, G 1, G 2 a mapping is difficult order q group of from G 1 to G 2, bilinear mapping group of order q of G T, the e G 1 × G 2 → G T, g 1 any generator of the group G 1, the g 2 and any generator of the group G 2. Specific examples of bilinear mapping include Weil pairing, Bilinear pairing, and Tate pairing. The signature device 100 includes a signature recording unit 190, a key random number generation unit 110, a key calculation unit 120, a key generation unit 130, a message acquisition unit 140, a signature random number generation unit 150, a signature calculation unit 160, and a signature output unit 170. The verification apparatus 200 includes a verification input unit 210, a verification confirmation unit 220, a verification output unit 230, and a verification recording unit 290.

署名記録部190が、あらかじめq,G,G,G,e,g,gを記録しておく。そして、鍵乱数生成部110が、1以上q−1以下のランダムな整数α,x,yを生成する(S110)。鍵計算部120は、
h=g
’=g
=h
A=e(g,gα
B=e(h,gα
を計算する(S120)。鍵生成部130は、(q,G,G,G,e,g,g,A,B,h,g’,h’)を公開鍵pkとし、(pk,α,x,y)を秘密鍵skとする(S130)。
The signature recording unit 190 records q, G 1 , G 2 , G T , e, g 1 , and g 2 in advance. Then, the key random number generation unit 110 generates a random integer α, x, y of 1 or more and q−1 or less (S110). The key calculation unit 120
h = g 1 y ,
g 1 ′ = g 1 x ,
h = h x ,
A = e (g 1 , g 2 ) α ,
B = e (h, g 2 ) α ,
Is calculated (S120). The key generation unit 130 uses (q, G 1 , G 2 , G T , e, g 1 , g 2 , A, B, h, g 1 ′, h ′) as the public key pk, and (pk, α, x, y) is set as a secret key sk (S130).

メッセージ取得部140は、群G上の1以外の元であるメッセージMを受け取る(S140)。なお、メッセージMを受け取るとは、署名装置100の外部からメッセージMが入力されることだけでなく、あらかじめ署名記録部190に記録されていたメッセージMを読み出すことなども含む。署名乱数生成部150は、1以上q−1以下のランダムな整数ζ,ρ,ν生成する(S150)。署名計算部160は、
z=g ζ
r=g ρ
u=hν
s=(g α−x−11/ρ
v=(g α−x−11/ν
を計算する(S160)。署名出力部170は、(r,s,u,v,z)を署名σとして出力する(S170)。
Message acquisition unit 140 receives the message M is one other than the original on the group G 2 (S140). Note that receiving the message M includes not only inputting the message M from the outside of the signature apparatus 100 but also reading out the message M recorded in the signature recording unit 190 in advance. The signature random number generation unit 150 generates random integers ζ, ρ, and ν of 1 to q−1 (S150). The signature calculation unit 160
z = g 2 ζ ,
r = g 1 ρ ,
u = h ν ,
s = (g 2 α M −x z −1 ) 1 / ρ ,
v = (g 2 α M −x z −1 ) 1 / ν ,
Is calculated (S160). The signature output unit 170 outputs (r, s, u, v, z) as the signature σ (S170).

検証入力部210は、メッセージMと署名σとを受信し、検証記録部290に保管する(S210)。検証確認部220は、
A=e(g’,M)e(g,z)e(r,s)であること、
B=e(h’,M)e(h,z)e(u,v)であること、
を確認する(S220)。検証出力部230は、検証確認部220がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する(S230)。例えば、署名が正しいことを示す情報として“1”を出力し、署名が正しくないことを示す情報として“0”を出力すればよい。
The verification input unit 210 receives the message M and the signature σ and stores them in the verification recording unit 290 (S210). The verification confirmation unit 220
A = e (g 1 ′, M) e (g 1 , z) e (r, s),
B = e (h ′, M) e (h, z) e (u, v),
Is confirmed (S220). The verification output unit 230 outputs information indicating that the signature is correct when the verification confirmation unit 220 confirms that all the conditions are satisfied, and the signature is incorrect when it is confirmed that any of the conditions is not satisfied. Is output (S230). For example, “1” may be output as information indicating that the signature is correct, and “0” may be output as information indicating that the signature is not correct.

本実施例の署名・検証システムによれば、異なる群からなる双線形写像を利用し、群Gから群Gへの写像が困難であることが仮定されている。そして、異なる生成元の指数部を求めることが難しい性質を利用し、2つの異なる群上でのメッセージを署名のアウトプットとしている。本発明の署名・検証システムはこのような特徴を有するので、検証のときに確認する式の数を少なくできる。また、メッセージに対する制約条件はなく、任意のメッセージに対して署名生成が可能である。 According to the signature / verification system of the present embodiment, it is assumed that the mapping from the group G 1 to the group G 2 is difficult by using a bilinear map composed of different groups. Then, using the property that it is difficult to find the exponents of different generators, messages on two different groups are used as signature output. Since the signature / verification system of the present invention has such characteristics, the number of expressions to be confirmed at the time of verification can be reduced. In addition, there are no restrictions on the message, and a signature can be generated for any message.

[変形例]
実施例1では、ランダムな整数αを鍵計算部のA,Bの計算に用いた。本実施例では、鍵計算部のAの計算ではα、Bの計算ではβ(アルファとは別のランダムな整数)を用いる。
[Modification]
In the first embodiment, a random integer α is used for calculating A and B of the key calculation unit. In this embodiment, α is used for the calculation of A by the key calculation unit, and β (a random integer different from alpha) is used for the calculation of B.

図4は実施例1変形例の署名・検証システムの構成例を示す図、図5は署名装置の処理フローを示す図、図6は検証装置の処理フローを示す図である。実施例1変形例の署名・検証システムは、署名装置300と検証装置200を含む。この図では、署名装置300と検証装置200とはネットワーク800によって接続されている。なお、署名装置300が出力した署名σを検証装置200に渡す方法は、ネットワークを用いる方法に限定する必要はない。例えば、記録媒体によって署名装置300から検証装置200に渡されてもよい。   4 is a diagram illustrating a configuration example of a signature / verification system according to a modification of the first embodiment, FIG. 5 is a diagram illustrating a processing flow of the signature device, and FIG. 6 is a diagram illustrating a processing flow of the verification device. The signature / verification system according to the first embodiment includes a signature device 300 and a verification device 200. In this figure, the signature device 300 and the verification device 200 are connected by a network 800. Note that the method of passing the signature σ output from the signature device 300 to the verification device 200 is not necessarily limited to a method using a network. For example, it may be transferred from the signature device 300 to the verification device 200 by a recording medium.

まず、G、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、gを群Gの任意の生成元とする。署名装置300は、署名記録部390、鍵乱数生成部310、鍵計算部320、鍵生成部330、メッセージ取得部140、署名乱数生成部150、署名計算部60、署名出力部170を備える。検証装置200は、検証入力部210、検証確認部220、検証出力部230、検証記録部290を備える。 First, G 1, G 2 a mapping is difficult order q group of from G 1 to G 2, bilinear mapping group of order q of G T, the e G 1 × G 2 → G T, g 1 any generator of the group G 1, the g 2 and any generator of the group G 2. Signature device 300 includes a signature recording unit 390, a key the random number generation unit 310, a key calculation unit 320, the key generation unit 330, a message acquisition unit 140, a signature random number generation unit 150, signature calculation unit 3 60, the signature output unit 170. The verification apparatus 200 includes a verification input unit 210, a verification confirmation unit 220, a verification output unit 230, and a verification recording unit 290.

まず、あらかじめ署名記録部390が、q,G,G,G,e,g,gを記録しておく。そして、鍵乱数生成部310が、1以上q−1以下のランダムな整数α,β,x,yを生成する(S310)。鍵計算部320は、
h=g
’=g
=h
A=e(g,gα
B=e(h,gβ
を計算する(S320)。鍵生成部330は、(q,G,G,G,e,g,g,A,B,h,g’,h’)を公開鍵pkとし、(pk,α,β,x,y)を秘密鍵skとする(S330)。署名計算部360は、
z=g ζ
r=g ρ
u=h ν
s=(g α −x −1 1/ρ
v=(g β −x −1 1/ν
を計算する(S360)。メッセージ取得部140、署名乱数生成部150、署名出力部170の処理は実施例1の署名装置100と同じである。
First, the signature recording unit 390 records q, G 1 , G 2 , G T , e, g 1 , and g 2 in advance. Then, the key random number generation unit 310 generates random integers α, β, x, y of 1 or more and q−1 or less (S310). The key calculation unit 320
h = g 1 y ,
g 1 ′ = g 1 x ,
h = h x ,
A = e (g 1 , g 2 ) α ,
B = e (h, g 2 ) β ,
Is calculated (S320). The key generation unit 330 uses (q, G 1 , G 2 , G T , e, g 1 , g 2 , A, B, h, g 1 ′, h ′) as the public key pk, and (pk, α, Let β, x, y) be the secret key sk (S330). The signature calculation unit 360
z = g 2 ζ ,
r = g 1 ρ ,
u = h ν ,
s = (g 2 α M −x z −1 ) 1 / ρ ,
v = (g 2 β M −x z −1 ) 1 / ν ,
Is calculated (S360). Message acquisition unit 140, a signature random number generation unit 150, the processing of the signature output unit 170 is the same as the signature device 100 of the first embodiment.

検証装置200は実施例1と同じである。つまり、検証入力部210は、メッセージMと署名σとを受信し、検証記録部290に保管する(S210)。検証確認部220は、
A=e(g’,M)e(g,z)e(r,s)であること、
B=e(h’,M)e(h,z)e(u,v)であること、
を確認する(S220)。検証出力部230は、検証確認部220がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する(S230)。
The verification device 200 is the same as that in the first embodiment. That is, the verification input unit 210 receives the message M and the signature σ and stores them in the verification recording unit 290 (S210). The verification confirmation unit 220
A = e (g 1 ′, M) e (g 1 , z) e (r, s),
B = e (h ′, M) e (h, z) e (u, v),
Is confirmed (S220). The verification output unit 230 outputs information indicating that the signature is correct when the verification confirmation unit 220 confirms that all the conditions are satisfied, and the signature is incorrect when it is confirmed that any of the conditions is not satisfied. Is output (S230).

本変形例でも、異なる群からなる双線形写像を利用し、群Gから群Gへの写像が困難であることが仮定されている。そして、異なる生成元の指数部を求めることが難しい性質を利用し、2つの異なる群上でのメッセージを署名のアウトプットとしている。本発明の署名・検証システムはこのような特徴を有するので、検証のときに確認する式の数を少なくできる。また、メッセージに対する制約条件はなく、任意のメッセージに対して署名生成が可能である Also in this modification, it is assumed that it is difficult to map from the group G 1 to the group G 2 using a bilinear map composed of different groups. Then, using the property that it is difficult to find the exponents of different generators, messages on two different groups are used as signature output. Since the signature / verification system of the present invention has such characteristics, the number of expressions to be confirmed at the time of verification can be reduced. In addition, there are no restrictions on the message, and a signature can be generated for any message .

プログラム、記録媒体
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
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、300、700 署名装置
110、310 鍵乱数生成部
120、320 鍵計算部
130、330 鍵生成部
140 メッセージ取得部
150 署名乱数生成部 160、60 署名計算部
170 署名出力部
190、390 署名記録部
200 検証装置 210 検証入力部
220 検証確認部 230 検証出力部
290 検証記録部 00 ネットワーク
100,300, 7 00 signing device 110,31 0 key the random number generation unit 120,32 0 key calculating unit 130,33 0 key generation unit 14 0 message acquiring unit 150 signature random number generation unit 160, 3 60 signature calculation unit 17 0 signature output unit 190,39 0 signature recording part 20 0 verification device 21 0 validation input unit 22 0 validation check unit 230 verifying the output unit 29 0 validation recording unit 8 00 network

Claims (10)

、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、gを群Gの任意の生成元とし、
q,G,G,G,e,g,gを記録する署名記録部と、
1以上q−1以下のランダムな整数α,x,yを生成する鍵乱数生成部と、
h=g
’=g
=h
A=e(g,gα
B=e(h,gα
を計算する鍵計算部と、
(q,G,G,G,e,g,g,A,B,h,g’,h’)を公開鍵pkとし、(pk,α,x,y)を秘密鍵skとする鍵生成部と、
群G上の1以外の元であるメッセージMを受け取るメッセージ取得部と、
1以上q−1以下のランダムな整数ζ,ρ,ν生成する署名乱数生成部と、
z=g ζ
r=g ρ
u=hν
s=(g α−x−11/ρ
v=(g α−x−11/ν
を計算する署名計算部と、
(r,s,u,v,z)を署名σとして出力する署名出力部と
を備える署名装置と、
メッセージMと署名σとを受信する検証入力部と、
A=e(g’,M)e(g,z)e(r,s)であること、
B=e(h’,M)e(h,z)e(u,v)であること、
を確認する検証確認部と、
前記検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する検証出力部と
を備える検証装置と
を有する署名・検証システム。
G 1, G 2 a mapping is difficult order q group of from G 1 to G 2, a group of order q of G T, bilinear mapping of e G 1 × G 2 → G T, the g 1 An arbitrary generator of group G 1 and g 2 as an arbitrary generator of group G 2 ,
a signature recording unit for recording q, G 1 , G 2 , G T , e, g 1 , g 2 ;
A key random number generator for generating random integers α, x, y of 1 to q−1;
h = g 1 y ,
g 1 ′ = g 1 x ,
h = h x ,
A = e (g 1 , g 2 ) α ,
B = e (h, g 2 ) α ,
A key calculation unit for calculating
And (q, G 1, G 2 , G T, e, g 1, g 2, A, B, h, g 1 ', h') and the public key pk and secret (pk, alpha, x, y) A key generation unit for key sk;
A message acquisition unit that receives a message M that is an element other than 1 on the group G 2 ;
A signature random number generator for generating random integers ζ, ρ, ν of 1 to q−1;
z = g 2 ζ ,
r = g 1 ρ ,
u = h ν ,
s = (g 2 α M −x z −1 ) 1 / ρ ,
v = (g 2 α M −x z −1 ) 1 / ν ,
A signature calculation unit for calculating
A signature device comprising: a signature output unit that outputs (r, s, u, v, z) as a signature σ;
A verification input unit for receiving the message M and the signature σ;
A = e (g 1 ′, M) e (g 1 , z) e (r, s),
B = e (h ′, M) e (h, z) e (u, v),
A verification check unit for checking
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.
、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、gを群Gの任意の生成元とし、
q,G,G,G,e,g,gを記録する署名記録部と、
1以上q−1以下のランダムな整数α,β,x,yを生成する鍵乱数生成部と、
h=g
’=g
=h
A=e(g,gα
B=e(h,gβ
を計算する鍵計算部と、
(q,G,G,G,e,g,g,A,B,h,g’,h’)を公開鍵pkとし、(pk,α,β,x,y)を秘密鍵skとする鍵生成部と、
群G上の1以外の元であるメッセージMを受け取るメッセージ取得部と、
1以上q−1以下のランダムな整数ζ,ρ,ν生成する署名乱数生成部と、
z=g ζ
r=g ρ
u=hν
s=(g α−x−11/ρ
v=(g β −x−11/ν
を計算する署名計算部と、
(r,s,u,v,z)を署名σとして出力する署名出力部と
を備える署名装置と、
メッセージMと署名σとを受信する検証入力部と、
A=e(g’,M)e(g,z)e(r,s)であること、
B=e(h’,M)e(h,z)e(u,v)であること、
を確認する検証確認部と、
前記検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する検証出力部と
を備える検証装置と
を有する署名・検証システム。
G 1, G 2 a mapping is difficult order q group of from G 1 to G 2, a group of order q of G T, bilinear mapping of e G 1 × G 2 → G T, the g 1 An arbitrary generator of group G 1 and g 2 as an arbitrary generator of group G 2 ,
a signature recording unit for recording q, G 1 , G 2 , G T , e, g 1 , g 2 ;
A key random number generator for generating random integers α, β, x, y of 1 to q−1;
h = g 1 y ,
g 1 ′ = g 1 x ,
h = h x ,
A = e (g 1 , g 2 ) α ,
B = e (h, g 2 ) β ,
A key calculation unit for calculating
And (q, G 1, G 2 , G T, e, g 1, g 2, A, B, h, g 1 ', h') and the public key pk and, (pk, α, β, x, y) A key generation unit with a secret key sk,
A message acquisition unit that receives a message M that is an element other than 1 on the group G 2 ;
A signature random number generator for generating random integers ζ, ρ, ν of 1 to q−1;
z = g 2 ζ ,
r = g 1 ρ ,
u = h ν ,
s = (g 2 α M −x z −1 ) 1 / ρ ,
v = (g 2 β M −x z −1 ) 1 / ν ,
A signature calculation unit for calculating
A signature device comprising: a signature output unit that outputs (r, s, u, v, z) as a signature σ;
A verification input unit for receiving the message M and the signature σ;
A = e (g 1 ′, M) e (g 1 , z) e (r, s),
B = e (h ′, M) e (h, z) e (u, v),
A verification check unit for checking
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.
署名装置と検証装置とを含む署名・検証システムでの署名・検証方法であって、
、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、gを群Gの任意の生成元とし、
前記署名装置において、
署名記録部が、あらかじめq,G,G,G,e,g,gを記録しておき、
鍵乱数生成部が、1以上q−1以下のランダムな整数α,x,yを生成する鍵乱数生成ステップと、
鍵計算部が、
h=g
’=g
=h
A=e(g,gα
B=e(h,gα
を計算する鍵計算ステップと、
鍵生成部が、(q,G,G,G,e,g,g,A,B,h,g’,h’)を公開鍵pkとし、(pk,α,x,y)を秘密鍵skとする鍵生成ステップと、
メッセージ取得部が、群G上の1以外の元であるメッセージMを受け取るメッセージ取得ステップと、
署名乱数生成部が、1以上q−1以下のランダムな整数ζ,ρ,ν生成する署名乱数生成ステップと、
署名計算部が、
z=g ζ
r=g ρ
u=hν
s=(g α−x−11/ρ
v=(g α−x−11/ν
を計算する署名計算ステップと、
署名出力部が、(r,s,u,v,z)を署名σとして出力する署名出力ステップと
を有し、
前記検証装置において、
検証入力部が、メッセージMと署名σとを受信する検証入力ステップと、
検証確認部が、
A=e(g’,M)e(g,z)e(r,s)であること、
B=e(h’,M)e(h,z)e(u,v)であること、
を確認する検証確認ステップと、
検証出力部が、前記検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する検証出力ステップと
を有する署名・検証方法。
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 q group of from G 1 to G 2, a group of order q of G T, bilinear mapping of e G 1 × G 2 → G T, the g 1 An arbitrary generator of group G 1 and g 2 as an arbitrary generator of group G 2 ,
In the signature device,
The signature recording unit records q, G 1 , G 2 , G T , e, g 1 , g 2 in advance,
A key random number generation unit for generating a random integer α, x, y between 1 and q−1;
The key calculator is
h = g 1 y ,
g 1 ′ = g 1 x ,
h = h x ,
A = e (g 1 , g 2 ) α ,
B = e (h, g 2 ) α ,
A key calculation step for calculating
The key generation unit uses (q, G 1 , G 2 , G T , e, g 1 , g 2 , A, B, h, g 1 ′, h ′) as the public key pk, and (pk, α, x , Y) as a secret key sk, and a key generation step,
A message acquisition step in which the message acquisition unit receives a message M that is an element other than 1 on the group G 2 ;
A signature random number generation unit for generating a random integer ζ, ρ, ν of 1 or more and q−1 or less;
The signature calculation department
z = g 2 ζ ,
r = g 1 ρ ,
u = h ν ,
s = (g 2 α M −x z −1 ) 1 / ρ ,
v = (g 2 α M −x z −1 ) 1 / ν ,
A signature calculation step for calculating
A signature output unit including a signature output step of outputting (r, s, u, v, z) as a signature σ;
In the verification device,
A verification input step in which the verification input unit receives the message M and the signature σ;
Verification verification part
A = e (g 1 ′, M) e (g 1 , z) e (r, s),
B = e (h ′, M) e (h, z) e (u, v),
A verification confirmation step to confirm,
When the verification output unit confirms that the verification confirmation unit satisfies all the conditions, it outputs information indicating that the signature is correct, and when the verification output unit confirms 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.
署名装置と検証装置とを含む署名・検証システムでの署名・検証方法であって、
、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、gを群Gの任意の生成元とし、
前記署名装置において、
署名記録部が、あらかじめq,G,G,G,e,g,gを記録しておき、
鍵乱数生成部が、1以上q−1以下のランダムな整数α,β,x,yを生成する鍵乱数生成ステップと、
鍵計算部が、
h=g
’=g
=h
A=e(g,gα
B=e(h,gβ
を計算する鍵計算ステップと、
鍵生成部が、(q,G,G,G,e,g,g,A,B,h,g’,h’)を公開鍵pkとし、(pk,α,β,x,y)を秘密鍵skとする鍵生成ステップと、
メッセージ取得部が、群G上の1以外の元であるメッセージMを受け取るメッセージ取得ステップと、
署名乱数生成部が、1以上q−1以下のランダムな整数ζ,ρ,ν生成する署名乱数生成ステップと、
署名計算部が、
z=g ζ
r=g ρ
u=hν
s=(g α−x−11/ρ
v=(g β −x−11/ν
を計算する署名計算ステップと、
署名出力部が、(r,s,u,v,z)を署名σとして出力する署名出力ステップと
を有し、
前記検証装置において、
検証入力部が、メッセージMと署名σとを受信する検証入力ステップと、
検証確認部が、
A=e(g’,M)e(g,z)e(r,s)であること、
B=e(h’,M)e(h,z)e(u,v)であること、
を確認する検証確認ステップと、
検証出力部が、前記検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する検証出力ステップと
を有す署名・検証方法。
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 q group of from G 1 to G 2, a group of order q of G T, bilinear mapping of e G 1 × G 2 → G T, the g 1 An arbitrary generator of group G 1 and g 2 as an arbitrary generator of group G 2 ,
In the signature device,
The signature recording unit records q, G 1 , G 2 , G T , e, g 1 , g 2 in advance,
A key random number generation unit for generating a random integer α, β, x, y between 1 and q−1;
The key calculator is
h = g 1 y ,
g 1 ′ = g 1 x ,
h = h x ,
A = e (g 1 , g 2 ) α ,
B = e (h, g 2 ) β ,
A key calculation step for calculating
The key generation unit uses (q, G 1 , G 2 , G T , e, g 1 , g 2 , A, B, h, g 1 ′, h ′) as the public key pk, and (pk, α, β , X, y) as a secret key sk, and a key generation step,
A message acquisition step in which the message acquisition unit receives a message M that is an element other than 1 on the group G 2 ;
A signature random number generation unit for generating a random integer ζ, ρ, ν of 1 or more and q−1 or less;
The signature calculation department
z = g 2 ζ ,
r = g 1 ρ ,
u = h ν ,
s = (g 2 α M −x z −1 ) 1 / ρ ,
v = (g 2 β M −x z −1 ) 1 / ν ,
A signature calculation step for calculating
A signature output unit including a signature output step of outputting (r, s, u, v, z) as a signature σ;
In the verification device,
A verification input step in which the verification input unit receives the message M and the signature σ;
Verification verification part
A = e (g 1 ′, M) e (g 1 , z) e (r, s),
B = e (h ′, M) e (h, z) e (u, v),
A verification confirmation step to confirm,
When the verification output unit confirms that the verification confirmation unit satisfies all the conditions, it outputs information indicating that the signature is correct, and when the verification output unit confirms that any of the conditions is not satisfied, the signature is not correct. A signature / verification method comprising: a verification output step for outputting the indicated information.
、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、gを群Gの任意の生成元とし、
q,G,G,G,e,g,gを記録する署名記録部と、
1以上q−1以下のランダムな整数α,x,yを生成する鍵乱数生成部と、
h=g
’=g
=h
A=e(g,gα
B=e(h,gα
を計算する鍵計算部と、
(q,G,G,G,e,g,g,A,B,h,g’,h’)を公開鍵pkとし、(pk,α,x,y)を秘密鍵skとする鍵生成部と、
群G上の1以外の元であるメッセージMを受け取るメッセージ取得部と、
1以上q−1以下のランダムな整数ζ,ρ,ν生成する署名乱数生成部と、
z=g ζ
r=g ρ
u=hν
s=(g α−x−11/ρ
v=(g α−x−11/ν
を計算する署名計算部と、
(r,s,u,v,z)を署名σとして出力する署名出力部と
を備える署名装置。
G 1, G 2 a mapping is difficult order q group of from G 1 to G 2, a group of order q of G T, bilinear mapping of e G 1 × G 2 → G T, the g 1 An arbitrary generator of group G 1 and g 2 as an arbitrary generator of group G 2 ,
a signature recording unit for recording q, G 1 , G 2 , G T , e, g 1 , g 2 ;
A key random number generator for generating random integers α, x, y of 1 to q−1;
h = g 1 y ,
g 1 ′ = g 1 x ,
h = h x ,
A = e (g 1 , g 2 ) α ,
B = e (h, g 2 ) α ,
A key calculation unit for calculating
And (q, G 1, G 2 , G T, e, g 1, g 2, A, B, h, g 1 ', h') and the public key pk and secret (pk, alpha, x, y) A key generation unit for key sk;
A message acquisition unit that receives a message M that is an element other than 1 on the group G 2 ;
A signature random number generator for generating random integers ζ, ρ, ν of 1 to q−1;
z = g 2 ζ ,
r = g 1 ρ ,
u = h ν ,
s = (g 2 α M −x z −1 ) 1 / ρ ,
v = (g 2 α M −x z −1 ) 1 / ν ,
A signature calculation unit for calculating
A signature output unit that outputs (r, s, u, v, z) as a signature σ.
、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、gを群Gの任意の生成元とし、
q,G,G,G,e,g,gを記録する署名記録部と、
1以上q−1以下のランダムな整数α,β,x,yを生成する鍵乱数生成部と、
h=g
’=g
=h
A=e(g,gα
B=e(h,gβ
を計算する鍵計算部と、
(q,G,G,G,e,g,g,A,B,h,g’,h’)を公開鍵pkとし、(pk,α,β,x,y)を秘密鍵skとする鍵生成部と、
群G上の1以外の元であるメッセージMを受け取るメッセージ取得部と、
1以上q−1以下のランダムな整数ζ,ρ,ν生成する署名乱数生成部と、
z=g ζ
r=g ρ
u=hν
s=(g α−x−11/ρ
v=(g β −x−11/ν
を計算する署名計算部と、
(r,s,u,v,z)を署名σとして出力する署名出力部と
を備える署名装置。
G 1, G 2 a mapping is difficult order q group of from G 1 to G 2, a group of order q of G T, bilinear mapping of e G 1 × G 2 → G T, the g 1 An arbitrary generator of group G 1 and g 2 as an arbitrary generator of group G 2 ,
a signature recording unit for recording q, G 1 , G 2 , G T , e, g 1 , g 2 ;
A key random number generator for generating random integers α, β, x, y of 1 to q−1;
h = g 1 y ,
g 1 ′ = g 1 x ,
h = h x ,
A = e (g 1 , g 2 ) α ,
B = e (h, g 2 ) β ,
A key calculation unit for calculating
And (q, G 1, G 2 , G T, e, g 1, g 2, A, B, h, g 1 ', h') and the public key pk and, (pk, α, β, x, y) A key generation unit with a secret key sk,
A message acquisition unit that receives a message M that is an element other than 1 on the group G 2 ;
A signature random number generator for generating random integers ζ, ρ, ν of 1 to q−1;
z = g 2 ζ ,
r = g 1 ρ ,
u = h ν ,
s = (g 2 α M −x z −1 ) 1 / ρ ,
v = (g 2 β M −x z −1 ) 1 / ν ,
A signature calculation unit for calculating
A signature output unit that outputs (r, s, u, v, z) as a signature σ.
、GをGからGへの写像が困難な位数qの群、Gを位数qの群、eをG×G→Gの双線形写像、gを群Gの任意の生成元、gを群Gの任意の生成元、α,x,y、ζ,ρ,νを1以上q−1以下の整数、
h=g
’=g
h’=h
A=e(g ,g α
B=e(h,g α
(q,G,G,G,e,g,g,A,B,h,g’,h’)を公開鍵pkとし、
z=g ζ
r=g ρ
u=h ν
s=(g α −x −1 1/ρ
v=(g α −x −1 1/ν
のように計算された(r,s,u,v,z)を正しい署名σであると確認するための検証装置であって、
メッセージMと署名σ=(r,s,u,v,z)とを受信する検証入力部と、
A=e(g’,M)e(g,z)e(r,s)であること、
B=e(h’,M)e(h,z)e(u,v)であること、
を確認する検証確認部と、
前記検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する検証出力部と
を備える検証装置。
G 1, G 2 a mapping is difficult order q group of from G 1 to G 2, a group of order q of G T, bilinear mapping of e G 1 × G 2 → G T, the g 1 An arbitrary generator of the group G 1 , g 2 an arbitrary generator of the group G 2 , α, x, y, ζ, ρ, ν an integer of 1 to q−1,
h = g 1 y ,
g 1 ′ = g 1 x ,
h ′ = h x ,
A = e (g 1 , g 2 ) α ,
B = e (h, g 2 ) α ,
(Q, G 1 , G 2 , G T , e, g 1 , g 2 , A, B, h, g 1 ′, h ′) as a public key pk,
z = g 2 ζ ,
r = g 1 ρ ,
u = h ν ,
s = (g 2 α M −x z −1 ) 1 / ρ ,
v = (g 2 α M −x z −1 ) 1 / ν ,
A verification device for confirming that (r, s, u, v, z) calculated as follows is a correct signature σ,
A verification input unit for receiving the message M and the signature σ = (r, s, u, v, z);
A = e (g 1 ′, M) e (g 1 , z) e (r, s),
B = e (h ′, M) e (h, z) e (u, v),
A verification check unit for checking
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.
  G 1 、G, G 2 をGG 1 からGTo G 2 への写像が困難な位数qの群、GA group of order q difficult to map to, G T を位数qの群、eをGIs a group of order q, e is G 1 ×G× G 2 →G→ G T の双線形写像、gBilinear mapping of g 1 を群GGroup G 1 の任意の生成元、gAny generator of, g 2 を群GGroup G 2 の任意の生成元、α,β,x,y、ζ,ρ,νを1以上q−1以下の整数、An arbitrary generator of [alpha], [beta], x, y, [zeta], [rho], and [nu]
h=g  h = g 1 y ,
  g 1 ’=g'= G 1 x ,
h’=h  h ’= h x ,
A=e(g  A = e (g 1 ,g, G 2 ) αα ,
B=e(h,g  B = e (h, g 2 ) αα ,
(q,G(Q, G 1 ,G, G 2 ,G, G T ,e,g, E, g 1 ,g, G 2 ,A,B,h,g, A, B, h, g 1 ’,h’)を公開鍵pkとし、‘, H’) as the public key pk,
z=g  z = g 2 ζζ ,
r=g  r = g 1 ρρ ,
u=h  u = h νν ,
s=(g  s = (g 2 αα M −x-X z −1-1 ) 1/ρ1 / ρ ,
v=(g  v = (g 2 ββ M −x-X z −1-1 ) 1/ν1 / ν ,
のように計算された(r,s,u,v,z)を正しい署名σであると確認するための検証装置であって、A verification device for confirming that (r, s, u, v, z) calculated as follows is a correct signature σ,
メッセージMと署名σ=(r,s,u,v,z)とを受信する検証入力部と、  A verification input unit for receiving the message M and the signature σ = (r, s, u, v, z);
A=e(g  A = e (g 1 ’,M)e(g', M) e (g 1 ,z)e(r,s)であること、, Z) e (r, s),
B=e(h’,M)e(h,z)e(u,v)であること、  B = e (h ′, M) e (h, z) e (u, v),
を確認する検証確認部と、A verification check unit for checking
前記検証確認部がすべての条件を満たすと確認した場合には署名が正しいことを示す情報を出力し、いずれかの条件を満たさないと確認した場合に署名が正しくないことを示す情報を出力する検証出力部と  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. Verification output section
を備える検証装置。  A verification apparatus comprising:
請求項5もしくは6記載の署名装置、または請求項7もしくは8記載の検証装置のいずれかの装置として、コンピュータを機能させるプログラム。 A program that causes a computer to function as the signature device according to claim 5 or 6 , or the verification device according to claim 7 or 8 . 請求項9記載のプログラムを記録した記録媒体。   A recording medium on which the program according to claim 9 is recorded.
JP2010035928A 2010-02-22 2010-02-22 Signature / verification system, signature / verification method, signature device, verification device, program, recording medium Expired - Fee Related JP5331027B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010035928A JP5331027B2 (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
JP2010035928A JP5331027B2 (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
JP2011170246A JP2011170246A (en) 2011-09-01
JP5331027B2 true JP5331027B2 (en) 2013-10-30

Family

ID=44684409

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010035928A Expired - Fee Related JP5331027B2 (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) JP5331027B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5457991B2 (en) * 2010-10-21 2014-04-02 日本電信電話株式会社 Digital signature / verification system, digital signature / verification method, signature apparatus, verification apparatus, and program thereof
WO2013111673A1 (en) * 2012-01-24 2013-08-01 日本電信電話株式会社 Signature verification system, signature device, verification device, and signature verification method

Also Published As

Publication number Publication date
JP2011170246A (en) 2011-09-01

Similar Documents

Publication Publication Date Title
KR102929175B1 (en) (EC)DSA threshold signature with secret sharing
JP5790319B2 (en) Signature verification apparatus, signature verification method, program, and recording medium
JP6069852B2 (en) Information processing apparatus, information processing method, and program
JP5593850B2 (en) Authentication device, authentication method, program, and signature generation device
CN101877635B (en) Image processing apparatus and method, electronic signature generation system, electronic signature key generation method
US9037623B2 (en) Proxy calculation system, proxy calculation method, proxy calculation requesting apparatus, and proxy calculation program and recording medium therefor
KR102747331B1 (en) Computer implemented method and system for obtaining digitally signed data
EP3779932B1 (en) Blockchain network and finalization method thereof
KR20230093432A (en) Identification of Denial of Service Attacks
KR101382626B1 (en) System and method for id-based strong designated verifier signature
JP5331027B2 (en) Signature / verification system, signature / verification method, signature device, verification device, program, recording medium
JP2015126332A (en) Cryptographic communication system, cryptographic communication method, program
CN114128213B (en) Device, method and program for verifying the authenticity of a public key
JP5331028B2 (en) Signature / verification system, signature / verification method, signature device, verification device, program, recording medium
JP5330964B2 (en) Signature / verification system, signature / verification method, signature device, verification device, program
JP6634171B2 (en) Apparatus, method and program for certifying public key reliability
WO2013129119A1 (en) Information processing device, information processing method, and program
JP5815754B2 (en) Signature verification system, signature device, verification device, and signature verification method
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
JP5069157B2 (en) Signature system, signature method, verification device, verification device, verification method, verification method, program
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
WO2013031413A1 (en) Information processing device, information processing method, program, and recording medium
JPWO2019039382A1 (en) Consensus systems, consensus devices, programs, and recording media

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

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