"少なくとも送信装置、受信装置、復号履歴蓄積サーバを有する暗号化システムであって、pは素数、G1は位数pの巡回加算群、G2は位数pの巡回群、eはG1×G1→G2のように写像する双線形ペアリング関数、Hは群G2の元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群G1の生成元、sは0以上p-1以下の整数、PPub=sP、P,PPubは公開パラメータ、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1ID、K0はK0=sQIDのように求められた秘密鍵、K3’は0以上p-1以下の整数から選択された分割用乱数、K1は秘密鍵K0と分割用乱数K3’を用いて所定の方法1で求められた受信用秘密鍵、K3は分割用乱数K3’を用いて所定の方法2で求められた代理計算用秘密鍵、rは0以上p-1以下の整数から選択された乱数、UはU=rPのように求められたセッション情報、gIDはgID=eQID,PPubのように求められた値、VはHgIDrを用いて所定の方法3で平文Mを暗号化した暗号文、vは暗号文Vを識別する暗号文識別情報、hは暗号文Vを識別する暗号文識別情報を生成する関数を示す記号であり、前記送信装置は、少なくとも前記受信装置に暗号文Vを送信し、前記復号履歴蓄積サーバにセッション情報Uと暗号文識別情報vとを送信する暗号文送信部を備え、前記受信装置は、受信用秘密鍵K1を記録する復号記録部と、受信用秘密鍵K1を用いて所定の方法4でリクエストReqを作成するリクエスト作成部と、前記リクエストReq、v=hVを満たす暗号文識別情報v、当該受信装置を特定する受信装置識別情報RIDとを前記復号履歴蓄積サーバに送信するリクエスト送信部と、前記復号履歴蓄積サーバから受信したレスポンスResを用いて前記所定の方法2と前記所定の方法4に対応した方法である所定の方法5にしたがってgIDrの値Wを求め、HWを用いて前記所定の方法3に対応した方法である所定の方法6にしたがって暗号文Vを復号して平文M’に復号する復号部と、を備え、前記復号履歴蓄積サーバは、受信装置識別情報RIDに対応付けて代理計算用秘密鍵K3を記録する代理記録部と、前記送信装置から受信したセッション情報Uと暗号文識別情報vとを対応付けて記録するセッション情報蓄積部と、前記受信装置から受信した暗号文識別情報vと一致する前記セッション情報蓄積部に記録された暗号文識別情報vに対応付けられたセッション情報Uを取得し、前記受信装置から受信した受信装置識別情報RIDと一致する前記代理記録部に記録された受信装置識別情報RIDに対応付けられた代理計算用秘密鍵K3を取得し、前記所定の方法1と前記所定の方法2と前記所定の方法4に対応した方法である所定の方法7にしたがって前記セッション情報Uと前記代理計算用秘密鍵K3を用いた計算を行ってレスポンスResを求めるレスポンス作成部と、前記レスポンスResを前記受信装置に送信するレスポンス送信部と、レスポンスResを前記受信装置に送信したときは、暗号文識別情報vと、受信装置識別情報RIDと、時刻とを対応付けて記録する履歴蓄積部と、を備える暗号化システム。請求項1記載の暗号化システムであって、前記所定の方法2では、保護用秘密鍵K2を0以上p-1以下の整数から選択し、分割用乱数K3’と保護用秘密鍵K2を用いて所定の方法2’にしたがって代理計算用秘密鍵K3を求め、前記復号記録部は保護用秘密鍵K2も記録し、前記所定の方法5は、前記所定の方法2’にも対応した方法で、保護用秘密鍵K2も用いて値Wを求めることを特徴とする暗号化システム。請求項1記載の暗号化システムであって、はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とし、前記所定の方法1では、受信用秘密鍵K1をK1=K3’K0のように求め、前記所定の方法2では、代理計算用秘密鍵K3をK3=K3’-1のように求め、前記所定の方法3では、暗号文VをV=MHgIDrのように求め、前記所定の方法4では、前記リクエスト作成部が、乱数rtmpを0以上p-1以下の整数から選択し、隠蔽鍵KtmpをKtmp=rtmpK1を求め、リクエストReqを隠蔽鍵Ktmpを含む情報とし、前記所定の方法5では、値WをW=Res^rtmp-1のように求め、前記所定の方法6では、平文M’をM’=VHWのように求め、前記所定の方法7では、レスポンスResをRes=eKtmp,U^K3のように求めることを特徴とする暗号化システム。請求項2記載の暗号化システムであって、はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とし、前記所定の方法1では、受信用秘密鍵K1をK1=K3’K0のように求め、前記所定の方法2’では、代理計算用秘密鍵K3をK3=K2K3’-1のように求め、前記所定の方法3では、暗号文VをV=MHgIDrのように求め、前記所定の方法4では、前記リクエスト作成部が、乱数rtmpを0以上p-1以下の整数から選択し、隠蔽鍵KtmpをKtmp=rtmpK1を求め、リクエストReqを隠蔽鍵Ktmpを含む情報とし、前記所定の方法5では、値WをW=Res^rtmp-1K2のように求め、前記所定の方法6では、平文M’をM’=VHWのように求め、前記所定の方法7では、レスポンスResをRes=eKtmp,U^K3のように求めることを特徴とする暗号化システム。請求項1から4のいずれかに記載の暗号化システムであって、∥はビット列の結合を示す記号、H’はビット列に対するハッシュ値を求めるハッシュ関数を示す記号であり、前記復号履歴蓄積サーバは、認証鍵Aと0以上p-1以下の整数である乱数aを生成し、HgIDaを用いて所定の方法3’で認証鍵Aを暗号化して暗号化認証鍵V’を求め、U’=aPのようにセッション情報U’を計算し、前記暗号化認証鍵V’のみ若しくは前記暗号化認証鍵V’と前記セッション情報U’を前記受信装置に送信する認証鍵生成部と、チャレンジBを生成し、前記受信装置に送信するチャレンジ生成部も備え、前記受信装置は、さらに受信用秘密鍵K1を用いて所定の方法4’でリクエストReq’を作成する第2リクエスト作成部と、前記復号履歴蓄積サーバから受信したレスポンスRes’を用いて前記所定の方法2と前記所定の方法4’に対応した方法である所定の方法5’にしたがってgIDaの値Wを求め、HWを用いて前記所定の方法3’に対応した方法である所定の方法6’にしたがって暗号化認証鍵V’を復号して認証鍵A’に復号する第2復号部と、D’=H’A’∥Bのようにハッシュ値D’を求め、前記復号履歴蓄積サーバに送信するハッシュ値計算部とを備え、前記復号履歴蓄積サーバは、さらに前記所定の方法1と前記所定の方法2と前記所定の方法4’に対応した方法である所定の方法7’にしたがって前記セッション情報U’と前記代理計算用秘密鍵K3を用いた計算を行ってレスポンスRes’を求める第2レスポンス作成部と、D=H’A∥Bのようにハッシュ値Dを求め、D=D’であることを確認する認証部を備えることを特徴とする暗号化システム。送信装置、受信装置、復号履歴蓄積サーバを用いた復号方法であって、pは素数、G1は位数pの巡回加算群、G2は位数pの巡回群、eはG1×G1→G2のように写像する双線形ペアリング関数、Hは群G2の元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群G1の生成元、sは0以上p-1以下の整数、PPub=sP、P,PPubは公開パラメータ、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1ID、K0はK0=sQIDのように求められた秘密鍵、K3’は0以上p-1以下の整数から選択された分割用乱数、K1は秘密鍵K0と分割用乱数K3’を用いて所定の方法1で求められた受信用秘密鍵、K3は分割用乱数K3’を用いて所定の方法2で求められた代理計算用秘密鍵、rは0以上p-1以下の整数から選択された乱数、UはU=rPのように求められたセッション情報、gIDはgID=eQID,PPubのように求められた値、VはHgIDrを用いて所定の方法3で平文Mを暗号化した暗号文、vは暗号文Vを識別する暗号文識別情報、hは暗号文Vを識別する暗号文識別情報を生成する関数を示す記号であり、前記受信装置は、復号記録部に受信用秘密鍵K1を記録しておき、前記復号履歴蓄積サーバは、代理記録部に受信装置識別情報RIDに対応付けて代理計算用秘密鍵K3を記録しておき、前記送信装置が、少なくとも前記受信装置に暗号文Vを送信し、前記復号履歴蓄積サーバにセッション情報Uと暗号文識別情報vとを送信する暗号文送信ステップと、前記復号履歴蓄積サーバが、セッション情報蓄積部に前記送信装置から受信したセッション情報Uと暗号文識別情報vとを対応付けて記録するセッション情報蓄積ステップと、前記受信装置が、受信用秘密鍵K1を用いて所定の方法4でリクエストReqを作成するリクエスト作成ステップと、前記受信装置が、前記リクエストReq、v=hVを満たす暗号文識別情報v、当該受信装置を特定する受信装置識別情報RIDとを前記復号履歴蓄積サーバに送信するリクエスト送信ステップと、前記復号履歴蓄積サーバが、前記受信装置から受信した暗号文識別情報vと一致する前記セッション情報蓄積部に記録された暗号文識別情報vに対応付けられたセッション情報Uを取得し、前記受信装置から受信した受信装置識別情報RIDと一致する前記代理記録部に記録された受信装置識別情報RIDに対応付けられた代理計算用秘密鍵K3を取得し、前記所定の方法1と前記所定の方法2と前記所定の方法4に対応した方法である所定の方法7にしたがって前記セッション情報Uと前記代理計算用秘密鍵K3を用いた計算を行ってレスポンスResを求めるレスポンス作成ステップと、前記復号履歴蓄積サーバが、前記レスポンスResを前記受信装置に送信するレスポンス送信ステップと、前記復号履歴蓄積サーバが、履歴蓄積部に暗号文識別情報vと、受信装置識別情報RIDと、時刻とを対応付けて記録する履歴蓄積ステップと、前記受信装置が、前記復号履歴蓄積サーバから受信したレスポンスResを用いて前記所定の方法2と前記所定の方法4に対応した方法である所定の方法5にしたがってgIDrの値Wを求め、HWを用いて前記所定の方法3に対応した方法である所定の方法6にしたがって暗号文Vを復号して平文M’に復号する復号ステップと、を有する復号方法。pは素数、G1は位数pの巡回加算群、Pは群G1の生成元、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1ID、K0はK0=sQIDのように求められた秘密鍵、K3’は0以上p-1以下の整数から選択された分割用乱数、K1は秘密鍵K0と分割用乱数K3’を用いて所定の方法1で求められた受信用秘密鍵、K3は分割用乱数K3’を用いて所定の方法2で求められた代理計算用秘密鍵、rは0以上p-1以下の整数から選択された乱数、UはU=rPのように求められたセッション情報、vは暗号文Vを識別する暗号文識別情報、Reqは受信用秘密鍵K1を用いて所定の方法4で作成されたリクエストであり、受信装置識別情報RIDに対応付けて代理計算用秘密鍵K3を記録する代理記録部と、送信装置から受信したセッション情報Uと暗号文識別情報vとを対応付けて記録するセッション情報蓄積部と、受信装置からリクエストReqと暗号文識別情報vと受信装置識別情報RIDを受信し、前記受信装置から受信した暗号文識別情報vと一致する前記セッション情報蓄積部に記録された暗号文識別情報vに対応付けられたセッション情報Uを取得し、前記受信装置の受信装置識別情報RIDと一致する前記代理記録部に記録された受信装置識別情報RIDに対応付けられた代理計算用秘密鍵K3を取得し、前記所定の方法1と前記所定の方法2と前記所定の方法4に対応した方法である所定の方法7にしたがって前記セッション情報Uと前記代理計算用秘密鍵K3を用いた計算を行ってレスポンスResを求めるレスポンス作成部と、前記レスポンスResを前記受信装置に送信するレスポンス送信部と、レスポンスResを前記受信装置に送信したときは、暗号文識別情報vと、受信装置識別情報RIDと、時刻とを対応付けて記録する履歴蓄積部と、を備える復号履歴蓄積サーバ。pは素数、G1は位数pの巡回加算群、G2は位数pの巡回群、eはG1×G1→G2のように写像する双線形ペアリング関数、Hは群G2の元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群G1の生成元、sは0以上p-1以下の整数、PPub=sP、P,PPubは公開パラメータ、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1ID、K0はK0=sQIDのように求められた秘密鍵、K3’は0以上p-1以下の整数から選択された分割用乱数、K1は秘密鍵K0と分割用乱数K3’を用いて所定の方法1で求められた受信用秘密鍵、K3は分割用乱数K3’を用いて所定の方法2で求められた代理計算用秘密鍵、rは0以上p-1以下の整数から選択された乱数、UはU=rPのように求められたセッション情報、gIDはgID=eQID,PPubのように求められた値、VはHgIDrを用いて所定の方法3で平文Mを暗号化した暗号文、vは暗号文Vを識別する暗号文識別情報であり、受信用秘密鍵K1を記録する復号記録部と、受信用秘密鍵K1を用いて所定の方法4でリクエストReqを作成するリクエスト作成部と、前記リクエストReq、暗号文識別情報v、受信装置識別情報RIDを復号履歴蓄積サーバに送信するリクエスト送信部と、前記所定の方法1と前記所定の方法2と前記所定の方法4に対応した方法である所定の方法7にしたがって前記セッション情報Uと前記代理計算用秘密鍵K3を用いた計算を行って求められたレスポンスResを前記復号履歴蓄積サーバから受信し、レスポンスResを用いて前記所定の方法2と前記所定の方法4に対応した方法である所定の方法5にしたがってgIDrの値Wを求め、HWを用いて前記所定の方法3に対応した方法である所定の方法6にしたがって暗号文Vを復号して平文M’に復号する復号部と、を備える受信装置。請求項1から5のいずれかに記載の暗号化システムに含まれる送信装置であって、平文Mを前記所定の方法3で暗号化して暗号文Vを求める暗号化部と、受信装置に少なくとも暗号文Vを送信し、復号履歴蓄積サーバにセッション情報Uと暗号文識別情報vとを送信する暗号文送信部とを備える送信装置。請求項7記載の復号履歴蓄積サーバ、請求項8記載の受信装置、請求項9記載の送信装置のいずれかとしてコンピュータを機能させるためのプログラム。しかしながら、非特許文献1の公開サーバは、復号者から受信するEvidenceから復号者が復号しようとしている復号対象を特定できないので、復号対象を特定するための情報をログ証跡として記録できないという課題がある。本発明は、復号履歴として、復号対象である暗号文を識別する情報と復号した受信装置を特定する情報と時刻とを対応付けて記録できる暗号化システムを構築することを目的とする。本発明の暗号化システムは、少なくとも送信装置、受信装置、復号履歴蓄積サーバを有する。まず、pは素数、G1は位数pの巡回加算群、G2は位数pの巡回群、eはG1×G1→G2のように写像する双線形ペアリング関数、Hは群G2の元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群G1の生成元、sは0以上p-1以下の整数、PPub=sP、P,PPubは公開パラメータ、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1ID、K0はK0=sQIDのように求められた秘密鍵、K3’は0以上p-1以下の整数から選択された分割用乱数、K1は秘密鍵K0と分割用乱数K3’を用いて所定の方法1で求められた受信用秘密鍵、K3は分割用乱数K3’を用いて所定の方法2で求められた代理計算用秘密鍵、rは0以上p-1以下の整数から選択された乱数、UはU=rPのように求められたセッション情報、gIDはgID=eQID,PPubのように求められた値、VはHgIDrを用いて所定の方法3で平文Mを暗号化した暗号文、vは暗号文Vを識別する暗号文識別情報、hは暗号文Vを識別する暗号文識別情報を生成する関数を示す記号とする。送信装置は、暗号化部、暗号文送信部を備える。受信装置は、復号記録部、リクエスト作成部、リクエスト送信部、復号部を備える。復号履歴蓄積サーバは、代理記録部、セッション情報蓄積部、レスポンス作成部、レスポンス送信部、履歴蓄積部を備える。受信装置は、復号記録部に少なくとも受信装置識別情報RIDに対応付けて受信用秘密鍵K1を記録しておく。復号履歴蓄積サーバは、代理記録部に受信装置識別情報RIDに対応付けて代理計算用秘密鍵K3を記録しておく。送信装置の暗号文送信部は、受信装置に暗号文Vと暗号文識別情報vとを送信し、復号履歴蓄積サーバにセッション情報Uと暗号文識別情報vとを送信する。なお、受信装置が暗号文識別情報生成部も備えておき、送信装置の暗号文送信部が受信装置に暗号文Vを送信し、受信装置の暗号文識別情報生成部が受信した暗号文Vから暗号文識別情報vをv=hVのように生成してもよい。復号履歴蓄積サーバが、セッション情報蓄積部に送信装置から受信したセッション情報Uと暗号文識別情報vとを対応付けて記録する。受信装置のリクエスト作成部が、受信用秘密鍵K1を用いて所定の方法4でリクエストReqを作成する。受信装置のリクエスト送信部が、リクエストReq、暗号文識別情報v、受信装置を特定する受信装置識別情報RIDとを復号履歴蓄積サーバに送信する。復号履歴蓄積サーバのレスポンス作成部が、受信装置から受信した暗号文識別情報vと一致するセッション情報蓄積部に記録された暗号文識別情報vに対応付けられたセッション情報Uを取得する。また、受信装置から受信した受信装置識別情報RIDと一致する代理記録部に記録された受信装置識別情報RIDに対応付けられた代理計算用秘密鍵K3を取得する。そして、所定の方法1と所定の方法2と所定の方法4に対応した方法である所定の方法7にしたがってセッション情報Uと代理計算用秘密鍵K3を用いた計算を行ってレスポンスResを求める。復号履歴蓄積サーバのレスポンス送信部が、レスポンスResを受信装置に送信する。復号履歴蓄積サーバが、履歴蓄積部に暗号文識別情報vと、受信装置識別情報RIDと、所定の方法8にしたがって取得した時刻tとを対応付けて記録する。受信装置の復号部が、復号履歴蓄積サーバから受信したレスポンスResを用いて所定の方法2と所定の方法4に対応した方法である所定の方法5にしたがってgIDrの値Wを求め、HWを用いて所定の方法3に対応した方法である所定の方法6にしたがって暗号文Vを復号して平文M’に復号する。本発明の暗号化システムによれば、受信装置は暗号文Vを識別する暗号文識別情報vを復号履歴蓄積サーバに送信し、復号履歴蓄積サーバと連携しなければ暗号文Vを復号できない。したがって、復号履歴蓄積サーバは、復号対象の暗号文Vと復号した受信装置とを特定した上で復号に協力した時刻を記録できる。以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。図1に実施例1の暗号化システムの構成例を示す。図2に実施例1の暗号化システムの秘密鍵を配布する処理フローを、図3に暗号文の生成から復号までの処理フローを示す。実施例1の暗号化システムは、送信装置100、受信装置200、復号履歴蓄積サーバ300、鍵生成装置400で構成される。以下の説明では、kは大きな整数、pはkビットの素数、G1は位数pの巡回加算群、G2は位数pの巡回群、eはG1×G1→G2のように写像する双線形ペアリング関数、Hは群G2の元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群G1の生成元、sは鍵生成装置400が生成した0以上p-1以下の整数、PPub=sP、P,PPubは公開パラメータ、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1ID、はビット単位の排他的論理和を示す記号、^はべき乗を示す記号、vは暗号文Vを識別する暗号文識別情報、hは暗号文Vを識別する暗号文識別情報を生成する関数を示す記号とする。なお、XとYを群G1の元とし、aとbを整数とすると、eaX,bY=eX,Yab1の関係が成り立つ。双線形ペアリング関数としては、例えばWeilペアリングを用いればよい。また、IDとして受信装置200の属性を示すビット列を用いてもよい。送信装置100は、暗号化部110、暗号文送信部120、暗号化記録部190を備える。受信装置200は、属性送信部210、リクエスト作成部220、リクエスト送信部225、復号部230、復号記録部290を備える。復号履歴蓄積サーバ300は、レスポンス作成部310、レスポンス送信部315、セッション情報蓄積部370、履歴蓄積部380、代理記録部390を備える。鍵生成装置400は、鍵生成部410、鍵分割部420、鍵配布部430、鍵生成記録部490を備える。以下に、処理フローを説明しながら、これらの構成部の機能を説明する。秘密鍵を配布する処理フロー受信装置200の属性送信部210は、ビット列IDを鍵生成装置400に送信するS211。なお、ビット列IDは、A社の社員、20歳以上などの単独の属性情報を示すビット列でもよいし、A社の社員かつ男性、20歳以上または女性のような属性情報の論理式を示すビット列でもよい。鍵生成装置400の鍵生成部410は、秘密鍵K0をK0=sQIDのように求め、鍵生成記録部490に記録するS410。鍵分割部420は、分割用乱数K3’を0以上p-1以下の整数から選択しS421、秘密鍵K0と分割用乱数K3’を用いて所定の方法1にしたがって受信用秘密鍵K1を求め、鍵生成記録部490に記録するS422。なお、分割用乱数K3’は、0以上p-1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。鍵配布部430は、分割用乱数K3’を用いて所定の方法2で代理計算用秘密鍵K3を求め、鍵生成記録部490に記録するS434。そして、鍵配布部430は、受信用秘密鍵K1を受信装置200に送信し、受信用秘密鍵K1を送信した受信装置200を識別する受信装置識別情報RIDと代理計算用秘密鍵K3を復号履歴蓄積サーバ300に送信するS435。受信装置200の復号記録部290は、受信用秘密鍵K1を記録するS291。復号履歴蓄積サーバ300の代理記録部390は、受信装置識別情報RIDに対応付けて代理計算用秘密鍵K3を記録するS391。暗号文の生成から復号までの処理フロー属性送信部210は、ビット列IDを送信装置100に送信するS212。送信装置100の暗号化部110は、乱数rを0以上p-1以下の整数から選択し、セション情報UをU=rPのように計算する。なお、乱数rは、0以上p-1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。また、暗号化部110は、gID=eQID,PPubを計算し、HgIDrを用いて所定の方法3で平文Mを暗号化して暗号文Vを求める。暗号化部110は、さらに暗号文識別情報vをv=hVのように生成する。関数hは例えばハッシュ関数とすればよいが、ハッシュ関数に限定する必要はなく、暗号文を一意に識別可能な情報を生成することができる関数であればよい。そして、暗号文送信部120が、受信装置200に暗号文Vと暗号文識別情報vとを送信し、復号履歴蓄積サーバ300にセッション情報Uと暗号文識別情報vとを送信するS120。復号履歴蓄積サーバ300は、セッション情報蓄積部370に送信装置100から受信したセッション情報Uと暗号文識別情報vとを対応付けて記録するS370。受信装置200のリクエスト作成部220が、受信用秘密鍵K1を用いて所定の方法4でリクエストReqを作成する。なお、リクエスト作成部220は、乱数rtmpを0以上p-1以下の整数から選択しS221、所定の方法4で乱数rtmpも用いてもよい。このようにすることで、受信用秘密鍵K1に関する情報を隠蔽できる。なお、乱数rtmpは、0以上p-1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。そして、リクエスト送信部225が、リクエストReq、暗号文識別情報v、受信装置を特定する受信装置識別情報RIDとを復号履歴蓄積サーバに送信するS222。復号履歴蓄積サーバ300のレスポンス作成部310は、受信装置200から受信した暗号文識別情報vと一致するセッション情報蓄積部370に記録された暗号文識別情報vに対応付けられたセッション情報Uを取得する。また、レスポンス作成部310は、受信装置200から受信した受信装置識別情報RIDと一致する代理記録部390に記録された受信装置識別情報RIDに対応付けられた代理計算用秘密鍵K3を取得する。そして、レスポンス作成部310は、所定の方法1と所定の方法2と所定の方法4に対応した方法である所定の方法7にしたがってセッション情報Uと代理計算用秘密鍵K3を用いた計算を行ってレスポンスResを求める。レスポンス送信部315は、レスポンスResを受信装置200に送信するS310。復号履歴蓄積サーバ300は、履歴蓄積部380に暗号文識別情報vと、受信装置識別情報RIDと、所定の方法8にしたがって取得した時刻tとを対応付けて記録するS380。所定の方法8とは、例えばリクエストReqを受信した時にタイムサーバから時刻tを取得してもよいし、レスポンスResを送信したときに復号履歴蓄積サーバ自身のタイマから時刻tを取得してもよい。また、時刻tを取得するタイミングは、レスポンス作成部310の処理が終了したときとしてもよい。なお、時刻tは、タイムサーバから取得してもよいし、復号履歴蓄積サーバ300自身のタイマから取得してもよい。そして、時刻tの取得のタイミングと取得先は、任意に組み合わせればよく、所定の方法8を決めるときに定めればよい。受信装置200の復号部230は、復号履歴蓄積サーバから受信したレスポンスResを用いて所定の方法2と所定の方法4に対応した方法である所定の方法5にしたがってgIDrの値Wを求める。そして、HWを用いて所定の方法3に対応した方法である所定の方法6にしたがって暗号文Vを復号して平文M’に復号するS230。上述のように、実施例1の暗号化システムでは、以下のような特徴がある。1送信装置100が受信装置200には暗号文Vを送信し、復号履歴蓄積サーバ300にセッション情報Uと暗号文識別情報vを送信する。つまり、復号に必要なセッション情報Uは受信装置200には送信されない。2復号履歴蓄積サーバ300のセッション情報蓄積部370がセッション情報Uと暗号文識別情報vとを対応付けて記録する。3受信装置200が暗号文識別情報vと受信装置識別情報RIDを復号履歴蓄積サーバ300に送信することで、復号履歴蓄積サーバ300が暗号文Vの復号に必要なセッション情報Uと代理計算用秘密鍵K3を取得する。したがって、復号履歴蓄積サーバ300は、どの受信装置200がどの暗号文Vを復号しようとしているのか把握できる。4復号履歴蓄積サーバ300が、履歴蓄積部380に暗号文識別情報vと受信装置識別情報RIDと時刻tとを対応付けて記録する。したがって、復号履歴蓄積サーバは、復号が実行されるごとに、暗号文Vと復号した受信装置とを特定した上で復号に協力した時刻を記録できる。次に、上述の所定の方法1~7について説明する。所定の方法1~7は秘密鍵K0から複数の復号鍵受信用秘密鍵K1,代理計算用秘密鍵K3を生成する方式と鍵を伴う一部の演算機能のリソースを外部装置復号履歴蓄積サーバに安全に代行させる方式を組み合わせて構成するために互いに対応していればよい。例えば、以下に示すような組み合わせがあり得る。ただし、秘密鍵K0から複数の復号鍵受信用秘密鍵K1,代理計算用秘密鍵K3を生成する方式と鍵を伴う一部の演算機能のリソースを外部装置復号履歴蓄積サーバに安全に代行させる方式とが機能する範囲ならば、これらの組み合わせに限定する必要はない。所定の方法の組み合わせ1-1所定の方法1では、受信用秘密鍵K1をK1=K3’K0のように求める。所定の方法2では、代理計算用秘密鍵K3をK3=K3’-1のように求める。所定の方法3では、暗号文VをV=MHgIDrのように求める。所定の方法4では、リクエストReqを受信用秘密鍵K1を含む情報とする。所定の方法5では、値WをW=Resのように求める。所定の方法6では、平文M’をM’=VHWのように求める。所定の方法7では、レスポンスResをRes=eK1,U^K3のように求める。ただし、ペアリングeでは式1が成り立つので、Res=eK3K1,UまたはRes=eK1,K3UのようにレスポンスResを求めてもよい。なお、上述の所定の方法の組み合わせの一部を以下の例のように変更してもよい。第1の例では、所定の方法2をK3=K3’とし、所定の方法7をRes=eK1,U^K3-1としてもよい。ただし、ペアリングeでは式1が成り立つので、Res=eK3-1K1,UまたはRes=eK1,K3-1UのようにレスポンスResを求めてもよい。第2の例では、所定の方法1をK1=K3’-1K0とし、所定の方法2をK3=K3’とし、所定の方法7をRes=eK1,U^K3としてもよい。ただし、ペアリングeでは式1が成り立つので、Res=eK3K1,UまたはRes=eK1,K3UのようにレスポンスResを求めてもよい。第3の例では、所定の方法3を、HgIDrを共通鍵として平文Mを暗号化し、暗号文Vを求めてもよい。この場合は、所定の方法6は、HWを共通鍵として暗号文Vを平文M’に復号するとすればよい。所定の方法の組み合わせ1-2所定の方法1では、受信用秘密鍵K1をK1=K3’K0のように求める。所定の方法2では、代理計算用秘密鍵K3をK3=K3’-1のように求める。所定の方法3では、暗号文VをV=MHgIDrのように求める。所定の方法4では、リクエスト作成部220が、乱数rtmpを0以上p-1以下の整数から選択しS221、隠蔽鍵KtmpをKtmp=rtmpK1を求め、リクエストReqを隠蔽鍵Ktmpを含む情報とする。所定の方法5では、値WをW=Res^rtmp-1のように求める。所定の方法6では、平文M’をM’=VHWのように求める。所定の方法7では、レスポンスResをRes=eKtmp,U^K3のように求める。ただし、ペアリングeでは式1が成り立つので、Res=eK3Ktmp,UまたはRes=eKtmp,K3UのようにレスポンスResを求めてもよい。なお、上述の所定の方法の組み合わせの一部を以下の例のように変更してもよい。第1の例では、所定の方法2をK3=K3’とし、所定の方法7をRes=eKtmp,U^K3-1としてもよい。ただし、ペアリングeでは式1が成り立つので、Res=eK3-1Ktmp,UまたはRes=eKtmp,K3-1UのようにレスポンスResを求めてもよい。第2の例では、所定の方法1をK1=K3’-1K0とし、所定の方法2をK3=K3’とし、所定の方法7をRes=eKtmp,U^K3としてもよい。ただし、ペアリングeでは式1が成り立つので、Res=eK3Ktmp,UまたはRes=eKtmp,K3UのようにレスポンスResを求めてもよい。第3の例では、所定の方法3を、HgIDrを共通鍵として平文Mを暗号化し、暗号文Vを求めてもよい。この場合は、所定の方法6は、HWを共通鍵として暗号文Vを平文M’に復号するとすればよい。[変形例1]図1に実施例1変形例1の暗号化システムの構成例を示す。図2に実施例1変形例1の暗号化システムの秘密鍵を配布する処理フローを、図4に暗号文の生成から復号までの処理フローを示す。実施例1との違いは、受信装置200自体が暗号文識別情報vを生成する点暗号文識別情報vを受信しない点である。秘密鍵を配布する処理フローは実施例1と同じである。この変形例では、受信装置200が暗号文識別情報生成部240も備えている。そして、送信装置100の暗号文送信部121が、受信装置200に暗号文Vを送信し、復号履歴蓄積サーバ300にセッション情報Uと暗号文識別情報vとを送信するS121。そして、受信装置200の暗号文識別情報生成部240が、v=hVのように暗号文識別情報vを生成するS240。その他の構成部と処理は実施例1と同じであり、隠蔽用乱数rtmpを生成するか否かや所定の方法1~8のバリエーションなども実施例1と同じである。したがって、実施例1と同様の効果が得られる。[変形例2]図1に実施例1変形例2の暗号化システムの構成例を示す。図5に実施例1変形例2の暗号化システムの秘密鍵を配布する処理フローを、図3に暗号文の生成から復号までの処理フローを示す。実施例1との違いは、鍵生成装置400が、保護用秘密鍵K2も生成する点である。そのため、鍵配布部430と復号部230の処理、および復号記録部290に記録される情報が実施例1と異なる。秘密鍵を配布する処理フローステップS211~S422までは実施例1と同じである。ステップS422が終了すると、鍵配布部430は、分割用乱数K3’を用いて所定の方法2で代理計算用秘密鍵K3を求める。本変形例の所定の方法2では、保護用秘密鍵K2を0以上p-1以下の整数から選択するS431。分割用乱数K3’と保護用秘密鍵K2を用いて所定の方法2’にしたがって代理計算用秘密鍵K3を求めるS432。なお、保護用秘密鍵K2は、鍵配布部430が単純に乱数として求める方法以外に、次のように求めてもよい。鍵配布部430が受信装置200から保護用秘密鍵K2を求めるための情報Passを受信する。そして、鍵配布部430が情報Passを用いて保護用秘密鍵K2を求めてもよい。例えば、情報Passとハッシュ関数を用いて保護用秘密鍵K2を求めてもよいし、情報Pass自体を保護用秘密鍵K2としてもよい。また、情報Passとして、例えば受信装置200の利用者受信者が設定したパスワードを用いてもよい。また、保護用秘密鍵K2は、0以上p-1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。鍵配布部430は、受信用秘密鍵K1と保護用秘密鍵K2を受信装置200に送信し、受信用秘密鍵K1と保護用秘密鍵K2を送信した受信装置200を識別する受信装置識別情報RIDと代理計算用秘密鍵K3を復号履歴蓄積サーバ300に送信するS433。受信装置200の復号記録部290は、受信用秘密鍵K1と保護用秘密鍵K2を記録するS292。なお、復号記録部290は、物理的に別の2つ以上の記録装置で構成してもよい。例えば、復号記録部290をICカードとパソコンのハードディスクで構成してもよい。そして、受信用秘密鍵K1をICカードに記録し、保護用秘密鍵K2をパソコンのハードディスクに記録するようにしてもよい。このように物理的に別々に受信用秘密鍵K1と保護用秘密鍵K2を記録すれば、両方を同時に漏洩紛失するリスクを低減できる。復号履歴蓄積サーバ300の代理記録部390は、受信装置識別情報RIDに対応付けて代理計算用秘密鍵K3を記録するS391。暗号文の生成から復号までの処理フローステップS230以外は実施例1と同じである。ステップS230では、受信装置200の復号部230は、復号履歴蓄積サーバ300から受信したレスポンスResを用いて所定の方法2と所定の方法4に対応した方法である所定の方法5にしたがって、保護用秘密鍵K2を用いてgIDrの値Wを求める。そして、HWを用いて所定の方法3に対応した方法である所定の方法6にしたがって暗号文Vを復号して平文M’に復号するS230。本変形例はこのような構成なので、実施例1と同様の効果が得られる。次に、上述の所定の方法1~7について説明する。所定の方法1~7は秘密鍵K0から複数の復号鍵受信用秘密鍵K1,保護用秘密鍵K2,代理計算用秘密鍵K3を生成する方式と鍵を伴う一部の演算機能のリソースを外部装置復号履歴蓄積サーバに安全に代行させる方式を組み合わせて構成するために互いに対応していればよい。例えば、以下に示すような組み合わせがあり得る。ただし、秘密鍵K0から複数の復号鍵受信用秘密鍵K1,保護用秘密鍵K2,代理計算用秘密鍵K3を生成する方式と鍵を伴う一部の演算機能のリソースを外部装置復号履歴蓄積サーバに安全に代行させる方式とが機能する範囲ならば、これらの組み合わせに限定する必要はない。所定の方法の組み合わせ1-3所定の方法1では、受信用秘密鍵K1をK1=K3’K0のように求める。所定の方法2’では、代理計算用秘密鍵K3をK3=K2K3’-1のように求める。所定の方法3では、暗号文VをV=MHgIDrのように求める。所定の方法4では、リクエストReqを受信用秘密鍵K1を含む情報とする。所定の方法5では、値WをW=Res^K2のように求める。所定の方法6では、平文M’をM’=VHWのように求める。所定の方法7では、レスポンスResをRes=eK1,U^K3のように求める。ただし、ペアリングeでは式1が成り立つので、Res=eK3K1,UまたはRes=eK1,K3UのようにレスポンスResを求めてもよい。なお、上述の所定の方法の組み合わせの一部を以下の例のように変更してもよい。第1の例では、所定の方法2’をK3=K2-1K3’とし、所定の方法7をRes=eK1,U^K3-1としてもよい。ただし、ペアリングeでは式1が成り立つので、Res=eK3-1K1,UまたはRes=eK1,K3-1UのようにレスポンスResを求めてもよい。第2の例では、所定の方法1をK1=K3’-1K0とし、所定の方法2’をK3=K2-1K3’とし、所定の方法7をRes=eK1,U^K3としてもよい。ただし、ペアリングeでは式1が成り立つので、Res=eK3K1,UまたはRes=eK1,K3UのようにレスポンスResを求めてもよい。第3の例では、所定の方法3を、HgIDrを共通鍵として平文Mを暗号化し、暗号文Vを求めてもよい。この場合は、所定の方法6は、HWを共通鍵として暗号文Vを平文M’に復号するとすればよい。所定の方法の組み合わせ1-4所定の方法1では、受信用秘密鍵K1をK1=K3’K0のように求める。所定の方法2’では、代理計算用秘密鍵K3をK3=K2K3’-1のように求める。所定の方法3では、暗号文VをV=MHgIDrのように求める。所定の方法4では、リクエスト作成部220が、乱数rtmpを0以上p-1以下の整数から選択しS221、隠蔽鍵KtmpをKtmp=rtmpK1を求め、リクエストReqを隠蔽鍵Ktmpを含む情報とする。所定の方法5では、値WをW=Res^rtmp-1K2のように求める。所定の方法6では、平文M’をM’=VHWのように求める。所定の方法7では、レスポンスResをRes=eKtmp,U^K3のように求める。ただし、ペアリングeでは式1が成り立つので、Res=eK3Ktmp,UまたはRes=eKtmp,K3UのようにレスポンスResを求めてもよい。なお、上述の所定の方法の組み合わせの一部を以下の例のように変更してもよい。第1の例では、所定の方法2’をK3=K2-1K3’とし、所定の方法7をRes=eKtmp,U^K3-1としてもよい。ただし、ペアリングeでは式1が成り立つので、Res=eK3-1Ktmp,UまたはRes=eKtmp,K3-1UのようにレスポンスResを求めてもよい。第2の例では、所定の方法1をK1=K3’-1K0とし、所定の方法2’をK3=K2-1K3’とし、所定の方法7をRes=eKtmp,U^K3としてもよい。ただし、ペアリングeでは式1が成り立つので、Res=eK3Ktmp,UまたはRes=eKtmp,K3UのようにレスポンスResを求めてもよい。第3の例では、所定の方法3を、HgIDrを共通鍵として平文Mを暗号化し、暗号文Vを求めてもよい。この場合は、所定の方法6は、HWを共通鍵として暗号文Vを平文M’に復号するとすればよい。[変形例3]図1に実施例1変形例3の暗号化システムの構成例を示す。図5に実施例1変形例3の暗号化システムの秘密鍵を配布する処理フローを、図4に暗号文の生成から復号までの処理フローを示す。実施例1変形例2との違いは、受信装置200自体が暗号文識別情報vを生成する点暗号文識別情報vを受信しない点である。秘密鍵を配布する処理フローは実施例1変形例2と同じである。この変形例では、受信装置200が暗号文識別情報生成部240も備えている。そして、送信装置100の暗号文送信部121が、受信装置200に暗号文Vを送信し、復号履歴蓄積サーバ300にセッション情報Uと暗号文識別情報vとを送信するS121。そして、受信装置200の暗号文識別情報生成部240が、v=hVのように暗号文識別情報vを生成するS240。その他の構成部と処理は実施例1変形例2と同じであり、隠蔽用乱数rtmpを生成するか否かや所定の方法1~8のバリエーションなども実施例1変形例2と同じである。したがって、実施例1と同様の効果が得られる。実施例1では、復号履歴蓄積サーバはレスポンスResを送信したときには履歴蓄積部に復号履歴を記録していた。しかし、受信装置が正しい受信用秘密鍵K1を保有していなかった場合つまり、実際には暗号文Vを復号できなかった場合であっても復号履歴が記録されることになる。そこで、実施例2では、復号履歴蓄積サーバがリクエストReqを送信してきた受信装置が正しい受信用秘密鍵K1を保有しているのかを確認する機能も備えた例を示す。図6に実施例2の暗号化システムの構成例を示す。図2に実施例2の暗号化システムの秘密鍵を配布する処理フローを、図7に暗号文の生成から復号までの処理フローを示す。実施例2の暗号化システムは、送信装置100、受信装置500、復号履歴蓄積サーバ600、鍵生成装置400で構成される。以下の説明では、kは大きな整数、pはkビットの素数、G1は位数pの巡回加算群、G2は位数pの巡回群、eはG1×G1→G2のように写像する双線形ペアリング関数、Hは群G2の元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群G1の生成元、sは鍵生成装置400が生成した0以上p-1以下の整数、PPub=sP、P,PPubは公開パラメータ、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1ID、はビット単位の排他的論理和を示す記号、^はべき乗を示す記号、vは暗号文Vを識別する暗号文識別情報、hは暗号文Vを識別する暗号文識別情報を生成する関数を示す記号、∥はビット列の結合を示す記号とする。送信装置100は、暗号化部110、暗号文送信部120、暗号化記録部190を備える。受信装置500は、属性送信部210、リクエスト作成部220、リクエスト送信部225、復号部230、第2リクエスト作成部520、第2復号部530、ハッシュ値計算部550、復号記録部290を備える。復号履歴蓄積サーバ600は、レスポンス作成部310、レスポンス送信部315、認証鍵生成部610、チャレンジ生成部620、第2レスポンス作成部630、認証部640、セッション情報蓄積部370、履歴蓄積部380、代理記録部390を備える。鍵生成装置400は、鍵生成部410、鍵分割部420、鍵配布部430、鍵生成記録部490を備える。以下に、処理フローを説明しながら、これらの構成部の機能を説明する。秘密鍵を配布する処理フローは実施例1と同じなので説明を省略する。暗号文の生成から復号までの処理フローステップS212からS222までの処理は実施例1と同じである。ステップS222のあと、復号履歴蓄積サーバ600の認証鍵生成部610は、認証鍵Aと0以上p-1以下の整数である乱数aを生成する。また、認証鍵生成部610は、HgIDaを用いて所定の方法3’で認証鍵Aを暗号化して暗号化認証鍵V’を求める。認証鍵生成部610はさらに、U’=aPのようにセッション情報U’を計算し、暗号化認証鍵V’のみ若しくは暗号化認証鍵V’とセッション情報U’を受信装置500に送信するS610。第2リクエスト作成部520は、受信用秘密鍵K1を用いて所定の方法4’でリクエストReq’を作成し、復号履歴蓄積サーバ600に送信するS520。復号履歴蓄積サーバ600の第2レスポンス作成部630は、所定の方法1と所定の方法2と所定の方法4’に対応した方法である所定の方法7’にしたがってセッション情報U’と代理計算用秘密鍵K3を用いた計算を行ってレスポンスRes’を求め、受信装置500に送信するS630。受信装置500の第2復号部530は、復号履歴蓄積サーバ600から受信したレスポンスRes’を用いて所定の方法2と所定の方法4’に対応した方法である所定の方法5’にしたがってgIDaの値Wを求める。そして、HWを用いて所定の方法3’に対応した方法である所定の方法6’にしたがって暗号化認証鍵V’を復号して認証鍵A’に復号するS530。なお、以下では、暗号化前の認証鍵と復号した認証鍵とを区別する必要があるときは、暗号化前の認証鍵をAと記載し、復号した認証鍵をA’と記載して区別する。復号履歴蓄積サーバ600のチャレンジ生成部620は、チャレンジBを生成し、受信装置500に送信するS620。なお、ステップS620は、ステップS610~S530の前に行ってもよいし、並行して行ってもよい。受信装置500のハッシュ値計算部550は、D’=H’A’∥Bのようにハッシュ値D’を求め、復号履歴蓄積サーバ600に送信する。復号履歴蓄積サーバの認証部640は、D=H’A∥Bのようにハッシュ値Dを求め、D=D’であることを確認し、D≠D’の場合は処理を中止するS640。D=D’の場合はステップS310に進む。ステップS310、S230、S380は実施例1と同じである。実施例2はこのような処理なので、実施例1の効果が得られた上で、さらに受信装置が実際に復号できるときのみ復号履歴を記録できる。例えば、受信装置に成りすました装置から大量のリクエストReqが送信されるなどの攻撃があった場合でも、履歴蓄積部380にはこれらのリクエストReqについての復号履歴は記録されない。なお、実施例2の所定の方法1~7は、実施例1で説明した所定の方法1~7と同じである。そして、実施例2で説明した所定の方法3’、4’、5’、6’、7’も、秘密鍵K0から複数の復号鍵受信用秘密鍵K1,代理計算用秘密鍵K3を生成する方式と鍵を伴う一部の演算機能のリソースを外部装置復号履歴蓄積サーバに安全に代行させる方式を組み合わせて構成するために互いに対応していればよい。例えば以下のようなバリエーションがある。所定の方法の組み合わせ2-1所定の方法1では、受信用秘密鍵K1をK1=K3’K0のように求める。所定の方法2では、代理計算用秘密鍵K3をK3=K3’-1のように求める。このような場合であれば、所定の方法3’では、暗号化認証鍵V’をV’=AHgIDrのように求める。所定の方法4’では、リクエストReq’を受信用秘密鍵K1を含む情報とする。所定の方法5’では、値WをW=Res’のように求める。所定の方法6’では、認証鍵A’をA’=V’HWのように求める。所定の方法7’では、レスポンスRes’をRes’=eK1,U’^K3のように求める。ただし、ペアリングeでは式1が成り立つので、Res’=eK3K1,U’またはRes’=eK1,K3U’のようにレスポンスRes’を求めてもよい。なお、上述の所定の方法の組み合わせの一部を以下の例のように変更してもよい。第1の例では、所定の方法2をK3=K3’とし、所定の方法7’をRes’=eK1,U’^K3-1としてもよい。ただし、ペアリングeでは式1が成り立つので、Res’=eK3-1K1,U’またはRes’=eK1,K3-1U’のようにレスポンスRes’を求めてもよい。第2の例では、所定の方法1をK1=K3’-1K0とし、所定の方法2をK3=K3’とし、所定の方法7’をRes’=eK1,U’^K3としてもよい。ただし、ペアリングeでは式1が成り立つので、Res’=eK3K1,U’またはRes’=eK1,K3U’のようにレスポンスRes’を求めてもよい。第3の例では、所定の方法3’を、HgIDrを共通鍵として認証鍵Aを暗号化し、暗号化認証鍵V’を求めてもよい。この場合は、所定の方法6’は、HWを共通鍵として暗号化認証鍵V’を認証鍵A’に復号するとすればよい。第4の例では、ステップS610でセッション情報U’も受信装置500に送信し、所定の方法4’では、リクエストReq’をReq’=eK1,U’のように求める。そして、所定の方法7’では、レスポンスRes’をRes’=Req’^K3のように求めるとしてもよい。所定の方法の組み合わせ2-2所定の方法1では、受信用秘密鍵K1をK1=K3’K0のように求める。所定の方法2では、代理計算用秘密鍵K3をK3=K3’-1のように求める。所定の方法3’では、暗号化認証鍵V’をV’=AHgIDrのように求める。所定の方法4’では、第2リクエスト作成部520が、乱数rtmpを0以上p-1以下の整数から選択し、隠蔽鍵KtmpをKtmp=rtmpK1を求め、リクエストReq’を隠蔽鍵Ktmpを含む情報とする。所定の方法5’では、値WをW=Res’^rtmp-1のように求める。所定の方法6’では、認証鍵A’をA’=V’HWのように求める。所定の方法7’では、レスポンスRes’をRes’=eKtmp,U’^K3のように求める。ただし、ペアリングeでは式1が成り立つので、Res’=eK3Ktmp,U’またはRes’=eKtmp,K3U’のようにレスポンスResを求めてもよい。なお、上述の所定の方法の組み合わせの一部を以下の例のように変更してもよい。第1の例では、所定の方法2をK3=K3’とし、所定の方法7’をRes’=eKtmp,U’^K3-1としてもよい。ただし、ペアリングeでは式1が成り立つので、Res’=eK3-1Ktmp,U’またはRes’=eKtmp,K3-1U’のようにレスポンスRes’を求めてもよい。第2の例では、所定の方法1をK1=K3’-1K0とし、所定の方法2をK3=K3’とし、所定の方法7’をRes’=eKtmp,U’^K3としてもよい。ただし、ペアリングeでは式1が成り立つので、Res’=eK3Ktmp,U’またはRes’=eKtmp,K3U’のようにレスポンスRes’を求めてもよい。第3の例では、所定の方法3’を、HgIDrを共通鍵として認証鍵Aを暗号化し、暗号化認証鍵V’を求めてもよい。この場合は、所定の方法6’は、HWを共通鍵として暗号化認証鍵V’を認証鍵A’に復号するとすればよい。第4の例では、ステップS610でセッション情報U’も受信装置500に送信し、所定の方法4’では、リクエストReq’をReq’=ertmpK1,U’のように求める。そして、所定の方法7’では、レスポンスRes’をRes’=Req’^K3のように求めるとしてもよい。[変形例1]実施例2は暗号文Vを復号する前に受信装置の認証を行う点が実施例1と異なる。しかし、秘密鍵を配布する処理と、復号対象の暗号文Vの生成と復号自体は実施例1と同じである。したがって、実施例1で説明した変形例1~3は実施例2でも適用できる。実施例2変形例1は、受信装置500自体が暗号文識別情報vを生成する点暗号文識別情報vを受信しない点を変更した暗号化システムである実施例1変形例1に相当する。実施例2変形例1の暗号化システムの構成例は図6である。この場合は、受信装置500は、暗号文識別情報生成部240も備える。そして、秘密鍵を配布する処理フローが図2、暗号文の生成から復号までの処理フローが図8である。実施例2と実施例2変形例1との相違点は、実施例1と実施例1変形例1との相違点と同じなので、説明は省略する。[変形例2]実施例2変形例2は、鍵生成装置400が保護用秘密鍵K2も生成する暗号化システムである実施例1変形例2に相当する。実施例2変形例2の暗号化システムの構成例は図6である。実施例2変形例2では、受信装置500は、暗号文識別情報生成部240は備えていない。そして、秘密鍵を配布する処理フローが図5、暗号文の生成から復号までの処理フローが図7である。実施例2と実施例2変形例2との相違点は、実施例1と実施例1変形例2との相違点と同じなので、秘密鍵を配布する処理フローと暗号文の生成から復号までの処理フローの説明は省略する。また、所定の方法1~7は実施例1変形例2と同じなので説明を省略する。所定の方法3’、4’、5’、6’、7’の具体例については以下に説明する。ただし、秘密鍵K0から複数の復号鍵受信用秘密鍵K1,保護用秘密鍵K2,代理計算用秘密鍵K3を生成する方式と鍵を伴う一部の演算機能のリソースを外部装置復号履歴蓄積サーバに安全に代行させる方式とが機能する範囲ならば、これらの組み合わせに限定する必要はない。所定の方法の組み合わせ2-3所定の方法1では、受信用秘密鍵K1をK1=K3’K0のように求める。所定の方法2’では、代理計算用秘密鍵K3をK3=K2K3’-1のように求める。所定の方法3’では、暗号化認証鍵V’をV’=AHgIDrのように求める。所定の方法4’では、リクエストReq’を受信用秘密鍵K1を含む情報とする。所定の方法5’では、値WをW=Res’^K2のように求める。所定の方法6’では、認証鍵A’をA’=V’HWのように求める。所定の方法7’では、レスポンスRes’をRes’=eK1,U’^K3のように求める。ただし、ペアリングeでは式1が成り立つので、Res’=eK3K1,U’またはRes’=eK1,K3U’のようにレスポンスRes’を求めてもよい。なお、上述の所定の方法の組み合わせの一部を以下の例のように変更してもよい。第1の例では、所定の方法2’をK3=K2-1K3’とし、所定の方法7’をRes’=eK1,U’^K3-1としてもよい。ただし、ペアリングeでは式1が成り立つので、Res’=eK3-1K1,U’またはRes’=eK1,K3-1U’のようにレスポンスRes’を求めてもよい。第2の例では、所定の方法1をK1=K3’-1K0とし、所定の方法2’をK3=K2-1K3’とし、所定の方法7’をRes’=eK1,U’^K3としてもよい。ただし、ペアリングeでは式1が成り立つので、Res’=eK3K1,U’またはRes’=eK1,K3U’のようにレスポンスRes’を求めてもよい。第3の例では、所定の方法3’を、HgIDrを共通鍵として認証鍵Aを暗号化し、暗号化認証鍵V’を求めてもよい。この場合は、所定の方法6’は、HWを共通鍵として暗号文Vを平文M’に復号するとすればよい。第4の例では、ステップS610でセッション情報U’も受信装置500に送信し、所定の方法4’では、リクエストReq’をReq’=eK1,U’のように求める。そして、所定の方法7’では、レスポンスRes’をRes’=Req’^K3のように求めるとしてもよい。所定の方法の組み合わせ2-4所定の方法1では、受信用秘密鍵K1をK1=K3’K0のように求める。所定の方法2’では、代理計算用秘密鍵K3をK3=K2K3’-1のように求める。所定の方法3’では、暗号化認証鍵V’をV’=AHgIDrのように求める。所定の方法4’では、第2リクエスト作成部520が、乱数rtmpを0以上p-1以下の整数から選択し、隠蔽鍵KtmpをKtmp=rtmpK1を求め、リクエストReq’を隠蔽鍵Ktmpを含む情報とする。所定の方法5’では、値WをW=Res’^rtmp-1K2のように求める。所定の方法6’では、認証鍵A’をA’=V’HWのように求める。所定の方法7’では、レスポンスRes’をRes’=eKtmp,U’^K3のように求める。ただし、ペアリングeでは式1が成り立つので、Res’=eK3Ktmp,U’またはRes’=eKtmp,K3U’のようにレスポンスRes’を求めてもよい。なお、上述の所定の方法の組み合わせの一部を以下の例のように変更してもよい。第1の例では、所定の方法2’をK3=K2-1K3’とし、所定の方法7’をRes=eKtmp,U’^K3-1としてもよい。ただし、ペアリングeでは式1が成り立つので、Res’=eK3-1Ktmp,U’またはRes’=eKtmp,K3-1U’のようにレスポンスRes’を求めてもよい。第2の例では、所定の方法1をK1=K3’-1K0とし、所定の方法2’をK3=K2-1K3’とし、所定の方法7’をRes’=eKtmp,U’^K3としてもよい。ただし、ペアリングeでは式1が成り立つので、Res’=eK3Ktmp,U’またはRes’=eKtmp,K3U’のようにレスポンスRes’を求めてもよい。第3の例では、所定の方法3を、HgIDrを共通鍵として認証鍵Aを暗号化し、暗号化認証鍵V’を求めてもよい。この場合は、所定の方法6’は、HWを共通鍵として暗号化認証鍵V’を認証鍵A’に復号するとすればよい。第4の例では、ステップS610でセッション情報U’も受信装置500に送信し、所定の方法4’では、リクエストReq’をReq’=ertmpK1,U’のように求める。そして、所定の方法7’では、レスポンスRes’をRes’=Req’^K3のように求めるとしてもよい。[変形例3]実施例2変形例3は、受信装置500自体が暗号文識別情報vを生成する点暗号文識別情報vを受信しない点と、鍵生成装置400が保護用秘密鍵K2も生成する点を変更した暗号化システムである実施例1変形例3に相当する。実施例2変形例3の暗号化システムの構成例は図6である。この場合は、受信装置500は、暗号文識別情報生成部240も備える。そして、秘密鍵を配布する処理フローが図5、暗号文の生成から復号までの処理フローが図8である。実施例2変形例2と実施例2変形例3との相違点は、実施例1変形例2と実施例1変形例3との相違点と同じなので、説明は省略する。実施例3では、実施例2とは異なる方法で復号履歴蓄積サーバが認証する暗号化システムを示す。図9に実施例3の暗号化システムの構成例を示す。図10に実施例3の暗号化システムの秘密鍵を配布する処理フローを、図11に暗号文の生成から復号までの処理フローを示す。実施例3の暗号化システムは、送信装置100、受信装置501、復号履歴蓄積サーバ601、鍵生成装置700で構成される。以下の説明では、kは大きな整数、pはkビットの素数、G1は位数pの巡回加算群、G2は位数pの巡回群、eはG1×G1→G2のように写像する双線形ペアリング関数、Hは群G2の元をnビットのビット列に写像するハッシュ関数を示す記号、Pは群G1の生成元、sは鍵生成装置400が生成した0以上p-1以下の整数、PPub=sP、P,PPubは公開パラメータ、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1ID、はビット単位の排他的論理和を示す記号、^はべき乗を示す記号、vは暗号文Vを識別する暗号文識別情報、hは暗号文Vを識別する暗号文識別情報を生成する関数を示す記号、∥はビット列の結合を示す記号とする。送信装置100は、暗号化部110、暗号文送信部120、暗号化記録部190を備える。受信装置501は、属性送信部210、リクエスト作成部220、リクエスト送信部225、復号部230、鍵識別子送信部560、復号記録部295を備える。復号履歴蓄積サーバ601は、レスポンス作成部310、レスポンス送信部315、鍵識別子照合部660、セッション情報蓄積部370、履歴蓄積部380、代理記録部395を備える。鍵生成装置700は、鍵生成部410、鍵分割部420、鍵配布部730、鍵識別子生成部740、鍵生成記録部490を備える。以下に、処理フローを説明しながら、これらの構成部の機能を説明する。秘密鍵を配布する処理フローステップS211からS434までは実施例1と同じである。ステップS434の後、鍵識別子生成部740が、受信用秘密鍵K1と代理計算用秘密鍵K3から鍵識別子KIDを生成するS740。なお、鍵識別子KIDは、受信用秘密鍵K1と代理計算用秘密鍵K3から特定できる情報であればよい。例えば、K1∥K3のハッシュ値を鍵識別子KIDとしてもよいし、K1∥K3∥Xのように他の情報X例えば、受信装置200の属性を示すビット列IDも付加したビット列のハッシュ値を鍵識別子KIDとしてもよい。さらには、後述する実施例3変形例2のように保護用秘密鍵K2も生成するときは、K1∥K2∥K3のハッシュ値を鍵識別子KIDとしてもよい。そして、鍵配布部730は、受信用秘密鍵K1と鍵識別子KIDを受信装置501に送信し、受信用秘密鍵K1を送信した受信装置501を識別する受信装置識別情報RIDと代理計算用秘密鍵K3と鍵識別子KIDを復号履歴蓄積サーバ601に送信するS735。受信装置501の復号記録部295は、受信用秘密鍵K1を記録するS293。復号履歴蓄積サーバ601の代理記録部395は、受信装置識別情報RIDに対応付けて代理計算用秘密鍵K3を記録するS393。暗号文の生成から復号までの処理フローステップS212からS222までの処理は実施例1と同じである。受信装置501の鍵識別子送信部560は、復号履歴蓄積サーバ601に鍵識別子KIDを送信するS560。なお、鍵識別子KIDの送信は、リクエストReqと一緒でもよい。また、何らかの安全な通信手段を利用すればよい。復号履歴蓄積サーバ601の鍵識別子照合部660は、鍵識別子KIDが正しいかを照合する正しい受信用秘密鍵K1を所有している受信装置501かを確認するS560。照合が失敗した場合は処理を中止する。照合が成功した場合はステップS310に進む。ステップS310、S230、S380は実施例1と同じである。なお、上述の方法に限定する必要はなく、あらかじめ受信装置501と復号履歴蓄積サーバ601が鍵識別子KIDを共有し、受信装置501と復号履歴蓄積サーバ601が、鍵識別子KIDを照合する照合手段を備えていればよい。実施例3はこのような処理なので、実施例1の効果が得られた上で、さらに受信装置が実際に復号できるときのみ復号履歴を記録できる。[変形例1]実施例3も暗号文Vを復号する前に受信装置の認証を行う点が実施例1と異なる。しかし、秘密鍵を配布する処理と、復号対象の暗号文Vの生成と復号自体は実施例1と同じである。したがって、実施例1で説明した変形例1~3は実施例3でも適用できる。実施例3変形例1は、受信装置501自体が暗号文識別情報vを生成する点暗号文識別情報vを受信しない点を変更した暗号化システムである実施例1変形例1に相当する。実施例3変形例1の暗号化システムの構成例は図9である。この場合は、受信装置501は、暗号文識別情報生成部240も備える。そして、秘密鍵を配布する処理フローが図10、暗号文の生成から復号までの処理フローが図12である。実施例3と実施例3変形例1との相違点は、実施例1と実施例1変形例1との相違点と同じなので、説明は省略する。[変形例2]実施例3変形例2は、鍵生成装置700が保護用秘密鍵K2も生成する暗号化システムである実施例1変形例2に相当する。実施例3変形例2の暗号化システムの構成例は図9である。実施例3変形例2では、受信装置501は、暗号文識別情報生成部240は備えていない。そして、秘密鍵を配布する処理フローが図13、暗号文の生成から復号までの処理フローが図11である。実施例3と実施例3変形例2との相違点は、実施例1と実施例1変形例2との相違点と同じなので、説明は省略する。[変形例3]実施例3変形例3は、受信装置501自体が暗号文識別情報vを生成する点暗号文識別情報vを受信しない点と、鍵生成装置700が保護用秘密鍵K2も生成する点を変更した暗号化システムである実施例1変形例3に相当する。実施例3変形例3の暗号化システムの構成例は図9である。この場合は、受信装置501は、暗号文識別情報生成部240も備える。そして、秘密鍵を配布する処理フローが図13、暗号文の生成から復号までの処理フローが図12である。実施例3変形例2と実施例3変形例3との相違点は、実施例1変形例2と実施例1変形例3との相違点と同じなので、説明は省略する。[プログラム、記録媒体]上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASPApplicationServiceProvider型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるものコンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等を含むものとする。また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。"