JP4914377B2 - Signature generation apparatus, signature verification apparatus, signature generation verification system, method and program thereof - Google Patents
Signature generation apparatus, signature verification apparatus, signature generation verification system, method and program thereof Download PDFInfo
- Publication number
- JP4914377B2 JP4914377B2 JP2008010719A JP2008010719A JP4914377B2 JP 4914377 B2 JP4914377 B2 JP 4914377B2 JP 2008010719 A JP2008010719 A JP 2008010719A JP 2008010719 A JP2008010719 A JP 2008010719A JP 4914377 B2 JP4914377 B2 JP 4914377B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- clr
- bit
- bit string
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明は、情報セキュリティ技術の応用技術に関し、詳しくは、署名からメッセージを復元するメッセージ復元署名技術において、より安全性を高めるための、署名生成装置、署名検証装置、署名生成検証システム、それらの方法及びプログラムに関する。 The present invention relates to an application technology of information security technology, and more specifically, in a message restoration signature technology for restoring a message from a signature, a signature generation device, a signature verification device, a signature generation verification system, and their The present invention relates to a method and a program.
メッセージ復元型の署名方式は、署名と復元できないメッセージの部分とをそれぞれ受信者に送信し、それらを用いてメッセージを復元する方式であり、例えば非特許文献1にはハッシュ関数によるリカバリパディング技術を用いた方式が、また非特許文献2には共通鍵関数によるリカバリパディング技術を用いた方式がそれぞれ開示されている。これらの文献で開示された方式は、ランダムオラクルモデル、イデアルサイファモデルで離散対数問題仮定に基づき安全性が証明されるという利点がある。
The message restoration-type signature scheme is a scheme in which a signature and a part of a message that cannot be restored are transmitted to the recipient, and the message is restored using them. For example, Non-Patent
一方、署名添付型の署名方式は、署名とメッセージ全部とをそれぞれ受信者に送信する方式であり、例えば非特許文献3において開示されている。非特許文献3で開示されている方式は、Computational Diffie-Hellman問題仮定にタイトに帰着するため、特に安全性に優れている。以下、非特許文献3で開示されている署名方式について説明する。当該署名方式は、位数q(ただしqは素数)の巡回群G上の離散対数問題を利用したものである。 On the other hand, the signature-attached signature scheme is a scheme in which the signature and the entire message are transmitted to the recipient, and is disclosed in Non-Patent Document 3, for example. The system disclosed in Non-Patent Document 3 is particularly excellent in safety because it tightly results in the Computational Diffie-Hellman problem assumption. Hereinafter, the signature method disclosed in Non-Patent Document 3 will be described. The signature scheme uses a discrete logarithm problem on a cyclic group G of order q (where q is a prime number).
[鍵生成]
巡回群Gの生成元をgとし、秘密鍵xをqを法とする剰余類の代表元の集合Zq(={0、1、・・・、q−1})からランダムに生成するとともに、公開鍵yをy=gx∈Gにより生成する。
[Key generation]
The generator of the cyclic group G is g, and the secret key x is randomly generated from the set Z q (= {0, 1,..., Q−1}) of the representatives of the residue class modulo q. The public key y is generated by y = g x εG.
[署名生成]
図9に署名生成装置10の機能構成を、図10にその処理フローを示す。署名生成装置10は、乱数生成部11と第1生成計算部12と入力部13と第2生成計算部14とを備える。なお、以下の計算において、H1は0と1からなるビット列をGのいずれかの元に写像するハッシュ関数、H2は0と1からなるビット列をZqのいずれかの元に写像するハッシュ関数である。
[Signature generation]
FIG. 9 shows a functional configuration of the signature generation apparatus 10, and FIG. 10 shows a processing flow thereof. The signature generation device 10 includes a random
乱数生成部11は、値kをZqからランダムに生成し出力する(S1)。第1生成計算部12は、上記生成元gと上記秘密鍵xと上記値kとが入力され、値uをu=gk∈Gにより計算し、値hをh=H1(u)により計算し、値zをz=hx∈Gにより計算し、値vをv=hk∈Gにより計算し、計算したそれぞれの値を出力する(S2)。入力部13は、0と1からなる任意のビット長|m|のメッセージmを装置に取り込む(S3)。なお、S3についてはS1〜S2との処理の前後関係は問わない。第2生成計算部14は、上記秘密鍵xと上記公開鍵yと上記生成元gと上記値kと上記メッセージmと上記値zと上記値hと上記値uと上記値vとが入力され、値cをc=H2(m,g,y,z,h,u,v)により計算し、値sをs=k+c・x∈Zqにより計算し、上記値zと上記値sと上記値cとを署名σとして出力するとともに、上記メッセージmを出力する(S4)。なお、上記H2(m,g,y,z,h,u,v)は、m,g,y,z,h,u,vのビット結合値に対しハッシュ関数H2によりハッシュ関数計算を行うことを意味し、以下のハッシュ関数に係る表記も同様な意味である。
[署名検証]
図11に署名検証装置40の機能構成を、図12にその処理フローを示す。署名検証装置40は、第1検証計算部41と第2検証計算部42と出力部44とを備える。第1検証計算部41は、上記値zと上記値sと上記値cとからなる上記署名σ、上記公開鍵y、上記生成元g、及び上記メッセージmが入力され、値u'をu'=gs・y−c∈Gにより計算し、値h'をh'=H1(u')により計算し、値v'をv'=h's・z−c∈Gにより計算し、計算したそれぞれの値を出力する(S21)。第2検証計算部42は、上記メッセージm、上記生成元ng、上記公開鍵y、上記値z、上記値h'、上記値u'、及び上記値v'が入力され、値aをa=H2(m,g,y,z,h',u',v')により計算し出力する(S22)。出力部44は、上記値aと上記値cとが入力され、aとcとが等しい場合は検証成功を意味するaccept 1を出力し、等しくない場合は検証失敗を意味するreject 0を出力する(S23)。
FIG. 11 shows a functional configuration of the signature verification apparatus 40, and FIG. 12 shows a processing flow thereof. The signature verification apparatus 40 includes a first verification calculation unit 41, a second verification calculation unit 42, and an
メッセージ復元型の署名方式に係る非特許文献1、2で開示された技術は、離散対数問題仮定に基づき安全性が証明されるものの、離散対数問題にタイトに帰着せず、帰着効率が攻撃者がハッシュ関数オラクルに聞く回数に反比例してしまうため、安全性確保のためには鍵長を長くする必要があり、効率が良くなかった。
Although the techniques disclosed in
本発明の目的は、メッセージ復元型の署名方式において、Computational Diffie-Hellman問題仮定などの数学的に困難と広く信じられている問題に、安全性証明上タイトに帰着可能な、署名生成・検証装置、システム及び方法の実現にある。 An object of the present invention is to provide a signature generation / verification device that can be tightly reduced in terms of security proof to problems that are widely believed to be mathematically difficult, such as the Computational Diffie-Hellman problem assumption, in a message restoration type signature scheme. In the implementation of the system and method.
本発明の署名生成装置は、乱数生成部、第1生成計算部、入力部、第3生成計算部、第4生成計算部、及び第2生成計算部を備える。なお、Gは位数q(ただしqは素数)の離散対数問題が困難な巡回群、gはGの生成元、xはqを法とする剰余類の代表元の集合Zq(={0、1、・・・、q−1})からランダムに生成された秘密鍵、yはy=gx∈Gにより生成された公開鍵、H1は0と1からなるビット列をGのいずれかの元に写像するハッシュ関数、H2は0と1からなるビット列をZqのいずれかの元に写像するハッシュ関数、H3は0と1からなるビット列をK(ただしKは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、H4は0と1からなるビット列をL(ただしLは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、H5は0と1からなるビット列をM(ただしMは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数である。
The signature generation apparatus of the present invention includes a random number generation unit, a first generation calculation unit, an input unit, a third generation calculation unit, a fourth generation calculation unit, and a second generation calculation unit. Note that G is a cyclic group in which the discrete logarithm problem of order q (where q is a prime number) is difficult, g is a generator of G, and x is a set Z q (= {0) of representatives of
乱数生成部は、値kをZqからランダムに生成する。第1生成計算部は、上記生成元gと上記秘密鍵xと上記値kとが入力され、値uをu=gk∈Gにより計算し、値hをh=H1(u)により計算し、値zをz=hx∈Gにより計算し、値vをv=hk∈Gにより計算し、計算したそれぞれの値を出力する。入力部は、0と1からなる任意のビット長|m|のメッセージmが入力され、Mビット長のリカバリメッセージmrecと、|m|−Mビット長のクリアメッセージmclrとに分割して出力する。第3生成計算部は、上記公開鍵yと上記生成元gと上記クリアメッセージmclrと上記値zと上記値hと上記値uと上記値vとが入力され、鍵wをw=H3(mclr,g,y,z,h,u,v)により計算し出力する。第4生成計算部は、上記鍵wと上記リカバリメッセージmrecとが入力され、値h1をh1=H4(w,mrec)により計算し、値h2を
また、本発明の署名検証装置は、第1検証計算部、第2検証計算部、第3検証計算部、及び出力部を備える。第1検証計算部は、値zと値sと値rとからなる署名σ、公開鍵y、生成元g、及びクリアメッセージmclrが入力され、値c'をc'=H2(mclr,g,y,z,r)により計算し、値u'をu'=gs・y−c'∈Gにより計算し、値hをh'=H1(u')により計算し、値v'をv'=h's・z−c'∈Gにより計算し、値u’、値h’、及び値v’を出力する。第2検証計算部は、上記クリアメッセージmclrと上記生成元gと上記公開鍵yと上記値zと上記値h'と上記値u'と上記値v'とが入力され、上記鍵w'をw'=H3(mclr,g,y,z,h',u',v')により計算して出力する。第3検証計算部は、上記値rと上記鍵w’とが入力され、上記値rをLビット長の値h1'とMビット長の値h2'とに分割し、リカバリメッセージmrec'を
本発明の署名生成・検証装置、システム及び方法によれば、安全性証明においてComputational Diffie-Hellman問題仮定にタイトに帰着するため、帰着効率が攻撃者がハッシュ関数オラクルに聞く回数に反比例せず、よって同じ安全性で鍵長が短いメッセージ復元署名を構成することができる。また、方式の中で用いるハッシュ関数の出力長や共通鍵暗号化関数の入出力長を変化させることで、リカバリメッセージの長さを変化させることができる。 According to the signature generation / verification apparatus, system, and method of the present invention, the security efficiency is tightly reduced to the Computational Diffie-Hellman problem assumption, so the efficiency of the return is not inversely proportional to the number of times the attacker hears the hash function oracle, Therefore, a message restoration signature with the same security and a short key length can be configured. Further, the length of the recovery message can be changed by changing the output length of the hash function used in the method and the input / output length of the common key encryption function.
本発明では、上記背景技術において説明したComputational Diffie-Hellman問題仮定にタイトに帰着可能な非特許文献3の署名添付型の署名方式に、非特許文献1及び2のメッセージ復元型の署名方式で用いられているメッセージリカバリパディング技術を適用することにより、Computational Diffie-Hellman問題仮定にタイトに帰着可能なメッセージ復元型の署名方式を実現する。
In the present invention, the message restoration type signature schemes of
〔第1実施形態〕
本実施形態は、非特許文献3の署名方式に非特許文献1のハッシュ関数によるメッセージリカバリパディング技術を適用した形態である。
[First Embodiment]
In this embodiment, the message recovery padding technique using the hash function of
本発明の署名方式は、位数q(ただしqは素数)の巡回群G上の離散対数問題を利用したものであり、Gとしては例えば、有限体の乗法群や楕円曲線上の有理点のなす加法群などを用いることができる。なお、本明細書においては便宜上、群演算を乗法で表記しているが(例えばyの場合はy=gx∈G)、この表記はGが乗法群の場合の乗法演算だけでなく、Gが加法群の場合の加法演算(例えばyの場合はy=x・g∈G)も含む趣旨である。 The signature method of the present invention uses a discrete logarithm problem on a cyclic group G of order q (where q is a prime number), and G is, for example, a multiplicative group of a finite field or a rational point on an elliptic curve. An additive group or the like can be used. In this specification, for the sake of convenience, the group operation is expressed by multiplication (for example, y = g x ∈G in the case of y), but this notation is not only the multiplication operation when G is a multiplicative group, but also G This also includes an addition operation in the case where is an additive group (for example, y = x · gεG in the case of y).
また、背景技術において既に説明した構成部や処理ステップと共通している部分については同じ符号を付し、説明は省略する。 In addition, the same reference numerals are given to components that are common to the components and processing steps already described in the background art, and description thereof is omitted.
[鍵生成]
巡回群Gの生成元をgとし、秘密鍵xをqを法とする剰余類の代表元の集合Zq(={0、1、・・・、q−1})からランダムに生成するとともに、公開鍵yをy=gx∈Gにより生成する。
[署名生成]
図1に署名生成装置20の機能構成例を、図2にその処理フロー例を示す。署名生成装置20は、乱数生成部11と第1生成計算部12と入力部23と第3生成計算部25と第4生成計算部26と第2生成計算部24とを備える。乱数生成部11と第1生成計算部12は、背景技術の署名生成装置10で使用されているものと共通である。なお、以下の計算において、H1は0と1からなるビット列をGのいずれかの元に写像するハッシュ関数、H2は0と1からなるビット列をZqのいずれかの元に写像するハッシュ関数、H3は0と1からなるビット列をK(ただしKは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、H4は0と1からなるビット列をL(ただしLは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、H5は0と1からなるビット列をM(ただしMは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数である。これらのハッシュ関数の入力には、クリアメッセージmclrを入れることも、公開鍵yを入れることも、群Gを特定するパラメータを入れることも可能である。
[Key generation]
The generator of the cyclic group G is g, and the secret key x is randomly generated from the set Z q (= {0, 1,..., Q−1}) of the representatives of the residue class modulo q. The public key y is generated by y = g x εG.
[Signature generation]
FIG. 1 shows a functional configuration example of the signature generation apparatus 20, and FIG. The signature generation apparatus 20 includes a random
入力部23は、0と1からなる任意のビット長|m|のメッセージmが入力され、Mビット長のリカバリメッセージmrecと、|m|−Mビット長のクリアメッセージmclrとに分割してそれぞれを出力する(S5)。第3生成計算部25は、上記公開鍵yと上記生成元gと上記クリアメッセージmclrと上記値zと上記値hと上記値uと上記値vとが入力され、鍵wをw=H3(mclr,g,y,z,h,u,v)により計算し出力する(S6)。第4生成計算部26は、上記鍵wと上記リカバリメッセージmrecとが入力され、値h1をh1=H4(w,mrec)により計算し、値h2を
[署名検証]
図3に署名検証装置50の機能構成例を、図4にその処理フロー例を示す。署名生成装置50は、基本的に署名生成装置20と対向して使用され、第1検証計算部51と第2検証計算部52と第3検証計算部53と出力部54とを備える。
[Signature verification]
FIG. 3 shows a functional configuration example of the signature verification apparatus 50, and FIG. 4 shows a processing flow example thereof. The signature generation device 50 is basically used opposite to the signature generation device 20 and includes a first
第1検証計算部51は、値z∈Gと値s∈ZqとL+Mビット長の0と1からなるビット列である値rとからなる署名σ、公開鍵y∈G、生成元g∈G、及び|m|−M(ただし|m|−Mは正の整数)ビット長のクリアメッセージmclrが入力され、値c'をc'=H2(mclr,g,y,z,r)により計算し、値u'をu'=gs・y−c'∈Gにより計算し、値h'をh'=H1(u')により計算し、値v'をv'=h's・z−c'∈Gにより計算し、値u’、値h’、及び値v’を出力する(S24)。第2検証計算部52は、上記クリアメッセージmclrと上記生成元gと上記公開鍵yと上記値zと上記値h'と上記値u'と上記値v'とが入力され、上記鍵w'をw'=H3(mclr,g,y,z,h',u',v')により計算して出力する(S25)。第3検証計算部53は、上記値rと上記鍵w’とが入力され、上記値rをLビット長の値h1'とMビット長の値h2'とに分割し、リカバリメッセージmrec'を
以上の構成においては、署名生成装置20の第1生成計算部12、第3生成計算部25、及び第2生成計算部24、並びに、署名検証装置50の第1検証計算部51、及び第2検証計算部52が、Computational Diffie-Hellman問題仮定へのタイト帰着を実現するための基礎部分であり、署名生成装置20の第4生成計算部26及び署名検証装置50の第3検証計算部53において第3生成計算部25で生成された鍵wを用いて、ハッシュ関数によるリカバリパディング処理を上記基礎部分における署名生成・検証処理と一体的に行う。そのため、以上の構成をとることにより、Computational Diffie-Hellman問題仮定にタイトに帰着可能な安全性の高いメッセージ復元型の署名方式を実現することできる。また、方式の中で用いるハッシュ関数の出力長を変化させることで、リカバリメッセージの長さを変化させることができる。
In the above configuration, the first
〔第2実施形態〕
本実施形態は、非特許文献3の署名方式に非特許文献2の共通鍵によるメッセージリカバリパディング技術を適用した形態である。
[Second Embodiment]
In this embodiment, the message recovery padding technique using the common key of
本発明の署名方式も、位数q(ただしqは素数)の巡回群G上の離散対数問題を利用したものであり、Gとしては例えば、有限体の乗法群や楕円曲線上の有理点のなす加法群などを用いることができる。なお、本明細書においては便宜上、群演算を乗法で表記しているが(例えばyの場合はy=gx∈G)、この表記はGが乗法群の場合の乗法演算だけでなく、Gが加法群の場合の加法演算(例えばyの場合はy=x・g∈G)も含む趣旨である。 The signature method of the present invention also uses a discrete logarithm problem on a cyclic group G of order q (where q is a prime number), and G may be, for example, a multiplicative group of a finite field or a rational point on an elliptic curve. An additive group or the like can be used. In this specification, for the sake of convenience, the group operation is expressed by multiplication (for example, y = g x ∈G in the case of y), but this notation is not only the multiplication operation when G is a multiplicative group, but also G This also includes an addition operation in the case where is an additive group (for example, y = x · gεG in the case of y).
また、背景技術及び第1実施形態において既に説明した構成部や処理ステップと共通している部分については同じ符号を付し、説明は省略する。 Moreover, the same code | symbol is attached | subjected about the part which is common in the structure part and processing step which were already demonstrated in background art and 1st Embodiment, and description is abbreviate | omitted.
[鍵生成]
巡回群Gの生成元をgとし、秘密鍵xをqを法とする剰余類の代表元の集合Zq(={0、1、・・・、q−1})からランダムに生成するとともに、公開鍵yをy=gx∈Gにより生成する。
[Key generation]
The generator of the cyclic group G is g, and the secret key x is randomly generated from the set Z q (= {0, 1,..., Q−1}) of the representatives of the residue class modulo q. The public key y is generated by y = g x εG.
[署名生成]
図5に署名生成装置30の機能構成例を、図6にその処理フロー例を示す。署名生成装置30は、乱数生成部11と第1生成計算部12と入力部23と第3生成計算部25と第4生成計算部36と第2生成計算部24とを備える。乱数生成部11と第1生成計算部12は、背景技術の署名生成装置10で使用されているものと共通であり、入力部23と第3生成計算部25と第2生成計算部24は第1実施形態の署名生成装置20で使用されているものと共通である。なお、以下の計算において、H1は0と1からなるビット列をGのいずれかの元に写像するハッシュ関数、H2は0と1からなるビット列をZqのいずれかの元に写像するハッシュ関数、H3は0と1からなるビット列をK(ただしKは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、EwはKビット長の鍵wによりL+M(ただしLとMは正の整数)ビット長の0と1からなるビット列を同じ長さの0と1からなるビット列に暗号化する共通鍵暗号の暗号化関数、0LはLビット長のすべてが0からなるビット列である。これらのハッシュ関数の入力には、クリアメッセージmclrを入れることも、公開鍵yを入れることも、群Gを特定するパラメータを入れることも可能である。
[Signature generation]
FIG. 5 shows a functional configuration example of the signature generation apparatus 30 and FIG. 6 shows a processing flow example thereof. The signature generation device 30 includes a random
第4生成計算部36は、第3生成計算部25で生成された鍵wと入力部23で入力・分割されたリカバリメッセージmrecとが入力され、値dを0Lとmrecとのビット結合により求め、値rをr=Ew(d)により計算して出力する(S9)。
The fourth
[署名検証]
図7に署名検証装置60の機能構成例を、図8にその処理フロー例を示す。署名検証装置60は、第1検証計算部51と第2検証計算部52と第3検証計算部63と出力部64とを備える。第1検証計算部51と第2検証計算部52は第1実施形態の署名検証装置50で使用されているものと共通である。なお、以下の計算において、Dw'はKビット長の鍵w'によりL+M(ただしLとMは正の整数)ビット長の0と1からなる暗号化されたビット列を同じ長さの0と1からなるビット列に復号化する共通鍵暗号の復号化関数である。
[Signature verification]
FIG. 7 shows a functional configuration example of the signature verification apparatus 60, and FIG. The signature verification device 60 includes a first
第3検証計算部63は、署名σの一部である値rと第2検証計算部62で生成された鍵w’とが入力され、値d'をd'=Dw' (r)により計算し、当該値d'をLビット長の値aとMビット長のリカバリメッセージmrec'とに分割し、上記値aと上記リカバリメッセージmrec'と上記クリアメッセージmclrとを出力する(S28)。出力部64は、上記値aと上記リカバリメッセージmrec'と上記クリアメッセージmclrとが入力され、値aと0Lとが等しい場合はメッセージmをm=mrec'|mclrにより求めてaccept 1とともに出力し、値aと0Lとが等しくない場合はreject 0を出力する(S29)。
The third
以上の構成においては、署名生成装置30の第1生成計算部12、第3生成計算部25、及び第2生成計算部24、並びに、署名検証装置60の第1検証計算部51、及び第2検証計算部52が、Computational Diffie-Hellman問題仮定へのタイト帰着を実現するための基礎部分であり、署名生成装置30の第4生成計算部36及び署名検証装置60の第3検証計算部63において第3生成計算部25で生成された鍵wを用いて、共通鍵関数によるリカバリパディング処理を上記基礎部分における署名生成・検証処理と一体的に行う。そのため、以上の構成をとることにより、Computational Diffie-Hellman問題仮定にタイトに帰着可能な安全性の高いメッセージ復元型の署名方式を実現することできる。また、方式の中で用いる共通鍵暗号化・復号化関数の入出力長を変化させることで、リカバリメッセージの長さを変化させることができる。
In the above configuration, the first
本発明におけるデータ検証システム、その方法、識別子生成装置、データ検証装置は、上記の実施形態に限定されるものではなく、本発明を逸脱しない範囲で適宜変更が可能である。また、上記に説明した処理は記載の順に従った時系列において実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。 The data verification system, the method, the identifier generation device, and the data verification device according to the present invention are not limited to the above-described embodiments, and can be appropriately changed without departing from the present invention. In addition, the processes described above are not only executed in time series according to the order of description, but may be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes.
また、上記署名生成装置、上記署名検証装置、及び上記署名生成装置と上記署名検証装置とを組み合わせた署名生成検証システムにおける処理機能をコンピュータによって実現する場合、上記署名生成装置、上記署名検証装置、及び署名生成検証システムが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより上記署名生成装置、上記署名検証装置、及び署名生成検証システムにおける処理機能がコンピュータ上で実現される。 When the processing function in the signature generation apparatus, the signature verification apparatus, and the signature generation verification system that combines the signature generation apparatus and the signature verification apparatus is realized by a computer, the signature generation apparatus, the signature verification apparatus, The processing contents of the functions that the signature generation verification system should have are described by a program. By executing this program on a computer, processing functions in the signature generation device, the signature verification device, and the signature generation verification system are realized on the computer.
また、上記各形態ではコンピュータ上で所定のプログラムを実行させることにより、上記署名生成装置、上記署名検証装置、及び署名生成検証システムを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 In each of the above embodiments, the signature generation device, the signature verification device, and the signature generation verification system are configured by executing a predetermined program on a computer. It may be realized in hardware.
本発明は、装置やシステム等にメッセージ復元型の署名方式を採用する場合において、より短い鍵を用いたい時に有用である。 The present invention is useful when it is desired to use a shorter key when a message restoration type signature scheme is adopted in an apparatus or system.
Claims (11)
値kをZqからランダムに生成する乱数生成部と、
上記生成元gと上記秘密鍵xと上記値kとが入力され、値uをu=gk∈Gにより計算し、値hをh=H1(u)により計算し、値zをz=hx∈Gにより計算し、値vをv=hk∈Gにより計算し、計算したそれぞれの値を出力する第1生成計算部と、
0と1からなる任意のビット長|m|のメッセージmが入力され、Mビット長のリカバリメッセージmrecと、|m|−Mビット長のクリアメッセージmclrとに分割して出力する入力部と、
上記公開鍵yと上記生成元gと上記クリアメッセージmclrと上記値zと上記値hと上記値uと上記値vとが入力され、鍵wをw=H3(mclr,g,y,z,h,u,v)により計算し出力する第3生成計算部と、
上記鍵wと上記リカバリメッセージmrecとが入力され、値h1をh1=H4(w,mrec)により計算し、値h2を
上記秘密鍵xと上記公開鍵yと上記生成元gと上記値kと上記クリアメッセージmclrと上記値zと上記値rとが入力され、値cをc=H2(mclr,g,y,z,r)により計算し、値sをs=k+c・x∈Zqにより計算し、上記値zと上記値sと上記値rとを署名σとして出力するとともに、上記クリアメッセージmclrを出力する第2生成計算部と、
を備えることを特徴とする署名生成装置。 G is a cyclic group in which the discrete logarithm problem of order q (where q is a prime number) is difficult, g is a generator of G, x is a set Z q (= {0, 1 ,..., Q−1}), a secret key randomly generated from y, a public key generated by y = g x ∈G, and H 1 a bit string consisting of 0 and 1 as an element of G H 2 is a hash function that maps a bit string consisting of 0 and 1 to any element of Z q , H 3 is a bit string consisting of 0 and 1 K (where K is a positive integer) bit length H 4 is a hash function that maps to a bit string consisting of 0 and 1, H 4 is a hash function that maps a bit string consisting of 0 and 1 to a bit string consisting of 0 and 1 bits of L (where L is a positive integer), and H 5 is A bit string consisting of 0s and 1s is a bit consisting of 0s and 1s with a length of M (where M is a positive integer). Is a hash function that maps the column,
A random number generator that randomly generates a value k from Z q ;
The generator g, the secret key x, and the value k are input, the value u is calculated by u = g k εG, the value h is calculated by h = H 1 (u), and the value z is z = a first generation calculation unit that calculates by h x ∈G, calculates a value v by v = h k ∈G, and outputs each calculated value;
An input unit that receives a message m of an arbitrary bit length | m | consisting of 0 and 1 and divides it into an M-bit recovery message m rec and an | m | -M-bit clear message m clr When,
The public key y, the generator g, the clear message m clr , the value z, the value h, the value u, and the value v are input, and the key w is set to w = H 3 (m clr , g, y , Z, h, u, v), and a third generation calculation unit for calculating and outputting,
The key w and the recovery message m rec are input, the value h 1 is calculated by h 1 = H 4 (w, m rec ), and the value h 2 is calculated.
The secret key x, the public key y, the generator g, the value k, the clear message m clr , the value z, and the value r are input, and the value c is set as c = H 2 (m clr , g, y, z, r), the value s is calculated by s = k + c · x∈Z q , the value z, the value s, and the value r are output as a signature σ, and the clear message m clr A second generation calculation unit that outputs
A signature generation apparatus comprising:
値kをZqからランダムに生成する乱数生成部と、
上記生成元gと上記秘密鍵xと上記値kとが入力され、値uをu=gk∈Gにより計算し、値hをh=H1(u)により計算し、値zをz=hx∈Gにより計算し、値vをv=hk∈Gにより計算し、計算したそれぞれの値を出力する第1生成計算部と、
0と1からなる任意のビット長|m|のメッセージmが入力され、Mビット長のリカバリメッセージmrecと、|m|−Mビット長のクリアメッセージmclrとに分割して出力する入力部と、
上記公開鍵yと上記生成元gと上記クリアメッセージmclrと上記値uと上記値hと上記値zと上記値vとが入力され、上記鍵wをw=H3(mclr,g,y,z,h、u,v)により計算し出力する第3生成計算部と、
上記鍵wと上記リカバリメッセージmrecとが入力され、値dを0L|mrecにより求め、値rをr=Ew(d)により計算して出力する第4生成計算部と、
上記秘密鍵xと上記公開鍵yと上記生成元gと上記値kと上記クリアメッセージmclrと上記値zと上記値rとが入力され、値cをc=H2(mclr,g,y,z,r)により計算し、値sをs=k+c・x∈Zqにより計算し、上記値zと上記値sと上記値rとを署名σとして出力するとともに、上記クリアメッセージmclrを出力する第2生成計算部と、
を備えることを特徴とする署名生成装置。 G is a cyclic group in which the discrete logarithm problem of order q (where q is a prime number) is difficult, g is a generator of G, x is a set Z q (= {0, 1 ,..., Q−1}), a secret key randomly generated from y, a public key generated by y = g x ∈G, and H 1 a bit string consisting of 0 and 1 as an element of G H 2 is a hash function that maps a bit string consisting of 0 and 1 to any element of Z q , H 3 is a bit string consisting of 0 and 1 K (where K is a positive integer) bit length A hash function that maps to a bit string consisting of 0 and 1, E w is a K-bit key w, and L + M (where L and M are positive integers) a bit string consisting of 0 and 1 bit lengths of 0 and 1 of the same length encryption function of the common key cryptography to encrypt the bit string consisting of 1, 0 or L is any L-bit length is 0 Is a bit string which,
A random number generator that randomly generates a value k from Z q ;
The generator g, the secret key x, and the value k are input, the value u is calculated by u = g k εG, the value h is calculated by h = H 1 (u), and the value z is z = a first generation calculation unit that calculates by h x ∈G, calculates a value v by v = h k ∈G, and outputs each calculated value;
An input unit that receives a message m of an arbitrary bit length | m | consisting of 0 and 1 and divides it into an M-bit recovery message m rec and an | m | -M-bit clear message m clr When,
The public key y, the generator g, the clear message m clr , the value u, the value h, the value z, and the value v are input, and the key w is set to w = H 3 (m clr , g, a third generation calculation unit that calculates and outputs y, z, h, u, v);
A fourth generation calculation unit that receives the key w and the recovery message m rec , calculates the value d by 0 L | m rec , calculates the value r by r = E w (d), and outputs it;
The secret key x, the public key y, the generator g, the value k, the clear message m clr , the value z, and the value r are input, and the value c is set as c = H 2 (m clr , g, y, z, r), the value s is calculated by s = k + c · x∈Z q , the value z, the value s, and the value r are output as a signature σ, and the clear message m clr A second generation calculation unit that outputs
A signature generation apparatus comprising:
値z∈Gと値s∈ZqとL+Mビット長の0と1からなるビット列である値rとからなる署名σ、公開鍵y、生成元g、及び|m|−M(ただし|m|−Mは正の整数)ビット長のクリアメッセージmclrが入力され、値c'をc'=H2(mclr,g,y,z,r)により計算し、値u'をu'=gs・y−c'∈Gにより計算し、値h'をh'=H1(u')により計算し、値v'をv'=h's・z−c'∈Gにより計算し、値u’、値h’、及び値v’を出力する第1検証計算部と、
上記クリアメッセージmclrと上記生成元gと上記公開鍵yと上記値zと上記値h'と上記値u'と上記値v'とが入力され、鍵w'をw'=H3(mclr,g,y,z,h',u',v')により計算して出力する第2検証計算部と、
上記値rと上記鍵w’とが入力され、上記値rをLビット長の値h1'とMビット長の値h2'とに分割し、リカバリメッセージmrec'を
上記値h1'と上記値aと上記リカバリメッセージmrec'と上記クリアメッセージmclrとが入力され、aとh1'とが等しい場合はメッセージmをm=mrec' |mclrにより求めてaccept 1とともに出力し、aとh1'とが等しくない場合はreject 0を出力する出力部と、
を備えることを特徴とする署名検証装置。 G is a cyclic group in which the discrete logarithm problem of order q (where q is a prime number) is difficult, g is a generator of G, x is a set Z q (= {0, 1 ,..., Q−1}), a secret key randomly generated from y, a public key generated by y = g x ∈G, and H 1 a bit string consisting of 0 and 1 as an element of G H 2 is a hash function that maps a bit string consisting of 0 and 1 to any element of Z q , H 3 is a bit string consisting of 0 and 1 K (where K is a positive integer) bit length H 4 is a hash function that maps to a bit string consisting of 0 and 1, H 4 is a hash function that maps a bit string consisting of 0 and 1 to a bit string consisting of 0 and 1 bits of L (where L is a positive integer), and H 5 is A bit string consisting of 0s and 1s is a bit consisting of 0s and 1s with a bit length of M (where M is a positive integer). Is a hash function that maps the column,
A signature σ consisting of a value z∈G, a value s∈Z q, and a value r which is a bit string consisting of 0 and 1 of L + M bit length, public key y, generator g, and | m | −M (where | m | -M is a positive integer) A clear message m clr having a bit length is input, the value c ′ is calculated by c ′ = H 2 (m clr , g, y, z, r), and the value u ′ is u ′ = g s · y −c ′ ∈ G, the value h ′ is calculated by h ′ = H 1 (u ′), and the value v ′ is calculated by v ′ = h ′ s · z −c ′ ∈ G A first verification calculator that outputs a value u ′, a value h ′, and a value v ′;
The clear message m clr , the generation source g, the public key y, the value z, the value h ′, the value u ′, and the value v ′ are input, and the key w ′ is set to w ′ = H 3 (m clr , g, y, z, h ', u', v ')
The value r and the key w ′ are input, the value r is divided into an L-bit length value h 1 ′ and an M-bit length value h 2 ′, and a recovery message m rec ′ is
The value h 1 ′, the value a, the recovery message m rec ′, and the clear message m clr are input. If a and h 1 ′ are equal, the message m is obtained by m = m rec ′ | m clr Output together with accept 1, and if a and h 1 ′ are not equal, an output unit that outputs reject 0,
A signature verification apparatus comprising:
値z∈Gと値s∈ZqとL+Mビット長の0と1からなるビット列である値rとからなる署名σ、公開鍵y、生成元g、及び|m|−M(ただし|m|−Mは正の整数)ビット長のクリアメッセージmclrが入力され、値c'をc'=H2(mclr,g,y,z,r)により計算し、値u'をu'=gs・y−c'∈Gにより計算し、値hをh'=H1(u')により計算し、値v'をv'=h's・z−c'∈Gにより計算し、値u’、値h’、及び値v’を出力する第1検証計算部と、
上記クリアメッセージmclrと上記生成元gと上記公開鍵yと上記値zと上記値h'と上記値u'と上記値v'とが入力され、上記鍵w'をw'=H3(mclr,g,y,z,h',u',v')により計算して出力する第2検証計算部と、
上記値rと上記鍵w’とが入力され、値d'をd'=Dw' (r)により計算し、当該値d'をLビット長の値aとMビット長のリカバリメッセージmrec'とに分割し、上記値aと上記リカバリメッセージmrec'と上記クリアメッセージmclrとを出力する第3検証計算部と、
上記値aと上記リカバリメッセージmrec'と上記クリアメッセージmclrとが入力され、aと0Lとが等しい場合はメッセージmをm=mrec'|mclrにより求めてaccept 1とともに出力し、aと0Lとが等しくない場合はreject 0を出力する出力部と、
を備えることを特徴とする署名検証装置。 G is a cyclic group in which the discrete logarithm problem of order q (where q is a prime number) is difficult, g is a generator of G, x is a set Z q (= {0, 1 ,..., Q−1}), a secret key randomly generated from y, a public key generated by y = g x ∈G, and H 1 a bit string consisting of 0 and 1 as an element of G H 2 is a hash function that maps a bit string consisting of 0 and 1 to any element of Z q , H 3 is a bit string consisting of 0 and 1 K (where K is a positive integer) bit length A hash function that maps to a bit string consisting of 0 and 1, D w ′ is an encrypted bit string consisting of 0 and 1 bits of length L + M (where L and M are positive integers) with a key w ′ of K bits. decoding function of the common key encryption to 0 and the decoding bit sequence of one of the same length, 0 L is L bit length Everything is a bit string consisting of 0,
A signature σ consisting of a value z∈G, a value s∈Z q, and a value r which is a bit string consisting of 0 and 1 of L + M bit length, public key y, generator g, and | m | −M (where | m | -M is a positive integer) A clear message m clr having a bit length is input, the value c ′ is calculated by c ′ = H 2 (m clr , g, y, z, r), and the value u ′ is u ′ = 'calculated by ∈G, the value h h' g s · y -c ' calculated by the value v = H 1 (u)' the v '= h' computed by s · z -c '∈G, A first verification calculator that outputs a value u ′, a value h ′, and a value v ′;
The clear message m clr , the generation source g, the public key y, the value z, the value h ′, the value u ′, and the value v ′ are input, and the key w ′ is set to w ′ = H 3 ( m clr , g, y, z, h ', u', v ')
The value r and the key w ′ are input, the value d ′ is calculated by d ′ = D w ′ (r), and the value d ′ is calculated as an L-bit length value a and an M-bit length recovery message m rec. And a third verification calculation unit that outputs the value a, the recovery message m rec, and the clear message m clr ,
The value a, the recovery message m rec ′, and the clear message m clr are input. If a is equal to 0 L , the message m is obtained by m = m rec ′ | m clr and output together with accept 1. an output unit that outputs reject 0 when a and 0 L are not equal;
A signature verification apparatus comprising:
乱数生成部が、値kをZqからランダムに生成する乱数生成ステップと、
第1生成計算部が、上記生成元gと上記秘密鍵xと上記値kとから、値uをu=gk∈Gにより計算し、値hをh=H1(u)により計算し、値zをz=hx∈Gにより計算し、値vをv=hk∈Gにより計算し、計算したそれぞれの値を出力する第1生成計算ステップと、
入力部が、0と1からなる任意のビット長|m|のメッセージmを、Mビット長のリカバリメッセージmrecと、|m|−Mビット長のクリアメッセージmclrとに分割して出力する入力ステップと、
第3生成計算部が、上記公開鍵yと上記生成元gと上記クリアメッセージmclrと上記値zと上記値hと上記値uと上記値vとから、鍵wをw=H3(mclr,g,y,z,h,u,v)により計算し出力する第3生成計算ステップと、
第4生成計算部が、上記鍵wと上記リカバリメッセージmrecとから、値h1をh1=H4(w,mrec)により計算し、値h2を
第2生成計算部が、上記秘密鍵xと上記公開鍵yと上記生成元gと上記値kと上記クリアメッセージmclrと上記値zと上記値rとから、値cをc=H2(mclr,g,y,z,r)により計算し、値sをs=k+c・x∈Zqにより計算し、上記値zと上記値sと上記値rとを署名σとして出力するとともに、上記クリアメッセージmclrを出力する第2生成計算ステップと、
を実行することを特徴とする署名生成方法。 G is a cyclic group in which the discrete logarithm problem of order q (where q is a prime number) is difficult, g is a generator of G, x is a set Z q (= {0, 1 ,..., Q−1}), a secret key randomly generated from y, a public key generated by y = g x ∈G, and H 1 a bit string consisting of 0 and 1 as an element of G H 2 is a hash function that maps a bit string consisting of 0 and 1 to any element of Z q , H 3 is a bit string consisting of 0 and 1 K (where K is a positive integer) bit length H 4 is a hash function that maps to a bit string consisting of 0 and 1, H 4 is a hash function that maps a bit string consisting of 0 and 1 to a bit string consisting of 0 and 1 bits of L (where L is a positive integer), and H 5 is A bit string consisting of 0s and 1s is a bit consisting of 0s and 1s with a bit length of M (where M is a positive integer). Is a hash function that maps the column,
Random number generation unit, and the random number generation step of generating a random value k from Z q,
A first generation calculation unit calculates a value u from the generation source g, the secret key x, and the value k by u = g k εG, and calculates a value h by h = H 1 (u). A first generation calculation step of calculating a value z by z = h x εG, calculating a value v by v = h k εG, and outputting each calculated value;
The input unit divides a message m of an arbitrary bit length | m | consisting of 0 and 1 into an M-bit recovery message m rec and an | m | -M-bit clear message m clr and outputs the message. An input step;
The third generation calculation unit determines the key w from the public key y, the generation source g, the clear message m clr , the value z, the value h, the value u, and the value v as w = H 3 (m a third generation calculation step for calculating and outputting by clr , g, y, z, h, u, v);
The fourth generation calculation unit calculates the value h 1 from the key w and the recovery message m rec by h 1 = H 4 (w, m rec ), and the value h 2
The second generation calculation unit calculates the value c from the secret key x, the public key y, the generation source g, the value k, the clear message m clr , the value z, and the value r as c = H 2 ( m clr , g, y, z, r), the value s is calculated by s = k + c · x∈Z q , the value z, the value s, and the value r are output as a signature σ, A second generation calculation step for outputting the clear message m clr ;
The signature generation method characterized by performing this.
乱数生成部が、値kをZqからランダムに生成する乱数生成ステップと、
第1生成計算部が、上記生成元gと上記秘密鍵xと上記値kとから、値uをu=gk∈Gにより計算し、値hをh=H1(u)により計算し、値zをz=hx∈Gにより計算し、値vをv=hk∈Gにより計算し、計算したそれぞれの値を出力する第1生成計算ステップと、
入力部が、0と1からなる任意のビット長|m|のメッセージmを、Mビット長のリカバリメッセージmrecと、|m|−Mビット長のクリアメッセージmclrとに分割して出力する入力ステップと、
第3生成計算部が、上記公開鍵yと上記生成元gと上記クリアメッセージmclrと上記値uと上記値hと上記値zと上記値vとから、上記鍵wをw=H3(mclr,g,y,z,h、u,v)により計算し出力する第3生成計算ステップと、
第4生成計算部が、上記鍵wと上記リカバリメッセージmrecとから、値dを0L|mrecにより求め、値rをr=Ew(d)により計算して出力する第4生成計算ステップと、
第2生成計算部が、上記秘密鍵xと上記公開鍵yと上記生成元gと上記値kと上記クリアメッセージmclrと上記値zと上記値rとから、値cをc=H2(mclr,g,y,z,r)により計算し、値sをs=k+c・x∈Zqにより計算し、上記値zと上記値sと上記値rとを署名σとして出力するとともに、上記クリアメッセージmclrを出力する第2生成計算ステップと、
を実行することを特徴とする署名生成方法。 G is a cyclic group in which the discrete logarithm problem of order q (where q is a prime number) is difficult, g is a generator of G, x is a set Z q (= {0, 1 ,..., Q−1}), a secret key randomly generated from y, a public key generated by y = g x ∈G, and H 1 a bit string consisting of 0 and 1 as an element of G H 2 is a hash function that maps a bit string consisting of 0 and 1 to any element of Z q , H 3 is a bit string consisting of 0 and 1 K (where K is a positive integer) bit length A hash function that maps to a bit string consisting of 0 and 1, E w is a K-bit key w, and L + M (where L and M are positive integers) a bit string consisting of 0 and 1 bit lengths of 0 and 1 of the same length encryption function of the common key cryptography to encrypt the bit string consisting of 1, 0 or L is any L-bit length is 0 Is a bit string which,
Random number generation unit, and the random number generation step of generating a random value k from Z q,
A first generation calculation unit calculates a value u from the generation source g, the secret key x, and the value k by u = g k εG, and calculates a value h by h = H 1 (u). A first generation calculation step of calculating a value z by z = h x εG, calculating a value v by v = h k εG, and outputting each calculated value;
The input unit divides a message m of an arbitrary bit length | m | consisting of 0 and 1 into an M-bit recovery message m rec and an | m | -M-bit clear message m clr and outputs the message. An input step;
A third generation calculation unit calculates the key w from the public key y, the generation source g, the clear message m clr , the value u, the value h, the value z, and the value v, w = H 3 ( a third generation calculation step for calculating and outputting m clr , g, y, z, h, u, v);
A fourth generation calculation unit obtains a value d from 0 L | m rec from the key w and the recovery message m rec and calculates and outputs a value r by r = E w (d). Steps,
The second generation calculation unit calculates the value c from the secret key x, the public key y, the generation source g, the value k, the clear message m clr , the value z, and the value r as c = H 2 ( m clr , g, y, z, r), the value s is calculated by s = k + c · x∈Z q , the value z, the value s, and the value r are output as a signature σ, A second generation calculation step for outputting the clear message m clr ;
The signature generation method characterized by performing this.
第1検証計算部が、値z∈Gと値s∈ZqとL+Mビット長の0と1からなるビット列である値rとからなる署名σ、公開鍵y、生成元g、及び|m|−M(ただし|m|−Mは正の整数)ビット長のクリアメッセージmclrから、値c'をc'=H2(mclr,g,y,z,r)により計算し、値u'をu'=gs・y−c'∈Gにより計算し、値h'をh'=H1(u')により計算し、値v'をv'=h's・z−c'∈Gにより計算し、値u’、値h’、及び値v’を出力する第1検証計算ステップと、
第2検証計算部が、上記クリアメッセージmclrと上記生成元gと上記公開鍵yと上記値zと上記値h'と上記値u'と上記値v'とから、鍵w'をw'=H3(mclr,g,y,z,h',u',v')により計算して出力する第2検証計算ステップと、
第3検証計算部が、上記値rと上記鍵w’とから、上記値rをLビット長の値h1'とMビット長の値h2'とに分割し、リカバリメッセージmrec'を
出力部が、aとh1'とが等しい場合はメッセージmをm=mrec'|mclrにより求めてaccept 1とともに出力し、aとh1'とが等しくない場合はreject 0を出力する出力ステップと、
を実行することを特徴とする署名検証方法。 G is a cyclic group in which the discrete logarithm problem of order q (where q is a prime number) is difficult, g is a generator of G, x is a set Z q (= {0, 1 ,..., Q−1}), a secret key randomly generated from y, a public key generated by y = g x ∈G, and H 1 a bit string consisting of 0 and 1 as an element of G H 2 is a hash function that maps a bit string consisting of 0 and 1 to any element of Z q , H 3 is a bit string consisting of 0 and 1 K (where K is a positive integer) bit length H 4 is a hash function that maps to a bit string consisting of 0 and 1, H 4 is a hash function that maps a bit string consisting of 0 and 1 to a bit string consisting of 0 and 1 bits of L (where L is a positive integer), and H 5 is A bit string consisting of 0s and 1s is a bit consisting of 0s and 1s with a bit length of M (where M is a positive integer). Is a hash function that maps the column,
First verification calculation unit, a signature consisting of value z∈G value S∈Z q and L + M 0 of bit length as a bit string of one value r sigma, public key y, origin g, and | m | The value c ′ is calculated from c ′ = H 2 (m clr , g, y, z, r) from the clear message m clr of −M (where | m | −M is a positive integer) bit length, and the value u 'Is calculated by u' = g s · y −c ′ ∈ G, the value h ′ is calculated by h ′ = H 1 (u ′), and the value v ′ is calculated by v ′ = h ′ s · z −c ′. A first verification calculation step that calculates εG and outputs a value u ′, a value h ′, and a value v ′;
The second verification calculation unit calculates the key w ′ from the clear message m clr , the generation source g, the public key y, the value z, the value h ′, the value u ′, and the value v ′ to w ′. A second verification calculation step of calculating and outputting by = H 3 (m clr , g, y, z, h ′, u ′, v ′);
The third verification calculation unit divides the value r into the L-bit length value h 1 ′ and the M-bit length value h 2 ′ from the value r and the key w ′, and generates a recovery message m rec ′.
Output unit, a and h 1 'if and are equal a message m m = m rec' | found through m clr outputs with the accept 1, if a and h 1 'and is not equal to output a reject 0 An output step;
The signature verification method characterized by performing this.
第1検証計算部が、値z∈Gと値s∈ZqとL+Mビット長の0と1からなるビット列である値rとからなる署名σ、公開鍵y、生成元g、及び|m|−M(ただし|m|−Mは正の整数)ビット長のクリアメッセージmclrから、値c'をc'=H2(mclr,g,y,z,r)により計算し、値u'をu'=gs・y−c'∈Gにより計算し、値hをh'=H1(u')により計算し、値v'をv'=h's・z−c'∈Gにより計算し、値u’、値h’、及び値v’を出力する第1検証計算ステップと、
第2検証計算部が、上記クリアメッセージmclrと上記生成元gと上記公開鍵yと上記値zと上記値h'と上記値u'と上記値v'とから、上記鍵w'をw'=H3(mclr,g,y,z,h',u',v')により計算して出力する第2検証計算ステップと、
第3検証計算部が、上記値rと上記鍵w’とから、値d'をd'=Dw' (r)により計算し、当該値d'をLビット長の値aとMビット長のリカバリメッセージmrec'とに分割し、上記値aと上記リカバリメッセージmrec'と上記クリアメッセージmclrとを出力する第3検証計算ステップと、
出力部が、aと0Lとが等しい場合はメッセージmをm=mrec'|mclrにより求めてaccept 1とともに出力し、aと0Lとが等しくない場合はreject 0を出力する出力ステップと、
を実行することを特徴とする署名検証方法。 G is a cyclic group in which the discrete logarithm problem of order q (where q is a prime number) is difficult, g is a generator of G, x is a set Z q (= {0, 1 ,..., Q−1}), a secret key randomly generated from y, a public key generated by y = g x ∈G, and H 1 a bit string consisting of 0 and 1 as an element of G H 2 is a hash function that maps a bit string consisting of 0 and 1 to any element of Z q , H 3 is a bit string consisting of 0 and 1 K (where K is a positive integer) bit length A hash function that maps to a bit string consisting of 0 and 1, D w ′ is an encrypted bit string consisting of 0 and 1 bits of length L + M (where L and M are positive integers) with a key w ′ of K bits. decoding function of the common key encryption to 0 and the decoding bit sequence of one of the same length, 0 L is L bit length Everything is a bit string consisting of 0,
First verification calculation unit, a signature consisting of value z∈G value S∈Z q and L + M 0 of bit length as a bit string of one value r sigma, public key y, origin g, and | m | The value c ′ is calculated from c ′ = H 2 (m clr , g, y, z, r) from the clear message m clr of −M (where | m | −M is a positive integer) bit length, and the value u 'Is calculated by u' = g s · y- c '∈ G, the value h is calculated by h' = H 1 (u '), and the value v' is v '= h' s · z- c '∈ A first verification calculation step that calculates G and outputs a value u ′, a value h ′, and a value v ′;
The second verification calculation unit determines the key w ′ as w from the clear message m clr , the generation source g, the public key y, the value z, the value h ′, the value u ′, and the value v ′. A second verification calculation step of calculating and outputting according to '= H 3 (m clr , g, y, z, h', u ', v');
The third verification calculation unit calculates the value d ′ from the value r and the key w ′ by d ′ = D w ′ (r), and the value d ′ is the L-bit length value a and the M-bit length. a third verification calculation step 'is divided into a, the value a and the recovery message m rec' the recovery message m rec and outputs it and the clear message m clr, and
Output step outputs with the accept 1 found through m clr, if not equal to the a and 0 L for outputting a reject 0 | output unit, when the the a and 0 L equal a message m m = m rec ' When,
The signature verification method characterized by performing this.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008010719A JP4914377B2 (en) | 2008-01-21 | 2008-01-21 | Signature generation apparatus, signature verification apparatus, signature generation verification system, method and program thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008010719A JP4914377B2 (en) | 2008-01-21 | 2008-01-21 | Signature generation apparatus, signature verification apparatus, signature generation verification system, method and program thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009177242A JP2009177242A (en) | 2009-08-06 |
JP4914377B2 true JP4914377B2 (en) | 2012-04-11 |
Family
ID=41031925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008010719A Expired - Fee Related JP4914377B2 (en) | 2008-01-21 | 2008-01-21 | Signature generation apparatus, signature verification apparatus, signature generation verification system, method and program thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4914377B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020195100A (en) * | 2019-05-29 | 2020-12-03 | 株式会社bitFlyer Blockchain | Device and method for proving reliability of public key, and program therefor |
CN113919008A (en) * | 2021-10-28 | 2022-01-11 | 福建师范大学 | Traceable attribute-based signature method and system with fixed signature length |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3434251B2 (en) * | 1999-11-02 | 2003-08-04 | 日本電信電話株式会社 | Message recovery type signature system and program recording medium thereof |
-
2008
- 2008-01-21 JP JP2008010719A patent/JP4914377B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009177242A (en) | 2009-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111106936B (en) | SM 9-based attribute encryption method and system | |
TWI606714B (en) | Coding device, encoding device, coding method, encoding method, and program | |
US8589679B2 (en) | Identifier-based signcryption with two trusted authorities | |
CN103905189B (en) | Without certificate and without pairing identity-based agent signcryption method and system | |
Abusukhon et al. | A hybrid network security algorithm based on Diffie Hellman and Text-to-Image Encryption algorithm | |
US20150244518A1 (en) | Variable-length block cipher apparatus and method capable of format preserving encryption | |
JPH08504962A (en) | Encryption method | |
JP2005521323A (en) | Encryption and signature scheme based on hierarchical identity | |
JP2013047822A (en) | Encryption method for message authentication | |
JP2013539295A (en) | Authenticated encryption of digital signatures with message recovery | |
CA2792571A1 (en) | Hashing prefix-free values in a signature scheme | |
CN1859090A (en) | Encipher method and system based identity | |
JPWO2013065241A1 (en) | Incremental MAC tag generation device, method and program, and message authentication device | |
CN106941406B (en) | Identify-based encryption endorsement method, decryption sign test method and device thereof | |
Hodowu et al. | An enhancement of data security in cloud computing with an implementation of a two-level cryptographic technique, using AES and ECC algorithm | |
CN114448641A (en) | Privacy encryption method, electronic equipment, storage medium and chip | |
CN103812658B (en) | A kind of secure communication protocols based on stream cipher | |
JP7136226B2 (en) | Authentication encryption device, authentication decryption device, authentication encryption method, authentication decryption method, authentication encryption program and authentication decryption program | |
US20050135610A1 (en) | Identifier-based signcryption | |
CN110798313B (en) | Secret dynamic sharing-based collaborative generation method and system for number containing secret | |
JP4914377B2 (en) | Signature generation apparatus, signature verification apparatus, signature generation verification system, method and program thereof | |
JP2012531634A (en) | Cryptography with parameterization on elliptic curves | |
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 | |
Kurt et al. | A new modified cryptosystem based on Menezes Vanstone elliptic curve cryptography algorithm that uses characters' hexadecimal values | |
Anand et al. | Real-time symmetric cryptography using quaternion julia set |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100114 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20110729 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111222 |
|
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: 20120110 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120120 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150127 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |