JP5683512B2 - Verifiable cryptographic signature system, verifiable cryptographic signature method, apparatus, and program - Google Patents

Verifiable cryptographic signature system, verifiable cryptographic signature method, apparatus, and program Download PDF

Info

Publication number
JP5683512B2
JP5683512B2 JP2012032944A JP2012032944A JP5683512B2 JP 5683512 B2 JP5683512 B2 JP 5683512B2 JP 2012032944 A JP2012032944 A JP 2012032944A JP 2012032944 A JP2012032944 A JP 2012032944A JP 5683512 B2 JP5683512 B2 JP 5683512B2
Authority
JP
Japan
Prior art keywords
signature
tagk
verification
tagc
elements
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
JP2012032944A
Other languages
Japanese (ja)
Other versions
JP2013172177A (en
Inventor
陵 西巻
陵 西巻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012032944A priority Critical patent/JP5683512B2/en
Publication of JP2013172177A publication Critical patent/JP2013172177A/en
Application granted granted Critical
Publication of JP5683512B2 publication Critical patent/JP5683512B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、例えば、電気通信システムで利用される、暗号化された状態で検証可能なディジタル署名技術(検証可能暗号化署名技術)に関する。   The present invention relates to a digital signature technology that can be verified in an encrypted state (verifiable encryption signature technology) used in, for example, a telecommunications system.

これまでにいくつかの安全な検証可能暗号化署名技術が提案されてきた。   To date, several secure verifiable cryptographic signature techniques have been proposed.

非特許文献1に開示された方式は検証鍵のサイズが非常に小さい方式であるが、その安全性はランダムオラクルモデルという非現実的なモデルでしか証明できないため、安全性に信頼がおけない。   The method disclosed in Non-Patent Document 1 is a method in which the size of the verification key is very small. However, since its security can only be proved by an unrealistic model called a random oracle model, the security cannot be trusted.

非特許文献2に開示された方式は標準的な暗号学仮定に基づき、かつ標準モデルという現実的なモデルで安全性が証明されているが、検証鍵のサイズがセキュリティパラメータのサイズに比例して大きくなるという欠点がある。   The method disclosed in Non-Patent Document 2 is based on standard cryptographic assumptions and has been proved to be secure by a realistic model called a standard model. However, the size of the verification key is proportional to the size of the security parameter. There is a disadvantage of becoming larger.

非特許文献3に開示された方式は標準モデルで安全性が証明され、検証鍵のサイズが小さい方式であるが、安全性の根拠と成る暗号学仮定が非標準的なものであるため、安全性に信頼がおけない。   The method disclosed in Non-Patent Document 3 is a method whose security is proved by a standard model and the size of the verification key is small. However, since the cryptographic assumptions that form the basis of security are non-standard, There is no trust in sex.

なお、標準モデルやランダムオラクルモデル、暗号の安全性などについては、例えば非特許文献4が参考になる。   For the standard model, random oracle model, encryption security, etc., for example, Non-Patent Document 4 is helpful.

D. Boneh, C. Gentry, B. Lynn, and H. Shacham. Aggregate and Verifiably Encrypted Signatures from Bilinear Maps. In EUROCRYPT, volume 2656 of Lecture Notes in Computer Science, pages 416-432. Springer, 2003.D. Boneh, C. Gentry, B. Lynn, and H. Shacham. Aggregate and Verifiably Encrypted Signatures from Bilinear Maps.In EUROCRYPT, volume 2656 of Lecture Notes in Computer Science, pages 416-432.Springer, 2003. S. Lu, R. Ostrovsky, A. Sahai, H. Shacham, and B. Waters. Sequential Aggregate Signatures and Multisignatures Without Random Oracles. In EUROCRYPT, volume 4004 of Lecture Notes in Computer Science, pages 465-485. Springer, 2006.S. Lu, R. Ostrovsky, A. Sahai, H. Shacham, and B. Waters. Sequential Aggregate Signatures and Multisignatures Without Random Oracles. In EUROCRYPT, volume 4004 of Lecture Notes in Computer Science, pages 465-485. Springer, 2006 . M. Ruckert and D. Schroder. Security of Verifiably Encrypted Signatures and a Construction without Random Oracles. In Pairing, volume 5671 of Lecture Notes in Computer Science, pages 17-34. Springer, 2009.M. Ruckert and D. Schroder.Security of Verifiably Encrypted Signatures and a Construction without Random Oracles.In Pairing, volume 5671 of Lecture Notes in Computer Science, pages 17-34.Springer, 2009. 森山大輔、西巻陵、岡本龍明共著、「公開鍵暗号の数理−シリーズ応用数理第2巻−」、初版、共立出版株式会社、2011年3月、pp.23-31, pp.94-95. ISBN:978-4-320-01951-5.Daisuke Moriyama, Ryo Nishimaki, Tatsuaki Okamoto, "Mathematics of Public Key Cryptography-Series Applied Mathematics Volume 2", First Edition, Kyoritsu Publishing Co., Ltd., March 2011, pp.23-31, pp.94-95 ISBN: 978-4-320-01951-5.

既存方式では、標準モデルで安全なものは、標準的な暗号学的仮定しか用いないが検証鍵のサイズがセキュリティパラメータのサイズに依存して大きくなる方式か、検証鍵のサイズが小さいが非標準的な(より信頼のおけない)暗号学仮定を必要とする方式しかなかった。   In the existing method, the standard model that is secure uses only standard cryptographic assumptions, but the verification key size increases depending on the security parameter size, or the verification key size is small but non-standard There was only a scheme that required a common (more unreliable) cryptographic assumption.

そこで本発明は、標準的な暗号学仮定に基づき且つ検証鍵のサイズがセキュリティパラメータのサイズに依存しない検証可能暗号化署名技術を提供することを目的とする。   Accordingly, an object of the present invention is to provide a verifiable cryptographic signature technique based on standard cryptographic assumptions and whose verification key size does not depend on the size of security parameters.

本発明の検証可能暗号化署名技術は、次のとおりである。本発明によると、検証可能暗号化署名システムは、裁定装置と、署名装置と、検証装置とを含む。pを素数、Zを整数全体を表す集合、Zpをpを法とするZの剰余類環、Zp =Zp-{0}、G,GTをそれぞれ素数位数pの巡回乗法群、gを群Gの生成元、eを双線形写像、MをZ p の元、Γ:=(p,G,GT,e,g)を双線型写像についての標準的な群生成アルゴリズムによって生成された予め定められたシステムパラメータとする。そして、裁定装置の裁定者鍵生成部が、Zp の元βを選び、裁定者公開鍵apk:=ζ:=gβおよび裁定者復号鍵ask:=βを出力する[裁定者鍵生成処理]。署名装置の鍵生成部は、群Gの元v,v1,v2,w,u,hおよびZpの元a1,a2,b,αを選び、τ1:=vv1a1, τ2:=vv2a2を計算し、検証鍵VK:=(gb,ga1,ga2,gba1,gba2,τ1,τ2,τ1b,τ2b,w,u,h,e(g,g)αa1b)、署名鍵SK:=(VK,gα,gαa1,v,v1,v2)を出力する[鍵生成処理]。また、署名装置の署名生成部は、Zpの元r1, r2, z1, z2, tagkを用いて、r:=r1+r2とし、σ1:=gαa1vr, σ2:=gv1rgz1, σ3:=(gb)-z1, σ4:=v2rgz2, σ5:=(gb)-z2, σ6:=(gb)r2, σ7:=gr1, σ8:=(uMwtagkh)r1を計算し、Zpの元ρ1,ρ24を選び、K1:=σ1・ζρ1, K1':=gρ1, K1^:=(gb)ρ1, K2:=σ2・ζρ2, K2':=gρ2, K2^:=(gba1)ρ2, K3:=σ3, K4:=σ4・ζρ4, K4':=gρ4, K4^:=(gba2)ρ4, K5:=σ5, K6:=σ6, K7:=σ7, K8:=σ8を計算し、検証可能暗号化署名ω:=(K1,K2,K3,K4,K5,K6,K7,K8,K1',K2',K4',K1^,K2^,K4^,tagk)を出力する[署名生成処理]。そして、検証装置の検証部は、Zpの元s1,s2,t,tagcを選び、s:=s1+s2とし、V1:=(gb)s, V2:=(gba1)s1, V3:=(ga1)s1, V4:=(gba2)s2, V5:=(ga2)s2, V6:=τ1s1τ2s2, V7:=(τ1b)s1(τ2b)s2w-t, E1:=(uMwtagch)t, E2:=gtを計算し、tagc-tagk≠0を確認し、θ:=1/(tagc-tagk)として、e(K1',gb)=e(g,K1^), e(K2',gba1)=e(g,K2^), e(K4',gba2)=e(g,K4^), および(e(V1,K1)/e(ζs,K1^))・(e(V2,K2)/e(ζs1,K2^))・e(V3,K3)・(e(V4,K4)/e(ζs2,K4^))・e(V5,K5)=e(V6,K6)・e(V7,K7)・(e(E1,K7)/e(E2,K8))θ・(e(g,g)αa1b)s2が成立することを確認したとき且つそのときに限り検証成功を表す検証結果を出力する[検証処理]。 The verifiable encryption signature technique of the present invention is as follows. According to the present invention, a verifiable cryptographic signature system includes an arbitration device, a signature device, and a verification device. p is a prime number, Z is a set representing the whole integer, Z p is a remainder class ring of Z modulo p , Z p * = Z p- {0}, G and G T are cyclic multiplications of prime order p, respectively Standard group generation algorithm for groups, g for generators of group G, e for bilinear maps, M for elements of Z p , Γ: = (p, G, G T , e, g) for bilinear maps Is a predetermined system parameter generated by. Then, the arbitrator key generation unit of the arbitrator selects the element β of Z p * , and outputs the arbitrator public key apk: = ζ: = g β and the arbitrator decryption key ask: = β [arbiter key generation processing]. The key generation unit of the signature device selects elements v, v1, v2, w, u, h of group G and elements a1, a2, b, α of Z p , and sets τ1: = vv1 a1 , τ2: = vv2 a2 Calculate and verify key VK: = (g b , g a1 , g a2 , g ba1 , g ba2 , τ1, τ2, τ1 b , τ2 b , w, u, h, e (g, g) αa1b ), signature The key SK: = (VK, g α , g αa1 , v, v1, v2) is output [key generation process]. In addition, the signature generation unit of the signature device uses the elements r1, r2, z1, z2, and tagk of Z p as r: = r1 + r2, and σ1: = g αa1 v r , σ2: = g −α v1 r g z1 , σ3: = (g b ) -z1 , σ4: = v2 r g z2 , σ5: = (g b ) -z2 , σ6: = (g b ) r2 , σ7: = g r1 , σ8: = (u M w tagk h) Calculate r1 , choose the elements ρ1, ρ2 , ρ4 of Z p , K1: = σ 1・ ζ ρ1 , K1 ': = g ρ1 , K1 ^: = (g b ) ρ1 , K2: = σ2 ・ ζ ρ2 , K2 ': = g ρ2 , K2 ^: = (g ba1 ) ρ2 , K3: = σ3, K4: = σ4 ・ ζ ρ4 , K4': = g ρ4 , K4 ^: = (g ba2 ) ρ4 , K5: = σ5, K6: = σ6, K7: = σ7, K8: = σ8 and verifiable cryptographic signature ω: = (K1, K2, K3, K4, K5, K6, K7, K8, K1 ', K2', K4 ', K1 ^, K2 ^, K4 ^, tagk) are output [signature generation processing]. Then, the verification unit of the verification apparatus selects the elements s1, s2, t, and tagc of Z p and sets s: = s1 + s2, and V1: = (g b ) s , V2: = (g ba1 ) s1 , V3 : = (g a1 ) s1 , V4: = (g ba2 ) s2 , V5: = (g a2 ) s2 , V6: = τ1 s1 τ2 s2 , V7: = (τ1 b ) s1 (τ2 b ) s2 w -t , E1: = (u M w tagc h) t , E2: = g t , check tagc-tagk ≠ 0, and set θ: = 1 / (tagc-tagk) as e (K1 ', g b ) = e (g, K1 ^), e (K2 ', g ba1 ) = e (g, K2 ^), e (K4', g ba2 ) = e (g, K4 ^), and (e (V1, K1) / e (ζ s , K1 ^)) ・ (e (V2, K2) / e (ζ s1 , K2 ^)) ・ e (V3, K3) ・ (e (V4, K4) / e (ζ s2 , K4 ^)) ・ e (V5, K5) = e (V6, K6) ・ e (V7, K7) ・ (e (E1, K7) / e (E2, K8)) θ・ (e (g, g ) αa1b ) When it is confirmed that s2 is satisfied, and only when it is confirmed, a verification result indicating a verification success is output [verification processing].

さらに、裁定装置の復元部が、Zpの元s1,s2,t,tagcを選び、s:=s1+s2とし、V1:=(gb)s, V2:=(gba1)s1, V3:=(ga1)s1, V4:=(gba2)s2, V5:=(ga2)s2, V6:=τ1s1τ2s2, V7:=(τ1b)s1(τ2b)s2w-t, E1:=(uMwtagch)t, E2:=gtを計算し、tagc-tagk≠0を確認し、θ:=1/(tagc-tagk)として、e(K1',gb)=e(g,K1^), e(K2',gba1)=e(g,K2^), e(K4',gba2)=e(g,K4^), および(e(V1,K1)/e(ζs,K1^))・(e(V2,K2)/e(ζs1,K2^))・e(V3,K3)・(e(V4,K4)/e(ζs2,K4^))・e(V5,K5)=e(V6,K6)・e(V7,K7)・(e(E1,K7)/e(E2,K8))θ・(e(g,g)αa1b)s2が成立することを確認し、この確認ができた場合に、σ1:=K1・(K1'), σ2:=K2・(K2'), σ3:=K3, σ4:=K4・(K4'), σ5:=K5, σ6:=K6, σ7:=K7, およびσ8:=K8を計算し、Zpの元z1',z2',r'を選び、σ1':=σ1, σ2':=σ2・gz1', σ3':=σ3・(gb)-z1', σ4':=σ4・gz2', σ5':=σ5・(gb)-z2', σ6':=σ6・(gb)-r', σ7':=σ7・gr', およびσ8':=σ8・(uMwtagkh)r'を計算し、署名σ':=(σ1',σ2',σ3',σ4',σ5',σ6',σ7',σ8',tagk)を出力する[復元処理]も含みえる。 Further, the restoration unit of the arbitration device selects the elements s1, s2, t, and tagc of Z p and sets s: = s1 + s2, and V1: = (g b ) s , V2: = (g ba1 ) s1 , V3 : = (g a1 ) s1 , V4: = (g ba2 ) s2 , V5: = (g a2 ) s2 , V6: = τ1 s1 τ2 s2 , V7: = (τ1 b ) s1 (τ2 b ) s2 w -t , E1: = (u M w tagc h) t , E2: = g t , check tagc-tagk ≠ 0, and set θ: = 1 / (tagc-tagk) as e (K1 ', g b ) = e (g, K1 ^), e (K2 ', g ba1 ) = e (g, K2 ^), e (K4', g ba2 ) = e (g, K4 ^), and (e (V1, K1) / e (ζ s , K1 ^)) ・ (e (V2, K2) / e (ζ s1 , K2 ^)) ・ e (V3, K3) ・ (e (V4, K4) / e (ζ s2 , K4 ^)) ・ e (V5, K5) = e (V6, K6) ・ e (V7, K7) ・ (e (E1, K7) / e (E2, K8)) θ・ (e (g, g ) αa1b ) If s2 is confirmed and confirmed, σ1: = K1 ・ (K1 ') , σ2: = K2 ・ (K2') , σ3: = K3, σ4 : = K4 ・ (K4 ') , σ5: = K5, σ6: = K6, σ7: = K7, and σ8: = K8, choose the elements z1', z2 ', r' of Z p , σ1 ': = σ1, σ2': = σ2 ・ g z1 ' , σ3': = σ3 ・ (g b ) -z1 ' , σ4': = σ4 ・ g z2 ' , σ5': = σ5 ・ (g b ) -z2 ', σ6': = σ6 · (g b) -r ', σ7': = σ7 · g r ', and σ8': = σ8 · (u M w tagk h) r ' Calculated signature σ ': = (σ1', σ2 ', σ3', σ4 ', σ5', σ6 ', σ7', σ8 ', tagk) outputs the restoration process] also may include.

