"少なくとも受信装置、代理計算装置を有する暗号化システムであって、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を暗号化した暗号化情報であり、前記受信装置は、受信用秘密鍵K1を記録する復号記録部と、受信用秘密鍵K1と乱数情報Uを用いて所定の方法4でリクエストReqを作成するリクエスト作成部と、前記代理計算装置から受信したレスポンスResを用いて前記所定の方法2と前記所定の方法4に対応した方法である所定の方法5にしたがってgIDrの値Wを求め、HWを用いて前記所定の方法3に対応した方法である所定の方法6にしたがって暗号化情報Vを復号して平文M’に復号する復号部と、を備え、前記代理計算装置は、代理計算用秘密鍵K3を記録する代理記録部と、リクエストReqに対して、前記所定の方法1と前記所定の方法2と前記所定の方法4に対応した方法である所定の方法7にしたがって代理計算用秘密鍵K3を用いた計算を行ってレスポンスResを求めるレスポンス作成部とを備える暗号化システム。請求項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では、リクエストReqをReq=eK1,Uのように求め、前記所定の方法5では、値WをW=Resのように求め、前記所定の方法6では、平文M’をM’=VHWのように求め、前記所定の方法7では、レスポンスResをRes=Req^K3のように求めることを特徴とする暗号化システム。請求項1記載の暗号化システムであって、はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とし、前記所定の方法1では、受信用秘密鍵K1をK1=K3’K0のように求め、前記所定の方法2では、では、代理計算用秘密鍵K3をK3=K3’-1のように求め、前記所定の方法3では、暗号化情報VをV=MHgIDrのように求め、前記所定の方法4では、リクエストReqを受信用秘密鍵K1と乱数情報Uを含む情報とし、前記所定の方法5では、値WをW=Resのように求め、前記所定の方法6では、平文M’をM’=VHWのように求め、前記所定の方法7では、レスポンスResをRes=eK1,U^K3のように求めることを特徴とする暗号化システム。請求項1記載の暗号化システムであって、はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とし、前記所定の方法1では、受信用秘密鍵K1をK1=K3’K0のように求め、前記所定の方法2では、では、代理計算用秘密鍵K3をK3=K3’-1のように求め、前記所定の方法3では、暗号化情報VをV=MHgIDrのように求め、前記所定の方法4では、前記リクエスト作成部が、乱数rtmpを0以上p-1以下の整数から選択し、リクエストReqをReq=ertmpK1,Uのように求め、前記所定の方法5では、値WをW=Res^rtmp-1のように求め、前記所定の方法6では、平文M’をM’=VHWのように求め、前記所定の方法7では、レスポンスResをRes=Req^K3のように求めることを特徴とする暗号化システム。請求項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と乱数情報Uを含む情報とし、前記所定の方法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では、リクエストReqをReq=eK1,Uのように求め、前記所定の方法5では、値WをW=Res^K2のように求め、前記所定の方法6では、平文M’をM’=VHWのように求め、前記所定の方法7では、レスポンスResをRes=Req^K3のように求めることを特徴とする暗号化システム。請求項2記載の暗号化システムであって、はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とし、前記所定の方法1では、受信用秘密鍵K1をK1=K3’K0のように求め、前記所定の方法2’では、代理計算用秘密鍵K3をK3=K2K3’-1のように求め、前記所定の方法3では、暗号化情報VをV=MHgIDrのように求め、前記所定の方法4では、リクエストReqを受信用秘密鍵K1と乱数情報Uを含む情報とし、前記所定の方法5では、値WをW=Res^K2のように求め、前記所定の方法6では、平文M’をM’=VHWのように求め、前記所定の方法7では、レスポンスResをRes=eK1,U^K3のように求めることを特徴とする暗号化システム。請求項2記載の暗号化システムであって、はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とし、前記所定の方法1では、受信用秘密鍵K1をK1=K3’K0のように求め、前記所定の方法2’では、代理計算用秘密鍵K3をK3=K2K3’-1のように求め、前記所定の方法3では、暗号化情報VをV=MHgIDrのように求め、前記所定の方法4では、前記リクエスト作成部が、乱数rtmpを0以上p-1以下の整数から選択し、リクエストReqをReq=ertmpK1,Uのように求め、前記所定の方法5では、値WをW=Res^rtmp-1K2のように求め、前記所定の方法6では、平文M’をM’=VHWのように求め、前記所定の方法7では、レスポンスResをRes=Req^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と乱数情報Uを含む情報とし、前記所定の方法5では、値WをW=Res^rtmp-1K2のように求め、前記所定の方法6では、平文M’をM’=VHWのように求め、前記所定の方法7では、レスポンスResをRes=eKtmp,U^K3のように求めることを特徴とする暗号化システム。少なくとも受信装置、代理計算装置、鍵生成装置を有する暗号化システムであって、pは素数、G1は位数pの巡回加算群、sは0以上p-1以下の整数、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1ID、K0はK0=sQIDのように求められた秘密鍵、K3’は0以上p-1以下の整数から選択された分割用乱数、K1は秘密鍵K0と分割用乱数K3’を用いて所定の方法1で求められた受信用秘密鍵、K3は分割用乱数K3’を用いて所定の方法2で求められた代理計算用秘密鍵であり、前記鍵生成装置は、前記受信装置からの鍵の再発行の要求を受信すると、新しい分割用乱数K3new’を0以上p-1以下の整数から選択し、秘密鍵K0と新しい分割用乱数K3new’を用いて前記所定の方法1にしたがって新しい受信用秘密鍵K1newを求める鍵分割部と、新しい分割用乱数K3new’を用いて前記所定の方法2で新しい代理計算用秘密鍵K3newを求め、新しい受信用秘密鍵K1newを前記受信装置に送信し、新しい代理計算用秘密鍵K3newを前記代理計算装置に送信する鍵配布部と、を備え、前記受信装置は、あらかじめ記録していた受信用秘密鍵K1を新しい受信用秘密鍵K1newに更新する復号記録部を備え、前記代理計算装置は、あらかじめ記録していた代理計算用秘密鍵K3を新しい代理計算用秘密鍵K3newに更新する代理記録部を備える暗号化システム。少なくとも受信装置、代理計算装置、鍵生成装置を有する暗号化システムであって、pは素数、G1は位数pの巡回加算群、sは0以上p-1以下の整数、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1ID、K0はK0=sQIDのように求められた秘密鍵、K3’は0以上p-1以下の整数から選択された分割用乱数、K1は秘密鍵K0と分割用乱数K3’を用いて所定の方法1で求められた受信用秘密鍵、K2は0以上p-1以下の整数から選択された保護用秘密鍵、K3は分割用乱数K3’と保護用秘密鍵K2を用いて所定の方法2’で求められた代理計算用秘密鍵であり、前記鍵生成装置は、前記受信装置から、保護用秘密鍵K2と鍵の再発行の要求を受信すると、新しい分割用乱数K3new’を0以上p-1以下の整数から選択し、秘密鍵K0と新しい分割用乱数K3new’を用いて前記所定の方法1にしたがって新しい受信用秘密鍵K1newを求める鍵分割部と、新しい分割用乱数K3new’と受信した保護用秘密鍵K2を用いて前記所定の方法2’にしたがって新しい代理計算用秘密鍵K3newを求め、新しい受信用秘密鍵K1newを前記受信装置に送信し、新しい代理計算用秘密鍵K3newを前記代理計算装置に送信する鍵配布部と、を備え、前記受信装置は、あらかじめ記録していた受信用秘密鍵K1を新しい受信用秘密鍵K1newに更新する復号記録部を備え、前記代理計算装置は、あらかじめ記録していた代理計算用秘密鍵K3を新しい代理計算用秘密鍵K3newに更新する代理記録部を備える暗号化システム。少なくとも受信装置、代理計算装置を有する暗号化システムであって、pは素数、K3’は0以上p-1以下の整数から選択された分割用乱数、K2は0以上p-1以下の整数から選択された保護用秘密鍵、K3は分割用乱数K3’と保護用秘密鍵K2を用いて所定の方法2’で求められた代理計算用秘密鍵であり、前記受信装置は、新しい保護用秘密鍵K2newを0以上p-1以下の整数から選択し、前記所定の方法2’に対応した所定の方法8にしたがって記録している保護用秘密鍵K2と前記新しい保護用秘密鍵K2newとの違いに応じた値であるアップデータUpdを求め、前記アップデータUpdを前記代理計算装置に送る保護用秘密鍵更新部と、あらかじめ記録していた保護用秘密鍵K2を新しい保護用秘密鍵K2newに更新する復号記録部と、を備え、前記代理計算装置は、記録している代理計算用秘密鍵K3と前記アップデータUpdを用いて、所定の方法8に対応した所定の方法9にしたがって新しい代理計算用秘密鍵K3newを求める代理計算用秘密鍵更新部と、あらかじめ記録していた代理計算用秘密鍵K3を新しい代理計算用秘密鍵K3newに更新する代理記録部と、を備える暗号化システム。請求項13記載の暗号化システムであって、前記所定の方法8では、アップデータUpdをUpd=K2new-1K2のように求め、前記所定の方法9では、新しい代理計算用秘密鍵K3newをK3new=UpdK3のように求めることを特徴とする暗号化システム。受信装置、代理計算装置を用いた復号方法であって、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を暗号化した暗号化情報であり、前記受信装置が、受信用秘密鍵K1を記録する復号記録ステップと、前記代理計算装置が、代理計算用秘密鍵K3を記録する代理記録ステップと、前記受信装置が、受信用秘密鍵K1と乱数情報Uを用いて所定の方法4でリクエストReqを作成するリクエスト作成ステップと、前記代理計算装置が、リクエストReqに対して、前記所定の方法1と前記所定の方法2と前記所定の方法4に対応した方法である所定の方法7にしたがって代理計算用秘密鍵K3を用いた計算を行ってレスポンスResを求めるレスポンス作成ステップと、前記受信装置が、前記代理計算装置から受信したレスポンスResを用いて前記所定の方法2と前記所定の方法4に対応した方法である所定の方法5にしたがってgIDrの値Wを求め、HWを用いて前記所定の方法3に対応した方法である所定の方法6にしたがって暗号化情報Vを復号して平文M’に復号する復号ステップと、を有する復号方法。受信装置、代理計算装置、鍵生成装置を用いた鍵更新方法であって、pは素数、G1は位数pの巡回加算群、sは0以上p-1以下の整数、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1ID、K0はK0=sQIDのように求められた秘密鍵、K3’は0以上p-1以下の整数から選択された分割用乱数、K1は秘密鍵K0と分割用乱数K3’を用いて所定の方法1で求められた受信用秘密鍵、K3は分割用乱数K3’を用いて所定の方法2で求められた代理計算用秘密鍵であり、前記鍵生成装置が、前記受信装置からの鍵の再発行の要求を受信すると、新しい分割用乱数K3new’を0以上p-1以下の整数から選択し、秘密鍵K0と新しい分割用乱数K3new’を用いて前記所定の方法1にしたがって新しい受信用秘密鍵K1newを求める鍵分割ステップと、前記鍵生成装置が、新しい分割用乱数K3new’を用いて前記所定の方法2で新しい代理計算用秘密鍵K3newを求め、新しい受信用秘密鍵K1newを前記受信装置に送信し、新しい代理計算用秘密鍵K3newを前記代理計算装置に送信する鍵配布ステップと、前記受信装置が、あらかじめ記録していた受信用秘密鍵K1を新しい受信用秘密鍵K1newに更新する復号記録ステップと、前記代理計算装置が、あらかじめ記録していた代理計算用秘密鍵K3を新しい代理計算用秘密鍵K3newに更新する代理記録ステップと、を有する鍵更新方法。受信装置、代理計算装置、鍵生成装置を用いた鍵更新方法であって、pは素数、G1は位数pの巡回加算群、sは0以上p-1以下の整数、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1ID、K0はK0=sQIDのように求められた秘密鍵、K3’は0以上p-1以下の整数から選択された分割用乱数、K1は秘密鍵K0と分割用乱数K3’を用いて所定の方法1で求められた受信用秘密鍵、K2は0以上p-1以下の整数から選択された保護用秘密鍵、K3は分割用乱数K3’と保護用秘密鍵K2を用いて所定の方法2’で求められた代理計算用秘密鍵であり、前記鍵生成装置が、前記受信装置から、保護用秘密鍵K2と鍵の再発行の要求を受信すると、新しい分割用乱数K3new’を0以上p-1以下の整数から選択し、秘密鍵K0と新しい分割用乱数K3new’を用いて前記所定の方法1にしたがって新しい受信用秘密鍵K1newを求める鍵分割ステップと、前記鍵生成装置が、新しい分割用乱数K3new’と受信した保護用秘密鍵K2を用いて前記所定の方法2’にしたがって新しい代理計算用秘密鍵K3newを求め、新しい受信用秘密鍵K1newを前記受信装置に送信し、新しい代理計算用秘密鍵K3newを前記代理計算装置に送信する鍵配布ステップと、前記受信装置が、あらかじめ記録していた受信用秘密鍵K1を新しい受信用秘密鍵K1newに更新する復号記録ステップと、前記代理計算装置が、あらかじめ記録していた代理計算用秘密鍵K3を新しい代理計算用秘密鍵K3newに更新する代理記録ステップとを有する鍵更新方法。受信装置、代理計算装置を用いた鍵更新方法であって、pは素数、K3’は0以上p-1以下の整数から選択された分割用乱数、K2は0以上p-1以下の整数から選択された保護用秘密鍵、K3は分割用乱数K3’と保護用秘密鍵K2を用いて所定の方法2’で求められた代理計算用秘密鍵であり、前記受信装置が、新しい保護用秘密鍵K2newを0以上p-1以下の整数から選択し、前記所定の方法2’に対応した所定の方法8にしたがって記録している保護用秘密鍵K2と前記新しい保護用秘密鍵K2newとの違いに応じた値であるアップデータUpdを求め、前記アップデータUpdを前記代理計算装置に送る保護用秘密鍵更新ステップと、前記受信装置が、あらかじめ記録していた保護用秘密鍵K2を新しい保護用秘密鍵K2newに更新する復号記録ステップと、前記代理計算装置が、記録している代理計算用秘密鍵K3と前記アップデータUpdを用いて、所定の方法8に対応した所定の方法9にしたがって新しい代理計算用秘密鍵K3newを求める代理計算用秘密鍵更新ステップと、前記代理計算装置が、あらかじめ記録していた代理計算用秘密鍵K3を新しい代理計算用秘密鍵K3newに更新する代理記録ステップと、を有する鍵更新方法。受信装置、代理計算装置とともに暗号化システムを構成するための鍵生成装置であって、pは素数、G1は位数pの巡回加算群、MaptoPointG1は任意長のビット列を群G1の元に写像する関数、IDは任意長のビット列、QID=MaptoPointG1IDであり、0以上p-1以下の整数sを生成し、秘密鍵K0をK0=sQIDのように求める鍵生成部と、分割用乱数K3’を0以上p-1以下の整数から選択し、秘密鍵K0と分割用乱数K3’を用いて所定の方法1にしたがって受信用秘密鍵K1を求める鍵分割部と、分割用乱数K3’を用いて所定の方法2で代理計算用秘密鍵K3を求め、受信用秘密鍵K1を前記受信装置に送信し、代理計算用秘密鍵K3を前記代理計算装置に送信する鍵配布部と、を備える鍵生成装置。請求項19記載の鍵生成装置であって、前記所定の方法2では、保護用秘密鍵K2を0以上p-1以下の整数から選択し、分割用乱数K3’と保護用秘密鍵K2を用いて所定の方法2’にしたがって代理計算用秘密鍵K3を求め、前記鍵配布部は、保護用秘密鍵K2も前記受信装置に送信することを特徴とする鍵生成装置。代理計算装置とともに暗号化システムを構成するための受信装置であって、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を暗号化した暗号化情報であり、受信用秘密鍵K1を記録する復号記録部と、受信用秘密鍵K1と乱数情報Uを用いて所定の方法4でリクエストReqを作成するリクエスト作成部と、前記代理計算装置から受信したレスポンスResを用いて前記所定の方法2と前記所定の方法4に対応した方法である所定の方法5にしたがってgIDrの値Wを求め、HWを用いて前記所定の方法3に対応した方法である所定の方法6にしたがって暗号化情報Vを復号して平文M’に復号する復号部と、を備える受信装置。受信装置とともに暗号化システムを構成するための代理計算装置であって、pは素数、G1は位数pの巡回加算群、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のように求められた乱数情報、Reqは受信用秘密鍵K1と乱数情報Uを用いて所定の方法4で作成されたリクエストであり、代理計算用秘密鍵K3を記録する代理記録部と、リクエストReqに対して、前記所定の方法1と前記所定の方法2と前記所定の方法4に対応した方法である所定の方法7にしたがって代理計算用秘密鍵K3を用いた計算を行ってレスポンスResを求めるレスポンス作成部とを備える代理計算装置。請求項1から10のいずれかまたは請求項13もしくは14に記載の暗号化システムの受信装置もしくは代理計算装置、または、請求項11もしくは12に記載の暗号化システムの受信装置、代理計算装置、鍵生成装置のいずれかとしてコンピュータを機能させるためのプログラム。しかしながら、属性情報のような公開された情報をもとに秘密鍵を生成する暗号方式では、秘密鍵と公開鍵の対応が一対一という特徴を持つ。そして、復号鍵を紛失した際や復号鍵が漏洩された際には、紛失した復号鍵もしくは漏洩された復号鍵による復号が出来ないようにするために復号鍵の更新を行う必要がある。しかし、受信者の属性の一部を公開鍵として利用している場合、公開鍵とする受信者属性の一部を変更しない限り復号鍵の更新が出来ない。また、鍵の漏洩紛失対策を実施するためには公開鍵の変更が必要であるが、送信者にとって公開鍵が既知であった場合、公開鍵の変更を送信者に伝えるのが必ずしも容易ではない。本発明は、属性情報のような公開された情報をもとに秘密鍵を生成する暗号方式であっても、公開鍵を変更することなく復号鍵を再発行更新できる暗号化技術を提供することを目的とする。本発明の暗号化システムは、送信装置、受信装置、代理計算装置、鍵生成装置で構成される。まず、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以下の整数から選択し、秘密鍵K0と分割用乱数K3’を用いて所定の方法1にしたがって受信用秘密鍵K1を求める。なお、分割用乱数K3’は、0以上p-1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。鍵配布部は、分割用乱数K3’を用いて所定の方法2で代理計算用秘密鍵K3を求め、受信用秘密鍵K1を受信装置に送信し、代理計算用秘密鍵K3を代理計算装置に送信する。送信装置は、少なくとも暗号化部を備える。暗号化部は、乱数rを0以上p-1以下の整数から選択し、乱数情報UをU=rPのように計算し、gID=eQID,PPubを計算し、HgIDrを用いて所定の方法3で平文Mを暗号化して暗号化情報Vを求め、乱数情報Uと暗号化情報Vを含む情報を暗号文Cとして出力する。なお、乱数rは、0以上p-1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。受信装置は、少なくとも復号記録部、リクエスト作成部、復号部を備える。復号記録部は、少なくとも受信用秘密鍵K1を記録する。リクエスト作成部は、受信用秘密鍵K1と乱数情報Uを用いて所定の方法4でリクエストReqを作成する。復号部は、代理計算装置から受信したレスポンスResを用いて所定の方法2と所定の方法4に対応した方法である所定の方法5にしたがってgIDrの値Wを求める。そして、HWを用いて所定の方法3に対応した方法である所定の方法6にしたがって暗号化情報Vを復号して平文M’に復号する。代理計算装置は、少なくとも代理記録部、レスポンス作成部を備える。代理記録部は、少なくとも代理計算用秘密鍵K3を記録する。レスポンス作成部は、リクエストReqに対して、所定の方法1と所定の方法2と所定の方法4に対応した方法である所定の方法7にしたがって代理計算用秘密鍵K3を用いた計算を行ってレスポンスResを求める。そして、受信装置が、鍵生成装置に鍵の再発行を要求すると以下の処理を行って受信用秘密鍵K1と代理計算用秘密鍵K3を更新する。鍵分割部は、新しい分割用乱数K3new’を0以上p-1以下の整数から選択し、秘密鍵K0と新しい分割用乱数K3new’を用いて所定の方法1にしたがって新しい受信用秘密鍵K1newを求める。なお、新しい分割用乱数K3new’は、0以上p-1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。鍵配布部は、新しい分割用乱数K3new’を用いて所定の方法2で新しい代理計算用秘密鍵K3newを求める。そして、新しい受信用秘密鍵K1newを受信装置に送信し、新しい代理計算用秘密鍵K3newを代理計算装置に送信する。復号記録部は、受信用秘密鍵K1を新しい受信用秘密鍵K1newに更新する。代理記録部は、代理計算用秘密鍵K3を新しい代理計算用秘密鍵K3newに更新する。本発明の暗号化システムによれば、秘密鍵K0から複数の復号鍵受信用秘密鍵K1,代理計算用秘密鍵K3を生成する方式と鍵を伴う一部の演算機能のリソースを外部装置代理計算装置に安全に代行させる方式を組み合わせて構成する。したがって、属性情報のような公開された情報をもとに秘密鍵を生成する暗号方式であっても、公開鍵を変更することなく復号鍵を再発行更新できる。以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。図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、はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とする。なお、XとYを郡G1の元とし、aとbを整数とすると、eaX,bY=eX,Yab1の関係が成り立つ。双線形ペアリング関数としては、例えばWeilペアリングを用いればよい。また、IDとして受信装置200の属性を示すビット列を用いてもよい。送信装置100は、暗号化部110と暗号化記録部190を備える。受信装置200は、属性送信部210、リクエスト作成部220、復号部230、復号記録部290を備える。代理計算装置300は、レスポンス作成部310、代理記録部390を備える。鍵生成装置400は、鍵生成部410、鍵分割部420、鍵配布部430、鍵生成記録部490を備える。以下に、処理フローを説明しながら、これらの構成部の機能を説明する。[秘密鍵を配布する処理フロー、暗号文の生成から復号まで]受信装置200の属性送信部210は、ビット列IDを鍵生成装置400に送信するS211。なお、ビット列IDは、A社の社員、20歳以上などの単独の属性情報を示すビット列でもよいし、A社の社員かつ男性、20歳以上または女性のような属性情報の論理式を示すビット列でもよい。鍵生成装置400の鍵生成部410は、秘密鍵K0をK0=sQIDのように求めるS410。鍵分割部420は、分割用乱数K3’を0以上p-1以下の整数から選択しS421、秘密鍵K0と分割用乱数K3’を用いて所定の方法1にしたがって受信用秘密鍵K1を求めるS422。なお、分割用乱数K3’は、0以上p-1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。鍵配布部430は、分割用乱数K3’を用いて所定の方法2で代理計算用秘密鍵K3を求めS434、受信用秘密鍵K1を受信装置200に送信し、代理計算用秘密鍵K3を代理計算装置300に送信するS435。受信装置200の復号記録部290は、受信用秘密鍵K1を記録するS291。代理計算装置300の代理記録部390は、代理計算用秘密鍵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は、乱数情報Uと暗号化情報Vを含む情報を暗号文Cとして出力するS110。受信装置200のリクエスト作成部220は、受信用秘密鍵K1と乱数情報Uを用いて所定の方法4でリクエストReqを作成するS222。なお、リクエスト作成部220は、乱数rtmpを0以上p-1以下の整数から選択しS221、ステップS222の所定の方法4で乱数rtmpも用いてもよい。このようにすることで、受信用秘密鍵K1に関する情報を隠蔽できる。なお、乱数rtmpは、0以上p-1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。代理計算装置300のレスポンス作成部310は、リクエストReqに対して、所定の方法1と所定の方法2と所定の方法4に対応した方法である所定の方法7にしたがって代理計算用秘密鍵K3を用いた計算を行ってレスポンスResを求めるS310。受信装置200の復号部230は、代理計算装置300から受信したレスポンスResを用いて所定の方法2と所定の方法4に対応した方法である所定の方法5にしたがってgIDrの値Wを求める。そして、HWを用いて所定の方法3に対応した方法である所定の方法6にしたがって暗号化情報Vを復号して平文M’に復号するS230。次に、上述の所定の方法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をReq=eK1,Uのように求める。所定の方法5では、値WをW=Resのように求める。所定の方法6では、平文M’をM’=VHWのように求める。所定の方法7では、レスポンスResをRes=Req^K3のように求める。なお、上述の所定の方法の組み合わせの一部を以下の例ように変更してもよい。第1の例では、所定の方法2をK3=K3’とし、所定の方法7をRes=Req^K3-1としてもよい。第2の例では、所定の方法1をK1=K3’-1K0とし、所定の方法2をK3=K3’とし、所定の方法7をRes=Req^K3としてもよい。第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では、リクエストReqを受信用秘密鍵K1と乱数情報Uを含む情報とする。所定の方法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-3]所定の方法1では、受信用秘密鍵K1をK1=K3’K0のように求める。所定の方法2では、では、代理計算用秘密鍵K3をK3=K3’-1のように求める。所定の方法3では、暗号化情報VをV=MHgIDrのように求める。所定の方法4では、リクエスト作成部220が、乱数rtmpを0以上p-1以下の整数から選択しS221、リクエストReqをReq=ertmpK1,Uのように求める。ただし、ペアリングeでは式1が成り立つので、Req=eK1,U^rtmpのようにリクエストReqを求めてもよい。所定の方法5では、値WをW=Res^rtmp-1のように求める。所定の方法6では、平文M’をM’=VHWのように求める。所定の方法7では、レスポンスResをRes=Req^K3のように求める。なお、この組み合わせのときは、所定の組み合わせ1-1と同じように一部を変更してもよい。[所定の方法の組み合わせ1-4]所定の方法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と乱数情報Uを含む情報とする。所定の方法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’に復号するとすればよい。[受信用秘密鍵K1と代理計算用秘密鍵K3の更新]図4に受信用秘密鍵K1と代理計算用秘密鍵K3を更新するときの処理フローを示す。受信装置200が、鍵生成装置400に鍵の再発行を要求するS214。鍵生成装置400の鍵分割部420は、新しい分割用乱数K3new’を0以上p-1以下の整数から選択しS424、秘密鍵K0と新しい分割用乱数K3new’を用いて所定の方法1にしたがって新しい受信用秘密鍵K1newを求めるS422。なお、新しい分割用乱数K3new’は、0以上p-1以下の整数からランダムに選択してもよいし、あらかじめ定めた方法で選択してもよい。鍵配布部430は、新しい分割用乱数K3new’を用いて所定の方法2で新しい代理計算用秘密鍵K3newを求めるS434。そして、新しい受信用秘密鍵K1newを受信装置に送信し、新しい代理計算用秘密鍵K3newを代理計算装置に送信するS435。復号記録部290は、受信用秘密鍵K1を新しい受信用秘密鍵K1newに更新するS292。代理記録部390は、代理計算用秘密鍵K3を新しい代理計算用秘密鍵K3newに更新するS392。実施例1の暗号化システムによれば、秘密鍵K0から複数の復号鍵受信用秘密鍵K1,代理計算用秘密鍵K3を生成する方式と鍵を伴う一部の演算機能のリソースを外部装置代理計算装置に安全に代行させる方式を組み合わせて構成する。したがって、属性情報のような公開された情報をもとに秘密鍵を生成する暗号方式であっても、公開鍵を変更することなく復号鍵を再発行更新できる。実施例2の暗号化システムの構成例も図1に示す。図5に実施例2の暗号化システムの秘密鍵を配布する処理フローを、図3に暗号文の生成から復号までの処理フローを示す。実施例2の暗号化システムも、送信装置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、はビット単位の排他的論理和を示す記号、^はべき乗を示す記号とする。なお、IDとして受信装置200の属性を示すビット列を用いてもよい。送信装置100は、暗号化部110と暗号化記録部190を備える。受信装置200は、属性送信部210、リクエスト作成部220、復号部230、保護用秘密鍵更新部240、復号記録部290を備える。代理計算装置300は、レスポンス作成部310、代理計算用秘密鍵更新部320、代理記録部390を備える。鍵生成装置400は、鍵生成部410、鍵分割部420、鍵配布部430、鍵生成記録部490を備える。以下に、処理フローを説明しながら、これらの構成部の機能を説明する。[秘密鍵を配布する処理フロー、暗号文の生成から復号まで]受信装置200の属性送信部210は、ビット列IDを鍵生成装置400に送信するS211。なお、ビット列IDは、A社の社員、20歳以上などの単独の属性情報でもよいし、A社の社員かつ男性、20歳以上または女性のような属性情報の論理式を示す情報でもよい。鍵生成装置400の鍵生成部410は、秘密鍵K0をK0=sQIDのように求めるS410。鍵分割部420は、分割用乱数K3’を0以上p-1以下の整数から選択しS421、秘密鍵K0と分割用乱数K3’を用いて所定の方法1にしたがって受信用秘密鍵K1を求めるS422。なお、分割用乱数K3’は、0以上p-1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。鍵配布部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に送信し、代理計算用秘密鍵K3を代理計算装置300に送信するS433。受信装置200の復号記録部290は、受信用秘密鍵K1と保護用秘密鍵K2を記録するS291。なお、復号記録部290は、物理的に別の2つ以上の記録装置で構成してもよい。例えば、復号記録部290をICカードとパソコンのハードディスクで構成してもよい。そして、受信用秘密鍵K1をICカードに記録し、保護用秘密鍵K2をパソコンのハードディスクに記録するようにしてもよい。このように物理的に別々に受信用秘密鍵K1と保護用秘密鍵K2を記録すれば、両方を同時に漏洩紛失するリスクを低減できる。また、後述の鍵の更新でも、漏洩紛失した鍵のみを更新すればよくなる。代理計算装置300の代理記録部390は、代理計算用秘密鍵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は、乱数情報Uと暗号化情報Vを含む情報を暗号文Cとして出力するS110。受信装置200のリクエスト作成部220は、受信用秘密鍵K1と乱数情報Uを用いて所定の方法4でリクエストReqを作成するS222。なお、リクエスト作成部220は、乱数rtmpを0以上p-1以下の整数から選択しS221、ステップS222の所定の方法4で乱数rtmpも用いてもよい。このようにすることで、受信用秘密鍵K1に関する情報を隠蔽できる。なお、乱数rtmpは、0以上p-1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。代理計算装置300のレスポンス作成部310は、リクエストReqに対して、所定の方法1と所定の方法2と所定の方法4に対応した方法である所定の方法7にしたがって代理計算用秘密鍵K3を用いた計算を行ってレスポンスResを求めるS310。受信装置200の復号部230は、代理計算装置300から受信したレスポンスResを用いて所定の方法2と所定の方法4に対応した方法である所定の方法5にしたがってgIDrの値Wを求める。そして、HWを用いて所定の方法3に対応した方法である所定の方法6にしたがって暗号化情報Vを復号して平文M’に復号するS230。次に、上述の所定の方法1~7について説明する。所定の方法1~7は秘密鍵K0から複数の復号鍵受信用秘密鍵K1,保護用秘密鍵K2,代理計算用秘密鍵K3を生成する方式と鍵を伴う一部の演算機能のリソースを外部装置代理計算装置に安全に代行させる方式を組み合わせて構成するために互いに対応していればよい。例えば、以下に示すような組み合わせがあり得る。ただし、秘密鍵K0から複数の復号鍵受信用秘密鍵K1,保護用秘密鍵K2,代理計算用秘密鍵K3を生成する方式と鍵を伴う一部の演算機能のリソースを外部装置代理計算装置に安全に代行させる方式とが機能する範囲ならば、これらの組み合わせに限定する必要はない。[所定の方法の組み合わせ2-1]所定の方法1では、受信用秘密鍵K1をK1=K3’K0のように求める。所定の方法2’では、代理計算用秘密鍵K3をK3=K2K3’-1のように求める。所定の方法3では、暗号化情報VをV=MHgIDrのように求める。所定の方法4では、リクエストReqをReq=eK1,Uのように求める。所定の方法5では、値WをW=Res^K2のように求める。所定の方法6では、平文M’をM’=VHWのように求める。所定の方法7では、レスポンスResをRes=Req^K3のように求める。なお、上述の所定の方法の組み合わせの一部を以下の例ように変更してもよい。第1の例では、所定の方法2’をK3=K2-1K3’とし、所定の方法7をRes=Req^K3-1としてもよい。第2の例では、所定の方法1をK1=K3’-1K0とし、所定の方法2’をK3=K2-1K3’とし、所定の方法7をRes=Req^K3としてもよい。第3の例では、所定の方法3を、HgIDrを共通鍵として平文Mを暗号化し、暗号化情報Vを求めてもよい。この場合は、所定の方法6は、HWを共通鍵として暗号化情報Vを平文M’に復号するとすればよい。[所定の方法の組み合わせ2-2]所定の方法1では、受信用秘密鍵K1をK1=K3’K0のように求める。所定の方法2’では、代理計算用秘密鍵K3をK3=K2K3’-1のように求める。所定の方法3では、暗号化情報VをV=MHgIDrのように求める。所定の方法4では、リクエストReqを受信用秘密鍵K1と乱数情報Uを含む情報とする。所定の方法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’に復号するとすればよい。[所定の方法の組み合わせ2-3]所定の方法1では、受信用秘密鍵K1をK1=K3’K0のように求める。所定の方法2’では、代理計算用秘密鍵K3をK3=K2K3’-1のように求める。所定の方法3では、暗号化情報VをV=MHgIDrのように求める。所定の方法4では、リクエスト作成部220が、乱数rtmpを0以上p-1以下の整数から選択しS221、リクエストReqをReq=ertmpK1,Uのように求める。ただし、ペアリングeでは式1が成り立つので、Req=eK1,U^rtmpのようにリクエストReqを求めてもよい。所定の方法5では、値WをW=Res^rtmp-1K2のように求める。所定の方法6では、平文M’をM’=VHWのように求める。所定の方法7では、レスポンスResをRes=Req^K3のように求める。なお、この組み合わせのときは、所定の組み合わせ1-1と同じように一部を変更してもよい。[所定の方法の組み合わせ2-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と乱数情報Uを含む情報とする。所定の方法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’に復号するとすればよい。[受信用秘密鍵K1と代理計算用秘密鍵K3の更新1]図6に受信用秘密鍵K1と代理計算用秘密鍵K3を更新するときであって、保護用秘密鍵K2を送信する場合の処理フローを示す。受信装置200が、鍵生成装置400に保護用秘密鍵K2を送信し、鍵の再発行を要求するS213。鍵生成装置400の鍵分割部420は、新しい分割用乱数K3new’を0以上p-1以下の整数から選択しS424、秘密鍵K0と新しい分割用乱数K3new’を用いて所定の方法1にしたがって新しい受信用秘密鍵K1newを求めるS422。なお、新しい分割用乱数K3new’は、0以上p-1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。鍵配布部430は、新しい分割用乱数K3new’と受信した保護用秘密鍵K2を用いて所定の方法2’にしたがって新しい代理計算用秘密鍵K3newを求めるS432。そして、新しい受信用秘密鍵K1newを前記受信装置に送信し、新しい代理計算用秘密鍵K3newを前記代理計算装置に送信するS435。復号記録部290は、受信用秘密鍵K1を新しい受信用秘密鍵K1newに更新するS292。代理記録部390は、代理計算用秘密鍵K3を新しい代理計算用秘密鍵K3newに更新するS392。[受信用秘密鍵K1と代理計算用秘密鍵K3の更新2]図7に受信用秘密鍵K1と代理計算用秘密鍵K3を更新するときであって、保護用秘密鍵K2を求めるための情報Passを送信する場合の処理フローを示す。受信装置200が、鍵生成装置400に保護用秘密鍵K2を求めるための情報Passを送信し、鍵の再発行を要求するS215。鍵生成装置400の鍵分割部420は、新しい分割用乱数K3new’を0以上p-1以下の整数から選択しS424、秘密鍵K0と新しい分割用乱数K3new’を用いて所定の方法1にしたがって新しい受信用秘密鍵K1newを求めるS422。なお、新しい分割用乱数K3new’は、0以上p-1以下の整数からランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。鍵配布部430は、情報Passから保護用秘密鍵K2を求め、新しい分割用乱数K3new’と保護用秘密鍵K2を用いて前記所定の方法2’にしたがって新しい代理計算用秘密鍵K3newを求めるS432’。例えば、情報Passとハッシュ関数を用いて保護用秘密鍵K2を求めてもよいし、情報Pass自体を保護用秘密鍵K2としてもよい。そして、新しい受信用秘密鍵K1newを前記受信装置に送信し、新しい代理計算用秘密鍵K3newを前記代理計算装置に送信するS435。復号記録部290は、受信用秘密鍵K1を新しい受信用秘密鍵K1newに更新するS292。代理記録部390は、代理計算用秘密鍵K3を新しい代理計算用秘密鍵K3newに更新するS392。[保護用秘密鍵K2の更新]図8に保護用秘密鍵K2を更新するときの処理フローを示す。受信装置200の保護用秘密鍵更新部240は、新しい保護用秘密鍵K2newを0以上p-1以下の整数から選択するS241。例えば、受信者が新しい情報Passを設定し、その情報Passとハッシュ関数を用いて保護用秘密鍵K2newを求めてもよいし、その情報Pass自体を保護用秘密鍵K2newとしてもよい。また、新しい保護用秘密鍵K2newは、0以上p-1以下の整数から上記のようにランダムに選択することが望ましいが、あらかじめ定めた他の方法で選択してもよい。次に、保護用秘密鍵更新部240は、所定の方法2’に対応した所定の方法8にしたがって復号記録部が記録している保護用秘密鍵K2と新しい保護用秘密鍵K2newとの違いに応じた値であるアップデータUpdを求め、アップデータUpdを代理計算装置に送るS242。代理計算装置の代理計算用秘密鍵更新部320は、代理記録部390に記録している代理計算用秘密鍵K3とアップデータUpdを用いて、所定の方法8に対応した所定の方法9にしたがって新しい代理計算用秘密鍵K3newを求めるS320。復号記録部290は、保護用秘密鍵K2を新しい保護用秘密鍵K2newに更新するS293。代理記録部は、代理計算用秘密鍵K3を新しい代理計算用秘密鍵K3newに更新するS293。例えば、情報Passとして受信装置200の利用者受信者が設定したパスワードを用いれば、受信者がパスワードを変更するたびに、保護用秘密鍵K2と代理計算用秘密鍵K3を更新することも可能である。また、例えば、所定の方法8では、アップデータUpdをUpd=K2new-1K2のように求める。そして、所定の方法9では、新しい代理計算用秘密鍵K3newをK3new=UpdK3のように求めればよい。所定の方法8と所定の方法9はこのように対応付けされた組み合わせであればよく、上述の方法に限定する必要はない。実施例2の暗号化システムによれば、秘密鍵K0から複数の復号鍵受信用秘密鍵K1,保護用秘密鍵K2,代理計算用秘密鍵K3を生成する方式と鍵を伴う一部の演算機能のリソースを外部装置代理計算装置に安全に代行させる方式を組み合わせて構成する。したがって、属性情報のような公開された情報をもとに秘密鍵を生成する暗号方式であっても、公開鍵を変更することなく復号鍵を再発行更新できる。[プログラム、記録媒体]上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASPApplicationServiceProvider型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるものコンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等を含むものとする。また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。"