(57)【要約】  関数型暗号方式においても利用可能な秘密鍵の失効方式を実現する。暗号化データに設定された属性情報及び鍵情報と、秘密鍵に設定された属性情報及び鍵情報とが対応していない場合、暗号化データを秘密鍵で復号できない暗号化方式を用いる暗号処理システム１０において、データの暗号化及び復号を行うユーザ端末１００と、暗号化データを記憶する暗号化データ記憶装置３００との間の中継を行う暗号化データ管理装置２００を設ける。暗号化データ管理装置２００は、暗号化データ記憶装置３００から取得した暗号化データに設定された属性情報を有するユーザに、秘密鍵が失効しているユーザが含まれるか否かを判定し、判定結果によって異なる値を鍵情報として暗号化データに設定する。そして、暗号化データ管理装置２００は、鍵情報を設定した暗号化データをユーザ端末１００へ送信する。
2013094018.tif 000002
【特許請求の範囲】
【請求項１】
暗号化データに設定された属性情報及び鍵情報と、秘密鍵に設定された属性情報及び鍵情報とが対応していない場合、前記暗号化データを前記秘密鍵で復号できない暗号化方式において、前記暗号化データを管理する暗号化データ管理装置であり、
属性情報が設定された暗号化データを記憶装置から取得するデータ取得部と、
前記データ取得部が取得した前記暗号化データに設定された前記属性情報を有するユーザに、秘密鍵が失効しているユーザが含まれるか否か判定する失効判定部と、
秘密鍵が失効しているユーザが含まれると前記失効判定部に判定されたか否かによって、異なる値を前記鍵情報として前記暗号化データに設定する鍵情報設定部と、
前記鍵情報設定部が鍵情報を設定した暗号化データをユーザ端末へ送信するデータ送信部と
を備えることを特徴とする暗号化データ管理装置。
【請求項２】
前記データ取得部は、前記鍵情報として乱数値が設定された暗号化データを取得し、
前記鍵情報設定部は、前記データ取得部が取得した暗号化データに設定された鍵情報を前記異なる値に設定し直す
ことを特徴とする請求項１に記載の暗号化データ管理装置。
【請求項３】
前記暗号化データ管理装置は、さらに、
失効した秘密鍵の世代番号を管理する失効情報管理部
を備え、
前記鍵情報設定部は、秘密鍵が失効しているユーザが含まれないと判定された場合、前記世代番号の初期値を前記鍵情報として設定し、秘密鍵が失効しているユーザが含まれると判定された場合、前記失効情報管理部が管理する世代番号とは異なる値を前記鍵情報として設定する
ことを特徴とする請求項１に記載の暗号化データ管理装置。
【請求項４】
前記データ取得部は、所定の基底Ｂにおける一部の基底ベクトルである基底ベクトルＡの係数に前記属性情報が設定された暗号化ベクトルを前記暗号化データとして取得し、
前記鍵情報設定部は、前記基底Ｂにおける前記基底ベクトルＡとは異なる基底ベクトルである基底ベクトルＫの係数に前記異なる値を設定する
ことを特徴とする請求項１に記載の暗号化データ管理装置。
【請求項５】
前記データ取得部は、前記基底ベクトルＫの係数に乱数値が設定された前記暗号化ベクトルと、前記乱数値が暗号化された暗号化乱数値とを含む暗号化データを取得し、
前記鍵情報設定部は、前記暗号化乱数値を復号して前記乱数値を得て、前記基底ベクトルＫの係数に前記乱数値を設定したベクトルを前記暗号化ベクトルから減算し、前記基底ベクトルＫの係数に前記異なる値を設定したベクトルを前記暗号化ベクトルに加算する
ことを特徴とする請求項４に記載の暗号化データ管理装置。
【請求項６】
前記データ取得部は、前記基底ベクトルＫの係数に０が設定された前記暗号化ベクトルを前記暗号化データとして取得し、
前記鍵情報設定部は、前記基底ベクトルＫの係数に前記異なる値を設定したベクトルを前記暗号化ベクトルに加算する
ことを特徴とする請求項４に記載の暗号化データ管理装置。
【請求項７】
前記データ取得部は、ｔ＝１，．．．，ｎ（ｎは２以上の整数）の各ｔについての基底Ｂ［ｔ］の一部の基底である属性基底の基底ベクトルの係数に前記属性情報が設定された属性ベクトルと、前記基底Ｂ［ｔ］における前記属性基底とは異なる基底である鍵情報基底の鍵情報ベクトルとを含む暗号化ベクトルを前記暗号化データとして取得し、
前記鍵情報設定部は、前記鍵情報基底の基底ベクトルの係数に前記異なる値を設定したベクトルに前記鍵情報ベクトルをする
ことを特徴とする請求項１に記載の暗号化データ管理装置。
【請求項８】
前記データ取得部は、前記鍵情報基底の基底ベクトルのうちの所定の基底ベクトルＫの係数に乱数値が設定されたベクトルを、前記鍵情報ベクトルとして含む前記暗号化ベクトルと、前記乱数値が暗号化された暗号化乱数値とを含む暗号化データを取得し、
前記鍵情報設定部は、前記暗号化乱数値を復号して前記乱数値を得て、前記基底ベクトルＫの係数に前記乱数値を設定したベクトルを前記鍵情報ベクトルから減算し、前記基底ベクトルＫの係数に前記異なる値を設定したベクトルを前記鍵情報ベクトルに加算する
ことを特徴とする請求項７に記載の暗号化データ管理装置。
【請求項９】
前記データ取得部は、前記鍵情報基底の基底ベクトルのうちの所定の前記基底ベクトルＫの係数に０が設定された前記暗号化ベクトルを前記暗号化データとして取得し、
前記鍵情報設定部は、前記基底ベクトルＫの係数に前記異なる値を設定したベクトルを前記鍵情報ベクトルに加算する
ことを特徴とする請求項７に記載の暗号化データ管理装置。
【請求項１０】
暗号化データに設定された属性情報及び鍵情報と、秘密鍵に設定された属性情報及び鍵情報とが対応していない場合、前記暗号化データを前記秘密鍵で復号できない暗号化方式において、前記暗号化データを管理する暗号化データ管理方法であり、
通信装置が、属性情報が設定された暗号化データを記憶装置から取得するデータ取得ステップと、
処理装置が、前記データ取得ステップで取得した前記暗号化データに設定された前記属性情報を有するユーザに、秘密鍵が失効しているユーザが含まれるか否か判定する失効判定ステップと、
処理装置が、秘密鍵が失効しているユーザが含まれると前記失効判定ステップで判定されたか否かによって、異なる値を前記鍵情報として前記暗号化データに設定する鍵情報設定ステップと、
通信装置が、前記鍵情報設定ステップで鍵情報を設定した暗号化データをユーザ端末へ送信するデータ送信ステップと
を備えることを特徴とする暗号化データ管理方法。
【請求項１１】
暗号化データに設定された属性情報及び鍵情報と、秘密鍵に設定された属性情報及び鍵情報とが対応していない場合、前記暗号化データを前記秘密鍵で復号できない暗号化方式において、前記暗号化データを管理する暗号化データ管理プログラムであり、
属性情報が設定された暗号化データを記憶装置から取得するデータ取得処理と、
前記データ取得処理で取得した前記暗号化データに設定された前記属性情報を有するユーザに、秘密鍵が失効しているユーザが含まれるか否か判定する失効判定処理と、
秘密鍵が失効しているユーザが含まれると前記失効判定処理で判定されたか否かによって、異なる値を前記鍵情報として前記暗号化データに設定する鍵情報設定処理と、
前記鍵情報設定処理で鍵情報を設定した暗号化データをユーザ端末へ送信するデータ送信処理と
をコンピュータに実行させることを特徴とする暗号化データ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、秘密鍵の失効を実現する暗号化データの管理技術に関する。
【背景技術】
【０００２】
１９７６年にディフィーとヘルマンとが開発した公開鍵暗号方式は、様々な改良と機能拡張が行われている。２００１年には、ボネとフランクリンとにより、ペアリング演算に基づいたＩＤベース暗号と呼ばれる公開鍵暗号方式が開発された。近年ではペアリング演算に基づいた方式に関する研究が盛んに行われている。
ペアリングを用いた高機能な公開鍵暗号方式として、非特許文献１，２に記載された高い安全性を持つ暗号方式（以下、関数型暗号方式と呼ぶ）がある。関数型暗号方式は、従来の暗号とは異なり、復号が可能なユーザ（秘密鍵）を複数指定した暗号化を１つの公開鍵で行うことができる。【０００３】
公開鍵暗号方式を一般のユーザが利用するシステムに適用した場合には、ユーザが秘密鍵を紛失する恐れがある。この場合、紛失した秘密鍵が悪用されることを防止するため、紛失した秘密鍵を失効させることが必要になる。
秘密鍵を失効させる失効方式としては、特許文献１，２に記載された方式がある。【０００４】
特許文献１には、特定のユーザの秘密鍵を無効にするコマンドが入力された場合に、そのユーザの秘密鍵を無効にし、秘密鍵を再発行するコマンドが入力された場合に新規の暗号鍵及び秘密鍵の鍵ペアを生成する失効方式について記載されている。【０００５】
特許文献２には、アクセス要求とアクセス識別子とを受信したとき、無効にされた識別子のリストに記載された識別子とアクセス識別子とが一致するかを確認し、一致する場合、アクセスを終了させる失効方式について記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−５１６１４号公報
【特許文献２】特表２００３−５０６７８２号公報
【非特許文献】
【０００７】
【非特許文献１】Ｔ．Ｏｋａｍｏｔｏ，Ｋ．Ｔａｋａｓｈｉｍａ，“Ａ  ｇｅｏｍｅｔｒｉｃ  ａｐｐｒｏａｃｈ  ｏｎ  ｐａｉｒｉｎｇｓ  ａｎｄ  ｈｉｅｒａｒｃｈｉｃａｌ  ｐｒｅｄｉｃａｔｅ  ｅｎｃｒｙｐｔｉｏｎ”，Ｉｎ：Ｐｏｓｔｅｒ  ｓｅｓｓｉｏｎ，ＥＵＲＯＣＲＹＰＴ  ２００９．
【非特許文献２】Ｔ．Ｏｋａｍｏｔｏ，Ｋ．Ｔａｋａｓｈｉｍａ，“Ｆｕｌｌｙ  Ｓｅｃｕｒｅ  Ｆｕｎｃｔｉｏｎａｌ  Ｅｎｃｒｙｐｔｉｏｎ  Ｗｉｔｈ  Ｇｅｎｅｒａｌ  Ｒｅｌａｔｉｏｎｓ  ｆｒｏｍ  ｔｈｅ  Ｄｅｃｉｓｉｏｎａｌ  Ｌｉｎｅａｒ  Ａｓｓｕｍｐｔｉｏｎ”，ＣＲＹＰＴＯ  ２０１０，Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  Ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ，２０１０，Ｖｏｌｕｍｅ  ６２２３／２０１０．
【発明の概要】
【発明が解決しようとする課題】
【０００８】
関数型暗号方式は、従来と大きく異なる暗号方式であるため、従来の暗号方式に適用された秘密鍵の失効方式を適用することができない。また、関数型暗号方式は、従来の暗号方式と同様に、アルゴリズム自体では失効を考慮していない。そのため、関数型暗号方式は、一般のユーザが利用するシステムに適用した場合に発生する可能性の高い秘密鍵の紛失に対応できない。【０００９】
特許文献１に記載された失効方式では、秘密鍵が失効した場合に新しく鍵ペアを再発行する。そのため、この失効方式を関数型暗号方式に適用すると失効した秘密鍵で復号できるように暗号化した全てのデータを再暗号化しなければならない。したがって、過去に暗号化した多くデータを再暗号化することが必要となる恐れがあり、膨大なコストがかかってしまう恐れがある。
特許文献２に記載された失効方式を関数型暗号方式に適用した場合も同様に、失効した秘密鍵で復号できるように暗号化したデータを再暗号化しなければならない。【００１０】
この発明は、関数型暗号方式においても利用可能な秘密鍵の失効方式を実現することを主な目的とする。
【課題を解決するための手段】
【００１１】
この発明に係る暗号化データ管理装置は、
暗号化データに設定された属性情報及び鍵情報と、秘密鍵に設定された属性情報及び鍵情報とが対応していない場合、前記暗号化データを前記秘密鍵で復号できない暗号化方式において、前記暗号化データを管理する暗号化データ管理装置であり、
属性情報が設定された暗号化データを記憶装置から取得するデータ取得部と、
前記データ取得部が取得した前記暗号化データに設定された前記属性情報を有するユーザに、秘密鍵が失効しているユーザが含まれるか否か判定する失効判定部と、
秘密鍵が失効しているユーザが含まれると前記失効判定部に判定されたか否かによって、異なる値を前記鍵情報として前記暗号化データに設定する鍵情報設定部と、
前記鍵情報設定部が鍵情報を設定した暗号化データをユーザ端末へ送信するデータ送信部と
を備えることを特徴とする。
【発明の効果】
【００１２】
この発明に係る暗号化データ管理装置は、暗号化データを復号可能なユーザに秘密鍵が失効しているユーザが含まれるか否かによって、異なる値を鍵情報として設定した上で、ユーザへ送信する。これにより、失効した秘密鍵で暗号化データが復号されることを防止できる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１に係る暗号処理システム１０の構成図。
【図２】実施の形態１に係るユーザ端末１００の構成図。
【図３】実施の形態１に係る暗号化データ管理装置２００の構成図。
【図４】実施の形態１に係る暗号化データ記憶装置３００の構成図。
【図５】実施の形態１に係る鍵生成装置４００の構成図。
【図６】実施の形態１に係る暗号化データ登録処理の流れを示すフローチャート。
【図７】実施の形態１に係る暗号化データ取得処理の流れを示すフローチャート。
【図８】実施の形態３に係る暗号化データ管理装置２００の構成図。
【図９】実施の形態３に係る暗号化データ記憶装置３００の構成図。
【図１０】実施の形態３に係る暗号化データ登録処理の流れを示すフローチャート。
【図１１】実施の形態３に係る暗号化データ取得処理の流れを示すフローチャート。
【図１２】ユーザ端末１００、暗号化データ管理装置２００、暗号化データ記憶装置３００、鍵生成装置４００のハードウェア構成の一例を示す図。
【発明を実施するための形態】
【００１４】
実施の形態１．
実施の形態１では、非特許文献１に記載された関数型暗号方式において、秘密鍵の失効方式を実現する方法を説明する。
【００１５】
まず、非特許文献１に記載された関数型暗号方式について、この実施の形態の説明に必要な部分のみに簡略化して説明する。
非特許文献１に記載された関数型暗号方式には、Ｓｅｔｕｐアルゴリズム、ＫｅｙＧｅｎアルゴリズム、Ｅｎｃアルゴリズム、Ｄｅｃアルゴリズムがある。
【００１６】
Ｓｅｔｕｐアルゴリズムは、公開パラメータｐｋとマスター秘密鍵ｓｋとを生成するアルゴリズムである。
Ｓｅｔｕｐアルゴリズムでは、双対ペアリングベクトル空間のパラメータｐａｒａｍと、ペアリング演算で関連付けられた双対正規直交基底である基底Ｂ及び基底Ｂ＊とが生成される。そして、パラメータｐａｒａｍと基底Ｂとが公開パラメータｐｋとされ、基底Ｂ＊がマスター秘密鍵ｓｋとされる。
なお、基底Ｂは、基底ベクトルｂ１，ｂ２，．．．，ｂｎ＋２を有し、基底Ｂ＊は、基底ベクトルｂ＊１，ｂ＊２，．．．，ｂ＊ｎ＋２を有する。つまり、基底Ｂ，Ｂ＊は、それぞれのｎ＋２個（ｎは１以上の整数）の基底ベクトルを有する。
【００１７】
ＫｅｙＧｅｎアルゴリズムは、ユーザ秘密鍵ｋ＊を生成するアルゴリズムである。
ＫｅｙＧｅｎアルゴリズムでは、式１に示すように、マスター秘密鍵ｓｋに含まれる基底Ｂ＊を用いて、ユーザ秘密鍵ｋ＊が生成される。
＜式１＞
ｋ＊：＝σ（ｖ１ｂ＊１＋．．．＋ｖｎｂ＊ｎ）＋ｂ＊ｎ＋１
ここで、σは、乱数値である。ｖ１，．．．，ｖｎは、ユーザ秘密鍵ｋ＊が与えられるユーザの属性情報等である。
【００１８】
Ｅｎｃアルゴリズムは、暗号化データｃを生成するアルゴリズムである。
Ｅｎｃアルゴリズムでは、式２に示すように、公開パラメータｐｋに含まれる基底Ｂを用いて、暗号化データｃの要素ｃ１が生成される。
＜式２＞
ｃ１：＝ω（ｘ１ｂ１＋．．．＋ｘｎｂｎ）＋ζｂｎ＋１＋φｂｎ＋２
ここで、ω，ζ，φは、乱数値である。ｘ１，．．．，ｘｎは、暗号化データｃを復号可能なユーザの属性情報等である。
また、Ｅｎｃアルゴリズムでは、式３に示すように、公開パラメータｐｋに含まれるパラメータｐａｒａｍを用いて、暗号化データｃの要素ｃ２が生成される。
＜式３＞
ｃ２：＝ｅ（ｇ，ｇ）ζ・ｍ
ここで、ｇは、パラメータｐａｒａｍに含まれる情報であり、双対ペアリングベクトル空間を構成する群Ｇの要素である。ｍは、メッセージである。ｅ（ｇ，ｇ）は、要素ｇと要素ｇとについてのペアリング演算である。
【００１９】
Ｄｅｃアルゴリズムは、暗号化データｃをユーザ秘密鍵ｋ＊で復号するアルゴリズムである。
Ｄｅｃアルゴリズムでは、式４に示す計算が実行され、暗号化データｃがユーザ秘密鍵ｋ＊で復号されて、ｍ’が抽出される。
＜式４＞
ｍ’：＝ｃ２／ｅ（ｃ１，ｋ＊）
ここで、ｅ（ｃ１，ｋ＊）は、要素ｃ１とユーザ秘密鍵ｋ＊とについてのペアリング演算である。
【００２０】
Ｄｅｃアルゴリズムでは、ユーザ秘密鍵ｋ＊における基底ベクトルｂ＊１，．．．，ｂ＊ｎに設定された属性情報等（ｖ１，．．．，ｖｎ）と、要素ｃ１における基底ベクトルｂ１，．．．，ｂｎに設定された属性情報等（ｘ１，．．．，ｘｎ）とが対応する場合、抽出されたｍ’＝ｍとなる。
属性情報等（ｖ１，．．．，ｖｎ）と属性情報等（ｘ１，．．．，ｘｎ）とが対応するとは、Σｉ＝１ｎｖｉ・ｘｉ＝０となることである。
【００２１】
ペアリング演算ｅ（ｓｇ，ｔｇ）＝ｅ（ｇ，ｇ）ｓｔである。そのため、ｅ（ｃ１，ｋ＊）＝ｅ（ｇ，ｇ）Ｙとなる。ここで、Ｙ＝ωσ（ｘ１・ｖ１＋．．．ｘｎ・ｖｎ）＋ζである。したがって、Σｉ＝１ｎｖｉ・ｘｉ＝０であれば、Ｙ＝ζであり、ｅ（ｃ１，ｋ＊）＝ｅ（ｇ，ｇ）ζである。
式３に示すように、ｃ２：＝ｅ（ｇ，ｇ）ζ・ｍであるから、式４の計算を実行すれば、Σｉ＝１ｎｖｉ・ｘｉ＝０の場合には、ｍ’＝ｍとなる。
【００２２】
以下の説明では、説明を簡単にするため、ｎ＝４として説明する。
【００２３】
図１は、実施の形態１に係る暗号処理システム１０の構成図である。
暗号処理システム１０は、非特許文献１，２等に記載された関数型暗号方式に基づく暗号処理を実現する。暗号処理システム１０は、複数のユーザ端末１００、暗号化データ管理装置２００、暗号化データ記憶装置３００、鍵生成装置４００を備える。各ユーザ端末１００、暗号化データ管理装置２００、暗号化データ記憶装置３００、鍵生成装置４００は、それぞれ、インターネット等のネットワーク５００を介して接続されている。
【００２４】
図２は、実施の形態１に係るユーザ端末１００の構成図である。
ユーザ端末１００は、ユーザが使用する端末であり、データの暗号化、復号を行う。ユーザ端末１００は、暗号化データ生成部１１０、データ送信部１２０、データ受信部１３０、復号部１４０、鍵管理部１５０を備える。
【００２５】
図３は、実施の形態１に係る暗号化データ管理装置２００の構成図である。
暗号化データ管理装置２００は、ユーザ端末１００と暗号化データ記憶装置３００との間で、暗号化データの管理をする。暗号化データ管理装置２００は、データ受信部２１０（データ取得部）、失効判定部２２０、鍵情報設定部２３０、データ送信部２４０、失効情報管理部２５０、鍵管理部２６０を備える。
【００２６】
図４は、実施の形態１に係る暗号化データ記憶装置３００の構成図である。
暗号化データ記憶装置３００は、暗号化データを記憶する。暗号化データ記憶装置３００は、データ受信部３１０、データ操作部３２０、データ送信部３３０、暗号化データ管理部３４０を備える。
【００２７】
図５は、実施の形態１に係る鍵生成装置４００の構成図である。
鍵生成装置４００は、ユーザ秘密鍵ｋ＊、マスター秘密鍵ｓｋ、公開パラメータｐｋを生成する。鍵生成装置４００は、指示受信部４１０、鍵生成部４２０、鍵送信部４３０、マスター鍵記憶部４４０を備える。
【００２８】
暗号処理システム１０の主な処理には、暗号化データ登録処理と、暗号化データ取得処理とがある。暗号化データ登録処理は、ユーザ端末１００が暗号化データを暗号化データ記憶装置３００に登録する処理である。暗号化データ取得処理は、ユーザ端末１００が暗号化データを暗号化データ記憶装置３００から取得する処理である。
また、暗号化データ登録処理と暗号化データ取得処理とには、３つの前提条件がある。
そこで、３つの前提条件を説明した上で、暗号化データ登録処理と、暗号化データ取得処理とを説明する。
【００２９】
＜前提条件１＞
ユーザ端末１００が、関数型暗号方式におけるユーザ秘密鍵ｋ＊を取得している必要がある。
鍵生成装置４００の指示受信部４１０は、ユーザ端末１００等から鍵の生成指示を受信する。すると、鍵生成装置４００の鍵生成部４２０は、処理装置により、Ｓｅｔｕｐアルゴリズムを実行して、公開パラメータｐｋとマスター秘密鍵ｓｋとを生成し、マスター鍵記憶部４４０に記憶する。また、鍵生成部４２０は、処理装置により、ＫｅｙＧｅｎアルゴリズムを実行して、マスター秘密鍵ｓｋに含まれる基底Ｂ＊を用いて、ユーザ秘密鍵ｋ＊を生成する。
そして、鍵送信部４３０は、公開パラメータｐｋとユーザ秘密鍵ｋ＊とをユーザ端末１００へ送信する。ユーザ端末１００のデータ受信部１３０は、公開パラメータｐｋとユーザ秘密鍵ｋ＊とを受信して、鍵管理部１５０に記憶する。また、鍵送信部４３０は、公開パラメータｐｋを暗号化データ管理装置２００へ送信する。暗号化データ管理装置２００のデータ受信部２１０は、公開パラメータｐｋを受信して、鍵管理部２６０に記憶する。
なお、Ｓｅｔｕｐアルゴリズムは一度だけ実行されればよく、ユーザ秘密鍵ｋ＊を生成する度に実行する必要はない。
また、鍵送信部４３０がユーザ秘密鍵ｋ＊をユーザ端末１００へ送信する場合、ユーザ認証を行い、正当なユーザの端末であることを確認する。また、鍵送信部４３０がユーザ秘密鍵ｋ＊をユーザ端末１００へ送信する場合、盗聴と改ざんを防ぐため、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）等を用いた安全な通信路を使用する。つまり、ユーザ秘密鍵ｋ＊が悪意ある第三者に不正に利用されないようにする。
【００３０】
ここでは、鍵生成部４２０は、式５に示すようにユーザ秘密鍵ｋ＊を生成する。
＜式５＞
ｋ＊＝σ１（ｖ１ｂ＊１＋ｖ２ｂ＊２）＋σ２（ｖ３ｂ＊３＋ｖ４ｂ＊４）＋ｂ＊５
ここで、σ１，σ２は、乱数値である。ｖ１，ｖ２は、鍵情報である。ここでは、鍵情報として、新たな鍵の発行毎に値がインクリメントされる世代番号を用いる。ｖ３，ｖ４は、ユーザ秘密鍵ｋ＊が与えられるユーザの属性情報である。
世代番号の値をρとし、属性情報の値をαとした場合、ここでは、式６に示すようにユーザ秘密鍵ｋ＊は生成される。
＜式６＞
ｋ＊＝σ１（ρｂ＊１＋ｂ＊２）＋σ２（αｂ＊３＋ｂ＊４）＋ｂ＊５
つまり、ｖ１：＝ρ，ｖ２：＝１，ｖ３：＝α，ｖ４：＝１である。
【００３１】
鍵生成部４２０は、あるユーザに対して、初めにユーザ秘密鍵ｋ＊を生成する場合には、世代番号の値を１とする。そのユーザがユーザ秘密鍵ｋ＊を紛失して、再びユーザ秘密鍵ｋ＊を生成する場合には、世代番号の値をインクリメントして２とする。以降、ユーザ秘密鍵ｋ＊を紛失して再生成する場合には、インクリメントした世代番号の値を用いる。
【００３２】
＜前提条件２＞
ユーザ端末１００が、ドメイン公開鍵ｄｐｋを取得している必要がある。
ドメイン公開鍵ｄｐｋとは、暗号化データ管理装置２００の秘密鍵（ドメイン秘密鍵ｄｓｋ）に対応する公開鍵である。なお、ドメイン秘密鍵ｄｓｋとドメイン公開鍵ｄｐｋとの鍵ペアは、関数型暗号方式における鍵ペアでなく、他の公開鍵暗号方式における鍵ペアであってもよい。
鍵生成部４２０は、ドメイン秘密鍵ｄｓｋとドメイン公開鍵ｄｐｋとの鍵ペアを生成し、鍵送信部４３０は、ドメイン公開鍵ｄｐｋをユーザ端末１００へ送信し、ドメイン秘密鍵ｄｓｋを暗号化データ管理装置２００へ送信する。ユーザ端末１００のデータ受信部１３０は、ドメイン公開鍵ｄｐｋを受信し、鍵管理部１５０に記憶する。また、暗号化データ管理装置２００のデータ受信部２１０は、ドメイン公開鍵ｄｐｋを受信し、鍵管理部２６０に記憶する。
鍵送信部４３０がドメイン秘密鍵ｄｓｋを暗号化データ管理装置２００へ送信する場合、盗聴と改ざんを防ぐため、ＳＳＬ等を用いた安全な通信路を使用する。
【００３３】
＜前提条件３＞
暗号化データ管理装置２００が、失効情報を取得している必要がある。
失効情報とは、ユーザ秘密鍵ｋ＊を紛失したユーザの識別情報と、紛失したユーザ秘密鍵ｋ＊の世代番号とを示す情報である。
ユーザがユーザ秘密鍵ｋ＊を紛失した場合、ユーザ端末１００のデータ送信部１２０は、ユーザ秘密鍵ｋ＊を紛失したユーザの識別情報と、紛失したユーザ秘密鍵ｋ＊の世代番号とを失効情報として暗号化データ管理装置２００へ送信する。暗号化データ管理装置２００のデータ受信部２１０は、失効情報を受信し、失効情報管理部２５０に記憶する。
なお、データ受信部２１０は、失効情報を受信する場合、ユーザ認証を行い、失効を届け出たユーザが本人であることを確認する。
【００３４】
＜暗号化データ登録処理＞
図６は、実施の形態１に係る暗号化データ登録処理の流れを示すフローチャートである。
（Ｓ１１：暗号化処理）
ユーザ端末１００の暗号化データ生成部１１０は、Ｅｎｃアルゴリズムを実行して暗号化データｃを生成する。
【００３５】
ここでは、暗号化データ生成部１１０は、処理装置により、式７に示すように、鍵管理部１５０に記憶した公開パラメータｐｋに含まれる基底Ｂを用いて、暗号化データｃの要素ｃ１を生成する。
＜式７＞
ｃ１：＝ω１（ｒ１ｂ１＋ｒ２ｂ２）＋ω２（ｘ３ｂ３＋ｘ４ｂ４）＋ζｂ５＋φｂ６
ここで、ω１，ω２，ｒ１，ｒ２，ζ，φは、乱数値である。ｘ３，ｘ４は、暗号化データｃを復号可能なユーザの属性情報が設定される。
属性情報の値をαとした場合、ここでは、式８に示すように暗号化データｃは生成される。
＜式８＞
ｃ１：＝ω１（ｒ１ｂ１＋ｒ２ｂ２）＋ω２（ｂ３−αｂ４）＋ζｂ５＋φｂ６
つまり、ｘ３：＝１，ｘ４：＝−αである。
【００３６】
また、暗号化データ生成部１１０は、処理装置により、式９に示すように、鍵管理部１５０に記憶した公開パラメータｐｋに含まれるパラメータｐａｒａｍを用いて、暗号化データｃの要素ｃ２を生成する。
＜式９＞
ｃ２：＝ｅ（ｇ，ｇ）ζ・ｍ
【００３７】
また、暗号化データ生成部１１０は、処理装置により、鍵管理部１５０に記憶したドメイン公開鍵ｄｐｋで、ω１ｒ１を暗号化したＥ（ω１ｒ１）と、ω１ｒ２を暗号化したＥ（ω１ｒ２）とを生成する。
また、暗号化データ生成部１１０は、要素ｃ１に設定した属性情報が示すユーザの識別情報をユーザリストｕｌとして生成する。
【００３８】
（Ｓ１２：第１データ送信処理）
ユーザ端末１００のデータ送信部１２０は、通信装置により、暗号化データ生成部１１０が生成した要素ｃ１，ｃ２，Ｅ（ω１ｒ１），Ｅ（ω１ｒ２），ｕｌを含む暗号化データｃを、暗号化データ管理装置２００へ送信する。
【００３９】
（Ｓ１３：第２データ送信処理）
暗号化データ管理装置２００のデータ受信部２１０は、通信装置により、暗号化データｃをユーザ端末１００から受信する。暗号化データ管理装置２００のデータ送信部２４０は、暗号化データｃに関連情報ｒを添付して、暗号化データ記憶装置３００へ送信する。なお、関連情報ｒとは、暗号化データｃの作成者や、暗号化データｃの受信日時等であり、後に暗号化データｃを検索する際に利用される情報である。
【００４０】
（Ｓ１４：データ記憶処理）
暗号化データ記憶装置３００のデータ受信部３１０は、通信装置により、暗号化データｃと関連情報ｒとを暗号化データ管理装置２００から受信する。暗号化データ記憶装置３００のデータ操作部３２０は、暗号化データｃと関連情報ｒとを関連付けて、暗号化データ管理部３４０に記憶する。
【００４１】
（Ｓ１５：結果送信処理）
暗号化データ記憶装置３００のデータ送信部３３０は、通信装置により、暗号化データｃの記憶が成功したか否かを示す結果情報を、暗号化データ管理装置２００へ送信する。
【００４２】
（Ｓ１６：結果転送処理）
暗号化データ管理装置２００のデータ受信部２１０は、通信装置により、結果情報を暗号化データ記憶装置３００から受信する。暗号化データ管理装置２００のデータ送信部２４０は、通信装置により、結果情報をユーザ端末１００へ送信する。
【００４３】
（Ｓ１７：結果受信処理）
ユーザ端末１００のデータ受信部１３０は、通信装置により、結果情報を暗号化データ管理装置２００から受信する。
【００４４】
＜暗号化データ取得処理＞
図７は、実施の形態１に係る暗号化データ取得処理の流れを示すフローチャートである。
（Ｓ２１：キーワード送信処理）
ユーザ端末１００のデータ送信部１２０は、通信装置により、暗号化データｃを特定可能なキーワードを、暗号化データ管理装置２００へ送信する。
【００４５】
（Ｓ２２：キーワード転送処理）
暗号化データ管理装置２００のデータ受信部２１０は、通信装置により、キーワードをユーザ端末１００から受信する。暗号化データ管理装置２００のデータ送信部２４０は、通信装置により、キーワードを暗号化データ記憶装置３００へ送信する。
【００４６】
（Ｓ２３：データ検索処理）
暗号化データ記憶装置３００のデータ受信部３１０は、通信装置により、キーワードを暗号化データ管理装置２００から受信する。暗号化データ記憶装置３００のデータ操作部３２０は、処理装置により、キーワードと一致する関連情報ｒを有する暗号化データｃを暗号化データ管理部３４０から抽出する。
【００４７】
（Ｓ２４：第１データ送信処理）
暗号化データ記憶装置３００のデータ送信部３３０は、通信装置により、抽出した暗号化データｃを暗号化データ管理装置２００へ送信する。
【００４８】
（Ｓ２５：世代番号付け代え処理）
暗号化データ管理装置２００のデータ受信部２１０は、通信装置により、暗号化データｃを暗号化データ記憶装置３００から受信する。
暗号化データ管理装置２００の失効判定部２２０は、処理装置により、暗号化データｃのユーザリストｕｌに含まれるユーザの識別情報が、失効情報管理部２５０が記憶する失効情報に含まれているか否か判定する。鍵情報設定部２３０は、処理装置により、暗号化データｃの要素ｃ１における乱数値ｒ１，ｒ２を、失効判定部２２０の判定結果に応じて異なる値に設定し直し、要素ｃ１’を生成する。
具体的には、鍵情報設定部２３０は、以下のように乱数値ｒ１，ｒ２を設定し直す。なお、ここでは、式８に示す要素ｃ１における乱数値ｒ１，ｒ２を設定し直した要素ｃ１’を示す。
【００４９】
ユーザリストｕｌに含まれるユーザの識別情報が、失効情報管理部２５０が記憶する失効情報に含まれていない場合、鍵情報設定部２３０は、式１０に示すように、要素ｃ１’を生成する。
＜式１０＞
ｃ１’：＝ω１（ｂ１−ｂ２）＋ω２（ｂ３−αｂ４）＋ζｂ５＋φｂ６
つまり、ｒ１を１に設定し直し、ｒ２を−１に設定し直す。ｒ２を設定し直した−１は、−１×世代番号の初期値である。
なお、式１１に示す計算をすることにより、式８に示す要素ｃ１から式１０に示す要素ｃ１’を得ることができる。
＜式１１＞
ｃ１’：＝ｃ１−（ω１ｒ１ｂ１＋ω１ｒ２ｂ２）＋（ω１ｂ１−ω１ｂ２）
ここで、ω１ｒ１，ω１ｒ２は、暗号化データｃの要素Ｅ（ω１ｒ１），Ｅ（ω１ｒ２）を、鍵管理部２６０に記憶したドメイン秘密鍵ｄｓｋで復号することにより得られる。また、ｂ１，ｂ２は、公開パラメータｐｋに含まれる基底Ｂから得られる。
【００５０】
ユーザリストｕｌに含まれるユーザの識別情報が、失効情報管理部２５０が記憶する失効情報に含まれている場合、鍵情報設定部２３０は、式１２に示すように、要素ｃ１’を生成する。
＜式１２＞
ｃ１’：＝ω１（ｂ１−ρ１ｂ２）＋ω２（ｂ３−αｂ４）＋ζｂ５＋φｂ６
つまり、ｒ１を１に設定し直し、ｒ２を−ρ１に設定し直す。ｒ２を設定し直した−ρ１は、−１×（失効したユーザ秘密鍵ｋ＊の世代番号の値＋１）である。つまり、ユーザリストｕｌにユーザＡが含まれており、失効したユーザＡのユーザ秘密鍵ｋ＊の世代番号として１が失効リストに含まれている場合、−ρ１は、−１×（１＋１）＝−２となる。
なお、式１３に示す計算をすることにより、式８に示す要素ｃ１から式１２に示す要素ｃ１’を得ることができる。
＜式１３＞
ｃ１’：＝ｃ１−（ω１ｒ１ｂ１＋ω１ｒ２ｂ２）＋（ω１ｂ１−ω１ρ１ｂ２）
【００５１】
（Ｓ２６：第２データ送信処理）
暗号化データ管理装置２００のデータ送信部２４０は、通信装置により、暗号化データｃの要素ｃ１を要素ｃ１’に置き換えた暗号化データｃ’を、ユーザ端末１００へ送信する。
【００５２】
（Ｓ２７：復号処理）
ユーザ端末１００の暗号化データ生成部１１０は、通信装置により、暗号化データｃ’を暗号化データ管理装置２００から受信する。ユーザ端末１００の復号部１４０は、Ｄｅｃアルゴリズムを実行することにより、暗号化データｃ’をユーザ秘密鍵ｋ＊で復号する。
ここでは、復号部１４０は、処理装置により、式１４に示す計算を実行することにより、暗号化データｃ’をユーザ秘密鍵ｋ＊で復号して、メッセージｍ’を抽出する。
＜式１４＞
ｍ’：＝ｃ２／ｅ（ｃ１，ｋ＊）
【００５３】
上述したように、ユーザ秘密鍵ｋ＊における基底ベクトルｂ＊１，．．．，ｂ＊ｎに設定された属性情報等（ｖ１，．．．，ｖｎ）と、要素ｃ１における基底ベクトルｂ１，．．．，ｂｎに設定された属性情報等（ｘ１，．．．，ｘｎ）とが対応する場合、抽出されたｍ’＝ｍとなる。そして、ここでは、属性情報等（ｖ１，．．．，ｖｎ）と属性情報等（ｘ１，．．．，ｘｎ）とが対応するとは、Σｉ＝１ｎｖｉ・ｘｉ＝０となることである。
【００５４】
ユーザ端末１００は、初めに生成され、世代番号の値として１が付されたユーザ秘密鍵ｋ＊を有しているとする。つまり、ユーザ端末１００は、式６のρに１が設定された、式１５に示すユーザ秘密鍵ｋ＊を有しているとする。
＜式１５＞
ｋ＊＝σ１（ｂ＊１＋ｂ＊２）＋σ２（αｂ＊３＋ｂ＊４）＋ｂ＊５
また、Ｓ１１において、暗号化データｃの要素ｃ１は、式１６（＝式８）に示すように生成されているとする。
＜式１６＞
ｃ１：＝ω１（ｒ１ｂ１＋ｒ２ｂ２）＋ω２（ｂ３−αｂ４）＋ζｂ５＋φｂ６
【００５５】
ユーザリストｕｌに含まれるユーザの識別情報が失効情報に含まれていない場合、式１７（＝式１０）に示すように、要素ｃ１’は生成される。
＜式１７＞
ｃ１’：＝ω１（ｂ１−ｂ２）＋ω２（ｂ３−αｂ４）＋ζｂ５＋φｂ６
この場合、ｖ１＝１，ｖ２＝１，ｖ３＝α，ｖ４＝１であり、ｘ１＝１，ｘ２＝−１，ｘ３＝１，ｘ４＝−αであるから、Σｉ＝１４ｖｉ・ｘｉ＝１−１＋α−α＝０となる。したがって、Ｓ２６で抽出されたメッセージｍ’は、Ｓ１１で暗号化データｃの要素ｃ２に設定されたメッセージｍと等しい。
つまり、ユーザ秘密鍵ｋ＊で、暗号化データｃを復号することができる。
【００５６】
一方、ユーザリストｕｌに含まれるユーザの識別情報が失効情報に含まれている場合、式１８に示すように、要素ｃ１’は生成される。ここでは、世代番号がの値が１のユーザ秘密鍵ｋ＊が失効していたとする。
＜式１８＞
ｃ１’：＝ω１（ｂ１−２ｂ２）＋ω２（ｂ３−αｂ４）＋ζｂ５＋φｂ６
この場合、ユーザ秘密鍵ｋ＊において、基底ベクトルｂ＊１，．．．，ｂ＊４の係数に設定されたｖ１，．．．，ｖ４は、ｖ１＝１，ｖ２＝１，ｖ３＝α，ｖ４＝１である。また、要素ｃ１’において、基底ベクトルｂ１，．．．，ｂ４の係数に設定されたｘ１，．．．，ｘ４は、ｘ１＝１，ｘ２＝−２，ｘ３＝１，ｘ４＝−αであるから、Σｉ＝１４ｖｉ・ｘｉ＝１−２＋α−α≠０となる。したがって、Ｓ２６で抽出されたメッセージｍ’は、Ｓ１１で暗号化データｃの要素ｃ２に設定されたメッセージｍと等しくない。
つまり、失効しているユーザ秘密鍵ｋ＊では、暗号化データｃを復号することはできない。
【００５７】
しかし、ユーザ端末１００は、鍵生成装置４００にユーザ秘密鍵ｋ＊を再生成してもらい、世代番号の値として２が付されたユーザ秘密鍵ｋ＊を取得したとする。つまり、ユーザ端末１００は、式６のρに２が設定された、式１９に示すユーザ秘密鍵ｋ＊を取得したとする。
＜式１９＞
ｋ＊＝σ１（２ｂ＊１＋ｂ＊２）＋σ２（αｂ＊３＋ｂ＊４）＋ｂ＊５
この場合、ｖ１＝２，ｖ２＝１，ｖ３＝α，ｖ４＝１であり、ｘ１＝１，ｘ２＝−２，ｘ３＝１，ｘ４＝−αであるから、Σｉ＝１４ｖｉ・ｘｉ＝２−２＋α−α＝０となる。したがって、Ｓ２６で抽出されたメッセージｍ’は、Ｓ１１で暗号化データｃの要素ｃ２に設定されたメッセージｍと等しい。
つまり、ユーザ秘密鍵ｋ＊を紛失した場合、ユーザ秘密鍵ｋ＊を再生成してもらうことで、暗号化データｃの復号が可能となる。
【００５８】
また、ユーザ端末１００が、暗号化データ管理装置２００を介すことなく、暗号化データ記憶装置３００から暗号化データｃを取得することも考えられる。しかし、この場合、暗号化データｃの要素ｃ１は、式２０（＝式８）に示す通りである。
＜式２０＞
ｃ１：＝ω１（ｒ１ｂ１＋ｒ２ｂ２）＋ω２（ｂ３−αｂ４）＋ζｂ５＋φｂ６
この場合、乱数値ｒ１，ｒ２が用いられているため、ユーザ秘密鍵ｋ＊に設定された世代番号の値がいくつであっても、Σｉ＝１４ｖｉ・ｘｉ≠０となり、復号できない。
【００５９】
以上のように、実施の形態１に係る暗号処理システム１０では、ユーザ秘密鍵ｋ＊を紛失した場合には、紛失したユーザ秘密鍵ｋ＊では暗号化データｃを復号できない状態とし、再生成されたユーザ秘密鍵ｋ＊では暗号化データｃを復号できる状態とすることができる。特に、この際、既に暗号化データ記憶装置３００に記憶された暗号化データｃに対して、再暗号化等の処理を行う必要はない。
【００６０】
また、実施の形態１に係る暗号処理システム１０では、仮に、ユーザ端末１００が、暗号化データ管理装置２００を介すことなく、暗号化データ記憶装置３００から暗号化データｃを取得した場合にも、暗号化データｃを復号できない。
したがって、実施の形態１に係る暗号処理システム１０では、暗号化データ記憶装置３００を第三者に委託し、暗号化データ記憶装置３００から暗号化データｃが漏洩する可能性がある場合であっても、安全性を保つことができる。
【００６１】
つまり、実施の形態１に係る暗号処理システム１０では、ユーザ秘密鍵ｋ＊に、ユーザの属性情報と、その鍵の世代番号とを設定しておく。また、暗号化データｃに、復号できる条件として、復号可能なユーザの属性情報の条件と、復号可能な鍵の世代番号の条件とをＡＮＤ条件で設定しておく。
また、実施の形態１に係る暗号処理システム１０では、ユーザ端末１００と暗号化データ記憶装置３００との間の処理を中継する暗号化データ管理装置２００を設置する。そして、ユーザ端末１００が暗号化データｃを取得する場合、暗号化データ管理装置２００が暗号化データ記憶装置３００から暗号化データｃを取得して、ユーザ端末１００へ送信する。この際、暗号化データ管理装置２００は、暗号化データｃを復号可能なユーザにユーザ秘密鍵ｋ＊を失効したユーザが含まれるか否かに応じて、暗号化データｃの世代番号を異なる値に設定し直す。具体的には、失効したユーザが含まれない場合には、世代番号の値に初期値を設定し、失効したユーザが含まれる場合には、世代番号の値に失効していない世代番号の値を設定する。
これにより、実施の形態１に係る暗号処理システム１０は、暗号化データｃの再暗号化をすることなく、紛失したユーザ秘密鍵ｋ＊では暗号化データｃを復号できず、再生成されたユーザ秘密鍵ｋ＊では暗号化データｃを復号できる状態とする。
【００６２】
なお、上記説明では、式５に示すようにユーザ秘密鍵ｋ＊を生成するとした。つまり、鍵情報と属性情報とに、異なる乱数値σ１，σ２を乗じていた。しかし、式２１に示すように、鍵情報と属性情報とに同一の乱数値σを乗じて、ユーザ秘密鍵ｋ＊を生成してもよい。
＜式２１＞
ｋ＊＝σ（ｖ１ｂ＊１＋ｖ２ｂ＊２＋ｖ３ｂ＊３＋ｖ４ｂ＊４）＋ｂ＊５
【００６３】
また、上記説明では、式７に示すように暗号化データｃの要素ｃ１を生成するとした。つまり、鍵情報と属性情報とに、異なる乱数値ω１，ω２を乗じていた。しかし、式２２に示すように、鍵情報と属性情報とに同一の乱数値ωを乗じて、要素ｃ１を生成してもよい。
＜式２２＞
ｃ１：＝ω（ｒ１ｂ１＋ｒ２ｂ２＋ｘ３ｂ３＋ｘ４ｂ４）＋ζｂ５＋φｂ６
【００６４】
また、式２３に示すように、乱数値ω１を用いず、要素ｃ１を生成してもよい。これは、ｒ１，ｒ２自身が乱数値であり、さらに乱数値を掛けなくてもよいためである。
＜式２３＞
ｃ１：＝ｒ１ｂ１＋ｒ２ｂ２＋ω２（ｘ３ｂ３＋ｘ４ｂ４）＋ζｂ５＋φｂ６
【００６５】
また、式２４に示すように、鍵情報を設定する一部の基底ベクトル（式２４ではｂ１）の係数を０とし、要素ｃ１を生成してもよい。これは、基底ベクトルｂ１，ｂ２は、暗号化データ管理装置２００によって値を付け直しされるので、どちらか１つの基底ベクトルの係数に乱数値を設定しておけばよいためである。
＜式２４＞
ｃ１：＝ｒ２ｂ２＋ω２（ｘ３ｂ３＋ｘ４ｂ４）＋ζｂ５＋φｂ６
【００６６】
また、式２５に示すように、鍵情報を設定する基底ベクトルに乱数値を設定せず、他の部分をドメイン公開鍵で暗号化して、要素ｃ１を生成してもよい。鍵情報を設定する基底ベクトルに乱数値を設定することにより、ユーザ端末１００が暗号化データ記憶装置３００から直接暗号化データｃを取得した場合に、復号できない状態としていた。しかし、他の部分をドメイン公開鍵で暗号化しておくことで、同様の効果が得られるためである。
＜式２５＞
ｃ１：＝Ｅ（ω２（ｘ３ｂ３＋ｘ４ｂ４）＋ζｂ５＋φｂ６）
【００６７】
また、上記説明では、説明を簡単にするため、αが属性情報の値として設定されたユーザ秘密鍵ｋ＊と暗号化データｃとを用いて説明した。
しかし、実際には、ユーザＵの所属するＡ会社を示す値α１、Ｂ部を示す値α２、Ｃ課を示す値α３、ユーザＵを示すα４が属性情報の値として設定されたユーザ秘密鍵ｋ＊を用いることがある。例えば、式２６に示すユーザ秘密鍵ｋ＊を用いることがある。なお、ここでは、世代番号の値として１を設定している。また、この場合、ｎ＝１０である。
＜式２６＞
ｋ＊＝σ１（ｂ＊１＋ｂ＊２）＋σ２（α１ｂ＊３＋ｂ＊４＋α２ｂ＊５＋ｂ＊６＋α３ｂ＊７＋ｂ＊８＋α４ｂ＊９＋ｂ＊１０）＋ｂ＊１１
また、Ａ会社のＢ部に所属するユーザであれば誰でも復号可能であるように、Ａ会社を示す値α１、Ｂ部を示す値α２が属性情報の値として設定された暗号化データｃを用いることがある。例えば、式２７に示す暗号化データｃを用いることがある。
＜式２７＞
ｃ１：＝ω１（ｒ１ｂ１＋ｒ２ｂ２）＋ω２（ｂ３−α１ｂ４＋ｂ５−α２ｂ６）＋ζｂ１１＋φｂ１２
【００６８】
ユーザリストｕｌに含まれるユーザの識別情報が失効情報に含まれている場合、式２８に示すように、要素ｃ１’は生成される。
＜式２８＞
ｃ１：＝ω１（ｂ１−ｂ２）＋ω２（ｂ３−α１ｂ４＋ｂ５−α２ｂ６）＋ζｂ１１＋φｂ１２
この場合、ｖ１＝１，ｖ２＝１，ｖ３＝α１，ｖ４＝１，ｖ５＝α２，ｖ６＝１，ｖ７＝α３，ｖ８＝１，ｖ９＝α４，ｖ１０＝１であり、ｘ１＝１，ｘ２＝−１，ｘ３＝１，ｘ４＝−α１，ｘ５＝１，ｘ６＝−α２，ｘ７＝０，ｘ８＝０，ｘ９＝０，ｘ１０＝０であるから、Σｉ＝１１０ｖｉ・ｘｉ＝σ１ω１（１−１）＋σ２ω２（α１−α１＋α２−α２＋０＋０＋０＋０）＝０となる。したがって、Ｓ２６で抽出されたメッセージｍ’は、Ｓ１１で暗号化データｃの要素ｃ２に設定されたメッセージｍと等しい。
【００６９】
一方、ユーザリストｕｌに含まれるユーザの識別情報が失効情報に含まれている場合、式２９に示すように、要素ｃ１’は生成される。ここでは、世代番号がの値が１のユーザ秘密鍵ｋ＊が失効していたとする。
＜式２９＞
ｃ１：＝ω１（ｂ１−２ｂ２）＋ω２（ｂ３−α１ｂ４＋ｂ５−α２ｂ６）＋ζｂ１１＋φｂ１２
なお、Ｂ部に所属する１人のユーザＵ１がユーザ秘密鍵ｋ＊を紛失すると、Ｂ部に所属する他のユーザＵ２が暗号化データｃを取得する場合にも、要素ｃ１は式２８に示す要素ｃ１’ではなく、式２９に示す要素ｃ１’に変換される。したがって、ユーザＵ１だけでなく、ユーザＵ２等のＢ部に所属する他のユーザもユーザ秘密鍵ｋ＊を再作成してもらわなければ、暗号化データｃを復号することはできなくなる。
【００７０】
実施の形態２．
実施の形態２では、非特許文献２に記載された関数型暗号方式において、秘密鍵の失効方式を実現する方法を説明する。
【００７１】
まず、非特許文献２に記載された関数型暗号方式について、この実施の形態の説明に必要な部分のみに簡略化して説明する。特に、非特許文献２に記載された関数型暗号方式で用いられるスパンプログラムや秘密分散等については、省略、あるいは簡略化して説明する。
非特許文献２に記載された関数型暗号方式には、非特許文献１に記載された関数型暗号方式と同様に、Ｓｅｔｕｐアルゴリズム、ＫｅｙＧｅｎアルゴリズム、Ｅｎｃアルゴリズム、Ｄｅｃアルゴリズムがある。
【００７２】
Ｓｅｔｕｐアルゴリズムは、公開パラメータｐｋとマスター秘密鍵ｓｋとを生成するアルゴリズムである。
Ｓｅｔｕｐアルゴリズムでは、双対ペアリングベクトル空間のパラメータｐａｒａｍと、ｔ＝０，．．．，ｄ（ｄは１以上の整数）の各ｔについての正規直交基底である基底Ｂｔ及び基底Ｂ＊ｔとが生成される。そして、パラメータｐａｒａｍと基底Ｂｔとが公開パラメータｐｋとされ、基底Ｂ＊ｔがマスター秘密鍵ｓｋとされる。
なお、基底Ｂ０は、基底ベクトルｂ０，１，ｂ０，２，．．．，ｂ０，５を有し、基底Ｂ＊０は、基底ベクトルｂ＊０，１，ｂ＊０，２，．．．，ｂ＊０，５を有する。つまり、基底Ｂ０，Ｂ＊０は、それぞれ５個の基底ベクトルを有する。また、ｔ＝１，．．．，ｄの各ｔについての基底Ｂｔは、基底ベクトルｂｔ，１，ｂｔ，２，．．．，ｂｔ，３ｎｔ＋１を有し、基底Ｂ＊ｔは、基底ベクトルｂ＊ｔ，１，ｂ＊ｔ，２，．．．，ｂ＊ｔ，３ｎｔ＋１を有する。つまり、基底Ｂｔ，Ｂ＊ｔは、それぞれ３ｎｔ＋１個（ｎｔは１以上の整数）の基底ベクトルを有する。
但し、厳密には、係数として必ず０が割り当てられる基底ベクトルは公開パラメータｐｋやマスター秘密鍵ｓｋに含める必要がない。そのため、公開パラメータｐｋに含める基底Ｂ０は、基底ベクトルｂ０，１，ｂ０，３，ｂ０，５のみを有し、マスター秘密鍵ｓｋに含める基底Ｂ＊０は、基底ベクトルｂ＊０，１，ｂ＊０，３，ｂ＊０，４のみを有するとしてもよい。また、ｔ＝１，．．．，ｄの各ｔについて、公開パラメータｐｋに含める基底Ｂｔは、基底ベクトルｂｔ，１，，．．．，ｂｔ，ｎｔ，ｂｔ，３ｎｔ＋１のみを有し、マスター秘密鍵ｓｋに含める基底Ｂ＊ｔは、基底ベクトルｂ＊ｔ，１，．．．，ｂ＊ｔ，ｎｔ＋１，ｂ＊ｔ，２ｎｔ＋１，．．．，ｂ＊ｔ，３ｎｔのみを有するとしてもよい。
【００７３】
ＫｅｙＧｅｎアルゴリズムは、ユーザ秘密鍵ｋ＊を生成するアルゴリズムである。
ＫｅｙＧｅｎアルゴリズムでは、式３０に示すように、マスター秘密鍵ｓｋに含まれる基底Ｂ＊ｔを用いて、要素ｋ＊０と、ｔ＝１，．．．，ｄの各ｔについての要素ｋ＊ｔとを有するユーザ秘密鍵ｋ＊が生成される。
＜式３０＞
ｋ＊０：＝（δ，０，１，φ０，０）Ｂ＊０
ｋ＊ｔ：＝（δｖ→ｔ，０ｎｔ，φ→ｔ，０）Ｂ＊ｔ
ここで、δ，φ０，φ→ｔ：＝φｔ，１，．．．，φｔ，ｎｔは、乱数値である。ｖ→ｔ：＝ｖｔ，１，．．．，ｖｔ，ｎｔは、ユーザ秘密鍵ｋ＊が与えられるユーザの属性情報等である。
また、（ｚ１，．．．，ｚＮ）Ｂ＊ｔ：＝Σｉ＝１Ｎｚｉｂ＊ｔ，ｉである。つまり、ｋ＊０：＝（δ，０，１，φ０，０）Ｂ＊０：＝δｂ＊０，１＋ｂ＊０，３＋φ０ｂ＊０，４である。また、ｋ＊ｔ：＝（δｖ→ｔ，０ｎｔ，φ→ｔ，０）Ｂ＊ｔ：＝Σｉ＝１ｎｔδｖｔ，ｉｂ＊ｔ，ｉ＋Σｉ＝１ｎｔφｔ，ｉｂ＊ｔ，２ｎｔ＋ｉである。
【００７４】
Ｅｎｃアルゴリズムは、暗号化データｃを生成するアルゴリズムである。
Ｅｎｃアルゴリズムでは、式３１に示すように、公開パラメータｐｋに含まれる基底Ｂを用いて、暗号化データｃの要素ｃ０と、ｔ＝１，．．．，Ｌ（Ｌは、ｄ以下の整数）の各ｔについての要素ｃｔとが生成される。
＜式３１＞
ｃ０：＝（−ｓ０，０，ζ，０，η０）Ｂ０
ｃｔ：＝（ｓｔｅ→ｔ，１＋θｔｘ→ｔ，０ｎｔ，０ｎｔ，ηｔ）Ｂｔ
ここで、ｅ→ｔ，１は、ｎｔ個の要素を持ち、先頭要素が１で残りの要素が０であるベクトルである。また、ｓ０＝Σｉ＝１Ｌｓｉである。ζ，θｔ，η０，ηｔは、乱数値である。ｘｔ，１，．．．，ｘｔ，ｎｔは、暗号化データｃを復号可能なユーザの属性情報等である。
また、（ｚ１，．．．，ｚＮ）Ｂｔ：＝Σｉ＝１Ｎｚｉｂｔ，ｉである。つまり、ｃ０：＝（−ｓ０，０，ζ，０，η０）Ｂ０：＝−ｓ０ｂ０，１＋ζｂ０，３＋η０ｂ０，５である。また、ｃｔ：＝（ｓｔｅ→ｔ，１＋θｔｘ→ｔ，０ｎｔ，０ｎｔ，ηｔ）Ｂｔ：＝Σｉ＝１ｎｔ（ｓｔｅ→ｔ，１＋θｔｘｔ，ｉ）ｂｔ，ｉ＋ηｔｂ３ｎｔ＋１である。
【００７５】
また、Ｅｎｃアルゴリズムでは、式３２に示すように、公開パラメータｐｋに含まれるパラメータｐａｒａｍを用いて、暗号化データｃの要素ｃｄ＋１が生成される。
＜式３２＞
ｃｄ＋１：＝ｅ（ｇ，ｇ）ζ・ｍ
ここで、ｇは、パラメータｐａｒａｍに含まれる情報であり、双対ペアリングベクトル空間を構成する群Ｇの要素である。ｍは、メッセージである。ｅ（ｇ，ｇ）は、要素ｇと要素ｇとについてのペアリング演算である。
【００７６】
Ｄｅｃアルゴリズムは、暗号化データｃをユーザ秘密鍵ｋ＊で復号するアルゴリズムである。
Ｄｅｃアルゴリズムでは、式３３に示す計算が実行され、暗号化データｃがユーザ秘密鍵ｋ＊で復号されて、ｍ’が抽出される。
＜式３３＞
ｍ’：＝ｃｄ＋１／（ｅ（ｃ０，ｋ＊０）・Πｔ＝１Ｌｅ（ｃｔ，ｋ＊ｔ））
ここで、ｅ（ｃ０，ｋ＊０）は、要素ｃ０とユーザ秘密鍵ｋ＊０とについてのペアリング演算であり、ｅ（ｃｔ，ｋ＊ｔ）は、要素ｃｔとユーザ秘密鍵ｋ＊ｔとについてのペアリング演算である。
【００７７】
Ｄｅｃアルゴリズムでは、ｔ＝１，．．．，Ｌの各ｔについて、ユーザ秘密鍵ｋ＊における要素ｋ＊ｔに設定された属性情報等（ｖ→ｔ）と、暗号化データｃにおける要素ｃｔに設定された属性情報等（ｘ→ｔ）とが対応する場合、抽出されたｍ’＝ｍとなる。
属性情報等（ｖ→ｔ）と属性情報等（ｘ→ｔ）とが対応するとは、ｖ→ｔ・ｘ→ｔ＝Σｉ＝１ｎｔｖｔ，ｉ・ｘｔ，ｉ＝０となることである。
【００７８】
ペアリング演算ｅ（ｓｇ，ｔｇ）＝ｅ（ｇ，ｇ）ｓｔである。そのため、ｅ（ｃ０，ｋ＊０）＝ｅ（ｇ，ｇ）Ｙ１となる。ここで、Ｙ１＝−ｓ０＋ζである。また、Πｔ＝１Ｌｅ（ｃｔ，ｋ＊ｔ）＝（ｇ，ｇ）Ｙ２となる。ここで、Ｙ２＝Σｉ＝１Ｌ（ｓｉ＋ｖ→ｔ・ｘ→ｔ）＝Σｉ＝１Ｌ（ｓｉ）＋Σｉ＝１Ｌｖ→ｉ・ｘ→ｉである。したがって、Σｉ＝１Ｌｖ→ｉ・ｘ→ｉ＝０であれば、Ｙ２＝Σｉ＝１Ｌ（ｓｉ）である。
そして、ｅ（ｃ０，ｋ＊０）・Πｔ＝１Ｌｅ（ｃｔ，ｋ＊ｔ）＝ｅ（ｇ，ｇ）Ｙ３となり、Σｉ＝１Ｌｖ→ｉ・ｘ→ｉ＝０であれば、Ｙ３＝−ｓ０＋ζ＋Σｉ＝１Ｌ（ｓｉ）である。そして、上述した通り、ｓ０＝Σｉ＝１Ｌｓｉであるから、Ｙ３＝ζである。つまり、ｅ（ｃ０，ｋ＊０）・Πｔ＝１Ｌｅ（ｃｔ，ｋ＊ｔ）＝ｅ（ｇ，ｇ）ζである。
式３２に示すように、ｃｄ＋１：＝ｅ（ｇ，ｇ）ζ・ｍであるから、式３３の計算を実行すれば、Σｉ＝１Ｌｖ→ｉ・ｘ→ｉ＝０の場合には、ｍ’＝ｍとなる。
【００７９】
以下の説明では、説明を簡単にするため、ｄ＝２，Ｌ＝２とし、ｎ１＝２，ｎ２＝２として説明する。
【００８０】
実施の形態２に係る暗号処理システム１０の構成は、図１に示す実施の形態１に係る暗号処理システム１０の構成と同じである。実施の形態２に係るユーザ端末１００、暗号化データ管理装置２００、暗号化データ記憶装置３００、鍵生成装置４００の構成は、図２−５に示す実施の形態１に係るユーザ端末１００、暗号化データ管理装置２００、暗号化データ記憶装置３００、鍵生成装置４００の構成と同じである。
【００８１】
実施の形態２に係る暗号処理システム１０の主な処理には、実施の形態１に係る暗号処理システム１０と同様に、暗号化データ登録処理と、暗号化データ取得処理とがあり、暗号化データ登録処理と暗号化データ取得処理とには、３つの前提条件がある。
【００８２】
３つの前提条件は、前提条件１において生成されるユーザ秘密鍵ｋ＊の構成を除き、実施の形態１と同じである。
【００８３】
ここでは、鍵生成部４２０は、式３４に示すようにユーザ秘密鍵ｋ＊を生成する。
＜式３４＞
ｋ＊０：＝（δ，０，１，φ０，０）Ｂ＊０
ｋ＊１：＝（δｖ→１，０ｎ１，φ→１，０）Ｂ＊１
ｋ＊２：＝（δｖ→２，０ｎ２，φ→２，０）Ｂ＊２
ここで、δ，φ０，φ→１，φ→２は、乱数値である。ｖ→１：＝ｖ１，１，ｖ１，２は、鍵情報である。ここでは実施の形態１と同様に、鍵情報として、新たな鍵の発行毎に値がインクリメントされる世代番号を用いる。ｖ→２：＝ｖ２，１，ｖ２，２は、ユーザ秘密鍵ｋ＊が与えられるユーザの属性情報等である。
世代番号の値をρとし、属性情報の値をαとした場合、ここでは、式３５に示すようにユーザ秘密鍵ｋ＊は生成される。
＜式３５＞
ｋ＊０：＝（δ，０，１，φ０，０）Ｂ＊０
ｋ＊１：＝（δ（ρ，１），０ｎ１，φ→１，０）Ｂ＊１
ｋ＊２：＝（δ（α，１），０ｎ２，φ→２，０）Ｂ＊２
つまり、ｖ１，１：＝ρ，ｖ１，２：＝１，ｖ２，１：＝α，ｖ２，２：＝１である。
【００８４】
＜暗号化データ登録処理＞
図６を用いて、実施の形態２に係る暗号化データ登録処理について、実施の形態１に係る暗号化データ登録処理と異なる部分を中心に説明する。
（Ｓ１１：暗号化処理）
ユーザ端末１００の暗号化データ生成部１１０は、Ｅｎｃアルゴリズムを実行して暗号化データｃを生成する。
【００８５】
ここでは、暗号化データ生成部１１０は、処理装置により、式３６に示すように、鍵管理部１５０に記憶した公開パラメータｐｋに含まれる基底Ｂを用いて、暗号化データｃの要素ｃ０，ｃ１，ｃ２を生成する。
＜式３６＞
ｃ０：＝（−ｓ０，０，ζ，０，η０）Ｂ０
ｃ１：＝（ｓ１ｅ→１，１＋θ１（１，ｒ），０ｎ１，０ｎ１，η１）Ｂ１
ｃ２：＝（ｓ２ｅ→２，１＋θ２ｘ→２，０ｎ２，０ｎ２，η２）Ｂ２
ここで、ｓ０＝ｓ１＋ｓ２である。ζ，θ１，θ２，η０，η１，η２，ｒは、乱数値である。ｘ２，１，ｘ２，２は、暗号化データｃを復号可能なユーザの属性情報等である。
属性情報の値をαとした場合、ここでは、式３７に示すように暗号化データｃは生成される。
＜式３７＞
ｃ０：＝（−ｓ０，０，ζ，０，η０）Ｂ０
ｃ１：＝（ｓ１ｅ→１，１＋θ１（１，ｒ），０ｎ１，０ｎ１，η１）Ｂ１
ｃ２：＝（ｓ２ｅ→２，１＋θ２（１，−α），０ｎ２，０ｎ２，η２）Ｂ２
つまり、ｘ２，１：＝１，ｘ２，２：＝−αである。
【００８６】
また、暗号化データ生成部１１０は、処理装置により、式３８に示すように、鍵管理部１５０に記憶した公開パラメータｐｋに含まれるパラメータｐａｒａｍを用いて、暗号化データｃの要素ｃｄ＋１を生成する。
＜式３８＞
ｃｄ＋１：＝ｅ（ｇ，ｇ）ζ・ｍ
【００８７】
また、暗号化データ生成部１１０は、処理装置により、鍵管理部１５０に記憶したドメイン公開鍵ｄｐｋで、ｒを暗号化したＥ（ｒ）と、θ１を暗号化したＥ（θ１）とを生成する。
また、暗号化データ生成部１１０は、要素ｃ１に設定した属性情報が示すユーザの識別情報をユーザリストｕｌとして生成する。
【００８８】
（Ｓ１２：第１データ送信処理）
データ送信部１２０は、通信装置により、暗号化データ生成部１１０が生成した要素ｃ０，ｃ１，ｃ２，ｃｄ＋１，Ｅ（ｒ），Ｅ（ｒ），ｕｌを含む暗号化データｃを、暗号化データ管理装置２００へ送信する。
【００８９】
Ｓ１３からＳ１７までの処理は、実施の形態１と同じである。
【００９０】
＜暗号化データ取得処理＞
図７を用いて、実施の形態２に係る暗号化データ取得処理について、実施の形態１に係る暗号化データ取得処理と異なる部分を中心に説明する。
Ｓ２１からＳ２４までの処理は、実施の形態１と同じである。
【００９１】
（Ｓ２５：世代番号付け代え処理）
Ｓ２５も、原則として実施の形態１と同様である。しかし、暗号化データｃの要素ｃ１における乱数値ｒを設定し直す方法が異なる。
具体的には、鍵情報設定部２３０は、以下のように乱数値ｒを設定し直す。なお、ここでは、式３７に示す要素ｃ１における乱数値ｒを設定し直した要素ｃ１’を示す。
【００９２】
ユーザリストｕｌに含まれるユーザの識別情報が、失効情報管理部２５０が記憶する失効情報に含まれていない場合、鍵情報設定部２３０は、式３９に示すように、要素ｃ１’を生成する。
＜式３９＞
ｃ１’：＝（ｓ１ｅ→１，１＋θ１（１，−１），０ｎ１，０ｎ１，η１）Ｂ１
つまり、ｒを−１に設定し直す。ｒを設定し直した−１は、−１×世代番号の初期値である。
なお、式４０に示す計算をすることにより、式３７に示す要素ｃ１から式３９に示す要素ｃ１’を得ることができる。
＜式４０＞
ｃ１’：＝ｃ１−θ１ｒｂ１，２−θ１ｂ１，２
ここで、ｒ，θ１は、暗号化データｃの要素Ｅ（ｒ），Ｅ（θ１）を、鍵管理部２６０に記憶したドメイン秘密鍵ｄｓｋで復号することにより得られる。また、ｂ１，１，ｂ１，２は、公開パラメータｐｋに含まれる基底Ｂから得られる。
【００９３】
ユーザリストｕｌに含まれるユーザの識別情報が、失効情報管理部２５０が記憶する失効情報に含まれている場合、鍵情報設定部２３０は、式４１に示すように、要素ｃ１’を生成する。
＜式４１＞
ｃ１’：＝（ｓ１ｅ→１，１＋θ１（１，−ρ１），０ｎ１，０ｎ１，η１）Ｂ１
つまり、ｒを−ρ１に設定し直す。ｒを設定し直した−ρ１は、−１×（失効したユーザ秘密鍵ｋ＊の世代番号の値＋１）である。つまり、ユーザリストｕｌにユーザＡが含まれており、失効したユーザＡのユーザ秘密鍵ｋ＊の世代番号として１が失効リストに含まれている場合、−ρ１は、−１×（１＋１）＝−２となる。
なお、式４２に示す計算をすることにより、式３７に示す要素ｃ１から式４１に示す要素ｃ１’を得ることができる。
＜式４２＞
ｃ１’：＝ｃ１−θ１ｒｂ１，２−θ１ρ１ｂ１，２
【００９４】
Ｓ２６は、実施の形態１と同じである。
【００９５】
Ｓ２７も、原則として実施の形態１と同様である。しかし、復号の方法が異なる。
ここでは、復号部１４０は、処理装置により、式４３に示す計算を実行することにより、暗号化データｃ’をユーザ秘密鍵ｋ＊で復号して、メッセージｍ’を抽出する。
＜式４３＞
ｍ’：＝ｃｄ＋１／（ｅ（ｃ０，ｋ＊０）・Πｔ＝１Ｌｅ（ｃｔ，ｋ＊ｔ））
【００９６】
上述したように、ｔ＝１，．．．，Ｌの各ｔについて、ユーザ秘密鍵ｋ＊における要素ｋ＊ｔに設定された属性情報等（ｖ→ｔ）と、暗号化データｃにおける要素ｃｔに設定された属性情報等（ｘ→ｔ）とが対応する場合、抽出されたｍ’＝ｍとなる。そして、ここでは、属性情報等（ｖ→ｔ）と属性情報等（ｘ→ｔ）とが対応するとは、ｖ→ｔ・ｘ→ｔ＝Σｉ＝１ｎｔｖｔ，ｉ・ｘｔ，ｉ＝０となることである。
【００９７】
ユーザ端末１００は、初めに生成され、世代番号の値として１が付されたユーザ秘密鍵ｋ＊を有しているとする。つまり、ユーザ端末１００は、式３５のρに１が設定された、式４４に示すユーザ秘密鍵ｋ＊を有しているとする。
＜式４４＞
ｋ＊０：＝（δ，０，１，φ０，０）Ｂ＊０
ｋ＊１：＝（δ（１，１），０ｎ１，φ→１，０）Ｂ＊１
ｋ＊２：＝（δ（α，１），０ｎ２，φ→２，０）Ｂ＊２
また、Ｓ１１において、暗号化データｃの要素ｃ１は、式４５（＝式３７）に示すように生成されているとする。
＜式４５＞
ｃ０：＝（−ｓ０，０，ζ，０，η０）Ｂ０
ｃ１：＝（ｓ１ｅ→１，１＋θ１（１，ｒ），０ｎ１，０ｎ１，η１）Ｂ１
ｃ２：＝（ｓ２ｅ→２，１＋θ２（１，−α），０ｎ２，０ｎ２，η２）Ｂ２
【００９８】
ユーザリストｕｌに含まれるユーザの識別情報が失効情報に含まれていない場合、式４６（＝式３９）に示すように、要素ｃ１’は生成される。
＜式４６＞
ｃ１’：＝（ｓ１ｅ→１，１＋θ１（１，−１），０ｎ１，０ｎ１，η１）Ｂ１
この場合、ユーザ秘密鍵ｋ＊において、基底Ｂ＊１の基底ベクトルｂ＊１，１，ｂ＊１，２の係数に設定されたｖ１，１，ｖ１，２は、ｖ１，１＝１，ｖ１，２＝１である。また、要素ｃ１’において、基底Ｂ１の基底ベクトルｂ１，１，ｂ１，２の係数に設定されたｘ１，１，ｘ１，２は、ｘ１，１＝１，ｘ１，２＝−１である。そのため、ｖ→１・ｘ→１＝Σｉ＝１２ｖ１，ｉ・ｘ１，ｉ＝１−１＝０となる。また、ユーザ秘密鍵ｋ＊において、基底Ｂ＊２の基底ベクトルｂ＊２，１，ｂ＊２，２の係数に設定されたｖ２，１，ｖ２，２は、ｖ２，１＝α，ｖ２，２＝１である。また、要素ｃ１’において、基底Ｂ２の基底ベクトルｂ２，１，ｂ２，２の係数に設定されたｘ２，１，ｘ２，２は、ｘ２，１＝１，ｘ２，２＝−αである。そのため、ｖ→２・ｘ→２＝Σｉ＝１２ｖ２，ｉ・ｘ２，ｉ＝α−α＝０となる。したがって、Ｓ２６で抽出されたメッセージｍ’は、Ｓ１１で暗号化データｃの要素ｃｄ＋１に設定されたメッセージｍと等しい。
つまり、ユーザ秘密鍵ｋ＊で、暗号化データｃを復号することができる。
【００９９】
一方、ユーザリストｕｌに含まれるユーザの識別情報が失効情報に含まれている場合、式４７に示すように、要素ｃ１’は生成される。ここでは、世代番号がの値が１のユーザ秘密鍵ｋ＊が失効していたとする。
＜式４７＞
ｃ１’：＝（ｓ１ｅ→１，１＋θ１（１，−２），０ｎ１，０ｎ１，η１）Ｂ１
この場合、ｖ１，１＝１，ｖ１，２＝１であり、ｘ１，１＝１，ｘ１，２＝−２であるから、ｖ→１・ｘ→１＝Σｉ＝１２ｖ１，ｉ・ｘ１，ｉ＝１−２≠０となる。したがって、Ｓ２６で抽出されたメッセージｍ’は、Ｓ１１で暗号化データｃの要素ｃｄ＋１に設定されたメッセージｍと等しくない。
つまり、失効しているユーザ秘密鍵ｋ＊では、暗号化データｃを復号することはできない。
【０１００】
しかし、ユーザ端末１００は、鍵生成装置４００にユーザ秘密鍵ｋ＊を再生成してもらい、世代番号の値として２が付されたユーザ秘密鍵ｋ＊を取得したとする。つまり、ユーザ端末１００は、式３５のρに２が設定された、式４８に示すユーザ秘密鍵ｋ＊を取得したとする。
＜式４８＞
ｋ＊０：＝（δ，０，１，φ０，０）Ｂ＊０
ｋ＊１：＝（δ（２，１），０ｎ１，φ→１，０）Ｂ＊１
ｋ＊２：＝（δ（α，１），０ｎ２，φ→２，０）Ｂ＊２
この場合、ｖ１，１＝２，ｖ１，２＝１であり、ｘ１，１＝１，ｘ１，２＝−２であるから、ｖ→１・ｘ→１＝Σｉ＝１２ｖ１，ｉ・ｘ１，ｉ＝２−２＝０となる。また、ｖ→２・ｘ→２＝Σｉ＝１２ｖ２，ｉ・ｘ２，ｉ＝α−α＝０である。したがって、Ｓ２６で抽出されたメッセージｍ’は、Ｓ１１で暗号化データｃの要素ｃｄ＋１に設定されたメッセージｍと等しい。
つまり、ユーザ秘密鍵ｋ＊を紛失した場合、ユーザ秘密鍵ｋ＊を再生成してもらうことで、暗号化データｃの復号が可能となる。
【０１０１】
また、ユーザ端末１００が、暗号化データ管理装置２００を介すことなく、暗号化データ記憶装置３００から暗号化データｃを取得することも考えられる。しかし、この場合、暗号化データｃの要素ｃ１は、式４９（＝式３７）に示す通りである。
＜式４９＞
ｃ１：＝（ｓ１ｅ→１，１＋θ１（１，ｒ），０ｎ１，０ｎ１，η１）Ｂ１
この場合、乱数値ｒが用いられているため、ユーザ秘密鍵ｋ＊に設定された世代番号の値がいくつであっても、Σｉ＝１２ｖ１，ｉ・ｘ１，ｉ≠０となり、復号できない。
【０１０２】
以上のように、実施の形態２に係る暗号処理システム１０では、実施の形態１に係る暗号処理システム１０と同様の効果を得ることができる。
【０１０３】
なお、上記説明では、式３６に示すように暗号化データｃの要素ｃ１を生成するとした。しかし、式５０に示すように、乱数値θ１を用いず、要素ｃ１を生成してもよい。これは、ｒ自身が乱数値であり、さらに乱数値を掛けなくてもよいためである。
＜式５０＞
ｃ１：＝（ｓ１ｅ→１，１＋（１，ｒ），０ｎ１，０ｎ１，η１）Ｂ１
【０１０４】
また、式５１に示すように、鍵情報を設定する基底ベクトルに乱数値を設定せず、要素ｃ１全体をドメイン公開鍵で暗号化して、要素ｃ１を生成してもよい。鍵情報を設定する基底ベクトルに乱数値を設定することにより、ユーザ端末１００が暗号化データ記憶装置３００から直接暗号化データｃを取得した場合に、復号できない状態としていた。しかし、他の部分をドメイン公開鍵で暗号化しておくことで、同様の効果が得られるためである。
＜式５１＞
ｃ１：＝Ｅ（ｓ１ｅ→１，１，０ｎ１，０ｎ１，η１）Ｂ１
【０１０５】
実施の形態３．
実施の形態１では、暗号化データｃの要素ｃ１における鍵情報が設定される基底ベクトルに乱数値ｒ１，ｒ２を設定すること等により、ユーザ端末１００が直接暗号化データ記憶装置３００から暗号化データｃを取得した場合の安全性を保っていた。同様に、実施の形態２では、暗号化データｃの要素ｃ１における鍵情報が設定される基底に乱数値ｒを設定すること等により、ユーザ端末１００が直接暗号化データ記憶装置３００から暗号化データｃを取得した場合の安全性を保っていた。
実施の形態３では、暗号化データｃの設定を簡略化しつつ、暗号化データ記憶装置３００へのアクセス制御を行うことにより、ユーザ端末１００が直接暗号化データ記憶装置３００から暗号化データｃを取得しようとした場合の安全性を保つ方法について説明する。
実施の形態３では、実施の形態１に係る処理を応用した場合について説明するが、実施の形態２に係る処理を応用した場合についても同様に実現可能である。
【０１０６】
暗号処理システム１０の構成は、図１に示す実施の形態１に係る暗号処理システム１０の構成と同じである。ユーザ端末１００、鍵生成装置４００の構成は、図２，５に示す実施の形態１に係るユーザ端末１００、鍵生成装置４００の構成と同じである。
【０１０７】
図８は、実施の形態３に係る暗号化データ管理装置２００の構成図である。
実施の形態３に係る暗号化データ管理装置２００は、図３に示す実施の形態１に係る暗号化データ管理装置２００の機能に加え、認証処理部２７０を備える。
【０１０８】
図９は、実施の形態３に係る暗号化データ記憶装置３００の構成図である。
実施の形態３に係る暗号化データ記憶装置３００は、図４に示す実施の形態１に係る暗号化データ記憶装置３００の機能に加え、認証処理部３５０を備える。
【０１０９】
３つの前提条件については、原則として実施の形態１と同じである。
但し、実施の形態１では公開パラメータｐｋに含まれていた基底Ｂの基底ベクトルｂ１，ｂ２は、公開パラメータｐｋから除かれ、鍵生成装置４００から暗号化データ管理装置２００へのみ送信される。なお、この際、盗聴と改ざんを防ぐため、ＳＳＬ等を用いた安全な通信路が使用される。
【０１１０】
＜暗号化データ登録処理＞
図１０は、実施の形態３に係る暗号化データ登録処理の流れを示すフローチャートである。
（Ｓ３１：暗号化処理）
ユーザ端末１００の暗号化データ生成部１１０は、図６のＳ１１と同様に、Ｅｎｃアルゴリズムを実行して暗号化データｃを生成する。
【０１１１】
ここでは、暗号化データ生成部１１０は、処理装置により、式５２に示すように暗号化データｃの要素ｃ１を生成する。
＜式５２＞
ｃ１：＝ω（ｘ３ｂ３＋ｘ４ｂ４）＋ζｂ５＋φｂ６
ここで、ω，ζ，φは、乱数値である。ｘ３，ｘ４は、暗号化データｃを復号可能なユーザの属性情報が設定される。
属性情報の値をαとした場合、ここでは、式５３に示すように暗号化データｃは生成される。
＜式５３＞
ｃ１：＝ω（ｂ３−αｂ４）＋ζｂ５＋φｂ６
つまり、ｘ３：＝１，ｘ４：＝−αである。
【０１１２】
暗号化データ生成部１１０は、要素ｃ２，Ｅ（ω１ｒ１），Ｅ（ω１ｒ２），ｕｌについても、図６のＳ１１と同様に生成する。
【０１１３】
（Ｓ３２：第１認証情報送信処理）
ユーザ端末１００のデータ送信部１２０は、通信装置により、認証情報として、ユーザの識別情報とパスワードとを暗号化データ管理装置２００へ送信する。
【０１１４】
（Ｓ３３：第１認証処理）
暗号化データ管理装置２００のデータ受信部２１０は、通信装置により、ユーザの識別情報とパスワードとをユーザ端末１００から受信する。
すると、暗号化データ管理装置２００の認証処理部２７０は、ユーザの識別情報とパスワードとに基づき、ユーザの認証を行う。例えば、認証処理部２７０は、ユーザ毎に識別情報とパスワードとを予め記憶しておき、受信した識別情報及びパスワードと、記憶された識別情報及びパスワードとが一致するか否かにより認証する。認証処理部２７０は、認証に成功した場合、処理をＳ３４へ進め、認証に失敗した場合、処理を終了する。
（Ｓ３４：第１データ送信処理）
ユーザ端末１００のデータ送信部１２０は、図６のＳ１２と同様に、暗号化データｃを暗号化データ管理装置２００へ送信する。
【０１１５】
（Ｓ３５：第２認証情報送信処理）
暗号化データ管理装置２００のデータ受信部２１０は、通信装置により、暗号化データｃをユーザ端末１００から受信する。すると、データ送信部２４０は、認証情報として、暗号化データ管理装置２００の識別情報とパスワードとを暗号化データ記憶装置３００へ送信する。
【０１１６】
（Ｓ３６：第２認証処理）
暗号化データ記憶装置３００のデータ受信部３１０は、通信装置により、暗号化データ管理装置２００の識別情報とパスワードとをユーザ端末１００から受信する。
すると、暗号化データ記憶装置３００の認証処理部３５０は、暗号化データ管理装置２００の識別情報とパスワードとに基づき認証処理を行う。例えば、認証処理部３５０は、暗号化データ管理装置２００の識別情報とパスワードとを予め記憶しておき、受信した識別情報及びパスワードと、記憶された識別情報及びパスワードとが一致するか否かにより認証する。認証処理部３５０は、認証に成功した場合、処理をＳ３７へ進め、認証に失敗した場合、処理を終了する。
【０１１７】
（Ｓ３７：第２データ送信処理）
暗号化データ管理装置２００のデータ送信部２４０は、暗号化データｃに関連情報ｒを添付して、暗号化データ記憶装置３００へ送信する。
【０１１８】
Ｓ３８からＳ４１までの処理は、図６に示すＳ１４からＳ１７までの処理と同じである。
【０１１９】
＜暗号化データ取得処理＞
図１１は、実施の形態３に係る暗号化データ取得処理の流れを示すフローチャートである。
（Ｓ５１：第１認証情報送信処理）
ユーザ端末１００のデータ送信部１２０は、通信装置により、認証情報として、ユーザの識別情報とパスワードとを暗号化データ管理装置２００へ送信する。
【０１２０】
（Ｓ５２：第１認証処理）
暗号化データ管理装置２００のデータ受信部２１０は、通信装置により、ユーザの識別情報とパスワードとをユーザ端末１００から受信する。
すると、暗号化データ管理装置２００の認証処理部２７０は、ユーザの識別情報とパスワードとに基づき、ユーザの認証を行う。例えば、認証処理部２７０は、Ｓ３３と同じ方法により認証を行う。認証処理部２７０は、認証に成功した場合、処理をＳ５３へ進め、認証に失敗した場合、処理を終了する。
【０１２１】
（Ｓ５３：キーワード送信処理）
ユーザ端末１００のデータ送信部１２０は、通信装置により、暗号化データｃを特定可能なキーワードを、暗号化データ管理装置２００へ送信する。
【０１２２】
（Ｓ５４：第２認証情報送信処理）
暗号化データ管理装置２００のデータ受信部２１０は、通信装置により、キーワードをユーザ端末１００から受信する。すると、データ送信部２４０は、認証情報として、暗号化データ管理装置２００の識別情報とパスワードとを暗号化データ記憶装置３００へ送信する。
【０１２３】
（Ｓ５５：第２認証処理）
暗号化データ記憶装置３００のデータ受信部３１０は、通信装置により、暗号化データ管理装置２００の識別情報とパスワードとをユーザ端末１００から受信する。
すると、暗号化データ記憶装置３００の認証処理部３５０は、暗号化データ管理装置２００の識別情報とパスワードとに基づき認証処理を行う。例えば、認証処理部３５０は、Ｓ３６と同じ方法より認証する。認証処理部３５０は、認証に成功した場合、処理をＳ５６へ進め、認証に失敗した場合、処理を終了する。
【０１２４】
（Ｓ５６：キーワード転送処理）
暗号化データ管理装置２００のデータ送信部２４０は、通信装置により、キーワードを暗号化データ記憶装置３００へ送信する。
【０１２５】
Ｓ５７からＳ５８までの処理は、図７に示すＳ２３からＳ２４までの処理と同じである。
【０１２６】
（Ｓ５９：権限判定処理）
暗号化データ管理装置２００のデータ受信部２１０は、通信装置により、暗号化データｃを暗号化データ記憶装置３００から受信する。
すると、暗号化データ管理装置２００の認証処理部２７０は、処理装置により、Ｓ５２で受信したユーザの識別情報が、暗号化データｃのユーザリストｕｌに含まれているか否かを判定する。認証処理部２７０は、含まれている場合、処理をＳ６０へ進め、含まれていない場合、処理を終了する。
【０１２７】
（Ｓ６０：世代番号付け代え処理）
暗号化データ管理装置２００の失効判定部２２０は、処理装置により、暗号化データｃのユーザリストｕｌに含まれるユーザの識別情報が、失効情報管理部２５０が記憶する失効情報に含まれているか否か判定する。鍵情報設定部２３０は、処理装置により、暗号化データｃの要素ｃ１に、失効判定部２２０の判定結果に応じて異なる値に設定し、要素ｃ１’を生成する。
具体的には、鍵情報設定部２３０は、以下のように要素ｃ１に値を設定する。なお、ここでは、式５３に示す要素ｃ１に値を設定した要素ｃ１’を示す。
【０１２８】
ユーザリストｕｌに含まれるユーザの識別情報が、失効情報管理部２５０が記憶する失効情報に含まれていない場合、鍵情報設定部２３０は、式５４（＝式１０）に示すように、要素ｃ１’を生成する。
＜式５４＞
ｃ１’：＝ω１（ｂ１−ｂ２）＋ω２（ｂ３−αｂ４）＋ζｂ５＋φｂ６
つまり、基底ベクトルｂ１の係数に１を設定し、基底ベクトルｂ２の係数に−１を設定する。基底ベクトルｂ２の係数に設定し直した−１は、−１×世代番号の初期値である。
【０１２９】
なお、式５５に示す計算をすることにより、式５３に示す要素ｃ１から式５４に示す要素ｃ１’を得ることができる。
＜式５５＞
ｃ１’：＝ｃ１＋（ω１ｂ１−ω１ｂ２）
【０１３０】
ユーザリストｕｌに含まれるユーザの識別情報が、失効情報管理部２５０が記憶する失効情報に含まれている場合、鍵情報設定部２３０は、式５６（＝式１２）に示すように、要素ｃ１’を生成する。
＜式５６＞
ｃ１’：＝ω１（ｂ１−ρ１ｂ２）＋ω２（ｂ３−αｂ４）＋ζｂ５＋φｂ６
つまり、基底ベクトルｂ１の係数に１を設定し、基底ベクトルｂ２の係数に−ρ１を設定する。基底ベクトルｂ２の係数に設定した−ρ１は、−１×（失効したユーザ秘密鍵ｋ＊の世代番号の値＋１）である。
なお、式５７に示す計算をすることにより、式５３に示す要素ｃ１から式５６に示す要素ｃ１’を得ることができる。
＜式５７＞
ｃ１’：＝ｃ１＋（ω１ｂ１−ω１ρ１ｂ２）
【０１３１】
Ｓ６１からＳ６２までの処理は、図７に示すＳ２６からＳ２７までの処理と同じである。
【０１３２】
以上のように、実施の形態３に係る暗号処理システム１０は、暗号化データ管理装置２００と暗号化データ記憶装置３００とでそれぞれ認証を行う。これにより、ユーザ端末１００により直接暗号化データ記憶装置３００から暗号化データｃを取得されることを防止できる。そのため、暗号化データｃに乱数値を設定する等せずに、安全性を保つことができる。
【０１３３】
また、実施の形態３に係る暗号処理システム１０は、暗号化データ登録処理において、不正なデータを暗号化データ記憶装置３００に登録されることを防止できる。
【０１３４】
なお、上記説明では、暗号化データ管理装置２００と暗号化データ記憶装置３００とでそれぞれ認証を行った。しかし、暗号化データ管理装置２００では認証を行わず、暗号化データ記憶装置３００だけが認証を行うようにしてもよい。少なくとも暗号化データ記憶装置３００が認証を行うことで、ユーザ端末１００により直接暗号化データ記憶装置３００から暗号化データｃを取得されることや、不正なデータを暗号化データ記憶装置３００に登録されることを防止できる。
【０１３５】
また、上記説明では、実施の形態１に係る処理を応用した場合について説明した。実施の形態２に係る処理を応用した場合、処理の流れは実施の形態１に係る処理を応用した場合と同じである。しかし、Ｓ３１で生成される要素ｃ１と、Ｓ６０で生成される要素ｃ１’とが、実施の形態１に係る処理を応用した場合とは異なる。
実施の形態２に係る処理を応用した場合、Ｓ３１で生成される要素ｃ１は式５８のようになる。
＜式５８＞
ｃ１：＝（ｓ１ｅ→１，１，０ｎ１，０ｎ１，η１）Ｂ１
また、実施の形態２に係る処理を応用した場合、Ｓ６０で生成される要素ｃ１’は式３９や式４１のようになる。
また、実施の形態２では公開パラメータｐｋに含まれていた基底Ｂ１は、公開パラメータｐｋから除かれ、鍵生成装置４００から暗号化データ管理装置２００へのみ送信される。なお、この際、盗聴と改ざんを防ぐため、ＳＳＬ等を用いた安全な通信路が使用される。
【０１３６】
ここで、上記実施の形態におけるユーザ秘密鍵ｋ＊と暗号化データｃとへの鍵情報や属性情報の割り当て方法は、一例であり他の方法であってもよい。
例えば、実施の形態１では、属性情報がαであれば、ユーザ秘密鍵ｋ＊については、基底ベクトルｂ＊３の係数としてα、基底ベクトルｂ＊４の係数として１が設定された。また、暗号化データｃの要素ｃ１については、基底ベクトルｂ３の係数として１、基底ベクトルｂ４の係数として−αが設定された。しかし、例えば、ユーザ秘密鍵ｋ＊については、基底ベクトルｂ＊３の係数として１、基底ベクトルｂ＊４の係数としてαが設定され、暗号化データｃの要素ｃ１については、基底ベクトルｂ３の係数として−α、基底ベクトルｂ４の係数として１が設定されてもよい。
また、このように単純に値を設定する基底ベクトルを変更するのではなく、全く別の方法により鍵情報や属性情報を割り当てるようにしてもよい。どのような割り当て方法であっても、上記実施の形態に係る失効方式を適用することは可能である。
【０１３７】
また、上記実施の形態では、鍵の失効方式を非特許文献１，２に記載された関数型暗号方式へ適用する方法について説明した。
しかし、上記実施の形態に係る鍵の失効方式は、非特許文献１，２に記載された関数型暗号方式に限らず、非特許文献１，２に記載された関数型暗号方式を応用した関数型暗号方式に適用することも可能である。
また、上記実施の形態に係る鍵の失効方式は、関数型暗号方式に限らず、他の暗号方式にも適用可能である。
【０１３８】
また、上記実施の形態では、関数型暗号方式を用いて、メッセージｍを送信する場合について説明した。
公開鍵暗号方式を用いた暗号化では、通常、データを共通鍵で暗号化した後、その共通鍵をユーザの公開鍵で暗号化するいわゆるハイブリッド暗号方式を用いることが多い。ハイブリッド暗号方式では、暗号化したデータにユーザの公開鍵で暗号化された共通鍵が添付される。
ハイブリッド暗号方式では、暗号化された共通鍵を暗号化データから削除することで、共通鍵で暗号化されたデータを復号することができなくなる。しかし、関数型暗号方式は複数の秘密鍵で復号可能なデータを１つの公開鍵で暗号化する。そのため、仮に同じ仕組みで共通鍵を添付する場合、複数の秘密鍵に対して１つしか暗号化された共通鍵を付与しない。つまり、１人のユーザが失効すれば、従来通りの方式で対応すると再暗号化するしか方法がない。
しかし、上記実施の形態に係る鍵の失効方式を用いれば、関数型暗号方式を用いたハイブリッド暗号方式の場合であっても鍵の失効を実現することができる。なお、ハイブリッド暗号方式の場合、メッセージｍとして、コンテンツを暗号化するための共通鍵（又は共通鍵の生成元データ）が設定される。
【０１３９】
図１２は、ユーザ端末１００、暗号化データ管理装置２００、暗号化データ記憶装置３００、鍵生成装置４００のハードウェア構成の一例を示す図である。
図１２に示すように、ユーザ端末１００、暗号化データ管理装置２００、暗号化データ記憶装置３００、鍵生成装置４００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、ＬＣＤ９０１（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、キーボード９０２（Ｋ／Ｂ）、通信ボード９１５、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０（固定ディスク装置）の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。磁気ディスク装置９２０は、所定の固定ディスクインタフェースを介して接続される。
【０１４０】
ＲＯＭ９１３、磁気ディスク装置９２０は、不揮発性メモリの一例である。ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３とＲＡＭ９１４と磁気ディスク装置９２０とは、記憶装置（メモリ）の一例である。また、キーボード９０２、通信ボード９１５は、入力装置の一例である。また、通信ボード９１５は、通信装置の一例である。さらに、ＬＣＤ９０１は、表示装置の一例である。
【０１４１】
磁気ディスク装置９２０又はＲＯＭ９１３などには、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【０１４２】
プログラム群９２３には、上記の説明において「暗号化データ生成部１１０」、「データ送信部１２０」、「データ受信部１３０」、「復号部１４０」、「データ受信部２１０」、「失効判定部２２０」、「鍵情報設定部２３０」、「データ送信部２４０」、「認証処理部２７０」、「データ受信部３１０」、「データ操作部３２０」、「データ送信部３３０」、「指示受信部４１０」、「鍵生成部４２０」、「鍵送信部４３０」等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、上記の説明において「鍵管理部１５０」、「失効情報管理部２５０」、「鍵管理部２６０」、「暗号化データ管理部３４０」、「マスター鍵記憶部４４０」等に記憶される情報やデータや信号値や変数値やパラメータが、「ファイル」や「データベース」の各項目として記憶される。「ファイル」や「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵ９１１の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵ９１１の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【０１４３】
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、その他光ディスク等の記録媒体やＩＣチップに記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。さらに、「〜処理」として説明するものは「〜ステップ」であっても構わない。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ＲＯＭ９１３等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
【符号の説明】
【０１４４】
１０  暗号処理システム、１００  ユーザ端末、１１０  暗号化データ生成部、１２０  データ送信部、１３０  データ受信部、１４０  復号部、１５０  鍵管理部、２００  暗号化データ管理装置、２１０  データ受信部、２２０  失効判定部、２３０  鍵情報設定部、２４０  データ送信部、２５０  失効情報管理部、２６０  鍵管理部、２７０  認証処理部、３００  暗号化データ記憶装置、３１０  データ受信部、３２０  データ操作部、３３０  データ送信部、３４０  暗号化データ管理部、３５０  認証処理部、４００  鍵生成装置、４１０  指示受信部、４２０  鍵生成部、４３０  鍵送信部、４４０  マスター鍵記憶部。
【図１】
2013094018.tif 000003
【図２】
2013094018.tif 000004
【図３】
2013094018.tif 000005
【図４】
2013094018.tif 000006
【図５】
2013094018.tif 000007
【図６】
2013094018.tif 000008
【図７】
2013094018.tif 000009
【図８】
2013094018.tif 000010
【図９】
2013094018.tif 000011
【図１０】
2013094018.tif 000012
【図１１】
2013094018.tif 000013
【図１２】
2013094018.tif 000014
【国際調査報告】
2013094018.tif 000015
2013094018.tif 000016
2013094018.tif 000017
2013094018.tif 000018