本発明に拠れば、詳細は後述の実施形態に譲るが、署名鍵の要素数を若干増やすもののその代わりに検証鍵の要素数を大きく減らす、署名鍵が複数の群要素からなる署名技術を元に、署名を暗号化する際に、署名鍵が関係する署名の要素だけではなく、署名鍵が直接関係しない署名の乱数要素も裁定者公開鍵で暗号化することによって、検証鍵のサイズがセキュリティパラメータのサイズに依存しないものとなっており、また、安全性が標準的な暗号学的仮定のみに基づている。   According to the present invention, details will be given to the embodiment described later, but the number of elements of the signature key is slightly increased, but instead the number of elements of the verification key is greatly reduced. In addition, when encrypting a signature, not only the signature element related to the signature key but also the random number element of the signature not directly related to the signature key is encrypted with the arbitrator public key, so that the size of the verification key is secured. It is independent of parameter size, and security is based only on standard cryptographic assumptions.

実施形態の検証可能暗号化署名システムを示す図。The figure which shows the verifiable encryption signature system of embodiment. 実施形態における検証可能暗号化署名の処理手順を示す図。The figure which shows the process sequence of the verifiable encryption signature in embodiment. 実施形態に関わる検証可能暗号化署名システムの構成要素であるシステムパラメータ生成装置、裁定装置、署名装置、検証装置の機能構成を示す図。1 is a diagram illustrating a functional configuration of a system parameter generation device, an arbitration device, a signature device, and a verification device that are components of a verifiable encryption signature system according to an embodiment.

本発明の実施形態を説明する前に、いくつかの基本的事項について説明する。
まず、記法について説明する。
或る有限集合Sについて、r ←U S は、集合Sから要素rを一様ランダムに選択することを表す。
或る確率的多項式時間アルゴリズムAについて、a ←R A(x) は、アルゴリズムAはxを入力とし、乱数を用いて動作し、aを出力することを表す。
或る値a,bについて、a:=bは、aにbを代入する、または、aをbで定義することを表す。いずれであるかは文意から明らかであるから特に断らない。
Before describing the embodiment of the present invention, some basic matters will be described.
First, the notation will be described.
For a certain finite set S, r ← U S represents that the element r is uniformly selected from the set S.
For a probabilistic polynomial time algorithm A, a ← R A (x) represents that algorithm A operates with a random number and inputs a and outputs a.
For some values a and b, a: = b indicates that b is substituted for a or that a is defined by b. Which is clear is clear from the meaning of the sentence, so it is not particularly refused.

[ペアリング]
双線型性を満たすペアリングと呼ばれる演算は有限体上で定義された楕円曲線上の有理点と無限遠点を元とする群構造として定義される。なお、楕円曲線上の群は通常、加法群であるが、慣習に従い乗法群として記述することにする。詳しくは例えば参考文献1を参照されたい。
(参考文献1)D. Boneh and M. K. Franklin. Identity-Based Encryption from theWeil Pairing. In CRYPTO’01, volume 2139 of Lecture Notes in Computer Science, pages 213-229. Springer, 2001.
[Pairing]
An operation called pairing that satisfies bilinearity is defined as a group structure based on a rational point and an infinite point on an elliptic curve defined on a finite field. Although the group on the elliptic curve is usually an additive group, it is described as a multiplicative group according to the custom. For details, refer to Reference Document 1, for example.
(Reference 1) D. Boneh and MK Franklin. Identity-Based Encryption from the Weil Pairing. In CRYPTO'01, volume 2139 of Lecture Notes in Computer Science, pages 213-229. Springer, 2001.

