JP2009177242A - 署名生成装置、署名検証装置、署名生成検証システム、それらの方法及びプログラム - Google Patents

署名生成装置、署名検証装置、署名生成検証システム、それらの方法及びプログラム Download PDF

Info

Publication number
JP2009177242A
JP2009177242A JP2008010719A JP2008010719A JP2009177242A JP 2009177242 A JP2009177242 A JP 2009177242A JP 2008010719 A JP2008010719 A JP 2008010719A JP 2008010719 A JP2008010719 A JP 2008010719A JP 2009177242 A JP2009177242 A JP 2009177242A
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.)
Granted
Application number
JP2008010719A
Other languages
English (en)
Other versions
JP4914377B2 (ja
Inventor
Kotaro Suzuki
幸太郎 鈴木
Eiichiro Fujisaki
英一郎 藤崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2008010719A priority Critical patent/JP4914377B2/ja
Publication of JP2009177242A publication Critical patent/JP2009177242A/ja
Application granted granted Critical
Publication of JP4914377B2 publication Critical patent/JP4914377B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract


【課題】メッセージ復元型の署名方式において、Computational Diffie-Hellman問題仮定など、安全性証明において数学的に困難と広く信じられている問題にタイトに帰着可能な署名生成検証装置等を実現する。
【解決手段】署名生成装置20の第1生成計算部12、第3生成計算部25、及び第2生成計算部24、並びに、署名検証装置50の第1検証計算部51、及び第2検証計算部52を、Computational Diffie-Hellman問題仮定へのタイト帰着を実現するための基礎部分として構成し、署名生成装置20の第4生成計算部26及び署名検証装置50の第3懸賞計算部53において第3生成計算部25で生成された鍵wを用いて、ハッシュ関数によるリカバリパディング処理を上記基礎部分における署名生成・検証処理と一体的に行う。
【選択図】図1

Description

本発明は、情報セキュリティ技術の応用技術に関し、詳しくは、署名からメッセージを復元するメッセージ復元署名技術において、より安全性を高めるための、署名生成装置、署名検証装置、署名生成検証システム、それらの方法及びプログラムに関する。
メッセージ復元型の署名方式は、署名と復元できないメッセージの部分とをそれぞれ受信者に送信し、それらを用いてメッセージを復元する方式であり、例えば非特許文献1にはハッシュ関数によるリカバリパディング技術を用いた方式が、また非特許文献2には共通鍵関数によるリカバリパディング技術を用いた方式がそれぞれ開示されている。これらの文献で開示された方式は、ランダムオラクルモデル、イデアルサイファモデルで離散対数問題仮定に基づき安全性が証明されるという利点がある。
一方、署名添付型の署名方式は、署名とメッセージ全部とをそれぞれ受信者に送信する方式であり、例えば非特許文献3において開示されている。非特許文献3で開示されている方式は、Computational Diffie-Hellman問題仮定にタイトに帰着するため、特に安全性に優れている。以下、非特許文献3で開示されている署名方式について説明する。当該署名方式は、位数q(ただしqは素数)の巡回群G上の離散対数問題を利用したものである。
[鍵生成]
巡回群Gの生成元をgとし、秘密鍵xをqを法とする剰余類の代表元の集合Z(={0、1、・・・、q−1})からランダムに生成するとともに、公開鍵yをy=g∈Gにより生成する。
[署名生成]
図9に署名生成装置10の機能構成を、図10にその処理フローを示す。署名生成装置10は、乱数生成部11と第1生成計算部12と入力部13と第2生成計算部14とを備える。なお、以下の計算において、Hは0と1からなるビット列をGのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をZのいずれかの元に写像するハッシュ関数である。
乱数生成部11は、値kをZからランダムに生成し出力する(S1)。第1生成計算部12は、上記生成元gと上記秘密鍵xと上記値kとが入力され、値uをu=gk∈Gにより計算し、値hをh=H(u)により計算し、値zをz=h∈Gにより計算し、値vをv=h∈Gにより計算し、計算したそれぞれの値を出力する(S2)。入力部13は、0と1からなる任意のビット長|m|のメッセージmを装置に取り込む(S3)。なお、S3についてはS1〜S2との処理の前後関係は問わない。第2生成計算部14は、上記秘密鍵xと上記公開鍵yと上記生成元gと上記値kと上記メッセージmと上記値zと上記値hと上記値uと上記値vとが入力され、値cをc=H(m,g,y,z,h,u,v)により計算し、値sをs=k+c・x∈Zにより計算し、上記値zと上記値sと上記値cとを署名σとして出力するとともに、上記メッセージmを出力する(S4)。なお、上記H(m,g,y,z,h,u,v)は、m,g,y,z,h,u,vのビット結合値に対しハッシュ関数Hによりハッシュ関数計算を行うことを意味し、以下のハッシュ関数に係る表記も同様な意味である。
[署名検証]
図11に署名検証装置40の機能構成を、図12にその処理フローを示す。署名検証装置40は、第1検証計算部41と第2検証計算部42と出力部44とを備える。第1検証計算部41は、上記値zと上記値sと上記値cとからなる上記署名σ、上記公開鍵y、上記生成元g、及び上記メッセージmが入力され、値u'をu'=g・y−c∈Gにより計算し、値h'をh'=H(u')により計算し、値v'をv'=h'・z−c∈Gにより計算し、計算したそれぞれの値を出力する(S21)。第2検証計算部42は、上記メッセージm、上記生成元ng、上記公開鍵y、上記値z、上記値h'、上記値u'、及び上記値v'が入力され、値aをa=H(m,g,y,z,h',u',v')により計算し出力する(S22)。出力部44は、上記値aと上記値cとが入力され、aとcとが等しい場合は検証成功を意味するaccept 1を出力し、等しくない場合は検証失敗を意味するreject 0を出力する(S23)。
Masayuki Abe and Tatsuaki Okamoto、"A Signature Scheme with Message Recovery as Secure as Discrete Logarithm"、ASIACRYPT'99、1999、p378-389 Leon A. Pintsov and Scott A.Vanstone、"Postal Revenue Collection in the Digital Age"、Financial Cryptography 2000、2000、p105-120 Benoit Chevallier-Mames、"An Efficient CDH-Based Signature Scheme with a Tight Security Reduction"、CRYPTO 2005、2005、p511-526
メッセージ復元型の署名方式に係る非特許文献1、2で開示された技術は、離散対数問題仮定に基づき安全性が証明されるものの、離散対数問題にタイトに帰着せず、帰着効率が攻撃者がハッシュ関数オラクルに聞く回数に反比例してしまうため、安全性確保のためには鍵長を長くする必要があり、効率が良くなかった。
本発明の目的は、メッセージ復元型の署名方式において、Computational Diffie-Hellman問題仮定などの数学的に困難と広く信じられている問題に、安全性証明上タイトに帰着可能な、署名生成・検証装置、システム及び方法の実現にある。
本発明の署名生成装置は、乱数生成部、第1生成計算部、入力部、第3生成計算部、第4生成計算部、及び第2生成計算部を備える。なお、Gは位数q(ただしqは素数)の離散対数問題が困難な巡回群、gはGの生成元、xはqを法とする剰余類の代表元の集合Z(={0、1、・・・、q−1})からランダムに生成された秘密鍵、yはy=g∈Gにより生成された公開鍵、Hは0と1からなるビット列をGのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をZのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をK(ただしKは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、Hは0と1からなるビット列をL(ただしLは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、Hは0と1からなるビット列をM(ただしMは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数である。
乱数生成部は、値kをZからランダムに生成する。第1生成計算部は、上記生成元gと上記秘密鍵xと上記値kとが入力され、値uをu=gk∈Gにより計算し、値hをh=H(u)により計算し、値zをz=h∈Gにより計算し、値vをv=h∈Gにより計算し、計算したそれぞれの値を出力する。入力部は、0と1からなる任意のビット長|m|のメッセージmが入力され、Mビット長のリカバリメッセージmrecと、|m|−Mビット長のクリアメッセージmclrとに分割して出力する。第3生成計算部は、上記公開鍵yと上記生成元gと上記クリアメッセージmclrと上記値zと上記値hと上記値uと上記値vとが入力され、鍵wをw=H(mclr,g,y,z,h,u,v)により計算し出力する。第4生成計算部は、上記鍵wと上記リカバリメッセージmrecとが入力され、値hをh=H(w,mrec)により計算し、値h
Figure 2009177242
により計算し、値rをr=h|hにより求めて出力する。第2生成計算部は、上記秘密鍵xと上記公開鍵yと上記生成元gと上記値kと上記クリアメッセージmclrと上記値zと上記値rとが入力され、値cをc=H(mclr,g,y,z,r)により計算し、値sをs=k+c・x∈Zにより計算し、上記値zと上記値sと上記値rとを署名σとして出力するとともに、上記クリアメッセージmclrを出力する。
また、本発明の署名検証装置は、第1検証計算部、第2検証計算部、第3検証計算部、及び出力部を備える。第1検証計算部は、値zと値sと値rとからなる署名σ、公開鍵y、生成元g、及びクリアメッセージmclrが入力され、値c'をc'=H(mclr,g,y,z,r)により計算し、値u'をu'=g・y−c'∈Gにより計算し、値hをh'=H(u')により計算し、値v'をv'=h'・z−c'∈Gにより計算し、値u’、値h’、及び値v’を出力する。第2検証計算部は、上記クリアメッセージmclrと上記生成元gと上記公開鍵yと上記値zと上記値h'と上記値u'と上記値v'とが入力され、上記鍵w'をw'=H(mclr,g,y,z,h',u',v')により計算して出力する。第3検証計算部は、上記値rと上記鍵w’とが入力され、上記値rをLビット長の値h'とMビット長の値h'とに分割し、リカバリメッセージmrec'を
Figure 2009177242
により計算し、値aをa=H(w',mrec')により計算し、上記値h'と上記値aと上記リカバリメッセージmrec'と上記クリアメッセージmclrとを出力する。出力部は、上記値h'と上記値aと上記リカバリメッセージmrec'と上記クリアメッセージmclrとが入力され、aとh'とが等しい場合はメッセージmをm=mrec' |mclrにより求めてaccept 1とともに出力し、aとh'とが等しくない場合はreject 0を出力する。
本発明の署名生成・検証装置、システム及び方法によれば、安全性証明においてComputational Diffie-Hellman問題仮定にタイトに帰着するため、帰着効率が攻撃者がハッシュ関数オラクルに聞く回数に反比例せず、よって同じ安全性で鍵長が短いメッセージ復元署名を構成することができる。また、方式の中で用いるハッシュ関数の出力長や共通鍵暗号化関数の入出力長を変化させることで、リカバリメッセージの長さを変化させることができる。
本発明では、上記背景技術において説明したComputational Diffie-Hellman問題仮定にタイトに帰着可能な非特許文献3の署名添付型の署名方式に、非特許文献1及び2のメッセージ復元型の署名方式で用いられているメッセージリカバリパディング技術を適用することにより、Computational Diffie-Hellman問題仮定にタイトに帰着可能なメッセージ復元型の署名方式を実現する。
〔第1実施形態〕
本実施形態は、非特許文献3の署名方式に非特許文献1のハッシュ関数によるメッセージリカバリパディング技術を適用した形態である。
本発明の署名方式は、位数q(ただしqは素数)の巡回群G上の離散対数問題を利用したものであり、Gとしては例えば、有限体の乗法群や楕円曲線上の有理点のなす加法群などを用いることができる。なお、本明細書においては便宜上、群演算を乗法で表記しているが(例えばyの場合はy=g∈G)、この表記はGが乗法群の場合の乗法演算だけでなく、Gが加法群の場合の加法演算(例えばyの場合はy=x・g∈G)も含む趣旨である。
また、背景技術において既に説明した構成部や処理ステップと共通している部分については同じ符号を付し、説明は省略する。
[鍵生成]
巡回群Gの生成元をgとし、秘密鍵xをqを法とする剰余類の代表元の集合Z(={0、1、・・・、q−1})からランダムに生成するとともに、公開鍵yをy=g∈Gにより生成する。
[署名生成]
図1に署名生成装置20の機能構成例を、図2にその処理フロー例を示す。署名生成装置20は、乱数生成部11と第1生成計算部12と入力部23と第3生成計算部25と第4生成計算部26と第2生成計算部24とを備える。乱数生成部11と第1生成計算部12は、背景技術の署名生成装置10で使用されているものと共通である。なお、以下の計算において、Hは0と1からなるビット列をGのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をZのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をK(ただしKは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、Hは0と1からなるビット列をL(ただしLは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、Hは0と1からなるビット列をM(ただしMは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数である。これらのハッシュ関数の入力には、クリアメッセージmclrを入れることも、公開鍵yを入れることも、群Gを特定するパラメータを入れることも可能である。
入力部23は、0と1からなる任意のビット長|m|のメッセージmが入力され、Mビット長のリカバリメッセージmrecと、|m|−Mビット長のクリアメッセージmclrとに分割してそれぞれを出力する(S5)。第3生成計算部25は、上記公開鍵yと上記生成元gと上記クリアメッセージmclrと上記値zと上記値hと上記値uと上記値vとが入力され、鍵wをw=H(mclr,g,y,z,h,u,v)により計算し出力する(S6)。第4生成計算部26は、上記鍵wと上記リカバリメッセージmrecとが入力され、値hをh=H(w,mrec)により計算し、値h
Figure 2009177242
により計算し、値rをr=h|hにより求めて出力する(S7)。第2生成計算部24は、上記秘密鍵xと上記公開鍵yと上記生成元gと上記値kと上記クリアメッセージmclrと上記値zと上記値rとが入力され、値cをc=H(mclr,g,y,z,r)により計算し、値sをs=k+c・x∈Zにより計算し、上記値zと上記値sと上記値rとを署名σとして出力するとともに、上記クリアメッセージmclrを出力する(S8)。
[署名検証]
図3に署名検証装置50の機能構成例を、図4にその処理フロー例を示す。署名生成装置50は、基本的に署名生成装置20と対向して使用され、第1検証計算部51と第2検証計算部52と第3検証計算部53と出力部54とを備える。
第1検証計算部51は、値z∈Gと値s∈ZとL+Mビット長の0と1からなるビット列である値rとからなる署名σ、公開鍵y∈G、生成元g∈G、及び|m|−M(ただし|m|−Mは正の整数)ビット長のクリアメッセージmclrが入力され、値c'をc'=H(mclr,g,y,z,r)により計算し、値u'をu'=g・y−c'∈Gにより計算し、値h'をh'=H(u')により計算し、値v'をv'=h'・z−c'∈Gにより計算し、値u’、値h’、及び値v’を出力する(S24)。第2検証計算部52は、上記クリアメッセージmclrと上記生成元gと上記公開鍵yと上記値zと上記値h'と上記値u'と上記値v'とが入力され、上記鍵w'をw'=H(mclr,g,y,z,h',u',v')により計算して出力する(S25)。第3検証計算部53は、上記値rと上記鍵w’とが入力され、上記値rをLビット長の値h'とMビット長の値h'とに分割し、リカバリメッセージmrec'を
Figure 2009177242
により計算し、値aをa=H(w',mrec')により計算し、上記値h'と上記値aと上記リカバリメッセージmrec'と上記クリアメッセージmclrとを出力する(S26)。出力部54は、上記値h'と上記値aと上記リカバリメッセージmrec'と上記クリアメッセージmclrとが入力され、aとh'とが等しい場合はメッセージmをm=mrec' |mclrにより求めてaccept 1とともに出力し、aとh'とが等しくない場合はreject 0を出力する(S27)。
以上の構成においては、署名生成装置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問題仮定にタイトに帰着可能な安全性の高いメッセージ復元型の署名方式を実現することできる。また、方式の中で用いるハッシュ関数の出力長を変化させることで、リカバリメッセージの長さを変化させることができる。
〔第2実施形態〕
本実施形態は、非特許文献3の署名方式に非特許文献2の共通鍵によるメッセージリカバリパディング技術を適用した形態である。
本発明の署名方式も、位数q(ただしqは素数)の巡回群G上の離散対数問題を利用したものであり、Gとしては例えば、有限体の乗法群や楕円曲線上の有理点のなす加法群などを用いることができる。なお、本明細書においては便宜上、群演算を乗法で表記しているが(例えばyの場合はy=g∈G)、この表記はGが乗法群の場合の乗法演算だけでなく、Gが加法群の場合の加法演算(例えばyの場合はy=x・g∈G)も含む趣旨である。
また、背景技術及び第1実施形態において既に説明した構成部や処理ステップと共通している部分については同じ符号を付し、説明は省略する。
[鍵生成]
巡回群Gの生成元をgとし、秘密鍵xをqを法とする剰余類の代表元の集合Z(={0、1、・・・、q−1})からランダムに生成するとともに、公開鍵yをy=g∈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で使用されているものと共通である。なお、以下の計算において、Hは0と1からなるビット列をGのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をZのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をK(ただしKは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、EはKビット長の鍵wによりL+M(ただしLとMは正の整数)ビット長の0と1からなるビット列を同じ長さの0と1からなるビット列に暗号化する共通鍵暗号の暗号化関数、0はLビット長のすべてが0からなるビット列である。これらのハッシュ関数の入力には、クリアメッセージmclrを入れることも、公開鍵yを入れることも、群Gを特定するパラメータを入れることも可能である。
第4生成計算部36は、第3生成計算部25で生成された鍵wと入力部23で入力・分割されたリカバリメッセージmrecとが入力され、値dを0とmrecとのビット結合により求め、値rをr=E(d)により計算して出力する(S9)。
[署名検証]
図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からなるビット列に復号化する共通鍵暗号の復号化関数である。
第3検証計算部63は、署名σの一部である値rと第2検証計算部62で生成された鍵w’とが入力され、値d'をd'=Dw' (r)により計算し、当該値d'をLビット長の値aとMビット長のリカバリメッセージmrec'とに分割し、上記値aと上記リカバリメッセージmrec'と上記クリアメッセージmclrとを出力する(S28)。出力部64は、上記値aと上記リカバリメッセージmrec'と上記クリアメッセージmclrとが入力され、値aと0とが等しい場合はメッセージmをm=mrec'|mclrにより求めてaccept 1とともに出力し、値aと0とが等しくない場合はreject 0を出力する(S29)。
以上の構成においては、署名生成装置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問題仮定にタイトに帰着可能な安全性の高いメッセージ復元型の署名方式を実現することできる。また、方式の中で用いる共通鍵暗号化・復号化関数の入出力長を変化させることで、リカバリメッセージの長さを変化させることができる。
本発明におけるデータ検証システム、その方法、識別子生成装置、データ検証装置は、上記の実施形態に限定されるものではなく、本発明を逸脱しない範囲で適宜変更が可能である。また、上記に説明した処理は記載の順に従った時系列において実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
また、上記署名生成装置、上記署名検証装置、及び上記署名生成装置と上記署名検証装置とを組み合わせた署名生成検証システムにおける処理機能をコンピュータによって実現する場合、上記署名生成装置、上記署名検証装置、及び署名生成検証システムが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより上記署名生成装置、上記署名検証装置、及び署名生成検証システムにおける処理機能がコンピュータ上で実現される。
また、上記各形態ではコンピュータ上で所定のプログラムを実行させることにより、上記署名生成装置、上記署名検証装置、及び署名生成検証システムを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
本発明は、装置やシステム等にメッセージ復元型の署名方式を採用する場合において、より短い鍵を用いたい時に有用である。
本発明による署名生成装置20の構成例を示す図。 本発明による署名生成装置20の処理フロー例を示す図。 本発明による署名生成装置30の構成例を示す図。 本発明による署名生成装置30の処理フロー例を示す図。 本発明による署名検証装置50の構成例を示す図。 本発明による署名検証装置50の処理フロー例を示す図。 本発明による署名検証装置60の構成例を示す図。 本発明による署名検証装置60の処理フロー例を示す図。 従来技術による署名生成装置10の構成例を示す図。 従来技術による署名生成装置10の処理フロー例を示す図。 従来技術による署名検証装置40の構成例を示す図。 従来技術による署名検証装置40の処理フロー例を示す図。

Claims (11)

  1. Gは位数q(ただしqは素数)の離散対数問題が困難な巡回群、gはGの生成元、xはqを法とする剰余類の代表元の集合Z(={0、1、・・・、q−1})からランダムに生成された秘密鍵、yはy=g∈Gにより生成された公開鍵、Hは0と1からなるビット列をGのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をZのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をK(ただしKは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、Hは0と1からなるビット列をL(ただしLは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、Hは0と1からなるビット列をM(ただしMは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数であり、
    値kをZからランダムに生成する乱数生成部と、
    上記生成元gと上記秘密鍵xと上記値kとが入力され、値uをu=gk∈Gにより計算し、値hをh=H(u)により計算し、値zをz=h∈Gにより計算し、値vをv=h∈Gにより計算し、計算したそれぞれの値を出力する第1生成計算部と、
    0と1からなる任意のビット長|m|のメッセージmが入力され、Mビット長のリカバリメッセージmrecと、|m|−Mビット長のクリアメッセージmclrとに分割して出力する入力部と、
    上記公開鍵yと上記生成元gと上記クリアメッセージmclrと上記値zと上記値hと上記値uと上記値vとが入力され、鍵wをw=H(mclr,g,y,z,h,u,v)により計算し出力する第3生成計算部と、
    上記鍵wと上記リカバリメッセージmrecとが入力され、値hをh=H(w,mrec)により計算し、値h
    Figure 2009177242
    により計算し、値rをr=h|hにより求めて出力する第4生成計算部と、
    上記秘密鍵xと上記公開鍵yと上記生成元gと上記値kと上記クリアメッセージmclrと上記値zと上記値rとが入力され、値cをc=H(mclr,g,y,z,r)により計算し、値sをs=k+c・x∈Zにより計算し、上記値zと上記値sと上記値rとを署名σとして出力するとともに、上記クリアメッセージmclrを出力する第2生成計算部と、
    を備えることを特徴とする署名生成装置。
  2. Gは位数q(ただしqは素数)の離散対数問題が困難な巡回群、gはGの生成元、xはqを法とする剰余類の代表元の集合Z(={0、1、・・・、q−1})からランダムに生成された秘密鍵、yはy=g∈Gにより生成された公開鍵、Hは0と1からなるビット列をGのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をZのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をK(ただしKは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、EはKビット長の鍵wによりL+M(ただしLとMは正の整数)ビット長の0と1からなるビット列を同じ長さの0と1からなるビット列に暗号化する共通鍵暗号の暗号化関数、0はLビット長のすべてが0からなるビット列であり、
    値kをZからランダムに生成する乱数生成部と、
    上記生成元gと上記秘密鍵xと上記値kとが入力され、値uをu=gk∈Gにより計算し、値hをh=H(u)により計算し、値zをz=h∈Gにより計算し、値vをv=h∈Gにより計算し、計算したそれぞれの値を出力する第1生成計算部と、
    0と1からなる任意のビット長|m|のメッセージmが入力され、Mビット長のリカバリメッセージmrecと、|m|−Mビット長のクリアメッセージmclrとに分割して出力する入力部と、
    上記公開鍵yと上記生成元gと上記クリアメッセージmclrと上記値uと上記値hと上記値zと上記値vとが入力され、上記鍵wをw=H(mclr,g,y,z,h、u,v)により計算し出力する第3生成計算部と、
    上記鍵wと上記リカバリメッセージmrecとが入力され、値dを0|mrecにより求め、値rをr=E(d)により計算して出力する第4生成計算部と、
    上記秘密鍵xと上記公開鍵yと上記生成元gと上記値kと上記クリアメッセージmclrと上記値zと上記値rとが入力され、値cをc=H(mclr,g,y,z,r)により計算し、値sをs=k+c・x∈Zにより計算し、上記値zと上記値sと上記値rとを署名σとして出力するとともに、上記クリアメッセージmclrを出力する第2生成計算部と、
    を備えることを特徴とする署名生成装置。
  3. Gは位数q(ただしqは素数)の離散対数問題が困難な巡回群、gはGの生成元、xはqを法とする剰余類の代表元の集合Z(={0、1、・・・、q−1})からランダムに生成された秘密鍵、yはy=g∈Gにより生成された公開鍵、Hは0と1からなるビット列をGのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をZのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をK(ただしKは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、Hは0と1からなるビット列をL(ただしLは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、Hは0と1からなるビット列をM(ただしMは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数であり、
    値z∈Gと値s∈ZとL+Mビット長の0と1からなるビット列である値rとからなる署名σ、公開鍵y、生成元g、及び|m|−M(ただし|m|−Mは正の整数)ビット長のクリアメッセージmclrが入力され、値c'をc'=H(mclr,g,y,z,r)により計算し、値u'をu'=g・y−c'∈Gにより計算し、値h'をh'=H(u')により計算し、値v'をv'=h'・z−c'∈Gにより計算し、値u’、値h’、及び値v’を出力する第1検証計算部と、
    上記クリアメッセージmclrと上記生成元gと上記公開鍵yと上記値zと上記値h'と上記値u'と上記値v'とが入力され、鍵w'をw'=H(mclr,g,y,z,h',u',v')により計算して出力する第2検証計算部と、
    上記値rと上記鍵w’とが入力され、上記値rをLビット長の値h'とMビット長の値h'とに分割し、リカバリメッセージmrec'を
    Figure 2009177242
    により計算し、値aをa=H(w',mrec')により計算し、上記値h'と上記値aと上記リカバリメッセージmrec'と上記クリアメッセージmclrとを出力する第3検証計算部と、
    上記値h'と上記値aと上記リカバリメッセージmrec'と上記クリアメッセージmclrとが入力され、aとh'とが等しい場合はメッセージmをm=mrec' |mclrにより求めてaccept 1とともに出力し、aとh'とが等しくない場合はreject 0を出力する出力部と、
    を備えることを特徴とする署名検証装置。
  4. Gは位数q(ただしqは素数)の離散対数問題が困難な巡回群、gはGの生成元、xはqを法とする剰余類の代表元の集合Z(={0、1、・・・、q−1})からランダムに生成された秘密鍵、yはy=g∈Gにより生成された公開鍵、Hは0と1からなるビット列をGのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をZのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をK(ただしKは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、Dw'はKビット長の鍵w'によりL+M(ただしLとMは正の整数)ビット長の0と1からなる暗号化されたビット列を同じ長さの0と1からなるビット列に復号化する共通鍵暗号の復号化関数、0はLビット長のすべてが0からなるビット列であり、
    値z∈Gと値s∈ZとL+Mビット長の0と1からなるビット列である値rとからなる署名σ、公開鍵y、生成元g、及び|m|−M(ただし|m|−Mは正の整数)ビット長のクリアメッセージmclrが入力され、値c'をc'=H(mclr,g,y,z,r)により計算し、値u'をu'=g・y−c'∈Gにより計算し、値hをh'=H(u')により計算し、値v'をv'=h'・z−c'∈Gにより計算し、値u’、値h’、及び値v’を出力する第1検証計算部と、
    上記クリアメッセージmclrと上記生成元gと上記公開鍵yと上記値zと上記値h'と上記値u'と上記値v'とが入力され、上記鍵w'をw'=H(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と0とが等しい場合はメッセージmをm=mrec'|mclrにより求めてaccept 1とともに出力し、aと0とが等しくない場合はreject 0を出力する出力部と、
    を備えることを特徴とする署名検証装置。
  5. 請求項1の署名生成装置と請求項3の署名検証装置とを備える署名生成検証システム。
  6. 請求項2の署名生成装置と請求項4の署名検証装置とを備える署名生成検証システム。
  7. Gは位数q(ただしqは素数)の離散対数問題が困難な巡回群、gはGの生成元、xはqを法とする剰余類の代表元の集合Z(={0、1、・・・、q−1})からランダムに生成された秘密鍵、yはy=g∈Gにより生成された公開鍵、Hは0と1からなるビット列をGのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をZのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をK(ただしKは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、Hは0と1からなるビット列をL(ただしLは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、Hは0と1からなるビット列をM(ただしMは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数であり、
    乱数生成部が、値kをZからランダムに生成する乱数生成ステップと、
    第1生成計算部が、上記生成元gと上記秘密鍵xと上記値kとから、値uをu=gk∈Gにより計算し、値hをh=H(u)により計算し、値zをz=h∈Gにより計算し、値vをv=h∈Gにより計算し、計算したそれぞれの値を出力する第1生成計算ステップと、
    入力部が、0と1からなる任意のビット長|m|のメッセージmを、Mビット長のリカバリメッセージmrecと、|m|−Mビット長のクリアメッセージmclrとに分割して出力する入力ステップと、
    第3生成計算部が、上記公開鍵yと上記生成元gと上記クリアメッセージmclrと上記値zと上記値hと上記値uと上記値vとから、鍵wをw=H(mclr,g,y,z,h,u,v)により計算し出力する第3生成計算ステップと、
    第4生成計算部が、上記鍵wと上記リカバリメッセージmrecとから、値hをh=H(w,mrec)により計算し、値h
    Figure 2009177242
    により計算し、値rをr=h|hにより求めて出力する第4生成計算ステップと、
    第2生成計算部が、上記秘密鍵xと上記公開鍵yと上記生成元gと上記値kと上記クリアメッセージmclrと上記値zと上記値rとから、値cをc=H(mclr,g,y,z,r)により計算し、値sをs=k+c・x∈Zにより計算し、上記値zと上記値sと上記値rとを署名σとして出力するとともに、上記クリアメッセージmclrを出力する第2生成計算ステップと、
    を実行することを特徴とする署名生成方法。
  8. Gは位数q(ただしqは素数)の離散対数問題が困難な巡回群、gはGの生成元、xはqを法とする剰余類の代表元の集合Z(={0、1、・・・、q−1})からランダムに生成された秘密鍵、yはy=g∈Gにより生成された公開鍵、Hは0と1からなるビット列をGのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をZのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をK(ただしKは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、EはKビット長の鍵wによりL+M(ただしLとMは正の整数)ビット長の0と1からなるビット列を同じ長さの0と1からなるビット列に暗号化する共通鍵暗号の暗号化関数、0はLビット長のすべてが0からなるビット列であり、
    乱数生成部が、値kをZからランダムに生成する乱数生成ステップと、
    第1生成計算部が、上記生成元gと上記秘密鍵xと上記値kとから、値uをu=gk∈Gにより計算し、値hをh=H(u)により計算し、値zをz=h∈Gにより計算し、値vをv=h∈Gにより計算し、計算したそれぞれの値を出力する第1生成計算ステップと、
    入力部が、0と1からなる任意のビット長|m|のメッセージmを、Mビット長のリカバリメッセージmrecと、|m|−Mビット長のクリアメッセージmclrとに分割して出力する入力ステップと、
    第3生成計算部が、上記公開鍵yと上記生成元gと上記クリアメッセージmclrと上記値uと上記値hと上記値zと上記値vとから、上記鍵wをw=H(mclr,g,y,z,h、u,v)により計算し出力する第3生成計算ステップと、
    第4生成計算部が、上記鍵wと上記リカバリメッセージmrecとから、値dを0|mrecにより求め、値rをr=E(d)により計算して出力する第4生成計算ステップと、
    第2生成計算部が、上記秘密鍵xと上記公開鍵yと上記生成元gと上記値kと上記クリアメッセージmclrと上記値zと上記値rとから、値cをc=H(mclr,g,y,z,r)により計算し、値sをs=k+c・x∈Zにより計算し、上記値zと上記値sと上記値rとを署名σとして出力するとともに、上記クリアメッセージmclrを出力する第2生成計算ステップと、
    を実行することを特徴とする署名生成方法。
  9. Gは位数q(ただしqは素数)の離散対数問題が困難な巡回群、gはGの生成元、xはqを法とする剰余類の代表元の集合Z(={0、1、・・・、q−1})からランダムに生成された秘密鍵、yはy=g∈Gにより生成された公開鍵、Hは0と1からなるビット列をGのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をZのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をK(ただしKは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、Hは0と1からなるビット列をL(ただしLは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、Hは0と1からなるビット列をM(ただしMは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数であり、
    第1検証計算部が、値z∈Gと値s∈ZとL+Mビット長の0と1からなるビット列である値rとからなる署名σ、公開鍵y、生成元g、及び|m|−M(ただし|m|−Mは正の整数)ビット長のクリアメッセージmclrから、値c'をc'=H(mclr,g,y,z,r)により計算し、値u'をu'=g・y−c'∈Gにより計算し、値h'をh'=H(u')により計算し、値v'をv'=h'・z−c'∈Gにより計算し、値u’、値h’、及び値v’を出力する第1検証計算ステップと、
    第2検証計算部が、上記クリアメッセージmclrと上記生成元gと上記公開鍵yと上記値zと上記値h'と上記値u'と上記値v'とから、鍵w'をw'=H(mclr,g,y,z,h',u',v')により計算して出力する第2検証計算ステップと、
    第3検証計算部が、上記値rと上記鍵w’とから、上記値rをLビット長の値h'とMビット長の値h'とに分割し、リカバリメッセージmrec'を
    Figure 2009177242
    により計算し、値aをa=H(w',mrec')により計算し、上記値h'と上記値aと上記リカバリメッセージmrec'と上記クリアメッセージmclrとを出力する第3検証計算ステップと、
    出力部が、aとh'とが等しい場合はメッセージmをm=mrec'|mclrにより求めてaccept 1とともに出力し、aとh'とが等しくない場合はreject 0を出力する出力ステップと、
    を実行することを特徴とする署名検証方法。
  10. Gは位数q(ただしqは素数)の離散対数問題が困難な巡回群、gはGの生成元、xはqを法とする剰余類の代表元の集合Z(={0、1、・・・、q−1})からランダムに生成された秘密鍵、yはy=g∈Gにより生成された公開鍵、Hは0と1からなるビット列をGのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をZのいずれかの元に写像するハッシュ関数、Hは0と1からなるビット列をK(ただしKは正の整数)ビット長の0と1からなるビット列に写像するハッシュ関数、Dw'はKビット長の鍵w'によりL+M(ただしLとMは正の整数)ビット長の0と1からなる暗号化されたビット列を同じ長さの0と1からなるビット列に復号化する共通鍵暗号の復号化関数、0はLビット長のすべてが0からなるビット列であり、
    第1検証計算部が、値z∈Gと値s∈ZとL+Mビット長の0と1からなるビット列である値rとからなる署名σ、公開鍵y、生成元g、及び|m|−M(ただし|m|−Mは正の整数)ビット長のクリアメッセージmclrから、値c'をc'=H(mclr,g,y,z,r)により計算し、値u'をu'=g・y−c'∈Gにより計算し、値hをh'=H(u')により計算し、値v'をv'=h'・z−c'∈Gにより計算し、値u’、値h’、及び値v’を出力する第1検証計算ステップと、
    第2検証計算部が、上記クリアメッセージmclrと上記生成元gと上記公開鍵yと上記値zと上記値h'と上記値u'と上記値v'とから、上記鍵w'をw'=H(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と0とが等しい場合はメッセージmをm=mrec'|mclrにより求めてaccept 1とともに出力し、aと0とが等しくない場合はreject 0を出力する出力ステップと、
    を実行することを特徴とする署名検証方法。
  11. 請求項1〜6のいずれかに記載した装置又はシステムとしてコンピュータを機能させるためのプログラム。
JP2008010719A 2008-01-21 2008-01-21 署名生成装置、署名検証装置、署名生成検証システム、それらの方法及びプログラム Expired - Fee Related JP4914377B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008010719A JP4914377B2 (ja) 2008-01-21 2008-01-21 署名生成装置、署名検証装置、署名生成検証システム、それらの方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008010719A JP4914377B2 (ja) 2008-01-21 2008-01-21 署名生成装置、署名検証装置、署名生成検証システム、それらの方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2009177242A true JP2009177242A (ja) 2009-08-06
JP4914377B2 JP4914377B2 (ja) 2012-04-11

Family

ID=41031925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008010719A Expired - Fee Related JP4914377B2 (ja) 2008-01-21 2008-01-21 署名生成装置、署名検証装置、署名生成検証システム、それらの方法及びプログラム

Country Status (1)

Country Link
JP (1) JP4914377B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113919008A (zh) * 2021-10-28 2022-01-11 福建师范大学 具有固定签名长度的可追踪属性基签名方法及系统
CN114128213A (zh) * 2019-05-29 2022-03-01 比特飞翔区块链株式会社 用于验证公钥的可靠性的装置、方法以及其程序

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134178A (ja) * 1999-11-02 2001-05-18 Nippon Telegr & Teleph Corp <Ntt> メッセージ回復型署名システム及びそのプログラム記録媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134178A (ja) * 1999-11-02 2001-05-18 Nippon Telegr & Teleph Corp <Ntt> メッセージ回復型署名システム及びそのプログラム記録媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114128213A (zh) * 2019-05-29 2022-03-01 比特飞翔区块链株式会社 用于验证公钥的可靠性的装置、方法以及其程序
CN114128213B (zh) * 2019-05-29 2024-05-28 比特飞翔区块链株式会社 用于验证公钥的可靠性的装置、方法以及其程序
CN113919008A (zh) * 2021-10-28 2022-01-11 福建师范大学 具有固定签名长度的可追踪属性基签名方法及系统

Also Published As

Publication number Publication date
JP4914377B2 (ja) 2012-04-11

Similar Documents

Publication Publication Date Title
CN111106936B (zh) 一种基于sm9的属性加密方法与系统
CN105024994B (zh) 无对运算的安全无证书混合签密方法
EP1710952B1 (en) Cryptographic Applications of the Cartier Pairing
CA2792571C (en) Hashing prefix-free values in a signature scheme
US8995656B2 (en) Multiple hashing in a cryptographic scheme
CN103905189B (zh) 无证书且无配对的基于身份的代理签密方法和系统
US9049022B2 (en) Hashing prefix-free values in a certificate scheme
US8589679B2 (en) Identifier-based signcryption with two trusted authorities
CN110120939B (zh) 一种基于异构系统的可否认认证的加密方法和系统
JP4776906B2 (ja) 署名生成方法及び情報処理装置
JP2013539295A (ja) メッセージ復元を伴うデジタル署名の認証された暗号化
CN110663215A (zh) 在白盒场景中的椭圆曲线点乘设备和方法
CN114448641A (zh) 一种隐私加密方法、电子设备、存储介质以及芯片
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
CN106941406B (zh) 基于标识的加密签名方法、解密验签方法及其装置
CN110798313B (zh) 基于秘密动态共享的包含秘密的数的协同生成方法及系统
JP4914377B2 (ja) 署名生成装置、署名検証装置、署名生成検証システム、それらの方法及びプログラム
JP5633563B2 (ja) 楕円曲線上のパラメータ化による暗号法
JP5679344B2 (ja) 署名鍵難読化システム、署名鍵難読化方法、難読化された署名鍵を用いた暗号化署名システム、難読化された署名鍵を用いた暗号化署名方法とプログラム
Anand et al. Real-time symmetric cryptography using quaternion julia set
CN112511310A (zh) 一种加密身份盲签名的混淆方法
JP2017038336A (ja) 復号方法
Reddy et al. Analysis and performance characteristics of cryptosystem using image files
JP2010164897A (ja) 暗号化数値二進変換システム、暗号化数値二進変換方法、暗号化数値二進変換プログラム
JP2004347885A (ja) 暗号化装置処理方法、暗号復号装置処理方法、これらの装置及びプログラム

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