Nothing Special   »   [go: up one dir, main page]

JP6216688B2 - Partially disposable signature system and method, signature apparatus, verification apparatus, and program - Google Patents

Partially disposable signature system and method, signature apparatus, verification apparatus, and program Download PDF

Info

Publication number
JP6216688B2
JP6216688B2 JP2014121393A JP2014121393A JP6216688B2 JP 6216688 B2 JP6216688 B2 JP 6216688B2 JP 2014121393 A JP2014121393 A JP 2014121393A JP 2014121393 A JP2014121393 A JP 2014121393A JP 6216688 B2 JP6216688 B2 JP 6216688B2
Authority
JP
Japan
Prior art keywords
signature
key
verification
disposable
fixed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014121393A
Other languages
Japanese (ja)
Other versions
JP2016001263A (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 JP2014121393A priority Critical patent/JP6216688B2/en
Publication of JP2016001263A publication Critical patent/JP2016001263A/en
Application granted granted Critical
Publication of JP6216688B2 publication Critical patent/JP6216688B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、ディジタル署名に関するものである。   The present invention relates to a digital signature.

使い捨て署名方式(One-Time Signature scheme:OTS)とは、ディジタル署名方式の一種であり、署名鍵が、使い捨て、すなわち一度の署名生成にしか使えない方式を指す。カメレオンハッシュ関数を使ったOTSの構成例が非特許文献1に記載されている。   The one-time signature scheme (OTS) is a kind of digital signature scheme, and refers to a scheme in which a signature key is disposable, that is, can be used only for one-time signature generation. Non-Patent Document 1 describes a configuration example of OTS using a chameleon hash function.

Payman Mohassel, “One-Time Signatures and Chameleon Hash Functions”, Selected Areas in Cryptography, 2010, p.302-319Payman Mohassel, “One-Time Signatures and Chameleon Hash Functions”, Selected Areas in Cryptography, 2010, p.302-319

非特許文献1に記載の署名方式はOTSであり、全ての鍵を署名の度に毎回更新しなければならず、効率が悪いという問題があった。   The signature method described in Non-Patent Document 1 is OTS, and all keys must be updated each time a signature is made, which has a problem of poor efficiency.

この発明の目的は、非特許文献1に記載の方式よりも効率が良い部分使い捨て署名システム及び方法、署名装置、検証装置並びにプログラムを提供することである。   An object of the present invention is to provide a partially disposable signature system and method, a signature device, a verification device, and a program that are more efficient than the method described in Non-Patent Document 1.

この発明の一態様による部分使い捨て署名システムは、(h0,h0 -1)をカメレオンハッシュ関数の第1の組とし、(h1,h1 -1)をカメレオンハッシュ関数の第2の組とし、pk=(h0,h1)を複数回の署名及び検証に使い回すことができる固定の検証鍵とし、sk=(h0 -1)を複数回の署名及び検証に使い回すことができる固定の署名鍵として、mを所定の値として、乱数r0を生成し、z0=h0(mf,r0)を計算することにより、使い捨て検証鍵opk=(z0)及び使い捨て署名鍵osk=(r0)を生成する使い捨て鍵生成装置と、Mを署名の対象となるメッセージとして、署名鍵sk=(h0 -1)及び使い捨て署名鍵osk=(r0)を用いて、乱数r1’を生成し、r0’=h0 -1(mf,r0,h1(M,r1’))を計算することにより、署名σ=(r0’,r1’)を生成する署名装置と、検証鍵pk=(h0,h1)、使い捨て検証鍵opk=(z0)、メッセージM及び署名σ=(r0’,r1’)を用いて、z0がh0(h1(M,r1’),r0’)と一致するかを検証する検証装置と、を備えている。 In the partially disposable signature system according to one aspect of the present invention, (h 0 , h 0 −1 ) is a first set of chameleon hash functions, and (h 1 , h 1 −1 ) is a second set of chameleon hash functions. Pk = (h 0 , h 1 ) as a fixed verification key that can be used for multiple signatures and verifications, and sk = (h 0 -1 ) can be used for multiple signatures and verifications. As a possible fixed signing key, m f is a predetermined value, a random number r 0 is generated, and z 0 = h 0 (m f , r 0 ) is calculated, so that the disposable verification key opk = (z 0 ) and A disposable key generation device that generates a disposable signature key osk = (r 0 ), and a signature key sk = (h 0 −1 ) and a disposable signature key osk = (r 0 ) are used as a message to be signed. To generate a random number r 1 ′ and calculate r 0 ′ = h 0 −1 (m f , r 0 , h 1 (M, r 1 ′)) to obtain the signature σ = (r 0 ′, r 1 '), a signing device, a verification key pk = (h 0 , h 1 ), a disposable verification key opk = (z 0 ) A verification device for verifying whether z 0 matches h 0 (h 1 (M, r 1 ′), r 0 ′) using message M and signature σ = (r 0 ′, r 1 ′) It is equipped with.

この発明の一態様による署名装置は、(h0,h0 -1)をカメレオンハッシュ関数の第1の組とし、(h1,h1 -1)をカメレオンハッシュ関数の第2の組とし、pk=(h0,h1)を複数回の署名及び検証に使い回すことができる固定の検証鍵とし、sk=(h0 -1)を複数回の署名及び検証に使い回すことができる固定の署名鍵とし、mを所定の値とし、r0を乱数とし、z0=h0(mf,r0)とし、使い捨て検証鍵opk=(z0)とし、使い捨て署名鍵osk=(r0)として、Mを署名の対象となるメッセージとして、署名鍵sk=(h0 -1)及び使い捨て署名鍵osk=(r0)を用いて、乱数r1’を生成し、r0’=h0 -1(mf,r0,h1(M,r1’))を計算することにより、署名σ=(r0’,r1’)を生成する。 In the signing device according to one aspect of the present invention, (h 0 , h 0 −1 ) is a first set of chameleon hash functions, (h 1 , h 1 −1 ) is a second set of chameleon hash functions, pk = (h 0 , h 1 ) is a fixed verification key that can be used for multiple signatures and verifications, and sk = (h 0 -1 ) is a fixed key that can be used for multiple signatures and verifications , M f is a predetermined value, r 0 is a random number, z 0 = h 0 (m f , r 0 ), disposable verification key opk = (z 0 ), and disposable signature key osk = ( r 0 ), M is used as a message to be signed, a signing key sk = (h 0 −1 ) and a disposable signing key osk = (r 0 ) are used to generate a random number r 1 ′, and r 0 ′ The signature σ = (r 0 ′, r 1 ′) is generated by calculating = h 0 −1 (m f , r 0 , h 1 (M, r 1 ′)).

この発明の一態様による検証装置は、(h0,h0 -1)をカメレオンハッシュ関数の第1の組とし、(h1,h1 -1)をカメレオンハッシュ関数の第2の組とし、pk=(h0,h1)を複数回の署名及び検証に使い回すことができる固定の検証鍵とし、sk=(h0 -1)を複数回の署名及び検証に使い回すことができる固定の署名鍵とし、mを所定の値とし、r0を乱数とし、z0=h0(mf,r0)とし、使い捨て検証鍵opk=(z0)とし、使い捨て署名鍵osk=(r0)とし、Mを署名の対象となるメッセージとし、r1’を乱数とし、r0’=h0 -1(mf,r0,h1(M,r1’))とし、署名σ=(r0’,r1’)として、検証鍵pk=(h0,h1)、使い捨て検証鍵opk=(z0)、メッセージM及び署名σ=(r0’,r1’)を用いて、z0がh0(h1(M,r1’),r0’)と一致するかを検証する。 In the verification device according to one aspect of the present invention, (h 0 , h 0 −1 ) is a first set of chameleon hash functions, (h 1 , h 1 −1 ) is a second set of chameleon hash functions, pk = (h 0 , h 1 ) is a fixed verification key that can be used for multiple signatures and verifications, and sk = (h 0 -1 ) is a fixed key that can be used for multiple signatures and verifications , M f is a predetermined value, r 0 is a random number, z 0 = h 0 (m f , r 0 ), disposable verification key opk = (z 0 ), and disposable signature key osk = ( r 0 ), M is the message to be signed, r 1 'is a random number, r 0 ' = h 0 -1 (m f , r 0 , h 1 (M, r 1 ')) and the signature As σ = (r 0 ′, r 1 ′), verification key pk = (h 0 , h 1 ), disposable verification key opk = (z 0 ), message M and signature σ = (r 0 ′, r 1 ′) Is used to verify whether z 0 matches h 0 (h 1 (M, r 1 ′), r 0 ′).

署名鍵及び検証鍵の一部を使い回すことにより、非特許文献1に記載の方式よりも効率を良くすることができる。   By using part of the signature key and the verification key, efficiency can be improved as compared with the method described in Non-Patent Document 1.

部分使い捨て署名システムの例を説明するためのブロック図。The block diagram for demonstrating the example of a partial disposable signature system. 部分使い捨て署名方法の例を説明するための流れ図。The flowchart for demonstrating the example of a partial disposable signature method.

以下、図面を参照しながらこの発明の実施形態について説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1に示すように、部分使い捨て署名システムは、鍵生成装置1、使い捨て鍵生成装置2、署名装置3、検証装置4、送信装置5及び受信装置6を例えば備えている。部分使い捨て署名方法は、部分使い捨て署名システムが、図2のステップS1からステップS4の処理を行うことにより実現される。   As shown in FIG. 1, the partially disposable signature system includes, for example, a key generation device 1, a disposable key generation device 2, a signature device 3, a verification device 4, a transmission device 5, and a reception device 6. The partially disposable signature method is realized by the partially disposable signature system performing the processing from step S1 to step S4 in FIG.

この発明は、カメレオンハッシュ関数CMHを用いることによりいわゆる部分使い捨て署名を構成する。   The present invention constructs a so-called partially disposable signature by using the chameleon hash function CMH.

ここで、部分使い捨て署名方式(Partial One-time Signatures: POS)とは、署名鍵及び検証鍵のそれぞれが繰り返し使用できる長期鍵と使い捨ての鍵とで構成されており、署名のたびごとに使い捨て鍵部分が新たに構成される署名方式のことを意味する。   Here, Partial One-time Signatures (POS) consists of a long-term key and a disposable key that can be used repeatedly for each signature key and verification key. This means a signature scheme whose part is newly constructed.

カメレオンハッシュ関数CMHは、(h,h-1)の関数のペアからなる。関数h,h-1は以下の性質を有する。 The chameleon hash function CMH is composed of a pair of (h, h −1 ) functions. The functions h and h −1 have the following properties.

関数hは、入力にメッセージMと乱数rを取り、ハッシュ値を出力する関数で、衝突困難ハッシュ関数の性質をもつ。すなわち、h(M,r)=h(M’,r’)となる対(M,r),(M’,r’)を見つけることは困難である。一方で、h-1は、(M,r,M’)を入力とし、h(M,r)=h(M’,r’)を満たすr’を出力する関数である。すなわち、関数h-1を知る者は、ある(M,r)に対するハッシュ値を別の(M’,r’)に対するハッシュ値としてこれを開示することが可能になる。 The function h is a function that takes a message M and a random number r as input and outputs a hash value. That is, it is difficult to find a pair (M, r), (M ′, r ′) where h (M, r) = h (M ′, r ′). On the other hand, h −1 is a function that takes (M, r, M ′) as an input and outputs r ′ that satisfies h (M, r) = h (M ′, r ′). That is, a person who knows the function h −1 can disclose a hash value for one (M, r) as a hash value for another (M ′, r ′).

この発明で用いられるカメレオンハッシュ関数CMHを構成する関数h,h-1は、上記の性質を満たすものであれば、どのようなものであってもよい。 The functions h and h −1 constituting the chameleon hash function CMH used in the present invention may be any as long as they satisfy the above properties.

以下では、カメレオンハッシュ関数CMHを構成する関数h,h-1の一例を示す。 Hereinafter, an example of the functions h and h −1 constituting the chameleon hash function CMH is shown.

Gを素数位数qの乗法群とする。gを群Gの生成元とする。例えばG⊂Zpとする。ここで、pは素数であり、q|p-1であるとする。すなわち、qはp-1で割り切れるとする。また、sを1からq-1の正の整数とし、f=gsとする。G⊂Zpである場合には、f=gs (mod p)とする。 Let G be a multiplicative group of prime order q. Let g be a generator of group G. For example, G⊂Z p . Here, p is a prime number and q | p−1. That is, q is divisible by p-1. Further, s is a positive integer from 1 to q-1, and f = g s . If G⊂Z p , then f = g s (mod p).

このとき、M,r∈Zqとして、関数h(M,r)=gMfrである。G⊂Zpである場合には、関数h(M,r)=gMfr(mod p)とする。 In this case, M, as r ∈ Z q, the function h (M, r) = a g M f r. If G⊂Z p , the function h (M, r) = g M f r (mod p) is assumed.

また、このとき、関数h-1(M,r,M’)を、M+s・r=M’+s・r’ (mod q)となるr’を出力する関数とする。すなわち、関数h-1(M,r,M’)=(M-M’)/s+r (mod q)とする。 At this time, the function h −1 (M, r, M ′) is a function that outputs r ′ that satisfies M + s · r = M ′ + s · r ′ (mod q). That is, the function h −1 (M, r, M ′) = (M−M ′) / s + r (mod q) is set.

<鍵生成装置1>
鍵生成装置1は、カメレオンハッシュ関数の第1のペア(h0,h0 -1)及びカメレオンハッシュ関数の第2のペア(h1,h1 -1)を生成することにより、複数回の署名及び検証に使い回すことができる固定の検証鍵pk=(h0,h1)及び複数回の署名及び検証に使い回すことができる固定の署名鍵sk=(h0 -1)を生成する(ステップS1)。生成された検証鍵pk=(h0,h1)は、全体に公開される。生成された署名鍵sk=(h0 -1)は、署名装置3に送信される。
<Key generation device 1>
The key generation device 1 generates the first pair (h 0 , h 0 −1 ) of the chameleon hash function and the second pair (h 1 , h 1 −1 ) of the chameleon hash function, thereby performing a plurality of times. Generate a fixed verification key pk = (h 0 , h 1 ) that can be reused for signing and verification and a fixed signature key sk = (h 0 −1 ) that can be reused for multiple signatures and verification (Step S1). The generated verification key pk = (h 0 , h 1 ) is disclosed to the whole. The generated signature key sk = (h 0 −1 ) is transmitted to the signature device 3.

鍵生成装置1の処理は、署名生成の前に一回のみ行われ、署名を生成する度ごとには行われない。一度生成された検証鍵pk=(h0,h1)及び署名鍵sk=(h0 -1)は複数回の署名及び検証に使い回すことができる。 The processing of the key generation device 1 is performed only once before signature generation, and is not performed every time a signature is generated. Once generated, the verification key pk = (h 0 , h 1 ) and the signature key sk = (h 0 −1 ) can be used for multiple signatures and verifications.

<使い捨て鍵生成装置2>
使い捨て鍵生成装置2は、mを所定の値として、乱数r0を生成し、z0=h0(mf,r0)を計算することにより、使い捨て検証鍵opk=(z0)及び使い捨て署名鍵osk=(r0)を生成する(ステップS2)。生成された使い捨て検証鍵opk=(z0)は、全体に公開される。生成された使い捨て署名鍵osk=(r0)は、署名装置3に送信される。
<Disposable key generation device 2>
The disposable key generation device 2 generates a random number r 0 with m f as a predetermined value, and calculates z 0 = h 0 (m f , r 0 ), whereby the disposable verification key opk = (z 0 ) and A disposable signing key osk = (r 0 ) is generated (step S2). The generated disposable verification key opk = (z 0 ) is publicly disclosed. The generated disposable signature key osk = (r 0 ) is transmitted to the signature device 3.

mは、所定の固定値であってもよいし、乱数r0と同様に、使い捨て署名鍵osk=(r0)の生成の度ごとに異なる値を取ってもよい。この場合、mは例えば乱数とする。また、mは、検証鍵pk=(h0,h1)の一部であってもよいし、固定値のシステムパラメータであってもよい。 m f may be a predetermined fixed value, or may take a different value every time the disposable signature key osk = (r 0 ) is generated, similarly to the random number r 0 . In this case, m f is a random number, for example. Further, m f may be a part of the verification key pk = (h 0 , h 1 ) or may be a fixed system parameter.

使い捨て鍵生成装置2の処理は、署名を生成する度ごとに行われる。使い捨て検証鍵opk=(z0)及び使い捨て署名鍵osk=(r0)を使い回した場合には、安全性が低下する可能性がある。 The process of the disposable key generation device 2 is performed every time a signature is generated. When the disposable verification key opk = (z 0 ) and the disposable signature key osk = (r 0 ) are used repeatedly, there is a possibility that the security is lowered.

<署名装置3>
署名装置3は、Mを署名の対象となるメッセージとして、署名鍵sk=(h0 -1)及び使い捨て署名鍵osk=(r0)を用いて、乱数r1’を生成し、r0’=h0 -1(mf,r0,h1(M,r1’))を計算することにより、署名σ=(r0’,r1’)を生成する(ステップS3)。
<Signature device 3>
The signing device 3 generates a random number r 1 ′ by using M as a message to be signed, the signing key sk = (h 0 −1 ), and the disposable signing key osk = (r 0 ), and r 0 ′. By calculating = h 0 −1 (m f , r 0 , h 1 (M, r 1 ′)), a signature σ = (r 0 ′, r 1 ′) is generated (step S3).

署名装置3の処理は、例えば送信装置5がメッセージMに対する署名を署名装置3に依頼することを契機に行われる。この場合、送信装置5は署名の対象となるメッセージMを署名装置3に送信し、署名装置3は受信したメッセージMに対して署名σを生成し、生成された署名σは送信装置5に送信される。   The processing of the signature device 3 is performed, for example, when the transmission device 5 requests the signature device 3 to sign the message M. In this case, the transmission device 5 transmits the message M to be signed to the signature device 3, the signature device 3 generates a signature σ for the received message M, and transmits the generated signature σ to the transmission device 5. Is done.

その後、送信装置5は、メッセージM及び生成された署名σを受信装置6に送信してもよい。   Thereafter, the transmission device 5 may transmit the message M and the generated signature σ to the reception device 6.

<検証装置4>
検証装置4は、検証鍵pk=(h0,h1)、使い捨て検証鍵opk=(z0)、メッセージM及び署名σ=(r0’,r1’)を用いて、z0がh0(h1(M,r1’),r0’)と一致するかを検証する(ステップS4)。
<Verification device 4>
The verification device 4 uses the verification key pk = (h 0 , h 1 ), the disposable verification key opk = (z 0 ), the message M and the signature σ = (r 0 ′, r 1 ′), and z 0 is h It is verified whether or not it matches 0 (h 1 (M, r 1 ′), r 0 ′) (step S4).

一致する場合には署名は正当なものであり、一致しない場合には署名σは正当でないと判断することができる。この判断結果が出力されてもよい。例えば、一致する場合には1が出力され、一致しない場合には0が出力される。   If they match, the signature is valid. If they do not match, it can be determined that the signature σ is not valid. This determination result may be output. For example, if they match, 1 is output, and if they do not match, 0 is output.

なお、h1(M,r1’)の計算結果が関数h0,h0 -1の定義域の範囲外となる場合には、h0(h1(M,r1’),r0’)を計算することができない。また、この場合、署名装置3はh0 -1(mf,r0,h1(M,r1’))を計算することはできない。このため、TCHをh1の値域からh0,h0 -1の定義域への写像として、検証装置4が、z0がh0(h1(M,r1’),r0’)と一致するかではなく、z0がh0(THC(h1(M,r1’)),r0’)と一致するかを検証してもよい。この場合、署名装置3はr0’=h0 -1(mf,r0,h1(M,r1’))ではなく、r0’=h0 -1(mf,r0,TCH(h1(M,r1’)))を計算する。このように、TCHを用いて、h1(M,r1’)の計算結果が必ず関数h0,h0 -1の定義域の範囲内になるようにすることにより、必ず関数h0,h0 -1の値を計算することが可能となる。 If the calculation result of h 1 (M, r 1 ′) is outside the domain of the function h 0 , h 0 −1 , h 0 (h 1 (M, r 1 ′), r 0 ') Cannot be calculated. In this case, the signature device 3 cannot calculate h 0 −1 (m f , r 0 , h 1 (M, r 1 ′)). For this reason, as a mapping of TCH from the range of h 1 to the domain of definition of h 0 , h 0 −1 , the verification device 4 determines that z 0 is h 0 (h 1 (M, r 1 ′), r 0 ′) It may be verified whether z 0 matches h 0 (THC (h 1 (M, r 1 ')), r 0 '). In this case, the signing device 3 is not r 0 '= h 0 -1 (m f , r 0 , h 1 (M, r 1 ')), but r 0 '= h 0 -1 (m f , r 0 , TCH (h 1 (M, r 1 '))) is calculated. Thus, by using TCH to ensure that the calculation result of h 1 (M, r 1 ′) is always within the domain of the function h 0 , h 0 −1 , the function h 0 , It becomes possible to calculate the value of h 0 -1 .

TCHは、h1の値域からh0,h0 -1の定義域への写像である関数であるとともに、ターゲット衝突困難ハッシュ関数であってもよい。すなわち、与えられたターゲットメッセージMに対してTCH(M)と同じ出力値を持つ異なる入力を推定することが困難な関数であってもよい。 TCH is a function that is a mapping from the range of h 1 to the domain of definition of h 0 , h 0 −1 , and may be a target collision difficult hash function. That is, it may be a function that makes it difficult to estimate a different input having the same output value as TCH (M) for a given target message M.

検証装置4の処理は、例えば署名装置3が生成した署名σが正当なものであるか送信装置5が確かめるために行われる。この場合、送信装置5は、メッセージM及び生成された署名σを検証装置4に送信する。検証装置4は、受信したメッセージM及び生成された署名σを用いて上記の検証を行う。   The processing of the verification device 4 is performed, for example, for the transmission device 5 to confirm whether the signature σ generated by the signature device 3 is valid. In this case, the transmission device 5 transmits the message M and the generated signature σ to the verification device 4. The verification device 4 performs the above verification using the received message M and the generated signature σ.

検証装置4の処理は、送信装置5からメッセージM及び生成された署名σを受信した受信装置6が、署名σが正当なものであるか確かめるために行われてもよい。この場合、受信装置6は、メッセージM及び生成された署名σを検証装置4に送信する。検証装置4は、受信したメッセージM及び生成された署名σを用いて上記の検証を行う。   The processing of the verification device 4 may be performed by the reception device 6 that has received the message M and the generated signature σ from the transmission device 5 to confirm whether the signature σ is valid. In this case, the reception device 6 transmits the message M and the generated signature σ to the verification device 4. The verification device 4 performs the above verification using the received message M and the generated signature σ.

このように、署名鍵及び検証鍵の一部である署名鍵sk=(h0 -1)及び検証鍵pk=(h0,h1)を使い回すことにより、非特許文献1に記載の方式よりも効率を良くすることができる。 As described above, by using the signature key sk = (h 0 −1 ) and the verification key pk = (h 0 , h 1 ), which are part of the signature key and the verification key, the method described in Non-Patent Document 1 is used. Efficiency can be improved.

[変形例等]
上記装置及び方法において説明した処理は、記載の順にしたがって時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
[Variations]
The processes described in the above apparatus and method are not only executed in time series according to the description order, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the process.

また、各装置における各処理をコンピュータによって実現する場合、その各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、その各処理がコンピュータ上で実現される。   Further, when each process in each device is realized by a computer, the processing contents of the functions that each device should have are described by a program. Then, by executing this program on a computer, each process is realized 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.

また、各処理手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   Each processing means may be configured by executing a predetermined program on a computer, or at least a part of these processing contents may be realized by hardware.

その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。   Needless to say, other modifications are possible without departing from the spirit of the present invention.

1 鍵生成装置
2 使い捨て鍵生成装置
3 署名装置
4 検証装置
5 送信装置
6 受信装置
DESCRIPTION OF SYMBOLS 1 Key generation apparatus 2 Disposable key generation apparatus 3 Signature apparatus 4 Verification apparatus 5 Transmission apparatus 6 Reception apparatus

Claims (7)

(h0,h0 -1)をカメレオンハッシュ関数の第1の組とし、(h1,h1 -1)をカメレオンハッシュ関数の第2の組とし、pk=(h0,h1)を複数回の署名及び検証に使い回すことができる固定の検証鍵とし、sk=(h0 -1)を複数回の署名及び検証に使い回すことができる固定の署名鍵として、
mを所定の値として、乱数r0を生成し、z0=h0(mf,r0)を計算することにより、使い捨て検証鍵opk=(z0)及び使い捨て署名鍵osk=(r0)を生成する使い捨て鍵生成装置と、
Mを署名の対象となるメッセージとして、上記署名鍵sk=(h0 -1)及び上記使い捨て署名鍵osk=(r0)を用いて、乱数r1’を生成し、r0’=h0 -1(mf,r0,h1(M,r1’))を計算することに
より、署名σ=(r0’,r1’)を生成する署名装置と、
上記検証鍵pk=(h0,h1)、上記使い捨て検証鍵opk=(z0)、上記メッセージM及び上記署名σ=(r0’,r1’)を用いて、z0がh0(h1(M,r1’),r0’)と一致するかを検証する検証装置と、
を含む部分使い捨て署名システム。
Let (h 0 , h 0 -1 ) be the first set of chameleon hash functions, (h 1 , h 1 -1 ) be the second set of chameleon hash functions, and pk = (h 0 , h 1 ) As a fixed verification key that can be reused for multiple signatures and verification, and sk = (h 0 -1 ) as a fixed signature key that can be reused for multiple signatures and verification,
The m f as the predetermined value, generates a random number r 0, z 0 = h 0 (m f, r 0) by calculating, disposable verification key opk = (z 0) and disposable signature key osk = (r 0 ) a disposable key generation device for generating
Using M as a message to be signed, the signing key sk = (h 0 −1 ) and the disposable signing key osk = (r 0 ) are used to generate a random number r 1 ′, and r 0 ′ = h 0 A signature device that generates a signature σ = (r 0 ′, r 1 ′) by calculating −1 (m f , r 0 , h 1 (M, r 1 ′));
Using the verification key pk = (h 0 , h 1 ), the disposable verification key opk = (z 0 ), the message M and the signature σ = (r 0 ′, r 1 ′), z 0 is h 0. a verification device for verifying whether or not (h 1 (M, r 1 '), r 0 ') matches,
Including partial disposable signature system.
請求項1の部分使い捨て署名システムにおいて、
TCHをh1の値域からh0,h0 -1の定義域への写像として、
上記署名装置は、乱数r1’を生成し、r0’=h0 -1(mf,r0,TCH(h1(M,r1’)))を計算することにより、署名σ=(r0’,r1’)を生成し、
上記検証装置は、z0がh0(THC(h1(M,r1’)),r0’)と一致するかを検証する、
部分使い捨て署名システム。
The partially disposable signature system of claim 1, wherein
TCH is mapped from the range of h 1 to the domain of h 0 , h 0 -1
The signing device generates a random number r 1 ′ and calculates r 0 ′ = h 0 −1 (m f , r 0 , TCH (h 1 (M, r 1 ′))), whereby the signature σ = (r 0 ', r 1 ')
The verification device verifies whether z 0 matches h 0 (THC (h 1 (M, r 1 ')), r 0 ').
Partial disposable signature system.
(h0,h0 -1)をカメレオンハッシュ関数の第1の組とし、(h1,h1 -1)をカメレオンハッシュ関数の第2の組とし、複数回の署名及び検証に使い回すことができる固定の検証鍵pk=(h 0 ,h 1 )及び複数回の署名及び検証に使い回すことができる固定の署名鍵sk=(h 0 -1 )を生成する鍵生成装置から送信される上記固定の署名鍵sk=(h 0 -1 )を受信する手段と
mを所定の値とし、r0を乱数とし、z0=h0(mf,r0)を計算することにより、使い捨て検証鍵opk=(z0)及び使い捨て署名鍵osk=(r0)を生成する使い捨て鍵生成装置から送信される上記使い捨て署名鍵osk=(r 0 )を受信する手段と、
乱数r 1 ’を生成する手段と、
Mを署名の対象となるメッセージとして、r 0’=h0 -1(mf,r0,h1(M,r1’))を計算することにより、署名σ=(r0’,r1’)を生成する手段と、
を含む署名装置。
(h 0, h 0 -1) was used as a first set of chameleon hash function, (h 1, h 1 -1 ) was used as a second set of chameleon hash function, turn use the signature and verification of multiple times A fixed verification key pk = (h 0 , h 1 ) and a fixed signature key sk = (h 0 −1 ) that can be used for multiple signatures and verifications. Means for receiving the fixed signature key sk = (h 0 −1 )
The m f is a predetermined value, the random number r 0, z 0 = h 0 (m f, r 0) by calculating, disposable verification key opk = (z 0) and disposable signature key osk = (r 0 Means for receiving the disposable signing key osk = (r 0 ) transmitted from the disposable key generating device for generating
Means for generating a random number r 1 ';
By calculating r 0 '= h 0 -1 (m f , r 0 , h 1 (M, r 1 ')) where M is the message to be signed, the signature σ = (r 0 ', r 1 ') means to generate
Signature device including
(h0,h0 -1)をカメレオンハッシュ関数の第1の組とし、(h1,h1 -1)をカメレオンハッシュ関数の第2の組とし、複数回の署名及び検証に使い回すことができる固定の検証鍵pk=(h 0 ,h 1 )及び複数回の署名及び検証に使い回すことができる固定の署名鍵sk=(h 0 -1 )を生成する鍵生成装置から、全体に公開される上記固定の検証鍵pk=(h 0 ,h 1 )と
mを所定の値とし、r0を乱数とし、z0=h0(mf,r0)を計算することにより、使い捨て検証鍵opk=(z0)及び使い捨て署名鍵osk=(r0)を生成する使い捨て鍵生成装置から、全体に公開される上記使い捨て検証鍵opk=(z 0 )と、
をそれぞれ取得する手段と、
上記固定の検証鍵pk=(h 0 ,h 1 )、上記使い捨て検証鍵opk=(z 0 )、署名の対象となるメッセージM、及び、署名装置が生成した乱数r1r0’=h0 -1(mf,r0,h1(M,r1’))を計算することにより生成した署名σ=(r0’,r1’)を用いて、z0がh0(h1(M,r1’),r0’)と一致するかを検証する手段と、
を含む検証装置。
(h 0, h 0 -1) was used as a first set of chameleon hash function, (h 1, h 1 -1 ) was used as a second set of chameleon hash function, turn use the signature and verification of multiple times From a key generation device that generates a fixed verification key pk = (h 0 , h 1 ) that can be used and a fixed signature key sk = (h 0 −1 ) that can be used for multiple signatures and verifications And the fixed verification key pk = (h 0 , h 1 ) disclosed to
The m f is a predetermined value, the random number r 0, z 0 = h 0 (m f, r 0) by calculating, disposable verification key opk = (z 0) and disposable signature key osk = (r 0 ) To generate the disposable verification key opk = (z 0 ) disclosed to the whole ,
Means for obtaining each of
The fixed verification key pk = (h 0 , h 1 ), the disposable verification key opk = (z 0 ), the message M to be signed, and the random numbers r 1and r 0 ′ = h 0 -1 (m f, r 0, h 1 (M, r 1 ')) signature sigma = generated by calculating (r 0', r 1 ' ) using, z 0 is h 0 ( h 1 (M, r 1 ' ), r 0' and the means for verifying whether the match with),
Verification device including
(h0,h0 -1)をカメレオンハッシュ関数の第1の組とし、(h1,h1 -1)をカメレオンハッシュ関数の第2の組とし、pk=(h0,h1)を複数回の署名及び検証に使い回すことができる固定の検証鍵とし、sk=(h0 -1)を複数回の署名及び検証に使い回すことができる固定の署名鍵として、
使い捨て鍵生成装置が、mを所定の値として、乱数r0を生成し、z0=h0(mf,r0)を計算することにより、使い捨て検証鍵opk=(z0)及び使い捨て署名鍵osk=(r0)を生成する使い捨て鍵生成ステップと、
署名装置が、Mを署名の対象となるメッセージとして、上記署名鍵sk=(h0 -1)及び上記使い捨て署名鍵osk=(r0)を用いて、乱数r1’を生成し、r0’=h0 -1(mf,r0,h1(M,r1’))を計算することにより、署名σ=(r0’,r1’)を生成する署名ステップと、
検証装置が、上記検証鍵pk=(h0,h1)、上記使い捨て検証鍵opk=(z0)、上記メッセージM及び上記署名σ=(r0’,r1’)を用いて、z0がh0(h1(M,r1’),r0’)と一致するかを検証する検証ステップと、
を含む部分使い捨て署名方法。
Let (h 0 , h 0 -1 ) be the first set of chameleon hash functions, (h 1 , h 1 -1 ) be the second set of chameleon hash functions, and pk = (h 0 , h 1 ) As a fixed verification key that can be reused for multiple signatures and verification, and sk = (h 0 -1 ) as a fixed signature key that can be reused for multiple signatures and verification,
The disposable key generation device generates a random number r 0 with m f as a predetermined value, and calculates z 0 = h 0 (m f , r 0 ), so that the disposable verification key opk = (z 0 ) and the disposable key are generated. A disposable key generation step for generating a signature key osk = (r 0 );
The signing device generates a random number r 1 ′ using M as a message to be signed, the signing key sk = (h 0 −1 ) and the disposable signing key osk = (r 0 ), and r 0 a signature step for generating a signature σ = (r 0 ', r 1 ') by calculating '= h 0 -1 (m f , r 0 , h 1 (M, r 1 '));
The verification device uses the verification key pk = (h 0 , h 1 ), the disposable verification key opk = (z 0 ), the message M and the signature σ = (r 0 ′, r 1 ′), z 0 h 0 (h 1 (M, r 1 '), r 0') and the verification step of verifying whether the match and,
Including partial disposable signature method.
請求項3の署名装置の手段としてコンピュータを機能させるためのプログラム。 Program for causing a computer to function as each means of the signature equipment of claim 3. 請求項4の検証装置の各手段としてコンピュータを機能させるためのプログラム。The program for functioning a computer as each means of the verification apparatus of Claim 4.
JP2014121393A 2014-06-12 2014-06-12 Partially disposable signature system and method, signature apparatus, verification apparatus, and program Active JP6216688B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014121393A JP6216688B2 (en) 2014-06-12 2014-06-12 Partially disposable signature system and method, signature apparatus, verification apparatus, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014121393A JP6216688B2 (en) 2014-06-12 2014-06-12 Partially disposable signature system and method, signature apparatus, verification apparatus, and program

Publications (2)

Publication Number Publication Date
JP2016001263A JP2016001263A (en) 2016-01-07
JP6216688B2 true JP6216688B2 (en) 2017-10-18

Family

ID=55076880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014121393A Active JP6216688B2 (en) 2014-06-12 2014-06-12 Partially disposable signature system and method, signature apparatus, verification apparatus, and program

Country Status (1)

Country Link
JP (1) JP6216688B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108783A (en) * 1998-02-11 2000-08-22 International Business Machines Corporation Chameleon hashing and signatures
JP4087719B2 (en) * 2003-01-22 2008-05-21 日本電信電話株式会社 Signature encryption method, apparatus and program thereof
JP4738003B2 (en) * 2005-01-24 2011-08-03 日本電信電話株式会社 Signature system, signing method
JP5448864B2 (en) * 2010-01-18 2014-03-19 日本電信電話株式会社 Commitment system, master device, transmission device, reception device, commitment method, program, recording medium

Also Published As

Publication number Publication date
JP2016001263A (en) 2016-01-07

Similar Documents

Publication Publication Date Title
JP5710075B2 (en) Certificate validation
US9509492B2 (en) Authentication device, output device, verification device and input device
EP3163792A1 (en) Fully homomorphic message authentication method, device and system
US20130326602A1 (en) Digital Signatures
JP5099003B2 (en) Group signature system and information processing method
US9172530B2 (en) Apparatus and method for generating secret key for ID-based encryption system and recording medium having program recorded thereon for causing computer to execute the method
JP2014158265A (en) Cryptographic devices and methods for generating and verifying commitments from linearly homomorphic signatures
CN109818752A (en) Credit scoring generation method, device, computer equipment and storage medium
JP5448864B2 (en) Commitment system, master device, transmission device, reception device, commitment method, program, recording medium
JP6216688B2 (en) Partially disposable signature system and method, signature apparatus, verification apparatus, and program
JP5227816B2 (en) Anonymous signature generation device, anonymous signature verification device, anonymous signature tracking determination device, anonymous signature system with tracking function, method and program thereof
KR101238846B1 (en) System and method for verifying certificate
JP6125459B2 (en) Signature system, signature generation apparatus, signature generation / verification method, signature generation method, and program
EP2752836A1 (en) Information processing device, signature generation device, signature verification device, information processing method, signature generation method, and signature verification method
WO2011033642A1 (en) Signature generation device and signature verification device
JP2009224997A (en) Signature system, signature method, certifying apparatus, verifying apparatus, certifying method, verifying method, and program
TW201701609A (en) Digital signature method capable of satisfying the safety requirement for blocking one-more forgery under a parallel attack mode
Nishimaki et al. A multi-trapdoor commitment scheme from the RSA assumption
CN112385181A (en) Apparatus, method, and program for certifying authenticity of public key
JP6228903B2 (en) Information sharing system and method, information sharing apparatus and program
Le et al. Flexible signatures: towards making authentication suitable for real-time environments
JP4565632B2 (en) Secret calculation method and system, and program
Zhang et al. A new non-interactive deniable authentication protocol based on generalized ElGamal signature scheme
JP2015082804A (en) Digital signature system, communication device, digital signature method, and program
JP2015136049A (en) Proxy signature device, signature verification device, key generation device, proxy signature system, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170711

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170907

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170925

R150 Certificate of patent or registration of utility model

Ref document number: 6216688

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150