GとGTを位数pの群とする。Zを整数全体を表す集合とする。ここでpは十分に大きい素数である。この二つの群G,GTの間の双線型写像e:G×G→GTは以下の性質を満たす。
双線型性:
任意のg,h∈Gおよび任意のa,b∈Zに対してe(ga,hb)=e(g,h)abが成立する。
非退化性:
e(g,g)≠1を満たすgが存在する。つまり、もしgがGの生成元ならばe(g,g)はGTの生成元である。
計算可能性:
任意のg,h∈Gに対して,e(g,h)は効率的に(つまり多項式時間で)計算可能である。
The G and G T the group of order p. Let Z be a set representing the whole integer. Where p is a sufficiently large prime number. The bilinear map e: G × G → G T between the two groups G and G T satisfies the following properties.
Bilinearity:
E (g a , h b ) = e (g, h) ab holds for any g, h∈G and any a, b∈Z.
Non-degenerative:
There exists g satisfying e (g, g) ≠ 1. That and, if g is G of origin e (g, g) is a generator of G T.
Computability:
For any g, h∈G, e (g, h) can be computed efficiently (ie in polynomial time).

[暗号学的仮定]
素数位数pの巡回群Gを考える。gを群Gの生成元とする。BMSetupを、セキュリティパラメータλを入力として(p,G,GT,e,g)を生成する、双線型写像についての標準的な群生成アルゴリズムとする。
[Cryptographic assumptions]
Consider a cyclic group G of prime order p. Let g be a generator of group G. Let BMSetup be the standard group generation algorithm for bilinear maps that generate (p, G, G T , e, g) with the security parameter λ as input.

[判定線形問題]
Zpをpを法とするZの剰余類環として、Arβ DLIN(1λ)を、Γ:=(p,G,GT,e,g) ←R BMsetup(1λ)を生成し、f,h ←U G, x,y ←U Zpを選び、Q0:=gx+y、Q1U Gとして(Γ,f,h,g,fx,hy,Qβ)を出力するアルゴリズムとする。β∈{0,1}である。判定線形問題とは、(Γ,f,h,g,fx,hy,Qβ) ←R Arβ DLIN(1λ)が与えられたときにβ∈{0,1}を予想する問題である。この優位性は式(1)で定義される。
AdvA DLIN(λ)=|Pr[A(I)→1|I←Ar0 DLIN(1λ)]-Pr[A(I)→1|I←Ar1 DLIN(1λ)]| (1)
[Judgment linear problem]
Using Z p as a remainder class ring of Z modulo p, generate Ar β DLIN (1 λ ), Γ: = (p, G, G T , e, g) ← R BMsetup (1 λ ), Select f, h ← U G, x, y ← U Z p , Q 0 : = g x + y , Q 1U G as (Γ, f, h, g, f x , h y , Q β ) Is an algorithm that outputs. β∈ {0,1}. Judgment linear problem is a problem that predicts β∈ {0,1} when (Γ, f, h, g, f x , h y , Q β ) ← R Ar β DLIN (1 λ ) is given It is. This superiority is defined by equation (1).
Adv A DLIN (λ) = | Pr [A (I) → 1 | I ← Ar 0 DLIN (1 λ )]-Pr [A (I) → 1 | I ← Ar 1 DLIN (1 λ )] | (1 )

[判定線形仮定]
判定線形仮定が成立しているとは、判定線形問題が困難である、つまり、どのような攻撃者Aに対しても式(1)で表されるAdvA DLIN(λ)が無視できることをいう。
[Judgment linear assumption]
The fact that the judgment linear assumption is satisfied means that the judgment linear problem is difficult, that is, Adv A DLIN (λ) expressed by the equation (1) can be ignored for any attacker A. .

次に、本発明が基づくWaters署名について概説する(参考文献2)。λはセキュリティパラメータを表す。BMSetupは1λを入力とし(p,G,GT,e,g)を出力する標準的なアルゴリズムである。pはλビットの素数、G,GTはそれぞれ素数位数pの巡回乗法群、gは群Gの生成元、eは双線形写像を表す。
(参考文献2)B. Waters. Dual System Encryption: Realizing Fully Secure IBE and HIBE under Simple Assumptions. In CRYPTO’09, volume 5677 of Lecture Notes in Computer Science, pages 619-636. Springer, 2009. full version available from http://eprint.iacr.org/2009/385.
Next, the Waters signature on which the present invention is based will be outlined (Reference Document 2). λ represents a security parameter. BMSetup is a standard algorithm that takes 1 λ as input and outputs (p, G, G T , e, g). p is the λ bit prime number, G, G T is a cyclic multiplicative group number of order p prime respectively, g is generator of the group G, e represents a bilinear map.
(Reference 2) B. Waters. Dual System Encryption: Realizing Fully Secure IBE and HIBE under Simple Assumptions. In CRYPTO'09, volume 5677 of Lecture Notes in Computer Science, pages 619-636. Springer, 2009. full version available from http://eprint.iacr.org/2009/385.

W.Gen(1λ,Γ):
セキュリティパラメータλを入力とし、Γ:=(p,G,GT,e,g) ←R BMsetup(1λ)を生成し、生成元v,v1,v2,w,u,h ←U Gおよびa1,a2,b,α ←U Zpを選び、τ1:=vv1 a1, τ2:=vv2 a2を計算し、検証鍵VK:=(Γ,gb,ga1,ga2,gba1,gba2,τ1,τ2,τ1 b2 b,w,u,h,e(g,g)αa1b)、署名鍵SK:=(VK,gα,gαa1,v,v1,v2)を出力する。
W.Gen (1 λ , Γ):
With security parameter λ as input, generate Γ: = (p, G, G T , e, g) ← R BMsetup (1 λ ), and generate source v, v1, v2, w, u, h ← U G and Select a1, a2, b, α ← U Z p , calculate τ1: = vv 1 a1 , τ2: = vv 2 a2 , and verify key VK: = (Γ, g b , g a1 , g a2 , g ba1 , g ba2 , τ1, τ2, τ 1 b , τ 2 b , w, u, h, e (g, g) αa1b ), signing key SK: = (VK, g α , g αa1 , v, v1, v2 ) Is output.

W.Sign(SK,M):
平文M∈Zpと署名鍵SKを入力とし、r1, r2, z1, z2, tagk ←U Zpを選び、r:=r1+r2とし、σ1:=gαa1vr, σ2:=gv1rgz1, σ3:=(gb)-z1, σ4:=v2rgz2, σ5:=(gb)-z2, σ6:=(gb)r2, σ7:=gr1, σ8:=(uMwtagkh)r1を計算して、署名sig:=(σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8,tagk)を出力する。
W.Sign (SK, M):
As input plaintext M∈Z p and signature key SK, select the r1, r2, z1, z2, tagk ← U Z p, r: = a r1 + r2, σ1: = g αa1 v r, σ2: = g - α v1 r g z1 , σ3: = (g b ) -z1 , σ4: = v2 r g z2 , σ5: = (g b ) -z2 , σ6: = (g b ) r2 , σ7: = g r1 , σ8 : = (u M w tagk h) r1 is calculated, and the signature sig: = (σ1, σ2, σ3, σ4, σ5, σ6, σ7, σ8, tagk) is output.

W.Vrfy(VK,sig,M):
検証鍵VK,平文M,署名sigを入力とし、s1,s2,t,tagc ←U Zpを選び、s:=s1+s2とし、V1:=(gb)s, V2:=(gba1)s1, V3:=(ga1)s1, V4:=(gba2)s2, V5:=(ga2)s2, V6:=τ1s1τ2s2, V7:=(τ1b)s1(τ2b)s2w-t, E1:=(uMwtagch)t, E2:=gtを計算する。以下を満たすとき且つそのときに限り検証成功を表す情報(例えば1という値)を出力する。ただし、θ:=1/(tagc-tagk)とする。
tagc-tagk≠0およびe(V1,σ1)・e(V2,σ2)・e(V3,σ3)・e(V4,σ4)・e(V5,σ5)=e(V6,σ6)・e(V7,σ7)・(e(E1,σ7)/e(E2,σ8))θ・(e(g,g)αa1b)s2
W.Vrfy (VK, sig, M):
Input verification key VK, plaintext M, signature sig, select s1, s2, t, tagc ← U Z p , set s: = s1 + s2, V1: = (g b ) s , V2: = (g ba1 ) s1 , V3: = (g a1 ) s1 , V4: = (g ba2 ) s2 , V5: = (g a2 ) s2 , V6: = τ1 s1 τ2 s2 , V7: = (τ1 b ) s1 (τ2 b ) s2 w −t , E1: = (u M w tagc h) t , E2: = g t is calculated. Information (for example, a value of 1) indicating a successful verification is output when and only when the following is satisfied. However, θ: = 1 / (tagc-tagk).
tagc-tagk ≠ 0 and e (V1, σ1) ・ e (V2, σ2) ・ e (V3, σ3) ・ e (V4, σ4) ・ e (V5, σ5) = e (V6, σ6) ・ e ( V7, σ7) ・ (e (E1, σ7) / e (E2, σ8)) θ・ (e (g, g) αa1b ) s2

《実施形態》
[検証可能暗号化署名システム]
実施形態の検証可能暗号化署名システム1は、図1に示すように、システムパラメータ生成装置500、裁定装置100、署名装置200、検証装置300を含んで構成される。これらの各装置は、例えばインターネットなどの通信網5を経由して、相互に通信可能とされている。なお、後述のシステムパラメータが予め決まっていれば十分なので、システムパラメータ生成装置500は検証可能暗号化署名システム1の必須の構成要素ではなく、図示しない装置によって生成された当該システムパラメータが検証可能暗号化署名システム1に提供されていれば足りる。形態によっては、裁定装置100がシステムパラメータ生成装置500を兼ねることも許容される。
<Embodiment>
[Verifiable cryptographic signature system]
As shown in FIG. 1, the verifiable cryptographic signature system 1 according to the embodiment includes a system parameter generation device 500, an arbitration device 100, a signature device 200, and a verification device 300. These apparatuses can communicate with each other via a communication network 5 such as the Internet. Since it is sufficient that the system parameters described later are determined in advance, the system parameter generation device 500 is not an indispensable component of the verifiable cryptographic signature system 1, and the system parameters generated by a device (not shown) can be verified. It is sufficient if it is provided to the integrated signature system 1. Depending on the form, it is allowed that the arbitrating device 100 also serves as the system parameter generating device 500.

