JP2008113315A5 - - Google Patents

Download PDF

Info

Publication number
JP2008113315A5
JP2008113315A5 JP2006295599A JP2006295599A JP2008113315A5 JP 2008113315 A5 JP2008113315 A5 JP 2008113315A5 JP 2006295599 A JP2006295599 A JP 2006295599A JP 2006295599 A JP2006295599 A JP 2006295599A JP 2008113315 A5 JP2008113315 A5 JP 2008113315A5
Authority
JP
Japan
Prior art keywords
value
signature
hash
bit
exclusive
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.)
Granted
Application number
JP2006295599A
Other languages
Japanese (ja)
Other versions
JP4814755B2 (en
JP2008113315A (en
Filing date
Publication date
Application filed filed Critical
Priority to JP2006295599A priority Critical patent/JP4814755B2/en
Priority claimed from JP2006295599A external-priority patent/JP4814755B2/en
Publication of JP2008113315A publication Critical patent/JP2008113315A/en
Publication of JP2008113315A5 publication Critical patent/JP2008113315A5/ja
Application granted granted Critical
Publication of JP4814755B2 publication Critical patent/JP4814755B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (22)

署名生成を行う署名生成装置であって、
整数の秘密鍵xを格納する第1記憶部と、
Mビット(M≧1)のリカバリメッセージmrec∈{0,1}を格納する第2記憶部と、
Nビット(N≧1)のクリアメッセージmclr∈{0,1}を格納する第3記憶部と、
整数の任意値kを生成する任意値生成部と、
位数qの巡回群をGとし、当該巡回群Gの生成元をgとした場合におけるR=g∈Gを算出し、当該演算結果Rを出力する群演算部と、
出力ビット長がL+Mビット(Lは署名検証装置と共有される正の整数)のハッシュ関数H:{0,1}→{0,1}L+Mを、少なくとも上記演算結果Rに依存して定まる値βに作用させ、その演算結果であるL+Mビットのハッシュ値Π=H(β)∈{0,1}L+Mを出力する第1ハッシュ演算部と、
署名検証装置との共有値h∈{0,1}を第1ビット位置に配置し、上記リカバリメッセージmrec∈{0,1}を第2ビット位置に配置したL+Mビットのビット結合値d=h|mrec∈{0,1}L+Mを算出し、当該ビット結合値dを出力するビット結合部と、
上記ハッシュ値Πと上記ビット結合値dとの排他的論理和r=Π(+)d∈{0,1}L+Mを算出し((+)は排他的論理和演算子)、当該排他的論理和値rを出力する排他的論理和演算部と、
出力値が整数のハッシュ関数H:{0,1}→Zを、少なくとも上記排他的論理和値rと上記クリアメッセージmclrとに依存して定まる値γに作用させ、その演算結果であるハッシュ値t=H(γ)∈Zを出力する第3ハッシュ演算部と、
s=k−t・x∈Zを算出し、当該演算結果sを出力する整数演算部と、
署名σ=(r,s)と上記クリアメッセージmclrとを出力する署名出力部と、を有し、
上記値β及び上記値γの少なくとも一方の値は、
さらに、上記リカバリメッセージmrecのビット長Mに依存して決まる値である、
ことを特徴とする署名生成装置。
A signature generation device for generating a signature,
A first storage unit for storing an integer secret key x;
A second storage unit for storing an M-bit (M ≧ 1) recovery message m rec ε {0,1} M ;
A third storage for storing N-bit (N ≧ 1) clear message m clr ε {0, 1} N ;
An arbitrary value generator for generating an arbitrary value k of an integer;
A group operation unit that calculates R = g k ∈G when the cyclic group of order q is G and the generation source of the cyclic group G is g, and outputs the operation result R;
A hash function H 0 having an output bit length of L + M bits (L is a positive integer shared with the signature verification apparatus): {0, 1} * → {0, 1} L + M depends on at least the operation result R A first hash operation unit that operates on a fixed value β and outputs an L + M-bit hash value Π = H 0 (β) ∈ {0, 1} L + M as a result of the operation;
L + M-bit bit combination value in which the shared value hε {0,1} L with the signature verification device is arranged in the first bit position and the recovery message m rec ε {0,1} M is arranged in the second bit position d = h | m rec ε {0, 1} L + M is calculated, and a bit combination unit that outputs the bit combination value d;
The exclusive logical sum r = Π (+) dε {0, 1} L + M of the hash value Π and the bit combination value d is calculated ((+) is an exclusive logical OR operator), and the exclusive logical An exclusive OR operation unit for outputting a sum value r;
An hash function H 3 having an integer output value: {0, 1} * → Z is applied to a value γ determined depending on at least the exclusive OR value r and the clear message m clr , A third hash calculator that outputs a hash value t = H 3 (γ) εZ;
an integer calculation unit that calculates s = kt−x∈Z and outputs the calculation result s;
A signature output unit that outputs the signature σ = (r, s) and the clear message m clr ;
At least one of the value β and the value γ is
Furthermore, the value is determined depending on the bit length M of the recovery message m rec .
A signature generation apparatus characterized by the above.
署名生成を行う署名生成装置であって、
整数の秘密鍵xを格納する第1記憶部と、
Mビット(M≧1)のリカバリメッセージmrec∈{0,1}を格納する第2記憶部と、
Nビット(N≧1)のクリアメッセージmclr∈{0,1}を格納する第3記憶部と、
整数の任意値kを生成する任意値生成部と、
位数qの巡回群をGとし、当該巡回群Gの生成元をgとした場合におけるR=g∈Gを算出し、当該演算結果Rを出力する群演算部と、
出力ビット長がL+Mビット(Lは署名検証装置と共有される正の整数)のハッシュ関数H:{0,1}→{0,1}L+Mを、少なくとも上記演算結果Rに依存して定まる値βに作用させ、その演算結果であるL+Mビットのハッシュ値Π=H(β)∈{0,1}L+Mを出力する第1ハッシュ演算部と、
署名検証装置との共有値h∈{0,1}を第1ビット位置に配置し、上記リカバリメッセージmrec∈{0,1}を第2ビット位置に配置したL+Mビットのビット結合値d=h|mrec∈{0,1}L+Mを算出し、当該ビット結合値dを出力するビット結合部と、
上記ハッシュ値Πと上記ビット結合値dとの排他的論理和r=Π(+)d∈{0,1}L+Mを算出し((+)は排他的論理和演算子)、当該排他的論理和値rを出力する排他的論理和演算部と、
出力値が整数のハッシュ関数H:{0,1}→Zを、少なくとも上記排他的論理和値rと上記クリアメッセージmclrとに依存して定まる値γに作用させ、その演算結果であるハッシュ値t=H(γ)∈Zを出力する第3ハッシュ演算部と、
s=k−t・x∈Zを算出し、当該演算結果sを出力する整数演算部と、
署名σ=(r,s)と上記クリアメッセージmclrとを出力する署名出力部と、を有し、
上記値β及び上記値γの少なくとも一方の値は、
さらに、上記クリアメッセージmclrのビット長Nに依存して決まる値である、
ことを特徴とする署名生成装置。
A signature generation device for generating a signature,
A first storage unit for storing an integer secret key x;
A second storage unit for storing an M-bit (M ≧ 1) recovery message m rec ε {0,1} M ;
A third storage for storing N-bit (N ≧ 1) clear message m clr ε {0, 1} N ;
An arbitrary value generator for generating an arbitrary value k of an integer;
A group operation unit that calculates R = g k ∈G when the cyclic group of order q is G and the generation source of the cyclic group G is g, and outputs the operation result R;
A hash function H 0 having an output bit length of L + M bits (L is a positive integer shared with the signature verification apparatus): {0, 1} * → {0, 1} L + M depends on at least the operation result R A first hash operation unit that operates on a fixed value β and outputs an L + M-bit hash value Π = H 0 (β) ∈ {0, 1} L + M as a result of the operation;
L + M-bit bit combination value in which the shared value hε {0,1} L with the signature verification device is arranged in the first bit position and the recovery message m rec ε {0,1} M is arranged in the second bit position d = h | m rec ε {0, 1} L + M is calculated, and a bit combination unit that outputs the bit combination value d;
The exclusive logical sum r = Π (+) dε {0, 1} L + M of the hash value Π and the bit combination value d is calculated ((+) is an exclusive logical OR operator), and the exclusive logical An exclusive OR operation unit for outputting a sum value r;
An hash function H 3 having an integer output value: {0, 1} * → Z is applied to a value γ determined depending on at least the exclusive OR value r and the clear message m clr , A third hash calculator that outputs a hash value t = H 3 (γ) εZ;
an integer calculation unit that calculates s = kt−x∈Z and outputs the calculation result s;
A signature output unit that outputs the signature σ = (r, s) and the clear message m clr ;
At least one of the value β and the value γ is
Furthermore, the value is determined depending on the bit length N of the clear message m clr .
A signature generation apparatus characterized by the above.
署名生成を行う署名生成装置であって、
整数の秘密鍵xを格納する第1記憶部と、
Mビット(M≧1)のリカバリメッセージmrec∈{0,1}を格納する第2記憶部と、
Nビット(N≧1)のクリアメッセージmclr∈{0,1}を格納する第3記憶部と、
整数の任意値kを生成する任意値生成部と、
位数qの巡回群をGとし、当該巡回群Gの生成元をgとした場合におけるR=g∈Gを算出し、当該演算結果Rを出力する群演算部と、
出力ビット長がL+Mビット(Lは署名検証装置と共有される正の整数)のハッシュ関数H:{0,1}→{0,1}L+Mを、少なくとも上記演算結果Rに依存して定まる値βに作用させ、その演算結果であるL+Mビットのハッシュ値Π=H(β)∈{0,1}L+Mを出力する第1ハッシュ演算部と、
出力ビット長がLビットのハッシュ関数H:{0,1}→{0,1}を、少なくとも上記リカバリメッセージmrecに依存して定まる値αに作用させ、その演算結果であるLビットのハッシュ値h=H(α)∈{0,1}を出力する第2ハッシュ演算部と、
上記ハッシュ値h∈{0,1}を第1ビット位置に配置し、上記リカバリメッセージmrec∈{0,1}を第2ビット位置に配置したL+Mビットのビット結合値d=h|mrec∈{0,1}L+Mを算出し、当該ビット結合値dを出力するビット結合部と、
上記ハッシュ値Πと上記ビット結合値dとの排他的論理和r=Π(+)d∈{0,1}L+Mを算出し((+)は排他的論理和演算子)、当該排他的論理和値rを出力する排他的論理和演算部と、
出力値が整数のハッシュ関数H:{0,1}→Zを、少なくとも上記排他的論理和値rと上記クリアメッセージmclrとに依存して定まる値γに作用させ、その演算結果であるハッシュ値t=H(γ)∈Zを出力する第3ハッシュ演算部と、
s=k−t・x∈Zを算出し、当該演算結果sを出力する整数演算部と、
署名σ=(r,s)と上記クリアメッセージmclrとを出力する署名出力部と、
を有することを特徴とする署名生成装置。
A signature generation device for generating a signature,
A first storage unit for storing an integer secret key x;
A second storage unit for storing an M-bit (M ≧ 1) recovery message m rec ε {0,1} M ;
A third storage for storing N-bit (N ≧ 1) clear message m clr ε {0, 1} N ;
An arbitrary value generator for generating an arbitrary value k of an integer;
A group operation unit that calculates R = g k ∈G when the cyclic group of order q is G and the generation source of the cyclic group G is g, and outputs the operation result R;
A hash function H 0 having an output bit length of L + M bits (L is a positive integer shared with the signature verification apparatus): {0, 1} * → {0, 1} L + M depends on at least the operation result R A first hash operation unit that operates on a fixed value β and outputs an L + M-bit hash value Π = H 0 (β) ∈ {0, 1} L + M as a result of the operation;
A hash function H 1 having an output bit length of L bits: {0, 1} * → {0, 1} L is applied to a value α determined at least depending on the recovery message m rec, and L is a result of the calculation. A second hash calculator that outputs a hash value h = H 1 (α) ∈ {0, 1} L of bits;
The hash value hε {0,1} L is arranged at the first bit position, and the recovery message m rec ε {0,1} M is arranged at the second bit position. m rec ∈ {0, 1} L + M is calculated, and a bit combination unit that outputs the bit combination value d;
The exclusive logical sum r = Π (+) dε {0, 1} L + M of the hash value Π and the bit combination value d is calculated ((+) is an exclusive logical OR operator), and the exclusive logical An exclusive OR operation unit for outputting a sum value r;
An hash function H 3 having an integer output value: {0, 1} * → Z is applied to a value γ determined depending on at least the exclusive OR value r and the clear message m clr , A third hash calculator that outputs a hash value t = H 3 (γ) εZ;
an integer calculation unit that calculates s = kt−x∈Z and outputs the calculation result s;
A signature output unit that outputs the signature σ = (r, s) and the clear message m clr ;
A signature generation apparatus comprising:
署名生成を行う署名生成装置であって、
整数の秘密鍵xを格納する第1記憶部と、
Mビット(M≧1)のリカバリメッセージmrec∈{0,1}を格納する第2記憶部と、
Nビット(N≧1)のクリアメッセージmclr∈{0,1}を格納する第3記憶部と、
整数の任意値kを生成する任意値生成部と、
位数qの巡回群をGとし、当該巡回群Gの生成元をgとした場合におけるR=g∈Gを算出し、当該演算結果Rを出力する群演算部と、
出力ビット長がL+Mビット(Lは署名検証装置と共有される正の整数)のハッシュ関数H:{0,1}→{0,1}L+Mを、少なくとも上記演算結果Rに依存して定まる値βに作用させ、その演算結果であるL+Mビットのハッシュ値Π=H(β)∈{0,1}L+Mを出力する第1ハッシュ演算部と、
出力ビット長がLビットのハッシュ関数H:{0,1}→{0,1}を、少なくとも上記クリアメッセージmclrに依存して定まる値αに作用させ、その演算結果であるLビットのハッシュ値h=H(α)∈{0,1}を出力する第2ハッシュ演算部と、
上記ハッシュ値h∈{0,1}を第1ビット位置に配置し、上記リカバリメッセージmrec∈{0,1}を第2ビット位置に配置したL+Mビットのビット結合値d=h|mrec∈{0,1}L+Mを算出し、当該ビット結合値dを出力するビット結合部と、
上記ハッシュ値Πと上記ビット結合値dとの排他的論理和r=Π(+)d∈{0,1}L+Mを算出し、当該排他的論理和値rを出力する排他的論理和演算部と、
出力値が整数のハッシュ関数H:{0,1}→Zを、少なくとも上記排他的論理和値rと上記クリアメッセージmclrとに依存して定まる値γに作用させ、その演算結果であるハッシュ値t=H(γ)∈Zを出力する第3ハッシュ演算部と、
s=k−t・x∈Zを算出し、当該演算結果sを出力する整数演算部と、
署名σ=(r,s)と上記クリアメッセージmclrとを出力する署名出力部と、
を有することを特徴とする署名生成装置。
A signature generation device for generating a signature,
A first storage unit for storing an integer secret key x;
A second storage unit for storing an M-bit (M ≧ 1) recovery message m rec ε {0,1} M ;
A third storage for storing N-bit (N ≧ 1) clear message m clr ε {0, 1} N ;
An arbitrary value generator for generating an arbitrary value k of an integer;
A group operation unit that calculates R = g k ∈G when the cyclic group of order q is G and the generation source of the cyclic group G is g, and outputs the operation result R;
A hash function H 0 having an output bit length of L + M bits (L is a positive integer shared with the signature verification apparatus): {0, 1} * → {0, 1} L + M depends on at least the operation result R A first hash operation unit that operates on a fixed value β and outputs an L + M-bit hash value Π = H 0 (β) ∈ {0, 1} L + M as a result of the operation;
A hash function H 1 with an output bit length of L bits: {0,1} * → {0,1} L is applied to a value α determined at least depending on the clear message m clr, and L is the result of the operation A second hash calculator that outputs a hash value h = H 1 (α) ∈ {0, 1} L of bits;
The hash value hε {0,1} L is arranged at the first bit position, and the recovery message m rec ε {0,1} M is arranged at the second bit position. m rec ∈ {0, 1} L + M is calculated, and a bit combination unit that outputs the bit combination value d;
Exclusive OR operation unit that calculates exclusive OR r = Π (+) dε {0, 1} L + M of the hash value Π and the bit combination value d and outputs the exclusive OR value r When,
An hash function H 3 having an integer output value: {0, 1} * → Z is applied to a value γ determined depending on at least the exclusive OR value r and the clear message m clr , A third hash calculator that outputs a hash value t = H 3 (γ) εZ;
an integer calculation unit that calculates s = kt−x∈Z and outputs the calculation result s;
A signature output unit that outputs the signature σ = (r, s) and the clear message m clr ;
A signature generation apparatus comprising:
請求項3又は4に記載の署名生成装置であって、
上記値β及び上記値γの少なくとも一方の値は、
さらに、上記リカバリメッセージmrecのビット長Mに依存して決まる値である、
ことを特徴とする署名生成装置。
The signature generation device according to claim 3 or 4,
At least one of the value β and the value γ is
Furthermore, the value is determined depending on the bit length M of the recovery message m rec .
A signature generation apparatus characterized by the above.
請求項3又は4に記載の署名生成装置であって、
上記値β及び上記値γの少なくとも一方の値は、
さらに、上記クリアメッセージmclrのビット長Nに依存して決まる値である、
ことを特徴とする署名生成装置。
The signature generation device according to claim 3 or 4,
At least one of the value β and the value γ is
Furthermore, the value is determined depending on the bit length N of the clear message m clr .
A signature generation apparatus characterized by the above.
署名検証する署名検証装置であって、
位数qの巡回群をGとし、当該巡回群Gの生成元をgとした場合における、署名生成装置の秘密鍵x∈Zに対応する公開鍵y=g∈Gを格納する第1記憶部と、
署名σ’=(r’,s’)と上記クリアメッセージmclr’との入力を受け付ける署名入力部と、
上記署名σ’=(r’,s’)と上記クリアメッセージmclr’とを格納する第2記憶部と、
上記署名σ’のr’のビット長から値L(Lは署名生成装置と共有される正の整数)を減じた値M’を、上記署名σ’に対応するリカバリメッセージmrec’のビット長M’として抽出するビット長抽出部と、
上記ビット長M’を格納する第3記憶部と、
整数のハッシュ値を出力するハッシュ関数H:{0,1}→Zを、少なくとも上記署名σ’が有するr’と上記クリアメッセージmclr’とに依存して定まる値γ’に作用させ、その演算結果であるハッシュ値t’=H(γ’)∈Zを出力する第1ハッシュ演算部と、
R’=gs’・yt’∈Gの演算を行い、その演算結果R’を出力する群演算部と、
出力ビット長がL+M’ビットのハッシュ関数H:{0,1}→{0,1}L+M’を、少なくとも上記演算結果R’に依存して定まる値β’に作用させ、その演算結果であるL+M’ビットのハッシュ値Π’=H(β’)∈{0,1}L+M’を出力する第2ハッシュ演算部と、
上記ハッシュ値Π’と、上記署名σ’が有するr’との排他的論理和d’=Π’(+)r’∈{0,1}L+M’を算出し、当該排他的論理和値d’を出力する排他的論理和演算部と、
署名生成装置との共有値h∈{0,1}と、上記排他的論理和値d’の第1ビット位置のLビットの値h’∈{0,1}とを比較し、h’=hであることを条件に、検証が成功である旨の情報を出力する比較部と、を有し、
上記値β’及び上記値γ’の少なくとも一方の値は、
さらに、上記リカバリメッセージmrec’のビット長M’に依存して決まる値である、
ことを特徴とする署名検証装置。
A signature verification device for verifying a signature,
A first memory for storing the public key y = g x ∈G corresponding to the secret key x∈Z of the signature generation apparatus when the cyclic group of order q is G and the generation source of the cyclic group G is g And
A signature input unit that receives input of the signature σ ′ = (r ′, s ′) and the clear message m clr ′;
A second storage unit for storing the signature σ ′ = (r ′, s ′) and the clear message m clr ′;
The bit length of the recovery message m rec 'corresponding to the signature σ' is obtained by subtracting the value M 'obtained by subtracting the value L (L is a positive integer shared with the signature generation device) from the bit length of r' of the signature σ '. A bit length extraction unit that extracts M ′;
A third storage unit for storing the bit length M ′;
Hash function H 3 for outputting an integer hash value: {0, 1} * → Z is caused to act on a value γ ′ determined depending on at least r ′ of the signature σ ′ and the clear message m clr ′. , A first hash calculation unit that outputs a hash value t ′ = H 3 (γ ′) εZ that is the calculation result;
A group operation unit that performs an operation of R ′ = g s ′ · y t ′ ∈G and outputs the operation result R ′;
A hash function H 0 having an output bit length of L + M ′ bits: {0, 1} * → {0, 1} L + M ′ is applied to a value β ′ determined at least depending on the calculation result R ′, and the calculation result A second hash calculator that outputs L + M′-bit hash value Π ′ = H 0 (β ′) ∈ {0, 1} L + M ′ ,
The exclusive OR d ′ = Π ′ (+) r′∈ {0, 1} L + M ′ between the hash value Π ′ and r ′ of the signature σ ′ is calculated, and the exclusive OR value d is calculated. An exclusive OR operation unit that outputs',
The shared value hε {0,1} L with the signature generation device is compared with the L-bit value h′ε {0,1} L at the first bit position of the exclusive OR value d ′, and h A comparator that outputs information indicating that the verification is successful on the condition that '= h;
At least one of the value β ′ and the value γ ′ is
Furthermore, the value is determined depending on the bit length M ′ of the recovery message m rec ′.
A signature verification apparatus.
署名検証する署名検証装置であって、
位数qの巡回群をGとし、当該巡回群Gの生成元をgとした場合における、署名生成装置の秘密鍵x∈Zに対応する公開鍵y=g∈Gを格納する第1記憶部と、
署名σ’=(r’,s’)と上記クリアメッセージmclr’との入力を受け付ける署名入力部と、
上記署名σ’=(r’,s’)と上記クリアメッセージmclr’とを格納する第2記憶部と、
上記署名σ’に対応するリカバリメッセージmrec’のビット長M’を格納する第3記憶部と、
上記クリアメッセージmclr’のビット長N’を格納する第4記憶部と、
整数のハッシュ値を出力するハッシュ関数H:{0,1}→Zを、少なくとも上記署名σ’が有するr’と上記クリアメッセージmclr’とに依存して定まる値γ’に作用させ、その演算結果であるハッシュ値t’=H(γ’)∈Zを出力する第1ハッシュ演算部と、
R’=gs’・yt’∈Gの演算を行い、その演算結果R’を出力する群演算部と、
出力ビット長がL+M’ビット(Lは署名生成装置と共有される正の整数)のハッシュ関数H:{0,1}→{0,1}L+M’を、少なくとも上記演算結果R’に依存して定まる値β’に作用させ、その演算結果であるL+M’ビットのハッシュ値Π’=H(β’)∈{0,1}L+M’を出力する第2ハッシュ演算部と、
上記ハッシュ値Π’と、上記署名σ’が有するr’との排他的論理和d’=Π’(+)r’∈{0,1}L+M’を算出し、当該排他的論理和値d’を出力する排他的論理和演算部と、
署名生成装置との共有値h∈{0,1}と、上記排他的論理和値d’の第1ビット位置のLビットの値h’∈{0,1}とを比較し、h’=hであることを条件に、検証が成功である旨の情報を出力する比較部と、を有し、
上記値β’及び上記値γ’の少なくとも一方の値は、
さらに、上記クリアメッセージmclr’のビット長N’に依存して決まる値である、
ことを特徴とする署名検証装置。
A signature verification device for verifying a signature,
A first memory for storing the public key y = g x ∈G corresponding to the secret key x∈Z of the signature generation apparatus when the cyclic group of order q is G and the generation source of the cyclic group G is g And
A signature input unit that receives input of the signature σ ′ = (r ′, s ′) and the clear message m clr ′;
A second storage unit for storing the signature σ ′ = (r ′, s ′) and the clear message m clr ′;
A third storage unit for storing the bit length M ′ of the recovery message m rec ′ corresponding to the signature σ ′;
A fourth storage unit for storing the bit length N ′ of the clear message m clr ′;
Hash function H 3 for outputting an integer hash value: {0, 1} * → Z is caused to act on a value γ ′ determined depending on at least r ′ of the signature σ ′ and the clear message m clr ′. , A first hash calculation unit that outputs a hash value t ′ = H 3 (γ ′) εZ that is the calculation result;
A group operation unit that performs an operation of R ′ = g s ′ · y t ′ ∈G and outputs the operation result R ′;
A hash function H 0 : {0,1} * → {0,1} L + M ′ having an output bit length of L + M ′ bits (L is a positive integer shared with the signature generation device) is at least the operation result R ′. A second hash operation unit that operates on a value β ′ determined depending on the output and outputs a hash value Π ′ = H 0 (β ′) ε {0,1} L + M ′ of the L + M ′ bit that is the operation result;
The exclusive OR d ′ = Π ′ (+) r′∈ {0, 1} L + M ′ between the hash value Π ′ and r ′ of the signature σ ′ is calculated, and the exclusive OR value d is calculated. An exclusive OR operation unit that outputs',
The shared value hε {0,1} L with the signature generation device is compared with the L-bit value h′ε {0,1} L at the first bit position of the exclusive OR value d ′, and h A comparator that outputs information indicating that the verification is successful on the condition that '= h;
At least one of the value β ′ and the value γ ′ is
Furthermore, the value is determined depending on the bit length N ′ of the clear message m clr ′.
A signature verification apparatus.
署名検証する署名検証装置であって、
位数qの巡回群をGとし、当該巡回群Gの生成元をgとした場合における、署名生成装置の秘密鍵x∈Zに対応する公開鍵y=g∈Gを格納する第1記憶部と、
署名σ’=(r’,s’)と上記クリアメッセージmclr’との入力を受け付ける署名入力部と、
上記署名σ’=(r’,s’)と上記クリアメッセージmclr’とを格納する第2記憶部と、
上記署名σ’に対応するリカバリメッセージmrec’のビット長M’を格納する第3記憶部と、
整数のハッシュ値を出力するハッシュ関数H:{0,1}→Zを、少なくとも上記署名σ’が有するr’と上記クリアメッセージmclr’とに依存して定まる値γ’に作用させ、その演算結果であるハッシュ値t’=H(γ’)∈Zを出力する第1ハッシュ演算部と、
R’=gs’・yt’∈Gの演算を行い、その演算結果R’を出力する群演算部と、
出力ビット長がL+M’ビット(Lは署名生成装置と共有される正の整数)のハッシュ関数H:{0,1}→{0,1}L+M’を、少なくとも上記演算結果R’に依存して定まる値β’に作用させ、その演算結果であるL+M’ビットのハッシュ値Π’=H(β’)∈{0,1}L+M’を出力する第2ハッシュ演算部と、
上記ハッシュ値Π’と、上記署名σ’が有するr’との排他的論理和d’=Π’(+)r’∈{0,1}L+M’を算出し、当該排他的論理和値d’を出力する排他的論理和演算部と、
出力ビット長がLビットのハッシュ関数H:{0,1}→{0,1}を、少なくとも上記排他的論理和値d’の第2ビット位置のM’ビットの値mrec’∈{0,1}M’に依存して定まる値α’に作用させ、その演算結果であるLビットのハッシュ値H(α’)∈{0,1}を出力する第3ハッシュ演算部と、
上記排他的論理和値d’の第1ビット位置のLビットの値h’∈{0,1}と、上記ハッシュ値H(α’)とを比較し、h’=H(α’)であることを条件に、検証が成功である旨の情報を出力する比較部と、
を有することを特徴とする署名検証装置。
A signature verification device for verifying a signature,
A first memory for storing the public key y = g x ∈G corresponding to the secret key x∈Z of the signature generation apparatus when the cyclic group of order q is G and the generation source of the cyclic group G is g And
A signature input unit that receives input of the signature σ ′ = (r ′, s ′) and the clear message m clr ′;
A second storage unit for storing the signature σ ′ = (r ′, s ′) and the clear message m clr ′;
A third storage unit for storing the bit length M ′ of the recovery message m rec ′ corresponding to the signature σ ′;
Hash function H 3 for outputting an integer hash value: {0, 1} * → Z is caused to act on a value γ ′ determined depending on at least r ′ of the signature σ ′ and the clear message m clr ′. , A first hash calculation unit that outputs a hash value t ′ = H 3 (γ ′) εZ that is the calculation result;
A group operation unit that performs an operation of R ′ = g s ′ · y t ′ ∈G and outputs the operation result R ′;
A hash function H 0 : {0,1} * → {0,1} L + M ′ having an output bit length of L + M ′ bits (L is a positive integer shared with the signature generation device) is at least the operation result R ′. A second hash operation unit that operates on a value β ′ determined depending on the output and outputs a hash value Π ′ = H 0 (β ′) ε {0,1} L + M ′ of the L + M ′ bit that is the operation result;
The exclusive OR d ′ = Π ′ (+) r′∈ {0, 1} L + M ′ between the hash value Π ′ and r ′ of the signature σ ′ is calculated, and the exclusive OR value d is calculated. An exclusive OR operation unit that outputs',
A hash function H 1 with an output bit length of L bits: {0, 1} * → {0, 1} L is set to a value m rec 'of the M ′ bit at least in the second bit position of the exclusive OR value d ′. Ε {0,1} The third hash operation that operates on the value α ′ determined depending on M ′ and outputs the L-bit hash value H 1 (α ′) ε {0,1} L as the operation result And
The L-value h′ε {0,1} L at the first bit position of the exclusive OR value d ′ is compared with the hash value H 1 (α ′), and h ′ = H 1 (α ') On the condition that the verification is successful, a comparison unit that outputs information indicating that the verification is successful;
A signature verification apparatus comprising:
署名検証する署名検証装置であって、
位数qの巡回群をGとし、当該巡回群Gの生成元をgとした場合における、署名生成装置の秘密鍵x∈Zに対応する公開鍵y=g∈Gを格納する第1記憶部と、
署名σ’=(r’,s’)と上記クリアメッセージmclr’との入力を受け付ける署名入力部と、
上記署名σ’=(r’,s’)と上記クリアメッセージmclr’とを格納する第2記憶部と、
上記署名σ’に対応するリカバリメッセージmrec’のビット長M’を格納する第3記憶部と、
整数のハッシュ値を出力するハッシュ関数H:{0,1}→Zを、少なくとも上記署名σ’が有するr’と上記クリアメッセージmclr’とに依存して定まる値γ’に作用させ、その演算結果であるハッシュ値t’=H(γ’)∈Zを出力する第1ハッシュ演算部と、
R’=gs’・yt’∈Gの演算を行い、その演算結果R’を出力する群演算部と、
出力ビット長がL+M’ビット(Lは署名生成装置と共有される正の整数)のハッシュ関数H:{0,1}→{0,1}L+M’を、少なくとも上記演算結果R’に依存して定まる値β’に作用させ、その演算結果であるL+M’ビットのハッシュ値Π’=H(β’)∈{0,1}L+M’を出力する第2ハッシュ演算部と、
上記ハッシュ値Π’と、上記署名σ’が有するr’との排他的論理和d’=Π’(+)r’∈{0,1}L+M’を算出し、当該排他的論理和値d’を出力する排他的論理和演算部と、
出力ビット長がLビットのハッシュ関数H:{0,1}→{0,1}を、少なくとも上記クリアメッセージmclr’に依存して定まる値α’に作用させ、その演算結果であるLビットのハッシュ値H(α’)∈{0,1}を出力する第3ハッシュ演算部と、
上記排他的論理和値d’の第1ビット位置のLビットの値h’∈{0,1}と、上記ハッシュ値H(α’)とを比較し、h’=H(α’)であることを条件に、検証が成功である旨の情報を出力する比較部と、
を有することを特徴とする署名検証装置。
A signature verification device for verifying a signature,
A first memory for storing the public key y = g x ∈G corresponding to the secret key x∈Z of the signature generation apparatus when the cyclic group of order q is G and the generation source of the cyclic group G is g And
A signature input unit that receives input of the signature σ ′ = (r ′, s ′) and the clear message m clr ′;
A second storage unit for storing the signature σ ′ = (r ′, s ′) and the clear message m clr ′;
A third storage unit for storing the bit length M ′ of the recovery message m rec ′ corresponding to the signature σ ′;
Hash function H 3 for outputting an integer hash value: {0, 1} * → Z is caused to act on a value γ ′ determined depending on at least r ′ of the signature σ ′ and the clear message m clr ′. , A first hash calculation unit that outputs a hash value t ′ = H 3 (γ ′) εZ that is the calculation result;
A group operation unit that performs an operation of R ′ = g s ′ · y t ′ ∈G and outputs the operation result R ′;
A hash function H 0 : {0,1} * → {0,1} L + M ′ having an output bit length of L + M ′ bits (L is a positive integer shared with the signature generation device) is at least the operation result R ′. A second hash operation unit that operates on a value β ′ determined depending on the output and outputs a hash value Π ′ = H 0 (β ′) ε {0,1} L + M ′ of the L + M ′ bit that is the operation result;
The exclusive OR d ′ = Π ′ (+) r′∈ {0, 1} L + M ′ between the hash value Π ′ and r ′ of the signature σ ′ is calculated, and the exclusive OR value d is calculated. An exclusive OR operation unit that outputs',
A hash function H 1 having an output bit length of L bits: {0, 1} * → {0, 1} L is caused to act on a value α ′ determined depending on at least the clear message m clr ′. A third hash calculator that outputs a certain L-bit hash value H 1 (α ′) ∈ {0, 1} L ;
The L-value h′ε {0,1} L at the first bit position of the exclusive OR value d ′ is compared with the hash value H 1 (α ′), and h ′ = H 1 (α ') On the condition that the verification is successful, a comparison unit that outputs information indicating that the verification is successful;
A signature verification apparatus comprising:
請求項9又は10に記載の署名検証装置であって、
上記値β’及び上記値γ’の少なくとも一方の値は、
さらに、上記リカバリメッセージmrec’のビット長M’に依存して決まる値である、
ことを特徴とする署名検証装置。
The signature verification device according to claim 9 or 10,
At least one of the value β ′ and the value γ ′ is
Furthermore, the value is determined depending on the bit length M ′ of the recovery message m rec ′.
A signature verification apparatus.
請求項9又は10に記載の署名検証装置であって、
上記値β’及び上記値γ’の少なくとも一方の値は、
さらに、上記クリアメッセージmclr’のビット長N’に依存して決まる値である、
ことを特徴とする署名検証装置。
The signature verification device according to claim 9 or 10,
At least one of the value β ′ and the value γ ′ is
Furthermore, the value is determined depending on the bit length N ′ of the clear message m clr ′.
A signature verification apparatus.
署名生成を行う署名生成方法であって、
整数の秘密鍵xを第1記憶部に格納するステップと、
Mビット(M≧1)のリカバリメッセージmrec∈{0,1}を第2記憶部に格納するステップと、
Nビット(N≧1)のクリアメッセージmclr∈{0,1}を第3記憶部に格納するステップと、
任意値生成部が、整数の任意値kを生成するステップと、
群演算部が、位数qの巡回群をGとし、当該巡回群Gの生成元をgとした場合におけるR=g∈Gを算出し、当該演算結果Rを出力するステップと、
第1ハッシュ演算部が、出力ビット長がL+Mビット(Lは署名検証装置と共有される正の整数)のハッシュ関数H:{0,1}→{0,1}L+Mを、少なくとも上記演算結果Rに依存して定まる値βに作用させ、その演算結果であるL+Mビットのハッシュ値Π=H(β)∈{0,1}L+Mを出力するステップと、
ビット結合部が、署名検証装置との共有値h∈{0,1}を第1ビット位置に配置し、上記リカバリメッセージmrec∈{0,1}を第2ビット位置に配置したL+Mビットのビット結合値d=h|mrec∈{0,1}L+Mを算出し、当該ビット結合値dを出力するステップと、
排他的論理和演算部が、上記ハッシュ値Πと上記ビット結合値dとの排他的論理和r=Π(+)d∈{0,1}L+Mを算出し、当該排他的論理和値rを出力するステップと、
第3ハッシュ演算部が、出力値が整数のハッシュ関数H:{0,1}→Zを、少なくとも上記排他的論理和値rと上記クリアメッセージmclrとに依存して定まる値γに作用させ、その演算結果であるハッシュ値t=H(γ)∈Zを出力するステップと、
整数演算部が、s=k−t・x∈Zを算出し、当該演算結果sを出力するステップと、
署名出力部が、署名σ=(r,s)と上記クリアメッセージmclrとを出力するステップと、を有し、
上記値β及び上記値γの少なくとも一方の値は、
さらに、上記リカバリメッセージmrecのビット長Mに依存して決まる値である、
ことを特徴とする署名生成方法。
A signature generation method for generating a signature,
Storing an integer secret key x in the first storage unit;
Storing an M-bit (M ≧ 1) recovery message m rec ε {0,1} M in the second storage unit;
Storing N-bit (N ≧ 1) clear message m clr ε {0, 1} N in the third storage unit;
An arbitrary value generation unit generating an integer arbitrary value k;
A group calculation unit calculating R = g k ∈G when the cyclic group of order q is G, and the generation source of the cyclic group G is g, and outputting the calculation result R;
The first hash calculator is the hash function H 0 of the output bit length L + M bits (positive integer L is shared with the signature verification apparatus): {0,1} * → the {0, 1} L + M, at least the Acting on a value β determined depending on the operation result R, and outputting an L + M-bit hash value Π = H 0 (β) ∈ {0,1} L + M as the operation result;
The bit combination unit arranges the shared value hε {0,1} L with the signature verification device in the first bit position, and L + M arranges the recovery message m rec ε {0,1} M in the second bit position. Calculating a bit combination value d = h | m rec ∈ {0, 1} L + M of the bits and outputting the bit combination value d;
The exclusive OR operation unit calculates an exclusive OR r = Π (+) dε {0, 1} L + M between the hash value Π and the bit combination value d, and the exclusive OR value r is calculated. Output step;
The third hash calculation unit converts the hash function H 3 : {0, 1} * → Z whose output value is an integer to a value γ determined depending on at least the exclusive OR value r and the clear message m clr. Outputting a hash value t = H 3 (γ) εZ as a result of the operation;
An integer calculation unit calculating s = kt−x∈Z and outputting the calculation result s;
A signature output unit outputting the signature σ = (r, s) and the clear message m clr ;
At least one of the value β and the value γ is
Furthermore, the value is determined depending on the bit length M of the recovery message m rec .
A signature generation method characterized by the above.
署名生成を行う署名生成方法であって、
整数の秘密鍵xを第1記憶部に格納するステップと、
Mビット(M≧1)のリカバリメッセージmrec∈{0,1}を第2記憶部に格納するステップと、
Nビット(N≧1)のクリアメッセージmclr∈{0,1}を第3記憶部に格納するステップと、
任意値生成部が、整数の任意値kを生成するステップと、
群演算部が、位数qの巡回群をGとし、当該巡回群Gの生成元をgとした場合におけるR=g∈Gを算出し、当該演算結果Rを出力するステップと、
第1ハッシュ演算部が、出力ビット長がL+Mビット(Lは署名検証装置と共有される正の整数)のハッシュ関数H:{0,1}→{0,1}L+Mを、少なくとも上記演算結果Rに依存して定まる値βに作用させ、その演算結果であるL+Mビットのハッシュ値Π=H(β)∈{0,1}L+Mを出力するステップと、
ビット結合部が、署名検証装置との共有値h∈{0,1}を第1ビット位置に配置し、上記リカバリメッセージmrec∈{0,1}を第2ビット位置に配置したL+Mビットのビット結合値d=h|mrec∈{0,1}L+Mを算出し、当該ビット結合値dを出力するステップと、
排他的論理和演算部が、上記ハッシュ値Πと上記ビット結合値dとの排他的論理和r=Π(+)d∈{0,1}L+Mを算出し、当該排他的論理和値rを出力するステップと、
第3ハッシュ演算部が、出力値が整数のハッシュ関数H:{0,1}→Zを、少なくとも上記排他的論理和値rと上記クリアメッセージmclrとに依存して定まる値γに作用させ、その演算結果であるハッシュ値t=H(γ)∈Zを出力するステップと、
整数演算部が、s=k−t・x∈Zを算出し、当該演算結果sを出力するステップと、
署名出力部が、署名σ=(r,s)と上記クリアメッセージmclrとを出力するステップと、を有し、
上記値β及び上記値γの少なくとも一方の値は、
さらに、上記クリアメッセージmclrのビット長Nに依存して決まる値である、
ことを特徴とする署名生成方法。
A signature generation method for generating a signature,
Storing an integer secret key x in the first storage unit;
Storing an M-bit (M ≧ 1) recovery message m rec ε {0,1} M in the second storage unit;
Storing N-bit (N ≧ 1) clear message m clr ε {0, 1} N in the third storage unit;
An arbitrary value generation unit generating an integer arbitrary value k;
A group calculation unit calculating R = g k ∈G when the cyclic group of order q is G, and the generation source of the cyclic group G is g, and outputting the calculation result R;
The first hash calculator is the hash function H 0 of the output bit length L + M bits (positive integer L is shared with the signature verification apparatus): {0,1} * → the {0, 1} L + M, at least the Acting on a value β determined depending on the operation result R, and outputting an L + M-bit hash value Π = H 0 (β) ∈ {0,1} L + M as the operation result;
The bit combination unit arranges the shared value hε {0,1} L with the signature verification device in the first bit position, and L + M arranges the recovery message m rec ε {0,1} M in the second bit position. Calculating a bit combination value d = h | m rec ∈ {0, 1} L + M of the bits and outputting the bit combination value d;
The exclusive OR operation unit calculates an exclusive OR r = Π (+) dε {0, 1} L + M between the hash value Π and the bit combination value d, and the exclusive OR value r is calculated. Output step;
The third hash calculation unit converts the hash function H 3 : {0, 1} * → Z whose output value is an integer to a value γ determined depending on at least the exclusive OR value r and the clear message m clr. Outputting a hash value t = H 3 (γ) εZ as a result of the operation;
An integer calculation unit calculating s = kt−x∈Z and outputting the calculation result s;
A signature output unit outputting the signature σ = (r, s) and the clear message m clr ;
At least one of the value β and the value γ is
Furthermore, the value is determined depending on the bit length N of the clear message m clr .
A signature generation method characterized by the above.
署名生成を行う署名生成方法であって、
整数の秘密鍵xを第1記憶部に格納するステップと、
Mビット(M≧1)のリカバリメッセージmrec∈{0,1}を第2記憶部に格納するステップと、
Nビット(N≧1)のクリアメッセージmclr∈{0,1}を第3記憶部に格納するステップと、
任意値生成部が、整数の任意値kを生成するステップと、
群演算部が、位数qの巡回群をGとし、当該巡回群Gの生成元をgとした場合におけるR=g∈Gを算出し、当該演算結果Rを出力するステップと、
第1ハッシュ演算部が、出力ビット長がL+Mビット(Lは署名検証装置と共有される正の整数)のハッシュ関数H:{0,1}→{0,1}L+Mを、少なくとも上記演算結果Rに依存して定まる値βに作用させ、その演算結果であるL+Mビットのハッシュ値Π=H(β)∈{0,1}L+Mを出力するステップと、
第2ハッシュ演算部が、出力ビット長がLビットのハッシュ関数H:{0,1}→{0,1}を、少なくとも上記リカバリメッセージmrecに依存して定まる値αに作用させ、その演算結果であるLビットのハッシュ値h=H(α)∈{0,1}を出力するステップと、
ビット結合部が、上記ハッシュ値h∈{0,1}を第1ビット位置に配置し、上記リカバリメッセージmrec∈{0,1}を第2ビット位置に配置したL+Mビットのビット結合値d=h|mrec∈{0,1}L+Mを算出し、当該ビット結合値dを出力するステップと、
排他的論理和演算部が、上記ハッシュ値Πと上記ビット結合値dとの排他的論理和r=Π(+)d∈{0,1}L+Mを算出し、当該排他的論理和値rを出力するステップと、
第3ハッシュ演算部が、出力値が整数のハッシュ関数H:{0,1}→Zを、少なくとも上記排他的論理和値rと上記クリアメッセージmclrとに依存して定まる値γに作用させ、その演算結果であるハッシュ値t=H(γ)∈Zを出力するステップと、
整数演算部が、s=k−t・x∈Zを算出し、当該演算結果sを出力するステップと、
署名出力部が、署名σ=(r,s)と上記クリアメッセージmclrとを出力するステップと、
を有することを特徴とする署名生成方法。
A signature generation method for generating a signature,
Storing an integer secret key x in the first storage unit;
Storing an M-bit (M ≧ 1) recovery message m rec ε {0,1} M in the second storage unit;
Storing N-bit (N ≧ 1) clear message m clr ε {0, 1} N in the third storage unit;
An arbitrary value generation unit generating an integer arbitrary value k;
A group calculation unit calculating R = g k ∈G when the cyclic group of order q is G, and the generation source of the cyclic group G is g, and outputting the calculation result R;
The first hash calculator is the hash function H 0 of the output bit length L + M bits (positive integer L is shared with the signature verification apparatus): {0,1} * → the {0, 1} L + M, at least the Acting on a value β determined depending on the operation result R, and outputting an L + M-bit hash value Π = H 0 (β) ∈ {0,1} L + M as the operation result;
The second hash calculator operates a hash function H 1 : {0,1} * → {0,1} L having an output bit length of L bits on a value α determined at least depending on the recovery message m rec. Outputting an L-bit hash value h = H 1 (α) ∈ {0, 1} L as a result of the operation;
A bit combining unit arranges the hash value hε {0,1} L in the first bit position and the bit combination of L + M bits in which the recovery message m rec ε {0,1} M is arranged in the second bit position. Calculating a value d = h | m rec ∈ {0, 1} L + M and outputting the bit combination value d;
The exclusive OR operation unit calculates an exclusive OR r = Π (+) dε {0, 1} L + M between the hash value Π and the bit combination value d, and the exclusive OR value r is calculated. Output step;
The third hash calculation unit converts the hash function H 3 : {0, 1} * → Z whose output value is an integer to a value γ determined depending on at least the exclusive OR value r and the clear message m clr. Outputting a hash value t = H 3 (γ) εZ as a result of the operation;
An integer calculation unit calculating s = kt−x∈Z and outputting the calculation result s;
A signature output unit outputting the signature σ = (r, s) and the clear message m clr ;
A signature generation method characterized by comprising:
署名生成を行う署名生成方法であって、
整数の秘密鍵xを第1記憶部に格納するステップと、
Mビット(M≧1)のリカバリメッセージmrec∈{0,1}を第2記憶部に格納するステップと、
Nビット(N≧1)のクリアメッセージmclr∈{0,1}を第3記憶部に格納するステップと、
任意値生成部が、整数の任意値kを生成するステップと、
群演算部が、位数qの巡回群をGとし、当該巡回群Gの生成元をgとした場合におけるR=g∈Gを算出し、当該演算結果Rを出力するステップと、
第1ハッシュ演算部が、出力ビット長がL+Mビット(Lは署名検証装置と共有される正の整数)のハッシュ関数H:{0,1}→{0,1}L+Mを、少なくとも上記演算結果Rに依存して定まる値βに作用させ、その演算結果であるL+Mビットのハッシュ値Π=H(β)∈{0,1}L+Mを出力するステップと、
第2ハッシュ演算部が、出力ビット長がLビットのハッシュ関数H:{0,1}→{0,1}を、少なくとも上記クリアメッセージmclrに依存して定まる値αに作用させ、その演算結果であるLビットのハッシュ値h=H(α)∈{0,1}を出力するステップと、
ビット結合部が、上記ハッシュ値h∈{0,1}を第1ビット位置に配置し、上記リカバリメッセージmrec∈{0,1}を第2ビット位置に配置したL+Mビットのビット結合値d=h|mrec∈{0,1}L+Mを算出し、当該ビット結合値dを出力するステップと、
排他的論理和演算部が、上記ハッシュ値Πと上記ビット結合値dとの排他的論理和r=Π(+)d∈{0,1}L+Mを算出し、当該排他的論理和値rを出力するステップと、
第3ハッシュ演算部が、出力値が整数のハッシュ関数H:{0,1}→Zを、少なくとも上記排他的論理和値rと上記クリアメッセージmclrとに依存して定まる値γに作用させ、その演算結果であるハッシュ値t=H(γ)∈Zを出力するステップと、
整数演算部が、s=k−t・x∈Zを算出し、当該演算結果sを出力するステップと、
署名出力部が、署名σ=(r,s)と上記クリアメッセージmclrとを出力するステップと、
を有することを特徴とする署名生成方法。
A signature generation method for generating a signature,
Storing an integer secret key x in the first storage unit;
Storing an M-bit (M ≧ 1) recovery message m rec ε {0,1} M in the second storage unit;
Storing N-bit (N ≧ 1) clear message m clr ε {0, 1} N in the third storage unit;
An arbitrary value generation unit generating an integer arbitrary value k;
A group calculation unit calculating R = g k ∈G when the cyclic group of order q is G, and the generation source of the cyclic group G is g, and outputting the calculation result R;
The first hash calculator is the hash function H 0 of the output bit length L + M bits (positive integer L is shared with the signature verification apparatus): {0,1} * → the {0, 1} L + M, at least the Acting on a value β determined depending on the operation result R, and outputting an L + M-bit hash value Π = H 0 (β) ∈ {0,1} L + M as the operation result;
The second hash calculation unit causes the hash function H 1 having an output bit length of L bits: {0, 1} * → {0, 1} L to act on a value α determined at least depending on the clear message m clr Outputting an L-bit hash value h = H 1 (α) ∈ {0, 1} L as a result of the operation;
A bit combining unit arranges the hash value hε {0,1} L in the first bit position and the bit combination of L + M bits in which the recovery message m rec ε {0,1} M is arranged in the second bit position. Calculating a value d = h | m rec ∈ {0, 1} L + M and outputting the bit combination value d;
The exclusive OR operation unit calculates an exclusive OR r = Π (+) dε {0, 1} L + M between the hash value Π and the bit combination value d, and the exclusive OR value r is calculated. Output step;
The third hash calculation unit converts the hash function H 3 : {0, 1} * → Z whose output value is an integer to a value γ determined depending on at least the exclusive OR value r and the clear message m clr. Outputting a hash value t = H 3 (γ) εZ as a result of the operation;
An integer calculation unit calculating s = kt−x∈Z and outputting the calculation result s;
A signature output unit outputting the signature σ = (r, s) and the clear message m clr ;
A signature generation method characterized by comprising:
署名検証する署名検証方法であって、
位数qの巡回群をGとし、当該巡回群Gの生成元をgとした場合における、署名生成装置の秘密鍵x∈Zに対応する公開鍵y=g∈Gを第1記憶部に格納するステップと、
署名σ’=(r’,s’)と上記クリアメッセージmclr’とが署名入力部に入力されるステップと、
上記署名σ’=(r’,s’)と上記クリアメッセージmclr’とを第2記憶部に格納するステップと、
ビット長抽出部が、上記署名σ’のr’のビット長から値L(Lは署名生成装置と共有される正の整数)を減じた値M’を、上記署名σ’に対応するリカバリメッセージmrec’のビット長M’として抽出するステップと、
上記ビット長M’を第3記憶部に格納するステップと、
第1ハッシュ演算部が、整数のハッシュ値を出力するハッシュ関数H:{0,1}→Zを、少なくとも上記署名σ’が有するr’と上記クリアメッセージmclr’とに依存して定まる値γ’に作用させ、その演算結果であるハッシュ値t’=H(γ’)∈Zを出力するステップと、
群演算部が、R’=gs’・yt’∈Gの演算を行い、その演算結果R’を出力するステップと、
第2ハッシュ演算部が、出力ビット長がL+M’ビットのハッシュ関数H:{0,1}→{0,1}L+M’を、少なくとも上記演算結果R’に依存して定まる値β’に作用させ、その演算結果であるL+M’ビットのハッシュ値Π’=H(β’)∈{0,1}L+M’を出力するステップと、
排他的論理和演算部が、上記ハッシュ値Π’と、上記署名σ’が有するr’との排他的論理和d’=Π’(+)r’∈{0,1}L+M’を算出し、当該排他的論理和値d’を出力するステップと、
比較部が、署名生成装置との共有値h∈{0,1}と、上記排他的論理和値d’の第1ビット位置のLビットの値h’∈{0,1}とを比較し、h’=hであることを条件に、検証が成功である旨の情報を出力するステップと、を有し、
上記値β’及び上記値γ’の少なくとも一方の値は、
さらに、上記リカバリメッセージmrec’のビット長M’に依存して決まる値である、
ことを特徴とする署名検証方法。
A signature verification method for verifying a signature,
When the cyclic group of order q is G and the generation source of the cyclic group G is g, the public key y = g x ∈G corresponding to the secret key x∈Z of the signature generation apparatus is stored in the first storage unit. Storing, and
A step of inputting the signature σ ′ = (r ′, s ′) and the clear message m clr ′ into the signature input unit;
Storing the signature σ ′ = (r ′, s ′) and the clear message m clr ′ in a second storage unit;
The recovery message corresponding to the signature σ ′ is obtained by subtracting the value M ′ obtained by subtracting the value L (L is a positive integer shared with the signature generation device) from the bit length of r ′ of the signature σ ′. extracting m rec 'as a bit length M';
Storing the bit length M ′ in a third storage unit;
The first hash operation unit outputs a hash function H 3 that outputs an integer hash value: {0, 1} * → Z, depending on at least r ′ of the signature σ ′ and the clear message m clr ′ Acting on a fixed value γ ′, and outputting a hash value t ′ = H 3 (γ ′) ∈Z as a result of the operation;
A group operation unit performing an operation of R ′ = g s ′ · y t ′ εG and outputting the operation result R ′;
The second hash calculation unit determines a hash function H 0 having an output bit length of L + M ′ bits: {0, 1} * → {0, 1} L + M ′ depending on at least the calculation result R ′ β ′ And outputting the L + M′-bit hash value β ′ = H 0 (β ′) ∈ {0, 1} L + M ′ as a result of the operation;
The exclusive OR operation unit calculates an exclusive OR d ′ = Π ′ (+) r′∈ {0, 1} L + M ′ between the hash value Π ′ and r ′ included in the signature σ ′. Outputting the exclusive OR value d ′;
The comparison unit obtains the shared value hε {0,1} L with the signature generation device and the L-bit value h′ε {0,1} L at the first bit position of the exclusive OR value d ′. A step of outputting information indicating that the verification is successful on the condition that h ′ = h.
At least one of the value β ′ and the value γ ′ is
Furthermore, the value is determined depending on the bit length M ′ of the recovery message m rec ′.
And a signature verification method.
署名検証する署名検証方法であって、
位数qの巡回群をGとし、当該巡回群Gの生成元をgとした場合における、署名生成装置の秘密鍵x∈Zに対応する公開鍵y=g∈Gを第1記憶部に格納するステップと、
署名σ’=(r’,s’)と上記クリアメッセージmclr’とが署名入力部に入力されるステップと、
上記署名σ’=(r’,s’)と上記クリアメッセージmclr’とを第2記憶部に格納するステップと、
上記署名σ’に対応するリカバリメッセージmrec’のビット長M’を第3記憶部に格納するステップと、
上記クリアメッセージmclr’のビット長N’を第4記憶部に格納するステップと、
第1ハッシュ演算部が、整数のハッシュ値を出力するハッシュ関数H:{0,1}→Zを、少なくとも上記署名σ’が有するr’と上記クリアメッセージmclr’とに依存して定まる値γ’に作用させ、その演算結果であるハッシュ値t’=H(γ’)∈Zを出力するステップと、
群演算部が、R’=gs’・yt’∈Gの演算を行い、その演算結果R’を出力するステップと、
第2ハッシュ演算部が、出力ビット長がL+M’ビット(Lは署名生成装置と共有される正の整数)のハッシュ関数H:{0,1}→{0,1}L+M’を、少なくとも上記演算結果R’に依存して定まる値β’に作用させ、その演算結果であるL+M’ビットのハッシュ値Π’=H(β’)∈{0,1}L+M’を出力するステップと、
排他的論理和演算部が、上記ハッシュ値Π’と、上記署名σ’が有するr’との排他的論理和d’=Π’(+)r’∈{0,1}L+M’を算出し、当該排他的論理和値d’を出力するステップと、
比較部が、署名生成装置との共有値h∈{0,1}と、上記排他的論理和値d’の第1ビット位置のLビットの値h’∈{0,1}とを比較し、h’=hであることを条件に、検証が成功である旨の情報を出力するステップと、を有し、
上記値β’及び上記値γ’の少なくとも一方の値は、
さらに、上記クリアメッセージmclr’のビット長N’に依存して決まる値である、
ことを特徴とする署名検証方法。
A signature verification method for verifying a signature,
When the cyclic group of order q is G and the generation source of the cyclic group G is g, the public key y = g x ∈G corresponding to the secret key x∈Z of the signature generation apparatus is stored in the first storage unit. Storing, and
A step of inputting the signature σ ′ = (r ′, s ′) and the clear message m clr ′ into the signature input unit;
Storing the signature σ ′ = (r ′, s ′) and the clear message m clr ′ in a second storage unit;
Storing the bit length M ′ of the recovery message m rec ′ corresponding to the signature σ ′ in the third storage unit;
Storing the bit length N ′ of the clear message m clr ′ in a fourth storage unit;
The first hash operation unit outputs a hash function H 3 that outputs an integer hash value: {0, 1} * → Z, depending on at least r ′ of the signature σ ′ and the clear message m clr ′ Acting on a fixed value γ ′, and outputting a hash value t ′ = H 3 (γ ′) ∈Z as a result of the operation;
A group operation unit performing an operation of R ′ = g s ′ · y t ′ εG and outputting the operation result R ′;
The second hash calculator calculates a hash function H 0 : {0,1} * → {0,1} L + M ′ having an output bit length of L + M ′ bits (L is a positive integer shared with the signature generation device), A step of acting on a value β ′ determined depending on at least the operation result R ′, and outputting an L + M′-bit hash value Π ′ = H 0 (β ′) ∈ {0, 1} L + M ′ as the operation result When,
The exclusive OR operation unit calculates an exclusive OR d ′ = Π ′ (+) r′∈ {0, 1} L + M ′ between the hash value Π ′ and r ′ included in the signature σ ′. Outputting the exclusive OR value d ′;
The comparison unit obtains the shared value hε {0,1} L with the signature generation device and the L-bit value h′ε {0,1} L at the first bit position of the exclusive OR value d ′. A step of outputting information indicating that the verification is successful on the condition that h ′ = h.
At least one of the value β ′ and the value γ ′ is
Furthermore, the value is determined depending on the bit length N ′ of the clear message m clr ′.
And a signature verification method.
署名検証する署名検証方法であって、
位数qの巡回群をGとし、当該巡回群Gの生成元をgとした場合における、署名生成装置の秘密鍵x∈Zに対応する公開鍵y=g∈Gを第1記憶部に格納するステップと、
署名σ’=(r’,s’)と上記クリアメッセージmclr’とが署名入力部に入力されるステップと、
上記署名σ’=(r’,s’)と上記クリアメッセージmclr’とを第2記憶部に格納するステップと、
上記署名σ’に対応するリカバリメッセージmrec’のビット長M’を第3記憶部に格納するステップと、
第1ハッシュ演算部が、整数のハッシュ値を出力するハッシュ関数H:{0,1}→Zを、少なくとも上記署名σ’が有するr’と上記クリアメッセージmclr’とに依存して定まる値γ’に作用させ、その演算結果であるハッシュ値t’=H(γ’)∈Zを出力するステップと、
群演算部が、R’=gs’・yt’∈Gの演算を行い、その演算結果R’を出力するステップと、
第2ハッシュ演算部が、出力ビット長がL+M’ビット(Lは署名生成装置と共有される正の整数)のハッシュ関数H:{0,1}→{0,1}L+M’を、少なくとも上記演算結果R’に依存して定まる値β’に作用させ、その演算結果であるL+M’ビットのハッシュ値Π’=H(β’)∈{0,1}L+M’を出力するステップと、
排他的論理和演算部が、上記ハッシュ値Π’と、上記署名σ’が有するr’との排他的論理和d’=Π’(+)r’∈{0,1}L+M’を算出し、当該排他的論理和値d’を出力するステップと、
第3ハッシュ演算部が、出力ビット長がLビットのハッシュ関数H:{0,1}→{0,1}を、少なくとも上記排他的論理和値d’の第2ビット位置のM’ビットの値mrec’∈{0,1}M’に依存して定まる値α’に作用させ、その演算結果であるLビットのハッシュ値H(α’)∈{0,1}を出力するステップと、
比較部が、上記排他的論理和値d’の第1ビット位置のLビットの値h’∈{0,1}と、上記ハッシュ値H(α’)とを比較し、h’=H(α’)であることを条件に、検証が成功である旨の情報を出力するステップと、
を有することを特徴とする署名検証方法。
A signature verification method for verifying a signature,
When the cyclic group of order q is G and the generation source of the cyclic group G is g, the public key y = g x ∈G corresponding to the secret key x∈Z of the signature generation apparatus is stored in the first storage unit. Storing, and
A step of inputting the signature σ ′ = (r ′, s ′) and the clear message m clr ′ into the signature input unit;
Storing the signature σ ′ = (r ′, s ′) and the clear message m clr ′ in a second storage unit;
Storing the bit length M ′ of the recovery message m rec ′ corresponding to the signature σ ′ in the third storage unit;
The first hash operation unit outputs a hash function H 3 that outputs an integer hash value: {0, 1} * → Z, depending on at least r ′ of the signature σ ′ and the clear message m clr ′ Acting on a fixed value γ ′, and outputting a hash value t ′ = H 3 (γ ′) ∈Z as a result of the operation;
A group operation unit performing an operation of R ′ = g s ′ · y t ′ εG and outputting the operation result R ′;
The second hash calculator calculates a hash function H 0 : {0,1} * → {0,1} L + M ′ having an output bit length of L + M ′ bits (L is a positive integer shared with the signature generation device), A step of acting on a value β ′ determined depending on at least the operation result R ′, and outputting an L + M′-bit hash value Π ′ = H 0 (β ′) ∈ {0, 1} L + M ′ as the operation result When,
The exclusive OR operation unit calculates an exclusive OR d ′ = Π ′ (+) r′∈ {0, 1} L + M ′ between the hash value Π ′ and r ′ included in the signature σ ′. Outputting the exclusive OR value d ′;
The third hash calculator calculates a hash function H 1 : {0,1} * → {0,1} L having an output bit length of L bits, at least in the second bit position M of the exclusive OR value d ′. It acts on a value α ′ determined depending on the value of bit value m rec '∈ {0,1} M ′ , and an L-bit hash value H 1 (α ′) ∈ {0,1} L as a result of the operation. A step of outputting
The comparison unit compares the L-bit value h′∈ {0, 1} L at the first bit position of the exclusive OR value d ′ with the hash value H 1 (α ′), and h ′ = A step of outputting information indicating that the verification is successful on the condition that H 1 (α ′);
A signature verification method comprising:
署名検証する署名検証方法であって、
位数qの巡回群をGとし、当該巡回群Gの生成元をgとした場合における、署名生成装置の秘密鍵x∈Zに対応する公開鍵y=g∈Gを第1記憶部に格納するステップと、
署名σ’=(r’,s’)と上記クリアメッセージmclr’とが署名入力部に入力されるステップと、
上記署名σ’=(r’,s’)と上記クリアメッセージmclr’とを第2記憶部に格納するステップと、
上記署名σ’に対応するリカバリメッセージmrec’のビット長M’を第3記憶部に格納するステップと、
第1ハッシュ演算部が、整数のハッシュ値を出力するハッシュ関数H:{0,1}→Zを、少なくとも上記署名σ’が有するr’と上記クリアメッセージmclr’とに依存して定まる値γ’に作用させ、その演算結果であるハッシュ値t’=H(γ’)∈Zを出力するステップと、
群演算部が、R’=gs’・yt’∈Gの演算を行い、その演算結果R’を出力するステップと、
第2ハッシュ演算部が、出力ビット長がL+M’ビット(Lは署名生成装置と共有される正の整数)のハッシュ関数H:{0,1}→{0,1}L+M’を、少なくとも上記演算結果R’に依存して定まる値β’に作用させ、その演算結果であるL+M’ビットのハッシュ値Π’=H(β’)∈{0,1}L+M’を出力するステップと、
排他的論理和演算部が、上記ハッシュ値Π’と、上記署名σ’が有するr’との排他的論理和d’=Π’(+)r’∈{0,1}L+M’を算出し、当該排他的論理和値d’を出力するステップと、
第3ハッシュ演算部が、出力ビット長がLビットのハッシュ関数H:{0,1}→{0,1}を、少なくとも上記クリアメッセージmclr’に依存して定まる値α’に作用させ、その演算結果であるLビットのハッシュ値H(α’)∈{0,1}を出力するステップと、
比較部が、上記排他的論理和値d’の第1ビット位置のLビットの値h’∈{0,1}と、上記ハッシュ値H(α’)とを比較し、h’=H(α’)であることを条件に、検証が成功である旨の情報を出力するステップと、
を有することを特徴とする署名検証方法。
A signature verification method for verifying a signature,
When the cyclic group of order q is G and the generation source of the cyclic group G is g, the public key y = g x ∈G corresponding to the secret key x∈Z of the signature generation apparatus is stored in the first storage unit. Storing, and
A step of inputting the signature σ ′ = (r ′, s ′) and the clear message m clr ′ into the signature input unit;
Storing the signature σ ′ = (r ′, s ′) and the clear message m clr ′ in a second storage unit;
Storing the bit length M ′ of the recovery message m rec ′ corresponding to the signature σ ′ in the third storage unit;
The first hash operation unit outputs a hash function H 3 that outputs an integer hash value: {0, 1} * → Z, depending on at least r ′ of the signature σ ′ and the clear message m clr ′ Acting on a fixed value γ ′, and outputting a hash value t ′ = H 3 (γ ′) ∈Z as a result of the operation;
A group operation unit performing an operation of R ′ = g s ′ · y t ′ εG and outputting the operation result R ′;
The second hash calculator calculates a hash function H 0 : {0,1} * → {0,1} L + M ′ having an output bit length of L + M ′ bits (L is a positive integer shared with the signature generation device), A step of acting on a value β ′ determined depending on at least the operation result R ′, and outputting an L + M′-bit hash value Π ′ = H 0 (β ′) ∈ {0, 1} L + M ′ as the operation result When,
The exclusive OR operation unit calculates an exclusive OR d ′ = Π ′ (+) r′∈ {0, 1} L + M ′ between the hash value Π ′ and r ′ included in the signature σ ′. Outputting the exclusive OR value d ′;
The third hash calculation unit sets a hash function H 1 having an output bit length of L bits: {0, 1} * → {0, 1} L to a value α ′ determined depending on at least the clear message m clr ′. Outputting an L-bit hash value H 1 (α ′) ε {0, 1} L as an operation result;
The comparison unit compares the L-bit value h′∈ {0, 1} L at the first bit position of the exclusive OR value d ′ with the hash value H 1 (α ′), and h ′ = A step of outputting information indicating that the verification is successful on the condition that H 1 (α ′);
A signature verification method comprising:
請求項1から6の何れかに記載の署名生成装置としてコンピュータを機能させるためのプログラム。   The program for functioning a computer as a signature production | generation apparatus in any one of Claim 1 to 6. 請求項7から12の何れかに記載の署名検証装置としてコンピュータを機能させるためのプログラム。 A program for causing a computer to function as the signature verification apparatus according to claim 7.
JP2006295599A 2006-10-31 2006-10-31 Signature generation apparatus, signature verification apparatus, method and program thereof Expired - Fee Related JP4814755B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006295599A JP4814755B2 (en) 2006-10-31 2006-10-31 Signature generation apparatus, signature verification apparatus, method and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006295599A JP4814755B2 (en) 2006-10-31 2006-10-31 Signature generation apparatus, signature verification apparatus, method and program thereof

Publications (3)

Publication Number Publication Date
JP2008113315A JP2008113315A (en) 2008-05-15
JP2008113315A5 true JP2008113315A5 (en) 2009-04-02
JP4814755B2 JP4814755B2 (en) 2011-11-16

Family

ID=39445574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006295599A Expired - Fee Related JP4814755B2 (en) 2006-10-31 2006-10-31 Signature generation apparatus, signature verification apparatus, method and program thereof

Country Status (1)

Country Link
JP (1) JP4814755B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110768799B (en) * 2019-12-30 2020-04-14 中国银联股份有限公司 Digital signature method, device, equipment, medium and system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009057338A1 (en) * 2007-10-29 2009-05-07 Nippon Telegraph And Telephone Corporation Signature generating device, signature verifying device, their methods, and their programs
JP2009246657A (en) * 2008-03-31 2009-10-22 Nippon Telegr & Teleph Corp <Ntt> Message recovery system and method

Similar Documents

Publication Publication Date Title
KR102665929B1 (en) Remote re-enrollment of physical unclonable functions
JP6353536B2 (en) Method and apparatus for generating digital signature
TWI567637B (en) Random number expansion device, the number of ways to expand the number of random and expand the program products
US11232718B2 (en) Methods and devices for protecting data
US8458478B2 (en) Signature generating apparatus, signature verifying apparatus, and methods and programs therefor
CN112887081B (en) SM 2-based signature verification method, device and system
JP6735926B2 (en) Encryption device, decryption device, encryption method, decryption method, encryption program, and decryption program
CN111325535A (en) Block chain private key management method, system and storage medium based on elliptic curve migration
JP2014515203A (en) A variable-tolerance method for generating identifiers for asset sets in a computing environment using error correction coding schemes
JPWO2012086076A1 (en) Signature generation apparatus, signature generation method, and recording medium
JPWO2008026345A1 (en) Electronic signature system and electronic signature verification method
JP2008136193A5 (en)
WO2011050624A1 (en) Data conversion method and apparatus
JP2008113315A5 (en)
TWI444028B (en) Method of using enhanced window-based and method of mutual opposite form for scalar multiplication in elliptic curve cryptography
JP5427117B2 (en) Message authenticator generation device, message authenticator verification device, message authenticator generation method, message authenticator verification method, and program
WO2023093278A1 (en) Digital signature thresholding method and apparatus
JP2009169316A (en) Hash function operational device, signature device, program and hash function operational method
JP5469631B2 (en) Decryption result verification apparatus, method and program
WO2021157003A1 (en) Encryption device, decryption device, encryption method, decryption method, encryption program, and decryption program
JP4848957B2 (en) Signature and verification method and signature and verification apparatus
JP4914377B2 (en) Signature generation apparatus, signature verification apparatus, signature generation verification system, method and program thereof
Mohammed Text encryption algorithm based on chaotic neural network and random key generator
WO2011033642A1 (en) Signature generation device and signature verification device
JP2015154291A (en) Eigen-device information generation apparatus, eigen-device information generation system and eigen-device information generation method