(57)【要約】  【課題】鍵管理センタに内部不正者が存在する場合でも安全なＩＤベース暗号技術を提供する。  【解決手段】鍵管理センタ側装置１００は、マスタ鍵と対のシステムパラメータを作成し、システムパラメータを各ユーザに公開する。また、該マスタ鍵を用いて受信者のＩＤ情報に対するＩＤベース暗号用秘密鍵を作成し安全な方法で受信者に配布する。受信者のユーザ側装置２００は、公開されたシステムパラメータを用いて、受信者の秘密鍵および公開鍵を個別に作成し、該公開鍵を送信者に公開する。送信者のユーザ側装置２００は、公開されたシステムパラメータおよび受信者の公開鍵を用いて、メッセージ文の暗号文を作成し、受信者のユーザ側装置２００に送信する。受信者のユーザ側装置２００は、受信者の秘密鍵および鍵管理センタ側装置ＩＤベース暗号用秘密鍵を用いて、受信した暗号文を復号化する。  【選択図】図１
2006208967.tif 000002
【特許請求の範囲】
【請求項１】
送信者側装置が鍵管理センタ側装置により作成されたシステムパラメータを用いてメッセージ文Ｍの暗号文を作成し、受信者側装置が前記鍵管理センタ側装置により作成されたＩＤベース暗号用秘密鍵を用いて前記暗号文を前記メッセージ文Ｍに復号化するＩＤベース暗号通信方法であって、
前記鍵管理センタ側装置が、鍵管理センタのマスタ鍵と対の前記システムパラメータを作成し出力するステップと、
前記鍵管理センタ側装置が、前記マスタ鍵を用いて受信者のＩＤ情報に対するＩＤベース暗号用秘密鍵を作成し出力ステップと、
前記受信者側装置が、前記鍵管理センタ側装置より出力されたシステムパラメータを用いて、受信者の秘密鍵および公開鍵を作成し、前記秘密鍵を記憶すると共に前記公開鍵を出力するステップと、
前記送信者側装置が、前記鍵管理センタ側装置より出力されたシステムパラメータと前記受信者側装置より出力された受信者の公開鍵とを用いて、前記メッセージ文に対する暗号文を作成し、前記受信者側装置に送信するステップと、
前記受信者側装置が、前記受信者の秘密鍵および前記鍵管理センタ側装置より出力されたＩＤベース暗号用秘密鍵を用いて、前記送信者側装置より受信した暗号文をメッセージ文に復号化するステップと、を有すること
を特徴とするＩＤベース暗号通信方法。
【請求項２】
送信者側装置が鍵管理センタ側装置により作成されたシステムパラメータを用いてメッセージ文の暗号文を作成し、受信者側装置が前記鍵管理センタ側装置により作成されたＩＤベース暗号用秘密鍵を用いて前記暗号文を前記メッセージ文に復号化するＩＤベース暗号通信方法であって、
（１）前記鍵管理センタ側装置が、
素数ｑ、加法群Ｇ１、乗法群Ｇ２、および、
【数１】
2006208967.tif 000062
なる双線形写像ｅを生成するステップと、
ｓ∈ＺqおよびＰ∈Ｇ１をランダムに選ぶステップ（但し、Ｚｑ＝{０、１、２、...、ｑ-１}）と、
【数２】
2006208967.tif 000063
を生成し、ｓをマスタ鍵とし、（ｑ，Ｇ１，Ｇ２，ｅ，ｎ，Ｐ，Ｐｐｕｂ，Ｈ１，Ｈ２）を前記システムパラメータとして、前記マスタ鍵および前記システムパラメータを記憶すると共に、前記システムパラメータを出力するステップ（但し、ｎは正整数、Ｈ１、Ｈ２は、
【数３】
2006208967.tif 000064
なるハッシュ関数を意味する。なお、数３において、{０，１}＊はユーザのＩＤ情報と同じビット数の任意のビット列、Ｇ１＊は０元を除く加法群Ｇ１、そして、Ｚｑ＊は０元を除く乗法群Ｚｑである。）と、
前記システムパラメータと、予め登録されている受信者ＡのＩＤ情報ＩＤＡとを用いて、
【数４】
2006208967.tif 000065
を計算し、さらに、この計算結果ＱＩＤＡと、前記マスタ鍵とを用いて、
【数５】
2006208967.tif 000066
を計算して、この計算結果ｄＩＤＡを前記受信者ＡのＩＤベース暗号用秘密鍵として出力するステップと、を行い、
（２）前記受信者側装置が、
前記鍵管理センタ側装置から出力された前記システムパラメータを用いて、前記受信者Ａの秘密鍵ｓＡ∈Ｚｑをランダムに選び記憶するステップと、
前記受信者Ａの秘密鍵と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数６】
2006208967.tif 000067
なる公開鍵Ｐｐｕｂ，Ａを生成し出力するステップと、を行い、
（３）前記送信者側装置が、
前記メッセージ文Ｍに対してσ∈{０，１}ｍをランダムに選ぶステップと、
前記メッセージ文Ｍと、前記メッセージ文Ｍに対して選んだσと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数７】
2006208967.tif 000068
を計算し、この計算結果（Ｕ，Ｖ）を暗号文として前記受信者側装置に送信するステップと、を行い、
（４）前記受信者側装置が、
前記鍵管理センタ側装置より受信した前記受信者ＡのＩＤベース暗号用秘密鍵と、前記受信者Ａの秘密鍵と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、前記送信者側装置より受信した前記暗号文（Ｕ，Ｖ）に対して、
【数８】
2006208967.tif 000069
を計算し、計算結果Ｍを前記メッセージ文Ｍとして出力するステップを行うこと
を特徴とするＩＤベース暗号通信方法。
【請求項３】
送信者側装置が鍵管理センタ側装置により作成されたシステムパラメータを用いてメッセージ文の暗号文を作成し、受信者側装置が前記鍵管理センタ側装置により作成されたＩＤベース暗号用秘密鍵を用いて前記暗号文を前記メッセージ文に復号化するＩＤベース暗号通信方法であって、
（１）前記鍵管理センタ側装置が、
素数ｑ、加法群Ｇ１、乗法群Ｇ２、および、
【数９】
2006208967.tif 000070
なる双線形写像ｅを生成するステップと、
ｓ∈ＺqおよびＰ∈Ｇ１をランダムに選ぶステップ（但し、Ｚｑ＝{０、１、２、...、ｑ-１}）と、
【数１０】
2006208967.tif 000071
を生成し、ｓをマスタ鍵とし、（ｑ，Ｇ１，Ｇ２，ｅ，ｌ，ｍ，ｎ，Ｐ，Ｐｐｕｂ，Ｈ１，Ｈ２，Ｈ３，Ｈ４）を前記システムパラメータとして、前記マスタ鍵および前記システムパラメータを記憶すると共に、前記システムパラメータを出力するステップ（但し、ｌ、ｍ、ｎは正整数、Ｈ１、Ｈ２、Ｈ３、Ｈ４は、
【数１１】
2006208967.tif 000072
なるハッシュ関数を意味する。なお、数１１において、{０，１}＊はユーザのＩＤ情報と同じビット数の任意のビット列、Ｇ１＊は０元を除く加法群Ｇ１、そして、Ｚｑ＊は０元を除く乗法群Ｚｑである。）と、
前記記システムパラメータと、予め登録されている受信者ＡのＩＤ情報ＩＤＡとを用いて、
【数１２】
2006208967.tif 000073
を計算し、さらに、この計算結果ＱＩＤＡと、前記マスタ鍵とを用いて、
【数１３】
2006208967.tif 000074
を計算し、計算結果ｄＩＤＡを前記受信者ＡのＩＤベース暗号用秘密鍵として出力するステップと、を行い、
（２）前記受信者側装置が、
前記鍵管理センタ側装置から出力された前記システムパラメータを用いて、前記受信者Ａの秘密鍵ｓＡ∈Ｚｑをランダムに選び記憶するステップと、
前記受信者Ａの秘密鍵と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数１４】
2006208967.tif 000075
なる公開鍵Ｐｐｕｂ，Ａを生成し出力するステップと、を行い、
（３）前記送信者側装置が、
前記メッセージ文Ｍに対してσ∈{０，１}ｍをランダムに選ぶステップと、
前記メッセージ文Ｍと、前記選んだσと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数１５】
2006208967.tif 000076
を計算し、さらに、この計算結果ｒと、前記受信者側装置から出力された前記受信者Ａの公開鍵Ｐｐｕｂ，Ａと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数１６】
2006208967.tif 000077
を計算するステップ（但し、Ｅ(Ｍ；Ｋ)はメッセージ文Ｍを鍵Ｋを用いて共通鍵暗号で暗号化した暗号文を意味する。）と、
数１６の計算結果（Ｕ，Ｖ，Ｗ）を暗号文として前記受信者側装置に送信するステップと、を行い、
（４）前記受信者側装置が、
前記鍵管理センタ側装置より受信した前記受信者ＡのＩＤベース暗号用秘密鍵と、前記受信者Ａの秘密鍵と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、前記送信者側装置より受信した前記暗号文（Ｕ，Ｖ，Ｗ）に対して、
【数１７】
2006208967.tif 000078
を計算するステップと、
数１７の計算結果σと、前記送信者側装置より受信した前記暗号文と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数１８】
2006208967.tif 000079
を計算するステップ（但し、Ｄ(Ｃ；Ｋ)は暗号文Ｃを鍵Ｋを用いて共通鍵暗号で復号化したメッセージを意味する。）と、
数１７の計算結果σと、数１８の計算結果Ｍと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数１９】
2006208967.tif 000080
を計算するステップと、
数１９の計算結果ｒと、前記送信者側装置より受信した前記暗号文と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数２０】
2006208967.tif 000081
が成立するか否かを判断し、成立する場合に数１８の計算結果Ｍをメッセージ文として出力し、成立しない場合に前記送信者側装置より受信した前記暗号文を不正な暗号文とみなして破棄するステップと、を行うこと
を特徴とするＩＤベース暗号通信方法。
【請求項４】
送信者側装置が鍵管理センタ側装置により作成されたＩＤベース暗号用秘密鍵を用いてメッセージ文に対するデジタル署名を生成し、受信者側装置が前記鍵管理センタ側装置により作成されたシステムパラメータを用いて前記メッセージ文に対する前記デジタル署名を検証するＩＤベース暗号通信方法であって、
前記鍵管理センタ側装置が、鍵管理センタのマスタ鍵と対のシステムパラメータを作成し出力するステップと、
前記鍵管理センタ側装置が、前記マスタ鍵を用いて送信者のＩＤ情報に対するＩＤベース暗号用秘密鍵を作成し出力するステップと、
前記送信者側装置が、前記鍵管理センタ側装置より出力された前記システムパラメータを用いて、前記送信者の秘密鍵および公開鍵を作成し、前記秘密鍵を記憶すると共に前記公開鍵を出力するステップと、
前記送信者側装置が、前記秘密鍵および前記鍵管理センタ側装置より出力された前記送信者のＩＤベース暗号用秘密鍵を用いて前記メッセージ文に対するデジタル署名を生成し、前記メッセージ文および前記デジタル署名を前記受信者側装置に送信するステップと、
前記受信者側装置は、前記鍵管理センタ側装置より出力された前記システムパラメータと前記送信者側装置より出力された前記送信者の公開鍵とを用いて、前記送信者側装置から受信した前記メッセージ文および前記デジタル署名の正当性を検討するステップと、を有すること
を特徴とするＩＤベース暗号通信方法。
【請求項５】
送信者側装置が鍵管理センタ側装置により作成されたＩＤベース暗号用秘密鍵を用いてメッセージ文に対するデジタル署名を生成し、受信者側装置が前記鍵管理センタ側装置により作成されたシステムパラメータを用いて前記メッセージ文に対する前記デジタル署名を検証するＩＤベース暗号通信方法であって、
（１）前記鍵管理センタ側装置が、
素数ｑ、加法群Ｇ１、乗法群Ｇ２、および、
【数２１】
2006208967.tif 000082
なる双線形写像ｅを生成するステップと、
ｓ∈ＺqおよびＰ∈Ｇ１をランダムに選ぶステップ（但し、Ｚｑ＝{０、１、２、...、ｑ-１}）と、
【数２２】
2006208967.tif 000083
を生成し、ｓをマスタ鍵とし、（ｑ，Ｇ１，Ｇ２，ｅ，Ｐ，Ｐｐｕｂ，Ｈ１，Ｈ２）を前記システムパラメータとして、前記マスタ鍵および前記システムパラメータを記憶すると共に、前記システムパラメータを出力するステップ（但し、Ｈ１、Ｈ２は、
【数２３】
2006208967.tif 000084
なるハッシュ関数を意味する。なお、数２３において、{０，１}＊はユーザのＩＤ情報と同じビット数の任意のビット列、そして、Ｇ１＊は０元を除く加法群Ｇ１である。）と、
前記記システムパラメータと、予め登録されている送信者ＡのＩＤ情報ＩＤＡとを用いて、
【数２４】
2006208967.tif 000085
を計算し、さらに、この計算結果ＱＩＤＡと、前記マスタ鍵とを用いて、
【数２５】
2006208967.tif 000086
を計算し、計算結果ｄＩＤＡを前記送信者ＡのＩＤベース暗号用秘密鍵として出力するステップと、を行い、
（２）前記送信者側装置が、
前記鍵管理センタ側装置から出力された前記システムパラメータを用いて、前記送信者Ａの秘密鍵ｓＡ∈Ｚｑをランダムに選び記憶するステップと、
前記送信者Ａの秘密鍵と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数２６】
2006208967.tif 000087
なる公開鍵Ｐｐｕｂ，Ａを生成し出力するステップと、を行い、
（３）前記送信者側装置が、
メッセージ文Ｍに対してｒ∈Ｚｑをランダムに選ぶステップと、
前記選んだｒと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数２７】
2006208967.tif 000088
を計算し、この計算結果Ｕと、予め登録されている前記送信者ＡのＩＤ情報ＩＤＡと、前記メッセージ文Ｍと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数２８】
2006208967.tif 000089
を計算するステップと、
前記鍵管理センタ側装置から出力された前記送信者ＡのＩＤベース暗号用秘密鍵ｄＩＤＡと、前記送信者Ａの秘密鍵ｓＡと、前記選んだｒと、数２８の計算結果Ｈと、数２４により前記送信者ＡのＩＤ情報ＩＤＡと前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて計算されたＱＩＤＡと、を用いて、
【数２９】
2006208967.tif 000090
を計算するステップと、
数２７、２９の計算結果（Ｕ，Ｖ）を前記メッセージ文Ｍに対するデジタル署名として前記メッセージ文Ｍと共に前記受信者側装置に送信するステップと、を行い、
（４）前記受信者側装置が、
前記送信者側装置より出力された前記送信者Ａの公開鍵Ｐｐｕｂ，Ａと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、前記送信者側装置より受信した前記デジタル署名（Ｕ，Ｖ）に対して、
【数３０】
2006208967.tif 000091
を計算するステップと、
数３０のＱＩＤＡ，Ｈと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、前記送信者側装置より受信した前記デジタル署名（Ｕ，Ｖ）に対して、
【数３１】
2006208967.tif 000092
が成立するか否かを判断し、成立する場合に、前記送信者側装置より受信した前記デジタル署名（Ｕ，Ｖ）を送信者側装置より受信した前記メッセージ文Ｍに対する正当な署名と判断し、成立しない場合に前記デジタル署名（Ｕ，Ｖ）を不当な署名と判断するステップと、を行うこと
を特徴とするＩＤベース暗号通信方法。
【請求項６】
送信者側装置が鍵管理センタ側装置により作成されたシステムパラメータを用いてメッセージ文の文書認証機能付き暗号文を作成し、受信者側装置が前記鍵管理センタ側装置により作成されたＩＤベース暗号用秘密鍵を用いて前記文書認証機能付き暗号文を前記メッセージ文に復号化するＩＤベース暗号通信方法であって、
前記鍵管理センタ側装置が、鍵管理センタのマスタ鍵と対のシステムパラメータを作成し出力するステップと、
前記鍵管理センタ側装置が、前記マスタ鍵を用いて送信者および受信者各々のＩＤ情報に対するＩＤベース暗号用秘密鍵を作成し出力するステップと、
前記送信者側装置が、前記鍵管理センタ側装置より出力された前記システムパラメータを用いて、前記送信者の秘密鍵および公開鍵を作成し、前記秘密鍵を記憶すると共に前記公開鍵を出力すると共に、前記受信者側装置が、前記鍵管理センタ側装置より出力された前記システムパラメータを用いて、前記受信者の秘密鍵および公開鍵を作成し、前記秘密鍵を記憶すると共に前記公開鍵を出力するステップと、
前記送信者側装置が、前記送信者の秘密鍵および前記鍵管理センタ側装置より出力された前記送信者のＩＤベース暗号用秘密鍵を用いて前記メッセージ文に対するデジタル署名を生成するステップと、
前記送信者側装置が、前記受信者側装置より出力された前記受信者の公開鍵と、前記鍵管理センタ側装置より出力された前記システムパラメータとを用いて、前記メッセージ文および前記デジタル署名に対する文書認証機能付き暗号文を作成し、前記受信者側装置に送信するステップと、
前記受信者側装置が、前記受信者の秘密鍵および前記鍵管理センタ側装置より出力された前記受信者のＩＤベース暗号用秘密鍵を用いて、前記送信者側装置から受信した前記文書認証機能付き暗号文を前記メッセージ文および前記デジタル署名に復号化するステップと、
前記受信者側装置が、前記送信者側装置から出力された前記送信者の公開鍵と、前記鍵管理センタ側装置より出力された前記システムパラメータとを用いて、前記復号化したメッセージ文およびデジタル署名の検証を行うステップと、を有すること
ことを特徴とするＩＤベース暗号通信方法。
【請求項７】
送信者側装置が鍵管理センタ側装置により作成されたシステムパラメータを用いてメッセージ文の文書認証機能付き暗号文を作成し、受信者側装置が前記鍵管理センタ側装置により作成されたＩＤベース暗号用秘密鍵を用いて前記文書認証機能付き暗号文を前記メッセージ文に復号化するＩＤベース暗号通信方法であって、
（１）前記鍵管理センタ側装置が、
素数ｑ、加法群Ｇ１、乗法群Ｇ２、および、
【数３２】
2006208967.tif 000093
なる双線形写像ｅを生成するステップと、
ｓ∈ＺqおよびＰ∈Ｇ１をランダムに選ぶステップ（但し、Ｚｑ＝{０、１、２、...、ｑ-１}）と、
【数３３】
2006208967.tif 000094
を生成し、ｓをマスタ鍵とし、（ｑ，Ｇ１，Ｇ２，ｅ，λ，Ｌ，Ｐ，Ｐｐｕｂ，Ｈ１，Ｈ２，Ｈ３，Ｈ４，Ｈ５）を前記システムパラメータとして、前記マスタ鍵および前記システムパラメータを記憶すると共に、前記システムパラメータを出力するステップ（但し、Ｈ１、Ｈ２、Ｈ３、Ｈ４、Ｈ５は、
【数３４】
2006208967.tif 000095
なるハッシュ関数を意味する。なお、数３４において、{０，１}＊はユーザのＩＤ情報と同じビット数の任意のビット列、Ｇ１＊は０元を除く加法群Ｇ１、そして、Ｚｑ＊は０元を除く乗法群Ｚｑである。また、λ、Ｌは正整数である。）と、
前記システムパラメータと、予め登録されている送信者Ａ、受信者Ｂ各々のＩＤ情報ＩＤＡ、ＩＤＢを用いて、
【数３５】
2006208967.tif 000096
を計算し、さらに、この計算結果ＱＩＤＡ、ＱＩＤＢと、前記マスタ鍵とを用いて、
【数３６】
2006208967.tif 000097
を計算し、計算結果ｄＩＤＡ、ｄＩＤＢを、それぞれ、前記送信者ＡのＩＤベース暗号用秘密鍵、前記受信者ＢのＩＤベース暗号用秘密鍵として出力するステップと、を行い、
（２）前記送信者側装置および前記受信者側装置各々が、
前記鍵管理センタ側装置より出力された前記システムパラメータを用いて、それぞれ、前記送信者Ａの秘密鍵ｓＡ∈Ｚｑ、前記受信者Ｂの秘密鍵ｓＢ∈Ｚｑをランダムに選び記憶するステップと、
前記鍵管理センタ側装置から出力された前記システムパラメータと、前記送信者Ａの秘密鍵、前記受信者Ｂの秘密鍵とを用いて、
【数３７】
2006208967.tif 000098
なる公開鍵Ｐｐｕｂ，Ａ、Ｐｐｕｂ，Ｂを生成し出力するステップと、を行い、
（３）前記送信者側装置が、
前記鍵管理センタ側装置より出力された前記システムパラメータを用いて、メッセージ文Ｍに対してｒ∈Ｚｑをランダムに選び記憶するステップと、
前記選んだｒと、前記鍵管理センタ側装置より出力された前記システムパラメータとを用いて、
【数３８】
2006208967.tif 000099
を計算するステップと、
数３８の計算結果Ｕと、前記メッセージ文Ｍと、予め登録されている前記送信者ＡのＩＤ情報ＩＤＡと、前記鍵管理センタ側装置より出力された前記システムパラメータとを用いて、
【数３９】
2006208967.tif 000100
を計算するステップと、
上記の数３５によって前記送信者ＡのＩＤ情報ＩＤＡおよび前記鍵管理センタ側装置より出力された前記システムパラメータから求まるＱＩＤＡと、数３９の計算結果Ｈと、前記選んだｒと、前記送信者Ａの秘密鍵ｓＡと、前記鍵管理センタ側装置より出力された前記送信者ＡのＩＤベース暗号用秘密鍵ｄＩＤＡとを用いて、
【数４０】
2006208967.tif 000101
を計算するステップと、
数３８、数４０の計算結果Ｕ，Ｖと、前記送信者ＡのＩＤ情報ＩＤＡと、前記メッセージ文Ｍとに対して、σ∈{０，１}λをランダムに選び、このσと、予め登録されている前記受信者ＢのＩＤ情報ＩＤＢと、前記鍵管理センタ側装置より出力された前記システムパラメータとを用いて、
【数４１】
2006208967.tif 000102
を計算するステップと、
数４１の計算結果ＱＩＤＢ，ｘと、前記メッセージ文Ｍと、数３８、数４０の計算結果Ｕ，Ｖと、予め登録されている前記受信者Ｂの公開鍵Ｐｐｕｂ，Ｂと、前記鍵管理センタ側装置より出力された前記システムパラメータとを用いて、
【数４２】
2006208967.tif 000103
を計算し（但し、Ｅ（Ｅ；Ｋ）はメッセージ文Ｍを鍵Ｋで共通鍵暗号を用いて暗号化した暗号文を意味する。）、計算結果（Ｘ，Ｗ，Ｚ）を前記メッセージＭの文書認証機能付き暗号文として、前記受信側装置に送信するステップと、を行い、
（４）前記受信者側装置が、
予め登録されている前記受信者ＢのＩＤ情報ＩＤＢ、前記送信者ＡのＩＤ情報ＩＤＡ、前記受信者Ｂの秘密鍵ｓＢ、前記鍵管理センタ側装置から出力された前記受信者ＢのＩＤベース暗号用秘密鍵ｄＩＤＢおよび前記システムパラメータと、上記の数３５によって前記システムパラメータおよび前記送信者ＡのＩＤ情報ＩＤＡから求まるＱＩＤＡとを用いて、前記送信者側装置より受信した前記文書認証機能付き暗号文（Ｘ，Ｗ，Ｚ）に対して、
【数４３】
2006208967.tif 000104
を計算し、さらに、この計算結果σを用いて、
【数４４】
2006208967.tif 000105
を計算し（但し、Ｄ（Ｃ；Ｋ）は暗号文Ｃを鍵Ｋで共通鍵暗号を用いて復号化したメッセージを意味する）、ビットデータＶ、Ｍを特定するステップと、
前記特定したＭと、数４３の計算結果σと、前記送信者ＡのＩＤ情報ＩＤＡと、前記受信者ＢのＩＤ情報ＩＤＢと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【数４５】
2006208967.tif 000106
を計算し、さらに、この計算結果ｘを用いて、
【数４６】
2006208967.tif 000107
を計算するステップと、
数４６の計算結果Ｕと、前記特定したＭと、前記送信者ＡのＩＤ情報ＩＤＡと、前記鍵管理センタ側装置から出力された前記システムパラメータとから上記の数３９によりＨを計算すると共に、前記送信者ＡのＩＤ情報ＩＤＡと、前記鍵管理センタ側装置から出力された前記システムパラメータとから上記の数４１によりＱＩＤＡを計算し、これらの計算結果Ｈ、ＱＩＤＡと、前記特定したＶと、前記鍵管理センタ側装置から出力された前記システムパラメータと、前記送信者側装置から出力された前記送信者Ａの公開鍵ＰＰＵＢ，Ａと、を用いて、
【数４７】
2006208967.tif 000108
が成立するか否かを判断し、成立する場合に前記特定したＭをメッセージ文、前記特定したＶおよび数４６の計算結果Ｕをメッセージ文Ｍに対する正当な署名と判断し、成立しない場合に前記文書認証機能付暗号文（Ｘ，Ｗ，Ｚ）を不正な暗号文とみなすステップと、を行うことＩＤベース暗号通信方法。
【請求項８】
鍵管理センタ側装置と、送信者側装置と、受信者側装置とを備え、前記送信者側装置が前記鍵管理センタ側装置により作成されたシステムパラメータを用いてメッセージ文Ｍの暗号文を作成し、前記受信者側装置が前記鍵管理センタ側装置により作成されたＩＤベース暗号用秘密鍵を用いて前記暗号文を前記メッセージ文Ｍに復号化するＩＤベース暗号通信システムであって、
前記鍵管理センタ側装置は、
鍵管理センタのマスタ鍵と対の前記システムパラメータを作成し出力する手段と、
前記マスタ鍵を用いて受信者のＩＤ情報に対するＩＤベース暗号用秘密鍵を作成し出力する手段と、を有し、
前記受信者側装置は、
前記鍵管理センタ側装置より出力されたシステムパラメータを用いて、受信者の秘密鍵および公開鍵を作成し、前記秘密鍵を記憶すると共に前記公開鍵を出力する手段と、
前記受信者の秘密鍵および前記鍵管理センタ側装置より出力されたＩＤベース暗号用秘密鍵を用いて、前記送信者側装置より受信した暗号文をメッセージ文に復号化する手段と、を有し、
前記送信者側装置は、
前記鍵管理センタ側装置より出力されたシステムパラメータと前記受信者側装置より出力された受信者の公開鍵とを用いて、前記メッセージ文に対する暗号文を作成し、前記受信者側装置に送信する手段を有すること
を特徴とするＩＤベース暗号通信システム。
【請求項９】
鍵管理センタ側装置と、送信者側装置と、受信者側装置とを備え、前記送信者側装置が鍵管理センタ側装置により作成されたＩＤベース暗号用秘密鍵を用いてメッセージ文に対するデジタル署名を生成し、前記受信者側装置が前記鍵管理センタ側装置により作成されたシステムパラメータを用いて前記メッセージ文に対する前記デジタル署名を検証するＩＤベース暗号通信システムであって、
前記鍵管理センタ側装置は、
鍵管理センタのマスタ鍵と対のシステムパラメータを作成し出力する手段と、
前記マスタ鍵を用いて送信者のＩＤ情報に対するＩＤベース暗号用秘密鍵を作成し出力する手段と、を有し、
前記送信者側装置は、
前記鍵管理センタ側装置より出力された前記システムパラメータを用いて、前記送信者の秘密鍵および公開鍵を作成し、前記秘密鍵を記憶すると共に前記公開鍵を出力する手段と、
前記秘密鍵および前記鍵管理センタ側装置より出力された前記送信者のＩＤベース暗号用秘密鍵を用いて前記メッセージ文に対するデジタル署名を生成し、前記メッセージ文および前記デジタル署名を前記受信者側装置に送信する手段と、を有し、
前記受信者側装置は、
前記鍵管理センタ側装置より出力された前記システムパラメータと前記送信者側装置より出力された前記送信者の公開鍵とを用いて、前記送信者側装置から受信した前記メッセージ文および前記デジタル署名の正当性を検討する手段を有すること
を特徴とするＩＤベース暗号通信システム。
【請求項１０】
鍵管理センタ側装置と、送信者側装置と、受信者側装置とを備え、前記送信者側装置が前記鍵管理センタ側装置により作成されたシステムパラメータを用いてメッセージ文の文書認証機能付き暗号文を作成し、前記受信者側装置が前記鍵管理センタ側装置により作成されたＩＤベース暗号用秘密鍵を用いて前記文書認証機能付き暗号文を前記メッセージ文に復号化するＩＤベース暗号通信システムであって、
前記鍵管理センタ側装置は、
鍵管理センタのマスタ鍵と対のシステムパラメータを作成し出力する手段と、
前記マスタ鍵を用いて送信者および受信者各々のＩＤ情報に対するＩＤベース暗号用秘密鍵を作成し出力する手段と、を有し、
前記送信者側装置は、
前記鍵管理センタ側装置より出力された前記システムパラメータを用いて、前記送信者の秘密鍵および公開鍵を作成し、前記秘密鍵を記憶すると共に前記公開鍵を出力する手段と、
前記送信者の秘密鍵および前記鍵管理センタ側装置より出力された前記送信者のＩＤベース暗号用秘密鍵を用いて前記メッセージ文に対するデジタル署名を生成する手段と、
前記受信者側装置より出力された前記受信者の公開鍵と、前記鍵管理センタ側装置より出力された前記システムパラメータとを用いて、前記メッセージ文および前記デジタル署名に対する文書認証機能付き暗号文を作成し、前記受信者側装置に送信する手段と、を有し、
前記受信側装置は、
前記鍵管理センタ側装置より出力された前記システムパラメータを用いて、前記受信者の秘密鍵および公開鍵を作成し、前記秘密鍵を記憶すると共に前記公開鍵を出力する手段と、
前記受信者の秘密鍵および前記鍵管理センタ側装置より出力された前記受信者のＩＤベース暗号用秘密鍵を用いて、前記送信者側装置から受信した前記文書認証機能付き暗号文を前記メッセージ文および前記デジタル署名に復号化する手段と、
前記送信者側装置から出力された前記送信者の公開鍵と、前記鍵管理センタ側装置より出力された前記システムパラメータとを用いて、前記復号化したメッセージ文およびデジタル署名の検証を行う手段と、を有すること
ことを特徴とするＩＤベース暗号通信システム。
【請求項１１】
請求項８〜１０のいずれか一項に記載のＩＤベース暗号通信システムで用いられる鍵管理センタ側装置。
【請求項１２】
請求項８〜１０のいずれか一項に記載のＩＤベース暗号通信システムで用いられる送信者側装置。
【請求項１３】
請求項８〜１０のいずれか一項に記載のＩＤベース暗号通信システムで用いられる受信者側装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの所属、名前、メールアドレス等の個人を特定できるＩＤ情報を利用して、暗号通信や文書認証を行うＩＤベース暗号システムに関する。
【背景技術】
【０００２】
非特許文献１に記載されているように、公開鍵暗号システムでは、ユーザが作成した公開鍵を認証局（ＣＡ：Certificate Authority）に登録し、その正当性の根拠である公開鍵証明書を発行してもらう必要がある。すなわち、暗号文の送信者は、受信者の公開鍵とその公開鍵証明書を手に入れ、該公開鍵証明書を用いて該公開鍵の正当性を確認した上で、送信するメッセージ文の暗号化を行う必要がある。
【０００３】
これに対して、ＣＡによる公開鍵証明書の発行の手間を省いて、より簡単な公開鍵の管理を行うことを目的として、ユーザのＩＤ情報を公開鍵とする暗号システム（以下、ＩＤベース暗号システムと呼ぶ）が提案された。非特許文献２に記載されているように、ＩＤベース暗号システムでは、暗号通信や認証（ディジタル署名、個人認証等）を目的として用途に応じたアルゴリズムが用いられる。例えば、暗号通信の場合、ユーザは、自身のＩＤ情報を公開鍵として鍵管理センタに登録すると共に、鍵管理センタに、当該鍵管理センタのマスタ鍵を用いて該ＩＤ情報に対応する秘密鍵（以下、ＩＤベース暗号用秘密鍵と呼ぶ）を発行してもらう。また、鍵管理センタは、当該鍵管理センタのマスタ鍵と対のシステムパラメータを作成して公開する。暗号文の送信者は、受信者のＩＤ情報と鍵管理センタのシステムパラメータとを用いて暗号文を作成し、受信者に送信する。受信者は、ＩＤベース暗号用秘密鍵を用いてメッセージの復号化を行う。
【０００４】
公開鍵暗号システムでは受信者の公開鍵がランダムなビット列であるのに対して、ＩＤベース暗号システムでは受信者のＩＤベース暗号用公開鍵がメールアドレス等のＩＤ情報である。このため、取り扱いが容易で公開鍵証明書を不要とすることができる。これまでに多くのＩＤベース暗号システムが提案されている。例えば、非特許文献３には、ゼロ知識証明を利用したＩＤベースのディジタル署名を実現するＩＤベース暗号システムが提案されている。非特許文献４では、双線形写像を利用することで、安全性の証明が可能なＩＤベース暗号システムが提案されている。また、非特許文献５では、非特許文献４に記載のＩＤベース暗号システムをベースとしたディジタル署名方法および署名機能付き暗号通信方法が提案されている。
【０００５】
【非特許文献１】独立行政法人  情報処理推進機構  セキュリティセンター、情報セキュリティ技術ラボラトリー、"ＰＫＩ  関連技術解説  ３.１  ＰＫＩ概要"、[平成１７年１月１７日検索］  インターネット<URL:http://www.ipa.go.jp/security/pki/>
【非特許文献２】A. Shamir、"Identity Based Cryptosystems and Signature Schemes, Advances in Cryptology  Crypto'98"、LNCS 196、pp.47-53、Springer、1984
【非特許文献３】A. Fiat and A. Shamir 、"How to Prove Yourself: Practical Solutions to Identification and Signature Problems"、Advances in Cryptology  Crypto'86、LNCS 263、pp.186-194、Springer、1986
【非特許文献４】D. Boneh and M. Franklin、"Identity Based Encryption From the Weil Pairing"、[平成１７年１月１７日検索］  インターネット<URL:http://crypto.stanford.edu/~dabo/papers/ibe.pdf>
【非特許文献５】B. Libert and J.-J. Quisquater 、"The Exact Security of an Identity Based Signature and its Applications"、[平成１７年１月１７日検索］  インターネット<URL:http://eprint.iacr.org/2004/102.pdf>
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したように、ＩＤベース暗号システムでは、ユーザは鍵管理センタにＩＤ情報を登録し、鍵管理センタのマスタ鍵を用いて該ＩＤ情報に対応するＩＤベース暗号用秘密鍵を作成してもらう必要がある。よって、鍵管理センタは全てのユーザの秘密鍵を知る立場にある。このように、ＩＤベース暗号システムは、鍵管理センタに対して信頼を置くことが前提となっている。つまり、鍵管理センタに内部不正者が存在する可能性を考慮していない。このため、例えば、鍵管理センタの内部不正者は、鍵管理センタからマスタ鍵を不正に持ち出して、特定のユーザのＩＤ情報に対するＩＤベース暗号用秘密鍵を作成し、該特定のユーザになりすまして重要な契約などに押印（ディジタル署名）し、該特定のユーザに損害を与えることが可能である。また、このことを知っている悪意を持ったユーザは、自身が押印（ディジタル署名）したにもかかわらず、鍵管理センタの内部不正者によるものだと主張し、自身の責任を回避するかもしれない。
【０００７】
本発明は、上記事情に鑑みてなされたものであり、鍵管理センタに内部不正者が存在する場合でも安全なＩＤベース暗号技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のＩＤベース暗号通信方法の一態様において、鍵管理センタ側装置は、鍵管理センタのマスタ鍵と対のシステムパラメータを作成し、システムパラメータを送信者側装置および受信者側装置に対して公開する。また、鍵管理センタ側装置は、鍵管理センタのマスタ鍵を用いて受信者のＩＤ情報に対するＩＤベース暗号用秘密鍵を作成し、安全な方法により受信者側装置に配布する。受信者側装置は、鍵管理センタにより公開されたシステムパラメータを用いて、受信者の秘密鍵および公開鍵を個別に作成し、該公開鍵を送信者側装置に対して公開する。送信者側装置は、鍵管理センタにより公開されたシステムパラメータと受信者側装置により公開された受信者の公開鍵とを用いて、メッセージ文に対する暗号文を作成し、受信者側装置に送信する。受信者側装置は、受信者の秘密鍵およびＩＤベース暗号用秘密鍵を用いて、送信者側装置より受信した暗号文をメッセージ文に復号化する。
【０００９】
また、本発明のＩＤベース暗号通信方法の他の態様において、鍵管理センタ側装置は、鍵管理センタのマスタ鍵と対のシステムパラメータを作成し、システムパラメータを送信者側装置および受信者側装置に対して公開する。また、鍵管理センタ側装置は、鍵管理センタのマスタ鍵を用いて送信者のＩＤ情報に対するＩＤベース暗号用秘密鍵を作成し、安全な方法により送信者側装置に配布する。送信者側装置は、鍵管理センタにより公開されたシステムパラメータを用いて、送信者の秘密鍵および公開鍵を個別に作成し、該公開鍵を受信者側装置に対して公開する。送信者側装置は、送信者の秘密鍵およびＩＤベース暗号用秘密鍵を用いて、メッセージ文に対するデジタル署名を生成し、該メッセージ文およびデジタル署名を受信者側装置に送信する。受信者側装置は、鍵管理センタにより公開されたシステムパラメータと送信者側装置により公開された送信者の公開鍵とを用いて、送信者により受信したメッセージ文およびデジタル署名の正当性を検討する。
【００１０】
例えば、本発明は、送信者側装置が鍵管理センタ側装置により作成されたシステムパラメータを用いてメッセージ文Ｍの暗号文を作成し、受信者側装置が前記鍵管理センタ側装置により作成されたＩＤベース暗号用秘密鍵を用いて前記暗号文を前記メッセージ文Ｍに復号化するＩＤベース暗号通信方法であって、
（１）前記鍵管理センタ側装置が、
素数ｑ、加法群Ｇ１、乗法群Ｇ２、および、
【００１１】
【数４８】
2006208967.tif 000003
【００１２】
なる双線形写像ｅを生成するステップと、
ｓ∈ＺqおよびＰ∈Ｇ１をランダムに選ぶステップ（但し、Ｚｑ＝{０、１、２、...、ｑ-１}）と、
【００１３】
【数４９】
2006208967.tif 000004
【００１４】
を生成し、ｓをマスタ鍵とし、（ｑ，Ｇ１，Ｇ２，ｅ，ｌ，ｍ，ｎ，Ｐ，Ｐｐｕｂ，Ｈ１，Ｈ２，Ｈ３，Ｈ４）をシステムパラメータとして、前記マスタ鍵および前記システムパラメータを前記鍵管理センタ側装置の記憶装置に記憶すると共に、前記システムパラメータを出力するステップ（但し、ｌ、ｍ、ｎは正整数、Ｈ１、Ｈ２、Ｈ３、Ｈ４は、
【００１５】
【数５０】
2006208967.tif 000005
【００１６】
なるハッシュ関数を意味する。なお、数５０において、{０，１}＊はユーザのＩＤ情報と同じビット数の任意のビット列、Ｇ１＊は０元を除く加法群Ｇ１、そして、Ｚｑ＊は０元を除く乗法群Ｚｑである。）と、
前記鍵管理センタ側装置の記憶装置に記憶した前記システムパラメータと、前記鍵管理センタ側装置の記憶装置に予め登録されている前記受信者ＡのＩＤ情報ＩＤＡとを用いて、
【００１７】
【数５１】
2006208967.tif 000006
【００１８】
を計算し、さらに、この計算結果ＱＩＤＡと、前記鍵管理センタ側装置の記憶装置に記憶した前記マスタ鍵とを用いて、
【００１９】
【数１２】
2006208967.tif 000007
【００２０】
を計算し、ｄＩＤＡを受信者ＡのＩＤベース暗号用秘密鍵として出力するステップと、を行い、
（２）前記受信者側装置が、
前記鍵管理センタ側装置から出力された前記システムパラメータを用いて、前記受信者Ａの秘密鍵ｓＡ∈Ｚｑをランダムに選び、前記受信者側装置の記憶装置に記憶するステップと、
前記受信者側装置の記憶装置に記憶した前記受信者Ａの秘密鍵と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【００２１】
【数５３】
2006208967.tif 000008
【００２２】
なる公開鍵Ｐｐｕｂ，Ａを生成し出力するステップと、を行い、
（３）前記送信者側装置が、
前記メッセージ文Ｍに対してσ∈{０，１}ｍをランダムに選ぶステップと、
前記メッセージ文Ｍと、前記メッセージ文Ｍに対して選んだσと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【００２３】
【数５４】
2006208967.tif 000009
【００２４】
を計算し、さらに、この計算結果ｒと、前記受信者側装置から出力された前記受信者Ａの公開鍵Ｐｐｕｂ，Ａと、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【００２５】
【数５５】
2006208967.tif 000010
【００２６】
を計算するステップ（但し、Ｅ(Ｍ；Ｋ)はメッセージ文Ｍを鍵Ｋを用いて共通鍵暗号で暗号化した暗号文を意味する。）と、
数５５の計算結果（Ｕ，Ｖ，Ｗ）を暗号文として前記受信者側装置に送信するステップと、を行い、
（４）前記受信者側装置が、
前記鍵管理センタ側装置より受信した前記受信者ＡのＩＤベース暗号用秘密鍵と、前記受信者側装置の記憶装置に記憶した前記受信者Ａの秘密鍵と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、前記送信者側装置より受信した前記暗号文（Ｕ，Ｖ，Ｗ）に対して、
【００２７】
【数５６】
2006208967.tif 000011
【００２８】
を計算するステップと、
数５６の計算結果と、前記送信者側装置より受信した前記暗号文と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【００２９】
【数５７】
2006208967.tif 000012
【００３０】
を計算するステップ（但し、Ｄ(Ｃ；Ｋ)は暗号文Ｃを鍵Ｋを用いて共通鍵暗号で復号化したメッセージを意味する。）と、
数５６の計算結果と、数５７の計算結果と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【００３１】
【数５８】
2006208967.tif 000013
【００３２】
を計算するステップと、
数５８の計算結果と、前記送信者側装置より受信した前記暗号文と、前記鍵管理センタ側装置から出力された前記システムパラメータとを用いて、
【００３３】
【数５９】
2006208967.tif 000014
【００３４】
が成立するか否かを判断し、成立する場合に数５７の計算結果をメッセージ文Ｍとして出力し、成立しない場合に前記送信者側装置より受信した前記暗号文を不正な暗号文とみなして破棄するステップと、を行う。
【発明の効果】
【００３５】
本発明によれば、鍵管理センタの内部不正者が鍵管理センタが秘密に保持しているマスタ鍵を不正に持ち出した場合でも、ユーザ間で安全なＩＤベース暗号通信を行うことができる。また、不正なユーザが自身で作成したディジタル署名に対して不当な否認を行うことを防止できる。
【発明を実施するための最良の形態】
【００３６】
以下に、本発明の実施の形態について説明する。
【００３７】
まず、以下の各実施形態に共通するＩＤベース暗号通信システムの構成を説明する。
【００３８】
図１は本発明の各実施形態に共通するＩＤベース暗号通信システムの概略構成図である。図示するように、ＩＤベース暗号通信システムは、鍵管理センタ側装置１００と、複数のユーザ側通信装置２００とが、通信回線３００を介して接続された構成を有している。
【００３９】
図２は図１に示す鍵管理センタ側装置１００の概略構成図である。図示するように、鍵管理センタ側装置１００は、情報を入力する入力部１０１と、論理演算、べき乗算、剰余演算、ハッシュ関数演算を含む各種演算および鍵管理センタ側装置１００の各部の制御を行う演算部１０２と、記憶部１０３と、通信回線３００を介してユーザ側装置２００と通信を行なう通信部１０４と、情報を出力する通信部１０５と、を備えている。また、演算部１０２は、鍵管理センタのマスタ鍵およびシステムパラメータを作成する鍵情報作成部１０６を有する。
【００４０】
図３は図１に示すユーザ側装置２００の概略構成図である。図示するように、ユーザ側装置２００は、情報を入力する入力部２０１と、論理演算、べき乗算、剰余演算、ハッシュ関数演算を含む各種演算およびユーザ側装置２００の各部の制御を行う演算部２０２と、記憶部２０３と、通信回線３００を介して鍵管理センタ側装置１００および他のユーザ側装置２００と通信を行なう通信部２０４と、情報を出力する通信部２０５と、を備えている。また、演算部２０２は、乱数を生成する乱数生成部２０６と、暗復号化処理を行う暗復号化部２０７とを有する。
【００４１】
上記構成の鍵管理センタ側装置１００およびユーザ側装置２００は、図４に示すような、ＣＰＵ４０１と、メモリ４０２と、ＨＤＤ等の外部記憶装置４０３と、ＣＤ-ＲＯＭやＤＶＤ-ＲＯＭ等の可搬性を有する記憶媒体４０９から情報を読み出す読取装置４０４と、キーボードやマウスなどの入力装置４０５と、ディスプレイなどの出力装置４０６と、通信回線３００を介して相手装置と通信を行なうための通信装置４０７と、これらの各装置４０１〜４０７を接続するバス４０８と、を備えた一般的なコンピュータにおいて、ＣＰＵ４０１がメモリ４０２上にロードされた所定のプログラムを実行することにより実現することができる。この場合、メモリ４０２や外部記憶装置４０３が記憶部１０３、２０３に利用され、通信装置４０８が通信部１０４、２０４に利用され、読取装置４０４や入力装置４０５が入力部１０１、２０１に利用され、そして、出力装置４０６が出力部１０５、２０５に利用される。
【００４２】
この所定のプログラムは、読取装置４０４を介して記憶媒体４０９から、あるいは、通信装置４０７を介して通信回線３００から、外部記憶装置４０３にダウンロードされ、それから、メモリ４０２上にロードされてＣＰＵ４０１により実行されるようにしてもよい。また、読取装置４０４を介して記憶媒体４０９から、あるいは、通信装置４０７を介して通信回線３００から、メモリ４０２上に直接ロードされ、ＣＰＵ４０１により実行されるようにしてもよい。
【００４３】
<<第１実施形態>>
次に、本発明の第１実施形態について説明する。本実施形態では、ユーザＡのユーザ側装置２００（以下、ユーザ側装置Ａと呼ぶ）、および、ユーザＢのユーザ側装置２００（以下、ユーザ側装置Ｂと呼ぶ）が、鍵管理センタ側装置１００が作成した情報と、通信相手のユーザのＩＤ情報とを用いて、通信回線３００を介して互いに暗号通信を行う場合を例にとり説明する。図５は第１実施形態の動作手順を説明するための図である。
【００４４】
１．準備処理
１-１：鍵管理センタのセットアップ処理
１-１-１：鍵管理センタ側装置１００の処理
鍵管理センタ側装置１００において、演算部１０２は、入力部１０１を介して鍵管理センタの管理者から鍵生成の指示を受け付けると、鍵情報生成部１０６を用いて、素数ｑ、加法群Ｇ１、乗法群Ｇ２、および、
【００４５】
【数６０】
2006208967.tif 000015
【００４６】
なる双線形写像ｅを生成する（Ｓ１００１）。
【００４７】
次に、演算部１０２は、鍵情報生成部１０６を用いて、ｓ∈ＺqおよびＰ∈Ｇ１をランダムに選ぶ（Ｓ１００２）。ここで、Ｚｑ＝{０、１、２、...、ｑ-１}である。
【００４８】
次に、演算部１０２は、ｓ、Ｐを用いて、
【００４９】
【数６１】
2006208967.tif 000016
【００５０】
を生成する（Ｓ１００３）。そして、ｓをマスタ鍵とし、（ｑ，Ｇ１，Ｇ２，ｅ，ｎ，Ｐ，Ｐｐｕｂ，Ｈ１，Ｈ２）をシステムパラメータとして、両者を記憶部１０３に記憶する。但し、ｎは正整数である。Ｈ１、Ｈ２は、
【００５１】
【数６２】
2006208967.tif 000017
【００５２】
なるハッシュ関数を意味する。なお、数６２において、{０，１}＊はユーザのＩＤ情報と同じビット数の任意のビット列、そして、Ｇ１＊は０元を除く加法群Ｇ１である。ここで、ＩＤ情報のビット数は、ＩＤ情報に使用する情報の種類によって異なる場合がある。
【００５３】
次に、演算部１０２は、システムパラメータ（ｑ，Ｇ１，Ｇ２，ｅ，ｎ，Ｐ，Ｐｐｕｂ，Ｈ１，Ｈ２）を出力部１０５から出力するか、あるいは、通信回線３００を介して通信部１０４から各ユーザ側装置２００に送信する（Ｓ１００４）。なお、出力部１０５からシステムパラメータが出力された場合、鍵管理センタは郵送等により各ユーザ側装置２００のユーザに通知する。
【００５４】
１-１-２：ユーザ側装置２００の処理
ユーザ側装置Ａにおいて、演算装置２０２は、通信部２０４が通信回線３００を介して鍵管理センタ側装置１００より受信した、あるいは、入力部２０１に入力されたシステムパラメータ（ｑ，Ｇ１，Ｇ２，ｅ，ｎ，Ｐ，Ｐｐｕｂ，Ｈ１，Ｈ２）を、記憶部２０３に記憶する（Ｓ２００１）。ユーザ側装置Ｂでも同様の処理が行われる。
【００５５】
１-２：ユーザのセットアップ処理
ここでは、ユーザ側装置Ａが暗号通信を行なうのに必要な情報をセットアップする場合を例にとり説明するが、ユーザ側装置Ｂでも同様の処理が行われる。
【００５６】
１-２-１：ユーザ側装置２００の処理
ユーザ側装置Ａにおいて、演算部２０２は、入力部２０１を介してユーザＡより受け付けたユーザＡのＩＤ情報ＩＤＡを、記憶部２０３に記憶すると共に、通信回線３００を介して通信部１０４から鍵管理センタ側装置１００に送信する（Ｓ２００２）。なお、ユーザＡが、郵送等によって鍵管理センタに、ＩＤ情報ＩＤＡをユーザ側装置Ａのアドレスと共に通知してもよい。
【００５７】
１-２-２：鍵管理センタ側装置１００の処理
鍵管理センタ側装置１００において、演算装置１０２は、通信部１０４が通信回線３００を介してユーザ側装置Ａから受信した、あるいは、入力部１０１にユーザ側装置Ａのアドレスと共に入力されたユーザＡのＩＤ情報ＩＤＡを、ユーザ側装置Ａのアドレスに対応付けて記憶部１０３に記憶する（Ｓ１００５）。
【００５８】
次に、演算部１０２は、記憶部１０３に記憶されているシステムパラメータＨ１およびユーザのＩＤ情報ＩＤＡを用いて、
【００５９】
【数６３】
2006208967.tif 000018
【００６０】
を計算する。さらに、この計算結果ＱＩＤＡと、記憶装置１０３に記憶されているマスタ鍵ｓとを用いて、
【００６１】
【数６４】
2006208967.tif 000019
【００６２】
を計算し、この計算結果ｄＩＤＡを、ユーザＡのＩＤベース暗号用秘密鍵として、出力部１０５から出力するか、あるいは、通信回線３００を介して通信部１０４からユーザ側装置Ａに安全な方法（例えば鍵管理センタ側装置１００がユーザ側装置Ａと共有する暗号鍵を用いた暗号通信）で送信する（Ｓ１００６）。なお、出力部１０５からユーザＡのＩＤベース暗号用秘密鍵ｄＩＤＡが出力された場合、鍵管理センタが郵送等の安全な方法でこのＩＤベース暗号用秘密鍵ｄＩＤＡをユーザＡに配布する。
【００６３】
１-２-３：ユーザ側装置２００(メッセージ受信側）の処理
ユーザ側装置Ａにおいて、演算部２０２は、通信部２０４が通信回線３００を介して鍵管理センタ側装置１００から受信した、あるいは、入力部２０１に入力されたユーザＡのＩＤベース暗号用秘密鍵ｄＩＤＡを、記憶部２０３に記憶する（Ｓ２００３）。
【００６４】
次に、演算部２０２は、記憶部２０３に記憶されているシステムパラメータｑと、乱数生成部２０６とを用いて、ユーザＡの秘密鍵ｓＡ∈Ｚｑをランダムに選び、秘密鍵ｓＡを記憶部２０３に記憶する（Ｓ２００４）。
【００６５】
また、演算部２０２は、記憶部２０３にそれぞれ記憶されているユーザＡの秘密鍵ｓＡおよびシステムパラメータＰを用いて、
【００６６】
【数６５】
2006208967.tif 000020
【００６７】
なる公開鍵Ｐｐｕｂ，Ａを生成する。そして、演算部２０２は、公開鍵Ｐｐｕｂ，Ａを出力部２０５から出力するか、あるいは、通信回線３００を介して通信部２０４からユーザ側装置Ｂに送信する（Ｓ２００５）。なお、出力部２０５から公開鍵Ｐｐｕｂ，Ａが出力された場合、ユーザＡは郵送等によりユーザＢに通知する。
【００６８】
１-２-４：ユーザ側装置２００(メッセージ送信側）の処理
ユーザ側装置Ｂにおいて、演算装置２０２は、通信部２０４が通信回線３００を介してユーザ側装置Ａより受信した、あるいは、入力部２０１に入力されたユーザＡの公開鍵Ｐｐｕｂ，Ａを、記憶部２０３に記憶する（Ｓ３００１）。
【００６９】
２．暗号通信処理
２-１：ユーザ側装置２００(メッセージ送信側）の処理
ここでは、ユーザ側装置Ｂがメッセージ文を暗号化してユーザ側装置Ａに送信する場合を例にとり説明するが、ユーザ側装置Ａがメッセージ文を暗号化してユーザ側装置Ｂに送信する場合でも同様の処理が行われる。
【００７０】
ユーザ側装置Ｂにおいて、演算部２０２は、入力部２０１に入力されたメッセージ文Ｍを記憶部２０３に記憶する（Ｓ３００２）。但し、Ｍ∈{０，１}ｎとする。ここで、ｎはシステムパラメータである。
【００７１】
次に、演算部２０２は、記憶部２０３に記憶されているシステムパラメータｑと、乱数生成部２０６とを用いて、ｒ∈Ｚｑをランダムに選ぶ。さらに、このｒと、記憶装置２０３に記憶されているメッセージ文Ｍ、ユーザＡの公開鍵Ｐｐｕｂ，Ａおよびシステムパラメータｅ，Ｐ，Ｐｐｕｂ，Ｈ２とを用いて、
【００７２】
【数６６】
2006208967.tif 000021
【００７３】
を計算する。この計算結果（Ｕ，Ｖ）をメッセージＭの暗号文として、通信回線３００を介して通信部２０４からユーザ側装置Ｂに送信する（Ｓ３００３）。
【００７４】
２-２：ユーザ側装置２００(メッセージ受信側）の処理
ここでは、ユーザ側装置Ａがユーザ側装置Ｂから受信した暗号文をメッセージ文に復号化する場合を例にとり説明するが、ユーザ側装置Ｂがユーザ側装置Ａから受信した暗号文をメッセージ文に復号化する場合でも同様の処理が行われる。
【００７５】
ユーザ側装置Ａにおいて、演算部２０２は、通信部２０４が通信回線３００を介してユーザ側装置Ｂより受信した暗号文（Ｕ，Ｖ）を記憶部２０３に記憶する（Ｓ２００６）。
【００７６】
次に、演算部２０２は、記憶装置２０３に記憶されているユーザＡの秘密鍵ｓＡ、ＩＤベース暗号用秘密鍵ｄＩＤＡ、および、システムパラメータｅ，Ｈ１，Ｈ２を用いて、記憶装置２０３に記憶されている暗号文（Ｕ，Ｖ）に対して
【００７７】
【数６７】
2006208967.tif 000022
【００７８】
を計算し、メッセージ文Ｍを復号化する（Ｓ２００７）。そして、復号化したメッセージＭを出力部２０５から出力する。
【００７９】
以上、本発明の第１実施形態について説明した。
【００８０】
本実施形態では、送信側装置であるユーザ側装置Ｂは、鍵管理センタ側装置１００が作成したシステムパラメータと受信側装置であるユーザＡ側装置が作成した公開情報Ｐｐｕｂ，Ａとからメッセージ文Ｍの暗号文を作成している。また、受信側装置であるユーザ側装置Ａは、鍵管理センタ側装置１００が作成したＩＤベース暗号用秘密鍵ｄＩＤＡとユーザ側装置Ａが作成した鍵情報ｓＡとを用いてメッセージ文Ｍの復号化を行っている。ここで、鍵管理センタは、ＩＤベース暗号用秘密鍵ｄＩＤＡについては知ることができるが、鍵情報ｓＡについては知ることができない。このため、鍵管理センタに内部不正者が存在しても暗号文（Ｕ，Ｖ）を復号化することができない。
【００８１】
また、本実施形態では、非特許文献４に記載の手法と同様の手法により、ＩＮＤ（Indistinguishability）−ＣＰＡ（Chosen-Plaintext Attack）の意味での安全性を証明することが可能である。さらに、ユーザが自身で作成した鍵情報について、鍵管理センタが公開しているシステムパラメータを利用して作成し、かつ、鍵管理センタが発行したＩＤベース暗号用秘密鍵と併用して復号化処理を行うため、既存のＩＤベース暗号システムと同様に、公開鍵証明書が不要である。
【００８２】
なお、本実施形態において、鍵管理センタにＩＤ情報を登録していないユーザ（鍵管理センタからＩＤベース暗号用秘密鍵を受け取っていないユーザ）も、当該ユーザのユーザ側装置２００を用いて上記と同様の方法により暗号文を作成して送信することができる。但し、鍵管理センタＩＤ情報に登録を行っていないユーザは、暗号文の復号化を行うことはできない。
【００８３】
また、本実施形態において、鍵管理センタ側装置１００を、ＩＣカード等のハードウエア的に安全な装置に実装し、各ユーザに対して配布した上で、上記と同様の方法により暗号通信を行うこともできる。
【００８４】
<<第２実施形態>>
次に、本発明の第２実施形態について説明する。本実施形態は、上記の第１実施形態の変形例であり、受信側のユーザ側装置２００において復号結果の正当性を検証できるようにしたものである。図６は本発明の第２実施形態の動作手順を説明するための図である。
【００８５】
１．準備処理
１-１：鍵管理センタのセットアップ処理
１-１-１：鍵管理センタ側装置１００の処理
鍵管理センタ側装置１００において、演算部１０２は、入力部１０１を介して鍵管理センタの管理者から鍵生成の指示を受け付けると、鍵情報生成部１０６を用いて、素数ｑ、加法群Ｇ１、乗法群Ｇ２、および、
【００８６】
【数６８】
2006208967.tif 000023
【００８７】
なる双線形写像ｅを生成する（Ｓ１１０１）。
【００８８】
次に、演算部１０２は、鍵情報生成部１０２を用いて、ｓ∈ＺqおよびＰ∈Ｇ１をランダムに選ぶ（Ｓ１１０２）。ここで、Ｚｑ＝{０、１、２、...、ｑ-１}である。
【００８９】
次に、演算部１０２は、ｓ、Ｐを用いて、
【００９０】
【数６９】
2006208967.tif 000024
【００９１】
を生成する（Ｓ１１０３）。そして、ｓをマスタ鍵とし、（ｑ，Ｇ１，Ｇ２，ｅ，ｌ，ｍ，ｎ，Ｐ，Ｐｐｕｂ，Ｈ１，Ｈ２，Ｈ３，Ｈ４）をシステムパラメータとして、両者を記憶部１０３に記憶する。但し、ｌ、ｍ、ｎは正整数である。Ｈ１、Ｈ２、Ｈ３、Ｈ４は、
【００９２】
【数７０】
2006208967.tif 000025
【００９３】
なるハッシュ関数を意味する。なお、数７０において、{０，１}＊はユーザのＩＤ情報と同じビット数の任意のビット列、Ｇ１＊は０元を除く加法群Ｇ１、そして、Ｚｑ＊は０元を除く乗法群Ｚｑである。ここで、ＩＤ情報のビット数は、ＩＤ情報に使用する情報の種類によって異なる場合がある。
【００９４】
次に、演算部１０２は、システムパラメータ（ｑ，Ｇ１，Ｇ２，ｅ，ｌ，ｍ，ｎ，Ｐ，Ｐｐｕｂ，Ｈ１，Ｈ２，Ｈ３，Ｈ４）を出力部１０５から出力するか、あるいは、通信回線３００を介して通信部１０４から各ユーザ側装置２００に送信する（Ｓ１１０４）。なお、出力部１０５からシステムパラメータが出力された場合、鍵管理センタは郵送等により各ユーザ側装置２００のユーザに通知する。
【００９５】
１-１-２：ユーザ側装置２００の処理
ユーザ側装置Ａにおいて、演算装置２０２は、通信部２０４が通信回線３００を介して鍵管理センタ側装置１００より受信した、あるいは、入力部２０１に入力されたシステムパラメータ（ｑ，Ｇ１，Ｇ２，ｅ，ｌ，ｍ，ｎ，Ｐ，Ｐｐｕｂ，Ｈ１，Ｈ２，Ｈ３，Ｈ４）を、記憶部２０３に記憶する（Ｓ２１０１）。ユーザ側装置Ｂでも同様の処理が行われる。
【００９６】
１-２：ユーザのセットアップ処理
ここでは、ユーザ側装置Ａが暗号通信を行なうのに必要な情報をセットアップする場合を例にとり説明するが、ユーザ側装置Ｂでも同様の処理が行われる。
【００９７】
１-２-１：ユーザ側装置２００の処理
ユーザ側装置Ａにおいて、演算部２０２は、入力部２０１を介してユーザＡより受け付けたユーザＡのＩＤ情報ＩＤＡを、記憶部２０３に記憶すると共に、通信回線３００を介して通信部１０４から鍵管理センタ側装置１００に送信する（Ｓ２１０２）。なお、ユーザＡが、郵送等によって鍵管理センタに、ＩＤ情報ＩＤＡをユーザ側装置Ａのアドレスと共に通知してもよい。
【００９８】
１-２-２：鍵管理センタ側装置１００の処理
鍵管理センタ側装置１００において、演算装置１０２は、通信部１０４が通信回線３００を介してユーザ側装置Ａから受信した、あるいは、入力部１０１にユーザ側装置Ａのアドレスと共に入力されたユーザＡのＩＤ情報ＩＤＡを、ユーザ側装置Ａのアドレスに対応付けて記憶部１０３に記憶する（Ｓ１１０５）。
【００９９】
次に、演算部１０２は、記憶部１０３に記憶されているシステムパラメータＨ１およびユーザのＩＤ情報ＩＤＡを用いて、
【０１００】
【数７１】
2006208967.tif 000026
【０１０１】
を計算する。さらに、この計算結果ＱＩＤＡと、記憶装置１０３に記憶されているマスタ鍵ｓとを用いて、
【０１０２】
【数７２】
2006208967.tif 000027
【０１０３】
を計算し、この計算結果ｄＩＤＡをユーザＡのＩＤベース暗号用秘密鍵として、出力部１０５から出力するか、あるいは、通信回線３００を介して通信部１０４からユーザ側装置Ａに安全な方法（例えば鍵管理センタ側装置１００がユーザ側装置Ａと共有する暗号鍵を用いた暗号通信）で送信する（Ｓ１１０６）。なお、出力部１０５からユーザＡのＩＤベース暗号用秘密鍵ｄＩＤＡが出力された場合、鍵管理センタが郵送等の安全な方法でこのＩＤベース暗号用秘密鍵ｄＩＤＡをユーザＡに配布する。
【０１０４】
１-２-３：ユーザ側装置２００(メッセージ受信側）の処理
ユーザ側装置Ａにおいて、演算部２０２は、通信部２０４が通信回線３００を介して鍵管理センタ側装置１００から受信した、あるいは、入力部２０１に入力されたユーザＡのＩＤベース暗号用秘密鍵ｄＩＤＡを、記憶部２０３に記憶する（Ｓ２１０３）。
【０１０５】
次に、演算部２０２は、記憶部２０３に記憶されているシステムパラメータｑと、乱数生成部２０６とを用いて、ユーザＡの秘密鍵ｓＡ∈Ｚｑをランダムに選び、秘密鍵ｓＡを記憶部２０３に記憶する（Ｓ２１０４）。
【０１０６】
また、演算部２０２は、記憶部２０３にそれぞれ記憶されているユーザＡの秘密鍵ｓＡおよびシステムパラメータＰを用いて、
【０１０７】
【数７３】
2006208967.tif 000028
【０１０８】
なる公開鍵Ｐｐｕｂ，Ａを生成する。そして、演算部２０２は、公開鍵Ｐｐｕｂ，Ａを出力部２０５から出力するか、あるいは、通信回線３００を介して通信部２０４からユーザ側装置Ｂに送信する（Ｓ２１０５）。なお、出力部２０５から公開鍵Ｐｐｕｂ，Ａが出力された場合、ユーザＡは郵送等によりユーザＢに通知する。
【０１０９】
１-２-４：ユーザ側装置２００(メッセージ送信側）の処理
ユーザ側装置Ｂにおいて、演算装置２０２は、通信部２０４が通信回線３００を介してユーザ側装置Ａより受信した、あるいは、入力部２０１に入力されたユーザＡの公開鍵Ｐｐｕｂ，Ａを、記憶部２０３に記憶する（Ｓ３１０１）。
【０１１０】
２．暗号通信処理
２-１：ユーザ側装置２００(メッセージ送信側）の処理
ここでは、ユーザ側装置Ｂがメッセージ文を暗号化してユーザ側装置Ａに送信する場合を例にとり説明するが、ユーザ側装置Ａがメッセージ文を暗号化してユーザ側装置Ｂに送信する場合でも同様の処理が行われる。
【０１１１】
ユーザ側装置Ｂにおいて、演算部２０２は、入力部２０１に入力されたメッセージ文Ｍを記憶部２０３に記憶する（Ｓ３１０２）。但し、Ｍ∈{０，１}ｎとする。ここで、ｎはシステムパラメータである。
【０１１２】
次に、演算部２０２は、記憶部２０３に記憶されているシステムパラメータｍと、乱数生成部２０６とを用いて、メッセージ文Ｍに対してσ∈{０，１}ｍをランダムに選ぶ。そして、このσと、記憶部２０３に記憶されているメッセージ文Ｍと、記憶部２０３に記憶されているシステムパラメータＨ３とを用いて、
【０１１３】
【数７４】
2006208967.tif 000029
【０１１４】
を計算する（Ｓ３１０３）。さらに、この計算結果ｒと、記憶装置２０３に記憶されているメッセージ文Ｍと、ユーザＡの公開鍵Ｐｐｕｂ，Ａと、記憶装置２０３に記憶されているシステムパラメータｅ，Ｐ，Ｐｐｕｂ，Ｈ２，Ｈ４と、暗復号化部２０７とを用いて、
【０１１５】
【数７５】
2006208967.tif 000030
【０１１６】
を計算する。なお、数７５において、Ｅ(Ｍ；Ｋ)はメッセージ文Ｍを鍵Ｋを用いて共通鍵暗号で暗号化した暗号文を意味する。次に、演算部２０２は、この計算結果（Ｕ，Ｖ，Ｗ）をメッセージＭの暗号文として、通信回線３００を介して通信部２０４からユーザ側装置Ｂに送信する（Ｓ３１０４）。
【０１１７】
２-２：ユーザ側装置２００(メッセージ受信側）の処理
ここでは、ユーザ側装置Ａがユーザ側装置Ｂから受信した暗号文をメッセージ文に復号化する場合を例にとり説明するが、ユーザ側装置Ｂがユーザ側装置Ａから受信した暗号文をメッセージ文に復号化する場合でも同様の処理が行われる。
【０１１８】
ユーザ側装置Ａにおいて、演算部２０２は、通信部２０４が通信回線３００を介してユーザ側装置Ｂより受信した暗号文（Ｕ，Ｖ，Ｗ）を記憶部２０３に記憶する（Ｓ２１０６）。
【０１１９】
次に、演算部２０２は、記憶装置２０３に記憶されているユーザＡの秘密鍵ｓＡ、ＩＤベース暗号用秘密鍵ｄＩＤＡ、および、システムパラメータｅ，Ｈ１，Ｈ２を用いて、記憶装置２０３に記憶されている暗号文（Ｕ，Ｖ，Ｗ）に対して
【０１２０】
【数７６】
2006208967.tif 000031
【０１２１】
を計算する（Ｓ２１０７）。次に、演算部２０２は、数７６の計算結果σと、記憶装置２０３に記憶されている暗号文Ｗと、記憶装置２０３に記憶されているシステムパラメータＨ４と、暗復号化部２０７とを用いて、
【０１２２】
【数７７】
2006208967.tif 000032
【０１２３】
を計算する。なお、数７７において、Ｄ(Ｃ；Ｋ)は暗号文Ｃを鍵Ｋを用いて共通鍵暗号で復号化したメッセージを意味する。さらに、演算部２０２は、数７６の計算結果σと、数７７の計算結果Ｍと、記憶装置２０３に記憶されているシステムパラメータＨ３とを用いて、
【０１２４】
【数７８】
2006208967.tif 000033
【０１２５】
を計算する（Ｓ２１０８）。それから、演算部２０２は、数７８の計算結果ｒと、記憶装置２０３に記憶されている暗号文Ｕと、記憶装置２０３に記憶されているシステムパラメータＰとを用いて、
【０１２６】
【数７９】
2006208967.tif 000034
【０１２７】
が成立するか否かを判断する（Ｓ２１０９）。成立する場合に数７７の計算結果Ｍをメッセージ文Ｍとして出力する。一方、成立しない場合に、記憶装置２０３に記憶されている暗号文（Ｕ，Ｖ，Ｗ）を不正な暗号文とみなして破棄する。
【０１２８】
以上、本発明の第２実施形態について説明した。
【０１２９】
本実施形態は、上記の第１実施形態と同様の効果を有する。それに加えて、不正な暗号文が復号化されて出力されるのを防止することができる。
【０１３０】
なお、本実施形態において、上記の第１実施形態と同様に、鍵管理センタにＩＤ情報を登録していないユーザ（鍵管理センタからＩＤベース暗号用秘密鍵を受け取っていないユーザ）も、当該ユーザのユーザ側装置２００を用いて上記と同様の方法により暗号文を作成して送信することができる。但し、鍵管理センタＩＤ情報に登録を行っていないユーザは、暗号文の復号化を行うことはできない。
【０１３１】
また、本実施形態において、鍵管理センタ側装置１００を、ＩＣカード等のハードウエア的に安全な装置に実装し、各ユーザに対して配布した上で、上記と同様の方法により暗号通信を行うこともできる。
【０１３２】
<<第３実施形態>>
次に、本発明の第３実施形態について説明する。本実施形態では、ユーザＡのユーザ側装置２００（以下、ユーザ側装置Ａと呼ぶ）、および、ユーザＢのユーザ側装置２００（以下、ユーザ側装置Ｂと呼ぶ）が、鍵管理センタ側装置１００が作成した情報と、通信相手のユーザのＩＤ情報とを用いて、通信回線３００を介して文書認証を行う場合を例にとり説明する。図７は第３実施形態の動作手順を説明するための図である。
【０１３３】
１．準備処理
１-１：鍵管理センタのセットアップ処理
１-１-１：鍵管理センタ側装置１００の処理
鍵管理センタ側装置１００において、演算部１０２は、入力部１０１を介して鍵管理センタの管理者から鍵生成の指示を受け付けると、鍵情報生成部１０６を用いて、素数ｑ、加法群Ｇ１、乗法群Ｇ２、および、
【０１３４】
【数８０】
2006208967.tif 000035
【０１３５】
なる双線形写像ｅを生成する（Ｓ１２０１）。
【０１３６】
次に、演算部１０２は、鍵情報生成部１０２を用いて、ｓ∈ＺqおよびＰ∈Ｇ１をランダムに選ぶ（Ｓ１２０２）。ここで、Ｚｑ＝{０、１、２、...、ｑ-１}である。
【０１３７】
次に、演算部１０２は、ｓ、Ｐを用いて、
【０１３８】
【数８１】
2006208967.tif 000036
【０１３９】
を生成する（Ｓ１２０３）。そして、ｓをマスタ鍵とし、（ｑ，Ｇ１，Ｇ２，ｅ，ｎ，Ｐ，Ｐｐｕｂ，Ｈ１，Ｈ２）をシステムパラメータとして、両者を記憶部１０３に記憶する。但し、ｎは正整数である。Ｈ１、Ｈ２は、
【０１４０】
【数８２】
2006208967.tif 000037
【０１４１】
なるハッシュ関数を意味する。なお、数８２において、{０，１}＊はユーザのＩＤ情報と同じビット数の任意のビット列、そして、Ｇ１＊は０元を除く加法群Ｇ１である。ここで、ＩＤ情報のビット数は、ＩＤ情報に使用する情報の種類によって異なる場合がある。
【０１４２】
次に、演算部１０２は、システムパラメータ（ｑ，Ｇ１，Ｇ２，ｅ，ｎ，Ｐ，Ｐｐｕｂ，Ｈ１，Ｈ２）を出力部１０５から出力するか、あるいは、通信回線３００を介して通信部１０４から各ユーザ側装置２００に送信する（Ｓ１２０４）。なお、出力部１０５からシステムパラメータが出力された場合、鍵管理センタは郵送等により各ユーザ側装置２００のユーザに通知する。
【０１４３】
１-１-２：ユーザ側装置２００の処理
ユーザ側装置Ａにおいて、演算装置２０２は、通信部２０４が通信回線３００を介して鍵管理センタ側装置１００より受信した、あるいは、入力部２０１に入力されたシステムパラメータ（ｑ，Ｇ１，Ｇ２，ｅ，ｎ，Ｐ，Ｐｐｕｂ，Ｈ１，Ｈ２）を、記憶部２０３に記憶する（Ｓ２２０１）。ユーザ側装置Ｂでも同様の処理が行われる。
【０１４４】
１-２：ユーザのセットアップ処理
ここでは、ユーザ側装置Ａがデジタル署名を行なうのに必要な情報をセットアップする場合を例にとり説明するが、ユーザ側装置Ｂでも同様の処理が行われる。
【０１４５】
１-２-１：ユーザ側装置２００の処理
ユーザ側装置Ａにおいて、演算部２０２は、入力部２０１を介してユーザＡより受け付けたユーザＡのＩＤ情報ＩＤＡを、記憶部２０３に記憶すると共に、通信回線３００を介して通信部１０４から鍵管理センタ側装置１００および他のユーザ側装置２００に送信する（Ｓ２２０２）。なお、ユーザＡが、郵送等によって鍵管理センタおよび他のユーザに、ＩＤ情報ＩＤＡをユーザ側装置Ａのアドレスと共に通知してもよい。
【０１４６】
１-２-２：鍵管理センタ側装置１００の処理
鍵管理センタ側装置１００において、演算装置１０２は、通信部１０４が通信回線３００を介してユーザ側装置Ａから受信した、あるいは、入力部１０１にユーザ側装置Ａのアドレスと共に入力されたユーザＡのＩＤ情報ＩＤＡを、ユーザ側装置Ａのアドレスに対応付けて記憶部１０３に記憶する（Ｓ１２０５）。
【０１４７】
次に、演算部１０２は、記憶部１０３に記憶されているシステムパラメータＨ１およびユーザのＩＤ情報ＩＤＡを用いて、
【０１４８】
【数８３】
2006208967.tif 000038
【０１４９】
を計算する。さらに、この計算結果ＱＩＤＡと、記憶装置１０３に記憶されているマスタ鍵ｓとを用いて、
【０１５０】
【数８４】
2006208967.tif 000039
【０１５１】
を計算し、この計算結果ｄＩＤＡを、ユーザＡのＩＤベース暗号用秘密鍵として、出力部１０５から出力するか、あるいは、通信回線３００を介して通信部１０４からユーザ側装置Ａに安全な方法（例えば鍵管理センタ側装置１００がユーザ側装置Ａと共有する暗号鍵を用いた暗号通信）で送信する（Ｓ１２０６）。なお、出力部１０５からユーザＡのＩＤベース暗号用秘密鍵ｄＩＤＡが出力された場合、鍵管理センタが郵送等の安全な方法でこのＩＤベース暗号用秘密鍵ｄＩＤＡをユーザＡに配布する。
【０１５２】
１-２-３：ユーザ側装置２００(デジタル署名生成側）の処理
ユーザ側装置Ａにおいて、演算部２０２は、通信部２０４が通信回線３００を介して鍵管理センタ側装置１００から受信した、あるいは、入力部２０１に入力されたユーザＡのＩＤベース暗号用秘密鍵ｄＩＤＡを、記憶部２０３に記憶する（Ｓ２２０３）。
【０１５３】
次に、演算部２０２は、記憶部２０３に記憶されているシステムパラメータｑと、乱数生成部２０６とを用いて、ユーザＡの秘密鍵ｓＡ∈Ｚｑをランダムに選び、秘密鍵ｓＡを記憶部２０３に記憶する（Ｓ２２０４）。
【０１５４】
また、演算部２０２は、記憶部２０３にそれぞれ記憶されているユーザＡの秘密鍵ｓＡおよびシステムパラメータＰを用いて、
【０１５５】
【数８５】
2006208967.tif 000040
【０１５６】
なる公開鍵Ｐｐｕｂ，Ａを生成する。そして、演算部２０２は、公開鍵Ｐｐｕｂ，Ａを出力部２０５から出力するか、あるいは、通信回線３００を介して通信部２０４からユーザ側装置Ｂに送信する（Ｓ２２０５）。なお、出力部２０５から公開鍵Ｐｐｕｂ，Ａが出力された場合、ユーザＡは郵送等によりユーザＢに通知する。
【０１５７】
１-２-４：ユーザ側装置２００(デジタル署名検証側）の処理
ユーザ側装置Ｂにおいて、演算装置２０２は、通信部２０４が通信回線３００を介してユーザ側装置Ａより受信した、あるいは、入力部２０１に入力されたユーザＡの公開鍵Ｐｐｕｂ，Ａを、記憶部２０３に記憶する（Ｓ３２０１）。
【０１５８】
２．文書認証処理
２-１：ユーザ側装置２００(デジタル署名生成側）の処理
ここでは、ユーザ側装置Ａがメッセージ文Ｍに対するデジタル署名を生成して該メッセージ文Ｍおよびデジタル署名をユーザ側装置Ｂに送信する場合を例にとり説明するが、ユーザ側装置Ｂがメッセージ文Ｍに対するデジタル署名を生成して該メッセージ文Ｍおよびデジタル署名をユーザ側装置Ａに送信する場合でも同様の処理が行われる。
【０１５９】
ユーザ側装置Ａにおいて、演算部２０２は、入力部２０１に入力されたメッセージ文Ｍを記憶部２０３に記憶する（Ｓ２２０６）。
【０１６０】
次に、演算部２０２は、記憶部２０３に記憶されているシステムパラメータｑと、乱数生成部２０６とを用いて、ｒ∈Ｚｑをランダムに選ぶ。そして、このｒと、システムパラメータＰとを用いて、
【０１６１】
【数８６】
2006208967.tif 000041
【０１６２】
を計算する。さらに、この計算結果Ｕと、記憶装置２０３に記憶されているメッセージ文Ｍと、ユーザＡのＩＤ情報ＩＤＡと、記憶装置２０３に記憶されているシステムパラメータＨ２とを用いて、
【０１６３】
【数８７】
2006208967.tif 000042
【０１６４】
を計算する。また、記憶部２０３に記憶されているシステムパラメータＨ１およびユーザのＩＤ情報ＩＤＡを用いて上記の数８３によりＱＩＤＡを計算し、このＱＩＤＡと、数８７の計算結果Ｈと、ｒと、記憶装置２０３に記憶されているユーザＡのＩＤベース暗号用秘密鍵ｄＩＤＡおよび秘密鍵ｓＡとを用いて、
【０１６５】
【数８８】
2006208967.tif 000043
【０１６６】
を計算する。そして、数８６、数８８の計算結果（Ｕ、Ｖ）をメッセージ文Ｍのデジタル署名として、メッセージ文Ｍと共に、通信回線３００を介して通信部２０４からユーザ側装置Ｂに送信する（Ｓ２２０７）。
【０１６７】
２-２：ユーザ側装置２００(デジタル署名検証側）の処理
ここでは、ユーザ側装置Ｂがユーザ側装置Ａから受信したメッセージ文Ｍのデジタル署名（Ｕ，Ｖ）を検証する場合を例にとり説明するが、ユーザ側装置Ａがユーザ側装置Ｂから受信したメッセージ文のデジタル署名を検証する場合でも同様の処理が行われる。
【０１６８】
ユーザ側装置Ｂにおいて、演算部２０２は、通信部２０４が通信回線３００を介してユーザ側装置Ａより受信したメッセージ文Ｍおよびデジタル署名（Ｕ，Ｖ）を記憶部２０３に記憶する（Ｓ３２０２）。
【０１６９】
次に、演算部２０２は、記憶装置２０３に記憶されているシステムパラメータＨ１，Ｈ２と、記憶装置２０３に記憶されているユーザＡのＩＤ情報ＩＤＡと、記憶装置に記憶されているメッセージ文Ｍとを用いて、
【０１７０】
【数８９】
2006208967.tif 000044
【０１７１】
を計算する（Ｓ３２０３）。さらに、この計算結果ＱＩＤＡ，Ｈと、記憶装置２０３に記憶されているシステムパラメータｅ，Ｐ，ＰＰＵＢと、記憶装置２０３に記憶されているデジタル署名（Ｕ，Ｖ）とを用いて、
【０１７２】
【数９０】
2006208967.tif 000045
【０１７３】
が成立するか否かを判断する（Ｓ３２０４）。成立する場合にデジタル署名（Ｕ，Ｖ）をメッセージ文Ｍに対する正当な署名と判断し、一方、成立しない場合に不正な署名と判断して、その判断結果を出力する。
【０１７４】
以上、本発明の第３実施形態について説明した。
【０１７５】
本実施形態では、署名生成側装置であるユーザ側装置Ａは、鍵管理センタ側装置１００が作成したＩＤベース暗号用秘密鍵ｄＩＤＡとユーザ側装置Ａが作成した鍵情報ｓＡとを用いてメッセージ文Ｍのデジタル署名を作成している。また、署名検証側装置であるユーザ側装置Ｂは、システムパラメータと署名生成側装置であるユーザＡ側装置が作成した公開情報Ｐｐｕｂ，Ａとからメッセージ文Ｍのデジタル署名を検証している。ここで、鍵管理センタは、ＩＤベース暗号用秘密鍵ｄＩＤＡについては知ることができるが、鍵情報ｓＡについては知ることができない。このため、鍵管理センタに内部不正者が存在してもデジタル署名（Ｕ，Ｖ）を作成することができない。このため、署名作成者は自身が作成した署名を不当に拒否することができない。
【０１７６】
また、本実施形態では、非特許文献５に記載の手法と同様の手法により、安全性を証明することが可能である。さらに、ユーザが自身で作成した鍵情報について、鍵管理センタが公開しているシステムパラメータを利用して作成し、かつ、鍵管理センタが発行したＩＤベース暗号用秘密鍵と併用して署名生成処理を行うため、既存のＩＤベース暗号システムと同様に、公開鍵証明書が不要である。
【０１７７】
なお、本実施形態において、鍵管理センタにＩＤ情報を登録していないユーザ（鍵管理センタからＩＤベース暗号用秘密鍵を受け取っていないユーザ）も、当該ユーザのユーザ側装置２００を用いて上記と同様の方法によりデジタル署名の検証を行うことができる。但し、鍵管理センタＩＤ情報に登録を行っていないユーザは署名を生成できない。
【０１７８】
また、本実施形態において、鍵管理センタ側装置１００を、ＩＣカード等のハードウエア的に安全な装置に実装し、各ユーザに対して配布した上で、上記と同様の方法により暗号通信を行うこともできる。
【０１７９】
<<第４実施形態>>
次に、本発明の第４実施形態について説明する。本実施形態では、ユーザＡのユーザ側装置２００（以下、ユーザ側装置Ａと呼ぶ）、および、ユーザＢのユーザ側装置２００（以下、ユーザ側装置Ｂと呼ぶ）が、鍵管理センタ側装置１００が作成した情報と、通信相手のユーザのＩＤ情報とを用いて、通信回線３００を介して互いに文書認証機能付き暗号（Signcryption）通信を行う場合を例にとり説明する。図８は第４実施形態の動作手順を説明するための図である。
【０１８０】
１．準備処理
１-１：鍵管理センタのセットアップ処理
１-１-１：鍵管理センタ側装置１００の処理
鍵管理センタ側装置１００において、演算部１０２は、入力部１０１を介して鍵管理センタの管理者から鍵生成の指示を受け付けると、鍵情報生成部１０６を用いて、素数ｑ、加法群Ｇ１、乗法群Ｇ２、および、
【０１８１】
【数９１】
2006208967.tif 000046
【０１８２】
なる双線形写像ｅを生成する（Ｓ１３０１）。
【０１８３】
次に、演算部１０２は、鍵情報生成部１０２を用いて、ｓ∈ＺqおよびＰ∈Ｇ１をランダムに選ぶ（Ｓ１３０２）。ここで、Ｚｑ＝{０、１、２、...、ｑ-１}である。
【０１８４】
次に、演算部１０２は、ｓ、Ｐを用いて、
【０１８５】
【数９２】
2006208967.tif 000047
【０１８６】
を生成する（Ｓ１３０３）。そして、ｓをマスタ鍵とし、（ｑ，Ｇ１，Ｇ２，ｅ，λ，Ｌ，Ｐ，Ｐｐｕｂ，Ｈ１，Ｈ２，Ｈ３，Ｈ４，Ｈ５）をシステムパラメータとして、両者を記憶部１０３に記憶する。但し、Ｈ１、Ｈ２、Ｈ３、Ｈ４、Ｈ５は、
【０１８７】
【数９３】
2006208967.tif 000048
【０１８８】
なるハッシュ関数を意味する。なお、数９３において、{０，１}＊はユーザのＩＤ情報と同じビット数の任意のビット列、Ｇ１＊は０元を除く加法群Ｇ１、そして、Ｚｑ＊は０元を除く乗法群Ｚｑである。また、λ、Ｌは正整数である。ここで、ＩＤ情報のビット数は、ＩＤ情報に使用する情報の種類によって異なる場合がある。
【０１８９】
次に、演算部１０２は、システムパラメータ（ｑ，Ｇ１，Ｇ２，ｅ，λ，Ｌ，Ｐ，Ｐｐｕｂ，Ｈ１，Ｈ２，Ｈ３，Ｈ４，Ｈ５）を出力部１０５から出力するか、あるいは、通信回線３００を介して通信部１０４から各ユーザ側装置２００に送信する（Ｓ１３０４）。なお、出力部１０５からシステムパラメータが出力された場合、鍵管理センタは郵送等により各ユーザ側装置２００のユーザに通知する。
【０１９０】
１-１-２：ユーザ側装置２００の処理
ユーザ側装置Ａにおいて、演算装置２０２は、通信部２０４が通信回線３００を介して鍵管理センタ側装置１００より受信した、あるいは、入力部２０１に入力されたシステムパラメータ（ｑ，Ｇ１，Ｇ２，ｅ，λ，Ｌ，Ｐ，Ｐｐｕｂ，Ｈ１，Ｈ２，Ｈ３，Ｈ４，Ｈ５）を、記憶部２０３に記憶する（Ｓ２３０１）。ユーザ側装置Ｂでも同様の処理が行われる。
【０１９１】
１-２：ユーザのセットアップ処理
ここでは、ユーザ側装置Ａが暗号通信を行なうのに必要な情報をセットアップする場合を例にとり説明するが、ユーザ側装置Ｂでも同様の処理が行われる。
【０１９２】
１-２-１：ユーザ側装置２００の処理
ユーザ側装置Ａにおいて、演算部２０２は、入力部２０１を介してユーザＡより受け付けたユーザＡのＩＤ情報ＩＤＡを、記憶部２０３に記憶すると共に、通信回線３００を介して通信部１０４から鍵管理センタ側装置１００およびユーザ側装置Ｂに送信する（Ｓ２３０２）。なお、ユーザＡが、郵送等によって鍵管理センタおよびユーザ側装置Ｂに、ＩＤ情報ＩＤＡをユーザ側装置Ａのアドレスと共に通知してもよい。
【０１９３】
１-２-２：鍵管理センタ側装置１００の処理
鍵管理センタ側装置１００において、演算装置１０２は、通信部１０４が通信回線３００を介してユーザ側装置Ａから受信した、あるいは、入力部１０１にユーザ側装置Ａのアドレスと共に入力されたユーザＡのＩＤ情報ＩＤＡを、ユーザ側装置Ａのアドレスに対応付けて記憶部１０３に記憶する（Ｓ１３０５）。
【０１９４】
次に、演算部１０２は、記憶部１０３に記憶されているシステムパラメータＨ１およびユーザのＩＤ情報ＩＤＡを用いて、
【０１９５】
【数９４】
2006208967.tif 000049
【０１９６】
を計算する。さらに、この計算結果ＱＩＤＡと、記憶装置１０３に記憶されているマスタ鍵ｓとを用いて、
【０１９７】
【数９５】
2006208967.tif 000050
【０１９８】
を計算し、この計算結果ｄＩＤＡを、ユーザＡのＩＤベース暗号用秘密鍵として、出力部１０５から出力するか、あるいは、通信回線３００を介して通信部１０４からユーザ側装置Ａに安全な方法（例えば鍵管理センタ側装置１００がユーザ側装置Ａと共有する暗号鍵を用いた暗号通信）で送信する（Ｓ１３０６）。なお、出力部１０５からユーザＡのＩＤベース暗号用秘密鍵ｄＩＤＡが出力された場合、鍵管理センタが郵送等の安全な方法でこのＩＤベース暗号用秘密鍵ｄＩＤＡをユーザＡに配布する。
【０１９９】
１-２-３：ユーザ側装置２００(メッセージ受信側）の処理
ユーザ側装置Ａにおいて、演算部２０２は、通信部２０４が通信回線３００を介して鍵管理センタ側装置１００から受信した、あるいは、入力部２０１に入力されたユーザＡのＩＤベース暗号用秘密鍵ｄＩＤＡを、記憶部２０３に記憶する（Ｓ２３０３）。
【０２００】
次に、演算部２０２は、記憶部２０３に記憶されているシステムパラメータｑと、乱数生成部２０６とを用いて、ユーザＡの秘密鍵ｓＡ∈Ｚｑをランダムに選び、秘密鍵ｓＡを記憶部２０３に記憶する（Ｓ２３０４）。
【０２０１】
また、演算部２０２は、記憶部２０３にそれぞれ記憶されているユーザＡの秘密鍵ｓＡおよびシステムパラメータＰを用いて、
【０２０２】
【数９６】
2006208967.tif 000051
【０２０３】
なる公開鍵Ｐｐｕｂ，Ａを生成する。そして、演算部２０２は、公開鍵Ｐｐｕｂ，Ａを出力部２０５から出力するか、あるいは、通信回線３００を介して通信部２０４からユーザ側装置Ｂに送信する（Ｓ２３０５）。なお、出力部２０５から公開鍵Ｐｐｕｂ，Ａが出力された場合、ユーザＡは郵送等によりユーザＢに通知する。
【０２０４】
１-２-４：ユーザ側装置２００(メッセージ送信側）の処理
ユーザ側装置Ｂにおいて、演算装置２０２は、通信部２０４が通信回線３００を介してユーザ側装置Ａより受信した、あるいは、入力部２０１に入力されたユーザＡの公開鍵Ｐｐｕｂ，Ａを、記憶部２０３に記憶する（Ｓ３３０１）。
【０２０５】
２．文書認証機能付き暗号通信処理
２-１：ユーザ側装置２００(メッセージ送信側）の処理
ここでは、ユーザ側装置Ａがユーザ側装置Ｂにメッセージを送信する場合を例にとり説明するが、ユーザ側装置Ｂがユーザ側装置Ａにメッセージを送信する場合でも同様の処理が行われる。
【０２０６】
２-１-１：署名生成処理
ユーザ側装置Ａにおいて、演算部２０２は、入力部２０１に入力されたメッセージ文Ｍを記憶部２０３に記憶する（Ｓ２３０６）。
【０２０７】
次に、演算部２０２は、記憶部２０３に記憶されているシステムパラメータｑと、乱数生成部２０６とを用いて、ｒ∈Ｚｑをランダムに選ぶ。そして、このｒと、システムパラメータＰとを用いて、
【０２０８】
【数９７】
2006208967.tif 000052
【０２０９】
を計算する。さらに、この計算結果Ｕと、記憶装置２０３に記憶されているメッセージ文Ｍと、ユーザＡのＩＤ情報ＩＤＡと、記憶装置２０３に記憶されているシステムパラメータＨ２とを用いて、
【０２１０】
【数９８】
2006208967.tif 000053
【０２１１】
を計算する。また、上記の数９４により記憶部２０３に記憶されているシステムパラメータＨ１およびユーザのＩＤ情報ＩＤＡからＱＩＤＡを計算する。そして、この計算結果ＱＩＤＡと、数８９の計算結果Ｈと、ｒと、記憶装置２０３に記憶されているユーザＡのＩＤベース暗号用秘密鍵ｄＩＤＡおよび秘密鍵ｓＡとを用いて、
【０２１２】
【数９９】
2006208967.tif 000054
【０２１３】
を計算する。そして、数９７、９９の計算結果Ｕ，Ｖを記憶装置２０３に記憶する（Ｓ２３０７）。
【０２１４】
２-１-２：暗号化処理
ユーザ側装置Ａにおいて、演算部２０２は、記憶装置２０３に記憶されている計算結果Ｕ，Ｖと、ユーザＡのＩＤ情報ＩＤＡと、メッセージ文Ｍとに対して、σ∈{０，１}λをランダムに選ぶ。そして、このσと、記憶部２０３に記憶されているユーザＢのＩＤ情報ＩＤＢと、記憶部２０３に記憶されているシステムパラメータＨ５とを用いて、
【０２１５】
【数１００】
2006208967.tif 000055
【０２１６】
を計算する（Ｓ２３０８）。さらに、演算部２０２は、この計算結果ＱＩＤＢ，ｘと、メッセージ文Ｍと、記憶装置２０３に記憶されている計算結果Ｕ，Ｖと、ユーザＢの公開鍵Ｐｐｕｂ，Ｂと、記憶装置２０３に記憶されているシステムパラメータｅ，Ｐ，Ｐｐｕｂ，Ｈ２，Ｈ４とを用いて、
【０２１７】
【数１０１】
2006208967.tif 000056
【０２１８】
を計算する。次に、演算部２０２は、この計算結果（Ｘ，Ｗ，Ｚ）をメッセージＭの文書認証機能付き暗号文として、通信回線３００を介して通信部２０４からユーザ側装置Ｂに送信する（Ｓ２３０９）。
【０２１９】
２-２：ユーザ側装置２００(メッセージ受信側）の処理
ここでは、ユーザ側装置Ｂがユーザ側装置Ａから文書機能付き暗号文を受信する場合を例にとり説明するが、ユーザ側装置Ａがユーザ側装置Ｂから文書機能付き暗号文を受信する場合でも同様の処理が行われる。
【０２２０】
２-２-１：復号化処理
ユーザ側装置Ｂにおいて、演算部２０２は、通信部２０４が通信回線３００を介してユーザ側装置Ｂより受信した文書認証機能付き暗号文（Ｘ，Ｗ，Ｚ）を記憶部２０３に記憶する（Ｓ３３０２）。
【０２２１】
次に、演算部２０２は、記憶装置２０３に記憶されているユーザＢのＩＤ情報ＩＤＢ、ユーザＡのＩＤ情報ＩＤＡ、ユーザＢの秘密鍵ｓＢ、ＩＤベース暗号用秘密鍵ｄＩＤＢおよびシステムパラメータｅ，Ｈ３，Ｈ４，Ｈ５と、記憶部２０３に記憶されているシステムパラメータＨ１およびユーザのＩＤ情報ＩＤＢから求まるＱＩＤＢと、を用いて、記憶装置２０３に記憶されている文書認証機能付き暗号文（Ｘ，Ｗ，Ｚ）に対して、
【０２２２】
【数１０２】
2006208967.tif 000057
【０２２３】
を計算し、さらに、この計算結果σを用いて、
【０２２４】
【数１０３】
2006208967.tif 000058
【０２２５】
を計算する。ここで、Ｖのビット数は既知とする。また、数１０３の計算結果（ビット列）を、Ｖのビット数のビットデータと、ユーザＡのＩＤ情報ＩＤＡのビット数のビットデータと、残りのビットデータとに分割することで、ＭおよびＶを特定し、記憶装置２０３に記憶する（Ｓ３３０３）。
【０２２６】
次に、演算部２０２は、特定したＭと、数１０２の計算結果σとを用いて、
【０２２７】
【数１０４】
2006208967.tif 000059
を計算し、さらに、この計算結果ｘを用いて、
【０２２８】
【数１０５】
2006208967.tif 000060
を計算する。そして、計算結果Ｕを記憶装置２０３に記憶する（Ｓ３３０４）。
【０２２９】
２-２-２：署名検証処理
ユーザ側装置Ｂにおいて、演算部２０２は、記憶装置２０３に記憶されている計算結果Ｍ、Ｕと、ユーザＡのＩＤ情報ＩＤＡと、システムパラメータＨ２とから上記の数９８によりＨを計算する。また、ユーザＡのＩＤ情報ＩＤＡと、システムパラメータＨ１とから上記の数１００によりＱＩＤＡを計算する。そして、これらの計算結果Ｈ、ＱＩＤＡと、記憶装置２０３に記憶されている計算結果Ｖと、記憶装置２０３に記憶されているシステムパラメータｅ，Ｐ，Ｐｐｕｂと、記憶装置２０３に記憶されているユーザＡの公開鍵ＰＰＵＢ，Ａとを用いて、
【０２３０】
【数１０６】
2006208967.tif 000061
が成立するか否かを判断する（Ｓ３３０５）。成立する場合にＭをメッセージ文、（Ｕ，Ｖ）をメッセージ文に対する正当な署名と判断し出力部２０５から出力する。一方、成立しない場合に、記憶装置２０３に記憶されている文書認証機能付暗号文（Ｘ，Ｗ，Ｚ）を不正な暗号文とみなして破棄する。
【０２３１】
以上、本発明の第４実施形態について説明した。
【０２３２】
本実施形態では、メッセージ送信側装置であるユーザ側装置Ａは、鍵管理センタ側装置１００が作成したシステムパラメータと受信側装置であるユーザＢ側装置が作成した公開情報Ｐｐｕｂ，Ｂとからメッセージ文Ｍの暗号文を作成している。また、メッセージ受信側装置であるユーザ側装置Ｂは、鍵管理センタ側装置１００が作成したＩＤベース暗号用秘密鍵ｄＩＤＢとユーザ側装置Ａが作成した鍵情報ｓＢとを用いてメッセージ文Ｍの復号化を行っている。ここで、鍵管理センタは、ＩＤベース暗号用秘密鍵ｄＩＤＢについては知ることができるが、鍵情報ｓＢについては知ることができない。
【０２３３】
また、ユーザ側装置Ａは、鍵管理センタが作成したＩＤベース暗号用秘密鍵ｄＩＤＡとユーザ側装置Ａが作成し鍵情報ｓＡからデジタル署名を生成している。また、ユーザ側装置Ｂは、システムパラメータとユーザＡの公開情報Ｐｐｕｂ，Ａとを用いて署名の検証を行っている。ここで、鍵管理センタは、ＩＤベース暗号用秘密鍵ｄＩＤＡについては知ることができるが、鍵情報ｓＡについては知ることができない。
【０２３４】
このため、鍵管理センタに内部不正者が存在しても文書認証機能付暗号文（Ｘ，Ｗ，Ｚ）を復号化することができない。また、署名作成者は自身が作成した署名を不当に拒否することができない。
【０２３５】
また、本実施形態では、非特許文献５に記載の手法と同様の手法により、安全性を証明することが可能である。さらに、ユーザが自身で作成した鍵情報について、鍵管理センタが公開しているシステムパラメータを利用して作成し、かつ、鍵管理センタが発行したＩＤベース暗号用秘密鍵と併用して署名生成処理を行うため、既存のＩＤベース暗号システムと同様に、公開鍵証明書が不要である。
【０２３６】
なお、本実施形態において、鍵管理センタにＩＤ情報を登録していないユーザ（鍵管理センタからＩＤベース暗号用秘密鍵を受け取っていないユーザ）も、当該ユーザのユーザ側装置２００を用いて上記と同様の方法によりデジタル署名の検証を行うことができる。但し、鍵管理センタＩＤ情報に登録を行っていないユーザは署名を生成できない。
【０２３７】
また、本実施形態において、鍵管理センタ側装置１００を、ＩＣカード等のハードウエア的に安全な装置に実装し、各ユーザに対して配布した上で、上記と同様の方法により暗号通信を行うこともできる。
【０２３８】
なお、本発明は、上記の各実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。例えば、上記の各実施形態では、ユーザがそれぞれのユーザ側装置２００を利用して認証および暗号通信を行うという一般的な通信システムを例にとり説明したが、本発明は、様々なシステムに適用可能である。例えば、電子ショッピングシステムでは、送信者はユーザであり、送信者のユーザ側装置２００はパソコンなどの計算機であり、受信者は小売店であり、受信者のユーザ側装置２００はパソコンなどの計算機となる。その他にも、従来の公開鍵暗号が使われている様々なシステムに適用することが可能である。
【０２３９】
また、上記の各実施形態での各計算は、ＣＰＵがメモリ上にロードされたプログラムを実行することにより行われるものとして説明した。しかし、プログラムだけではない。いずれかの計算を行なう装置は、ハードウエア化された演算装置であって、他の演算装置やＣＰＵとデータのやりとりを行うものでもよい。
【図面の簡単な説明】
【０２４０】
【図１】本発明の各実施形態に共通するＩＤベース暗号通信システムの構成図である。
【図２】図１に示す鍵管理センタ側装置１００の概略構成図である。
【図３】図１に示すユーザ側装置２００の概略構成図である。
【図４】鍵管理センタ側装置１００およびユーザ側装置２００のハードウエア構成例を示す図である。
【図５】本発明の第１実施形態の動作手順を説明するための図である。
【図６】本発明の第２実施形態の動作手順を説明するための図である。
【図７】本発明の第３実施形態の動作手順を説明するための図である。
【図８】本発明の第４実施形態の動作手順を説明するための図である。
【符号の説明】
【０２４１】
１００…鍵管理センタ側装置、１０１…入力部、１０２…演算部、１０３…記憶部、１０４…通信部、１０５…出力部、１０６０…鍵情報性西部、２００…ユーザ側装置、２０１…入力部、２０２…演算部、２０３…記憶部、２０４…通信部、２０５…出力部、２０６…乱数生成部、２０７…暗復号化部、３００…通信回線
【図１】
2006208967.tif 000109
【図２】
2006208967.tif 000110
【図３】
2006208967.tif 000111
【図４】
2006208967.tif 000112
【図５】
2006208967.tif 000113
【図６】
2006208967.tif 000114
【図７】
2006208967.tif 000115
【図８】
2006208967.tif 000116