本発明の検証可能暗号化署名システムは、ユーザなどの数に応じて一つまたは複数の署名装置200と一つまたは複数の検証装置300を含みえるが、本発明の理解を容易にするため、後述の実施形態では、検証可能暗号化署名システム1は、1個の裁定装置100と1個の署名装置200と1個の検証装置300を含むとする。   The verifiable cryptographic signature system of the present invention may include one or a plurality of signature devices 200 and one or a plurality of verification devices 300 according to the number of users or the like. In order to facilitate understanding of the present invention, In an embodiment described later, it is assumed that the verifiable cryptographic signature system 1 includes one arbitration device 100, one signature device 200, and one verification device 300.

検証可能暗号化署名システム1における処理を、図2を参照しながら叙述する。各装置の機能構成については、図3を参照されたい。   The processing in the verifiable cryptographic signature system 1 will be described with reference to FIG. Refer to FIG. 3 for the functional configuration of each device.

システムパラメータ生成装置500のシステムパラメータ生成部501は、既述の暗号学的仮定の下、セキュリティパラメータλを入力とし、システム全体に共通なシステムパラメータ、つまり双線形写像のパラメータΓ:=(p,G,GT,e,g) ←R BMsetup(1λ)を出力する(ステップS1)。 The system parameter generation unit 501 of the system parameter generation apparatus 500 receives the security parameter λ as an input under the cryptographic assumptions described above, and is a system parameter common to the entire system, that is, a parameter Γ: = (p, G, G T , e, g) ← R BMsetup (1 λ ) is output (step S1).

システムパラメータ生成装置500の送信部508は、パラメータΓを各装置100,200,300に送信する。   The transmission unit 508 of the system parameter generation device 500 transmits the parameter Γ to each device 100, 200, 300.

裁定装置100の受信部109は、パラメータΓを受信する。パラメータΓは裁定装置100の図示しない記憶部に記憶される。裁定装置100の裁定者鍵生成部101は、裁定者公開鍵および裁定者復号鍵を以下のように生成する。システムパラメータ生成装置500から受信したΓ:=(p,G,GT,e,g)を入力とし、β ←U Zp を選び、裁定者公開鍵apk:=ζ:=gβおよび裁定者復号鍵ask:=βを出力する(ステップS2)。Zp =Zp-{0}である。 The receiving unit 109 of the arbitrating device 100 receives the parameter Γ. The parameter Γ is stored in a storage unit (not shown) of the arbitrating device 100. The arbitrator key generation unit 101 of the arbitrator 100 generates an arbitrator public key and an arbitrator decryption key as follows. Γ: = (p, G, G T , e, g) received from the system parameter generation device 500 is input, β ← U Z p * is selected, and the arbitrator public key apk: = ζ: = g β and arbitration The person decryption key ask: = β is output (step S2). Z p * = Z p − {0}.

裁定装置100の送信部108は、裁定者公開鍵apkを各装置200,300に送信する。裁定者公開鍵apkおよび裁定者復号鍵askも裁定装置100の図示しない記憶部に記憶される。   The transmission unit 108 of the arbitrating device 100 transmits the arbitrator public key apk to the devices 200 and 300. The arbitrator public key apk and the arbitrator decryption key ask are also stored in a storage unit (not shown) of the arbitrator 100.

署名装置200の受信部209は、パラメータΓと裁定者公開鍵apkを受信する。パラメータΓと裁定者公開鍵apkは署名装置200の図示しない記憶部に記憶される。   The receiving unit 209 of the signature device 200 receives the parameter Γ and the arbitrator public key apk. The parameter Γ and the arbitrator public key apk are stored in a storage unit (not shown) of the signature device 200.

署名装置200の鍵生成部201は、システムパラメータ生成装置500から受信したΓ:=(p,G,GT,e,g)を入力とし、群の元v,v1,v2,w,u,h ←U Gおよびa1,a2,b,α ←U Zpを選び、τ1:=vv1a1, τ2:=vv2a2を計算し、検証鍵VK:=(gb,ga1,ga2,gba1,gba2,τ1,τ2,τ1b,τ2b,w,u,h,e(g,g)αa1b)、署名鍵SK:=(VK,gα,gαa1,v,v1,v2)を出力する(ステップS3)。なお、これは上述のWaters署名の鍵生成と同一である。検証鍵VKおよび署名鍵SKも署名装置200の図示しない記憶部に記憶される。 The key generation unit 201 of the signature device 200 receives Γ: = (p, G, G T , e, g) received from the system parameter generation device 500 as an input, and the group elements v, v1, v2, w, u, Select h ← U G and a1, a2, b, α ← U Z p , calculate τ1: = vv1 a1 , τ2: = vv2 a2 and verify key VK: = (g b , g a1 , g a2 , g ba1 , g ba2 , τ1, τ2, τ1 b , τ2 b , w, u, h, e (g, g) αa1b ), signing key SK: = (VK, g α , g αa1 , v, v1, v2) Is output (step S3). This is the same as the key generation for the Waters signature described above. The verification key VK and the signature key SK are also stored in a storage unit (not shown) of the signature device 200.

署名装置200の署名生成部202は、署名鍵SK、平文Mおよび裁定装置100の裁定者公開鍵apkを入力とし、例えば図示しない乱数生成装置あるいは署名装置200に含まれる乱数生成部によって生成された乱数を用いて、検証可能暗号化署名を生成する。具体的には下記のとおりである。署名生成部202は、乱数r1, r2, z1, z2, tagk ←U Zpを選び、r:=r1+r2とし、σ1:=gαa1vr, σ2:=gv1rgz1, σ3:=(gb)-z1, σ4:=v2rgz2, σ5:=(gb)-z2, σ6:=(gb)r2, σ7:=gr1, σ8:=(uMwtagkh)r1を計算し、乱数ρ1,ρ24 ←U Zpを選び、K1:=σ1・ζρ1, K1':=gρ1, K1^:=(gb)ρ1, K2:=σ2・ζρ2, K2':=gρ2, K2^:=(gba1)ρ2, K3:=σ3, K4:=σ4・ζρ4, K4':=gρ4, K4^:=(gba2)ρ4, K5:=σ5, K6:=σ6, K7:=σ7, K8:=σ8を計算し、ω:=(K1,K2,K3,K4,K5,K6,K7,K8,K1',K2',K4',K1^,K2^,K4^,tagk)を出力する(ステップS4)。送信部208は、検証鍵VKと平文Mと検証可能暗号化署名ωを検証装置300に送信する。 The signature generation unit 202 of the signature device 200 receives the signature key SK, the plaintext M, and the arbitrator public key apk of the arbitration device 100, and is generated by, for example, a random number generation device (not shown) or a random number generation unit included in the signature device 200. A verifiable cryptographic signature is generated using a random number. Specifically, it is as follows. The signature generation unit 202 selects random numbers r1, r2, z1, z2, tagk ← U Z p , sets r: = r1 + r2, and σ1: = g αa1 v r , σ2: = g −α v1 r g z1 , σ3: = (g b ) -z1 , σ4: = v2 r g z2 , σ5: = (g b ) -z2 , σ6: = (g b ) r2 , σ7: = g r1 , σ8: = (u M w tagk h) Calculate r1 , choose random numbers ρ1, ρ2 , ρ 4 ← U Z p , K1: = σ 1・ ζ ρ1 , K1 ': = g ρ1 , K1 ^: = (g b ) ρ1 , K2: = σ2 ・ ζ ρ2 , K2 ': = g ρ2 , K2 ^: = (g ba1 ) ρ2 , K3: = σ3, K4: = σ4 ・ ζ ρ4 , K4': = g ρ4 , K4 ^: = (g ba2 ) ρ4 , K5: = σ5, K6: = σ6, K7: = σ7, K8: = σ8 and ω: = (K1, K2, K3, K4, K5, K6, K7, K8, K1 ', K2 ', K4', K1 ^, K2 ^, K4 ^, tagk) are output (step S4). The transmission unit 208 transmits the verification key VK, the plaintext M, and the verifiable encryption signature ω to the verification device 300.

検証装置300は、検証可能暗号化署名ωが署名装置200が正しく生成した署名の裁定者公開鍵apkによる正しい暗号文であることを検証する検証部301と、送信部308と、受信部309を備えている。検証装置300の受信部209は、パラメータΓと検証鍵VKと平文Mと検証可能暗号化署名ωを受信する。パラメータΓと検証鍵VKと平文Mと検証可能暗号化署名ωは検証装置300の図示しない記憶部に記憶される。   The verification device 300 includes a verification unit 301 that verifies that the verifiable encrypted signature ω is a correct ciphertext using the arbitrator public key apk of the signature correctly generated by the signature device 200, a transmission unit 308, and a reception unit 309. I have. The receiving unit 209 of the verification apparatus 300 receives the parameter Γ, the verification key VK, the plaintext M, and the verifiable encryption signature ω. The parameter Γ, the verification key VK, the plaintext M, and the verifiable encryption signature ω are stored in a storage unit (not shown) of the verification apparatus 300.

