(57)【特許請求の範囲】
【請求項１】
暗号化装置によって生成された暗号文について復号できないが、前記暗号化装置によって生成された暗号文についてアクセス範囲を変更するための再暗号化鍵を生成できるマスター再暗号化鍵であって、前記暗号化装置によって生成された暗号文に含まれる暗号要素ｃ１に設定されたパラメータｙ→と対応するパラメータｗ→が設定された鍵要素ｋ＊ｒが含まれるマスター再暗号化鍵を用いて、前記暗号化装置によって生成された対象の暗号文を再暗号化するための再暗号化鍵であって、前記鍵要素ｋ＊ｒに乱数ｒ〜を埋め込んだ鍵要素ｋ〜＊ｒと、変更後のアクセス範囲を示すパラメータｘ→’を設定した暗号要素ｃ〜ｒと、前記乱数ｒ〜を暗号化した要素Ｄ〜とを含む再暗号化鍵を生成する再暗号化鍵生成部と、
前記再暗号化鍵生成部によって生成された前記再暗号化鍵により、前記対象の暗号文を再暗号化して、前記暗号要素ｃ１を前記鍵要素ｋ〜＊ｒにより復号した要素Ｋと、前記暗号要素ｃ〜ｒと、前記要素Ｄ〜が設定された要素Ｅとを含む再暗号文を生成する再暗号化部と
を備える再暗号化装置。
【請求項２】
前記再暗号化部は、前記暗号要素ｃ１を前記鍵要素ｋ〜＊ｒにより復号して乱数ｒ’を埋め込んで前記要素Ｋを生成し、前記要素Ｄ〜に前記乱数ｒ’を埋め込んで前記要素Ｅを生成する
請求項１に記載の再暗号化装置。
【請求項３】
前記再暗号化鍵生成部は、乱数ζ〜ｒを埋め込んで前記暗号要素ｃ〜ｒを生成し、前記乱数ζ〜ｒを埋め込んで要素Ｄ〜を生成する
請求項２に記載の再暗号化装置。
【請求項４】
前記再暗号化鍵生成部は、数１に示す前記マスター再暗号化鍵を用いて、数２に示す前記鍵要素ｋ〜＊ｒ及び前記暗号要素ｃ〜ｒと要素Ｄ〜とを含む前記再暗号化鍵を生成し、
前記再暗号化部は、数３に示す前記要素Ｋ及び前記要素Ｅと、前記暗号要素ｃ〜ｒとを含む前記再暗号文を生成する
請求項３に記載の再暗号化装置。
【数１】
0006949276.tif 000040
【数２】
0006949276.tif 000041
【数３】
0006949276.tif 000042
【請求項５】
再暗号化装置の再暗号化鍵生成部が、暗号化装置によって生成された暗号文について復号できないが、前記暗号化装置によって生成された暗号文についてアクセス範囲を変更するための再暗号化鍵を生成できるマスター再暗号化鍵であって、前記暗号化装置によって生成された暗号文に含まれる暗号要素ｃ１に設定されたパラメータｙ→と対応するパラメータｗ→が設定された鍵要素ｋ＊ｒが含まれるマスター再暗号化鍵を用いて、前記暗号化装置によって生成された対象の暗号文を再暗号化するための再暗号化鍵であって、前記鍵要素ｋ＊ｒに乱数ｒ〜を埋め込んだ鍵要素ｋ〜＊ｒと、変更後のアクセス範囲を示すパラメータｘ→’を設定した暗号要素ｃ〜ｒと、前記乱数ｒ〜を暗号化した要素Ｄ〜とを含む再暗号化鍵を生成し、
前記再暗号化装置の再暗号化部が、前記再暗号化鍵により、前記対象の暗号文を再暗号化して、前記暗号要素ｃ１を前記鍵要素ｋ〜＊ｒにより復号した要素Ｋと、前記暗号要素ｃ〜ｒと、前記要素Ｄ〜が設定された要素Ｅとを含む再暗号文を生成する再暗号化方法。
【請求項６】
再暗号化鍵生成部が、暗号化装置によって生成された暗号文について復号できないが、前記暗号化装置によって生成された暗号文についてアクセス範囲を変更するための再暗号化鍵を生成できるマスター再暗号化鍵であって、前記暗号化装置によって生成された暗号文に含まれる暗号要素ｃ１に設定されたパラメータｙ→と対応するパラメータｗ→が設定された鍵要素ｋ＊ｒが含まれるマスター再暗号化鍵を用いて、前記暗号化装置によって生成された対象の暗号文を再暗号化するための再暗号化鍵であって、前記鍵要素ｋ＊ｒに乱数ｒ〜を埋め込んだ鍵要素ｋ〜＊ｒと、変更後のアクセス範囲を示すパラメータｘ→’を設定した暗号要素ｃ〜ｒと、前記乱数ｒ〜を暗号化した要素Ｄ〜とを含む再暗号化鍵を生成する再暗号化鍵生成処理と、
再暗号化部が、前記再暗号化鍵生成処理によって生成された前記再暗号化鍵により、前記対象の暗号文を再暗号化して、前記暗号要素ｃ１を前記鍵要素ｋ〜＊ｒにより復号した要素Ｋと、前記暗号要素ｃ〜ｒと、前記要素Ｄ〜が設定された要素Ｅとを含む再暗号文を生成する再暗号化処理と
を行う再暗号化装置としてコンピュータを機能させる再暗号化プログラム。
【請求項７】
暗号文を生成する暗号化装置と、
前記暗号化装置によって生成された暗号文について復号できないが、前記暗号化装置によって生成された暗号文についてアクセス範囲を変更するための再暗号化鍵を生成できるマスター再暗号化鍵であって、前記暗号化装置によって生成された暗号文に含まれる暗号要素ｃ１に設定されたパラメータｙ→と対応するパラメータｗ→が設定された鍵要素ｋ＊ｒが含まれるマスター再暗号化鍵を生成するマスター再暗号化鍵生成装置と、
前記マスター再暗号化鍵生成装置によって生成された前記マスター再暗号化鍵を用いて、前記暗号化装置によって生成された対象の暗号文を再暗号化するための再暗号化鍵であって、前記鍵要素ｋ＊ｒに乱数ｒ〜を埋め込んだ鍵要素ｋ〜＊ｒと、変更後のアクセス範囲を示すパラメータｘ→’を設定した暗号要素ｃ〜ｒと、前記乱数ｒ〜を暗号化した要素Ｄ〜とを含む再暗号化鍵を生成し、生成された前記再暗号化鍵により、前記対象の暗号文を再暗号化して、前記暗号要素ｃ１を前記鍵要素ｋ〜＊ｒにより復号した要素Ｋと、前記暗号要素ｃ〜ｒと、前記要素Ｄ〜が設定された要素Ｅとを含む再暗号文を生成する再暗号化装置と、
前記暗号化装置によって生成された前記暗号文と、前記再暗号化装置によって生成された前記再暗号文との少なくともいずれかを復号する復号装置と
を備える暗号システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、暗号文を暗号化したまま暗号文のアクセス範囲を変更する再暗号化技術に関する。
【背景技術】
【０００２】
代理人再暗号化（Ｐｒｏｘｙ  Ｒｅ−Ｅｎｃｒｙｐｔｉｏｎ，ＰＲＥ）は、暗号文を復号することなく、暗号文の復号権限を他者に委譲する技術である。
非特許文献１には、属性ベース暗号におけるＰＲＥ（Ａｔｔｒｉｂｕｔｅ−Ｂａｓｅｄ  ＰＲＥ，ＡＢＰＲＥ）方式に関する記載がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｓｏｎｇ  Ｌｕｏ，  Ｊｉａｎｂｉｎ  Ｈｕ，  ａｎｄ  Ｚｈｏｎｇ  Ｃｈｅｎ  “Ｃｉｐｈｅｒｔｅｘｔ  Ｐｏｌｉｃｙ  Ａｔｔｒｉｂｕｔｅ−Ｂａｓｅｄ  Ｐｒｏｘｙ  Ｒｅ−ｅｎｃｒｙｐｔｉｏｎ”
【発明の概要】
【発明が解決しようとする課題】
【０００４】
非特許文献１に記載された代理人再暗号化方式では、暗号文のアクセス範囲を変更するための再暗号化鍵を生成するためには、ユーザの秘密鍵、もしくはマスター公開鍵が必要である。また、再暗号化鍵は、変更したいアクセス範囲毎に異なるものを生成する必要がある。ユーザの秘密鍵、もしくはマスター公開鍵は秘密に管理することが必要であるが、異なる再暗号化鍵を生成する度に使用することになり、安全性に課題がある。
この発明は、安全性を改善した再暗号化を実現可能にすることを目的とする。
【課題を解決するための手段】
【０００５】
この発明に係る再暗号化装置は、
暗号化装置によって生成された暗号文について復号できないが、前記暗号化装置によって生成された暗号文についてアクセス範囲を変更するための再暗号化鍵を生成できるマスター再暗号化鍵を用いて、前記暗号化装置によって生成された対象の暗号文を再暗号化するための再暗号化鍵を生成する再暗号化鍵生成部と、
前記再暗号化鍵生成部によって生成された前記再暗号化鍵により、前記対象の暗号文を再暗号化して再暗号文を生成する再暗号化部と
を備える。
【発明の効果】
【０００６】
この発明では、暗号化装置によって生成された暗号文について復号できないが、前記暗号化装置によって生成された暗号文についてアクセス範囲を変更するための再暗号化鍵を生成できるマスター再暗号化鍵を用いて再暗号化が行われる。
マスター再暗号化鍵では暗号文についてアクセス範囲を変更するための再暗号化鍵を生成できるため、再暗号化鍵の生成ためにユーザの秘密鍵及びマスター公開鍵は必要ない。そのため、ユーザの秘密鍵及びマスター公開鍵が漏えいする可能性を低減でき、安全性が高い。さらに、マスター再暗号化鍵では暗号文について復号できないため、マスター再暗号化鍵を用いた不正な復号が行われることがなく、安全性が高い。
【図面の簡単な説明】
【０００７】
【図１】実施の形態１に係る暗号システム１０の構成図。
【図２】実施の形態１に係る共通パラメータ生成装置２０の構成図。
【図３】実施の形態１に係るユーザ秘密鍵生成装置３０の構成図。
【図４】実施の形態１に係るマスター再暗号化鍵生成装置４０の構成図。
【図５】実施の形態１に係る暗号化装置５０の構成図。
【図６】実施の形態１に係る再暗号化装置６０の構成図。
【図７】実施の形態１に係る復号装置７０の構成図。
【図８】実施の形態１に係る共通パラメータ生成装置２０の動作を示すフローチャート。
【図９】実施の形態１に係るユーザ秘密鍵生成装置３０の動作を示すフローチャート。
【図１０】実施の形態１に係るマスター再暗号化鍵生成装置４０の動作を示すフローチャート。
【図１１】実施の形態１に係る暗号化装置５０の動作を示すフローチャート。
【図１２】実施の形態１に係る再暗号化装置６０の動作を示すフローチャート。
【図１３】実施の形態１に係る復号装置７０の動作を示すフローチャート。
【発明を実施するための形態】
【０００８】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１を参照して、実施の形態１に係る暗号システム１０の構成を説明する。
暗号システム１０は、共通パラメータ生成装置２０と、ユーザ秘密鍵生成装置３０と、マスター再暗号化鍵生成装置４０と、暗号化装置５０と、再暗号化装置６０と、復号装置７０とを備える。
共通パラメータ生成装置２０と、複数のユーザ秘密鍵生成装置３０と、マスター再暗号化鍵生成装置４０と、複数の暗号化装置５０と、再暗号化装置６０と、復号装置７０とは、インターネット及びＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）といった伝送路８０を介して接続されている。
【０００９】
図２を参照して、実施の形態１に係る共通パラメータ生成装置２０の構成を説明する。
共通パラメータ生成装置２０は、サーバといったコンピュータである。
共通パラメータ生成装置２０は、プロセッサ２１と、メモリ２２と、ストレージ２３と、通信インタフェース２４とのハードウェアを備える。プロセッサ２１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１０】
共通パラメータ生成装置２０は、機能構成要素として、取得部２１１と、共通パラメータ生成部２１２と、基底生成部２１３と、マスター鍵生成部２１４と、送信部２１５とを備える。共通パラメータ生成装置２０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ２３には、共通パラメータ生成装置２０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ２１によりメモリ２２に読み込まれ、プロセッサ２１によって実行される。これにより、共通パラメータ生成装置２０の各機能構成要素の機能が実現される。
【００１１】
図３を参照して、実施の形態１に係るユーザ秘密鍵生成装置３０の構成を説明する。
ユーザ秘密鍵生成装置３０は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）といったコンピュータである。
ユーザ秘密鍵生成装置３０は、プロセッサ３１と、メモリ３２と、ストレージ３３と、通信インタフェース３４とのハードウェアを備える。プロセッサ３１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１２】
ユーザ秘密鍵生成装置３０は、機能構成要素として、取得部３１１と、ユーザ秘密鍵生成部３１２と、送信部３１３とを備える。ユーザ秘密鍵生成装置３０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ３３には、ユーザ秘密鍵生成装置３０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ３１によりメモリ３２に読み込まれ、プロセッサ３１によって実行される。これにより、ユーザ秘密鍵生成装置３０の各機能構成要素の機能が実現される。
【００１３】
図４を参照して、実施の形態１に係るマスター再暗号化鍵生成装置４０の構成を説明する。
マスター再暗号化鍵生成装置４０は、サーバといったコンピュータである。
マスター再暗号化鍵生成装置４０は、プロセッサ４１と、メモリ４２と、ストレージ４３と、通信インタフェース４４とのハードウェアを備える。プロセッサ４１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１４】
マスター再暗号化鍵生成装置４０は、機能構成要素として、取得部４１１と、マスター再暗号化鍵生成部４１２と、送信部４１３とを備える。マスター再暗号化鍵生成装置４０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ４３には、マスター再暗号化鍵生成装置４０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ４１によりメモリ４２に読み込まれ、プロセッサ４１によって実行される。これにより、マスター再暗号化鍵生成装置４０の各機能構成要素の機能が実現される。
【００１５】
図５を参照して、実施の形態１に係る暗号化装置５０の構成を説明する。
暗号化装置５０は、ＰＣといったコンピュータである。
暗号化装置５０は、プロセッサ５１と、メモリ５２と、ストレージ５３と、通信インタフェース５４とのハードウェアを備える。プロセッサ５１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１６】
暗号化装置５０は、機能構成要素として、取得部５１１と、暗号化部５１２と、送信部５１３とを備える。暗号化装置５０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ５３には、暗号化装置５０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ５１によりメモリ５２に読み込まれ、プロセッサ５１によって実行される。これにより、暗号化装置５０の各機能構成要素の機能が実現される。
【００１７】
図６を参照して、実施の形態１に係る再暗号化装置６０の構成を説明する。
再暗号化装置６０は、サーバといったコンピュータである。
再暗号化装置６０は、プロセッサ６１と、メモリ６２と、ストレージ６３と、通信インタフェース６４とのハードウェアを備える。プロセッサ６１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１８】
再暗号化装置６０は、機能構成要素として、取得部６１１と、再暗号化鍵生成部６１２と、再暗号化部６１３と、送信部６１４とを備える。再暗号化装置６０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ６３には、再暗号化装置６０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ６１によりメモリ６２に読み込まれ、プロセッサ６１によって実行される。これにより、再暗号化装置６０の各機能構成要素の機能が実現される。
【００１９】
図７を参照して、実施の形態１に係る復号装置７０の構成を説明する。
復号装置７０は、サーバといったコンピュータである。
復号装置７０は、プロセッサ７１と、メモリ７２と、ストレージ７３と、通信インタフェース７４とのハードウェアを備える。プロセッサ７１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００２０】
復号装置７０は、機能構成要素として、取得部７１１と、判定部７１２と、復号部７１３とを備える。復号装置７０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ７３には、復号装置７０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ７１によりメモリ７２に読み込まれ、プロセッサ７１によって実行される。これにより、復号装置７０の各機能構成要素の機能が実現される。
【００２１】
プロセッサ２１，３１，４１，５１，６１，７１は、演算処理を行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ２１，３１，４１，５１，６１，７１は、具体例としては、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００２２】
メモリ２２，３２，４２，５２，６２，７２は、データを一時的に記憶する記憶装置である。メモリ２２，３２，４２，５２，６２，７２は、具体例としては、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００２３】
ストレージ２３，３３，４３，５３，６３，７３は、データを保管する記憶装置である。ストレージ２３，３３，４３，５３，６３，７３は、具体例としては、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。また、ストレージ２３，３３，４３，５３，６３，７３は、ＳＤ（登録商標，Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカード、ＣＦ（ＣｏｍｐａｃｔＦｌａｓｈ，登録商標）、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）といった可搬記憶媒体であってもよい。
【００２４】
通信インタフェース２４，３４，４４，５４，６４，７４は、外部の装置と通信するためのインタフェースである。通信インタフェース２４，３４，４４，５４，６４，７４は、具体例としては、Ｅｔｈｅｒｎｅｔ（登録商標）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＨＤＭＩ（登録商標，Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）のポートである。
【００２５】
図２では、プロセッサ２１は、１つだけ示されている。しかし、共通パラメータ生成装置２０は、プロセッサ２１を代替する複数のプロセッサを備えていてもよい。同様に、ユーザ秘密鍵生成装置３０は、プロセッサ３１を代替する複数のプロセッサを備えていてもよい。マスター再暗号化鍵生成装置４０は、プロセッサ４１を代替する複数のプロセッサを備えていてもよい。暗号化装置５０は、プロセッサ５１を代替する複数のプロセッサを備えていてもよい。再暗号化装置６０は、プロセッサ６１を代替する複数のプロセッサを備えていてもよい。復号装置７０プロセッサ７１を代替する複数のプロセッサを備えていてもよい。
これら複数のプロセッサは、各機能構成要素の機能を実現するプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ２１，３１，４１，５１，６１，７１と同じように、演算処理を行うＩＣである。
【００２６】
＊＊＊動作の説明＊＊＊
図８から図１３を参照して、実施の形態１に係る暗号システム１０の動作を説明する。
【００２７】
＊＊表記＊＊
暗号システム１０の動作の説明で用いられる表記を説明する。
Ａがランダムな変数または分布であるとき、数１０１は、Ａの分布に従いＡからｙをランダムに選択することを表す。つまり、数１０１において、ｙは乱数である。
【数１０１】
0006949276.tif 000002
Ａが集合であるとき、数１０２は、Ａからｙを一様に選択することを表す。つまり、数１０２において、ｙは一様乱数である。
【数１０２】
0006949276.tif 000003
数１０３は、ｙがｚにより定義された集合であること、又はｙがｚを代入された集合であることを表す。
【数１０３】
0006949276.tif 000004
ａが定数であるとき、数１０４は、機械（アルゴリズム）Ａが入力ｘに対しａを出力することを表す。
【数１０４】
0006949276.tif 000005
【００２８】
数１０５、つまりＦｑは、位数ｑの有限体を示す。
【数１０５】
0006949276.tif 000006
ベクトル表記は、有限体Ｆｑにおけるベクトル表示を表す。つまり、数１０６である。なお、有限体Ｆｑに上付きで記載されているｎは、ベクトルの要素数を表す。
【数１０６】
0006949276.tif 000007
数１０７は、数１０８に示す２つのベクトルｘ→とベクトルｖ→との数１０９に示す内積を表す。
【数１０７】
0006949276.tif 000008
【数１０８】
0006949276.tif 000009
【数１０９】
0006949276.tif 000010
【００２９】
ＸＴは、行列Ｘの転置行列を表す。
【００３０】
数１１０に示す基底Ｂと基底Ｂ＊とに対して、数１１１である。
【数１１０】
0006949276.tif 000011
【数１１１】
0006949276.tif 000012
【００３１】
＊＊双対ペアリングベクトル空間＊＊
暗号システム１０は、双対ペアリングベクトル空間を用いて代理人再暗号化方式を実現する。
【００３２】
まず、対称双線形ペアリング群について説明する。
対称双線形ペアリング群（ｑ，Ｇ，ＧＴ，ｇ，ｅ）は、素数ｑと、位数ｑの巡回加法群Ｇと、位数ｑの巡回乗法群ＧＴと、ｇ≠０∈Ｇと、多項式時間で計算可能な非退化双線形ペアリング（Ｎｏｎｄｅｇｅｎｅｒａｔｅ  Ｂｉｌｉｎｅａｒ  Ｐａｉｒｉｎｇ）ｅ：Ｇ×Ｇ→ＧＴとの組である。非退化双線形ペアリングは、ｅ（ｓｇ，ｔｇ）＝ｅ（ｇ，ｇ）ｓｔであり、ｅ（ｇ，ｇ）≠１である。
以下の説明において、Ｇｂｐｇを、１λを入力として、セキュリティパラメータをλとする双線形ペアリング群のパラメータｐａｒａｍＧ：＝（ｑ，Ｇ，ＧＴ，ｇ，ｅ）の値を出力するアルゴリズムとする。
【００３３】
次に、双対ペアリングベクトル空間について説明する。
双対ペアリングベクトル空間（ｑ，Ｖ，ＧＴ，Ａ，ｅ）は、対称双線形ペアリング群（ｐａｒａｍＧ：＝（ｑ，Ｇ，ＧＴ，ｇ，ｅ））の直積によって構成することができる。双対ペアリングベクトル空間（ｑ，Ｖ，ＧＴ，Ａ，ｅ）は、素数ｑ、数１１２に示すＦｑ上のＮ次元ベクトル空間Ｖ、位数ｑの巡回群ＧＴ、空間Ｖの標準基底Ａ：＝（ａ１，．．．，ａＮ）の組であり、以下の演算（１）（２）を有する。ここで、ａｉは、数１１３に示す通りである。
【数１１２】
0006949276.tif 000013
【数１１３】
0006949276.tif 000014
【００３４】
演算（１）：非退化双線形ペアリング
空間Ｖにおけるペアリングは、数１１４によって定義される。
【数１１４】
0006949276.tif 000015
これは、非退化双線形である。つまり、ｅ（ｓｘ，ｔｙ）＝ｅ（ｘ，ｙ）ｓｔであり、全てのｙ∈Ｖに対して、ｅ（ｘ，ｙ）＝１の場合、ｘ＝０である。また、全てのｉとｊとに対して、ｅ（ａｉ，ａｊ）＝ｅ（ｇ，ｇ）δｉ，ｊである。ここで、ｉ＝ｊであれば、δｉ，ｊ＝１であり、ｉ≠ｊであれば、δｉ，ｊ＝０である。また、ｅ（ｇ，ｇ）≠１∈ＧＴである。
【００３５】
演算（２）：ディストーション写像
数１１５に示す空間Ｖにおける線形変換φｉ，ｊは、数１１６を行うことができる。
【数１１５】
0006949276.tif 000016
【数１１６】
0006949276.tif 000017
ここで、線形変換φｉ，ｊをディストーション写像と呼ぶ。
【００３６】
以下の説明において、Ｇｄｐｖｓを、１λ（λ∈自然数）、Ｎ∈自然数、双線形ペアリング群のパラメータｐａｒａｍＧ：＝（ｑ，Ｇ，ＧＴ，ｇ，ｅ）の値を入力として、セキュリティパラメータがλであり、Ｎ次元の空間Ｖとする双対ペアリングベクトル空間のパラメータｐａｒａｍＶ：＝（ｑ，Ｖ，ＧＴ，Ａ，ｅ）の値を出力するアルゴリズムとする。
【００３７】
なお、ここでは、上述した対称双線形ペアリング群により、双対ペアリングベクトル空間を構成した場合について説明する。なお、非対称双線形ペアリング群により双対ペアリングベクトル空間を構成することも可能である。以下の説明を、非対称双線形ペアリング群により双対ペアリングベクトル空間を構成した場合に応用することは容易である。
【００３８】
＊＊共通パラメータ生成装置２０の動作＊＊
図８を参照して、実施の形態１に係る共通パラメータ生成装置２０の動作を説明する。
実施の形態１に係る共通パラメータ生成装置２０の動作手順は、実施の形態１に係る共通パラメータ生成方法に相当する。また、実施の形態１に係る共通パラメータ生成装置２０の動作を実現するプログラムは、実施の形態１に係る共通パラメータ生成プログラムに相当する。
【００３９】
共通パラメータ生成装置２０は、暗号システム１０で用いられる公開鍵ｐｋとマスター秘密鍵ｍｓｋとを生成する。共通パラメータ生成装置２０は、伝送路８０を介して、ユーザ秘密鍵生成装置３０と、マスター再暗号化鍵生成装置４０と、各暗号化装置５００とに公開鍵ｐｋを送信する。また、共通パラメータ生成装置２０は、伝送路８０を介して、ユーザ秘密鍵生成装置３０と、マスター再暗号化鍵生成装置４０とにマスター秘密鍵ｍｓｋを秘密裡に送信する。秘密裡に送信するとは、既存の暗号化方式により暗号化すること等により、第三者から秘匿された状態で送信するという意味である。
なお、公開鍵ｐｋ及びマスター秘密鍵ｍｓｋは、伝送路８０を介して送信されるのではなく、郵送といった方法により送信されてもよい。
【００４０】
（ステップＳ１１：取得処理）
取得部２１１は、鍵長を表すセキュリティパラメータλを取得する。
具体的には、取得部２１１は、暗号システム１０の管理者によって入力されたセキュリティパラメータλを受け付ける。取得部２１１は、セキュリティパラメータλをメモリ２２に書き込む。
【００４１】
（ステップＳ１２：共通パラメータ生成処理）
共通パラメータ生成部２１２は、ステップＳ１１で取得されたセキュリティパラメータλを入力として、上述したアルゴリズムＧｄｐｖｓにより、双対ペアリングベクトル空間のパラメータｐａｒａｍＶ：＝（ｑ，Ｖ，ＧＴ，Ａ，ｅ）を生成する。具体的には、共通パラメータ生成部２１２は、数１１７に示すように、パラメータｐａｒａｍＶを生成する。
【数１１７】
0006949276.tif 000018
【００４２】
また、共通パラメータ生成部２１２は、数１１８に示すように要素ｇＴを生成する。
【数１１８】
0006949276.tif 000019
そして、共通パラメータ生成部２１２は、パラメータｐａｒａｍＶと、要素ｇＴとを設定した共通パラメータｐａｒａｍを生成する。共通パラメータ生成部２１２は、共通パラメータｐａｒａｍをメモリ２２に書き込む。
【００４３】
（ステップＳ１３：基底生成処理）
基底生成部２１３は、ステップＳ１２で生成されたパラメータｐａｒａｍｖを用いて、ｕ＝０，１の各整数ｕについての基底Ｂ＾ｕ及び基底Ｂ＾＊ｕを生成する。具体的には、基底生成部２１３は、数１１９に示すように、ｕ＝０，１の各整数ｕについての基底Ｂ＾ｕ及び基底Ｂ＾＊ｕを生成する。
【数１１９】
0006949276.tif 000020
【００４４】
また、基底生成部２１３は、数１２０に示すように、基底Ｂ＾ｕを用いてパラメータｙ→：＝（ｙ１，．．．，ｙｎ）を設定した要素ｃを生成する。
【数１２０】
0006949276.tif 000021
また、基底生成部２１３は、数１２１に示すように、パラメータｗ→：＝（ｗ１，．．．，ｗｎ）を生成する。
【数１２１】
0006949276.tif 000022
また、基底生成部２１３は、数１２２に示すエンコード関数Ｇを生成する。
【数１２２】
0006949276.tif 000023
基底生成部２１３は、基底Ｂ＾ｕ及び基底Ｂ＾＊ｕと、要素ｃと、パラメータｗ→と、エンコード関数Ｇとをメモリ２２に書き込む。
【００４５】
（ステップＳ１４：公開鍵生成処理）
マスター鍵生成部２１４は、セキュリティパラメータλと、共通パラメータｐａｒａｍと、基底Ｂ＾０及び基底Ｂ＾＊０と、基底ベクトルｂ１．０及び基底ベクトルｂ１．３ｎ＋２と、要素ｃと、エンコード関数Ｇとを設定した公開鍵ｐｋを生成する。つまり、ｐｋ：＝（λ，ｐａｒａｍ，Ｂ＾０，Ｂ＾＊０，ｂ１．０，ｂ１．３ｎ＋２，ｃ，Ｇ）である。
【００４６】
（ステップＳ１５：マスター秘密鍵生成処理）
マスター鍵生成部２１４は、基底ベクトルｂ＊０．０及び基底ベクトルｂ＊０．１と、基底Ｂ＾＊１と、パラメータｗ→とを設定したマスター秘密鍵ｍｓｋを生成する。つまり、ｍｓｋ：＝（ｂ＊０．０，ｂ＊０．１，Ｂ＾＊１，ｗ→）である。
【００４７】
（ステップＳ１６：送信処理）
送信部２１５は、伝送路８０を介して、ユーザ秘密鍵生成装置３０と、マスター再暗号化鍵生成装置４０と、各暗号化装置５００とに公開鍵ｐｋを送信する。また、送信部２１５は、伝送路８０を介して、ユーザ秘密鍵生成装置３０と、マスター再暗号化鍵生成装置４０とにマスター秘密鍵ｍｓｋを秘密裡に送信する。
【００４８】
＊＊ユーザ秘密鍵生成装置３０の動作＊＊
図９を参照して、実施の形態１に係るユーザ秘密鍵生成装置３０の動作を説明する。
実施の形態１に係るユーザ秘密鍵生成装置３０の動作手順は、実施の形態１に係るユーザ秘密鍵生成方法に相当する。また、実施の形態１に係るユーザ秘密鍵生成装置３０の動作を実現するプログラムは、実施の形態１に係るユーザ秘密鍵生成プログラムに相当する。
【００４９】
ユーザ秘密鍵生成装置３０は、公開鍵ｐｋ及びマスター秘密鍵ｍｓｋに基づき、ユーザ秘密鍵ｄｋｖを生成する。ユーザ秘密鍵生成装置３０は、伝送路８０を介して、再暗号化装置６００と復号装置７０とにユーザ秘密鍵ｄｋｖを秘密裡に送信する。
なお、ユーザ秘密鍵ｄｋｖは、伝送路８０を介して送信されるのではなく、郵送といった方法により送信されてもよい。
【００５０】
（ステップＳ２１：取得処理）
取得部３１１は、共通パラメータ生成装置２０によって送信された公開鍵ｐｋ及びマスター秘密鍵ｍｓｋを取得する。取得部３１１は、公開鍵ｐｋ及びマスター秘密鍵ｍｓｋをメモリ３２に書き込む。
【００５１】
また、取得部３１１は、パラメータｖ→：＝（ｖ１，．．．，ｖｎ）を取得する。具体的には、取得部３１１は、ユーザ秘密鍵生成装置３０の管理者によって入力されたパラメータｖ→を受け付ける。取得部３１１は、パラメータｖ→をメモリ３２に書き込む。パラメータｖ→は、ユーザ秘密鍵ｄｋｖを使用するユーザの属性等を表す。
【００５２】
（ステップＳ２２：ユーザ秘密鍵生成処理）
ユーザ秘密鍵生成部３１２は、数１２３に示すように、乱数を生成する。
【数１２３】
0006949276.tif 000024
ユーザ秘密鍵生成部３１２は、数１２４に示すように、鍵要素ｋ＊を生成する。
【数１２４】
0006949276.tif 000025
ユーザ秘密鍵生成部３１２は、鍵要素ｋ＊をメモリ３２に書き込む。
【００５３】
（ステップＳ２３：送信処理）
送信部３１３は、パラメータｖ→と、鍵要素ｋ＊とを設定したユーザ秘密鍵ｄｋｖを、伝送路８０を介して、復号装置７０とに秘密裡に送信する。
【００５４】
＊＊マスター再暗号化鍵生成装置４０の動作＊＊
図１０を参照して、実施の形態１に係るマスター再暗号化鍵生成装置４０の動作を説明する。
実施の形態１に係るマスター再暗号化鍵生成装置４０の動作手順は、実施の形態１に係るマスター再暗号化鍵生成方法に相当する。また、実施の形態１に係るマスター再暗号化鍵生成装置４０の動作を実現するプログラムは、実施の形態１に係るマスター再暗号化鍵生成プログラムに相当する。
【００５５】
マスター再暗号化鍵生成装置４０は、公開鍵ｐｋ及びマスター秘密鍵ｍｓｋに基づき、マスター再暗号化鍵ｍｒｋを生成する。マスター再暗号化鍵生成装置４０は、伝送路８０を介して、再暗号化装置６０にマスター再暗号化鍵ｍｒｋを秘密裡に送信する。
なお、マスター再暗号化鍵ｍｒｋは、伝送路８０を介して送信されるのではなく、郵送といった方法により送信されてもよい。
【００５６】
（ステップＳ３１：取得処理）
取得部４１１は、共通パラメータ生成装置２０によって送信された公開鍵ｐｋ及びマスター秘密鍵ｍｓｋを取得する。取得部３１１は、公開鍵ｐｋ及びマスター秘密鍵ｍｓｋをメモリ３２に書き込む。
【００５７】
（ステップＳ３２：マスター再暗号化鍵生成処理）
マスター再暗号化鍵生成部４１２は、数１２５に示すように、乱数を生成する。
【数１２５】
0006949276.tif 000026
マスター再暗号化鍵生成部４１２は、数１２６に示すように、鍵要素ｋ＊ｒと、暗号要素ｃｒと、要素Ｄとを生成する。数１２６に示すように、鍵要素ｋ＊ｒには、後述する暗号化装置５０によって生成される暗号文に含まれる暗号要素ｃ１に設定されたパラメータｙ→と対応するパラメータｗ→が設定されている。
【数１２６】
0006949276.tif 000027
マスター再暗号化鍵生成部４１２は、鍵要素ｋ＊ｒと、暗号要素ｃｒと、要素Ｄとをメモリ４２に書き込む。
【００５８】
（ステップＳ３３：送信処理）
送信部４１３は、鍵要素ｋ＊ｒと、暗号要素ｃｒと、要素Ｄと、基底Ｂ＾＊１とを設定したマスター再暗号化鍵ｍｒｋを、伝送路８０を介して再暗号化装置６０に秘密裡に送信する。
【００５９】
＊＊暗号化装置５０の動作＊＊
図１１を参照して、実施の形態１に係る暗号化装置５０の動作を説明する。
実施の形態１に係る暗号化装置５０の動作手順は、実施の形態１に係る暗号化方法に相当する。また、実施の形態１に係る暗号化装置５０の動作を実現するプログラムは、実施の形態１に係る暗号化プログラムに相当する。
【００６０】
暗号化装置５０は、公開鍵ｐｋに基づき、アクセス範囲ｘを設定しメッセージｍを暗号化した暗号文ｏｃｔｘを生成する。暗号化装置５０は、伝送路８０を介して、暗号文ｏｃｔｘを再暗号化装置６０と復号装置７０とに送信する。
なお、暗号文ｏｃｔｘは、伝送路８０を介して送信されるのではなく、郵送といった方法により送信されてもよい。また、暗号文ｏｃｔｘは、再暗号化装置６０と復号装置７０とのどちらか一方にだけ必要に応じて送信されてもよい。
【００６１】
（ステップＳ４１：取得処理）
取得部５１１は、共通パラメータ生成装置２０によって送信された公開鍵ｐｋを取得する。取得部５１１は、公開鍵ｐｋをメモリ５２に書き込む。
【００６２】
また、取得部５１１は、パラメータｘ→：＝（ｘ１，．．．，ｘｎ）と、メッセージｍとを取得する。具体的には、取得部５１１は、暗号化装置５０の管理者によって入力されたパラメータｘ→及びメッセージｍを受け付ける。取得部５１１は、パラメータｘ→及びメッセージｍをメモリ５２に書き込む。パラメータｘ→は、暗号文ｏｃｔｘのアクセス範囲を示す属性等を表す。
【００６３】
（ステップＳ４２：暗号化処理）
暗号化部５１２は、数１２７に示すように、乱数を生成する。
【数１２７】
0006949276.tif 000028
暗号化部５１２は、数１２８に示すように、暗号要素ｃ０と、暗号要素ｃ１と、暗号要素Ｃとを生成する
【数１２８】
0006949276.tif 000029
【００６４】
（ステップＳ４３：送信処理）
送信部５１３は、パラメータｘ→と、暗号要素ｃ０と、暗号要素ｃ１と、暗号要素Ｃとを設定した暗号文ｏｃｔｘを再暗号化装置６０と復号装置７０とに送信する。
【００６５】
＊＊再暗号化装置６０の動作＊＊
図１２を参照して、実施の形態１に係る再暗号化装置６０の動作を説明する。
実施の形態１に係る再暗号化装置６０の動作手順は、実施の形態１に係る再暗号化方法に相当する。また、実施の形態１に係る再暗号化装置６０の動作を実現するプログラムは、実施の形態１に係る再暗号化プログラムに相当する。
【００６６】
再暗号化装置６０は、公開鍵ｐｋ及びマスター再暗号化鍵ｍｒｋに基づき、再暗号文ｒｃｔｘ’を生成する。再暗号化装置６０は、伝送路８０を介して、再暗号文ｒｃｔｘ’を復号装置７０に送信する。
なお、再暗号文ｒｃｔｘ’は、伝送路８０を介して送信されるのではなく、郵送といった方法により送信されてもよい。
【００６７】
（ステップＳ５１：取得処理）
取得部６１１は、共通パラメータ生成装置２０によって送信された公開鍵ｐｋと、マスター再暗号化鍵生成装置４０によって送信されたマスター再暗号化鍵ｍｒｋとを取得する。取得部６１１は、公開鍵ｐｋ及びマスター再暗号化鍵ｍｒｋをメモリ６２に書き込む。
【００６８】
また、取得部６１１は、暗号化装置５０によって送信された、再暗号化する対象の暗号文ｏｃｔｘを取得する。取得部６１１は、対象の暗号文ｏｃｔｘをメモリ６２に書き込む。
【００６９】
また、取得部６１１は、パラメータｘ→’：＝（ｘ’１，．．．，ｘ’ｎ）を取得する。具体的には、取得部６１１は、再暗号化装置６０の管理者によって入力されたパラメータｘ→’を受け付ける。取得部６１１は、パラメータｘ→’をメモリ６２に書き込む。パラメータｘ→’は、再暗号文ｒｃｔｘ’のアクセス範囲を示す属性等を表す。つまり、パラメータｘ→’は、変更後のアクセス範囲を示す。
【００７０】
（ステップＳ５２：再暗号化鍵生成処理）
再暗号化鍵生成部６１２は、数１２９に示すように、乱数を生成する。
【数１２９】
0006949276.tif 000030
再暗号化鍵生成部６１２は、数１３０に示すように、鍵要素ｋ〜＊ｒと、暗号要素ｃ〜ｒ（ｃ〜ｒ．０及びｃ〜ｒ．１）と、要素Ｄ〜とを生成する。
【数１３０】
0006949276.tif 000031
数１３０に示すように、鍵要素ｋ〜＊ｒは、鍵要素ｋ＊ｒに乱数ｒ〜が埋め込まれている。暗号要素ｃ〜ｒは、変更後のアクセス範囲を示すパラメータｘ→’が設定され、乱数ζ〜ｒが埋め込まれている。要素Ｄ〜は、乱数ζ〜ｒを埋め込んで乱数ｒ〜が暗号化されている。
再暗号化鍵生成部６１２は、鍵要素ｋ〜＊ｒと、暗号要素ｃ〜ｒ（ｃ〜ｒ．０及びｃ〜ｒ．１）と、要素Ｄ〜とをメモリ６２に書き込む。
【００７１】
（ステップＳ５３：再暗号化処理）
再暗号化部６１３は、数１３１に示すように、要素Ｋと、要素Ｅとを生成する。
【数１３１】
0006949276.tif 000032
数１３１に示すように、要素Ｋは、暗号要素ｃ１と復号鍵ｋ〜＊ｒとのペアリング演算を計算することにより、暗号要素ｃ１を復号鍵ｋ〜＊ｒにより復号して生成されている。また、要素Ｋは、乱数ｒ’が埋め込まれている。要素Ｅは、要素Ｄ〜に乱数ｒ’が埋め込まれている。
【００７２】
（ステップＳ５４：送信処理）
送信部６１４は、パラメータｘ→’と、暗号要素ｃ〜ｒ（ｃ〜ｒ．０及びｃ〜ｒ．１）と、要素Ｅと、要素Ｋと、暗号要素Ｃとを設定した再暗号文ｒｃｔｘ’を、伝送路８０を介して復号装置７０に送信する。
【００７３】
＊＊復号装置７０の動作＊＊
図１３を参照して、実施の形態１に係る復号装置７０の動作を説明する。
実施の形態１に係る復号装置７０の動作手順は、実施の形態１に係る復号方法に相当する。また、実施の形態１に係る復号装置７０の動作を実現するプログラムは、実施の形態１に係る復号プログラムに相当する。
【００７４】
復号装置７０は、暗号化装置５０によって生成された暗号文ｏｃｔｘと、再暗号化装置６０によって生成された再暗号文ｒｃｔｘ’とを復号する。
【００７５】
（ステップＳ６１：取得処理）
取得部７１１は、ユーザ秘密鍵生成装置３０によって送信されたユーザ秘密鍵ｄｋｖを取得する。取得部７１１は、ユーザ秘密鍵ｄｋｖをメモリ７２に書き込む。
【００７６】
取得部７１１は、暗号化装置５０によって送信された暗号文ｏｃｔｘと、再暗号化装置６０によって送信された再暗号文ｒｃｔｘ’とどちらかの暗号文ｃｔを取得する。取得部７１１は、暗号文ｃｔをメモリ７２に書き込む。
【００７７】
（ステップＳ６２：判定処理）
判定部７１２は、ステップＳ６１で取得された暗号文ｃｔが暗号文ｏｃｔｘと再暗号文ｒｃｔｘ’とのどちらであるかを判定する。具体的には、判定部７１２は、暗号文ｃｔの要素数により、暗号文ｃｔが暗号文ｏｃｔｘと再暗号文ｒｃｔｘ’とのどちらであるかを判定する。
判定部７１２は、暗号文ｃｔが暗号文ｏｃｔｘである場合には、処理をステップＳ６３に進める。一方、判定部７１２は、暗号文ｃｔが再暗号文ｒｃｔｘ’である場合には、処理をステップＳ６４に進める。
【００７８】
（ステップＳ６３：第１復号処理）
復号部７１３は、数１３２に示すように、暗号文ｃｔ（＝暗号文ｏｃｔｘ）を復号して、メッセージｍ’を生成する。
【数１３２】
0006949276.tif 000033
ここで、暗号文ｃｔに設定されたパラメータｘ→と、ユーザ秘密鍵ｄｋｖに設定されたパラメータｖ→とが対応している場合に、暗号文ｃｔが正しく復号され、メッセージｍ’＝メッセージｍになる。パラメータｘ→とパラメータｖ→とが対応しているとは、ｘ→・ｖ→＝０となるという意味である。
【００７９】
（ステップＳ６４：第２復号処理）
復号部７１３は、数１３３に示すように、暗号文ｃｔ（＝再暗号文ｒｃｔｘ’）を復号して、メッセージｍ’を生成する。
【数１３３】
0006949276.tif 000034
ここで、暗号文ｃｔに設定されたパラメータｘ→’と、ユーザ秘密鍵ｄｋｖに設定されたパラメータｖ→とが対応している場合に、暗号文ｃｔが正しく復号され、メッセージｍ’＝メッセージｍになる。パラメータｘ→’とパラメータｖ→とが対応しているとは、ｘ→・ｖ→＝０となるという意味である。
【００８０】
（ステップＳ６５：出力処理）
復号部７１３は、ステップＳ６３又はステップＳ６４で生成されたメッセージｍ’を通信インタフェース６４を介して出力する。
【００８１】
ここで、数１３１に示す要素Ｅは、数１３４に示す通りである。
【数１３４】
0006949276.tif 000035
数１３３に示す２つのペアリング演算は、ｘ→’・ｖ→＝０の場合には、数１３５に示す通りである。
【数１３５】
0006949276.tif 000036
したがって、数１３３に示す要素Ｒは、数１３６に示す通りである。
【数１３６】
0006949276.tif 000037
【００８２】
また、数１３１に示す要素Ｋは、数１３７に示す通りである。
【数１３７】
0006949276.tif 000038
したがって、数１３３に示すメッセージｍ’は、数１３８に示す通りである。
【数１３８】
0006949276.tif 000039
【００８３】
ここで、暗号化装置５０によって生成された暗号文ｏｃｔｘの暗号要素ｃ０には、パラメータｘ→が設定される。マスター再暗号化鍵ｍｒｋは、パラメータｘ→に対応するパラメータｖ→が設定された鍵要素を含まない。そのため、マスター再暗号化鍵ｍｒｋは、暗号化装置５０によって生成された何れの暗号文ｏｃｔｘについても復号できない。
また、暗号化装置５０によって生成された暗号文ｏｃｔｘの暗号要素ｃ１は、パラメータｙ→が設定された要素ｃが埋め込まれる。マスター再暗号化鍵ｍｒｋは、パラメータｙ→に対応するパラメータｗ→が設定された鍵要素ｋ＊ｒを含む。そのため、マスター再暗号化鍵ｍｒｋは、暗号化装置５０によって生成された何れの暗号文ｏｃｔｘについてもアクセス範囲を変更するための再暗号化鍵を生成できる
【００８４】
＊＊＊実施の形態１の効果＊＊＊
以上のように、実施の形態１に係る暗号システム１０では、暗号化装置によって生成された何れの暗号文についても復号できないが、前記暗号化装置によって生成された何れの暗号文についてもアクセス範囲を変更するための再暗号化鍵を生成できるマスター再暗号化鍵を用いて再暗号化が行われる。
マスター再暗号化鍵では何れの暗号文についてもアクセス範囲を変更するための再暗号化鍵を生成できるため、再暗号化鍵の生成ためにユーザの秘密鍵及びマスター公開鍵は必要ない。そのため、ユーザの秘密鍵及びマスター公開鍵が漏えいする可能性を低減でき、安全性が高い。さらに、マスター再暗号化鍵では何れの暗号文についても復号できないため、マスター再暗号化鍵を用いた不正な復号が行われることがなく、安全性が高い。
【００８５】
＊＊＊他の構成＊＊＊
＜変形例１＞
実施の形態１では、各機能構成要素がソフトウェアで実現された。しかし、変形例１として、各機能構成要素はハードウェアで実現されてもよい。この変形例１について、実施の形態１と異なる点を説明する。
【００８６】
機能がハードウェアで実現される場合、共通パラメータ生成装置２０は、プロセッサ２１とメモリ２２とストレージ２３とに代えて、電子回路を備える。電子回路は、共通パラメータ生成装置２０の機能構成要素と、メモリ２２とストレージ２３との機能とを実現する専用の回路である。
【００８７】
機能がハードウェアで実現される場合、ユーザ秘密鍵生成装置３０は、プロセッサ３１とメモリ３２とストレージ３３とに代えて、電子回路を備える。電子回路は、ユーザ秘密鍵生成装置３０の機能構成要素と、メモリ３２とストレージ３３との機能とを実現する専用の回路である。
【００８８】
機能がハードウェアで実現される場合、マスター再暗号化鍵生成装置４０は、プロセッサ４１とメモリ４２とストレージ４３とに代えて、電子回路を備える。電子回路は、マスター再暗号化鍵生成装置４０の機能構成要素と、メモリ４２とストレージ４３との機能とを実現する専用の回路である。
【００８９】
機能がハードウェアで実現される場合、暗号化装置５０は、プロセッサ５１とメモリ５２とストレージ５３とに代えて、電子回路を備える。電子回路は、暗号化装置５０の機能構成要素と、メモリ５２とストレージ５３との機能とを実現する専用の回路である。
【００９０】
機能がハードウェアで実現される場合、再暗号化装置６０は、プロセッサ６１とメモリ６２とストレージ６３とに代えて、電子回路を備える。電子回路は、再暗号化装置６０の機能構成要素と、メモリ６２とストレージ６３との機能とを実現する専用の回路である。
【００９１】
機能がハードウェアで実現される場合、復号装置７０は、プロセッサ７１とメモリ７２とストレージ７３とに代えて、電子回路を備える。電子回路は、復号装置７０の機能構成要素と、メモリ７２とストレージ７３との機能とを実現する専用の回路である。
【００９２】
電子回路は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が想定される。
共通パラメータ生成装置２０の各機能構成要素の機能を１つの電子回路で実現してもよいし、共通パラメータ生成装置２０の各機能構成要素の機能を複数の電子回路に分散させて実現してもよい。同様に、ユーザ秘密鍵生成装置３０とマスター再暗号化鍵生成装置４０と暗号化装置５０と再暗号化装置６０と復号装置７０とのそれぞれについて、各機能構成要素の機能を１つの電子回路で実現してもよいし、各機能構成要素の機能を複数の電子回路に分散させて実現してもよい。
【００９３】
＜変形例２＞
変形例２として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、各機能構成要素のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
【００９４】
プロセッサ２１，３１，４１，５１，６１，７１とメモリ２２，３２，４２，５２，６２，７２とストレージ２３，３３，４３，５３，６３，７３と電子回路とを処理回路という。つまり、各機能構成要素の機能は、処理回路により実現される。
【符号の説明】
【００９５】
１０  暗号システム、２０  共通パラメータ生成装置、２１  プロセッサ、２２  メモリ、２３  ストレージ、２４  通信インタフェース、２１１  取得部、２１２  共通パラメータ生成部、２１３  基底生成部、２１４  マスター鍵生成部、２１５  送信部、３０  ユーザ秘密鍵生成装置、３１  プロセッサ、３２  メモリ、３３  ストレージ、３４  通信インタフェース、３１１  取得部、３１２  ユーザ秘密鍵生成部、３１３  送信部、４０  マスター再暗号化鍵生成装置、４１  プロセッサ、４２  メモリ、４３  ストレージ、４４  通信インタフェース、４１１  取得部、４１２  マスター再暗号化鍵生成部、４１３  送信部、５０  暗号化装置、５１  プロセッサ、５２  メモリ、５３  ストレージ、５４  通信インタフェース、５１１  取得部、５１２  暗号化部、５１３  送信部、６０  再暗号化装置、６１  プロセッサ、６２  メモリ、６３  ストレージ、６４  通信インタフェース、６１１  取得部、６１２  再暗号化鍵生成部、６１３  再暗号化部、６１４  送信部、７０  復号装置、７１  プロセッサ、７２  メモリ、７３  ストレージ、７４  通信インタフェース、７１１  取得部、７１２  判定部、７１３  復号部、８０  伝送路。
【図１】
0006949276.tif 000043
【図２】
0006949276.tif 000044
【図３】
0006949276.tif 000045
【図４】
0006949276.tif 000046
【図５】
0006949276.tif 000047
【図６】
0006949276.tif 000048
【図７】
0006949276.tif 000049
【図８】
0006949276.tif 000050
【図９】
0006949276.tif 000051
【図１０】
0006949276.tif 000052
【図１１】
0006949276.tif 000053
【図１２】
0006949276.tif 000054
【図１３】
0006949276.tif 000055