(57)【特許請求の範囲】
【請求項１】
鍵属性ｘが設定された復号鍵ｔｄｋｘと、前記復号鍵ｔｄｋｘで暗号文を復号するために用いられるタグｔｇφとに乱数を設定して、復号鍵ｔｄｋｘ＾とタグｔｇφ＾とを生成するランダム化部と、
前記ランダム化部によって生成された前記復号鍵ｔｄｋｘ＾を、暗号文属性ｙ’を用いて属性ベース暗号方式により暗号化して、暗号化鍵ａｃｔｙ’を生成する暗号化鍵生成部と、
前記暗号化鍵生成部によって生成された前記暗号化鍵ａｃｔｙ’と、前記ランダム化部によって生成された前記タグｔｇφ＾とを含む再暗号化鍵ｒｋｘ、ｙ’を出力する再暗号化鍵出力部と
を備える再暗号化鍵生成装置。
【請求項２】
前記再暗号化鍵ｒｋｘ、ｙ’は、前記鍵属性ｘに対応する暗号文属性ｙが設定されたオリジナル暗号文ｏｃｔｙから、前記暗号文属性ｙ’に対応する鍵属性ｘ’が設定された復号鍵ａｄｋｘ’で復号可能な再暗号化暗号文ｒｃｔｙ’を生成するための鍵である
請求項１に記載の再暗号化鍵生成装置。
【請求項３】
前記ランダム化部は、数１に示すように、復号鍵ｔｄｋｘ＾とタグｔｇφ＾とを生成し、
前記暗号化鍵生成部は、数２に示すように、暗号化鍵ａｃｔｙ’を生成する
請求項１又は２に記載の再暗号化鍵生成装置。
【数１】
0006599055.tif 000034
【数２】
0006599055.tif 000035
【請求項４】
暗号文属性ｙが設定されたオリジナル暗号文ｏｃｔｙを取得する暗号文取得部と、
前記暗号文属性ｙに対応する鍵属性ｘが設定された復号鍵ｔｄｋｘに乱数が設定された上で、暗号文属性ｙ’を用いて属性ベース暗号方式により暗号化されて生成された暗号化鍵ａｃｔｙ’と、前記復号鍵ｔｄｋｘで暗号文を復号するために用いられるタグｔｇφに乱数が設定されたタグｔｇφ＾とを含む再暗号化鍵ｒｋｘ、ｙ’を取得する再暗号化鍵取得部と、
前記再暗号化鍵取得部によって取得された再暗号化鍵ｒｋｘ、ｙ’に含まれる前記タグｔｇφ＾を変形して、復号タグｔｇｖｋを生成する復号タグ生成部と、
前記暗号文取得部によって取得されたオリジナル暗号文ｏｃｔｙと、前記再暗号化鍵取得部によって取得された前記再暗号化鍵ｒｋｘ、ｙ’に含まれる前記暗号化鍵ａｃｔｙ’と、前記復号タグ生成部によって生成された前記復号タグｔｇｖｋとを、前記暗号文属性ｙ’を用いて属性ベース暗号方式により暗号化して、再暗号化暗号文ｒｃｔｙ’を生成する再暗号化部と
を備える再暗号化装置。
【請求項５】
前記オリジナル暗号文ｏｃｔｙは、データｖｋが設定されており、
前記復号タグ生成部は、前記タグｔｇφ＾に前記データｖｋを設定して前記復号タグｔｇｖｋを生成する
請求項４に記載の再暗号化装置。
【請求項６】
前記復号タグ生成部は、数３に示すように、前記復号タグｔｇｖｋを生成し、
前記再暗号化部は、数４に示すように、前記再暗号化暗号文ｒｃｔｙ’を生成する
請求項４又は５に記載の再暗号化装置。
【数３】
0006599055.tif 000036
【数４】
0006599055.tif 000037
【請求項７】
暗号文属性ｙが設定されたオリジナル暗号文ｏｃｔｙと、前記暗号文属性ｙに対応する鍵属性ｘが設定された復号鍵ｔｄｋｘに乱数が設定された上で、暗号文属性ｙ’を用いて属性ベース暗号方式により暗号化されて生成された暗号化鍵ａｃｔｙ’と、前記復号鍵ｔｄｋｘで暗号文を復号するために用いられるタグｔｇφから生成された復号タグｔｇｖｋとが、暗号文属性ｙ’を用いて属性ベース暗号方式により暗号化されて生成された再暗号化暗号文ｒｃｔｙ’を取得する再暗号化暗号文取得部と、
前記再暗号化暗号文取得部によって取得された前記再暗号化暗号文ｒｃｔｙ’を、前記暗号文属性ｙ’に対応する鍵属性ｘ’が設定された復号鍵ａｄｋｘ’で復号して、前記オリジナル暗号文ｏｃｔｙと前記暗号化鍵ａｃｔｙ’と前記復号タグｔｇｖｋとを生成する第１復号部と、
前記第１復号部によって生成された前記暗号化鍵ａｃｔｙ’を前記復号鍵ａｄｋｘ’で復号して、乱数が設定された復号鍵ｔｄｋｘ＾を生成する第２復号部と、
前記第２復号部によって生成された乱数が設定された復号鍵ｔｄｋｘ＾と、前記復号タグｔｇｖｋとを用いて、前記オリジナル暗号文ｏｃｔｙを復号する第３復号部と
を備える再暗号化暗号文復号装置。
【請求項８】
前記再暗号化暗号文取得部は、数５に示す前記再暗号化暗号文ｒｃｔｙ’を取得し、
前記第１復号部は、数６に示すように、前記オリジナル暗号文ｏｃｔｙと前記暗号化鍵ａｃｔｙ’と前記復号タグｔｇｖｋとを生成し、
前記第２復号部は、数７に示すように、前記復号鍵ｔｄｋｘを生成し、
前記第３復号部は、数８に示すように、前記オリジナル暗号文ｏｃｔｙを復号する
請求項７に記載の再暗号化暗号文復号装置。
【数５】
0006599055.tif 000038
【数６】
0006599055.tif 000039
【数７】
0006599055.tif 000040
【数８】
0006599055.tif 000041
【請求項９】
鍵属性ｘが設定された復号鍵ｔｄｋｘと前記復号鍵ｔｄｋｘで暗号文を復号するために用いられるタグｔｇφとを含むタグ付き復号鍵と、前記鍵属性ｘが設定された復号鍵ａｄｋｘとを有する復号鍵ｄｋｘを生成する鍵生成装置と、
前記鍵属性ｘに対応する暗号文属性ｙが設定され、前記鍵生成装置によって生成されたタグ付き復号鍵で復号可能なオリジナル暗号文ｏｃｔｙを生成する暗号化装置と、
前記鍵生成装置によって生成された復号鍵ｔｄｋｘを暗号文属性ｙ’を用いて属性ベース暗号方式により暗号化して、前記暗号文属性ｙ’に対応する鍵属性ｘ’が設定された復号鍵ａｄｋｘ’で復号可能な再暗号化暗号文ｒｃｔｙ’を生成するための鍵である再暗号化鍵ｒｋｘ、ｙ’を生成する再暗号化鍵生成装置と
を備える暗号システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、代理人再暗号化に関する。
【背景技術】
【０００２】
属性ベース代理人再暗号化方式は、暗号文を復号することなく、暗号文の復号権限を変更することが可能な方式である。属性ベース暗号方式では、復号鍵に鍵属性ｘを、暗号文に暗号文属性ｙを設定する。属性ベース暗号方式では、鍵属性ｘと暗号文属性ｙとが関係Ｒ（ｘ，ｙ）＝１を満たす場合にのみ暗号文を復号することができる。属性ベース代理人再暗号化方式では、再暗号化鍵を用いることで暗号文を復号することなく、暗号文に設定された暗号文属性ｙを別の暗号文属性ｙ’に変更することが可能である。
特許文献１及び非特許文献１には、属性ベース代理人再暗号化方式に関する記載がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１４／１１２０４８号
【非特許文献】
【０００４】
【非特許文献１】Ｙｕｔａｋａ  Ｋａｗａｉ  ａｎｄ  Ｋａｔｓｕｙｕｋｉ  Ｔａｋａｓｈｉｍａ，  Ｆｕｌｌｙ‐Ａｎｏｎｙｍｏｕｓ  Ｆｕｎｃｔｉｏｎａｌ  Ｐｒｏｘｙ‐Ｒｅ‐Ｅｎｃｒｙｐｔｉｏｎ．  Ｃｒｙｐｔｏｌｏｇｙ  ｅＰｒｉｎｔ  Ａｒｃｈｉｖｅ：  Ｒｅｐｏｒｔ  ２０１３／３１８
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１及び非特許文献１に記載された属性ベース代理人再暗号化方式は、再暗号化暗号文にランダムな行列が含まれるため、再暗号化暗号文のサイズが大きくなってしまう。
この発明は、再暗号化に伴う暗号文のサイズの増加量を抑えた属性ベース代理人再暗号方式を実現可能にすることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る再暗号化鍵生成装置は、
鍵属性ｘが設定された復号鍵ｔｄｋｘと、前記復号鍵ｔｄｋｘで暗号文を復号するために用いられるタグｔｇφとに乱数を設定して、復号鍵ｔｄｋｘ＾とタグｔｇφ＾とを生成するランダム化部と、
前記ランダム化部によって生成された前記復号鍵ｔｄｋｘ＾を、暗号文属性ｙ’を用いて属性ベース暗号方式により暗号化して、暗号化鍵ａｃｔｙ’を生成する暗号化鍵生成部と、
前記暗号化鍵生成部によって生成された前記暗号化鍵ａｃｔｙ’と、前記ランダム化部によって生成された前記タグｔｇφ＾とを含む再暗号化鍵ｒｋｘ、ｙ’を出力する再暗号化鍵出力部と
を備える。
【発明の効果】
【０００７】
この発明では、タグ付き属性ベース暗号の復号鍵を、属性ベース暗号を用いて暗号化して、再暗号化鍵とする。これにより、再暗号化暗号文にランダムな行列を含める必要がなくなり、再暗号化に伴う暗号文のサイズの増加量を抑えることが可能になる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る暗号システム１の構成図。
【図２】実施の形態１に係る鍵生成装置１０の構成図。
【図３】実施の形態１に係る暗号化装置２０の構成図。
【図４】実施の形態１に係るオリジナル暗号文復号装置３０の構成図。
【図５】実施の形態１に係る再暗号化鍵生成装置４０の構成図。
【図６】実施の形態１に係る再暗号化装置５０の構成図。
【図７】実施の形態１に係る再暗号化暗号文復号装置６０の構成図。
【図８】実施の形態１に係るＳｅｔｕｐアルゴリズムのフローチャート。
【図９】実施の形態１に係るＫＧアルゴリズムのフローチャート。
【図１０】実施の形態１に係るＥｎｃアルゴリズムのフローチャート。
【図１１】実施の形態１に係るＯＤｅｃアルゴリズムのフローチャート。
【図１２】実施の形態１に係るＲＫＧアルゴリズムのフローチャート。
【図１３】実施の形態１に係るＲＥｎｃアルゴリズムのフローチャート。
【図１４】実施の形態１に係るＲＤｅｃアルゴリズムのフローチャート。
【図１５】変形例１に係る鍵生成装置１０の構成図。
【図１６】変形例１に係る暗号化装置２０の構成図。
【図１７】変形例１に係るオリジナル暗号文復号装置３０の構成図。
【図１８】変形例１に係る再暗号化鍵生成装置４０の構成図。
【図１９】変形例１に係る再暗号化装置５０の構成図。
【図２０】変形例１に係る再暗号化暗号文復号装置６０の構成図。
【発明を実施するための形態】
【０００９】
実施の形態１．
＊＊＊記法の説明＊＊＊
以下の説明における記法について説明する。
Ａがランダムな変数または分布であるとき、数１０１は、Ａの分布に従いＡからｙをランダムに選択することを表す。つまり、数１０１において、ｙは乱数である。
【数１０１】
0006599055.tif 000002
Ａが集合であるとき、数１０２は、Ａからｙを一様に選択することを表す。つまり、数１０２において、ｙは一様乱数である。
【数１０２】
0006599055.tif 000003
数１０３は、ｙがｚにより定義された集合であること、又はｙがｚを代入された集合であることを表す。
【数１０３】
0006599055.tif 000004
ａが定数であるとき、数１０４は、機械（アルゴリズム）Ａが入力ｘに対しａを出力することを表す。
【数１０４】
0006599055.tif 000005
数１０５、つまりＦｑは、位数ｑの有限体を示す。
【数１０５】
0006599055.tif 000006
ベクトル表記は、有限体Ｆｑにおけるベクトル表示を表す。つまり、数１０６である。
【数１０６】
0006599055.tif 000007
数１０７は、数１０８に示す２つのベクトルｘ→とｖ→との数１０９に示す内積を表す。
【数１０７】
0006599055.tif 000008
【数１０８】
0006599055.tif 000009
【数１０９】
0006599055.tif 000010
ＸＴは、行列Ｘの転置行列を表す。
数１１０に示す基底Ｂと基底Ｂ＊とに対して、数１１１である。
【数１１０】
0006599055.tif 000011
【数１１１】
0006599055.tif 000012
ｅ→ｊは、数１１２に示す正規基底ベクトルを示す。
【数１１２】
0006599055.tif 000013
【００１０】
＊＊＊空間の説明＊＊＊
以下の説明で用いられる空間について説明する。
【００１１】
対称双線形ペアリング群について説明する。
対称双線形ペアリング群（ｑ，Ｇ，ＧＴ，ｇ，ｅ）は、素数ｑと、位数ｑの巡回加法群Ｇと、位数ｑの巡回乗法群ＧＴと、ｇ≠０∈Ｇと、多項式時間で計算可能な非退化双線形ペアリング（Ｎｏｎｄｅｇｅｎｅｒａｔｅ  Ｂｉｌｉｎｅａｒ  Ｐａｉｒｉｎｇ）ｅ：Ｇ×Ｇ→ＧＴとの組である。非退化双線形ペアリングは、ｅ（ｓｇ，ｔｇ）＝ｅ（ｇ，ｇ）ｓｔであり、ｅ（ｇ，ｇ）≠１である。
以下の説明において、Ｇｂｐｇを、１λを入力として、セキュリティパラメータをλとする双線形ペアリング群のパラメータｐａｒａｍＧ：＝（ｑ，Ｇ，ＧＴ，ｇ，ｅ）の値を出力するアルゴリズムとする。
【００１２】
双対ペアリングベクトル空間について説明する。
双対ペアリングベクトル空間（ｑ，Ｖ，ＧＴ，Ａ，ｅ）は、対称双線形ペアリング群（ｐａｒａｍＧ：＝（ｑ，Ｇ，ＧＴ，ｇ，ｅ））の直積によって構成することができる。双対ペアリングベクトル空間（ｑ，Ｖ，ＧＴ，Ａ，ｅ）は、素数ｑ、数１１３に示すＦｑ上のＮ次元ベクトル空間Ｖ、位数ｑの巡回群ＧＴ、空間Ｖの標準基底Ａ：＝（ａ１，．．．，ａＮ）の組であり、以下の演算（１）（２）を有する。ここで、ａｉは、数１１４に示す通りである。
【数１１３】
0006599055.tif 000014
【数１１４】
0006599055.tif 000015
【００１３】
演算（１）：非退化双線形ペアリング
空間Ｖにおけるペアリングは、数１１５によって定義される。
【数１１５】
0006599055.tif 000016
これは、非退化双線形である。つまり、ｅ（ｓｘ，ｔｙ）＝ｅ（ｘ，ｙ）ｓｔであり、全てのｙ∈Ｖに対して、ｅ（ｘ，ｙ）＝１の場合、ｘ＝０である。また、全てのｉとｊとに対して、ｅ（ａｉ，ａｊ）＝ｅ（ｇ，ｇ）δｉ，ｊである。ここで、ｉ＝ｊであれば、δｉ，ｊ＝１であり、ｉ≠ｊであれば、δｉ，ｊ＝０である。また、ｅ（ｇ，ｇ）≠１∈ＧＴである。
【００１４】
演算（２）：ディストーション写像
数１１６に示す空間Ｖにおける線形変換φｉ，ｊは、数１１７を行うことができる。
【数１１６】
0006599055.tif 000017
【数１１７】
0006599055.tif 000018
ここで、線形変換φｉ，ｊをディストーション写像と呼ぶ。
【００１５】
以下の説明において、Ｇｄｐｖｓを、１λと空間Ｖの次元数Ｎｔとを入力として、セキュリティパラメータをλとする双対ペアリング空間のパラメータｐａｒａｍＶ：＝（ｑ，Ｖ，ＧＴ，Ａ，ｅ）の値を出力するアルゴリズムとする。
【００１６】
＊＊＊構成の説明＊＊＊
図１を参照して、実施の形態１に係る暗号システム１の構成を説明する。
暗号システム１は、鍵生成装置１０と、暗号化装置２０と、オリジナル暗号文復号装置３０と、再暗号化鍵生成装置４０と、再暗号化装置５０と、再暗号化暗号文復号装置６０とを備える。
鍵生成装置１０と、暗号化装置２０と、オリジナル暗号文復号装置３０と、再暗号化鍵生成装置４０と、再暗号化装置５０と、再暗号化暗号文復号装置６０とは、伝送路を介して接続されている。
【００１７】
図２を参照して、実施の形態１に係る鍵生成装置１０の構成を説明する。
鍵生成装置１０は、コンピュータである。
鍵生成装置１０は、プロセッサ１１と、メモリ１２と、ストレージ１３と、通信インタフェース１４とのハードウェアを備える。プロセッサ１１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１８】
鍵生成装置１０は、機能構成要素として、情報受付部１１１と、マスター鍵生成部１１２と、復号鍵生成部１１３と、鍵出力部１１４とを備える。鍵生成装置１０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ１３には、鍵生成装置１０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ１１によりメモリ１２に読み込まれ、プロセッサ１１によって実行される。これにより、鍵生成装置１０の各機能構成要素の機能が実現される。
【００１９】
図３を参照して、実施の形態１に係る暗号化装置２０の構成を説明する。
暗号化装置２０は、コンピュータである。
暗号化装置２０は、プロセッサ２１と、メモリ２２と、ストレージ２３と、通信インタフェース２４とのハードウェアを備える。プロセッサ２１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００２０】
暗号化装置２０は、機能構成要素として、公開パラメータ取得部２１１と、情報受付部２１２と、暗号化部２１３と、暗号文出力部２１４とを備える。暗号化装置２０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ２３には、暗号化装置２０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ２１によりメモリ２２に読み込まれ、プロセッサ２１によって実行される。これにより、暗号化装置２０の各機能構成要素の機能が実現される。
【００２１】
図４を参照して、実施の形態１に係るオリジナル暗号文復号装置３０の構成を説明する。
オリジナル暗号文復号装置３０は、コンピュータである。
オリジナル暗号文復号装置３０は、プロセッサ３１と、メモリ３２と、ストレージ３３と、通信インタフェース３４とのハードウェアを備える。プロセッサ３１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００２２】
オリジナル暗号文復号装置３０は、機能構成要素として、復号鍵取得部３１１と、暗号文取得部３１２と、復号部３１３とを備える。オリジナル暗号文復号装置３０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ３３には、オリジナル暗号文復号装置３０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ３１によりメモリ３２に読み込まれ、プロセッサ３１によって実行される。これにより、オリジナル暗号文復号装置３０の各機能構成要素の機能が実現される。
【００２３】
図５を参照して、実施の形態１に係る再暗号化鍵生成装置４０の構成を説明する。
再暗号化鍵生成装置４０は、コンピュータである。
再暗号化鍵生成装置４０は、プロセッサ４１と、メモリ４２と、ストレージ４３と、通信インタフェース４４とのハードウェアを備える。プロセッサ４１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００２４】
再暗号化鍵生成装置４０は、機能構成要素として、復号鍵取得部４１１と、情報受付部４１２と、ランダム化部４１３と、暗号化鍵生成部４１４と、再暗号化鍵出力部４１５とを備える。再暗号化鍵生成装置４０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ４３には、再暗号化鍵生成装置４０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ４１によりメモリ４２に読み込まれ、プロセッサ４１によって実行される。これにより、再暗号化鍵生成装置４０の各機能構成要素の機能が実現される。
【００２５】
図６を参照して、実施の形態１に係る再暗号化装置５０の構成を説明する。
再暗号化装置５０は、コンピュータである。
再暗号化装置５０は、プロセッサ５１と、メモリ５２と、ストレージ５３と、通信インタフェース５４とのハードウェアを備える。プロセッサ５１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００２６】
再暗号化装置５０は、機能構成要素として、公開パラメータ取得部５１１と、暗号文取得部５１２と、再暗号化鍵取得部５１３と、検証部５１４と、復号タグ生成部５１５と、再暗号化部５１６と、再暗号化暗号文出力部５１７とを備える。再暗号化装置５０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ５３には、再暗号化装置５０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ５１によりメモリ５２に読み込まれ、プロセッサ５１によって実行される。これにより、再暗号化装置５０の各機能構成要素の機能が実現される。
【００２７】
図７を参照して、実施の形態１に係る再暗号化暗号文復号装置６０の構成を説明する。
再暗号化暗号文復号装置６０は、コンピュータである。
再暗号化暗号文復号装置６０は、プロセッサ６１と、メモリ６２と、ストレージ６３と、通信インタフェース６４とのハードウェアを備える。プロセッサ６１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００２８】
再暗号化暗号文復号装置６０は、機能構成要素として、復号鍵取得部６１１と、再暗号化暗号文取得部６１２と、第１復号部６１３と、第２復号部６１４と、第３復号部６１５とを備える。再暗号化暗号文復号装置６０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ６３には、再暗号化暗号文復号装置６０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ６１によりメモリ６２に読み込まれ、プロセッサ６１によって実行される。これにより、再暗号化暗号文復号装置６０の各機能構成要素の機能が実現される。
【００２９】
上記説明では、暗号化装置２０と、オリジナル暗号文復号装置３０と、再暗号化鍵生成装置４０と、再暗号化装置５０と、再暗号化暗号文復号装置６０とは、それぞれ別々の装置とした。
しかし、暗号システム１は、暗号化装置２０と、オリジナル暗号文復号装置３０と、再暗号化鍵生成装置４０と、再暗号化装置５０と、再暗号化暗号文復号装置６０とのうちの２つ以上の機能を有する１つの装置を備えていてもよい。例えば、暗号システム１は、暗号化装置２０と、オリジナル暗号文復号装置３０と、再暗号化鍵生成装置４０と、再暗号化暗号文復号装置６０との機能を有する装置を複数備えていてもよい。
【００３０】
＊＊＊動作の説明＊＊＊
図８から図１４を参照して、実施の形態１に係る暗号システム１の動作を説明する。
実施の形態１に係る暗号システム１の動作は、実施の形態１に係る暗号方法に相当する。また、実施の形態１に係る暗号システム１の動作は、実施の形態１に係る暗号プログラムの処理に相当する。
【００３１】
実施の形態１に係る暗号システム１は、属性ベース代理人再暗号化方式を実現する。実施の形態１に係る暗号システム１によって実現される属性ベース代理人再暗号化方式は、Ｓｅｔｕｐと、ＫＧと、Ｅｎｃと、ＯＤｅｃと、ＲＫＧと、ＲＥｎｃと、ＲＤｅｃとの７つのアルゴリズムを備える。
【００３２】
図８を参照して、実施の形態１に係るＳｅｔｕｐアルゴリズムを説明する。
Ｓｅｔｕｐアルゴリズムは、鍵生成装置１０によって実行される。Ｓｅｔｕｐアルゴリズムは、セキュリティパラメータλと、属性のフォーマットΛとを入力として、公開パラメータｐｐとマスター鍵ｍｋとを出力する確率的アルゴリズムである。
【００３３】
（ステップＳ１１：情報受付処理）
情報受付部１１１は、セキュリティパラメータλと属性のフォーマットΛとの入力を受け付ける。具体的には、情報受付部１１１は、鍵生成装置１０の管理者により入力装置が操作されて入力されたセキュリティパラメータλと属性のフォーマットΛとを受け付ける。
【００３４】
（ステップＳ１２：タグ付きマスター鍵生成処理）
マスター鍵生成部１１２は、ステップＳ１１で受け付けられたセキュリティパラメータλと属性のフォーマットΛとを入力として、数１１８に示すＴＳｅｔｕｐアルゴリズムを実行して、パラメータｔｐｐと、鍵ｔｍｋとを生成する。
【数１１８】
0006599055.tif 000019
ここで、アルゴリズムＧｏｂは、数１１９に示す通りである。
【数１１９】
0006599055.tif 000020
【００３５】
（ステップＳ１３：タグなしマスター鍵生成処理）
マスター鍵生成部１１２は、ステップＳ１１で受け付けられたセキュリティパラメータλと属性のフォーマットΛとを入力として、数１２０に示すＡＳｅｔｕｐアルゴリズムを実行して、パラメータａｐｐと、鍵ａｍｋとを生成する。
【数１２０】
0006599055.tif 000021
【００３６】
（ステップＳ１４：マスター鍵出力処理）
鍵出力部１１４は、ステップＳ１１で入力されたセキュリティパラメータλと、ステップＳ１２で生成されたパラメータｔｐｐと、ステップＳ１３で生成されたパラメータａｐｐとを公開パラメータｐｐとして、通信インタフェース１４を介して他の装置に送信する等して公開する。また、鍵出力部１１４は、公開パラメータｐｐをストレージ１３に書き込む。また、鍵出力部１１４は、ステップＳ１２で生成された鍵ｔｍｋと、ステップＳ１３で生成された鍵ａｍｋとをマスター鍵ｍｋとして、ストレージ１３に書き込む。
【００３７】
図９を参照して、実施の形態１に係るＫＧアルゴリズムを説明する。
ＫＧアルゴリズムは、鍵生成装置１０によって実行される。ＫＧアルゴリズムは、公開パラメータｐｐとマスター鍵ｍｋと鍵属性ｘとを入力として、復号鍵ｄｋｘを出力する確率的アルゴリズムである。
【００３８】
（ステップＳ２１：情報受付処理）
情報受付部１１１は、ストレージ１３から公開パラメータｐｐとマスター鍵ｍｋとを読み出す。
【００３９】
情報受付部１１１は、鍵属性ｘの入力を受け付ける。具体的には、情報受付部１１１は、鍵生成装置１０の管理者により入力装置が操作されて入力された鍵属性ｘを受け付ける。
鍵属性ｘは、後述する復号鍵ｄｋｘを使用するユーザの属性である。具体例としては、鍵属性ｘは、復号鍵ｄｋｘを使用するユーザの所属先の部門と、ユーザの役職といった情報である。ここでは、鍵属性ｘは、オリジナル暗号文復号装置３０の使用者の属性であるとする。また、鍵属性ｘは、ｎ次元ベクトルであるとする。
【００４０】
（ステップＳ２２：タグ付き復号鍵生成処理）
復号鍵生成部１１３は、パラメータｔｐｐと鍵ｔｍｋと鍵属性ｘとを入力として、数１２１に示すＴＫＧアルゴリズムを実行して、復号鍵ｔｄｋｘとタグｔｇφとを含むタグ付き復号鍵を生成する。タグｔｇφは、復号鍵ｔｄｋｘで暗号文を復号するために用いられる情報である。
【数１２１】
0006599055.tif 000022
【００４１】
（ステップＳ２３：タグなし復号鍵生成処理）
復号鍵生成部１１３は、パラメータａｐｐと鍵ａｍｋと鍵属性ｘとを入力として、数１２２に示すＡＫＧアルゴリズムを実行して、復号鍵ａｄｋｘを生成する。
【数１２２】
0006599055.tif 000023
【００４２】
（ステップＳ２４：復号鍵出力処理）
鍵出力部１１４は、鍵属性ｘと、ステップＳ２２で生成された復号鍵ｔｄｋｘとタグｔｇφとを含むタグ付き復号鍵と、ステップＳ２３で生成された復号鍵ａｄｋｘとを復号鍵ｄｋｘとして、通信インタフェース１４を介してオリジナル暗号文復号装置３０と再暗号化鍵生成装置４０とに秘密裡に出力する。
秘密裡に出力するとは、既存の暗号化方式により暗号化して、他者から秘匿した上で送信するといった意味である。
【００４３】
また、鍵生成装置１０は、再暗号化暗号文復号装置６０の使用者の属性である鍵属性ｘ’に基づき、復号鍵ｄｋｘ’を生成する。ここでは、鍵属性ｘ’は、ｎ次元ベクトルであるとする。
具体的には、ステップＳ２１で情報受付部１１１は、鍵属性ｘ’の入力を受け付ける。ステップＳ２２で復号鍵生成部１１３は、パラメータｔｐｐと鍵ｔｍｋと鍵属性ｘ’とを入力として、復号鍵ｔｄｋｘ’とタグｔｇφ’とを含むタグ付き復号鍵を生成する。ステップＳ２３で復号鍵生成部１１３は、パラメータａｐｐと鍵ａｍｋと鍵属性ｘ’とを入力として、復号鍵ａｄｋｘ’を生成する。ステップＳ２４で復号鍵生成部１１３は、鍵属性ｘ’と、復号鍵ｔｄｋｘ’とタグｔｇφ’とを含むタグ付き復号鍵と、復号鍵ａｄｋｘ’とを復号鍵ｄｋｘ’として、再暗号化暗号文復号装置６０に秘密裡に出力する。
【００４４】
図１０を参照して、実施の形態１に係るＥｎｃアルゴリズムを説明する。
Ｅｎｃアルゴリズムは、暗号化装置２０によって実行される。Ｅｎｃアルゴリズムは、公開パラメータｐｐと暗号文属性ｙとメッセージｍとを入力として、オリジナル暗号文ｏｃｔｙを出力する確率的アルゴリズムである。
【００４５】
（ステップＳ３１：公開パラメータ取得処理）
公開パラメータ取得部２１１は、通信インタフェース２４を介して、鍵生成装置１０によって公開された公開パラメータｐｐを取得する。
【００４６】
（ステップＳ３２：情報受付処理）
情報受付部２１２は、暗号文属性ｙとメッセージｍとの入力を受け付ける。具体的には、情報受付部２１２は、暗号化装置２０の使用者により入力装置が操作されて入力された暗号文属性ｙとメッセージｍとを受け付ける。
暗号文属性ｙは、オリジナル暗号文ｏｃｔｙを復号可能な属性を示す。ここでは、暗号文属性ｙは、鍵属性ｘと対応しているものとする。つまり、暗号文属性ｙに基づき生成されたオリジナル暗号文ｏｃｔｙは、鍵属性ｘが設定された復号鍵ｄｋｘにより復号可能であるとする。ここでは、暗号文属性ｙは、ｎ次元ベクトルであるとする。
メッセージｍは、宛先へ送信するデータである。
【００４７】
（ステップＳ３３：署名鍵生成処理）
暗号化部２１３は、セキュリティパラメータλを入力として、ワンタイム署名の鍵生成アルゴリズムを実行して、ワンタイム署名の署名鍵ｓｋと検証鍵ｖｋとを生成する。ワンタイム署名の鍵生成アルゴリズムは、既存のアルゴリズムを用いればよい。
【００４８】
（ステップＳ３４：暗号文要素生成処理）
暗号化部２１３は、パラメータｔｐｐと、暗号文属性ｙと、検証鍵ｖｋと、メッセージｍとを入力として、数１２３に示すＴＥｎｃアルゴリズムを実行して、要素ｔｃｔｙ，ｖｋを生成する。
【数１２３】
0006599055.tif 000024
つまり、暗号化部２１３は、タグ付き属性ベース暗号により、メッセージｍを暗号化して、要素ｔｃｔｙ，ｖｋを生成する。この際、暗号化部２１３は、要素ｔｃｔｙ，ｖｋの一部に検証鍵ｖｋを設定する。
【００４９】
（ステップＳ３５：署名生成処理）
暗号化部２１３は、署名鍵ｓｋと、暗号文属性ｙと、要素ｔｃｔｙ，ｖｋとを入力として、ワンタイム署名の署名アルゴリズムを実行して、署名σを生成する。ワンタイム署名の署名アルゴリズムは、既存のアルゴリズムを用いればよい。
【００５０】
（ステップＳ３６：暗号文出力処理）
暗号文出力部２１４は、暗号文属性ｙと、ステップＳ３３で生成された検証鍵ｖｋと、ステップＳ３４で生成された要素ｔｃｔｙ，ｖｋと、ステップＳ３５で生成された署名σとをオリジナル暗号文ｏｃｔｙとして、オリジナル暗号文復号装置３０に出力する。
【００５１】
図１１を参照して、実施の形態１に係るＯＤｅｃアルゴリズムを説明する。
ＯＤｅｃアルゴリズムは、オリジナル暗号文復号装置３０により実行される。ＯＤｅｃアルゴリズムは、公開パラメータｐｐと復号鍵ｄｋｘとオリジナル暗号文ｏｃｔｙとを入力として、メッセージｍを出力するアルゴリズムである。
【００５２】
（ステップＳ４１：復号鍵取得処理）
復号鍵取得部３１１は、通信インタフェース３４を介して、鍵生成装置１０によって生成された復号鍵ｄｋｘと公開パラメータｐｐとを取得する。
【００５３】
（ステップＳ４２：暗号文取得処理）
暗号文取得部３１２は、通信インタフェース３４を介して、暗号化装置２０によって生成されたオリジナル暗号文ｏｃｔｙを取得する。
【００５４】
（ステップＳ４３：復号タグ生成処理）
復号部３１３は、復号鍵ｄｋｘに含まれるタグｔｇφを変形して、復号タグｔｇｖｋを生成する。
具体的には、復号部３１３は、パラメータｔｐｐと、復号鍵ｄｋｘに含まれるタグｔｇφと、オリジナル暗号文ｏｃｔｙに含まれる検証鍵ｖｋとを入力として、数１２４に示すＴＴａｇアルゴリズムを実行して、復号タグｔｇｖｋを生成する。
【数１２４】
0006599055.tif 000025
【００５５】
（ステップＳ４４：復号処理）
復号部３１３は、オリジナル暗号文ｏｃｔｙを復号してメッセージｍを得る。
具体的には、復号部３１３は、パラメータｔｐｐと、復号鍵ｄｋｘに含まれる復号鍵ｔｄｋｘと、復号タグｔｇｖｋと、オリジナル暗号文ｏｃｔｙに含まれる要素ｔｃｔｙ，ｖｋとを入力として、数１２５に示すＴＤｅｃアルゴリズムを実行して、メッセージｍを生成する。
【数１２５】
0006599055.tif 000026
【００５６】
図１２を参照して、実施の形態１に係るＲＫＧアルゴリズムを説明する。
ＲＫＧアルゴリズムは、再暗号化鍵生成装置４０により実行される。ＲＫＧアルゴリズムは、公開パラメータｐｐと復号鍵ｄｋｘと暗号文属性ｙ’とを入力として、再暗号化鍵ｒｋｘ，ｙ’を出力する確率的アルゴリズムである。
【００５７】
（ステップＳ５１：復号鍵取得処理）
復号鍵取得部４１１は、通信インタフェース４４を介して、鍵生成装置１０によって生成された復号鍵ｄｋｘと公開パラメータｐｐとを取得する。
【００５８】
（ステップＳ５２：情報受付処理）
情報受付部４１２は、暗号文属性ｙ’の入力を受け付ける。具体的には、情報受付部４１２は、暗号化装置２０の使用者により入力装置が操作されて入力された暗号文属性ｙ’を受け付ける。
暗号文属性ｙ’は、再暗号化暗号文ｒｃｔｙ’を復号可能な属性を示す。ここでは、暗号文属性ｙ’は、鍵属性ｘ’と対応しているものとする。つまり、暗号文属性ｙ’に基づき生成された再暗号化暗号文ｒｃｔｙ’は、鍵属性ｘ’が設定された復号鍵ｄｋｘ’により復号可能であるとする。ここでは、暗号文属性ｙ’は、ｎ次元ベクトルであるとする。
【００５９】
（ステップＳ５３：ランダム化処理）
ランダム化部４１３は、復号鍵ｄｋｘに含まれる復号鍵ｔｄｋｘ及びタグｔｇφに乱数を設定して、復号鍵ｔｄｋｘ＾とタグｔｇφ＾とを生成する。
具体的には、ランダム化部４１３は、パラメータｔｐｐと、復号鍵ｔｄｋｘと、タグｔｇφとを入力として、数１２６に示すＴＲａｎｄアルゴリズムを実行して、復号鍵ｔｄｋｘ＾とタグｔｇφ＾とを生成する。
【数１２６】
0006599055.tif 000027
【００６０】
（ステップＳ５４：暗号化鍵生成処理）
暗号化鍵生成部４１４は、復号鍵ｔｄｋｘ＾を、暗号文属性ｙ’を用いて属性ベース暗号方式により暗号化して、暗号化鍵ａｃｔｙ’を生成する。
具体的には、暗号化鍵生成部４１４は、パラメータａｐｐと、暗号文属性ｙ’と、復号鍵ｔｄｋｘ＾とを入力として、数１２７に示すＡＥｎｃアルゴリズムを実行して、暗号化鍵ａｃｔｙ’を生成する。
【数１２７】
0006599055.tif 000028
【００６１】
（ステップＳ５５：再暗号化鍵出力処理）
再暗号化鍵出力部４１５は、鍵属性ｘと、暗号文属性ｙ’と、ステップＳ５３で生成されたタグｔｇφ＾と、ステップＳ５４で生成された暗号化鍵ａｃｔｙ’とを再暗号化鍵ｒｋｘ，ｙ’として、再暗号化装置５０に秘密裡に出力する。
【００６２】
図１３を参照して、実施の形態１に係るＲＥｎｃアルゴリズムを説明する。
ＲＥｎｃアルゴリズムは、再暗号化装置５０により実行される。ＲＥｎｃアルゴリズムは、公開パラメータｐｐと再暗号化鍵ｒｋｘ，ｙ’とオリジナル暗号文ｏｃｔｙとを入力として、再暗号化暗号文ｒｃｔｙ’を出力する確率的アルゴリズムである。
【００６３】
（ステップＳ６１：公開パラメータ取得処理）
公開パラメータ取得部５１１は、通信インタフェース５４を介して、鍵生成装置１０によって公開された公開パラメータｐｐを取得する。
【００６４】
（ステップＳ６２：暗号文取得処理）
暗号文取得部５１２は、通信インタフェース５４を介して、暗号化装置２０によって生成されたオリジナル暗号文ｏｃｔｙを取得する。
【００６５】
（ステップＳ６３：再暗号化鍵取得処理）
再暗号化鍵取得部５１３は、通信インタフェース５４を介して、再暗号化鍵生成装置４０によって生成された再暗号化鍵ｒｋｘ，ｙ’を取得する。
【００６６】
（ステップＳ６４：関係検証処理）
検証部５１４は、再暗号化鍵ｒｋｘ，ｙ’に含まれる鍵属性ｘと、オリジナル暗号文ｏｃｔｙに含まれる暗号文属性ｙとが関係Ｒ（ｘ，ｙ）＝１を満たすか否かを判定する。これにより、検証部５１４は、オリジナル暗号文ｏｃｔｙが再暗号化鍵ｒｋｘ，ｙ’の元になっている復号鍵ｄｋｘによって復号可能であるか否かを判定する。
検証部５１４は、Ｒ（ｘ，ｙ）＝１が成立する場合には、処理をステップＳ６５に進める。一方、検証部５１４は、Ｒ（ｘ，ｙ）＝１が成立しない場合には、処理を終了する。
【００６７】
（ステップＳ６５：署名検証処理）
検証部５１４は、ワンタイム署名の検証アルゴリズムにより、オリジナル暗号文ｏｃｔｙに含まれる署名σを、オリジナル暗号文ｏｃｔｙに含まれる検証鍵ｖｋで検証する。ワンタイム署名の検証アルゴリズムは、既存のアルゴリズムを用いればよい。
検証部５１４は、検証に成功した場合には、処理をステップＳ６６に進める。一方、検証部５１４は、検証に失敗した場合には、処理を終了する。
【００６８】
（ステップＳ６６：復号タグ生成処理）
復号タグ生成部５１５は、再暗号化鍵ｒｋｘ、ｙ’に含まれるタグｔｇφ＾を変形して、復号タグｔｇｖｋを生成する。
具体的には、復号タグ生成部５１５は、パラメータｔｐｐと、タグｔｇφ＾と、オリジナル暗号文ｏｃｔｙに含まれる検証鍵ｖｋとを入力として、数１２８に示すＴＴａｇアルゴリズムを実行して、復号タグｔｇｖｋを生成する。
【数１２８】
0006599055.tif 000029
【００６９】
（ステップＳ６７：再暗号化処理）
再暗号化部５１６は、オリジナル暗号文ｏｃｔｙと、再暗号化鍵ｒｋｘ、ｙ’に含まれる暗号化鍵ａｃｔｙ’と、復号タグｔｇｖｋとを、再暗号化鍵ｒｋｘ、ｙ’に含まれる暗号文属性ｙ’を用いて属性ベース暗号方式により暗号化して、再暗号化暗号文ｒｃｔｙ’を生成する。
具体的には、再暗号化部５１６は、パラメータａｐｐと、暗号文属性ｙ’と、オリジナル暗号文ｏｃｔｙと暗号化鍵ａｃｔｙ’と復号タグｔｇｖｋとを連結したデータｏｃｔｙ｜｜ａｃｔｙ’｜｜ｔｇｖｋとを入力として、数１２９に示すＡＥｎｃアルゴリズムを実行して、再暗号化暗号文ｒｃｔｙ’を生成する。
【数１２９】
0006599055.tif 000030
【００７０】
（ステップＳ６８：再暗号化暗号文出力処理）
再暗号化暗号文出力部５１７は、ステップＳ６７で生成された再暗号化暗号文ｒｃｔｙ’を、再暗号化暗号文復号装置６０に出力する。
【００７１】
図１４を参照して、実施の形態１に係るＲＤｅｃアルゴリズムを説明する。
ＲＤｅｃアルゴリズムは、再暗号化暗号文復号装置６０により実行される。ＲＤｅｃアルゴリズムは、公開パラメータｐｐと復号鍵ｄｋｘ’と再暗号化暗号文ｒｃｔｙ’を入力として、メッセージｍを出力するアルゴリズムである。
【００７２】
（ステップＳ７１：復号鍵取得処理）
復号鍵取得部６１１は、通信インタフェース６４を介して、鍵生成装置１０によって生成された復号鍵ｄｋｘ’と公開パラメータｐｐとを取得する。
【００７３】
（ステップＳ７２：再暗号化暗号文取得処理）
再暗号化暗号文取得部６１２は、通信インタフェース６４を介して、再暗号化装置５０によって生成された再暗号化暗号文ｒｃｔｙ’を取得する。
【００７４】
（ステップＳ７３：第１復号処理）
第１復号部６１３は、再暗号化暗号文ｒｃｔｙ’を、暗号文属性ｙ’に対応する鍵属性ｘ’が設定された復号鍵ａｄｋｘ’で復号して、オリジナル暗号文ｏｃｔｙと暗号化鍵ａｃｔｙ’と復号タグｔｇｖｋ＾とを得る。
具体的には、第１復号部６１３は、パラメータａｐｐと、復号鍵ｄｋｘ’に含まれる復号鍵ａｄｋｘ’と、再暗号化暗号文ｒｃｔｙ’とを入力として、数１３０に示すＡＤｅｃアルゴリズムを実行して、オリジナル暗号文ｏｃｔｙと暗号化鍵ａｃｔｙ’と復号タグｔｇｖｋとを生成する。
【数１３０】
0006599055.tif 000031
【００７５】
（ステップＳ７４：第２復号処理）
第２復号部６１４は、暗号化鍵ａｃｔｙ’を復号鍵ａｄｋｘ’で復号して、乱数が設定された復号鍵ｔｄｋｘ＾を得る。
具体的には、第２復号部６１４は、パラメータａｐｐと、復号鍵ｄｋｘ’に含まれる復号鍵ａｄｋｘ’と、暗号化鍵ａｃｔｙ’とを入力として、数１３１に示すＡＤｅｃアルゴリズムを実行して、復号鍵ｔｄｋｘ＾を生成する。
【数１３１】
0006599055.tif 000032
【００７６】
（ステップＳ７５：第３復号処理）
第３復号部６１５は、オリジナル暗号文ｏｃｔｙを復号してメッセージｍを得る。
具体的には、第３復号部６１５は、パラメータｔｐｐと、復号鍵ｔｄｋｘ＾と、復号タグｔｇｖｋと、オリジナル暗号文ｏｃｔｙに含まれる要素ｔｃｔｙ，ｖｋとを入力として、数１３２に示すＴＤｅｃアルゴリズムを実行して、メッセージｍを生成する。
【数１３２】
0006599055.tif 000033
【００７７】
＊＊＊実施の形態１の効果＊＊＊
以上のように、実施の形態１に係る暗号システム１は、タグ付き属性ベース暗号と、タグなし属性ベース暗号とを用いて、属性ベース代理人再暗号化方式を実現する。実施の形態１に係る暗号システム１は、タグ付き属性ベース暗号の復号鍵を、属性ベース暗号を用いて暗号化して、再暗号化鍵とする。これにより、再暗号化暗号文にランダムな行列を含める必要がなくなり、再暗号化に伴う暗号文のサイズの増加量を抑えることが可能になる。
【００７８】
実施の形態１に係る暗号システム１では、再暗号化鍵生成装置４０は、再暗号化鍵ｒｋｘ，ｙ’を生成する際、復号鍵ｔｄｋｘ＾を、暗号文属性ｙ’を用いて暗号化する。そのため、再暗号化装置５０は、再暗号化鍵ｒｋｘ，ｙ’により、オリジナル暗号文ｏｃｔｙを復号することができない。
【００７９】
実施の形態１に係る暗号システム１では、再暗号化鍵生成装置４０は、再暗号化鍵ｒｋｘ，ｙ’を生成する際、タグｔｇφ＾を暗号化していない。そのため、再暗号化装置５０は、タグｔｇφ＾に検証鍵ｖｋを設定して復号タグｔｇｖｋを生成することが可能である。再暗号化暗号文ｒｃｔｙ’に、タグｔｇφ＾ではなく、検証鍵ｖｋを設定した復号タグｔｇｖｋを含めることにより、再暗号化暗号文復号装置６０は、検証鍵ｖｋが設定された暗号文だけしか復号することができない。
なお、実施の形態１では、オリジナル暗号文ｏｃｔｙと復号タグｔｇｖｋとに検証鍵ｖｋを設定した。しかし、検証鍵ｖｋに代えて、オリジナル暗号文ｏｃｔｙと復号タグｔｇｖｋとに他のデータｖｋを設定しても、再暗号化暗号文復号装置６０が、データｖｋが設定された暗号文だけしか復号することができないという効果を得ることはできる。
【００８０】
＊＊＊他の構成＊＊＊
＜変形例１＞
実施の形態１では、鍵生成装置１０と暗号化装置２０とオリジナル暗号文復号装置３０と再暗号化鍵生成装置４０と再暗号化装置５０と再暗号化暗号文復号装置６０との機能構成要素がソフトウェアで実現された。しかし、変形例１として、機能構成要素はハードウェアで実現されてもよい。この変形例１について、実施の形態１と異なる点を説明する。
【００８１】
図１５を参照して、変形例１に係る鍵生成装置１０の構成を説明する。
機能がハードウェアで実現される場合、鍵生成装置１０は、プロセッサ１１とメモリ１２とストレージ１３とに代えて、電子回路１５を備える。電子回路１５は、鍵生成装置１０の機能構成要素と、メモリ１２とストレージ１３との機能とを実現する専用の電子回路である。
【００８２】
図１６を参照して、変形例１に係る暗号化装置２０の構成を説明する。
機能がハードウェアで実現される場合、暗号化装置２０は、プロセッサ２１とメモリ２２とストレージ２３とに代えて、電子回路２５を備える。電子回路２５は、暗号化装置２０の機能構成要素と、メモリ２２とストレージ２３との機能とを実現する専用の電子回路である。
【００８３】
図１７を参照して、変形例１に係るオリジナル暗号文復号装置３０の構成を説明する。
機能がハードウェアで実現される場合、オリジナル暗号文復号装置３０は、プロセッサ３１とメモリ３２とストレージ３３とに代えて、電子回路３５を備える。電子回路３５は、オリジナル暗号文復号装置３０の機能構成要素と、メモリ３２とストレージ３３との機能とを実現する専用の電子回路である。
【００８４】
図１８を参照して、変形例１に係る再暗号化鍵生成装置４０の構成を説明する。
機能がハードウェアで実現される場合、再暗号化鍵生成装置４０は、プロセッサ４１とメモリ４２とストレージ４３とに代えて、電子回路４５を備える。電子回路４５は、再暗号化鍵生成装置４０の機能構成要素と、メモリ４２とストレージ４３との機能とを実現する専用の電子回路である。
【００８５】
図１９を参照して、変形例１に係る再暗号化装置５０の構成を説明する。
機能がハードウェアで実現される場合、再暗号化装置５０は、プロセッサ５１とメモリ５２とストレージ５３とに代えて、電子回路５５を備える。電子回路５５は、再暗号化装置５０の機能構成要素と、メモリ５２とストレージ５３との機能とを実現する専用の電子回路である。
【００８６】
図２０を参照して、変形例１に係る再暗号化暗号文復号装置６０の構成を説明する。
機能がハードウェアで実現される場合、再暗号化暗号文復号装置６０は、プロセッサ６１とメモリ６２とストレージ６３とに代えて、電子回路６５を備える。電子回路６５は、再暗号化暗号文復号装置６０の機能構成要素と、メモリ６２とストレージ６３との機能とを実現する専用の電子回路である。
【００８７】
電子回路１５，２５，３５，４５，５５，６５は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が想定される。
鍵生成装置１０の機能構成要素の機能を１つの電子回路１５で実現してもよいし、機能構成要素の機能を複数の電子回路１５に分散させて実現してもよい。同様に、暗号化装置２０とオリジナル暗号文復号装置３０と再暗号化鍵生成装置４０と再暗号化装置５０と再暗号化暗号文復号装置６０とのそれぞれについて、機能構成要素の機能を１つの電子回路２５，３５，４５，５５，６５で実現してもよいし、機能構成要素の機能を複数の電子回路２５，３５，４５，５５，６５に分散させて実現してもよい。
【００８８】
＜変形例２＞
変形例２として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、各機能構成要素のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
【００８９】
プロセッサ１１，２１，３１，４１，５１，６１とメモリ１２，２２，３２，４２，５２，６２と電子回路１５，２５，３５，４５，５５，６５とを、処理回路という。つまり、各機能構成要素の機能は、処理回路より実現される。
【符号の説明】
【００９０】
１  暗号システム、１０  鍵生成装置、１１  プロセッサ、１２  メモリ、１３  ストレージ、１４  通信インタフェース、１５  電子回路、１１１  情報受付部、１１２  マスター鍵生成部、１１３  復号鍵生成部、１１４  鍵出力部、２０  暗号化装置、２１  プロセッサ、２２  メモリ、２３  ストレージ、２４  通信インタフェース、２５  電子回路、２１１  公開パラメータ取得部、２１２  情報受付部、２１３  暗号化部、２１４  暗号文出力部、３０  オリジナル暗号文復号装置、３１  プロセッサ、３２  メモリ、３３  ストレージ、３４  通信インタフェース、３５  電子回路、３１１  復号鍵取得部、３１２  暗号文取得部、３１３  復号部、４０  再暗号化鍵生成装置、４１  プロセッサ、４２  メモリ、４３  ストレージ、４４  通信インタフェース、４５  電子回路、４１１  復号鍵取得部、４１２  情報受付部、４１３  ランダム化部、４１４  暗号化鍵生成部、４１５  再暗号化鍵出力部、５０  再暗号化装置、５１  プロセッサ、５２  メモリ、５３  ストレージ、５４  通信インタフェース、５５  電子回路、５１１  公開パラメータ取得部、５１２  暗号文取得部、５１３  再暗号化鍵取得部、５１４  検証部、５１５  復号タグ生成部、５１６  再暗号化部、５１７  再暗号化暗号文出力部、６０  再暗号化暗号文復号装置、６１  プロセッサ、６２  メモリ、６３  ストレージ、６４  通信インタフェース、６５  電子回路、６１１  復号鍵取得部、６１２  再暗号化暗号文取得部、６１３  第１復号部、６１４  第２復号部、６１５  第３復号部。
【図１】
0006599055.tif 000042
【図２】
0006599055.tif 000043
【図３】
0006599055.tif 000044
【図４】
0006599055.tif 000045
【図５】
0006599055.tif 000046
【図６】
0006599055.tif 000047
【図７】
0006599055.tif 000048
【図８】
0006599055.tif 000049
【図９】
0006599055.tif 000050
【図１０】
0006599055.tif 000051
【図１１】
0006599055.tif 000052
【図１２】
0006599055.tif 000053
【図１３】
0006599055.tif 000054
【図１４】
0006599055.tif 000055
【図１５】
0006599055.tif 000056
【図１６】
0006599055.tif 000057
【図１７】
0006599055.tif 000058
【図１８】
0006599055.tif 000059
【図１９】
0006599055.tif 000060
【図２０】
0006599055.tif 000061