検証処理は次のとおりである。検証装置300の検証部301は、検証可能暗号化署名ω:=(K1,K2,K3,K4,K5,K6,K7,K8,K1',K2',K4',K1^,K2^,K4^,tagk)、平文M、検証鍵VKおよび裁定者公開鍵apkを入力とし、乱数s1,s2,t,tagc ←U Zpを選び、s:=s1+s2とし、V1:=(gb)s, V2:=(gba1)s1, V3:=(ga1)s1, V4:=(gba2)s2, V5:=(ga2)s2, V6:=τ1s1τ2s2, V7:=(τ1b)s1(τ2b)s2w-t, E1:=(uMwtagch)t, E2:=gtを計算し、tagc-tagk≠0を確認し、θ:=1/(tagc-tagk)として、e(K1',gb)=e(g,K1^), e(K2',gba1)=e(g,K2^), e(K4',gba2)=e(g,K4^), および(e(V1,K1)/e(ζs,K1^))・(e(V2,K2)/e(ζs1,K2^))・e(V3,K3)・(e(V4,K4)/e(ζs2,K4^))・e(V5,K5)=e(V6,K6)・e(V7,K7)・(e(E1,K7)/e(E2,K8))θ・(e(g,g)αa1b)s2が成立することを確認したとき且つそのときに限り検証結果resultに検証成功を表す情報(例えば1という値)を代入して検証結果resultを出力する(ステップS5)。検証部301は、どれか一つでも成立しないときは、検証結果resultに検証失敗を表す情報(例えば0という値)を代入して検証結果resultを出力する。 The verification process is as follows. The verification unit 301 of the verification apparatus 300 includes a verifiable encrypted signature ω: = (K1, K2, K3, K4, K5, K6, K7, K8, K1 ′, K2 ′, K4 ′, K1 ^, K2 ^, K4 ^, tagk), plaintext M, verification key VK, and arbitrator public key apk, select random numbers s1, s2, t, tagc ← U Z p , set s: = s1 + s2, V1: = (g b ) s , V2: = (g ba1 ) s1 , V3: = (g a1 ) s1 , V4: = (g ba2 ) s2 , V5: = (g a2 ) s2 , V6: = τ1 s1 τ2 s2 , V7: = Calculate (τ1 b ) s1 (τ2 b ) s2 w -t , E1: = (u M w tagc h) t , E2: = g t , check tagc-tagk ≠ 0, and θ: = 1 / ( tagc-tagk), e (K1 ', g b ) = e (g, K1 ^), e (K2', g ba1 ) = e (g, K2 ^), e (K4 ', g ba2 ) = e (g, K4 ^), and (e (V1, K1) / e (ζ s , K1 ^)) ・ (e (V2, K2) / e (ζ s1 , K2 ^)) ・ e (V3, K3)・ (E (V4, K4) / e (ζ s2 , K4 ^)) ・ e (V5, K5) = e (V6, K6) ・ e (V7, K7) ・ (e (E1, K7) / e ( E2, K8)) θ・ (e (g, g) αa1b ) When verifying that s2 holds, and only when that is the case, verify by substituting information (for example, a value of 1) indicating verification success into the verification result result The result “result” is output (step S5). If any one of the verification units 301 does not hold, the verification unit 301 substitutes information (for example, a value of 0) indicating verification failure into the verification result result and outputs the verification result result.

検証可能暗号化署名技術によると、裁定装置100は、署名装置200が裁定者公開鍵apkを用いて暗号化する前の署名σ:=(σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8,tagk)を復元することができる。以下、この処理について説明する。   According to the verifiable encryption signature technique, the arbitrating device 100 uses the signature σ: = (σ1, σ2, σ3, σ4, σ5, σ6, σ7, before the signature device 200 encrypts using the arbitrator public key apk. (σ8, tagk) can be restored. Hereinafter, this process will be described.

検証装置300は、署名装置200が裁定者公開鍵apkを用いて暗号化する前の署名σ:=(σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8,tagk)を必要とする場合、送信部308によって、署名装置200からの検証可能暗号化署名ωと検証鍵VKと平文Mを裁定装置100に送信する。   Verification device 300 requires signature σ: = (σ1, σ2, σ3, σ4, σ5, σ6, σ7, σ8, tagk) before signature device 200 encrypts using arbitrator public key apk The transmitting unit 308 transmits the verifiable encrypted signature ω, the verification key VK, and the plaintext M from the signature device 200 to the arbitration device 100.

裁定装置100は、さらに、検証可能暗号化署名ωの暗号化を解除して通常の署名を復元する復元部102を備えている。検証装置300から受信した検証可能暗号化署名ωと検証鍵VKと平文Mは裁定装置100の図示しない記憶部に記憶される。裁定装置100の復元部102が検証可能暗号化署名ωの暗号化を解除する処理は次のとおりである。復元部102は、裁定者公開鍵apk、裁定者復号鍵ask、検証鍵VK、検証可能暗号化署名ω:=(K1,K2,K3,K4,K5,K6,K7,K8,K1',K2',K4',K1^,K2^,K4^,tagk)、平文Mを入力とし、まず検証装置300による検証処理と同じ処理を行って検証可能暗号化署名ωが正しい暗号化署名であることを検証し(上記ステップS5の処理を参照のこと)、その検証が正しい場合に、σ1:=K1・(K1'), σ2:=K2・(K2'), σ3:=K3, σ4:=K4・(K4'), σ5:=K5, σ6:=K6, σ7:=K7, およびσ8:=K8を計算し、乱数z1',z2',r' ←U Zpを選び、σ1':=σ1, σ2':=σ2・gz1', σ3':=σ3・(gb)-z1', σ4':=σ4・gz2', σ5':=σ5・(gb)-z2', σ6':=σ6・(gb)-r', σ7':=σ7・gr', およびσ8':=σ8・(uMwtagkh)r'を計算し、σ':=(σ1',σ2',σ3',σ4',σ5',σ6',σ7',σ8',tagk)として、σ'を署名として出力する(ステップS6)。なお、署名装置200による処理が正当である場合σ'=σである。復元部102は、検証に失敗した場合はσ'を求めない(なお、裁定装置100が検証装置300に対して検証に失敗したことを表す情報を送信するようにしてもよい)。送信部108は、平文Mと復元された署名σ'を検証装置300に送信する。 The arbitrating device 100 further includes a restoring unit 102 that decrypts the verifiable encrypted signature ω and restores the normal signature. The verifiable encryption signature ω, the verification key VK, and the plaintext M received from the verification device 300 are stored in a storage unit (not shown) of the arbitration device 100. A process in which the restoration unit 102 of the arbitrating device 100 decrypts the verifiable encryption signature ω is as follows. The restoration unit 102 includes an arbitrator public key apk, an arbitrator decryption key ask, a verification key VK, a verifiable encryption signature ω: = (K1, K2, K3, K4, K5, K6, K7, K8, K1 ′, K2 ', K4', K1 ^, K2 ^, K4 ^, tagk) and plaintext M as input, the verification process by the verification apparatus 300 is performed first and the verifiable cryptographic signature ω is a correct cryptographic signature (See the process of step S5 above), and when the verification is correct, σ1: = K1 · (K1 ′) −β , σ2: = K2 · (K2 ′) −β , σ3: = K3 , σ4: = K4 ・ (K4 ') , σ5: = K5, σ6: = K6, σ7: = K7, and σ8: = K8, and calculate random numbers z1', z2 ', r' ← U Z p Σ1 ': = σ1, σ2': = σ2 ・ g z1 ' , σ3': = σ3 ・ (g b ) -z1 ' , σ4': = σ4 ・ g z2 ' , σ5': = σ5 ・ ( g b ) -z2 ' , σ6': = σ6 ・ (g b ) -r ' , σ7': = σ7 ・ g r ' , and σ8': = σ8 ・ (u M w tagk h) r ' Σ ′: = (σ1 ′, σ2 ′, σ3 ′, σ4 ′, σ5 ′, σ6 ′, σ7 ′, σ8 ′, tagk), and outputs σ ′ as a signature (step S6). Note that when processing by the signature device 200 is valid, σ ′ = σ. If the verification fails, the restoration unit 102 does not obtain σ ′ (note that the arbitrating device 100 may transmit information indicating that the verification has failed to the verification device 300). The transmission unit 108 transmits the plaintext M and the restored signature σ ′ to the verification device 300.

表1に本発明と従来技術との比較を示す。なおCDHは計算Diffie-Hellman (computational Diffie-Hellman)仮定を、ROMはランダムオラクルモデルを意味する。接頭辞q-が付されたq-strong DH extraction 仮定は暗号の分野でq仮定と呼ばれる仮定に分類され、標準的な暗号学的仮定であるCDH仮定、DDH(判定Diffie-Hellman)仮定、DLIN(判定線形)仮定に比べて安全性の根拠に信頼がおけない。表1から分かるように、まず、非特許文献1に開示される方式または非特許文献3に開示される方式によると、検証鍵のサイズや検証可能暗号化署名のサイズが本発明よりも小さいと評価できるが、これは、暗号学的安全性への信頼が弱い仮定やモデルを前提としているからであり、非特許文献1に開示される方式と非特許文献3に開示される方式は本発明と本質的に相違する。非特許文献2に開示される方式によると、暗号学的に安全であると考えられる仮定やモデルを前提としている点では本発明と相違するものではないが、本発明と異なり、検証鍵のサイズがセキュリティパラメータのサイズに依存する。セキュリティパラメータのサイズλは、一般的に12よりも十分に大きく設定されるから、本発明は、検証鍵のサイズがセキュリティパラメータのサイズに依存しないというにとどまらず、検証鍵のサイズが十分に小さい検証可能暗号化署名方式であると評価できる。

Figure 0005683512
Table 1 shows a comparison between the present invention and the prior art. CDH stands for computational Diffie-Hellman (computational Diffie-Hellman) assumption, and ROM stands for a random oracle model. Q-strong DH extraction assumptions with the prefix q- are classified into assumptions called q assumptions in the field of cryptography, and are the standard cryptographic assumptions CDH assumption, DDH (decision Diffie-Hellman) assumption, DLIN (Decision linear) The grounds for safety are less reliable than the assumptions. As can be seen from Table 1, first, according to the method disclosed in Non-Patent Document 1 or the method disclosed in Non-Patent Document 3, the size of the verification key and the verifiable encryption signature are smaller than those of the present invention. Although it can be evaluated, this is because the assumption and model of weak trust in cryptographic security are premised. The method disclosed in Non-Patent Document 1 and the method disclosed in Non-Patent Document 3 are the present invention. Is essentially different. According to the method disclosed in Non-Patent Document 2, it is not different from the present invention in that it is based on assumptions and models that are considered to be cryptographically secure, but unlike the present invention, the size of the verification key is different. Depends on the size of the security parameters. Since the size λ of the security parameter is generally set sufficiently larger than 12, the present invention is not limited to the size of the verification key, and the size of the verification key is sufficiently small. It can be evaluated that it is a verifiable cryptographic signature scheme.
Figure 0005683512

<補記>
検証可能暗号化署名システムに含まれうるハードウェアエンティティ(システムパラメータ生成装置、裁定装置、署名装置、検証装置)は、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit)〔キャッシュメモリやレジスタなどを備えていてもよい。〕、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
<Supplementary note>
Hardware entities (system parameter generation device, arbitration device, signature device, verification device) that can be included in the verifiable cryptographic signature system are an input unit to which a keyboard or the like can be connected, an output unit to which a liquid crystal display or the like can be connected, hardware A communication unit to which a communication device (for example, a communication cable) capable of communicating outside the wear entity can be connected, a CPU (Central Processing Unit) [a cache memory, a register, or the like may be provided. ], A RAM or ROM that is a memory, an external storage device that is a hard disk, and a bus that connects the input unit, output unit, communication unit, CPU, RAM, ROM, and external storage device so that data can be exchanged between them. have. If necessary, a hardware entity may be provided with a device (drive) that can read and write a recording medium such as a CD-ROM. A physical entity having such hardware resources includes a general-purpose computer.

ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくなどでもよい。)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。上述の説明では、演算結果やその格納領域のアドレスなどを記憶するRAMやレジスタなどの記憶装置を単に「記憶部」とした。   The external storage device of the hardware entity stores a program necessary for realizing the above functions and data necessary for processing the program (not limited to the external storage device, for example, reading a program) It may be stored in a ROM that is a dedicated storage device.) Data obtained by the processing of these programs is appropriately stored in a RAM or an external storage device. In the above description, a storage device such as a RAM or a register that stores an operation result, an address of a storage area thereof, or the like is simply referred to as a “storage unit”.

ハードウェアエンティティでは、外部記憶装置〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(例えば、システムパラメータ生成部、裁定者鍵生成部、鍵生成部、署名生成部、検証部、復元部など)を実現する。   In the hardware entity, each program stored in an external storage device (or ROM, etc.) and data necessary for processing each program are read into a memory as necessary, and are interpreted and executed by a CPU as appropriate. . As a result, the CPU implements predetermined functions (for example, a system parameter generation unit, an arbitrator key generation unit, a key generation unit, a signature generation unit, a verification unit, a restoration unit, etc.).

各実施形態で説明したハードウェアエンティティの細部においては、数論における数値計算処理が必要となる場合があるが、数論における数値計算処理自体は、周知技術と同様にして達成されるので、その演算処理方法などの詳細な説明は省略した(この点の技術水準を示す数論における数値計算処理が可能なソフトウェアとしては、例えばPARI/GP、KANT/KASHなどが挙げられる。PARI/GPについては、例えばインターネット〈URL: http://pari.math.u-bordeaux.fr/〉[平成24年1月13日検索]を参照のこと。KANT/KASHについては、例えばインターネット〈http://www.math.tu-berlin.de/~kant/kash.html〉[平成24年1月13日検索]を参照のこと。)。
また、この点に関する文献として、参考文献Aを挙げることができる。
(参考文献A)H. Cohen, "A Course in Computational Algebraic Number Theory", GTM 138, Springer-Verlag, 1993.
In the details of the hardware entity described in each embodiment, numerical calculation processing in number theory may be required, but numerical calculation processing in number theory itself is achieved in the same manner as in the well-known technique. A detailed description of the arithmetic processing method and the like has been omitted (software that can perform numerical calculation processing in number theory indicating the technical level of this point includes, for example, PARI / GP, KANT / KASH, etc. About PARI / GP For example, see the Internet <URL: http://pari.math.u-bordeaux.fr/> [searched on January 13, 2012] For KANT / KASH, for example, the Internet <http: // www .math.tu-berlin.de / ~ kant / kash.html> [Search January 13, 2012].
Reference literature A can be cited as a literature regarding this point.
(Reference A) H. Cohen, "A Course in Computational Algebraic Number Theory", GTM 138, Springer-Verlag, 1993.

本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。   The present invention is not limited to the above-described embodiment, and can be appropriately changed without departing from the spirit of the present invention. In addition, the processing described in the above embodiment may be executed not only in time series according to the order of description but also in parallel or individually as required by the processing capability of the apparatus that executes the processing. .

また、上記実施形態において説明したハードウェアエンティティにおける処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。   Further, when the processing functions in the hardware entity described in the above embodiment are realized by a computer, the processing contents of the functions that the hardware entity should have are described by a program. Then, by executing this program on a computer, the processing functions in the hardware entity are realized on the computer.

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。   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. Specifically, for example, as a magnetic recording device, a hard disk device, a flexible disk, a magnetic tape or the like, and as an optical disk, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only). Memory), CD-R (Recordable) / RW (ReWritable), etc., magneto-optical recording medium, MO (Magneto-Optical disc), etc., semiconductor memory, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory), etc. Can 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, a hardware entity is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.

Claims (8)

裁定装置と、署名装置と、検証装置とを含む検証可能暗号化署名システムであって、
pを素数、Zを整数全体を表す集合、Zpをpを法とするZの剰余類環、Zp =Zp-{0}、G,GTをそれぞれ素数位数pの巡回乗法群、gを群Gの生成元、eを双線形写像、MをZ p の元、Γ:=(p,G,GT,e,g)を双線型写像についての標準的な群生成アルゴリズムによって生成された予め定められたシステムパラメータとして、
上記裁定装置は、
Zp の元βを選び、裁定者公開鍵apk:=ζ:=gβおよび裁定者復号鍵ask:=βを出力する裁定者鍵生成部を含み、
上記署名装置は、
群Gの元v,v1,v2,w,u,hおよびZpの元a1,a2,b,αを選び、τ1:=vv1a1, τ2:=vv2a2を計算し、検証鍵VK:=(gb,ga1,ga2,gba1,gba2,τ1,τ2,τ1b,τ2b,w,u,h,e(g,g)αa1b)、署名鍵SK:=(VK,gα,gαa1,v,v1,v2)を出力する鍵生成部と、
Zpの元r1, r2, z1, z2, tagkを用いて、r:=r1+r2とし、σ1:=gαa1vr, σ2:=gv1rgz1, σ3:=(gb)-z1, σ4:=v2rgz2, σ5:=(gb)-z2, σ6:=(gb)r2, σ7:=gr1, σ8:=(uMwtagkh)r1を計算し、Zpの元ρ1,ρ24を選び、K1:=σ1・ζρ1, K1':=gρ1, K1^:=(gb)ρ1, K2:=σ2・ζρ2, K2':=gρ2, K2^:=(gba1)ρ2, K3:=σ3, K4:=σ4・ζρ4, K4':=gρ4, K4^:=(gba2)ρ4, K5:=σ5, K6:=σ6, K7:=σ7, K8:=σ8を計算し、検証可能暗号化署名ω:=(K1,K2,K3,K4,K5,K6,K7,K8,K1',K2',K4',K1^,K2^,K4^,tagk)を出力する署名生成部を含み、
上記検証装置は、
Zpの元s1,s2,t,tagcを選び、s:=s1+s2とし、V1:=(gb)s, V2:=(gba1)s1, V3:=(ga1)s1, V4:=(gba2)s2, V5:=(ga2)s2, V6:=τ1s1τ2s2, V7:=(τ1b)s1(τ2b)s2w-t, E1:=(uMwtagch)t, E2:=gtを計算し、tagc-tagk≠0を確認し、θ:=1/(tagc-tagk)として、e(K1',gb)=e(g,K1^), e(K2',gba1)=e(g,K2^), e(K4',gba2)=e(g,K4^), および(e(V1,K1)/e(ζs,K1^))・(e(V2,K2)/e(ζs1,K2^))・e(V3,K3)・(e(V4,K4)/e(ζs2,K4^))・e(V5,K5)=e(V6,K6)・e(V7,K7)・(e(E1,K7)/e(E2,K8))θ・(e(g,g)αa1b)s2が成立することを確認したとき且つそのときに限り検証成功を表す検証結果を出力する検証部を含む
検証可能暗号化署名システム。
A verifiable cryptographic signature system including an arbitration device, a signature device, and a verification device,
p is a prime number, Z is a set representing the whole integer, Z p is a remainder class ring of Z modulo p , Z p * = Z p- {0}, G and G T are cyclic multiplications of prime order p, respectively Standard group generation algorithm for groups, g for generators of group G, e for bilinear maps, M for elements of Z p , Γ: = (p, G, G T , e, g) for bilinear maps As a predetermined system parameter generated by
The arbitration device is
An arbitrator key generation unit that selects an element β of Z p * and outputs an arbitrator public key apk: = ζ: = g β and an arbitrator decryption key ask: = β;
The signing device
Select elements v, v1, v2, w, u, h of group G and elements a1, a2, b, α of Z p , calculate τ1: = vv1 a1 , τ2: = vv2 a2 , and verify key VK: = (g b , g a1 , g a2 , g ba1 , g ba2 , τ1, τ2, τ1 b , τ2 b , w, u, h, e (g, g) αa1b ), signing key SK: = (VK, g α , g αa1 , v, v1, v2)
Using the elements r1, r2, z1, z2 and tagk of Z p , r: = r1 + r2, and σ1: = g αa1 v r , σ2: = g v1 r g z1 , σ3: = (g b ) -z1 , σ4: = v2 r g z2 , σ5: = (g b ) -z2 , σ6: = (g b ) r2 , σ7: = g r1 , σ8: = (u M w tagk h) Calculate r1 And select the elements ρ1, ρ2 , ρ4 of Z p , K1: = σ 1・ ζ ρ1 , K1 ': = g ρ1 , K1 ^: = (g b ) ρ1 , K2: = σ2 ・ ζ ρ2 , K2 ': = g ρ2 , K2 ^: = (g ba1 ) ρ2 , K3: = σ3, K4: = σ4 ・ ζ ρ4 , K4': = g ρ4 , K4 ^: = (g ba2 ) ρ4 , K5: = σ5 , K6: = σ6, K7: = σ7, K8: = σ8 and verifiable cryptographic signature ω: = (K1, K2, K3, K4, K5, K6, K7, K8, K1 ', K2', (K4 ', K1 ^, K2 ^, K4 ^, tagk)
The verification device is
Select the elements s1, s2, t, and tagc of Z p , set s: = s1 + s2, and V1: = (g b ) s , V2: = (g ba1 ) s1 , V3: = (g a1 ) s1 , V4 : = (g ba2 ) s2 , V5: = (g a2 ) s2 , V6: = τ1 s1 τ2 s2 , V7: = (τ1 b ) s1 (τ2 b ) s2 w -t , E1: = (u M w tagc h) Calculate t , E2: = g t , check tagc-tagk ≠ 0, and set θ: = 1 / (tagc-tagk), e (K1 ', g b ) = e (g, K1 ^) , e (K2 ', g ba1 ) = e (g, K2 ^), e (K4', g ba2 ) = e (g, K4 ^), and (e (V1, K1) / e (ζ s , K1 ^)) ・ (E (V2, K2) / e (ζ s1 , K2 ^)) ・ e (V3, K3) ・ (e (V4, K4) / e (ζ s2 , K4 ^)) ・ e (V5 , K5) = e (V6, K6) ・ e (V7, K7) ・ (e (E1, K7) / e (E2, K8)) θ・ (e (g, g) αa1b ) s2 A verifiable cryptographic signature system including a verification unit that outputs a verification result indicating a verification success only when it is confirmed.
請求項1に記載の検証可能暗号化署名システムであって、
上記裁定装置は、さらに、
Zpの元s1,s2,t,tagcを選び、s:=s1+s2とし、V1:=(gb)s, V2:=(gba1)s1, V3:=(ga1)s1, V4:=(gba2)s2, V5:=(ga2)s2, V6:=τ1s1τ2s2, V7:=(τ1b)s1(τ2b)s2w-t, E1:=(uMwtagch)t, E2:=gtを計算し、tagc-tagk≠0を確認し、θ:=1/(tagc-tagk)として、e(K1',gb)=e(g,K1^), e(K2',gba1)=e(g,K2^), e(K4',gba2)=e(g,K4^), および(e(V1,K1)/e(ζs,K1^))・(e(V2,K2)/e(ζs1,K2^))・e(V3,K3)・(e(V4,K4)/e(ζs2,K4^))・e(V5,K5)=e(V6,K6)・e(V7,K7)・(e(E1,K7)/e(E2,K8))θ・(e(g,g)αa1b)s2が成立することを確認し、この確認ができた場合に、σ1:=K1・(K1'), σ2:=K2・(K2'), σ3:=K3, σ4:=K4・(K4'), σ5:=K5, σ6:=K6, σ7:=K7, およびσ8:=K8を計算し、Zpの元z1',z2',r'を選び、σ1':=σ1, σ2':=σ2・gz1', σ3':=σ3・(gb)-z1', σ4':=σ4・gz2', σ5':=σ5・(gb)-z2', σ6':=σ6・(gb)-r', σ7':=σ7・gr', およびσ8':=σ8・(uMwtagkh)r'を計算し、署名σ':=(σ1',σ2',σ3',σ4',σ5',σ6',σ7',σ8',tagk)を出力する復元部を含む
ことを特徴とする検証可能暗号化署名システム。
A verifiable cryptographic signature system according to claim 1, comprising:
The arbitration device further includes:
Select the elements s1, s2, t, and tagc of Z p , set s: = s1 + s2, and V1: = (g b ) s , V2: = (g ba1 ) s1 , V3: = (g a1 ) s1 , V4 : = (g ba2 ) s2 , V5: = (g a2 ) s2 , V6: = τ1 s1 τ2 s2 , V7: = (τ1 b ) s1 (τ2 b ) s2 w -t , E1: = (u M w tagc h) Calculate t , E2: = g t , check tagc-tagk ≠ 0, and set θ: = 1 / (tagc-tagk), e (K1 ', g b ) = e (g, K1 ^) , e (K2 ', g ba1 ) = e (g, K2 ^), e (K4', g ba2 ) = e (g, K4 ^), and (e (V1, K1) / e (ζ s , K1 ^)) ・ (E (V2, K2) / e (ζ s1 , K2 ^)) ・ e (V3, K3) ・ (e (V4, K4) / e (ζ s2 , K4 ^)) ・ e (V5 , K5) = e (V6, K6) ・ e (V7, K7) ・ (e (E1, K7) / e (E2, K8)) θ・ (e (g, g) αa1b ) s2 If this is confirmed, σ1: = K1 ・ (K1 ') , σ2: = K2 ・ (K2') , σ3: = K3, σ4: = K4 ・ (K4 ') - Calculate β , σ5: = K5, σ6: = K6, σ7: = K7, and σ8: = K8, choose the elements z1 ', z2', r 'of Z p , and σ1': = σ1, σ2 ': = σ2 ・ g z1 ' , σ3': = σ3 ・ (g b ) -z1 ' , σ4': = σ4 ・ g z2 ' , σ5': = σ5 ・ (g b ) -z2 ' , σ6': = σ6・ (G b ) -r ' , σ7': = σ7 ・ g r ' , and σ8': = σ8 ・ (u M w tagk h) r ' are calculated and signature σ': = (σ1 ', σ2' , σ3 ', 4 ', σ5', σ6 ', σ7', σ8 ', verifiable cryptographic signature system, characterized in that it comprises a restoring unit that outputs tagk).
裁定装置と、署名装置と、検証装置とを含む検証可能暗号化署名システムにおける検証可能暗号化署名方法であって、
pを素数、Zを整数全体を表す集合、Zpをpを法とするZの剰余類環、Zp =Zp-{0}、G,GTをそれぞれ素数位数pの巡回乗法群、gを群Gの生成元、eを双線形写像、MをZ p の元、Γ:=(p,G,GT,e,g)を双線型写像についての標準的な群生成アルゴリズムによって生成された予め定められたシステムパラメータとして、
上記裁定装置の裁定者鍵生成部が、Zp の元βを選び、裁定者公開鍵apk:=ζ:=gβおよび裁定者復号鍵ask:=βを出力する裁定者鍵生成ステップと、
上記署名装置の鍵生成部が、群Gの元v,v1,v2,w,u,hおよびZpの元a1,a2,b,αを選び、τ1:=vv1a1, τ2:=vv2a2を計算し、検証鍵VK:=(gb,ga1,ga2,gba1,gba2,τ1,τ2,τ1b, τ2b,w,u,h,e(g,g)αa1b)、署名鍵SK:=(VK,gα,gαa1,v,v1,v2)を出力する鍵生成ステップと、
上記署名装置の署名生成部が、Zpの元r1, r2, z1, z2, tagkを用いて、r:=r1+r2とし、σ1:=gαa1vr, σ2:=gv1rgz1, σ3:=(gb)-z1, σ4:=v2rgz2, σ5:=(gb)-z2, σ6:=(gb)r2, σ7:=gr1, σ8:=(uMwtagkh)r1を計算し、Zpの元ρ1,ρ24を選び、K1:=σ1・ζρ1, K1':=gρ1, K1^:=(gb)ρ1, K2:=σ2・ζρ2, K2':=gρ2, K2^:=(gba1)ρ2, K3:=σ3, K4:=σ4・ζρ4, K4':=gρ4, K4^:=(gba2)ρ4, K5:=σ5, K6:=σ6, K7:=σ7, K8:=σ8を計算し、検証可能暗号化署名ω:=(K1,K2,K3,K4,K5,K6,K7,K8,K1',K2',K4',K1^,K2^,K4^,tagk)を出力する署名生成ステップと、
上記検証装置の検証部が、Zpの元s1,s2,t,tagcを選び、s:=s1+s2とし、V1:=(gb)s, V2:=(gba1)s1, V3:=(ga1)s1, V4:=(gba2)s2, V5:=(ga2)s2, V6:=τ1s1τ2s2, V7:=(τ1b)s1(τ2b)s2w-t, E1:=(uMwtagch)t, E2:=gtを計算し、tagc-tagk≠0を確認し、θ:=1/(tagc-tagk)として、e(K1',gb)=e(g,K1^), e(K2',gba1)=e(g,K2^), e(K4',gba2)=e(g,K4^), および(e(V1,K1)/e(ζs,K1^))・(e(V2,K2)/e(ζs1,K2^))・e(V3,K3)・(e(V4,K4)/e(ζs2,K4^))・e(V5,K5)=e(V6,K6)・e(V7,K7)・(e(E1,K7)/e(E2,K8))θ・(e(g,g)αa1b)s2が成立することを確認したとき且つそのときに限り検証成功を表す検証結果を出力する検証ステップを有する
検証可能暗号化署名方法。
A verifiable cryptographic signature method in a verifiable cryptographic signature system including an arbitration device, a signature device, and a verification device,
p is a prime number, Z is a set representing the whole integer, Z p is a remainder class ring of Z modulo p , Z p * = Z p- {0}, G and G T are cyclic multiplications of prime order p, respectively Standard group generation algorithm for groups, g for generators of group G, e for bilinear maps, M for elements of Z p , Γ: = (p, G, G T , e, g) for bilinear maps As a predetermined system parameter generated by
An arbitrator key generation unit that selects an element β of Z p * and outputs an arbitrator public key apk: = ζ: = g β and an arbitrator decryption key ask: = β; ,
The key generation unit of the signature device selects elements v, v1, v2, w, u, h of group G and elements a1, a2, b, α of Z p , and τ1: = vv1 a1 , τ2: = vv2 a2 And the verification key VK: = (g b , g a1 , g a2 , g ba1 , g ba2 , τ1, τ2, τ1 b , τ2 b , w, u, h, e (g, g) αa1b ), A key generation step of outputting a signature key SK: = (VK, g α , g αa1 , v, v1, v2);
The signature generation unit of the signing device uses the elements r1, r2, z1, z2, and tagk of Z p as r: = r1 + r2, and σ1: = g αa1 v r , σ2: = g v1 r g z1 , σ3: = (g b ) -z1 , σ4: = v2 r g z2 , σ5: = (g b ) -z2 , σ6: = (g b ) r2 , σ7: = g r1 , σ8: = ( u M w tagk h) r1 , calculate the elements ρ1, ρ2 , ρ4 of Z p , and select K1: = σ 1・ ζ ρ1 , K1 ': = g ρ1 , K1 ^: = (g b ) ρ1 , K2: = σ2 ・ ζ ρ2 , K2 ': = g ρ2 , K2 ^: = (g ba1 ) ρ2 , K3: = σ3, K4: = σ4 ・ ζ ρ4 , K4': = g ρ4 , K4 ^: = ( g ba2 ) ρ4 , K5: = σ5, K6: = σ6, K7: = σ7, K8: = σ8 and verifiable cryptographic signature ω: = (K1, K2, K3, K4, K5, K6, K7 , K8, K1 ', K2', K4 ', K1 ^, K2 ^, K4 ^, tagk)
The verification unit of the verification device selects the elements s1, s2, t, and tagc of Z p and sets s: = s1 + s2, and V1: = (g b ) s , V2: = (g ba1 ) s1 , V3: = (g a1 ) s1 , V4: = (g ba2 ) s2 , V5: = (g a2 ) s2 , V6: = τ1 s1 τ2 s2 , V7: = (τ1 b ) s1 (τ2 b ) s2 w -t , Calculate E1: = (u M w tagc h) t , E2: = g t , check tagc-tagk ≠ 0, and set θ: = 1 / (tagc-tagk) and e (K1 ', g b ) = e (g, K1 ^), e (K2 ', g ba1 ) = e (g, K2 ^), e (K4', g ba2 ) = e (g, K4 ^), and (e (V1, K1 ) / e (ζ s , K1 ^)) ・ (e (V2, K2) / e (ζ s1 , K2 ^)) ・ e (V3, K3) ・ (e (V4, K4) / e (ζ s2 , K4 ^)) ・ e (V5, K5) = e (V6, K6) ・ e (V7, K7) ・ (e (E1, K7) / e (E2, K8)) θ・ (e (g, g) αa1b ) A verifiable encryption signature method having a verification step of outputting a verification result indicating a verification success only when it is confirmed that s2 is satisfied.
請求項3に記載の検証可能暗号化署名方法であって、さらに、
上記裁定装置の復元部が、Zpの元s1,s2,t,tagcを選び、s:=s1+s2とし、V1:=(gb)s, V2:=(gba1)s1, V3:=(ga1)s1, V4:=(gba2)s2, V5:=(ga2)s2, V6:=τ1s1τ2s2, V7:=(τ1b)s1(τ2b)s2w-t, E1:=(uMwtagch)t, E2:=gtを計算し、tagc-tagk≠0を確認し、θ:=1/(tagc-tagk)として、e(K1',gb)=e(g,K1^), e(K2',gba1)=e(g,K2^), e(K4',gba2)=e(g,K4^), および(e(V1,K1)/e(ζs,K1^))・(e(V2,K2)/e(ζs1,K2^))・e(V3,K3)・(e(V4,K4)/e(ζs2,K4^))・e(V5,K5)=e(V6,K6)・e(V7,K7)・(e(E1,K7)/e(E2,K8))θ・(e(g,g)αa1b)s2が成立することを確認し、この確認ができた場合に、σ1:=K1・(K1'), σ2:=K2・(K2'), σ3:=K3, σ4:=K4・(K4'), σ5:=K5, σ6:=K6, σ7:=K7, およびσ8:=K8を計算し、Zpの元z1',z2',r'を選び、σ1':=σ1, σ2':=σ2・gz1', σ3':=σ3・(gb)-z1', σ4':=σ4・gz2', σ5':=σ5・(gb)-z2', σ6':=σ6・(gb)-r', σ7':=σ7・gr', およびσ8':=σ8・(uMwtagkh)r'を計算し、署名σ':=(σ1',σ2',σ3',σ4',σ5',σ6',σ7',σ8',tagk)を出力する復元ステップを含む
ことを特徴とする検証可能暗号化署名方法。
A verifiable cryptographic signature method according to claim 3, further comprising:
The restoration unit of the arbitrating device selects the elements s1, s2, t, and tagc of Z p and sets s: = s1 + s2, and V1: = (g b ) s , V2: = (g ba1 ) s1 , V3: = (g a1 ) s1 , V4: = (g ba2 ) s2 , V5: = (g a2 ) s2 , V6: = τ1 s1 τ2 s2 , V7: = (τ1 b ) s1 (τ2 b ) s2 w -t , Calculate E1: = (u M w tagc h) t , E2: = g t , check tagc-tagk ≠ 0, and set θ: = 1 / (tagc-tagk) and e (K1 ', g b ) = e (g, K1 ^), e (K2 ', g ba1 ) = e (g, K2 ^), e (K4', g ba2 ) = e (g, K4 ^), and (e (V1, K1 ) / e (ζ s , K1 ^)) ・ (e (V2, K2) / e (ζ s1 , K2 ^)) ・ e (V3, K3) ・ (e (V4, K4) / e (ζ s2 , K4 ^)) ・ e (V5, K5) = e (V6, K6) ・ e (V7, K7) ・ (e (E1, K7) / e (E2, K8)) θ・ (e (g, g) αa1b ) s2 is confirmed, and when this is confirmed, σ1: = K1 ・ (K1 ') , σ2: = K2 ・ (K2') , σ3: = K3, σ4: = K4 ・ (K4 ') , σ5: = K5, σ6: = K6, σ7: = K7, and σ8: = K8, select the elements z1', z2 ', r' of Z p and select σ1 ': = σ1, σ2': = σ2 ・ g z1 ' , σ3': = σ3 ・ (g b ) -z1 ' , σ4': = σ4 ・ g z2 ' , σ5': = σ5 ・ (g b ) - z2 ', σ6': = σ6 · (g b) -r ', σ7': = σ7 · g r ', and σ8': = σ8 · (u M w tagk h) r ' a total of And verifiable encryption, including a restoration step for outputting a signature σ ′: = (σ1 ′, σ2 ′, σ3 ′, σ4 ′, σ5 ′, σ6 ′, σ7 ′, σ8 ′, tagk) Signature method.
請求項1または請求項2に記載の検証可能暗号化署名システムにおいて用いられる上記裁定装置。       The arbitration device used in the verifiable encryption signature system according to claim 1 or 2. 請求項1または請求項2に記載の検証可能暗号化署名システムにおいて用いられる上記署名装置。       The said signature apparatus used in the verifiable encryption signature system of Claim 1 or Claim 2. 請求項1または請求項2に記載の検証可能暗号化署名システムにおいて用いられる上記検証装置。       The said verification apparatus used in the verifiable encryption signature system of Claim 1 or Claim 2. 請求項5に記載の裁定装置、請求項6に記載の署名装置、請求項7に記載の検証装置のいずれかとしてコンピュータを機能させるプログラム。       A program that causes a computer to function as any one of the arbitration device according to claim 5, the signature device according to claim 6, and the verification device according to claim 7.
JP2012032944A 2012-02-17 2012-02-17 Verifiable cryptographic signature system, verifiable cryptographic signature method, apparatus, and program Expired - Fee Related JP5683512B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012032944A JP5683512B2 (en) 2012-02-17 2012-02-17 Verifiable cryptographic signature system, verifiable cryptographic signature method, apparatus, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012032944A JP5683512B2 (en) 2012-02-17 2012-02-17 Verifiable cryptographic signature system, verifiable cryptographic signature method, apparatus, and program

Publications (2)

Publication Number Publication Date
JP2013172177A JP2013172177A (en) 2013-09-02
JP5683512B2 true JP5683512B2 (en) 2015-03-11

Family

ID=49265894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012032944A Expired - Fee Related JP5683512B2 (en) 2012-02-17 2012-02-17 Verifiable cryptographic signature system, verifiable cryptographic signature method, apparatus, and program

Country Status (1)

Country Link
JP (1) JP5683512B2 (en)

Also Published As

Publication number Publication date
JP2013172177A (en) 2013-09-02

Similar Documents

Publication Publication Date Title
US8429408B2 (en) Masking the output of random number generators in key generation protocols
JP5253567B2 (en) Encryption system, encryption communication method, encryption device, key generation device, decryption device, content server device, program, storage medium
KR102423885B1 (en) Method and system for additive homomorphic encryption scheme with error detection functionality
US9571274B2 (en) Key agreement protocol
Chen et al. Pairings in trusted computing
US9614681B2 (en) Private electronic signature service for electronic documents
WO2019209168A2 (en) Data processing method, related apparatus, and blockchain system
JP2014126866A (en) Device and method for encryption processing
US20150358155A1 (en) Secret computation system, arithmetic unit, secret computation method and program
Lin et al. A data integrity verification scheme in mobile cloud computing
Yi et al. Efficient integrity verification of replicated data in cloud computing system
JP2012150378A (en) Proxy re-encryption system, key generation device, re-encryption device, proxy re-encryption method, and program
CN111865555B (en) Homomorphic encryption method based on k-Lin hypothesis
CN109818752A (en) Credit scoring generation method, device, computer equipment and storage medium
JP5732429B2 (en) Secret sharing system, data sharing device, data restoration device, secret sharing method, and program
JP6719339B2 (en) Cryptographic system, cryptographic method, and cryptographic program
JP5679344B2 (en) Signature key obfuscation system, signature key obfuscation method, encryption signature system using obfuscated signature key, encryption signature method and program using obfuscated signature key
JP5730805B2 (en) Hierarchical inner product encryption system based on lattice problem, hierarchical inner product encryption method and apparatus based on lattice problem
US20210226791A1 (en) Encryption system, encryption apparatus, decryption apparatus, encryption method, decryption method, and program
JP5683512B2 (en) Verifiable cryptographic signature system, verifiable cryptographic signature method, apparatus, and program
US12003636B2 (en) Device and method for certifying reliability of public key, and program therefor
JP5912281B2 (en) Decryption result verification apparatus, method, system, and program
Verheul Privacy protection in electronic education based on polymorphic pseudonymization
CN110417703B (en) Proxy re-signing method, server and terminal equipment
Patwardhan et al. Homomorphic authenticable ring signature mechanism for public auditing on shared data in the cloud

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141017

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150113

R150 Certificate of patent or registration of utility model

Ref document number: 5683512

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees