"関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置は、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部とを含み、上記鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、上記復号装置は、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含む、暗号システム。関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置は、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部とを含み、上記復号装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含み、上記鍵生成装置は、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、暗号システム。関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置は、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含み、上記鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、上記復号装置は、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含む、暗号システム。関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置は、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含み、上記復号装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含み、上記鍵生成装置は、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、暗号システム。請求項1に記載の暗号システムにおいて、上記暗号化装置の上記暗号化部は、上記共通鍵で平文を暗号化した暗号文も求め、上記復号装置の上記復号部は、上記復号処理で得られた上記共通鍵を用いる上記暗号文の第2復号処理、または、上記復号処理で得られた上記共通鍵の生成に用いる上記情報から生成された共通鍵を用いる上記暗号文の第2復号処理も行う、暗号システム。請求項2に記載の暗号システムにおいて、上記暗号化装置の上記暗号化部は、上記共通鍵で平文を暗号化した暗号文も求め、上記復号装置の上記復号部は、上記復号処理で得られた上記共通鍵を用いる上記暗号文の第2復号処理、または、上記復号処理で得られた上記共通鍵の生成に用いる上記情報から生成された共通鍵を用いる上記暗号文の第2復号処理も行う、暗号システム。請求項1から請求項6のいずれかに記載の暗号システムにおいて、上記暗号システムは、複数の上記復号装置を含み、複数の上記復号装置のうち少なくとも一つの上記復号装置は、当該復号装置以外の一つ以上の復号装置に上記暗号情報を転送する転送部をさらに含む暗号システム。関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置は、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化部とを含み、上記コンテンツサーバ装置は、各上記暗号化装置から送られた上記暗号情報および上記暗号化コンテンツを記憶する記憶部と、上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信部とを含み、上記鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、上記復号装置は、ブラウザ部と中継部とを含み、上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行う、暗号システム。関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置は、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化部とを含み、上記コンテンツサーバ装置は、各上記暗号化装置から送られた上記暗号情報および上記暗号化コンテンツを記憶する記憶部と、上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信部とを含み、上記復号装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、ブラウザ部と、中継部とを含み、上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行い、上記鍵生成装置は、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、暗号システム。関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置は、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化部とを含み、上記コンテンツサーバ装置は、各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶部と、上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信部とを含み、上記鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成部とを含み、上記復号装置は、ブラウザ部と中継部とを含み、上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う、暗号システム。関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置は、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化部とを含み、上記コンテンツサーバ装置は、各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶部と、上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信部とを含み、上記復号装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、ブラウザ部と、中継部とを含み、上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行い、上記鍵生成装置は、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成部とを含む、暗号システム。少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得ステップと、上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化ステップと、上記鍵生成装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得ステップと、上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、上記復号装置の復号部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップとを有する暗号通信方法。少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得ステップと、上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化ステップと、上記復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得ステップと、上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、上記復号装置の復号部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップとを有する暗号通信方法。少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得ステップと、上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化ステップと、上記鍵生成装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得ステップと、上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、上記復号装置の復号部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップとを有する暗号通信方法。少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得ステップと、上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化ステップと、上記復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得ステップと、上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、上記復号装置の復号部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップとを有する暗号通信方法。少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得ステップと、上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化ステップと、上記暗号化装置の送信部が、上記暗号情報を第1の復号装置に送信する暗号情報送信ステップと、上記第1の復号装置の受信部が、上記暗号化装置から上記暗号情報を受信する暗号情報受信ステップと、上記鍵生成装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記第1の復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得ステップと、上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる第1の復号鍵を生成する鍵生成ステップと、上記鍵生成装置の送信部が、上記第1の復号鍵を上記第1の復号装置に送信する復号鍵送信ステップと、上記第1の復号装置の受信部が、上記鍵生成装置から上記第1の復号鍵を受信する復号鍵受信ステップと、上記第1の復号装置の復号部が、上記第1の本発明は、柔軟に運用可能な、関数暗号に依拠する暗号通信技術を提供することを目的とする。第1の観点による本発明の概要は次のとおりである。関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含む。そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。また、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められている。また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化処理を行う。鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得処理と、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。復号装置は、復号鍵を用いて、関数暗号アルゴリズムに則り、暗号情報に対する復号処理を行う。あるいは、第1の観点による本発明の概要は次のとおりである。関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含む。そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。また、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められている。また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化処理を行う。復号装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得処理と、鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、暗号情報に対する復号処理を行う。鍵生成装置は、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。あるいは、第1の観点による本発明の概要は次のとおりである。関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含む。そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。また、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められている。また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化処理を行う。鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得処理と、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。復号装置は、復号鍵を用いて、関数暗号アルゴリズムに則り、暗号情報に対する復号処理を行う。あるいは、第1の観点による本発明の概要は次のとおりである。関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含む。そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。また、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められている。また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化処理を行う。復号装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得処理と、鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、暗号情報に対する復号処理を行う。鍵生成装置は、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。第2の観点による本発明の概要は次のとおりである。少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおいて、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。そして、暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化処理を行う。また、鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得処理と、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。また、復号装置は、復号鍵を用いて、関数暗号アルゴリズムに則り、暗号情報に対する復号処理を行う。そして、この復号装置は、暗号情報を別の復号装置に転送する転送処理も行う。転送する暗号情報は、暗号化装置から送られたものであってもよいし、別の復号装置から転送されたものであってもよい。暗号システムに含まれる復号装置のうち少なくとも一部の復号装置が転送処理を行う機能を持つが、全ての復号装置がこの転送機能を持つことは要求されない。転送された暗号情報を受信した復号装置は、必要に応じて鍵生成装置に復号鍵を生成して貰い、上記復号処理を行う。あるいは、第2の観点による本発明の概要は次のとおりである。少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおいて、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。そして、暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化処理を行う。また、復号装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得処理と、鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、暗号情報に対する復号処理を行う。また、鍵生成装置は、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。上述の復号装置は、暗号情報を別の復号装置に転送する転送処理も行う。転送する暗号情報は、暗号化装置から送られたものであってもよいし、別の復号装置から転送されたものであってもよい。暗号システムに含まれる復号装置のうち少なくとも一部の復号装置が転送処理を行う機能を持つが、全ての復号装置がこの転送機能を持つことは要求されない。転送された暗号情報を受信した復号装置は、必要に応じて鍵生成装置に復号鍵を生成して貰い、上記復号処理を行う。あるいは、第2の観点による本発明の概要は次のとおりである。少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおいて、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。そして、暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化処理を行う。また、鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得処理と、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。また、復号装置は、復号鍵を用いて、関数暗号アルゴリズムに則り、暗号情報に対する復号処理を行う。そして、この復号装置は、暗号情報を別の復号装置に転送する転送処理も行う。転送する暗号情報は、暗号化装置から送られたものであってもよいし、別の復号装置から転送されたものであってもよい。暗号システムに含まれる復号装置のうち少なくとも一部の復号装置が転送処理を行う機能を持つが、全ての復号装置がこの転送機能を持つことは要求されない。転送された暗号情報を受信した復号装置は、必要に応じて鍵生成装置に復号鍵を生成して貰い、上記復号処理を行う。あるいは、第2の観点による本発明の概要は次のとおりである。少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおいて、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。そして、暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化処理を行う。また、復号装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得処理と、鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、暗号情報に対する復号処理を行う。また、鍵生成装置は、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。上述の復号装置は、暗号情報を別の復号装置に転送する転送処理も行う。転送する暗号情報は、暗号化装置から送られたものであってもよいし、別の復号装置から転送されたものであってもよい。暗号システムに含まれる復号装置のうち少なくとも一部の復号装置が転送処理を行う機能を持つが、全ての復号装置がこの転送機能を持つことは要求されない。転送された暗号情報を受信した復号装置は、必要に応じて鍵生成装置に復号鍵を生成して貰い、上記復号処理を行う。第3の観点による本発明の概要は次のとおりである。関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含む。そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。また、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められている。また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化処理を行う。コンテンツサーバ装置は、各暗号化装置から送られた暗号情報および暗号化コンテンツを記憶する処理と、復号装置からの要求に応じて暗号化コンテンツとこれに対応する暗号情報を当該復号装置に送信する送信処理を行う。鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得処理と、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。復号装置は、コンテンツサーバ装置に対する暗号化コンテンツの取得要求処理と、復号鍵を用いて、関数暗号アルゴリズムに則り、コンテンツサーバ装置から取得した暗号情報に対する復号処理と、この復号処理で得られた共通鍵を用いて、コンテンツサーバ装置から取得した暗号化コンテンツを復号するコンテンツ取得処理と、暗号化コンテンツから復号されたコンテンツを表示する処理を行う。あるいは、第3の観点による本発明の概要は次のとおりである。関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含む。そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。また、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められている。また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化処理を行う。コンテンツサーバ装置は、各暗号化装置から送られた暗号情報および暗号化コンテンツを記憶する処理と、復号装置からの要求に応じて暗号化コンテンツとこれに対応する暗号情報を当該復号装置に送信する送信処理を行う。復号装置は、コンテンツサーバ装置に対する暗号化コンテンツの取得要求処理と、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得処理と、復号鍵を用いて、関数暗号アルゴリズムに則り、コンテンツサーバ装置から取得した暗号情報に対する復号処理と、この復号処理で得られた共通鍵を用いて、コンテンツサーバ装置から取得した暗号化コンテンツを復号するコンテンツ取得処理と、暗号化コンテンツから復号されたコンテンツを表示する処理を行う。鍵生成装置は、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。あるいは、第3の観点による本発明の概要は次のとおりである。関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含む。そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。また、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められている。また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化処理を行う。コンテンツサーバ装置は、各暗号化装置から送られた暗号化コンテンツを記憶する処理と、復号装置からの要求に応じて暗号化コンテンツを当該復号装置に送信する送信処理を行う。鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得処理と、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成処理を行う。復号装置は、コンテンツサーバ装置に対する暗号化コンテンツの取得要求処理と、復号鍵を用いて、関数暗号アルゴリズムに則り、コンテンツサーバ装置から取得した暗号化コンテンツを復号する復号処理と、暗号化コンテンツから復号されたコンテンツを表示する処理を行う。あるいは、第3の観点による本発明の概要は次のとおりである。関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含む。そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。また、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められている。また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化処理を行う。コンテンツサーバ装置は、各暗号化装置から送られた暗号化コンテンツを記憶する処理と、復号装置からの要求に応じて暗号化コンテンツを当該復号装置に送信する送信処理を行う。復号装置は、コンテンツサーバ装置に対する暗号化コンテンツの取得要求処理と、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得処理と、復号鍵を用いて、関数暗号アルゴリズムに則り、コンテンツサーバ装置から取得した暗号化コンテンツを復号する復号処理と、暗号化コンテンツから復号されたコンテンツを表示する処理を行う。鍵生成装置は、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成処理を行う。本発明に拠れば、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報または論理情報を得ることから、関数暗号に依拠する暗号通信を柔軟に運用できる。<関数暗号の概要>近年、関数暗号と呼ばれるIDベース暗号の拡張暗号が話題となっている。関数暗号は下記の4つのアルゴリズムから構成される。プロトコルの概略は下記のとおりである。《プロトコルFE》=================================Setup→:セットアップアルゴリズムセキュリティパラメータ1λを入力とし、公開パラメータpkとマスター鍵skを出力する確率的多項式時間アルゴリズムKeyGen→ski:鍵生成アルゴリズムマスター鍵skと鍵識別子iを入力とし、当該鍵識別子iに対応する秘密鍵skiを出力する確率的多項式時間アルゴリズムEnc→cj:暗号化アルゴリズム公開パラメータpkと受信者識別子jと暗号化対象の情報平文xを入力とし、暗号文cjを出力する確率的多項式時間アルゴリズムDec→y:復号アルゴリズム公開パラメータpkと秘密鍵skiと暗号文cjを入力とし、平文yを出力する確率的多項式時間アルゴリズム=================================関数暗号では、IDベース暗号の正当性が拡張されており、暗号文の受信者は鍵識別子iを持つ秘密鍵と受信者識別子jを持つ暗号文から平文xに関する何らかの関数fijを評価することができるようになっている。即ち、或る関数fijが存在し∀i,∀j,∀x∈01polyに対して式Aで表される確率Prがλに関して圧倒的1との差が無視しうるであるとき、その関数暗号は正当であると云う。なお、polyはλで決まる多項式長を表している。特に、或る関係Rが存在し、式Bで表されるタイプの関数fijを持つ関数暗号は様々な暗号を包含している⊥は正常に復号できなかったことを表す記号である。例えばIDベース暗号は式Cで表される関数fijを持つ関数暗号と定義することができる。より高度な関係Rを持つ様々な関数暗号が研究されている。このタイプの関数暗号のうち最も汎用性の高いものは属性ベース暗号あるいは述語暗号等と呼ばれ、よく研究されている。2010年に岡本龍明らは多項式サイズの述語および述語変数の集合に対応し、標準的な暗号学的仮定の下で適応的識別子攻撃に対してCCA安全が証明できる比較的実用的なこのタイプの関数暗号を提案した参考文献R1参照。参考文献R1TatsuakiOkamotoandKatsuyukiTakashimaFullySecureFunctionalEncryptionwithGeneralRelationsfromtheDecisionalLinearAssumptionInAdvancesinCryptologyCRYPTO2010LectureNotesinComputerScienceVolume6223191208SpringerVerlag2010Fullpaperhttpeprintiacrorg2010563鍵識別子iを述語、受信者識別子jを述語変数のインスタンスとして式Dで表される関係Rを持つ関数暗号は鍵ポリシー関数暗号と呼ばれる。このとき、暗号文が平文xだけでなく述語変数のインスタンスjも秘匿する事を属性秘匿と云う。鍵識別子iを述語変数、受信者識別子jを述語のインスタンスとして式Eで表される関係Rを持つ関数暗号は暗号文ポリシー関数暗号と呼ばれる。このとき、暗号文が平文xだけでなく述語jも秘匿する事を述語秘匿と云う。属性秘匿を持つ鍵ポリシー関数暗号あるいは述語秘匿を持つ暗号文ポリシー関数暗号を述語暗号と呼ばれる参考文献R2参照。参考文献R2TatsuakiOkamotoandKatsuyukiTakashimaHierarchicalPredicateEncryptionforInnerProductsASIACRYPT2009pp2142312009<閾値ゲート>関数暗号における閾値ゲートの構成は、N個の分散情報のうち任意のt個が与えられれば秘密を復元できるが、任意のt1個以下の分散情報が与えられても秘密を復元できない閾値秘密分散方式、即ちtoutofN秘密分散方式を用いて実現される。toutofN秘密分散については参考文献R3などを参照されたい。toutofN秘密分散方式を用いた閾値ゲートはtoutofN閾値ゲートと呼ばれる。toutofN閾値ゲートは入力のN個の条件式のうちt個以上の条件が成立すると真を出力し、それ以外は偽を出力するゲート構造を有する。toutofN閾値ゲートの出力の否定は全入力の否定のoutofN閾値ゲートと等価である。参考文献R3AShamirHowtoShareaSecretCommunicationsoftheACMNovember1979Volume22Number11pp612613<秘密鍵検証可能関数暗号>関数暗号のうち、秘密鍵skiが鍵識別子iに対して正しく作られていることが納得できるものは、秘密鍵検証可能関数暗号と呼ばれる。鍵生成手続きが正しく行われたことを証明する非対話零知識証明参考文献R4参照を秘密鍵に付加することによって、秘密鍵検証可能関数暗号を構成することができる。秘密鍵検証可能関数暗号を用いれば秘密鍵skiが鍵識別子iに対して正しく作られていることが納得できる。参考文献R4JensGrothandAmitSahaiEfficientNoninteractiveProofSystemsforBilinearGroupsAdvancesinCryptologyEUROCRYPT2008LNCS4965pp415432March2010<暗号文公開検証可能関数暗号>関数暗号のうち、暗号文に対してKeyGenアルゴリズムから得られる如何なる鍵を持たなくとも、暗号文が正しく作られていることが納得できるものは暗号文公開検証可能関数暗号と呼ばれる。暗号化手続きが正しく行われたことを証明する非対話零知識証明上記参考文献R4参照を暗号文に付加することによって、暗号文公開検証可能関数暗号を構成することができる。暗号文公開検証可能関数暗号を用いれば暗号文に対して復号可能などの鍵を使っても同じ結果が得られることが納得できる。<電子署名>電子署名とは次の3つのアルゴリズムのことである。プロトコルの概略は下記のとおりである。《プロトコルES》=================================KeyGenΣ→:鍵生成アルゴリズムセキュリティパラメータ1λを入力とし、電子署名検証用公開鍵pkΣと電子署名用秘密鍵skΣを出力する確率的多項式時間アルゴリズムSignΣ→σ:署名アルゴリズム電子署名用秘密鍵skΣと署名対象情報mを入力とし、署名σを出力する確率的多項式時間アルゴリズムVerifyΣ→01:署名検証アルゴリズム電子署名検証用公開鍵pkΣと署名対象情報mと署名σを入力とし、検証結果または受理を出力する確率的多項式時間アルゴリズム=================================なお、適当な暗号学的仮定の下、適応的選択文書攻撃に対して存在的偽造不可が証明可能な電子署名方式が提案されている例えば、RSAPSS参考文献R5参照。参考文献R5藤岡淳、暗号アルゴリズム評価報告書RSAPSS、日本電信電話株式会社、2001年次に、関数暗号について概説する。説明に先立ち記号等を定義する。定義行列:行列とは演算が定義された集合の元を矩形に並べたものを表す。環の元を要素とするものだけではなく、群の元を要素とするものも行列と表現する。T:Tはの転置行列を表す。1:1はの逆行列を表す。∧:∧は論理積ANDを表す論理記号である。∨:∨は論理和ORを表す論理記号である。¬:¬は否定NOTを表す論理記号である。命題変数:命題変数は命題の真偽falsetrueを要素とする集合{真,偽}上の変数である。命題変数及び命題変数の否定を総称してリテラルliteralと呼ぶ。論理式:論理式とは数理論理学における命題を表す形式的文法を有する式を意味する。具体的には真及び偽は論理式であり、命題変数は論理式であり、論理式の否定は論理式であり、論理式と論理式との論理積は論理式であり、論理式と論理式との論理和は論理式である。Z:Zは整数集合を表す。sec:secはセキュリティパラメータsec∈Zsec0を表す。0:0は個の0からなる列を表す。1:1は個の1からなる列を表す。Fq:Fqは位数qの有限体を表す。位数qは1以上の整数であり、例えば、素数や素数のべき乗値を位数qとする。すなわち、有限体Fqの例は素体やそれを基礎体とした拡大体である。なお、有限体Fqが素体である場合の演算は、例えば、位数qを法とする剰余演算によって容易に構成できる。また、有限体Fqが拡大体である場合の演算は、例えば、既約多項式を法とする剰余演算によって容易に構成できる。有限体Fqの具体的な構成方法は、例えば、参考文献1ISOIEC180332InformationtechnologySecuritytechniquesEncryptionalgorithmsPart2Asymmetricciphersに開示されている。0F:0Fは有限体Fqの加法単位元を表す。1F:1Fは有限体Fqの乗法単位元を表す。δ:δはクロネッカーのデルタ関数を表す。ijの場合にδ1Fを満たし、i≠jの場合にδ0Fを満たす。E:Eは有限体Fq上で定義された楕円曲線を表す。Eはアフィンaffine座標版のWeierstrass方程式y2a1xya3yx3a2x2a4xa6ただし、a1a2a3a4a6∈Fqを満たすxy∈Fqからなる点の集合に無限遠点と呼ばれる特別な点Oを付加したもので定義される。楕円曲線E上の任意の2点に対して楕円加算と呼ばれる二項演算及び楕円曲線E上の任意の1点に対して楕円逆元と呼ばれる単項演算-がそれぞれ定義できる。また、楕円曲線E上の有理点からなる有限集合が楕円加算に関して群をなすこと、楕円加算を用いて楕円スカラー倍算と呼ばれる演算が定義できること、及びコンピュータ上での楕円加算などの楕円演算の具体的な演算方法はよく知られている例えば、参考文献1、参考文献2RFC5091IdentityBasedCryptographyStandard1SupersingularCurveImplementationsoftheBFandBB1Cryptosystems、参考文献3イアンFブラケ、ガディエルセロッシ、ナイジェルPスマート=著、楕円曲線暗号、出版=ピアソンエデュケーション、ISBN4894714310等参照。また、楕円曲線E上の有理点からなる有限集合は位数pの部分群を持つ。例えば、楕円曲線E上の有理点からなる有限集合の要素数をEとし、pをEを割り切る大きい素数とした場合、楕円曲線Eのp等分点からなる有限集合Epは、楕円曲線E上の有理点からなる有限集合の部分群を構成する。なお、楕円曲線Eのp等分点とは、楕円曲線E上の点Aのうち、楕円曲線E上での楕円スカラー倍算値pAがpA=Oを満たす点を意味する。G1G2GT:G1G2GTは位数qの巡回群を表す。巡回群G1G2の具体例は、楕円曲線Eのp等分点からなる有限集合Epやその部分群である。G1G2であってもよいしG1≠G2であってもよい。また、巡回群GTの具体例は、有限体Fqを基礎体とする拡大体を構成する有限集合である。その一例は、有限体Fqの代数閉包における1のp乗根からなる有限集合である。巡回群G1G2GTの位数と有限体Fqの位数とを同一とすることで安全性が向上する。なお、本形態では、巡回群G1G2上で定義された演算を加法的に表現し、巡回群GT上で定義された演算を乗法的に表現する。すなわち、χ∈Fq及びΩ∈G1に対するχΩ∈G1は、Ω∈G1に対して巡回群G1で定義された演算をχ回施すことを意味し、Ω1Ω2∈G1に対するΩ1Ω2∈G1は、Ω1∈G1とΩ2∈G1とを被演算子として巡回群G1で定義された演算を行うことを意味する。同様に、χ∈Fq及びΩ∈G2に対するχΩ∈G2は、Ω∈G2に対して巡回群G2で定義された演算をχ回施すことを意味し、Ω1Ω2∈G2に対するΩ1Ω2∈G2は、Ω1∈G2とΩ2∈G2とを被演算子として巡回群G2で定義された演算を行うことを意味する。一方、χ∈Fq及びΩ∈GTに対するΩχ∈GTは、Ω∈GTに対して巡回群GTで定義された演算をχ回施すことを意味し、Ω1Ω2∈GTに対するΩ1Ω2∈GTは、Ω1∈GTとΩ2∈GTとを被演算子として巡回群GTで定義された演算を行うことを意味する。Ψ:Ψは1以上の整数を表す。ψ:ψは0以上Ψ以下の整数ψ0Ψを表す。λ:λは1以上Ψ以下の整数λ1Ψを表す。n:nは1以上の整数を表す。ζ:ζは0以上の整数を表す。G1nζ:G1nζはnζ個の巡回群G1の直積を表す。G2nζ:G2nζはnζ個の巡回群G2の直積を表す。g1g2gT:g1g2gTは巡回群GG1G2GTの生成元を表す。V:Vはnζ個の巡回群G1の直積からなるnζ次元のベクトル空間を表す。V:Vはnζ個の巡回群G2の直積からなるnζ次元のベクトル空間を表す。eψ:eψは直積G1nζと直積G2nζとの直積G1nζ×G2nζを巡回群GTに写す非退化な双線形写像bilinearmapを表す。双線形写像eψは、巡回群G1のnζ個の元γβζと巡回群G2のnζ個の元γβζとを入力とし、巡回群GTの1個の元を出力する。eψ:G1nζ×G2nζ→GT...双線形写像eψは以下の性質を満たす。[双線形性]すべてのΓ1∈G1nζ,Γ2∈G2nζ及びν,κ∈Fqについて以下の関係を満たす。eψeψνκ...[非退化性]すべてのΓ1∈G1nζ,Γ2∈G2nζを巡回群GTの単位元に写す写像ではない。[計算可能性]あらゆるΓ1∈G1nζ,Γ2∈G2nζ...についてeψを効率的に計算するアルゴリズムが存在する。本形態では、巡回群G1と巡回群G2との直積G1×G2を巡回群GTに写す非退化な双線形写像PairG1×G2→GT...を用いて双線形写像eψを構成する。本形態の双線形写像eψは、巡回群G1のnζ個の元γβζからなるnζ次元ベクトルζと、巡回群G2のnζ個の元γβζからなるnζ次元ベクトルζとの入力に対し、巡回群GTの1個の元を出力する。eψ:Πβ1nζPair...なお、双線形写像Pairは、巡回群G1の1個の元と巡回群G2の1個の元との組を入力とし、巡回群GTの1個の元を出力する。双線形写像Pairは、以下の性質を満たす。[双線形性]すべてのΩ1∈G1,Ω2∈G2及びν,κ∈Fqについて以下の関係を満たす。PairPairνκ...[非退化性]すべてのΩ1∈G1,Ω2∈G2...を巡回群GTの単位元に写す写像ではない。[計算可能性]あらゆるΩ1∈G1,Ω2∈G2についてPairを効率的に計算するアルゴリズムが存在する。双線形写像Pairの具体例は、WeilペアリングやTateペアリングなどのペアリング演算を行うための関数である例えば、参考文献4AlfredJMenezes,ELLIPTICCURVEPUBLICKEYCRYPTOSYSTEMS,KLUWERACADEMICPUBLISHERS,ISBN0792393686,pp6181等参照。また、楕円曲線Eの種類に応じ、Tateペアリングなどのペアリング演算を行うための関数と所定の関数phiを組み合わせた変更ペアリング関数eΩ1∈G1,Ω2∈G2を双線形写像Pairとして用いてもよい例えば、参考文献2等参照。また、ペアリング演算をコンピュータ上で行うためのアルゴリズムとしては、周知のMillerのアルゴリズム参考文献5VSMillerShortProgramsforfunctionsonCurves1986,インターネット<httpcryptostanfordedumillermillerpdf>などが存在する。また、ペアリング演算を効率的に行うための楕円曲線や巡回群の構成方法はよく知られている例えば、参考文献2、参考文献6AMiyajiMNakabayashiSTakanoNewexplicitconditionsofellipticcurveTracesforFRReductionIEICETransFundamentalsvolE84Ano05pp12341243May2001、参考文献7PSLMBarretoBLynnMScottConstructingellipticcurveswithprescribedembeddingdegreesProcSCN2002LNCS2576pp257267SpringerVerlag2003、参考文献8RDupontAEngeFMorainBuildingcurveswitharbitrarysmallMOVdegreeoverfiniteprimefieldshttpeprintiacrorg2002094等参照。aiζ:aiは巡回群G1のnζ個の元を要素とするnζ次元の基底ベクトルを表す。基底ベクトルaiの一例は、κ1g1∈G1をi次元目の要素とし、残りのnζ1個の要素を巡回群G1の単位元加法的に0と表現とするnζ次元の基底ベクトルである。この場合、nζ次元の基底ベクトルaiζの各要素をそれぞれ列挙して表現すると、以下のようになる。a1a2...anζここで、κ1は加法単位元0F以外の有限体Fqの元からなる定数であり、κ1∈Fqの具体例はκ11Fである。基底ベクトルaiは直交基底であり、巡回群G1のnζ個の元を要素とするすべてのnζ次元ベクトルは、nζ次元の基底ベクトルaiζの線形和によって表される。すなわち、nζ次元の基底ベクトルaiは前述のベクトル空間Vを張る。aiζ:巡回群G2のnζ個の元を要素とするnζ次元の基底ベクトルを表す。基底ベクトルaiの一例は、κ2g2∈G2をi次元目の要素とし、残りのnζ1個の要素を巡回群G2の単位元加法的に0と表現とするnζ次元の基底ベクトルである。この場合、基底ベクトルaiζの各要素をそれぞれ列挙して表現すると、以下のようになる。a1a2...anζここで、κ2は加法単位元0F以外の有限体Fqの元からなる定数であり、κ2∈Fqの具体例はκ21Fである。基底ベクトルaiは直交基底であり、巡回群G2のnζ個の元を要素とするすべてのnζ次元ベクトルは、nζ次元の基底ベクトルaiζの線形和によって表される。すなわち、nζ次元の基底ベクトルaiは前述のベクトル空間Vを張る。なお、基底ベクトルaiと基底ベクトルaiとは、0Fを除く有限体Fqの元τκ1κ2についてeψajgTτδ...を満たす。すなわち、ijの場合には、式の関係から、eψajPairPairPairPairκ1κ2Pair00Pair00Pairκ1κ2gTτを満たす。なお、上付き添え字κ1,κ2はそれぞれκ1,κ2を表す。一方、i≠jの場合には、eψajΠi1nζPairajの右辺は、Pairを含まず、PairとPairとPairとの積になる。さらに、式の関係からPairPairPair0を満たす。そのため、i≠jの場合には、eψajeψ0gT0を満たす。特に、τκ1κ21Fである場合例えば、κ1κ21Fの場合、eajgTδ...を満たす。ここで、gT01は巡回群GTの単位元であり、gT1gTは巡回群GTの生成元である。この場合、基底ベクトルaiと基底ベクトルaiとは双対正規直交基底であり、ベクトル空間Vとベクトル空間Vとは、双線形写像を構成可能な双対ベクトル空間双対ペアリングベクトル空間DPVSDualParingVectorspaceである。A:基底ベクトルaiζを要素とするnζ行nζ列の行列を表す。例えば、基底ベクトルaiζが式によって表現される場合、行列Aは、となる。A:基底ベクトルaiζを要素とするnζ行nζ列の行列を表す。例えば、基底ベクトルaiζが式によって表現される場合、行列Aは、となる。X:Xは有限体Fqの元を要素とするnζ行nζ列の行列を表す。行列Xは基底ベクトルaiの座標変換に用いられる。行列Xのi行j列ζj1nζの要素をχij∈Fqとすると、行列Xは、となる。なお、行列Xの各要素χijを変換係数と呼ぶ。X:Xと行列XとはXτ1Tの関係を満たす。ただし、τ∈Fqは有限体Fqに属する任意の定数であり、例えば、τ1Fである。Xは基底ベクトルaiの座標変換に用いられる。行列Xのi行j列の要素をχij∈Fqとすると、行列Xは、となる。なお、行列Xの各要素χijを変換係数と呼ぶ。この場合、nζ行nζ列の単位行列をIとするとXTτIを満たす。すなわち、単位行列に対し、を満たす。ここで、nζ次元ベクトルχi→χinζ...χj→χjnζ...を定義する。すると、式の関係から、nζ次元ベクトルχi→とχj→との内積は、χi→χj→τδ...となる。bi:biは巡回群G1のnζ個の元を要素とするnζ次元の基底ベクトルを表す。biは行列Xを用いて基底ベクトルaiζを座標変換することで得られる。具体的には、基底ベクトルbiは、biΣj1nζχijaj...の演算によって得られる。例えば、基底ベクトルajζが式によって表現される場合、基底ベクトルbiの各要素をそれぞれ列挙して表現すると、以下のようになる。biκ1g1χi2κ1g1χinζκ1g1...巡回群G1のnζ個の元を要素とするすべてのnζ次元ベクトルは、nζ次元の基底ベクトルbiζの線形和によって表される。すなわち、nζ次元の基底ベクトルbiは前述のベクトル空間Vを張る。bi:biは巡回群G2のnζ個の元を要素とするnζ次元の基底ベクトルを表す。biは行列Xを用いて基底ベクトルaiζを座標変換することで得られる。具体的には、基底ベクトルbiは、biΣj1nζχijaj...の演算によって得られる。例えば、基底ベクトルajζが式によって表現される場合、基底ベクトルbiの各要素をそれぞれ列挙して表現すると、以下のようになる。biκ2g2χi2κ2g2χinζκ2g2...となる。巡回群G2のnζ個の元を要素とするすべてのnζ次元ベクトルは、nζ次元の基底ベクトルbiζの線形和によって表される。すなわち、nζ次元の基底ベクトルbiは前述のベクトル空間Vを張る。なお、基底ベクトルbiと基底ベクトルbiとは、0Fを除く有限体Fqの元τκ1κ2についてeψbjgTττδ...を満たす。すなわち、式の関係から、を満たす。特にτκ1κ21F例えば、κ1κ21F及びτ1Fである場合、eψbjgTδ...を満たす。この場合、基底ベクトルbiと基底ベクトルbiとは、双対ペアリングベクトル空間ベクトル空間Vとベクトル空間Vの双対正規直交基底である。なお、式の関係を満たすのであれば、式で例示したもの以外の基底ベクトルai及びaiや、式で例示したもの以外の基底ベクトルbi及びbiを用いてもよい。B:Bは基底ベクトルbiζを要素とするnζ行nζ列の行列である。BXAを満たす。例えば、基底ベクトルbiが式によって表現される場合、行列Bは、となる。B:Bは基底ベクトルbiζを要素とするnζ行nζ列の行列を表す。BXAを満たす。例えば、基底ベクトルbiζが式によって表現される場合、行列Bは、となる。v→:v→は有限体Fqの元を要素とするn次元ベクトルを表す。v→vn∈Fqn...vμ:vμはn次元ベクトルv→のμ番目の要素を表す。w→:w→は有限体Fqの元を要素とするn次元ベクトルを表す。w→wn∈Fqn...wμ:wμはn次元ベクトルw→のμ番目の要素を表す。Enc:Encは共通鍵暗号方式の暗号化処理を示す共通鍵暗号関数を表す。EncK:EncKは、共通鍵Kを用い、共通鍵暗号関数Encに従って平文Mを暗号化して得られた暗号文を表す。Dec:Decは、共通鍵暗号方式の復号処理を示す共通鍵復号関数を表す。DecK:DecKは、共通鍵Kを用い、共通鍵復号関数Decに従って暗号文Cを復号して得られた復号結果を表す。関数暗号方式次に、関数暗号方式の基本的な構成について説明する。関数暗号方式とは、第1情報と第2情報との組み合わせによって定まる論理式の真理値が真となる場合に暗号文が復号される方式である。第1情報と第2情報の一方が暗号文に埋め込まれ、他方が鍵情報に埋め込まれる。例えば、PredicateEncryptionSupportingDisjunctionsPolynomialEquationsandInnerProductswithAmitSahaiandBrentWatersOneof4papersfromEurocrypt2008invitedtotheJournalofCryptology参考文献9に開示された述語暗号方式は関数暗号方式の一種である。これ以外にも様々な公知の関数暗号方式が存在するが、以下では未公開の新たな関数暗号方式を説明する。以下に説明する新たな関数暗号方式では秘密情報に応じた値が所定の論理式に応じた態様で階層的に秘密分散される。所定の論理式は、第1情報と第2情報との組み合わせによって真理値が定まる命題変数を含み、必要に応じてさらに論理記号∧,∨,¬の何れか又はすべてを含む。そして、各命題変数の真理値が特定されることで定まる当該所定の論理式の真理値が真となる場合に秘密情報に応じた値が復元され、それに基づいて暗号文が復号される。<論理式と階層的な秘密分散との関係>上述した所定の論理式と階層的な秘密分散との関係を説明する。秘密分散とは、しきい値Kt個以上のシェア情報が得られた場合にのみ秘密情報が復元されるように、秘密情報をN個のシェア情報に分散することである。KtNを満たす秘密分散の方式SSSSecretSharingSchemeをNoutofN分散方式或いはNoutofNしきい値分散方式といい、Kt<Nを満たす秘密分散の方式をKtoutofN分散方式或いはKtoutofNしきい値分散方式という例えば、参考文献10黒沢馨、尾形わかは、現代暗号の基礎数理、コロナ社、2004年3月、p116119、参考文献11AShamirHowtoShareaSecretCommunicationsoftheACMNovember1979Volume22Number11pp612613等参照。NoutofN分散方式は、すべてのシェア情報shareshareが与えられれば秘密情報SEを復元できるが、任意のN1個のシェア情報shareshareが与えられても秘密情報SEの情報はまったく得られない方式である。以下に、その一例を示す。SH1SHN1をランダムに選択する。SHNSEの計算を行う。SH1SHNを各シェア情報shareshareとする。すべてのシェア情報shareshareが与えられれば、SEshareshare...の復元処理によって秘密情報SEの復元が可能である。KtoutofN分散方式は、任意の相違なるKt個のシェア情報shareshareが与えられれば秘密情報SEを復元できるが、任意のKt1個のシェア情報shareshareが与えられても秘密情報SEの情報はまったく得られない方式である。なお、添え字のKtはKtを表す。以下にKtoutofN分散方式の一例を示す。fSEを満たすKt1次の多項式fξ0ξ1xξ2x2ξKt1xKt1をランダムに選ぶ。すなわち、ξ0SEとし、ξ1ξKt1をランダムに選ぶ。シェア情報をshareρ1Nとする。なお、はρ及びfの値をそれぞれ抽出可能な情報であり、例えばρとfとのビット結合値である。任意の相違なるKt個のシェア情報shareshare⊂が得られた場合、例えば、ラグランジェの補間公式を用い、以下のような復元処理によって秘密情報SEの復元が可能である。SEfLA1fLAKtf...は先頭からρ番目の被演算子分母の要素、分子の要素が存在しないことを意味する。すなわち、式の分母は、であり、式の分子は、である。上述した各秘密分散は体上でも実行可能である。また、これらを拡張して秘密情報SEに応じた値をシェア情報shareに秘密分散することもできる。秘密情報SEに応じた値とは秘密情報SEそのものや秘密情報SEの関数値であり、シェア情報shareに応じた値とはシェア情報shareそのものやシェア情報の関数値である。例えば、有限体Fqの元である秘密情報SE∈Fqに応じた巡回群GTの元gTSE∈GTを秘密情報SEの各シェア情報shareshareに応じた巡回群GTの元gTsharegTshare∈GTに秘密分散することもできる。また、上述した秘密情報SEはシェア情報shareの線形結合となる式。このように秘密情報SEがシェア情報shareの線形結合となる秘密分散方式を線形秘密分散方式と呼ぶ。上述した所定の論理式は、秘密情報を階層的に秘密分散して得られる木構造データによって表現できる。すなわち、ドモルガンの法則により、上述した所定の論理式はリテラルからなる論理式、又は、論理記号∧,∨の少なくとも一部とリテラルとからなる論理式これらを標準形論理式と呼ぶことにするによって表現でき、この標準形論理式は秘密情報を階層的に秘密分散して得られる木構造データによって表現できる。標準形論理式を表現する木構造データは複数のノードを含み、少なくとも一部のノードは1個以上の子ノードの親ノードとされ、親ノードの1つはルートノードとされ、子ノードの少なくとも一部は葉ノードとされる。ルートノードの親ノードや、葉ノードの子ノードは存在しない。ルートノードには秘密情報に応じた値が対応し、各親ノードの子ノードには当該親ノードに対応する値を秘密分散したシェア情報に応じた値が対応する。各ノードでの秘密分散形態秘密分散方式やしきい値は標準形論理式に応じて定まる。また、各葉ノードには標準形論理式を構成する各リテラルが対応し、当該各リテラルの真理値は第1情報と第2情報との組み合わせによって定まる。ここで、真理値が真となったリテラルに対応する葉ノードに対応するシェア情報に応じた値は得られるが、真理値が偽となったリテラルに対応する葉ノードに対応するシェア情報に応じた値は得られないものとする。また、上述した秘密分散の性質により、親ノードに対応するシェア情報に応じた値その親ノードがルートノードであれば秘密情報に応じた値は、その子ノードに対応するシェア情報に応じた値が当該親ノードに対応するしきい値以上の個数だけ得られた場合にのみ復元される。そのため、どの葉ノードに対応するリテラルの真理値が真になったのかと木構造データの構成各ノードでの秘密分散の形態を含むとに応じ、最終的にルートノードに対応する秘密情報に応じた値が復元できるか否かが定まる。そして、各葉ノードに対応する各リテラルの真理値が標準形論理式の真理値を真にする場合にのみ最終的にルートノードに対応する秘密情報に応じた値が復元できるように木構造データが構成されている場合、このような木構造データは標準形論理式を表現する。このような標準形論理式を表現する木構造データは容易に設定できる。以下に具体例を示す。図83は、命題変数PROPROと命題変数PROの否定¬PROと論理記号∧,∨とを含む標準形論理式PRO∧PRO∨¬PROを表現する木構造データを例示する図である。図83に例示する木構造データは複数のノードN1N5を含む。ノードN1はノードN2N5の親ノードとされ、ノードN2はノードN3N4の親ノードとされ、親ノードの1つノードN1がルートノードとされ、子ノードの一部であるノードN3N4N5が葉ノードとされる。ノードN1には秘密情報SEに応じた値が対応し、ノードN1の子ノードN2N5には、秘密情報SEに応じた値が1outof2分散方式で秘密分散された各シェア情報SESEに応じた値がそれぞれ対応する。ノードN2の子ノードN3N4には、シェア情報SEに応じた値が2outof2分散方式で秘密分散された各シェア情報SESH1SH1に応じた値がそれぞれ対応する。すなわち、葉ノードN3にはシェア情報shareSESH1に応じた値が対応し、葉ノードN4にはシェア情報shareSH1に応じた値が対応し、葉ノードN5にはシェア情報shareSEに応じた値が対応する。また、葉ノードN3N4N5には標準形論理式PRO∧PRO∨¬PROを構成する各リテラルPROPRO¬PROがそれぞれ対応し、当該各リテラルPROPRO¬PROの真理値は第1情報と第2情報との組み合わせによって定まる。ここで、真理値が真となったリテラルに対応する葉ノードに対応するシェア情報に応じた値は得られるが、真理値が偽となったリテラルに対応する葉ノードに対応するシェア情報に応じた値は得られない。この場合、第1情報と第2情報との組み合わせが標準形論理式PRO∧PRO∨¬PROの真理値を真にする場合にのみ秘密情報SEに応じた値が復元される。図84は、命題変数PROPROPROPROPROと命題変数PROPROの否定¬PRO¬PROと論理記号∧,∨とを含む標準形論理式PRO∧PRO∨PRO∧PRO∨PRO∧PRO∨¬PRO∨∧PRO∧PROを表現する木構造データを例示する図である。図84に例示する木構造データは複数のノードN1N11を含む。ノードN1はノードN2N6N7の親ノードとされ、ノードN2はノードN3N4N5の親ノードとされ、ノードN7はノードN8N11の親ノードとされ、ノードN8はノードN9N10の親ノードとされ、親ノードの1つであるノードN1がルートノードとされ、ノードN3N4N5N6N9N10N11が葉ノードとされる。ノードN1には秘密情報SEに応じた値が対応し、ノードN1の子ノードN2N6N7には、秘密情報SEに応じた値が1outof3分散方式で秘密分散された各シェア情報SESESEに応じた値がそれぞれ対応する。ノードN2の子ノードN3N4N5には、シェア情報SEに応じた値が2outof3分散方式で秘密分散された各シェア情報に応じた値がそれぞれ対応する。ノードN7の子ノードN8N11には、シェア情報SEに応じた値が2outof2分散方式で秘密分散された各シェア情報SH4SESH4に応じた値がそれぞれ対応する。ノードN8の子ノードN9N10には、シェア情報SH4に応じた値が1outof2分散方式で秘密分散された各シェア情報SH4SH4に応じた値がそれぞれ対応する。すなわち、葉ノードN3にはシェア情報shareに応じた値が対応し、葉ノードN4にはシェア情報shareに応じた値が対応し、葉ノードN5にはシェア情報shareに応じた値が対応し、葉ノードN6にはシェア情報shareSEに応じた値が対応し、葉ノードN9にはシェア情報shareSH4に応じた値が対応し、葉ノードN10にはシェア情報shareSH4に応じた値が対応し、葉ノードN11にはシェア情報shareSESH4に応じた値が対応する。また、葉ノードであるノードN3N4N5N6N9N10N11には標準形論理式PRO∧PRO∨PRO∧PRO∨PRO∧PRO∨¬PRO∨∧PRO∧PROを構成する各リテラルPROPROPROPROPROPRO¬PRO¬PROPROPROがそれぞれ対応し、各リテラルPROPROPROPROPROPRO¬PRO¬PROPROPROの真理値は第1情報と第2情報との組み合わせによって定まる。ここで、真理値が真となったリテラルに対応する葉ノードに対応するシェア情報に応じた値は得られるが、真理値が偽となったリテラルに対応する葉ノードに対応するシェア情報に応じた値は得られない。この場合、第1情報と第2情報との組み合わせが標準形論理式PRO∧PRO∨PRO∧PRO∨PRO∧PRO∨¬PRO∨∧PRO∧PROの真理値を真にする場合にのみ秘密情報SEに応じた値が復元される。<アクセス構造>上述のように秘密情報を階層的に秘密分散して得られる木構造データによって所定の論理式を表現した場合、第1情報と第2情報との組み合わせに対して得られる葉ノードでのシェア情報に応じた値から秘密情報に応じた値を復元できるか否かによって、第1情報と第2情報との組み合わせによって定まる論理式の真理値が真となるか偽となるかを判定できる。以下、第1情報と第2情報との組み合わせによって定まる論理式の真理値が真となる場合に第1情報と第2情報との組み合わせを受け入れ、偽となる場合に第1情報と第2情報との組み合わせを拒絶する仕組みをアクセス構造と呼ぶ。上述のように所定の論理式を表現した木構造データの葉ノードの総数をΨとし、各葉ノードに対応する識別子をλ1Ψとする。各葉ノードに対応するn次元ベクトルv→の集合v→λ1Ψを第1情報とし、n次元ベクトルw→の集合w→λ1Ψを第2情報とする。また、上述した木構造データをラベル付き行列LMTとして実装する。ラベル付き行列LMTは、Ψ行COL列COL≧1の行列と、行列MTの各行λ1Ψに対応付けられたラベルLABとを含む。行列MTの各要素mtλcolcol1COLは次の2つの要件を満たす。第1に、上述のように所定の論理式を表現した木構造データのルートノードに秘密情報SE∈Fqに応じた値が対応する場合、予め定められた有限体Fqの元を要素とするCOL次元ベクトルGV→∈FqCOL...と、秘密情報SEに応じた有限体Fqの元を要素とするCOL次元ベクトルCV→∈FqCOL...とに対してSEGV→T...が成立する。COL次元ベクトルGV→の具体例は、GV→∈FqCOL...であるが、GV→∈FqCOLなどのその他のCOL次元ベクトルであってもよい。第2に、識別子λに対応する葉ノードにシェア情報share∈Fqに応じた値が対応する場合、shareTMTT...が成立する。上述のように所定の論理式を表現した木構造データが定まれば、これら2つの要件を満たす行列MTを選択することは容易である。また、秘密情報SEやシェア情報shareが変数であったとしても、これら2つの要件を満たす行列MTを選択することは容易である。すなわち、行列MTを定めた後で秘密情報SEやシェア情報shareの値が定められてもよい。また、行列MTの各行λ1Ψに対応付けられたラベルLABは、識別子λに対応する葉ノードに対応するリテラルPRO又は¬PROに対応する。ここで、命題変数PROの真理値が真であることと第1情報VSET1λv→λ1Ψが含むv→と第2情報VSET2λw→λ1Ψが含むw→との内積v→w→が0となることとが等価であると扱い、命題変数PROの真理値が偽であることと内積v→w→が0とならないこととが等価であると扱う。そして、PROに対応するラベルLABがv→を表し、¬PROに対応するラベルLABが¬v→を表すものとする。なお、¬v→はv→の否定を表す論理式であり、¬v→からv→の特定が可能である。また、LABがv→を表すことをLABv→と表記し、LABが¬v→を表すことをLAB¬v→と表記する。また、LABλ1Ψの集合LABλ1ΨをLABと表記する。さらに、Ψ次元ベクトルTFV→tfv...を定義する。要素tfvは、内積v→w→が0のときにtfv1となり、0以外のときにtfv0となる。tfv1PROが真ifv→w→0...tfv0PROが偽ifv→w→≠0...さらに、論理式v→∧1∨¬v→∧0...の真理値が真になるときLIT1と表記し偽になるときLIT0と表記する。すなわち、識別子λに対応する葉ノードに対応するリテラルの真理値が真になるときLIT1と表記し偽になるときLIT0と表記する。すると、行列MTが含む行ベクトルのうちLIT1となる行ベクトルmtλ→のみからなる部分行列MTTFVは以下のように表記できる。MTTFVLIT1...上述した秘密分散方式が線形秘密分散方式である場合、識別子λに対応するシェア情報shareに応じた値から秘密情報SEに応じた値が復元できることと、識別子λに対応する行ベクトルmtλ→で張られるベクトル空間にCOL次元ベクトルGV→が属することとは等価である。すなわち、識別子λに対応する行ベクトルmtλ→で張られるベクトル空間にCOL次元ベクトルGV→が属するか否かを判定することで、識別子λに対応するシェア情報shareに応じた値から秘密情報SEに応じた値が復元できるか否かが判定できる。なお、行ベクトルmtλ→で張られるベクトル空間とは、行ベクトルmtλ→の線形結合で表すことができるベクトル空間を意味する。ここで、上述の部分行列MTTFVの各行ベクトルmtλ→で張られるベクトル空間spanにCOL次元ベクトルGV→が属する場合に第1情報と第2情報との組み合わせが受け入れられ、そうでない場合に第1情報と第2情報との組み合わせが拒絶されることにする。これにより、上述のアクセス構造が具体化される。なお、上述したようにラベル付き行列LMTが第1情報に対応する場合、アクセス構造が第1情報と第2情報との組み合わせを受け入れることをアクセス構造が第2情報を受け入れるといい、アクセス構造が第1情報と第2情報との組み合わせを受け入れないことをアクセス構造が第2情報を拒絶するという。受け入れifGV→∈span拒絶if¬また、GV→∈spanの場合、SEΣμ∈SETconstshare...const∈Fqμ∈SETSET⊆1λLIT1を満たす係数constが存在し、このような係数constは行列MTのサイズの多項式時間で求めることができる。<アクセス構造を用いた関数暗号方式の基本構成>以下では、アクセス構造を用いた関数暗号方式によって鍵カプセル化メカニズムKEMを構成する場合の基本構成を例示する。この構成はSetupn,GenKey,Enc→λ1Ψ1F,Decを含む。また、第2情報VSET2λw→λ1Ψの1番目の要素w1が1Fとされる。[Setupn:セットアップ]-入力:1sec,n-出力:マスター鍵情報MSK,公開パラメータPKSetupでは各ψ0Ψについて以下の処理が実行される。1secを入力としてセキュリティパラメータsecでの位数q、楕円曲線E、巡回群G1G2GT、双線形写像eψが生成されるparam。τ∈Fqが選択され、Xτ1Tを満たす行列X,Xが選択される。基底ベクトルaiζが式に従って座標変換され、nζ次元の基底ベクトルbiζが生成される。基底ベクトルbiζを要素とするnζ行nζ列の行列Bが生成される。基底ベクトルaiζが式に従って座標変換され、nζ次元の基底ベクトルbiζが生成される。基底ベクトルbiζを要素とするnζ行nζ列の行列Bが生成される。B^の集合B^ψ0Ψをマスター鍵情報MSKB^ψ0Ψとする。また、B^の集合B^ψ0Ψと1secとparamとを公開パラメータPKとする。ただし、B^は行列B又はその部分行列であり、B^は行列B又はその部分行列である。また、集合B^ψ0Ψは、少なくとも、b1b1...bnλ1Ψを含む。また、集合B^ψ0Ψは、少なくとも、b1b1...bnλ1Ψを含む。以下に一例を示す。nζ≧5ζ3nB^b3b5TB^...bnb3n1...b4nTλ1ΨB^b3b4TB^...bnb2n1...b3nTλ1Ψ[GenKey:鍵情報生成]-入力:公開パラメータPK,マスター鍵情報MSK,第1情報VSET1λv→λ1Ψに対応するラベル付き行列LMT-出力:鍵情報SKS式を満たす秘密情報SEに対して以下の処理が実行される。DSEb1Σι2Icoefιbι...ただし、Iは2以上nζ以下の定数である。coefι∈Fqは定数又は乱数である。乱数とは真性乱数や擬似乱数を意味する。以下にDの一例を示す。なお、式のcoef4は乱数である。DSEb1b3coef4b4...式を満たすshareに対して以下の処理が実行される。LABv→となるλに対してDcoefv1b1Σι2ncoefvιbιΣιn1nζcoefιbι...が生成され、LAB¬v→となるλに対してDshareΣι1nvιbιΣιn1nζcoefιbι...が生成される。ただしcoefcoefι∈Fqは定数又は乱数である。以下に一例を示す。LABv→となるλに対してDcoefv1b1Σι2ncoefvιbιΣι2n13ncoefιbι...が生成され、LAB¬v→となるλに対してDshareΣι1nvιbιΣι2n13ncoefιbι...が生成される。なお、式のcoef及びcoefιは乱数である。鍵情報SKSDDD...生成される。[Enc:暗号化]-入力:公開パラメータPK,平文M,第2情報VSET2λw→λ1Ψ1F-出力:暗号文C以下の処理によって共通鍵Kの暗号文Cが生成される。Cυb1Σι2Iυιbι...CυΣι1nwιbιΣιn1nζυιbι...ただし、υυι∈Fqは定数又は乱数であり、coefIυIυ...coefιυι0F1nζ...を満たす。υの例はυ2υIの何れか1個である。例えば、υυ3υ5υ3n1υ4nが乱数であり、ζ3n、I5であり、υI0Fυ5υυ31υ3nである。共通鍵KgTττυ∈GT...が生成される。例えば、ττ1Fの場合、KgTυ∈GT...である。共通鍵Kを用いて平文Mの暗号文CEncK...が生成される。なお、共通鍵暗号方式Encは、例えば共通鍵Kを用いて暗号化可能に構成されたカメリアCamellia登録商標やAESや共通鍵と平文との排他的論理和などでよいが、その他の簡単な例として以下のようにEncKを生成してもよい。ただし、式の例ではM∈GTとされる。CgTυM...暗号文CC→∈VSET2C...が生成される。ただし、下付き添え字のw→はw→を表す。[Dec:復号]-入力:公開パラメータPK,鍵情報SKS,暗号文C-出力:平文Mλ1Ψについて、鍵情報SKSが含むラベル付き行列LMTの各ラベルLABであるn次元ベクトルv→と暗号文CのVSET2が含むn次元ベクトルw→との内積v→w→が0となるか否かが判定され、これによってGV→∈spanであるか否かが判定される。GV→∈spanでなければ暗号文Cが拒絶され、GV→∈spanであれば暗号文Cが受け入れられる。暗号文Cが受け入れられると、SET⊆1λLIT1と式を満たす係数constとが計算される。共通鍵が生成される。ここで、式から、を満たす。また、式及びw11Fからを満たす。また、式からを満たす。よって、式からを満たす。例えば、ττ1Fの場合、KgTυ∈GT...を満たす。共通鍵Kを用いて平文MDecKDecK...が生成される。例えば、式に例示した共通鍵暗号方式の場合、MCK...によって平文Mが生成される。なお、gTをGTの生成元とする代わりにgTτやgTτやgTττをGTの生成元と扱ってもよい。また、鍵情報SKSのλと暗号文のλとを対応関係を特定する写像を用いてCとDとの組み合わせを特定し、[Dec:復号]の処理が実行されてもよい。また、第2情報VSET2λw→λ1Ψの1番目の要素w1が1Fとされるだけではなく、第1情報VSET1λv→λ1Ψのn番目の要素vnが1Fとされてもよい。また、要素w1が1Fでない場合にはw→の代わりにw→w1を用いてもよく、要素vnが1Fでない場合にはv→の代わりにv→vnを用いてもよい。また、第1情報VSET1λv→λ1Ψの代わりに第2情報VSET2λw→λ1Ψが用いられ、第2情報VSET2λw→λ1Ψの代わりに第1情報VSET1λv→λ1Ψが用いられてもよい。この場合には第1情報VSET1λv→λ1Ψの1番目の要素v1が1Fとされる。次に、関数暗号の一形態である述語暗号の一例として内積を用いた述語暗号について説明する。なお、数式の番号は本節で改めて付け直している。また、説明の都合、上述の説明で用いた文言や記号と同じ文言や記号であっても意味が異なる場合があるので注意されたい。述語暗号は1outof1分散方式を用いた関数暗号に相当する。定義行列:行列とは演算が定義された集合の元を矩形に並べたものを表す。環の元を要素とするものだけではなく、群の元を要素とするものも行列と表現する。T:Tはの転置行列を表す。1:1はの逆行列を表す。∧:∧は論理積を表す。∨:∨は論理和を表す。Z:Zは整数集合を表す。k:kはセキュリティパラメータk∈Zk0を表す。01:01は任意ビット長のバイナリ系列を表す。その一例は、整数0及び1からなる系列である。しかし、01は整数0及び1からなる系列に限定されない。01は位数2の有限体又はその拡大体と同義である。01ζ:01ζはビット長ζζ∈Zζ0のバイナリ系列を表す。その一例は、整数0及び1からなる系列である。しかし、01ζは整数0及び1からなる系列に限定されない。01ζは位数2の有限体ζ1の場合又はそれをζ次拡大した拡大体ζ1の場合と同義である。はバイナリ系列間の排他的論理和演算子を表す。例えば、101100111110000101010010を満たす。Fq:Fqは位数qの有限体を表す。位数qは1以上の整数であり、例えば、素数や素数のべき乗値を位数qとする。すなわち、有限体Fqの例は素体やそれを基礎体とした拡大体である。なお、有限体Fqが素体である場合の演算は、例えば、位数qを法とする剰余演算によって容易に構成できる。また、有限体Fqが拡大体である場合の演算は、例えば、既約多項式を法とする剰余演算によって容易に構成できる。有限体Fqの具体的な構成方法は、例えば、参考文献1ISOIEC180332InformationtechnologySecuritytechniquesEncryptionalgorithmsPart2Asymmetricciphersに開示されている。0F:0Fは有限体Fqの加法単位元を表す。1F:1Fは有限体Fqの乗法単位元を表す。δ:δはクロネッカーのデルタ関数を表す。ijの場合にδ1Fを満たし、i≠jの場合にδ0Fを満たす。E:Eは有限体Fq上で定義された楕円曲線を表す。Eはアフィンaffine座標版のWeierstrass方程式y2a1xya3yx3a2x2a4xa6...ただし、a1a2a3a4a6∈Fqを満たすxy∈Fqからなる点の集合に無限遠点と呼ばれる特別な点Oを付加したもので定義される。楕円曲線E上の任意の2点に対して楕円加算と呼ばれる二項演算及び楕円曲線E上の任意の1点に対して楕円逆元と呼ばれる単項演算-がそれぞれ定義できる。また、楕円曲線E上の有理点からなる有限集合が楕円加算に関して群をなすこと、楕円加算を用いて楕円スカラー倍算と呼ばれる演算が定義できること、及びコンピュータ上での楕円加算などの楕円演算の具体的な演算方法はよく知られている例えば、参考文献1、参考文献2RFC5091IdentityBasedCryptographyStandard1SupersingularCurveImplementationsoftheBFandBB1Cryptosystems、参考文献3イアンFブラケ、ガディエルセロッシ、ナイジェルPスマート=著、楕円曲線暗号、出版=ピアソンエデュケーション、ISBN4894714310等参照。また、楕円曲線E上の有理点からなる有限集合は位数pの部分群を持つ。例えば、楕円曲線E上の有理点からなる有限集合の要素数をEとし、pをEを割り切る大きい素数とした場合、楕円曲線Eのp等分点からなる有限集合Epは、楕円曲線E上の有理点からなる有限集合の部分群を構成する。なお、楕円曲線Eのp等分点とは、楕円曲線E上の点Aのうち、楕円曲線E上での楕円スカラー倍算値pAがpA=Oを満たす点を意味する。G1G2GT:G1G2GTは位数qの巡回群を表す。巡回群G1G2の具体例は、楕円曲線Eのp等分点からなる有限集合Epやその部分群である。G1G2であってもよいしG1≠G2であってもよい。また、巡回群GTの具体例は、有限体Fqを基礎体とする拡大体を構成する有限集合である。その一例は、有限体Fqの代数閉包における1のp乗根からなる有限集合である。なお、本形態では、巡回群G1G2上で定義された演算を加法的に表現し、巡回群GT上で定義された演算を乗法的に表現する。すなわち、χ∈Fq及びΩ∈G1に対するχΩ∈G1は、Ω∈G1に対して巡回群G1で定義された演算をχ回施すことを意味し、Ω1Ω2∈G1に対するΩ1Ω2∈G1は、Ω1∈G1とΩ2∈G1とを被演算子として巡回群G1で定義された演算を行うことを意味する。同様に、χ∈Fq及びΩ∈G2に対するχΩ∈G2は、Ω∈G2に対して巡回群G2で定義された演算をχ回施すことを意味し、Ω1Ω2∈G2に対するΩ1Ω2∈G2は、Ω1∈G2とΩ2∈G2とを被演算子として巡回群G2で定義された演算を行うことを意味する。一方、χ∈Fq及びΩ∈GTに対するΩχ∈GTは、Ω∈GTに対して巡回群GTで定義された演算をχ回施すことを意味し、Ω1Ω2∈GTに対するΩ1Ω2∈GTは、Ω1∈GTとΩ2∈GTとを被演算子として巡回群GTで定義された演算を行うことを意味する。G1n1:G1n1はn1個の巡回群G1の直積を表す。G2n1:G2n1はn1個の巡回群G2の直積を表す。g1g2gT:g1g2gTは巡回群G1G2GTの生成元を表す。V:Vはn1個の巡回群G1の直積からなるn1次元のベクトル空間を表す。V:Vはn1個の巡回群G2の直積からなるn1次元のベクトル空間を表す。e:eは直積G1n1と直積G2n1との直積G1n1×G2n1を巡回群GTに写す非退化な双線形写像bilinearmapを計算するための関数双線形関数と呼ぶを表す。双線形関数eは、巡回群G1のn1個の元γLと巡回群G2のn1個の元γLとを入力とし、巡回群GTの1個の元を出力する。e:G1n1×G2n1→GT...双線形関数eは以下の性質を満たす。[双線形性]すべてのΓ1∈G1n1,Γ2∈G2n1及びν,κ∈Fqについて以下の関係を満たす。eeνκ...[非退化性]すべてのΓ1∈G1n1,Γ2∈G2n1...を巡回群GTの単位元に写す関数ではない。[計算可能性]あらゆるΓ1∈G1n1,Γ2∈G2n1についてeを効率的に計算するアルゴリズムが存在する。本形態では、巡回群G1と巡回群G2との直積G1×G2を巡回群GTに写す非退化な双線形写像を計算するための関数PairG1×G2→GT...を用いて双線形関数eを構成する。本形態の双線形関数eは、巡回群G1のn1個の元γLからなるn1次元ベクトルと、巡回群G2のn1個の元γLからなるn1次元ベクトルとの入力に対し、巡回群GTの1個の元eΠL1n1Pair...を出力する関数である。なお、双線形関数Pairは、巡回群G1の1個の元と巡回群G2の1個の元との組を入力とし、巡回群GTの1個の元を出力する関数であり、以下の性質を満たす。[双線形性]すべてのΩ1∈G1,Ω2∈G2及びν,κ∈Fqについて以下の関係を満たす。PairPairνκ...[非退化性]すべてのΩ1∈G1,Ω2∈G2...を巡回群GTの単位元に写す関数ではない。[計算可能性]あらゆるΩ1∈G1,Ω2∈G2についてPairを効率的に計算するアルゴリズムが存在する。なお、双線形関数Pairの具体例は、WeilペアリングやTateペアリングなどのペアリング演算を行うための関数である例えば、参考文献4AlfredJMenezes,ELLIPTICCURVEPUBLICKEYCRYPTOSYSTEMS,KLUWERACADEMICPUBLISHERS,ISBN0792393686,pp6181等参照。また、楕円曲線Eの種類に応じ、Tateペアリングなどのペアリング演算を行うための関数と所定の関数phiを組み合わせた変更ペアリング関数eΩ1∈G1,Ω2∈G2を双線形関数Pairとして用いてもよい例えば、参考文献2等参照。また、ペアリング演算をコンピュータ上で行うためのアルゴリズムとしては、周知のMillerのアルゴリズム参考文献5VSMillerShortProgramsforfunctionsonCurves1986,インターネット<httpcryptostanfordedumillermillerpdf>などが存在する。また、ペアリング演算を効率的に行うための楕円曲線や巡回群の構成方法はよく知られている例えば、参考文献2、参考文献6AMiyajiMNakabayashiSTakanoNewexplicitconditionsofellipticcurveTracesforFRReductionIEICETransFundamentalsvolE84Ano05pp12341243May2001、参考文献7PSLMBarretoBLynnMScottConstructingellipticcurveswithprescribedembeddingdegreesProcSCN2002LNCS2576pp257267SpringerVerlag2003、参考文献8RDupontAEngeFMorainBuildingcurveswitharbitrarysmallMOVdegreeoverfiniteprimefieldshttpeprintiacrorg2002094等参照。ai:巡回群G1のn1個の元を要素とするn1次元の基底ベクトルを表す。基底ベクトルaiの一例は、κ1g1∈G1をi次元目の要素とし、残りのn個の要素を巡回群G1の単位元加法的に0と表現とするn1次元の基底ベクトルである。この場合、n1次元の基底ベクトルaiの各要素をそれぞれ列挙して表現すると、以下のようになる。a1a2...an1ここで、κ1は加法単位元0F以外の有限体Fqの元からなる定数であり、κ1∈Fqの具体例はκ11Fである。基底ベクトルaiは直交基底であり、巡回群G1のn1個の元を要素とするすべてのn1次元ベクトルは、n1次元の基底ベクトルaiの線形和によって表される。すなわち、n1次元の基底ベクトルaiは前述のベクトル空間Vを張る。ai:aiは巡回群G2のn1個の元を要素とするn1次元の基底ベクトルを表す。基底ベクトルaiの一例は、κ2g2∈G2をi次元目の要素とし、残りのn個の要素を巡回群G2の単位元加法的に0と表現とするn1次元の基底ベクトルである。この場合、基底ベクトルaiの各要素をそれぞれ列挙して表現すると、以下のようになる。a1a2...an1ここで、κ2は加法単位元0F以外の有限体Fqの元からなる定数であり、κ2∈Fqの具体例はκ21Fである。基底ベクトルaiは直交基底であり、巡回群G2のn1個の元を要素とするすべてのn1次元ベクトルは、n1次元の基底ベクトルaiの線形和によって表される。すなわち、n1次元の基底ベクトルaiは前述のベクトル空間Vを張る。なお、基底ベクトルaiと基底ベクトルaiとは、0Fを除く有限体Fqの元τκ1κ2についてegTτδ...を満たす。すなわち、ijの場合には、式の関係から、ePairPairPairPairκ1κ2Pair00Pair00Pairκ1κ2gTτを満たす。一方、i≠jの場合には、eは、Pairを含まず、PairとPairとPairとの積になる。さらに、式の関係からPairPairPair0を満たす。そのため、i≠jの場合には、ee0gT0を満たす。特に、τκ1κ21Fである場合例えば、κ1κ21Fの場合、egTδ...を満たす。ここで、gT01は巡回群GTの単位元であり、gT1gTは巡回群GTの生成元である。この場合、基底ベクトルaiと基底ベクトルaiとは双対正規直交基底であり、ベクトル空間Vとベクトル空間Vとは、双線形写像を構成可能な双対ベクトル空間双対ペアリングベクトル空間DPVSDualParingVectorspaceである。A:Aは基底ベクトルaiを要素とするn1行n1列の行列を表す。例えば、基底ベクトルaiが式によって表現される場合、行列Aは、となる。A:Aは基底ベクトルaiを要素とするn1行n1列の行列を表す。例えば、基底ベクトルaiが式によって表現される場合、行列Aは、となる。X:Xは有限体Fqの元を要素とするn1行n1列の行列を表す。行列Xは基底ベクトルaiの座標変換に用いられる。行列Xのi行j列の要素をχij∈Fqとすると、行列Xは、となる。なお、行列Xの各要素χijを変換係数と呼ぶ。X:Xは行列Xの逆行列の転置行列XTを表す。行列Xは基底ベクトルaiの座標変換に用いられる。行列Xのi行j列の要素をχij∈Fqとすると、行列Xは、となる。なお、行列Xの各要素χijを変換係数と呼ぶ。この場合、n1行n1列の単位行列をIとするとXTIを満たす。すなわち、単位行列に対し、を満たす。ここで、n1次元ベクトルχi→...χj→...を定義する。すると、式の関係から、n1次元ベクトルχi→とχj→との内積は、χi→χj→δ...となる。bi:biは巡回群G1のn1個の元を要素とするn1次元の基底ベクトルを表す。基底ベクトルbiは行列Xを用いて基底ベクトルaiを座標変換することで得られる。具体的には、基底ベクトルbiは、biΣj1n1χijaj...の演算によって得られる。例えば、基底ベクトルajが式によって表現される場合、基底ベクトルbiの各要素をそれぞれ列挙して表現すると、以下のようになる。bi...巡回群G1のn1個の元を要素とするすべてのn1次元ベクトルは、n1次元の基底ベクトルbiの線形和によって表される。すなわち、n1次元の基底ベクトルbiは前述のベクトル空間Vを張る。bi:biは巡回群G2のn1個の元を要素とするn1次元の基底ベクトルを表す。行列Xを用いて基底ベクトルaiを座標変換することで得られる。具体的には、基底ベクトルbiは、biΣj1n1χijaj...の演算によって得られる。例えば、基底ベクトルajが式によって表現される場合、基底ベクトルbiの各要素をそれぞれ列挙して表現すると、以下のようになる。bi...となる。巡回群G2のn1個の元を要素とするすべてのn1次元ベクトルは、n1次元の基底ベクトルbiの線形和によって表される。すなわち、n1次元の基底ベクトルbiは前述のベクトル空間Vを張る。なお、基底ベクトルbiと基底ベクトルbiとは、0Fを除く有限体Fqの元τκ1κ2についてegTτδ...を満たす。すなわち、式の関係から、を満たす。特に、τκ1κ21Fである場合例えば、κ1κ21Fの場合、egTδ...を満たす。この場合、基底ベクトルbiと基底ベクトルbiとは、双対ペアリングベクトル空間ベクトル空間Vとベクトル空間Vの双対正規直交基底である。なお、式の関係を満たすのであれば、式で例示したもの以外の基底ベクトルai及びaiや、式で例示したもの以外の基底ベクトルbi及びbiを用いてもよい。B:Bは基底ベクトルbiを要素とするn1行n1列の行列を表す。BXAを満たす。例えば、基底ベクトルbiが式によって表現される場合、行列Bは、となる。B:Bは基底ベクトルbiを要素とするn1行n1列の行列を表す。BXAを満たす。例えば、基底ベクトルbiが式によって表現される場合、行列Bは、となる。w→:w→は有限体Fqの元を要素とするn次元ベクトルを表す。w→∈Fqn...wμ:wμはn次元ベクトルのμ番目の要素を表す。v→:v→は有限体Fqの元を要素とするn次元ベクトルを表す。v→∈Fqn...vμ:vμはn次元ベクトルのμ番目の要素を表す。衝突困難な関数:衝突困難な関数とは、十分大きなセキュリティパラメータkに対して以下の条件を満たす関数h、又は、それとみなせる関数を表す。PrAhh∧x≠yε...ただし、Prは事象の確率であり、Aは関数hに対してhhを満たす値xyx≠yを算出する確率的多項式時間アルゴリズムであり、εはセキュリティパラメータkについての多項式である。衝突困難な関数の例は、参考文献1に開示されたcryptographichashfunctionなどのハッシュ関数である。単射関数:単射関数とは、値域に属する元が何れもその定義域のただ一つの元の像として表される関数、又は、それとみなせる関数を表す。単射関数の例は、参考文献1に開示されたKDFなどのハッシュ関数である。擬似的なランダム関数:擬似的なランダム関数とは、任意の確率的多項式時間アルゴリズムが集合Φζとその部分集合φζとを区別できない場合における、当該部分集合φζに属する関数、又は、それとみなせる関数を表す。ただし、集合Φζは集合01ζの元を集合01ζの元へ写すすべての関数の集合である。擬似的なランダム関数の例は、上述のようなハッシュ関数である。H1:H1は2つのバイナリ系列ω1ω2∈01k×01を入力とし、有限体Fqの2つの元ψ1ψ2∈Fq×Fqを出力する衝突困難な関数を表す。H1:01k×01→Fq×Fq...このような関数H1の例は、ω1とω2とのビット連結値ω1ω2を入力とし、参考文献1に開示されたcryptographichashfunctionなどのハッシュ関数と、バイナリ系列から整数への変換関数Octetstringintegerconversionと、バイナリ系列から有限体の元への変換関数Octetstringandintegerfinitefieldconversionとの演算を行い、有限体Fqの2つの元ψ1ψ2∈Fq×Fqを出力する関数である。なお、関数H1は、擬似的なランダム関数であることが望ましい。H2:H2は巡回群GTの元とバイナリ系列ξω2∈GT×01を入力とし、有限体Fqの1つの元ψ∈Fqを出力する衝突困難な関数を表す。H2:GT×01→Fq...このような関数H2の例は、巡回群GTの元ξ∈GTとバイナリ系列ω2∈01とを入力とし、巡回群GTの元ξ∈GTを参考文献1に開示された有限体の元からバイナリ系列への変換関数Octetstringandintegerfinitefieldconversionに入力してバイナリ系列を求め、そのバイナリ系列とバイナリ系列ω2∈01とのビット連結値に対して参考文献1に開示されたcryptographichashfunctionなどのハッシュ関数演算を行い、さらにバイナリ系列から有限体の元への変換関数Octetstringandintegerfinitefieldconversionの演算を行い、有限体Fqの1つの元ψ∈Fqを出力する関数である。なお、安全性の観点から、関数H2は擬似的なランダム関数であることがより望ましい。RRは1つの巡回群GTの元ξ∈GTを入力とし、1つのバイナリ系列ω∈01kを出力する単射関数を表す。R:GT→01k...このような単射関数Rの例は、巡回群GTの元ξ∈GTを入力とし、参考文献1に開示された有限体の元からバイナリ系列への変換関数Octetstringandintegerfinitefieldconversionと、参考文献1に開示されたKDFなどのハッシュ関数との演算を行い、1つのバイナリ系列ω∈01kを出力する関数である。なお、安全性の観点から、関数Rは衝突困難な関数であることが望ましく、擬似的なランダム関数であることがより望ましい。Enc:Encは共通鍵暗号方式の暗号化処理を示す共通鍵暗号関数を表す。共通鍵暗号方式の具体例は、カメリアCamellia登録商標やAESなどである。Enck:Enckは、共通鍵Kを用い、共通鍵暗号関数Encに従って平文Mを暗号化して得られた暗号文を表す。Dec:Decは、共通鍵暗号方式の復号処理を示す共通鍵復号関数を表す。Deck:Deckは、共通鍵Kを用い、共通鍵復号関数Decに従って暗号文Cを復号して得られた復号結果を表す。内積述語暗号次に、内積述語暗号の基本的な構成について説明する。<述語暗号>述語暗号関数暗号と呼ぶ場合もあるとは、属性情報と呼ばれる情報と述語情報と呼ばれる情報との組み合わせが所定の論理式を真にする場合に暗号文が復号できる方式である。属性情報と述語情報の一方が暗号文に埋め込まれ、他方が鍵情報に埋め込まれる。従来の述語暗号の構成は、例えば、参考文献9PredicateEncryptionSupportingDisjunctionsPolynomialEquationsandInnerProductswithAmitSahaiandBrentWatersOneof4papersfromEurocrypt2008invitedtotheJournalofCryptology等に開示されている。<内積述語暗号>内積述語暗号は、属性情報や述語情報としてベクトルを用い、それらの内積が0となる場合に暗号文が復号される述語暗号である。内積述語暗号では、内積が0となることと論理式が真となることとが等価である。[論理式と多項式との関係]内積述語暗号では、論理和や論理積からなる論理式を多項式で表現する。まず、xがη1であるという命題1とxがη2であるという命題2との論理和∨を...という多項式で表現する。すると、各真理値と式の関数値との関係は以下のようになる。表1から分かるように、論理和∨が真である場合、式の関数値は0になり、論理和∨が偽である場合、式の関数値は0以外の値となる。すなわち、論理和∨が真であることと、式の関数値が0となることとは等価である。よって、論理和は式で表現できる。また、xがη1であるという命題1とxがη2であるという命題2との論理積∧をι1ι2...という多項式で表現する。ただし、ι1及びι2は乱数である。すると、真理値と式の関数値とは以下の関係となる。表2から分かるように、論理積∧が真である場合、式の関数値は0になり、論理積∧が偽である場合、式の関数値は0以外の値となる。すなわち、論理積∧が真であることと、式の関数値が0となることとは等価である。よって、論理積は式で表現できる。以上のように、式と式とを用いることで論理和や論理積からなる論理式を多項式fで表現できる。例えば、論理式∨∨∧∧は、多項式fι1ι2ι3...で表現できる。なお、式∨をという多項式で表現することも可能であり、3つ以上の不定元を用い、論理和を多項式で表現することも可能である。また、式∧をι0ι1という多項式で表現することも可能であり、3つ以上の不定元を用い、論理積を多項式で表現することも可能である。論理和及び/又は論理積を含む論理式をH種類の不定元x0xH1を用いて表現した多項式をfと表現する。また、各不定元x0xH1に対応する命題をxhがηhであるとする。ただし、ηhh0H1は命題ごとに定まる定数である。この場合、当該論理式を示す多項式fは、不定元xhと定数ηhとの差をとる多項式によって当該不定元xhが当該定数ηhであるという命題を表現し、命題をそれぞれ表現する多項式の積によって当該命題の論理和を表現し、命題又は命題の論理和をそれぞれ表現する多項式の線形和によって当該命題又は命題の論理和の論理積を表現し、それによって論理式を表現した多項式となる。例えば、5つの不定元x0x4を用い、論理式∨∨∧∧を多項式で表現すると、fι0ι1ι2となる。[多項式と内積の関係]論理式を示す多項式fは、2つのn次元ベクトルの内積で表現できる。すなわち、多項式fは、当該多項式fの各項の不定元成分を各要素とするベクトルv→と、当該多項式fの各項の係数成分を各要素とするベクトルw→との内積fw→v→に等しい。すなわち、論理式を示す多項式fが0であるか否かと、多項式fの各項の不定元成分を各要素とするベクトルv→と、多項式fの各項の係数成分を各要素とするベクトルw→との内積が0であるか否かとは等価である。f0←→w→v→0例えば、1つの不定元xで表現された多項式fθ0x0θ1xθn1xn1は、2つのn次元ベクトルw→...v→...の内積fw→v→...で表現できる。すなわち、論理式を示す多項式fが0であるか否かと、式の内積が0であるか否かとは等価である。f0←→w→v→0...また、多項式fの各項の不定元成分を各要素とするベクトルをw→とし、多項式fの各項の係数成分を各要素とするベクトルv→としても、論理式を示す多項式fが0であるか否かと、ベクトルw→とベクトルv→との内積が0であるか否かとは等価である。例えば、式の代わりにw→...v→...としても、論理式を示す多項式fが0であるか否かと、式の内積が0であるか否かとは等価である。内積述語暗号では、ベクトルv→及びw→の何れか一方を属性情報とし、他方を述語情報とし、属性情報と述語情報の一方が暗号文に埋め込まれ、他方が鍵情報に埋め込まれる。例えば、n次元ベクトルが述語情報とされ、n次元ベクトルが属性情報とされ、属性情報と述語情報の一方が暗号文に埋め込まれ、他方が鍵情報に埋め込まれる。なお、以下では、鍵情報に埋め込まれるn次元ベクトルをw→とし、暗号文に埋め込まれるn次元ベクトルをv→とする。例えば、述語情報:w→属性情報:v→であるか、述語情報:v→属性情報:w→である。[内積述語暗号の基本構成]以下では、内積述語暗号を用いて鍵カプセル化メカニズムKEMを構成する場合の基本構成を例示する。この構成はSetup,GenKey,Enc,Decを含む。《Setup:セットアップ》-入力:セキュリティパラメータk-出力:マスター鍵情報MSK,公開パラメータPKSetupの一例では、まず、セキュリティパラメータkをnとして、n1次元の基底ベクトルaiを要素とするn1行n1列の行列Aと、基底ベクトルaiを要素とするn1行n1列の行列Aと、座標変換のためのn1行n1列の行列X,Xとが選択される。次に、式に従って座標変換されたn1次元の基底ベクトルbiが算出され、式に従って座標変換されたn1次元の基底ベクトルbiが算出される。そして、基底ベクトルbiを要素とするn1行n1列の行列Bがマスター鍵情報MSKとして出力され、ベクトル空間VV、基底ベクトルbiを要素とするn1行n1列の行列B、セキュリティパラメータk、有限体Fq、楕円曲線E、巡回群G1G2GT、生成元g1g2gT、双線形関数eなどが公開パラメータPKとして出力される。《GenKey:鍵情報生成》-入力:マスター鍵情報MSK,ベクトルw→-出力:ベクトルw→に対応する鍵情報DGenKeyの一例では、まず、有限体Fqから元α∈Fqが選択される。そして、マスター鍵情報MSKである行列Bを用い、ベクトルw→に対応する鍵情報Dαbn1∈G2n1...が生成され、出力される。なお、巡回群G2上での離散対数問題の求解が困難である場合、鍵情報Dからwμbμやbn1の成分を分離抽出することは困難である。《Enc:暗号化》-入力:公開パラメータPK,ベクトルv→-出力:暗号文C2,共通鍵KEncの一例では、まず、共通鍵Kと有限体Fqの元である乱数υ1とが生成される。そして、行列Bなどの公開パラメータPKと、共通鍵Kを含む値に対応する有限体Fqの元υ2と、ベクトルv→と、乱数υ1とを用い、暗号文C2υ1υ2bn1∈G1n1...が生成される。そして、暗号文C2と共通鍵Kとが出力される。共通鍵Kの一例はKgTτυ2∈GTである。ここで、添え字のυ2はυ2を意味する。また、前述のようにτの一例はτ1Fである。なお、巡回群G1上での離散対数問題の求解が困難である場合、暗号文C2からvμbμやυ2bn1の成分を分離抽出することは困難である。《Dec:復号鍵共有》-入力:ベクトルw→に対応する鍵情報D1,暗号文C2-出力:共通鍵KDecの一例では、まず、暗号文C2と鍵情報D1とが式の双線形関数eに入力される。すると、式の性質から、を満たす。ここで、内積w→v→0であれば、式は、と変形できる。この結果から共通鍵Kが生成され出力される。共通鍵Kの一例はKgTτυ2∈GTである。ここではn1次元の基底ベクトルを用いてアルゴリズムを構成する例を示したが、次元はn1に限定されず、Ξを2以上の所定の整数としてnΞ次元の基底ベクトルbiを用いてアルゴリズムを構成してもよい。このとき、例えば式に替えて式を、式に替えて式を用いることができる。ここでυιは定数や変数乱数などなどである。DαΣιn1nΞυιbι∈G2nΞ...C2υ1Σι2Ξ1υιbιn1∈G1nΞ...なお、式は、Dαυn1bn1∈G2n1であってもよい。さらに、入力情報を入れ換えて、つまり、式にてwをvに置換し式にてvをwに置換してもよい。次に、第1の観点から、柔軟に運用可能な、関数暗号関数暗号の一例として述語暗号を採用するに依拠する暗号通信技術に関する実施形態を説明する。なお、数式の番号は本節で改めて付け直している。第1の観点による第1実施形態図1から図17を参照して、第1の観点による本発明の第1実施形態を説明する。暗号システム1は、図1に示すように、複数のクライアント装置10、30と、一つまたは複数の鍵生成装置20と、一つまたは複数のユーザ情報管理装置40以下、管理装置と言う、変換規則情報ペア管理装置50以下、登録装置と言う、一つまたは複数の保全装置80、一つまたは複数の認証装置90を含んでいる。これらの各装置は、例えばインターネットである通信網5を介して相互に通信可能とされている。クライアント装置は、処理目的に応じて、暗号化装置として、あるいは復号装置として機能する。そこで、クライアント装置を機能の観点から、暗号化装置10または復号装置30と呼称する。なお、暗号システム1は、暗号化装置としてのみ機能するクライアント装置および/または復号装置としてのみ機能するクライアント装置を含んでもよい。暗号システム1では述語暗号を用いた暗号化と復号が行われる。第1の観点による本発明では、使用する述語暗号アルゴリズムに限定は無く、例えば上記非特許文献2に開示される述語暗号アルゴリズムを用いることが許される。第1の観点による第1実施形態では、KEMタイプの述語暗号アルゴリズムを用いた例を示す。暗号システム1における暗号通信方法を、図2、3、4、6、8、10を参照しながら叙述する。各装置の機能構成については、図5、7、9を参照されたい。《準備プロセス》鍵生成装置20のパラメータ生成部図示せずが、述語暗号アルゴリズムで用いられる秘密鍵とエントリを生成するステップS1。エントリには、述語暗号アルゴリズムで用いられる公開パラメータ図面では公開Pと略記される、鍵生成装置20のアドレス、鍵生成装置20が使用可能なポリシーリスト、鍵生成装置20が使用可能なスキーマリストが含まれる。公開パラメータは、例えば位数qの巡回群G1,G2,GTの生成元g1,g2,gT、非退化性を持つ双線形写像e:G1×G2→GT但し、egT、位数q、n1次元のベクトル空間Vの直交基底Bを含む。秘密鍵は、双対ベクトル空間Vの直交基底Bを含む。代数構造を有限体Fqとする場合、qは素数または素数の冪乗値である。双線形写像eは例えばTateペアリングやWeilペアリングである。直交基底Bおよび直交基底Bについて説明を加える。n1次元のベクトル空間Vの任意の元が、式1のように巡回群G1のn1次元直積G1n1の元として表されるとする。n1次元のベクトル空間Vの任意の元は、n1次元のベクトル空間Vの標準基底Aを用いて式2のように表すこともできる。ただし、aiはn1次元直積G1n1の元、ziはn1次元直積Fqn1の元とする。また、1は加法単位元とする。直交基底Bは、式3のように、標準基底Aにn1次正方行列Xを作用させたものとして得られる。記号Tは転置を表す。なお、行列Xは秘密鍵と同様に秘密とされる。同様に、ベクトル空間Vと双対な双対ベクトル空間Vの任意の元が、式4のように巡回群G2のn1次元直積G2n1の元として表されるとする。双対ベクトル空間Vの任意の元は、双対ベクトル空間Vの標準基底Aを用いて式5のように表すこともできる。ただし、aiはn1次元直積G2n1の元、yiはn1次元直積Fqn1の元とする。また、1は加法単位元とする。直交基底Bは、式6のように、標準基底Aにn1次正方行列Tを作用させたものとして得られる。記号Eは単位行列を表す。次に、スキーマリストについて説明を加える。属性を指定する情報属性指定情報;つまり、例えば名前、生年月日などの属性を具体的に一意に特定する情報であり、属性値ともいうを述語暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報属性用変換規則情報;属性用スキーマともいうと、述語論理式を指定する情報述語論理式指定情報;つまり、例えば年齢、権限などの属性に関する条件を論理式などで具体的に設定する情報であり、命題関数ともいうを当該述語暗号アルゴリズムに用いられる述語情報論理情報に変換するための変換規則を規定している情報述語論理式用変換規則情報;述語論理式用スキーマともいうとのペアである変換規則情報ペアをスキーマペアと呼ぶ図11-図13参照。一つまたは複数のスキーマペアの集合体データリストがスキーマリストである。各々の鍵生成装置20はスキーマリストを自由に定めてよい。スキーマリストに含まれる各スキーマの各データ項目は、例えばXMLやASN.1で記述される。図12に示す属性用スキーマの例について説明を加える。ユーザの属性指定情報属性値は、属性名およびデータ型に対応付けられている。図12に示す例では、例えば、属性名‘email1’にデータ型‘文字列’が設定されており、属性名‘email1’およびデータ型‘文字列’に属性値‘XXXXXXnttcojp’が対応付けられている。属性用スキーマは、要素番号に属性名と型変換関数を対応付けた変換規則を規定している。図12に示す例では、例えば、要素番号‘1’に属性名‘血液型’と型変換関数が対応付けられている。要素番号‘1’に対応する型変換関数は、属性値の血液型がO型であれば0に、属性値の血液型がA型であれば1に、属性値の血液型がB型であれば2に、属性値の血液型がAB型であれば3に変換することを規定している。また、要素番号‘2’および‘3’に属性名‘生年月日’と型変換関数が対応付けられている。要素番号‘2’および‘3’に対応する型変換関数は、要素番号2に対して属性値の生年月日の年を入力とするHash関数の値に、要素番号3に対して属性値の生年月日の月日を入力とするHash関数の値に変換することを規定している。図12に示すユーザの属性指定情報属性値の例に図12に示す属性用スキーマの例を適用した結果が、図12に示す属性情報ベクトル情報の例として示されている。属性用スキーマの要素番号をベクトルの要素番号と見なして型変換関数の出力値を並べることにより、この属性情報をベクトルと考えることができる。なお、一般的に、関数暗号によると、暗号化の際に複数の属性情報を指定できる。例えば、属性用スキーマを複数の属性指定情報に適用することによって、複数の属性情報を得ることができる。あるいは、複数の属性用スキーマを一つの属性指定情報に適用することによって、複数の属性情報を得てもよい。なお、型変換関数の出力値は、この説明では整数値やHash関数の出力値として例示されたが、実際には述語暗号アルゴリズムに依拠し例えば有限体Fqの元である。図13に示す述語用スキーマの例について説明を加える。述語指定情報として属性に関する条件を表す論理式が与えられる。図13に示す例では、例えば、属性名‘名前’の属性値を‘田中太郎’とし、属性名‘年齢’の属性値を‘20歳以上’とする述語指定情報‘名前田中太郎かつ年齢20歳以上’が与えられている。述語用スキーマは、要素番号に属性名と型変換関数を対応付けた変換規則を規定している。図13に示す例では、例えば、要素番号‘1’に属性名‘血液型’と型変換関数が対応付けられている。要素番号‘1’に対応する型変換関数は、属性値の血液型がO型であれば0に、属性値の血液型がA型であれば1に、属性値の血液型がB型であれば2に、属性値の血液型がAB型であれば3に変換することを規定している。また、要素番号‘2’および‘3’に属性名‘生年月日’と型変換関数が対応付けられている。要素番号‘2’および‘3’に対応する型変換関数は、要素番号2に対して属性値の生年月日の年を入力とするHash関数の値に、要素番号3に対して属性値の生年月日の月日を入力とするHash関数の値に変換することを規定している。図13に示す述語指定情報の例に図13に示す述語用スキーマの例を適用した結果が、図13に示す述語情報ベクトル情報の例として示されている。具体的には、この例では、述語用スキーマを述語指定情報に適用することにより要素番号に応じた変数を持つ多変数多項式fが得られ、この多変数多項式fをベクトル情報に変換することにより、述語情報ベクトル情報が得られる。図13に示す述語指定情報の例に則して説明する。述語指定情報‘名前田中太郎かつ年齢20歳以上’に述語用スキーマを適用することにより、要素番号‘0’に対応した型変換関数の出力値‘Hash’および要素番号‘23’に対応した型変換関数の出力値‘1’が得られる。そして、要素番号‘0’に対応した型変換関数の出力値‘Hash’を零点とする要素番号‘0’に対応した変数X0の1次式と、要素番号‘23’に対応した型変換関数の出力値‘1’を零点とする要素番号‘23’に対応した変数X23の1次式との線形結合により、多変数多項式fr1r2が得られる。ここでr1とr2は乱数である。さらに、この多変数多項式fを展開して各項の係数を並べることにより、多変数多項式fがベクトル情報に変換され、図13に示す述語情報ベクトル情報の例が得られる。なお、一般的に、関数暗号によると、暗号化の際に複数の述語情報を指定できる。例えば、述語用スキーマを複数の述語指定情報に適用することによって、複数の述語情報を得ることができる。あるいは、複数の述語用スキーマを一つの述語指定情報に適用することによって、複数の述語情報を得てもよい。なお、型変換関数の出力値は、この説明では整数値やHash関数の出力値として例示されたが、実際には述語暗号アルゴリズムに依拠し例えば有限体Fqの元である。また、スキーマペアを構成する両スキーマの間では、属性名と型変換関数との組み合わせ、入力となる属性値のデータ型などが統一されていることが求められる。次にポリシーリストについて図14を参照して説明を加える。属性用スキーマと述語用スキーマのうちいずれであるかを特定するための情報をポリシー情報以下、ポリシーと言うと呼ぶ。このポリシーを記述したデータリストがポリシーリストである。鍵生成装置20が属性用スキーマと述語用スキーマの両方を使用する場合には、ポリシーとして2種類のタイプが用意される。それはCipherTextPolicyとKeyPolicyである。鍵生成装置20が属性用スキーマのみを使用する場合には、ポリシーとして1種類のタイプが用意される。それは、KeyPolicyである。鍵生成装置20が述語用スキーマのみを使用する場合には、ポリシーとして1種類のタイプが用意される。それは、CipherTextPolicyである。ポリシーは、例えばXMLやASN1で記述される。鍵生成装置20は、ポリシーの特定対象が、属性用スキーマのみ、あるいは、述語用スキーマのみ、あるいは、属性用スキーマおよび述語用スキーマであることを自由に定めてよい。一般的に関数暗号によると、上述のように、複数の異なる属性用スキーマを一つの属性指定情報に適用することによって、複数の属性情報を得ることができるので、このような場合は、ポリシーとして複数の属性用スキーマを指定しておく。複数の異なる述語用スキーマを一つの述語指定情報に適用することによって、複数の述語情報を得ることができるので、このような場合は、ポリシーとして複数の述語用スキーマを指定しておく。ステップS1の処理に続いて、鍵生成装置20の送信部はエントリを認証装置90に送信し、認証装置90の受信部がエントリを受信するステップS2。認証装置90の署名付与部図示せずがエントリに対して例えば従来的な手法で電子署名を付与してステップS3、認証装置90の送信部が署名付きエントリを鍵生成装置20に送信し、鍵生成装置20の受信部が署名付きエントリを受信するステップS4。そして、鍵生成装置20の送信部が署名付きエントリを保全装置80に送信し、保全装置80の受信部が署名付きエントリを受信するステップS5。保全装置80の送信部は鍵生成装置20を特定する情報例えばアドレスを含む検索クエリを登録装置50に送信し、登録装置50の受信部が検索クエリを受信するステップS6。登録装置50の検索部図示せずは、鍵生成装置20に関する登録内容エントリを検索しステップS7、登録装置50の送信部が登録の有無や登録内容を含む検索結果を保全装置80に送信し、保全装置80の受信部が検索結果を受信するステップS8。保全装置80の検査部図示せずは、ステップS5の処理で受信した署名付きエントリと、ステップS8の処理で受信した検索結果を比較し、重複の有無を検査するステップS9。重複の無いことを確認できた場合、保全装置80の送信部は、署名付きエントリを登録装置50に送信し、登録装置50の受信部が、署名付きエントリを受信するステップS10。登録装置50の登録部図示せずは、署名付きエントリを鍵生成装置20と対応付けて登録装置50の記憶部に記憶するステップS11。登録装置50の送信部は登録結果を保全装置80に送信し、保全装置の受信部が登録結果を受信するステップS12。保全装置80の送信部は、登録結果を鍵生成装置20に送信し、鍵生成装置20は登録結果を受信するステップS13。複数の鍵生成装置20が存在する場合、各鍵生成装置20が独自に、ステップS1からステップS13の各処理を行う。例えば、公開パラメータと秘密鍵は鍵生成装置ごとに定められる。但し、このことは、各鍵生成装置が共通の公開パラメータと秘密鍵を持つことを妨げるものではない。また、各鍵生成装置が同じ登録装置50にエントリを登録してもよいし、各鍵生成装置が異なる登録装置50にエントリを登録してもよい。予め、秘密鍵、エントリ、登録装置50へのエントリ登録などが設定されている場合には、ステップS1からステップS13の各処理を省略することが許される。また、認証装置90と保全装置80は同じハードウェアエンティティであってもよい。なお、エントリ登録に認証を要求しない場合や、登録装置50に登録されるエントリの一意性が確保されている場合などでは、暗号システム1が保全装置80および/または認証装置90を備えないシステム構成も許容される。これで《準備プロセス》は終了する。《暗号化プロセス》暗号化装置10の送信部14は、図示しない制御部の制御を受けて、検索クエリを登録装置50に送信し、登録装置50の受信部が検索クエリを受信するステップS14。登録装置50の検索部は、登録装置50の記憶部に登録されているエントリの一部または全部を検索して任意の一つのエントリを選びステップS15、登録装置50の送信部は検索結果のエントリを暗号化装置10に送信し、暗号化装置10の受信部はエントリを受信するステップS16。このエントリには、鍵生成装置のアドレス、この鍵生成装置の公開パラメータ、この鍵生成装置が使用可能なポリシーリスト、この鍵生成装置が使用可能なスキーマリストが含まれている。受信したエントリは、暗号化装置10のメモリ11に記憶される。なお、各鍵生成装置20の公開パラメータ、スキーマリスト、ポリシーリスト、アドレスを予め暗号化装置10が所有している場合には、ステップS14-S16の処理は省略される。つまり、暗号システム1が登録装置50を含まない形態も許容されることに注意しなければならない。暗号化装置10の第1述語論理情報取得部12が、メモリ11から入力情報とポリシーとスキーマを読み込み、属性情報以下、第1属性情報と言うまたは述語情報以下、第1述語情報と言うを求めるステップS17a。この処理の詳細について説明を加える図12、図13参照。まず、スキーマリストに複数のスキーマペアが記述されている場合、用途などに応じて一つのスキーマペアが選択される。暗号化装置10の利用者によってスキーマペアが選択されてその指示情報が入力される場合や、所定の規則に従い、第1述語論理情報取得部12がスキーマペアを選択してもよい。そして、入力情報が属性指定情報または述語指定情報のいずれであるかに応じてポリシーと共にいずれか一方のスキーマを選択する。暗号化装置10の利用者によってポリシーといずれか一方のスキーマが選択されてその指示情報が入力される場合や、所定の規則に従い、第1述語論理情報取得部12がポリシーといずれか一方のスキーマを選択する場合のいずれであってもよい。なお、鍵生成装置20のポリシーが1種類のタイプのみ用意されている場合には、そのポリシーに従ってスキーマペアのうちの一方のスキーマが選択される。もし、選択されたスキーマが入力情報の種類に対応していない場合には、スキーマリストからスキーマペアを再選択するか、登録装置50からエントリの提供を再度受ければよい。入力情報は、暗号化装置10の利用者によって入力された情報または、例えばICカード39のような記憶媒体から暗号化装置10の取得部図示せずが取得した情報でもよい。そして、第1述語論理情報取得部12が、ポリシーに従ってスキーマペアの中から選択されたスキーマを用いて入力情報から第1属性情報または第1述語情報を得る。ポリシーがKeyPolicyであり選択されたスキーマが属性用スキーマである場合には第1属性情報が得られる。ポリシーがCipherTextPolicyであり選択されたスキーマが述語用スキーマである場合には第1述語情報が得られる。第1属性情報と第1述語情報は、第1の観点による第1実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる図11-13参照。この際、スキーマを用いて入力情報から必要な属性値の抽出や整列化が行われる。次に、暗号化装置10の暗号化部13が、第1属性情報v=または第1述語情報w=と、メモリ11からの公開パラメータに含まれる直交基底B実質的な公開鍵と平文Mを用いて、共通鍵Kと暗号情報C1と暗号文C2を求めるステップS17b、S17c。これらの処理の詳細について説明を加える。ただし、第1の観点による第1実施形態が共通鍵Kの配送に特化した実施形態である場合には暗号文C2の生成は不要である。まず、第1暗号化部13aが、述語暗号アルゴリズムに則り、有限体Fqの元である乱数r、ρを生成して、式7のように共通鍵Kを設定し、式8に従って暗号情報C1を求めるステップS17b。Hは例えばハッシュ関数である。この例では第1属性情報vを用いているが、第1述語情報を用いる場合は式8においてvをwに置き換えればよい。また、この例では、暗号情報C1は共通鍵Kの生成に用いる情報ρに対応する情報であるが、暗号情報C1を共通鍵Kに対応する情報としてもよい。次に、第2暗号化部13bが、共通鍵Kと平文Mを用いて、式9に従って暗号文C2を求めるステップS17c。共通鍵を用いた暗号化方法EncKは周知の方法でよく、例えば上記非特許文献1に開示される方法である。既述のとおり、第1の観点による第1実施形態が共通鍵Kの配送に特化した実施形態である場合には、ステップS17cの処理は省略される。つまり、暗号化装置10は、第2暗号化部13bの機能を持つとしても、ステップS17cの処理を行わない。次に、暗号化装置10の送信部14は、制御部による制御を受けて、暗号情報C1と、必要に応じて暗号文C2と、メモリ11からのスキーマペア、ポリシー、公開パラメータ、鍵生成装置のアドレスを纏めた暗号メッセージを生成するステップS17d。そして暗号化装置10の送信部14は、暗号メッセージを復号装置30に送信し、復号装置30の受信部が暗号メッセージを受信するステップS18。これで《暗号化プロセス》は終了する。《復号プロセス》復号装置30の送信部34は、図示しない制御部の制御を受けて、暗号メッセージに含まれる鍵生成装置のアドレスを含む検索クエリを登録装置50に送信し、登録装置50の受信部が検索クエリを受信するステップS19。登録装置50の検索部は、アドレスで指定された鍵生成装置のエントリを検索してそれを選びステップS20、登録装置50の送信部は検索結果のエントリを復号装置30に送信し、復号装置30の受信部はエントリを受信するステップS21。このエントリには、鍵生成装置のアドレス、この鍵生成装置の公開パラメータ、この鍵生成装置が使用可能なポリシーリスト、この鍵生成装置が使用可能なスキーマリストが含まれている。受信したエントリは、復号装置30のメモリ31に記憶される。なお、各鍵生成装置20の公開パラメータ、スキーマリスト、ポリシーリスト、アドレスを予め復号装置30が所有している場合には、ステップS19-S21の処理は省略される。この場合、復号装置30は、暗号メッセージに含まれるアドレスに対応する鍵生成装置のエントリを自身のメモリ31から検索してこれを取得する。復号装置30の検証部図示せずは、制御部の制御を受けて、暗号メッセージに含まれるスキーマペアとポリシーが、登録装置50から取得したエントリに含まれるポリシーリストとスキーマリストに含まれるか否かを検証するステップS22a。この検証に失敗した場合、復号処理の失敗として処理を終了するステップS22g。この検証に成功した場合、復号装置30の取得部32が、例えばICカード39のような記憶媒体から、当該復号装置30の利用者に対応する属性指定情報または述語指定情報を読み取るステップS22f。属性指定情報または述語指定情報のいずれを読み取るかは、暗号メッセージに含まれるポリシーによって決まる。つまり、読み取られる情報は、このポリシーで特定される一方のスキーマとペアになっている他方のスキーマを特定するポリシーの内容に対応する指定情報である。もしポリシーがCipherTextPolicyである場合、取得部32は記憶媒体から属性指定情報を読み取る。もしポリシーがKeyPolicyである場合、取得部32は記憶媒体から述語指定情報を読み取る。以下、読み取られた指定情報を利用者情報と呼ぶ。また、復号装置30の取得部32が、後述する鍵生成装置20における処理《利用者情報取得プロセス》と同様に、管理装置40から、当該復号装置30の利用者に対応する属性指定情報または述語指定情報を読み取ることも許容される。なお、第1の観点による第1実施形態では、ステップS22fの処理は任意に行われる。例えば、予め復号装置30が利用者に対応する属性指定情報と述語指定情報を所有している場合、ポリシーに従って属性指定情報または述語指定情報のいずれかが利用者情報となる。次に、復号装置30の検証部が、暗号メッセージに含まれる暗号情報を復号するために使用する復号鍵を持っているか否かを検証するステップS22b。復号装置30はメモリ31に復号鍵テーブルを記憶している。復号鍵テーブルでは、例えば図15に示すように、鍵生成装置の識別子に対して、公開パラメータと、スキーマペアと、復号鍵の対象と、述語指定情報と、復号鍵とが対応付けられている。そこで、検証部は、暗号メッセージに含まれるアドレスによって判別する鍵生成装置の識別子、公開パラメータと、スキーマペアと、復号鍵の対象但し、復号鍵の対象は、暗号メッセージに含まれるポリシーで特定される一方のスキーマとペアになっている他方のスキーマを特定するポリシーの内容に対応するに対応する復号鍵の有無を検証する。もし復号鍵が存在すれば、ステップS29の処理を行う。もし復号鍵が存在しなければ、ステップS23の処理を行う。ここで《復号プロセス》の説明を中断し、《鍵生成プロセス》の説明をする。上述のように復号鍵が存在しない場合、復号装置30の送信部34は、制御部による制御を受けて、メモリ31からの公開パラメータ、ポリシー、スキーマペア、もし在れば利用者情報、認証情報を纏めた鍵要求メッセージを生成する。認証情報は、例えば利用者のIDとパスワードを含む。そして、復号装置30の送信部34は、メモリ31からのアドレスを持つ鍵生成装置に鍵要求メッセージを送信し、この鍵生成装置20の受信部が、鍵要求メッセージを受信するステップS23。受信した鍵要求メッセージは、鍵生成装置20のメモリ21に記憶される。鍵生成装置20の検証部図示せずは、制御部の制御を受けて、鍵要求メッセージに含まれるスキーマペアとポリシーが、当該鍵生成装置20が所有するエントリ例えばステップS1で生成されたエントリであるに含まれるポリシーリストとスキーマリストに含まれるか否か、および、鍵要求メッセージに含まれる公開パラメータが当該鍵生成装置20の公開パラメータであるか否かを検証するステップS24a。この検証に失敗した場合、鍵生成処理の失敗として処理を終了するステップS24g。なお、ステップS24aの処理では、鍵要求メッセージに認証情報が含まれるならば、鍵要求メッセージに含まれる認証情報の検証も行われる。鍵生成装置20は、メモリ21に認証テーブルを記憶している。認証テーブルでは、例えば図16に示すように、利用者のIDに対してパスワードが対応付けられている。そこで、検証部は、鍵要求メッセージに含まれる利用者のIDとパスワードと認証テーブルに含まれる利用者のIDとパスワードとの整合性を検証する。この検証に失敗した場合も、ステップS24gの処理が行われる。この検証に成功した場合、鍵生成装置20の検証部が、鍵要求メッセージに利用者情報が含まれているか否かを検証するステップS24b。鍵要求メッセージに利用者情報が含まれていればステップS24cの処理を行い、鍵要求メッセージに利用者情報が含まれていなければステップS25の処理を行う。なお、必ず鍵要求メッセージに利用者情報が含まれる方法を採用する場合には、ステップS24bの処理および後述する《利用者情報取得プロセス》は不要である。ここで《鍵生成プロセス》の説明を中断し、《利用者情報取得プロセス》の説明をする。鍵生成装置20の送信部は、鍵要求メッセージに含まれるポリシーともし在れば認証情報を含むリクエストを管理装置40に送信し、管理装置40がリクエストを受信するステップS25。受信したリクエストは、管理装置40のメモリに記憶される。管理装置40はメモリに認証テーブルを記憶している。この認証テーブルでは、上述の認証テーブルと同様に、利用者のIDに対してパスワードが対応付けられている図16参照。そこで、管理装置40の検証部図示せずは、リクエストに含まれる利用者のIDとパスワードと認証テーブルに含まれる利用者のIDとパスワードとの整合性を検証する。この検証に成功すると、管理装置40の検索部図示せずがリクエストに含まれるポリシーに従って、メモリに記憶されている利用者情報テーブルから属性指定情報または述語指定情報を検索するステップS26。利用者情報テーブルは、例えば利用者のIDとこれに対応付けられた属性名および属性指定情報で構成される第1テーブルと、利用者のIDとこれに対応付けられた述語指定情報で構成される第2テーブルとを含んでいる図17参照。属性指定情報または述語指定情報のいずれを読み取るかは、リクエストに含まれるポリシーによって決まる。つまり、読み取られる情報は、このポリシーで特定される一方のスキーマとペアになっている他方のスキーマを特定するポリシーの内容に対応する指定情報である。もしポリシーがCipherTextPolicyである場合、検索部は第1テーブルからリクエストに含まれる利用者のIDに対応する属性指定情報を取得する。もしポリシーがKeyPolicyである場合、検索部は第2テーブルからリクエストに含まれる利用者のIDに対応する述語指定情報を取得する。読み取られた指定情報を利用者情報と呼ぶ。管理装置40の送信部は、制御部による制御を受けて、検索結果の利用者情報を鍵生成装置20に送信し、鍵生成装置20の受信部が利用者情報を受信するステップS27。受信した利用者情報は、鍵生成装置20のメモリ21に記憶される。以上で《利用者情報取得プロセス》を終了し、再び《鍵生成プロセス》の説明に戻る。利用者情報を既に所有している場合、あるいは、利用者情報取得プロセスによって利用者情報を受信した場合ステップS27、鍵生成装置20の第2述語論理情報取得部23は、メモリ21からポリシーと、スキーマペアと、公開パラメータと、利用者情報を読み込み、利用者情報から、属性情報第2属性情報と言うまたは述語情報第2述語情報と言うを得るステップS24c。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipherTextPolicyである場合、CipherTextPolicyで特定される一方のスキーマ述語用スキーマとペアになっている他方のスキーマ属性用スキーマを用いて、利用者情報属性指定情報から第2属性情報を得る。ポリシーがKeyPolicyである場合、KeyPolicyで特定される一方のスキーマ属性用スキーマとペアになっている他方のスキーマ述語用スキーマを用いて、利用者情報述語指定情報から第2述語情報を得る。このように、この処理で用いられるスキーマは、ステップS17aで用いられたスキーマとペアになっているスキーマであることに注意しなければならない。第2属性情報と第2述語情報は、第1の観点による第1実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる図11-13参照。この際、スキーマを用いて入力情報から必要な属性値の抽出や整列化が行われる。次に、鍵生成装置20の鍵生成部25が、述語暗号アルゴリズムに則り、公開パラメータのqに基づき有限体Fqの元である乱数αを生成して、メモリ21からの第2属性情報v=1,...,vnまたは第2述語情報w=1,...,wnと、当該鍵生成装置の秘密鍵Bを用いて、式10に従って復号鍵Rを求めるステップS24d。暗号化処理で用いられた入力情報が属性指定情報である場合に対応して、この例では第2述語情報wを用いているが、入力情報が述語指定情報である場合には、第2属性情報vが対応するので、式10においてwをvに置き換えればよい。次に、鍵生成装置20の送信部24は、制御部による制御を受けて、復号鍵Rを復号装置30に送信し、復号装置30の受信部が復号鍵Rを受信するステップS28。受信した復号鍵Rは、復号装置30のメモリ31に記憶される。以上で《鍵生成プロセス》を終了し、再び《復号プロセス》の説明に戻る。復号鍵を既に所有している場合、あるいは、鍵生成プロセスによって復号鍵を受信した場合ステップS28、復号装置30の復号部33が、メモリ31から公開パラメータと復号鍵Rと暗号情報C1と必要に応じて暗号文C2を読み込んで、共通鍵Kと必要に応じて平文Mを求めるステップS29。このステップS29の処理の詳細について説明を加える。第1復号部33aは、メモリ31から公開パラメータと暗号情報C1と復号鍵Rを読み込み、述語暗号アルゴリズムに則り、eを求める。この演算結果は式11に示すように、入力情報が属性指定情報である場合、双線形性に基づき暗号情報C1と復号鍵Rから取り出された第1属性情報vと第2述語情報wの標準内積の結果に依存する。入力情報が述語指定情報である場合、式11においてvをvに、wをwに置き換えればよく、演算結果は双線形性に基づき暗号情報C1と復号鍵Rから取り出された第1述語情報wと第2属性情報vの標準内積の結果に依存する。但し、eは式12のように定義される。δijは、クロネッカーのデルタ記号である。従って、第1属性情報vと第2述語情報wの標準内積が0あるいは第1述語情報wと第2属性情報vの標準内積が0の場合、式11の演算結果gTρが得られる。この演算結果gTρが得られた場合、復号装置30の第1復号部33aは、式7に従って正しい共通鍵Kを得るステップS22c。もし第1属性情報vと第2述語情報wの標準内積が0あるいは第1述語情報wと第2属性情報vの標準内積が0ではない場合、第1復号部33aは、式7に従って正しくない値を得る。この例では、ハッシュ関数Hはシステムに共通とするか公開パラメータに含まれるとする。この例では、暗号情報C1が共通鍵Kの生成に用いる情報ρに対応する情報であるが、暗号情報C1を共通鍵Kに対応する情報とする場合には、式11の演算結果が共通鍵Kあるいは正しくない値となる。つまり、復号装置30の正当な利用者は、第1属性情報vとの標準内積が0となる第2述語情報wを与える述語指示情報、あるいは、第1述語情報wとの標準内積が0となる第2属性情報vを与える属性指示情報を持つ。次に、第2復号部33bが、共通鍵Kと暗号文C2を用いて、式13に従って平文Mを求めるステップS22d。共通鍵を用いた復号方法DecKは暗号化方法EncKに対応する。既述のとおり、第1の観点による第1実施形態が共通鍵Kの配送に特化した実施形態である場合には、ステップS22dの処理は省略される。つまり、復号装置30は、第2復号部33bの機能を持つとしても、ステップS22dの処理を行わない。もし、式11に従った演算結果が正しくない値である場合には、式13によっては正しい平文Mを得ることができない。なお、復号装置30は、復号鍵Rを復号鍵テーブルに記憶してもよい。また、共通鍵Kを復号鍵テーブルに付加して記憶してもよい。これで《復号プロセス》は終了する。第1の観点による第2実施形態第1の観点による第2実施形態では、第1の観点による第1実施形態と異なり、復号装置30が第2属性情報または第2述語情報を生成する。この差異に伴い、第1の観点による第2実施形態は、いくつかの事項で第1の観点による第1実施形態と異なる。そこで、第1の観点による第1実施形態と重複する部分については重複説明を省略し同一の構成要素に同じ参照番号を割り当てる、図18-図21を参照しながら第1の観点による第1実施形態と異なる部分を説明する。ステップS1からステップS22bまでの処理は、第1の観点による第1実施形態と同じである。ステップS22bの処理で復号鍵を所有していない場合、復号装置30の第2述語論理情報取得部35が、メモリ31からポリシーと、スキーマペアと、公開パラメータと、利用者情報を読み込み、利用者情報から、属性情報第2属性情報と言うまたは述語情報第2述語情報と言うを得るステップS23g。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipherTextPolicyである場合、CipherTextPolicyで特定される一方のスキーマ述語用スキーマとペアになっている他方のスキーマ属性用スキーマを用いて、利用者情報属性指定情報から第2属性情報を得る。ポリシーがKeyPolicyである場合、KeyPolicyで特定される一方のスキーマ属性用スキーマとペアになっている他方のスキーマ述語用スキーマを用いて、利用者情報述語指定情報から第2述語情報を得る。このように、この処理で用いられるスキーマは、ステップS17aで用いられたスキーマとペアになっているスキーマであることに注意しなければならない。第2属性情報と第2述語情報は、第1の観点による第2実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる図11-13参照。ステップS23gの処理の後、ステップS23の処理が行われる。ただし、この処理では、復号装置30の送信部34が、制御部による制御を受けて、メモリ31からの公開パラメータ、ポリシー、スキーマペア、認証情報、第2属性情報または第2述語情報を纏めた鍵要求メッセージを生成する。そして、復号装置30の送信部34は、メモリ31からのアドレスを持つ鍵生成装置に鍵要求メッセージを送信し、この鍵生成装置20の受信部が、鍵要求メッセージを受信する。そして、ステップS24aの処理で検証に成功した場合、ステップS24dの処理が行われる。鍵生成装置20は復号装置30から第2属性情報または第2述語情報を受信しているため、第1の観点による第1実施形態と異なり、この情報を生成するための機能と処理が不要である。そして、ステップS24dの処理の後のステップS28とステップS29の各処理は、第1の観点による第1実施形態と同じである。第1の観点による第3実施形態第1の観点による第3実施形態では、第1の観点による第1実施形態と異なり、暗号化装置10の暗号化部13が、第1属性情報v=または第1述語情報w=と、メモリ11からの公開パラメータに含まれる公開鍵と平文Mを用いて、暗号情報C1を求める。つまり、第1の観点による第3実施形態では、例えば上記非特許文献2に示す述語暗号アルゴリズムが用いられる。この差異に伴い、第1の観点による第3実施形態は、いくつかの事項で第1の観点による第1実施形態と異なる。そこで、第1の観点による第1実施形態と重複する部分については重複説明を省略し同一の構成要素に同じ参照番号を割り当てる、図22-図25を参照しながら第1の観点による第1実施形態と異なる部分を説明する。ステップS1からステップS17aまでの処理は、第1の観点による第1実施形態と同じである。但し、公開パラメータなどの情報は第1の観点による第3実施形態の述語暗号アルゴリズムに必要な情報とされる。具体的な情報については、例えば上記非特許文献2などを参考されたい。ステップS17aの処理に続くステップS17b1の処理では、暗号化装置10の暗号化部13が、述語暗号アルゴリズムに則り、第1属性情報v=または第1述語情報w=と、メモリ11からの公開パラメータに含まれる公開鍵と平文Mを用いて、暗号情報C1を求めるステップS17b1。次に、ステップS17b1の処理の後、ステップS17dの処理が行われる。但し、この処理では、暗号化装置10の送信部14が、制御部による制御を受けて、暗号情報C1と、メモリ11からのスキーマペア、ポリシー、公開パラメータ、鍵生成装置のアドレスを纏めた暗号メッセージを生成するステップS17d。ステップS17dの処理に続くステップS18からステップS28までの処理は、第1の観点による第1実施形態と同じである。ステップS28の処理に続くステップS22c1の処理では、復号装置30の復号部33が、述語暗号アルゴリズムに則り、メモリ31から公開パラメータと復号鍵Rと暗号情報C1を読み込んで、平文Mを求めるステップS22c1。第1の観点による第4実施形態第1の観点による第4実施形態は、第1の観点による第2実施形態と第1の観点による第3実施形態の組み合わせ形態に相当する。つまり、第1の観点による第4実施形態は、第1の観点による第1実施形態と異なり、1復号装置30が第2属性情報または第2述語情報を生成する、2暗号化装置10の暗号化部13が、第1属性情報v=または第1述語情報w=と、メモリ11からの公開パラメータに含まれる公開鍵と平文Mを用いて、暗号情報C1を求める。この差異に伴い、第1の観点による第4実施形態は、いくつかの事項で第1の観点による第1実施形態と異なる。そこで、第1の観点による第1実施形態と重複する部分については重複説明を省略し同一の構成要素に同じ参照番号を割り当てる、図26と図27も参照して第1の観点による第1実施形態と異なる部分を説明する。ステップS1からステップS17aまでの処理は、第1の観点による第1実施形態と同じである。但し、公開パラメータなどの情報は第1の観点による第4実施形態の述語暗号アルゴリズムに必要な情報とされる。具体的な情報については、例えば上記非特許文献2などを参考されたい。ステップS17aの処理に続くステップS17b1の処理では、暗号化装置10の暗号化部13が、述語暗号アルゴリズムに則り、第1属性情報v=または第1述語情報w=と、メモリ11からの公開パラメータに含まれる公開鍵と平文Mを用いて、暗号情報C1を求めるステップS17b1。次に、ステップS17b1の処理の後、ステップS17dの処理が行われる。但し、この処理では、暗号化装置10の送信部14が、制御部による制御を受けて、暗号情報C1と、メモリ11からのスキーマペア、ポリシー、公開パラメータ、鍵生成装置のアドレスを纏めた暗号メッセージを生成するステップS17d。ステップS17dの処理に続くステップS18からステップS22bの処理までは、第1の観点による第1実施形態と同じである。ステップS22bの処理で復号鍵を所有していない場合、復号装置30の第2述語論理情報取得部35が、メモリ31からポリシーと、スキーマペアと、公開パラメータと、利用者情報を読み込み、利用者情報から、属性情報第2属性情報と言うまたは述語情報第2述語情報と言うを得るステップS23g。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipherTextPolicyである場合、CipherTextPolicyで特定される一方のスキーマ述語用スキーマとペアになっている他方のスキーマ属性用スキーマを用いて、利用者情報属性指定情報から第2属性情報を得る。ポリシーがKeyPolicyである場合、KeyPolicyで特定される一方のスキーマ属性用スキーマとペアになっている他方のスキーマ述語用スキーマを用いて、利用者情報述語指定情報から第2述語情報を得る。このように、この処理で用いられるスキーマは、ステップS17aで用いられたスキーマとペアになっているスキーマであることに注意しなければならない。第2属性情報と第2述語情報は、第1の観点による第4実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる図11-13参照。ステップS23gの処理の後、ステップS23の処理が行われる。ただし、この処理では、復号装置30の送信部34が、制御部による制御を受けて、メモリ31からの公開パラメータ、ポリシー、スキーマペア、認証情報、第2属性情報または第2述語情報を纏めた鍵要求メッセージを生成する。そして、復号装置30の送信部34は、メモリ31からのアドレスを持つ鍵生成装置に鍵要求メッセージを送信し、この鍵生成装置20の受信部が、鍵要求メッセージを受信する。そして、ステップS24aの処理で検証に成功した場合、ステップS24dの処理が行われる。鍵生成装置20は、復号装置30から第2属性情報または第2述語情報を受信しているため、この情報を生成するための機能と処理が不要である。そして、ステップS24dの処理の後のステップS28の処理は、第1の観点による第1実施形態と同じである。ステップS28の処理に続くステップS22c1の処理では、復号装置30の復号部33が、述語暗号アルゴリズムに則り、メモリ31から公開パラメータと復号鍵Rと暗号情報C1を読み込んで、平文Mを求めるステップS22c1。次に、上述の第1の観点による暗号通信技術に留意しつつ、第2の観点から、柔軟に運用可能であって述語暗号で暗号化された暗号情報を流通させることが可能な、述語暗号に依拠する暗号通信技術に関する実施形態を説明する。この技術によると、復号装置が転送機能を持っているため、述語暗号で暗号化された暗号情報を流通させることができる。第2の観点による暗号通信技術の説明は上述の第1の観点による暗号通信技術の説明と実質的に重複する部分を多く含むが、第1の観点による暗号通信技術の説明を参照しなくてもよいように、できるだけ重複説明と重複図面を省略せずに第2の観点による暗号通信技術を説明する。このため、数式の番号、機能部を表す参照番号、ステップを表す参照番号なども両者で重複するが、文脈から混乱の虞は無いであろう。第2の観点による第1実施形態図28から図41を参照して第2の観点による本発明の第1実施形態を説明する。第2の観点による暗号システム1は、図28に示すように、複数のクライアント装置10、30-1、30-2と、一つまたは複数の鍵生成装置20と、一つまたは複数のユーザ情報管理装置40以下、管理装置と言う、変換規則情報ペア管理装置50以下、登録装置と言う、一つまたは複数の保全装置80、一つまたは複数の認証装置90を含んでいる。これらの各装置は、例えばインターネットである通信網5を介して相互に通信可能とされている。クライアント装置は、処理目的に応じて、暗号化装置として、あるいは復号装置として機能する。そこで、クライアント装置を機能の観点から、暗号化装置10または復号装置と呼称する。復号装置は、後述する暗号メッセージの授受について暗号化装置10との関係で当事者である第1の復号装置30-1と、当事者ではない第2の復号装置30-2に類別される。なお、第2の観点による暗号システム1は、暗号化装置としてのみ機能するクライアント装置および/または復号装置としてのみ機能するクライアント装置を含んでもよい。第2の観点による暗号システム1では述語暗号を用いた暗号化と復号が行われる。第2の観点による本発明では、使用する述語暗号アルゴリズムに限定は無く、例えば上記非特許文献2に開示される述語暗号アルゴリズムを用いることが許される。第2の観点による第1実施形態では、KEMタイプの述語暗号アルゴリズムを用いた例を示す。第2の観点による暗号システム1における暗号通信方法を、図29、30、31、32、34、36、38、40、41を参照しながら叙述する。各装置の機能構成については、図33、35、37、39を参照されたい。《準備プロセス》第1の観点による発明の第1実施形態における《準備プロセス》の説明の全てをここに援用し、重複説明を省略する。なお、この《準備プロセス》の説明に対応する図として図29を、スキーマペアについては図11-13を、ポリシーリストについては図14を参照されたい。これで《準備プロセス》は終了する。《暗号化プロセス》暗号化装置10の送信部14は、図示しない制御部の制御を受けて、検索クエリを登録装置50に送信し、登録装置50の受信部が検索クエリを受信するステップS14。登録装置50の検索部は、登録装置50の記憶部に登録されているエントリの一部または全部を検索して一つのエントリを選びステップS15、登録装置50の送信部は検索結果のエントリを暗号化装置10に送信し、暗号化装置10の受信部はエントリを受信するステップS16。このエントリには、鍵生成装置のアドレス、この鍵生成装置の公開パラメータ、この鍵生成装置が使用可能なポリシーリスト、この鍵生成装置が使用可能なスキーマリストが含まれている。受信したエントリは、暗号化装置10のメモリ11に記憶される。なお、各鍵生成装置20の公開パラメータ、スキーマリスト、ポリシーリスト、アドレスを予め暗号化装置10が所有している場合には、ステップS14-S16の処理は省略される。つまり、暗号システム1が登録装置50を含まない形態も許容されることに注意しなければならない。暗号化装置10の第1述語論理情報取得部12が、メモリ11から入力情報とポリシーとスキーマを読み込み、属性情報以下、第1属性情報と言うまたは述語情報以下、第1述語情報と言うを求めるステップS17a。この処理の詳細について説明を加える図12、図13参照。まず、スキーマリストに複数のスキーマペアが記述されている場合、用途などに応じて一つのスキーマペアが選択される。暗号化装置10の利用者によってスキーマペアが選択されてその指示情報が入力される場合や、所定の規則に従い、第1述語論理情報取得部12がスキーマペアを選択してもよい。そして、入力情報が属性指定情報または述語指定情報のいずれであるかに応じてポリシーと共にいずれか一方のスキーマを選択する。暗号化装置10の利用者によってポリシーといずれか一方のスキーマが選択されてその指示情報が入力される場合や、所定の規則に従い、第1述語論理情報取得部12がポリシーといずれか一方のスキーマを選択する場合のいずれであってもよい。なお、鍵生成装置20のポリシーが1種類のタイプのみ用意されている場合には、そのポリシーに従ってスキーマペアのうちの一方のスキーマが選択される。もし、選択されたスキーマが入力情報の種類に対応していない場合には、スキーマリストからスキーマペアを再選択するか、登録装置50からエントリの提供を再度受ければよい。入力情報は、暗号化装置10の利用者によって入力された情報または、例えばICカード39のような記憶媒体から暗号化装置10の取得部図示せずが取得した情報でもよい。そして、第1述語論理情報取得部12が、ポリシーに従ってスキーマペアの中から選択されたスキーマを用いて入力情報から第1属性情報または第1述語情報を得る。ポリシーがKeyPolicyであり選択されたスキーマが属性用スキーマである場合には第1属性情報が得られる。ポリシーがCipherTextPolicyであり選択されたスキーマが述語用スキーマである場合には第1述語情報が得られる。第1属性情報と第1述語情報は、第2の観点による第1実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる図11-13参照。この際、スキーマを用いて入力情報から必要な属性値の抽出や整列化が行われる。次に、暗号化装置10の暗号化部13が、第1属性情報v=または第1述語情報w=と、メモリ11からの公開パラメータに含まれる直交基底B実質的な公開鍵と平文Mを用いて、共通鍵Kと暗号情報C1と暗号文C2を求めるステップS17b、S17c。これらの処理の詳細について説明を加える。ただし、第2の観点による第1実施形態が共通鍵Kの配送に特化した実施形態である場合には暗号文C2の生成は不要である。まず、第1暗号化部13aが、述語暗号アルゴリズムに則り、有限体Fqの元である乱数r、ρを生成して、上記式7のように共通鍵Kを設定し、上記式8に従って暗号情報C1を求めるステップS17b。Hは例えばハッシュ関数である。この例では第1属性情報vを用いているが、第1述語情報を用いる場合は上記式8においてvをwに置き換えればよい。また、この例では、暗号情報C1は共通鍵Kの生成に用いる情報ρに対応する情報であるが、暗号情報C1を共通鍵Kに対応する情報としてもよい。次に、第2暗号化部13bが、共通鍵Kと平文Mを用いて、上記式9に従って暗号文C2を求めるステップS17c。共通鍵を用いた暗号化方法EncKは周知の方法でよく、例えば上記非特許文献1に開示される方法である。既述のとおり、第2の観点による第1実施形態が共通鍵Kの配送に特化した実施形態である場合には、ステップS17cの処理は省略される。つまり、暗号化装置10は、第2暗号化部13bの機能を持つとしても、ステップS17cの処理を行わない。次に、暗号化装置10の送信部14は、制御部による制御を受けて、暗号情報C1と、必要に応じて暗号文C2と、メモリ11からのスキーマペア、ポリシー、公開パラメータ、鍵生成装置のアドレスを纏めた暗号メッセージを生成するステップS17d。そして暗号化装置10の送信部14は、暗号メッセージを第1の復号装置30-1に送信し、第1の復号装置30-1の受信部が暗号メッセージを受信するステップS18。なお、暗号化装置10が複数の第1の復号装置30-1に対して暗号メッセージを送信することが許容される。これで《暗号化プロセス》は終了する。《第1の復号プロセス》第1の復号装置30-1の送信部34は、図示しない制御部の制御を受けて、暗号メッセージに含まれる鍵生成装置のアドレスを含む検索クエリを登録装置50に送信し、登録装置50の受信部が検索クエリを受信するステップS19。登録装置50の検索部は、アドレスで指定された鍵生成装置のエントリを検索してそれを選びステップS20、登録装置50の送信部は検索結果のエントリを第1の復号装置30-1に送信し、第1の復号装置30-1の受信部はエントリを受信するステップS21。このエントリには、鍵生成装置のアドレス、この鍵生成装置の公開パラメータ、この鍵生成装置が使用可能なポリシーリスト、この鍵生成装置が使用可能なスキーマリストが含まれている。受信したエントリは、第1の復号装置30-1のメモリ31に記憶される。なお、各鍵生成装置20の公開パラメータ、スキーマリスト、ポリシーリスト、アドレスを予め第1の復号装置30-1が所有している場合には、ステップS19-S21の処理は省略される。この場合、第1の復号装置30-1は、暗号メッセージに含まれるアドレスに対応する鍵生成装置のエントリを自身のメモリ31から検索してこれを取得する。第1の復号装置30-1の検証部図示せずは、制御部の制御を受けて、暗号メッセージに含まれるスキーマペアとポリシーが、登録装置50から取得したエントリに含まれるポリシーリストとスキーマリストに含まれるか否かを検証するステップS22a。この検証に失敗した場合、復号処理の失敗として処理を終了するステップS22g。この検証に成功した場合、第1の復号装置30-1の取得部32が、例えばICカード39のような記憶媒体から、当該第1の復号装置30-1の利用者に対応する属性指定情報または述語指定情報を読み取るステップS22f。属性指定情報または述語指定情報のいずれを読み取るかは、暗号メッセージに含まれるポリシーによって決まる。つまり、読み取られる情報は、このポリシーで特定される一方のスキーマとペアになっている他方のスキーマを特定するポリシーの内容に対応する指定情報である。もしポリシーがCipherTextPolicyである場合、取得部32は記憶媒体から属性指定情報を読み取る。もしポリシーがKeyPolicyである場合、取得部32は記憶媒体から述語指定情報を読み取る。以下、読み取られた指定情報を利用者情報と呼ぶ。また、第1の復号装置30-1の取得部32が、後述する鍵生成装置20における処理《利用者情報取得プロセス》と同様に、管理装置40から、当該第1の復号装置30-1の利用者に対応する属性指定情報または述語指定情報を読み取ることも許容される。なお、第2の観点による第1実施形態では、ステップS22fの処理は任意に行われる。例えば、予め第1の復号装置30-1が利用者に対応する属性指定情報と述語指定情報を所有している場合、ポリシーに従って属性指定情報または述語指定情報のいずれかが利用者情報となる。次に、第1の復号装置30-1の検証部が、暗号メッセージに含まれる暗号情報を復号するために使用する復号鍵を持っているか否かを検証するステップS22b。第1の復号装置30-1はメモリ31に復号鍵テーブルを記憶している。復号鍵テーブルでは、例えば図15に示すように、鍵生成装置の識別子に対して、公開パラメータと、スキーマペアと、復号鍵の対象と、述語指定情報と、復号鍵とが対応付けられている。そこで、検証部は、暗号メッセージに含まれるアドレスによって判別する鍵生成装置の識別子、公開パラメータと、スキーマペアと、復号鍵の対象但し、これは、暗号メッセージに含まれるポリシーで特定される一方のスキーマとペアになっている他方のスキーマを特定するポリシーの内容に対応するに対応する復号鍵の有無を検証する。もし復号鍵が存在すれば、ステップS29の処理を行う。もし復号鍵が存在しなければ、ステップS23の処理を行う。ここで《復号プロセス》の説明を中断し、《鍵生成プロセス》の説明をする。上述のように復号鍵が存在しない場合、第1の復号装置30-1の送信部34は、制御部による制御を受けて、メモリ31からの公開パラメータ、ポリシー、スキーマペア、もし在れば利用者情報、認証情報を纏めた鍵要求メッセージを生成する。認証情報は、例えば利用者のIDとパスワードを含む。そして、第1の復号装置30-1の送信部34は、メモリ31からのアドレスを持つ鍵生成装置に鍵要求メッセージを送信し、この鍵生成装置20の受信部が、鍵要求メッセージを受信するステップS23。受信した鍵要求メッセージは、鍵生成装置20のメモリ21に記憶される。鍵生成装置20の検証部図示せずは、制御部の制御を受けて、鍵要求メッセージに含まれるスキーマペアとポリシーが、当該鍵生成装置20が所有するエントリ例えばステップS1で生成されたエントリであるに含まれるポリシーリストとスキーマリストに含まれるか否か、および、鍵要求メッセージに含まれる公開パラメータが当該鍵生成装置20の公開パラメータであるか否かを検証するステップS24a。この検証に失敗した場合、鍵生成処理の失敗として処理を終了するステップS24g。なお、ステップS24aの処理では、鍵要求メッセージに認証情報が含まれるならば、鍵要求メッセージに含まれる認証情報の検証も行われる。鍵生成装置20は、メモリ21に認証テーブルを記憶している。認証テーブルでは、例えば図16に示すように、利用者のIDに対してパスワードが対応付けられている。そこで、検証部は、鍵要求メッセージに含まれる利用者のIDとパスワードと認証テーブルに含まれる利用者のIDとパスワードとの整合性を検証する。この検証に失敗した場合も、ステップS24gの処理が行われる。この検証に成功した場合、鍵生成装置20の検証部が、鍵要求メッセージに利用者情報が含まれているか否かを検証するステップS24b。鍵要求メッセージに利用者情報が含まれていればステップS24cの処理を行い、鍵要求メッセージに利用者情報が含まれていなければステップS25の処理を行う。なお、必ず鍵要求メッセージに利用者情報が含まれる方法を採用する場合には、ステップS24bの処理および後述する《利用者情報取得プロセス》は不要である。ここで《鍵生成プロセス》の説明を中断し、《利用者情報取得プロセス》の説明をする。鍵生成装置20の送信部は、鍵要求メッセージに含まれるポリシーともし在れば認証情報を含むリクエストを管理装置40に送信し、管理装置40がリクエストを受信するステップS25。受信したリクエストは、管理装置40のメモリに記憶される。管理装置40はメモリに認証テーブルを記憶している。この認証テーブルでは、上述の認証テーブルと同様に、利用者のIDに対してパスワードが対応付けられている図16参照。そこで、管理装置40の検証部図示せずは、リクエストに含まれる利用者のIDとパスワードと認証テーブルに含まれる利用者のIDとパスワードとの整合性を検証する。この検証に成功すると、管理装置40の検索部図示せずがリクエストに含まれるポリシーに従って、メモリに記憶されている利用者情報テーブルから属性指定情報または述語指定情報を検索するステップS26。利用者情報テーブルは、例えば利用者のIDとこれに対応付けられた属性名および属性指定情報で構成される第1テーブルと、利用者のIDとこれに対応付けられた述語指定情報で構成される第2テーブルとを含んでいる図17参照。属性指定情報または述語指定情報のいずれを読み取るかは、リクエストに含まれるポリシーによって決まる。つまり、読み取られる情報は、このポリシーで特定される一方のスキーマとペアになっている他方のスキーマを特定するポリシーの内容に対応する指定情報である。もしポリシーがCipherTextPolicyである場合、検索部は第1テーブルからリクエストに含まれる利用者のIDに対応する属性指定情報を取得する。もしポリシーがKeyPolicyである場合、検索部は第2テーブルからリクエストに含まれる利用者のIDに対応する述語指定情報を取得する。読み取られた指定情報を利用者情報と呼ぶ。管理装置40の送信部は、制御部による制御を受けて、検索結果の利用者情報を鍵生成装置20に送信し、鍵生成装置20の受信部が利用者情報を受信するステップS27。受信した利用者情報は、鍵生成装置20のメモリ21に記憶される。以上で《利用者情報取得プロセス》を終了し、再び《鍵生成プロセス》の説明に戻る。利用者情報を既に所有している場合、あるいは、利用者情報取得プロセスによって利用者情報を受信した場合ステップS27、鍵生成装置20の第2述語論理情報取得部23は、メモリ21からポリシーと、スキーマペアと、公開パラメータと、利用者情報を読み込み、利用者情報から、属性情報第2属性情報と言うまたは述語情報第2述語情報と言うを得るステップS24c。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipherTextPolicyである場合、CipherTextPolicyで特定される一方のスキーマ述語用スキーマとペアになっている他方のスキーマ属性用スキーマを用いて、利用者情報属性指定情報から第2属性情報を得る。ポリシーがKeyPolicyである場合、KeyPolicyで特定される一方のスキーマ属性用スキーマとペアになっている他方のスキーマ述語用スキーマを用いて、利用者情報述語指定情報から第2述語情報を得る。このように、この処理で用いられるスキーマは、ステップS17aで用いられたスキーマとペアになっているスキーマであることに注意しなければならない。第2属性情報と第2述語情報は、第2の観点による第1実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる図11-13参照。この際、スキーマを用いて入力情報から必要な属性値の抽出や整列化が行われる。次に、鍵生成装置20の鍵生成部25が、述語暗号アルゴリズムに則り、公開パラメータのqに基づき有限体Fqの元である乱数αを生成して、メモリ21からの第2属性情報v=1,...,vnまたは第2述語情報w=1,...,wnと、当該鍵生成装置の秘密鍵Bを用いて、上記式10に従って復号鍵Rを求めるステップS24d。暗号化処理で用いられた入力情報が属性指定情報である場合に対応して、この例では第2述語情報wを用いているが、入力情報が述語指定情報である場合には、第2属性情報vが対応するので、上記式10においてwをvに置き換えればよい。次に、鍵生成装置20の送信部24は、制御部による制御を受けて、復号鍵Rを第1の復号装置30-1に送信し、第1の復号装置30-1の受信部が復号鍵Rを受信するステップS28。受信した復号鍵Rは、第1の復号装置30-1のメモリ31に記憶される。以上で《鍵生成プロセス》を終了し、再び《復号プロセス》の説明に戻る。復号鍵を既に所有している場合、あるいは、鍵生成プロセスによって復号鍵を受信した場合ステップS28、第1の復号装置30-1の復号部33が、メモリ31から公開パラメータと復号鍵Rと暗号情報C1と必要に応じて暗号文C2を読み込んで、共通鍵Kと必要に応じて平文Mを求めるステップS29。このステップS29の処理の詳細について説明を加える。第1復号部33aは、メモリ31から公開パラメータと暗号情報C1と復号鍵Rを読み込み、述語暗号アルゴリズムに則り、eを求める。この演算結果は上記式11に示すように、入力情報が属性指定情報である場合、双線形性に基づき暗号情報C1と復号鍵Rから取り出された第1属性情報vと第2述語情報wの標準内積の結果に依存する。入力情報が述語指定情報である場合、上記式11においてvをvに、wをwに置き換えればよく、演算結果は双線形性に基づき暗号情報C1と復号鍵Rから取り出された第1述語情報wと第2属性情報vの標準内積の結果に依存する。但し、eは上記式12のように定義される。δijは、クロネッカーのデルタ記号である。従って、第1属性情報vと第2述語情報wの標準内積が0あるいは第1述語情報wと第2属性情報vの標準内積が0の場合、上記式11の演算結果gTρが得られる。この演算結果gTρが得られた場合、第1の復号装置30-1の第1復号部33aは、上記式7に従って正しい共通鍵Kを得るステップS22c。もし第1属性情報vと第2述語情報wの標準内積が0あるいは第1述語情報wと第2属性情報vの標準内積が0ではない場合、第1復号部33aは、上記式7に従って正しくない値を得る。この例では、ハッシュ関数Hはシステムに共通とするか公開パラメータに含まれるとする。この例では、暗号情報C1が共通鍵Kの生成に用いる情報ρに対応する情報であるが、暗号情報C1を共通鍵Kに対応する情報とする場合には、上記式11の演算結果が共通鍵Kあるいは正しくない値となる。つまり、第1の復号装置30-1の正当な利用者は、第1属性情報vとの標準内積が0となる第2述語情報wを与える述語指示情報、あるいは、第1述語情報wとの標準内積が0となる第2属性情報vを与える属性指示情報を持つ。次に、第2復号部33bが、共通鍵Kと暗号文C2を用いて、上記式13に従って平文Mを求めるステップS22d。共通鍵を用いた復号方法DecKは暗号化方法EncKに対応する。既述のとおり、第2の観点による第1実施形態が共通鍵Kの配送に特化した実施形態である場合には、ステップS22dの処理は省略される。つまり、第1の復号装置30-1は、第2復号部33bの機能を持つとしても、ステップS22dの処理を行わない。もし、上記式11に従った演算結果が正しくない値である場合には、上記式13によっては正しい平文Mを得ることができない。なお、第1の復号装置30-1は、復号鍵Rを復号鍵テーブルに記憶してもよい。また、共通鍵Kを復号鍵テーブルに付加して記憶してもよい。これで《第1の復号プロセス》は終了する。《転送プロセス》第1の復号装置30-1の転送部37は、暗号化装置10から受信した暗号メッセージを第2の復号装置30-2に転送し、第2の復号装置30-2の受信部が暗号メッセージを受信するステップ30。転送先の復号装置は、第2の復号装置暗号メッセージの授受について暗号化装置と当事者の関係にない復号装置に限らず、他の第1の復号装置暗号メッセージの授受について暗号化装置と当事者の関係にある復号装置であってもよい。また、ステップS30の処理は、説明の都合、ステップS29の処理に続く処理として説明するが、第1の復号装置30-1が暗号化装置10から暗号メッセージを受信した以降であれば何時でもよい。これで《転送プロセス》は終了する。第2の復号装置30-2による第2の復号プロセス鍵生成プロセスと必要に応じて利用者情報取得プロセスを含むについて説明する。この一連の処理は、第1の復号プロセスと実質的に同じである。また、第2の復号装置30-2の機能構成は、転送部37を必ずしも持たなくてよいという点を除いて、第1の復号装置30-1と同じであるから、共通する機能構成要素については同一の参照番号を割り当てている。《第2の復号プロセス》第2の復号装置30-2の送信部34は、図示しない制御部の制御を受けて、暗号メッセージに含まれる鍵生成装置のアドレスを含む検索クエリを登録装置50に送信し、登録装置50の受信部が検索クエリを受信するステップS31。登録装置50の検索部は、アドレスで指定された鍵生成装置のエントリを検索してそれを選びステップS32、登録装置50の送信部は検索結果のエントリを第2の復号装置30-2に送信し、第2の復号装置30-2の受信部はエントリを受信するステップS33。このエントリには、鍵生成装置のアドレス、この鍵生成装置の公開パラメータ、この鍵生成装置が使用可能なポリシーリスト、この鍵生成装置が使用可能なスキーマリストが含まれている。受信したエントリは、第2の復号装置30-2のメモリ31に記憶される。なお、各鍵生成装置20の公開パラメータ、スキーマリスト、ポリシーリスト、アドレスを予め第2の復号装置30-2が所有している場合には、ステップS31-S33の処理は省略される。この場合、第2の復号装置30-2は、暗号メッセージに含まれるアドレスに対応する鍵生成装置のエントリを自身のメモリ31から検索してこれを取得する。第2の復号装置30-2の検証部図示せずは、制御部の制御を受けて、暗号メッセージに含まれるスキーマペアとポリシーが、登録装置50から取得したエントリに含まれるポリシーリストとスキーマリストに含まれるか否かを検証するステップS34a。この検証に失敗した場合、復号処理の失敗として処理を終了するステップS34g。この検証に成功した場合、第2の復号装置30-2の取得部32が、例えばICカード39のような記憶媒体から、当該第2の復号装置30-2の利用者に対応する属性指定情報または述語指定情報を読み取るステップS34f。属性指定情報または述語指定情報のいずれを読み取るかは、暗号メッセージに含まれるポリシーによって決まる。つまり、読み取られる情報は、このポリシーで特定される一方のスキーマとペアになっている他方のスキーマを特定するポリシーの内容に対応する指定情報である。もしポリシーがCipherTextPolicyである場合、取得部32は記憶媒体から属性指定情報を読み取る。もしポリシーがKeyPolicyである場合、取得部32は記憶媒体から述語指定情報を読み取る。以下、読み取られた指定情報を利用者情報と呼ぶ。また、第2の復号装置30-2の取得部32が、後述する鍵生成装置20における処理《利用者情報取得プロセス》と同様に、管理装置40から、当該第2の復号装置30-2の利用者に対応する属性指定情報または述語指定情報を読み取ることも許容される。なお、第2の観点による第1実施形態では、ステップS34fの処理は任意に行われる。例えば、予め第2の復号装置30-2が利用者に対応する属性指定情報と述語指定情報を所有している場合、ポリシーに従って属性指定情報または述語指定情報のいずれかが利用者情報となる。次に、第2の復号装置30-2の検証部が、暗号メッセージに含まれる暗号情報を復号するために使用する復号鍵を持っているか否かを検証するステップS34b。第2の復号装置30-2はメモリ31に復号鍵テーブルを記憶している。復号鍵テーブルでは、例えば図15に示すように、鍵生成装置の識別子に対して、公開パラメータと、スキーマペアと、復号鍵の対象と、述語指定情報と、復号鍵とが対応付けられている。そこで、検証部は、暗号メッセージに含まれるアドレスによって判別する鍵生成装置の識別子、公開パラメータと、スキーマペアと、復号鍵の対象但し、これは、暗号メッセージに含まれるポリシーで特定される一方のスキーマとペアになっている他方のスキーマを特定するポリシーの内容に対応するに対応する復号鍵の有無を検証する。もし復号鍵が存在すれば、ステップS41の処理を行う。もし復号鍵が存在しなければ、ステップS35の処理を行う。ここで《復号プロセス》の説明を中断し、《鍵生成プロセス》の説明をする。上述のように復号鍵が存在しない場合、第2の復号装置30-2の送信部34は、制御部による制御を受けて、メモリ31からの公開パラメータ、ポリシー、スキーマペア、もし在れば利用者情報、認証情報を纏めた鍵要求メッセージを生成する。認証情報は、例えば利用者のIDとパスワードを含む。そして、第2の復号装置30-2の送信部34は、メモリ31からのアドレスを持つ鍵生成装置に鍵要求メッセージを送信し、この鍵生成装置20の受信部が、鍵要求メッセージを受信するステップS35。受信した鍵要求メッセージは、鍵生成装置20のメモリ21に記憶される。この鍵生成装置20は、第1の復号装置30-1の相手方の鍵生成装置20と同じである必要はない。鍵生成装置20の検証部図示せずは、制御部の制御を受けて、鍵要求メッセージに含まれるスキーマペアとポリシーが、当該鍵生成装置20が所有するエントリ例えばステップS1で生成されたエントリであるに含まれるポリシーリストとスキーマリストに含まれるか否か、および、鍵要求メッセージに含まれる公開パラメータが当該鍵生成装置20の公開パラメータであるか否かを検証するステップS36a。この検証に失敗した場合、鍵生成処理の失敗として処理を終了するステップS36g。なお、ステップS36aの処理では、鍵要求メッセージに認証情報が含まれるならば、鍵要求メッセージに含まれる認証情報の検証も行われる。鍵生成装置20は、メモリ21に認証テーブルを記憶している。認証テーブルでは、例えば図16に示すように、利用者のIDに対してパスワードが対応付けられている。そこで、検証部は、鍵要求メッセージに含まれる利用者のIDとパスワードと認証テーブルに含まれる利用者のIDとパスワードとの整合性を検証する。この検証に失敗した場合も、ステップS36gの処理が行われる。この検証に成功した場合、鍵生成装置20の検証部が、鍵要求メッセージに利用者情報が含まれているか否かを検証するステップS36b。鍵要求メッセージに利用者情報が含まれていればステップS36cの処理を行い、鍵要求メッセージに利用者情報が含まれていなければステップS37の処理を行う。なお、必ず鍵要求メッセージに利用者情報が含まれる方法を採用する場合には、ステップS36bの処理および後述する《利用者情報取得プロセス》は不要である。ここで《鍵生成プロセス》の説明を中断し、《利用者情報取得プロセス》の説明をする。鍵生成装置20の送信部は、鍵要求メッセージに含まれるポリシーともし在れば認証情報を含むリクエストを管理装置40に送信し、管理装置40がリクエストを受信するステップS37。受信したリクエストは、管理装置40のメモリに記憶される。管理装置40はメモリに認証テーブルを記憶している。この認証テーブルでは、上述の認証テーブルと同様に、利用者のIDに対してパスワードが対応付けられている図16参照。そこで、管理装置40の検証部図示せずは、リクエストに含まれる利用者のIDとパスワードと認証テーブルに含まれる利用者のIDとパスワードとの整合性を検証する。この検証に成功すると、管理装置40の検索部図示せずがリクエストに含まれるポリシーに従って、メモリに記憶されている利用者情報テーブルから属性指定情報または述語指定情報を検索するステップS38。利用者情報テーブルは、例えば利用者のIDとこれに対応付けられた属性名および属性指定情報で構成される第1テーブルと、利用者のIDとこれに対応付けられた述語指定情報で構成される第2テーブルとを含んでいる図17参照。属性指定情報または述語指定情報のいずれを読み取るかは、リクエストに含まれるポリシーによって決まる。つまり、読み取られる情報は、このポリシーで特定される一方のスキーマとペアになっている他方のスキーマを特定するポリシーの内容に対応する指定情報である。もしポリシーがCipherTextPolicyである場合、検索部は第1テーブルからリクエストに含まれる利用者のIDに対応する属性指定情報を取得する。もしポリシーがKeyPolicyである場合、検索部は第2テーブルからリクエストに含まれる利用者のIDに対応する述語指定情報を取得する。読み取られた指定情報を利用者情報と呼ぶ。管理装置40の送信部は、制御部による制御を受けて、検索結果の利用者情報を鍵生成装置20に送信し、鍵生成装置20の受信部が利用者情報を受信するステップS39。受信した利用者情報は、鍵生成装置20のメモリ21に記憶される。以上で《利用者情報取得プロセス》を終了し、再び《鍵生成プロセス》の説明に戻る。利用者情報を既に所有している場合、あるいは、利用者情報取得プロセスによって利用者情報を受信した場合ステップS39、鍵生成装置20の第2述語論理情報取得部23は、メモリ21からポリシーと、スキーマペアと、公開パラメータと、利用者情報を読み込み、利用者情報から、属性情報第2属性情報と言うまたは述語情報第2述語情報と言うを得るステップS36c。一般的に、第1の復号装置30-1の利用者と第2の復号装置30-2の利用者は異なるので、この処理で得られる第2属性情報または第2述語情報は、ステップS24cの処理で得られる第2属性情報または第2述語情報と同じになる保証はない。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipherTextPolicyである場合、CipherTextPolicyで特定される一方のスキーマ述語用スキーマとペアになっている他方のスキーマ属性用スキーマを用いて、利用者情報属性指定情報から第2属性情報を得る。ポリシーがKeyPolicyである場合、KeyPolicyで特定される一方のスキーマ属性用スキーマとペアになっている他方のスキーマ述語用スキーマを用いて、利用者情報述語指定情報から第2述語情報を得る。このように、この処理で用いられるスキーマは、ステップS17aで用いられたスキーマとペアになっているスキーマであることに注意しなければならない。第2属性情報と第2述語情報は、第2の観点による第1実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる図11-13参照。この際、スキーマを用いて入力情報から必要な属性値の抽出や整列化が行われる。次に、鍵生成装置20の鍵生成部25が、述語暗号アルゴリズムに則り、公開パラメータのqに基づき有限体Fqの元である乱数εを生成して、メモリ21からの第2属性情報v=1,...,vnまたは第2述語情報w=1,...,wnと、当該鍵生成装置の秘密鍵Bを用いて、式14に従って復号鍵Rを求めるステップS36d。暗号化処理で用いられた入力情報が属性指定情報である場合に対応して、この例では第2述語情報wを用いているが、入力情報が述語指定情報である場合には、第2属性情報vが対応するので、式14においてwをvに置き換えればよい。次に、鍵生成装置20の送信部24は、制御部による制御を受けて、復号鍵Rを第2の復号装置30-2に送信し、第2の復号装置30-2の受信部が復号鍵Rを受信するステップS40。受信した復号鍵Rは、第2の復号装置30-2のメモリ31に記憶される。以上で《鍵生成プロセス》を終了し、再び《復号プロセス》の説明に戻る。復号鍵を既に所有している場合、あるいは、鍵生成プロセスによって復号鍵を受信した場合ステップS40、第2の復号装置30-2の復号部33が、メモリ31から公開パラメータと復号鍵Rと暗号情報C1と必要に応じて暗号文C2を読み込んで、共通鍵Kと必要に応じて平文Mを求めるステップS41。このステップS41の処理の詳細について説明を加える。第1復号部33aは、メモリ31から公開パラメータと暗号情報C1と復号鍵Rを読み込み、述語暗号アルゴリズムに則り、eを求める。この演算結果は式15に示すように、入力情報が属性指定情報である場合、双線形性に基づき暗号情報C1と復号鍵Rから取り出された第1属性情報vと第2述語情報wの標準内積の結果に依存する。入力情報が述語指定情報である場合、式15においてvをvに、wをwに置き換えればよく、演算結果は双線形性に基づき暗号情報C1と復号鍵Rから取り出された第1述語情報wと第2属性情報vの標準内積の結果に依存する。但し、eは上記式12のように定義される。従って、第1属性情報vと第2述語情報wの標準内積が0あるいは第1述語情報wと第2属性情報vの標準内積が0の場合、式15の演算結果gTρが得られる。この演算結果gTρが得られた場合、第2の復号装置30-2の第1復号部33aは、上記式7に従って正しい共通鍵Kを得るステップS34c。もし第1属性情報vと第2述語情報wの標準内積が0あるいは第1述語情報wと第2属性情報vの標準内積が0ではない場合、第1復号部33aは、上記式7に従って正しくない値を得る。この例では、ハッシュ関数Hはシステムに共通とするか公開パラメータに含まれるとする。この例では、暗号情報C1が共通鍵Kの生成に用いる情報ρに対応する情報であるが、暗号情報C1を共通鍵Kに対応する情報とする場合には、式15の演算結果が共通鍵Kあるいは正しくない値となる。つまり、第2の復号装置30-2の正当な利用者は、第1属性情報vとの標準内積が0となる第2述語情報wを与える述語指示情報、あるいは、第1述語情報wとの標準内積が0となる第2属性情報vを与える属性指示情報を持つ。次に、第2復号部33bが、共通鍵Kと暗号文C2を用いて、上記式13に従って平文Mを求めるステップS34d。共通鍵を用いた復号方法DecKは暗号化方法EncKに対応する。既述のとおり、第2の観点による第1実施形態が共通鍵Kの配送に特化した実施形態である場合には、ステップS34dの処理は省略される。つまり、第2の復号装置30-2は、第2復号部33bの機能を持つとしても、ステップS34dの処理を行わない。もし、式15に従った演算結果が正しくない値である場合には、上記式13によっては正しい平文Mを得ることができない。なお、第2の復号装置30-2は、復号鍵Rを復号鍵テーブルに記憶してもよい。また、共通鍵Kを復号鍵テーブルに付加して記憶してもよい。これで《第2の復号プロセス》は終了する。第2の復号装置30-2が転送部37を持つ場合には、第2の復号装置30-2は、第1の復号装置30-1から受信した暗号メッセージを別の第2の復号装置暗号メッセージの授受について暗号化装置と当事者の関係にない復号装置に転送してもよいし、第1の復号装置暗号メッセージの授受について暗号化装置と当事者の関係にある復号装置に転送してもよい。この転送処理は、第2の復号装置30-2が第1の復号装置30-1から暗号メッセージを受信した以降であれば何時でもよい。第2の観点による第2実施形態第2の観点による第2実施形態では、第2の観点による第1実施形態と異なり、第1の復号装置30-1と第2の復号装置30-2が第2属性情報または第2述語情報を生成する。この差異に伴い、第2の観点による第2実施形態は、いくつかの事項で第2の観点による第1実施形態と異なる。そこで、第2の観点による第1実施形態と重複する部分については重複説明を省略し同一の構成要素に同じ参照番号を割り当てる、図42-図48を参照しながら第1実施形態と異なる部分を説明する。ステップS1からステップS22bまでの処理は、第2の観点による第1実施形態と同じである。ステップS22bの処理で復号鍵を所有していない場合、第1の復号装置30-1の第2述語論理情報取得部35が、メモリ31からポリシーと、スキーマペアと、公開パラメータと、利用者情報を読み込み、利用者情報から、属性情報第2属性情報と言うまたは述語情報第2述語情報と言うを得るステップS23g。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipherTextPolicyである場合、CipherTextPolicyで特定される一方のスキーマ述語用スキーマとペアになっている他方のスキーマ属性用スキーマを用いて、利用者情報属性指定情報から第2属性情報を得る。ポリシーがKeyPolicyである場合、KeyPolicyで特定される一方のスキーマ属性用スキーマとペアになっている他方のスキーマ述語用スキーマを用いて、利用者情報述語指定情報から第2述語情報を得る。このように、この処理で用いられるスキーマは、ステップS17aで用いられたスキーマとペアになっているスキーマであることに注意しなければならない。第2属性情報と第2述語情報は、第2の観点による第2実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる図11-13参照。ステップS23gの処理の後、ステップS23の処理が行われる。ただし、この処理では、第1の復号装置30-1の送信部34が、制御部による制御を受けて、メモリ31からの公開パラメータ、ポリシー、スキーマペア、認証情報、第2属性情報または第2述語情報を纏めた鍵要求メッセージを生成する。そして、第1の復号装置30-1の送信部34は、メモリ31からのアドレスを持つ鍵生成装置に鍵要求メッセージを送信し、この鍵生成装置20の受信部が、鍵要求メッセージを受信する。そして、ステップS24aの処理で検証に成功した場合、ステップS24dの処理が行われる。鍵生成装置20は第1の復号装置30-1から第2属性情報または第2述語情報を受信しているため、第2の観点による第1実施形態と異なり、この情報を生成するための機能と処理が不要である。そして、ステップS24dの処理の後のステップS28からステップS34aまでの各処理は、第2の観点による第1実施形態と同じである。ステップS34bの処理で復号鍵を所有していない場合、第2の復号装置30-2の第2述語論理情報取得部35が、メモリ31からポリシーと、スキーマペアと、公開パラメータと、利用者情報を読み込み、利用者情報から、属性情報第2属性情報と言うまたは述語情報第2述語情報と言うを得るステップS35g。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipherTextPolicyである場合、CipherTextPolicyで特定される一方のスキーマ述語用スキーマとペアになっている他方のスキーマ属性用スキーマを用いて、利用者情報属性指定情報から第2属性情報を得る。ポリシーがKeyPolicyである場合、KeyPolicyで特定される一方のスキーマ属性用スキーマとペアになっている他方のスキーマ述語用スキーマを用いて、利用者情報述語指定情報から第2述語情報を得る。このように、この処理で用いられるスキーマは、ステップS17aで用いられたスキーマとペアになっているスキーマであることに注意しなければならない。第2属性情報と第2述語情報は、第2の観点による第2実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる図11-13参照。ステップS35gの処理の後、ステップS35の処理が行われる。ただし、この処理では、第2の復号装置30-2の送信部34が、制御部による制御を受けて、メモリ31からの公開パラメータ、ポリシー、スキーマペア、認証情報、第2属性情報または第2述語情報を纏めた鍵要求メッセージを生成する。そして、第2の復号装置30-2の送信部34は、メモリ31からのアドレスを持つ鍵生成装置に鍵要求メッセージを送信し、この鍵生成装置20の受信部が、鍵要求メッセージを受信する。そして、ステップS36aの処理で検証に成功した場合、ステップS36dの処理が行われる。鍵生成装置20は第2の復号装置30-2から第2属性情報または第2述語情報を受信しているため、第2の観点による第1実施形態と異なり、この情報を生成するための機能と処理が不要である。そして、ステップS36dの処理の後のステップS40とステップS41の各処理は、第2の観点による第1実施形態と同じである。第2の観点による第3実施形態第2の観点による第3実施形態では、第2の観点による第1実施形態と異なり、暗号化装置10の暗号化部13が、第1属性情報v=または第1述語情報w=と、メモリ11からの公開パラメータに含まれる公開鍵と平文Mを用いて、暗号情報C1を求める。つまり、第2の観点による第3実施形態では、例えば上記非特許文献2に示す述語暗号アルゴリズムが用いられる。この差異に伴い、第2の観点による第3実施形態は、いくつかの事項で第2の観点による第1実施形態と異なる。そこで、第2の観点による第1実施形態と重複する部分については重複説明を省略し同一の構成要素に同じ参照番号を割り当てる、図49-図54を参照しながら第2の観点による第1実施形態と異なる部分を説明する。ステップS1からステップS17aまでの処理は、第2の観点による第1実施形態と同じである。但し、公開パラメータなどの情報は第2の観点による第3実施形態の述語暗号アルゴリズムに必要な情報とされる。具体的な情報については、例えば上記非特許文献2などを参考されたい。ステップS17aの処理に続くステップS17b1の処理では、暗号化装置10の暗号化部13が、述語暗号アルゴリズムに則り、第1属性情報v=または第1述語情報w=と、メモリ11からの公開パラメータに含まれる公開鍵と平文Mを用いて、暗号情報C1を求めるステップS17b1。次に、ステップS17b1の処理の後、ステップS17dの処理が行われる。但し、この処理では、暗号化装置10の送信部14が、制御部による制御を受けて、暗号情報C1と、メモリ11からのスキーマペア、ポリシー、公開パラメータ、鍵生成装置のアドレスを纏めた暗号メッセージを生成するステップS17d。ステップS17dの処理に続くステップS18からステップS28までの処理は、第2の観点による第1実施形態と同じである。ステップS28の処理に続くステップS22c1の処理では、第1の復号装置30-1の復号部33が、述語暗号アルゴリズムに則り、メモリ31から公開パラメータと復号鍵Rと暗号情報C1を読み込んで、平文Mを求めるステップS22c1。ステップS22c1の処理に続くステップS30からステップS40までの処理は、第2の観点による第1実施形態と同じである。ステップS40の処理に続くステップS34c1の処理では、第2の復号装置30-2の復号部33が、述語暗号アルゴリズムに則り、メモリ31から公開パラメータと復号鍵Rと暗号情報C1を読み込んで、平文Mを求めるステップS34c1。第2の観点による第4実施形態第2の観点による第4実施形態は、第2の観点による第2実施形態と第2の観点による第3実施形態の組み合わせ形態に相当する。つまり、第2の観点による第4実施形態は、第2の観点による第1実施形態と異なり、1第1の復号装置30-1と第2の復号装置30-2が第2属性情報または第2述語情報を生成する、2暗号化装置10の暗号化部13が、第1属性情報v=または第1述語情報w=と、メモリ11からの公開パラメータに含まれる公開鍵と平文Mを用いて、暗号情報C1を求める。この差異に伴い、第2の観点による第4実施形態は、いくつかの事項で第2の観点による第1実施形態と異なる。そこで、第2の観点による第1実施形態と重複する部分については重複説明を省略し同一の構成要素に同じ参照番号を割り当てる、図55から図58も参照して第1実施形態と異なる部分を説明する。ステップS1からステップS17aまでの処理は、第2の観点による第1実施形態と同じである。但し、公開パラメータなどの情報は第2の観点による第4実施形態の述語暗号アルゴリズムに必要な情報とされる。具体的な情報については、例えば上記非特許文献2などを参考されたい。ステップS17aの処理に続くステップS17b1の処理では、暗号化装置10の暗号化部13が、述語暗号アルゴリズムに則り、第1属性情報v=または第1述語情報w=と、メモリ11からの公開パラメータに含まれる公開鍵と平文Mを用いて、暗号情報C1を求めるステップS17b1。次に、ステップS17b1の処理の後、ステップS17dの処理が行われる。但し、この処理では、暗号化装置10の送信部14が、制御部による制御を受けて、暗号情報C1と、メモリ11からのスキーマペア、ポリシー、公開パラメータ、鍵生成装置のアドレスを纏めた暗号メッセージを生成するステップS17d。ステップS17dの処理に続くステップS18からステップS22bの処理までは、第2の観点による第1実施形態と同じである。ステップS22bの処理で復号鍵を所有していない場合、第1の復号装置30-1の第2述語論理情報取得部35が、メモリ31からポリシーと、スキーマペアと、公開パラメータと、利用者情報を読み込み、利用者情報から、属性情報第2属性情報と言うまたは述語情報第2述語情報と言うを得るステップS23g。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipherTextPolicyである場合、CipherTextPolicyで特定される一方のスキーマ述語用スキーマとペアになっている他方のスキーマ属性用スキーマを用いて、利用者情報属性指定情報から第2属性情報を得る。ポリシーがKeyPolicyである場合、KeyPolicyで特定される一方のスキーマ属性用スキーマとペアになっている他方のスキーマ述語用スキーマを用いて、利用者情報述語指定情報から第2述語情報を得る。このように、この処理で用いられるスキーマは、ステップS17aで用いられたスキーマとペアになっているスキーマであることに注意しなければならない。第2属性情報と第2述語情報は、第2の観点による第4実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる図11-13参照。ステップS23gの処理の後、ステップS23の処理が行われる。ただし、この処理では、第1の復号装置30-1の送信部34が、制御部による制御を受けて、メモリ31からの公開パラメータ、ポリシー、スキーマペア、認証情報、第2属性情報または第2述語情報を纏めた鍵要求メッセージを生成する。そして、第1の復号装置30-1の送信部34は、メモリ31からのアドレスを持つ鍵生成装置に鍵要求メッセージを送信し、この鍵生成装置20の受信部が、鍵要求メッセージを受信する。そして、ステップS24aの処理で検証に成功した場合、ステップS24dの処理が行われる。鍵生成装置20は、第1の復号装置30-1から第2属性情報または第2述語情報を受信しているため、この情報を生成するための機能と処理が不要である。そして、ステップS24dの処理の後のステップS28の処理は、第2の観点による第1実施形態と同じである。ステップS28の処理に続くステップS22c1の処理では、第1の復号装置30-1の復号部33が、述語暗号アルゴリズムに則り、メモリ31から公開パラメータと復号鍵Rと暗号情報C1を読み込んで、平文Mを求めるステップS22c1。そして、ステップS22c1の処理の後のステップS30からステップS34aまでの各処理は、第2の観点による第1実施形態と同じである。ステップS34bの処理で復号鍵を所有していない場合、第2の復号装置30-2の第2述語論理情報取得部35が、メモリ31からポリシーと、スキーマペアと、公開パラメータと、利用者情報を読み込み、利用者情報から、属性情報第2属性情報と言うまたは述語情報第2述語情報と言うを得るステップS35g。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipherTextPolicyである場合、CipherTextPolicyで特定される一方のスキーマ述語用スキーマとペアになっている他方のスキーマ属性用スキーマを用いて、利用者情報属性指定情報から第2属性情報を得る。ポリシーがKeyPolicyである場合、KeyPolicyで特定される一方のスキーマ属性用スキーマとペアになっている他方のスキーマ述語用スキーマを用いて、利用者情報述語指定情報から第2述語情報を得る。このように、この処理で用いられるスキーマは、ステップS17aで用いられたスキーマとペアになっているスキーマであることに注意しなければならない。第2属性情報と第2述語情報は、第2の観点による第4実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる図11-13参照。ステップS35gの処理の後、ステップS35の処理が行われる。ただし、この処理では、第2の復号装置30-2の送信部34が、制御部による制御を受けて、メモリ31からの公開パラメータ、ポリシー、スキーマペア、認証情報、第2属性情報または第2述語情報を纏めた鍵要求メッセージを生成する。そして、第2の復号装置30-2の送信部34は、メモリ31からのアドレスを持つ鍵生成装置に鍵要求メッセージを送信し、この鍵生成装置20の受信部が、鍵要求メッセージを受信する。そして、ステップS36aの処理で検証に成功した場合、ステップS36dの処理が行われる。鍵生成装置20は第2の復号装置30-2から第2属性情報または第2述語情報を受信しているため、第1実施形態と異なり、この情報を生成するための機能と処理が不要である。そして、ステップS36dの処理の後のステップS40の処理は、第2の観点による第1実施形態と同じである。ステップS40の処理に続くステップS34c1の処理では、第2の復号装置30-2の復号部33が、述語暗号アルゴリズムに則り、メモリ31から公開パラメータと復号鍵Rと暗号情報C1を読み込んで、平文Mを求めるステップS34c1。第2の観点による上述の各実施形態は、例えば電子メールシステムやインスタントメッセージングシステムとして実施される。図59に、送受信されるデータの構成を例示する。メッセージ全体の基本的なフォーマットは例えばS/MIMESecureMultipurposeInternetMailExtensionsに従うが、暗号メッセージ開始位置マーカから暗号メッセージ終了位置マーカまでのデータはXMLeXtensibleMarkupLanguageなどで適切なデータ構成が与えられる。暗号メッセージ開始位置マーカから暗号メッセージ終了位置マーカまでが述語暗号に関する一連のデータを示す。アルゴリズム識別子ブロックには、共通鍵の暗号化に使用した述語暗号アルゴリズムとメッセージペイロードの暗号化に使用した共通鍵暗号アルゴリズムを特定するための情報が指定される。このように、アルゴリズムを表す識別子やアルゴリズムのバージョンなどを指定できるPEVersionXCamellia[Camelliaは登録商標]など。デジタル署名ブロックにはデジタル署名が記述される。署名アルゴリズムは既存の方式を使用できる。この項目は運用形態に応じて省略可能である。公開パラメータ情報ブロックには、使用した公開情報パラメータを特定する情報が指定される。公開情報パラメータを特定する識別子、もしくは公開情報パラメータのデータそのものを指定することもできる。ポリシーフィールドには、使用したポリシーを特定する識別子が指定される。スキーマフィールドには、使用したスキーマを特定する識別子が指定されるか、もしくはスキーマのデータが記述される。暗号情報フィールドにはメッセージペイロード平文の暗号化に使用した共通鍵を述語暗号で暗号化したデータ暗号情報が指定される。暗号文フィールドにはメッセージペイロード平文を暗号化して作成したデータ暗号文が記述される。属性フィールド/述語フィールドにはポリシーフィールドに対応して暗号化に使用した属性/述語を表す文字列表現を指定することができる。これらの項目は運用形態に応じては省略可能である。添付フィールドには例えばRSA暗号化した添付ファイルなどを添付することができる。この項目は運用形態に応じて省略可能である。また、例えばインストタントメッセージングに伴うセキュアな通信の場合には、共通鍵を暗号化した暗号情報を再送する必要はない。インスタントメッセージングでは通常、最初のインスタントメッセージで適切な共通鍵を取得できたならば、後続のインスタントメッセージの復号に用いるために共通鍵を受信者が保存しておいてもよい。このように後続のインスタントメッセージを送信者から受信者に送信する際には、暗号文は送るが、公開パラメータ情報、ポリシー、スキーマ、暗号情報を送らないようにしてもよい。同様に、使用される暗号アルゴリズムを変更しない運用の場合には、後続のインスタントメッセージ内の暗号アルゴリズム識別子を省略してもよい。述語暗号は、暗号化に際して、受信者に依存する情報に拘束されない方式であるから、送信者装置は、未知の受信者装置に対しても暗号メッセージを送信することができる。換言すると、送信者は、複数の受信者装置が存在する場合であっても暗号化処理を1回しか行わない公開鍵暗号方式では、N回の暗号化処理が必要である。このため、送信者装置は、低い処理コストで暗号メッセージを同報送信することができる。また、受信者装置が第三者装置に暗号メッセージを転送する際、暗号化装置から受信した暗号メッセージをそのまま第三者装置に転送することができる。公開鍵暗号方式では、受信者装置が一旦、暗号メッセージを復号し、第三者装置の公開鍵を用いて暗号化し、この暗号化された暗号メッセージを送信する処理が必要であり、処理コストの負担が大きい。しかし、上述の各実施形態では、暗号化装置から受信した暗号メッセージをそのまま第三者装置に転送するから、低い処理コストで暗号メッセージを転送することができる。次に、上述の第1の観点による暗号通信技術に留意しつつ、第3の観点から、柔軟に運用可能であって述語暗号で暗号化されたコンテンツ暗号化コンテンツを配信することが可能な、述語暗号に依拠する暗号通信技術に関する実施形態を説明する。この技術によると、述語暗号で暗号化されたコンテンツ暗号化コンテンツがコンテンツサーバ装置に蓄えられ、復号装置からの要求に応じて暗号化コンテンツを送信することによって、暗号化コンテンツを配信することができる。第3の観点による暗号通信技術の説明は上述の第1の観点による暗号通信技術の説明と実質的に重複する部分を多く含むが、第1の観点による暗号通信技術の説明を参照しなくてもよいように、できるだけ重複説明と重複図面を省略せずに第3の観点による暗号通信技術を説明する。このため、数式の番号、機能部を表す参照番号、ステップを表す参照番号なども両者で重複するが、文脈から混乱の虞は無いであろう。第3の観点による第1実施形態図60から図71を参照して第3の観点による本発明の第1実施形態を説明する。第3の観点による暗号システム1は、図60に示すように、複数のクライアント装置10、30と、一つまたは複数の鍵生成装置20と、一つまたは複数のコンテンツサーバ装置60と、一つまたは複数のユーザ情報管理装置40以下、管理装置と言う、変換規則情報ペア管理装置50以下、登録装置と言う、一つまたは複数の保全装置80、一つまたは複数の認証装置90を含んでいる。これらの各装置は、例えばインターネットである通信網5を介して相互に通信可能とされている。クライアント装置は、処理目的に応じて、コンテンツを暗号化して暗号化コンテンツを生成する暗号化装置として、あるいは暗号化コンテンツを復号する復号装置として機能する。そこで、クライアント装置を機能の観点から、暗号化装置10または復号装置30と呼称する。なお、第3の観点による暗号システム1は、暗号化装置としてのみ機能するクライアント装置および/または復号装置としてのみ機能するクライアント装置を含んでもよい。第3の観点による暗号システム1では述語暗号を用いた暗号化と復号が行われる。第3の観点による本発明では、使用する述語暗号アルゴリズムに限定は無く、例えば上記非特許文献2に開示される述語暗号アルゴリズムを用いることが許される。第3の観点による第1実施形態では、KEMタイプの述語暗号アルゴリズムを用いた例を示す。暗号システム1における暗号通信方法を、図61、62、63、64、66、69、71を参照しながら叙述する。各装置の機能構成については、図65、67、68、70を参照されたい。《準備プロセス》第1の観点による発明の第1実施形態における《準備プロセス》の説明の全てをここに援用し、重複説明を省略する。なお、この《準備プロセス》の説明に対応する図として図61を、スキーマペアについては図11-13を、ポリシーリストについては図14を参照されたい。これで《準備プロセス》は終了する。《暗号化プロセス》暗号化装置10の送信部14は、図示しない制御部の制御を受けて、検索クエリを登録装置50に送信し、登録装置50の受信部が検索クエリを受信するステップS14。登録装置50の検索部は、登録装置50の記憶部に登録されているエントリの一部または全部を検索して一つのエントリを選びステップS15、登録装置50の送信部は検索結果のエントリを暗号化装置10に送信し、暗号化装置10の受信部はエントリを受信するステップS16。このエントリには、鍵生成装置のアドレス、この鍵生成装置の公開パラメータ、この鍵生成装置が使用可能なポリシーリスト、この鍵生成装置が使用可能なスキーマリストが含まれている。受信したエントリは、暗号化装置10のメモリ11に記憶される。なお、各鍵生成装置20の公開パラメータ、スキーマリスト、ポリシーリスト、アドレスを予め暗号化装置10が所有している場合には、ステップS14-S16の処理は省略される。つまり、暗号システム1が登録装置50を含まない形態も許容されることに注意しなければならない。暗号化装置10の第1述語論理情報取得部12が、メモリ11から入力情報とポリシーとスキーマを読み込み、属性情報以下、第1属性情報と言うまたは述語情報以下、第1述語情報と言うを求めるステップS17a。この処理の詳細について説明を加える図12、図13参照。まず、スキーマリストに複数のスキーマペアが記述されている場合、用途などに応じて一つのスキーマペアが選択される。暗号化装置10の利用者によってスキーマペアが選択されてその指示情報が入力される場合や、所定の規則に従い、第1述語論理情報取得部12がスキーマペアを選択してもよい。そして、入力情報が属性指定情報または述語指定情報のいずれであるかに応じてポリシーと共にいずれか一方のスキーマを選択する。暗号化装置10の利用者によってポリシーといずれか一方のスキーマが選択されてその指示情報が入力される場合や、所定の規則に従い、第1述語論理情報取得部12がポリシーといずれか一方のスキーマを選択する場合のいずれであってもよい。なお、鍵生成装置20のポリシーが1種類のタイプのみ用意されている場合には、そのポリシーに従ってスキーマペアのうちの一方のスキーマが選択される。もし、選択されたスキーマが入力情報の種類に対応していない場合には、スキーマリストからスキーマペアを再選択するか、登録装置50からエントリの提供を再度受ければよい。入力情報は、暗号化装置10の利用者によって入力された情報または、例えばICカード39のような記憶媒体から暗号化装置10の取得部図示せずが取得した情報でもよい。そして、第1述語論理情報取得部12が、ポリシーに従ってスキーマペアの中から選択されたスキーマを用いて入力情報から第1属性情報または第1述語情報を得る。ポリシーがKeyPolicyであり選択されたスキーマが属性用スキーマである場合には第1属性情報が得られる。ポリシーがCipherTextPolicyであり選択されたスキーマが述語用スキーマである場合には第1述語情報が得られる。第1属性情報と第1述語情報は、第3の観点による第1実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる図11-13参照。この際、スキーマを用いて入力情報から必要な属性値の抽出や整列化が行われる。次に、暗号化装置10の暗号化部13が、第1属性情報v=または第1述語情報w=と、メモリ11からの公開パラメータに含まれる直交基底B実質的な公開鍵とコンテンツMを用いて、共通鍵Kと暗号情報C1と暗号化コンテンツC2を求めるステップS17b、S17c。これらの処理の詳細について説明を加える。まず、第1暗号化部13aが、述語暗号アルゴリズムに則り、有限体Fqの元である乱数r、ρを生成して、上記式7のように共通鍵Kを設定し、上記式8に従って暗号情報C1を求めるステップS17b。Hは例えばハッシュ関数である。この例では第1属性情報vを用いているが、第1述語情報を用いる場合は上記式8においてvをwに置き換えればよい。また、この例では、暗号情報C1は共通鍵Kの生成に用いる情報ρに対応する情報であるが、暗号情報C1を共通鍵Kに対応する情報としてもよい。次に、第2暗号化部13bが、共通鍵KとコンテンツMを用いて、上記式9に従って暗号化コンテンツC2を求めるステップS17c。共通鍵を用いた暗号化方法EncKは周知の方法でよく、例えば上記非特許文献1に開示される方法である。次に、暗号化装置10の送信部14は、制御部による制御を受けて、暗号情報C1と、暗号化コンテンツC2と、メモリ11からのスキーマペア、ポリシー、公開パラメータ、鍵生成装置のアドレスを纏めた暗号メッセージを生成するステップS17d。そして暗号化装置10の送信部14は、暗号メッセージをコンテンツサーバ装置60に送信し、コンテンツサーバ装置60の受信部が暗号メッセージを受信するステップS18。暗号化コンテンツのアップロードは例えばFTPやWebDAVなどの周知の方式を利用して行われる。これで《暗号化プロセス》は終了する。《コンテンツ配信プロセス》コンテンツサーバ装置60は、図示しない制御部の制御の下、そのメモリ61に各暗号化装置10から送られた暗号メッセージを記憶する。これによって、暗号メッセージに含まれる暗号情報と暗号化コンテンツがコンテンツサーバ装置60に登録される。コンテンツサーバ装置60にどのような暗号化コンテンツが登録されているかは、例えばWebページ上で公開される。上記Webページは、例えばインターネットプロトコルに従い、復号装置30のブラウザ部38によって、復号装置30のディスプレイ図示せずに表示される。復号装置30の利用者は、所望の暗号化コンテンツを選択する入力操作を行う。復号装置30のブラウザ部38は、利用者が入力した情報に基づき、選択された暗号化コンテンツをコンテンツサーバ装置60から取得するための取得要求を復号装置30の復号部33以下、中継部というに伝えるステップS19。そして、復号装置30の中継部33はこの取得要求をコンテンツサーバ装置60に送信し、コンテンツサーバ装置60の受信部はこの取得要求を受信するステップS20。このように、ブラウザ部38とコンテンツサーバ装置60との例えばHTTPに従ったやりとりは中継部33を経由して行われる例えばWWWブラウザのプロキシ設定を使用することが許される。コンテンツサーバ装置60の検索部62は、取得要求で指定された暗号化コンテンツを含む暗号メッセージを検索してそれを選びステップS21、検索部62からの指示に基づき、コンテンツサーバ装置60の送信部64は暗号メッセージを復号装置30に送信し、復号装置30の受信部は暗号メッセージを受信するステップS22。これで《コンテンツ配信プロセス》は終了する。《復号プロセス》復号装置30の送信部34は、図示しない制御部の制御を受けて、暗号メッセージに含まれる鍵生成装置のアドレスを含む検索クエリを登録装置50に送信し、登録装置50の受信部が検索クエリを受信するステップS23。登録装置50の検索部は、アドレスで指定された鍵生成装置のエントリを検索してそれを選びステップS24、登録装置50の送信部は検索結果のエントリを復号装置30に送信し、復号装置30の受信部はエントリを受信するステップS25。このエントリには、鍵生成装置のアドレス、この鍵生成装置の公開パラメータ、この鍵生成装置が使用可能なポリシーリスト、この鍵生成装置が使用可能なスキーマリストが含まれている。受信したエントリは、復号装置30のメモリ31に記憶される。なお、各鍵生成装置20の公開パラメータ、スキーマリスト、ポリシーリスト、アドレスを予め復号装置30が所有している場合には、ステップS19-S21の処理は省略される。この場合、復号装置30は、暗号メッセージに含まれるアドレスに対応する鍵生成装置のエントリを自身のメモリ31から検索してこれを取得する。復号装置30の検証部図示せずは、制御部の制御を受けて、暗号メッセージに含まれるスキーマペアとポリシーが、登録装置50から取得したエントリに含まれるポリシーリストとスキーマリストに含まれるか否かを検証するステップS26a。この検証に失敗した場合、復号処理の失敗として処理を終了するステップS26g。この検証に成功した場合、復号装置30の取得部32が、例えばICカード39のような記憶媒体から、当該復号装置30の利用者に対応する属性指定情報または述語指定情報を読み取るステップS26f。属性指定情報または述語指定情報のいずれを読み取るかは、暗号メッセージに含まれるポリシーによって決まる。つまり、読み取られる情報は、このポリシーで特定される一方のスキーマとペアになっている他方のスキーマを特定するポリシーの内容に対応する指定情報である。もしポリシーがCipherTextPolicyである場合、取得部32は記憶媒体から属性指定情報を読み取る。もしポリシーがKeyPolicyである場合、取得部32は記憶媒体から述語指定情報を読み取る。以下、読み取られた指定情報を利用者情報と呼ぶ。また、復号装置30の取得部32が、後述する鍵生成装置20における処理《利用者情報取得プロセス》と同様に、管理装置40から、当該復号装置30の利用者に対応する属性指定情報または述語指定情報を読み取ることも許容される。なお、第3の観点による第1実施形態では、ステップS26fの処理は任意に行われる。例えば、予め復号装置30が利用者に対応する属性指定情報と述語指定情報を所有している場合、ポリシーに従って属性指定情報または述語指定情報のいずれかが利用者情報となる。次に、復号装置30の検証部が、暗号メッセージに含まれる暗号情報を復号するために使用する復号鍵を持っているか否かを検証するステップS26b。復号装置30はメモリ31に復号鍵テーブルを記憶している。復号鍵テーブルでは、例えば図15に示すように、鍵生成装置の識別子に対して、公開パラメータと、スキーマペアと、復号鍵の対象と、述語指定情報と、復号鍵とが対応付けられている。そこで、検証部は、暗号メッセージに含まれるアドレスによって判別する鍵生成装置の識別子、公開パラメータと、スキーマペアと、復号鍵の対象但し、これは、暗号メッセージに含まれるポリシーで特定される一方のスキーマとペアになっている他方のスキーマを特定するポリシーの内容に対応するに対応する復号鍵の有無を検証する。もし復号鍵が存在すれば、ステップS33の処理を行う。もし復号鍵が存在しなければ、ステップS27の処理を行う。ここで《復号プロセス》の説明を中断し、《鍵生成プロセス》の説明をする。上述のように復号鍵が存在しない場合、復号装置30の送信部34は、制御部による制御を受けて、メモリ31からの公開パラメータ、ポリシー、スキーマペア、もし在れば利用者情報、認証情報を纏めた鍵要求メッセージを生成する。認証情報は、例えば利用者のIDとパスワードを含む。そして、復号装置30の送信部34は、メモリ31からのアドレスを持つ鍵生成装置に鍵要求メッセージを送信し、この鍵生成装置20の受信部が、鍵要求メッセージを受信するステップS27。受信した鍵要求メッセージは、鍵生成装置20のメモリ21に記憶される。鍵生成装置20の検証部図示せずは、制御部の制御を受けて、鍵要求メッセージに含まれるスキーマペアとポリシーが、当該鍵生成装置20が所有するエントリ例えばステップS1で生成されたエントリであるに含まれるポリシーリストとスキーマリストに含まれるか否か、および、鍵要求メッセージに含まれる公開パラメータが当該鍵生成装置20の公開パラメータであるか否かを検証するステップS28a。この検証に失敗した場合、鍵生成処理の失敗として処理を終了するステップS28g。なお、ステップS28aの処理では、鍵要求メッセージに認証情報が含まれるならば、鍵要求メッセージに含まれる認証情報の検証も行われる。鍵生成装置20は、メモリ21に認証テーブルを記憶している。認証テーブルでは、例えば図16に示すように、利用者のIDに対してパスワードが対応付けられている。そこで、検証部は、鍵要求メッセージに含まれる利用者のIDとパスワードと認証テーブルに含まれる利用者のIDとパスワードとの整合性を検証する。この検証に失敗した場合も、ステップS28gの処理が行われる。この検証に成功した場合、鍵生成装置20の検証部が、鍵要求メッセージに利用者情報が含まれているか否かを検証するステップS28b。鍵要求メッセージに利用者情報が含まれていればステップS28cの処理を行い、鍵要求メッセージに利用者情報が含まれていなければステップS29の処理を行う。なお、必ず鍵要求メッセージに利用者情報が含まれる方法を採用する場合には、ステップS28bの処理および後述する《利用者情報取得プロセス》は不要である。ここで《鍵生成プロセス》の説明を中断し、《利用者情報取得プロセス》の説明をする。鍵生成装置20の送信部は、鍵要求メッセージに含まれるポリシーともし在れば認証情報を含むリクエストを管理装置40に送信し、管理装置40がリクエストを受信するステップS29。受信したリクエストは、管理装置40のメモリに記憶される。管理装置40はメモリに認証テーブルを記憶している。この認証テーブルでは、上述の認証テーブルと同様に、利用者のIDに対してパスワードが対応付けられている図16参照。そこで、管理装置40の検証部図示せずは、リクエストに含まれる利用者のIDとパスワードと認証テーブルに含まれる利用者のIDとパスワードとの整合性を検証する。この検証に成功すると、管理装置40の検索部図示せずがリクエストに含まれるポリシーに従って、メモリに記憶されている利用者情報テーブルから属性指定情報または述語指定情報を検索するステップS30。利用者情報テーブルは、例えば利用者のIDとこれに対応付けられた属性名および属性指定情報で構成される第1テーブルと、利用者のIDとこれに対応付けられた述語指定情報で構成される第2テーブルとを含んでいる図17参照。属性指定情報または述語指定情報のいずれを読み取るかは、リクエストに含まれるポリシーによって決まる。つまり、読み取られる情報は、このポリシーで特定される一方のスキーマとペアになっている他方のスキーマを特定するポリシーの内容に対応する指定情報である。もしポリシーがCipherTextPolicyである場合、検索部は第1テーブルからリクエストに含まれる利用者のIDに対応する属性指定情報を取得する。もしポリシーがKeyPolicyである場合、検索部は第2テーブルからリクエストに含まれる利用者のIDに対応する述語指定情報を取得する。読み取られた指定情報を利用者情報と呼ぶ。管理装置40の送信部は、制御部による制御を受けて、検索結果の利用者情報を鍵生成装置20に送信し、鍵生成装置20の受信部が利用者情報を受信するステップS31。受信した利用者情報は、鍵生成装置20のメモリ21に記憶される。以上で《利用者情報取得プロセス》を終了し、再び《鍵生成プロセス》の説明に戻る。利用者情報を既に所有している場合、あるいは、利用者情報取得プロセスによって利用者情報を受信した場合ステップS31、鍵生成装置20の第2述語論理情報取得部23は、メモリ21からポリシーと、スキーマペアと、公開パラメータと、利用者情報を読み込み、利用者情報から、属性情報第2属性情報と言うまたは述語情報第2述語情報と言うを得るステップS28c。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipherTextPolicyである場合、CipherTextPolicyで特定される一方のスキーマ述語用スキーマとペアになっている他方のスキーマ属性用スキーマを用いて、利用者情報属性指定情報から第2属性情報を得る。ポリシーがKeyPolicyである場合、KeyPolicyで特定される一方のスキーマ属性用スキーマとペアになっている他方のスキーマ述語用スキーマを用いて、利用者情報述語指定情報から第2述語情報を得る。このように、この処理で用いられるスキーマは、ステップS17aで用いられたスキーマとペアになっているスキーマであることに注意しなければならない。第2属性情報と第2述語情報は、第3の観点による第1実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる図11-13参照。この際、スキーマを用いて入力情報から必要な属性値の抽出や整列化が行われる。次に、鍵生成装置20の鍵生成部25が、述語暗号アルゴリズムに則り、公開パラメータのqに基づき有限体Fqの元である乱数αを生成して、メモリ21からの第2属性情報v=1,...,vnまたは第2述語情報w=1,...,wnと、当該鍵生成装置の秘密鍵Bを用いて、上記式10に従って復号鍵Rを求めるステップS28d。暗号化処理で用いられた入力情報が属性指定情報である場合に対応して、この例では第2述語情報wを用いているが、入力情報が述語指定情報である場合には、第2属性情報vが対応するので、上記式10においてwをvに置き換えればよい。次に、鍵生成装置20の送信部24は、制御部による制御を受けて、復号鍵Rを復号装置30に送信し、復号装置30の受信部が復号鍵Rを受信するステップS32。受信した復号鍵Rは、復号装置30のメモリ31に記憶される。以上で《鍵生成プロセス》を終了し、再び《復号プロセス》の説明に戻る。復号鍵を既に所有している場合、あるいは、鍵生成プロセスによって復号鍵を受信した場合ステップS32、復号装置30の中継部33が、メモリ31から公開パラメータと復号鍵Rと暗号情報C1と必要に応じて暗号化コンテンツC2を読み込んで、共通鍵KとコンテンツMを求めるステップS33。このステップS33の処理の詳細について説明を加える。中継部33は、復号処理を担う第1復号部33aと第2復号部33bを含む。第1復号部33aは、メモリ31から公開パラメータと暗号情報C1と復号鍵Rを読み込み、述語暗号アルゴリズムに則り、eを求める。この演算結果は上記式11に示すように、入力情報が属性指定情報である場合、双線形性に基づき暗号情報C1と復号鍵Rから取り出された第1属性情報vと第2述語情報wの標準内積の結果に依存する。入力情報が述語指定情報である場合、上記式11においてvをvに、wをwに置き換えればよく、演算結果は双線形性に基づき暗号情報C1と復号鍵Rから取り出された第1述語情報wと第2属性情報vの標準内積の結果に依存する。但し、eは上記式12のように定義される。δijは、クロネッカーのデルタ記号である。従って、第1属性情報vと第2述語情報wの標準内積が0あるいは第1述語情報wと第2属性情報vの標準内積が0の場合、上記式11の演算結果gTρが得られる。この演算結果gTρが得られた場合、復号装置30の第1復号部33aは、上記式7に従って正しい共通鍵Kを得るステップS26c。もし第1属性情報vと第2述語情報wの標準内積が0あるいは第1述語情報wと第2属性情報vの標準内積が0ではない場合、第1復号部33aは、上記式7に従って正しくない値を得る。この例では、ハッシュ関数Hはシステムに共通とするか公開パラメータに含まれるとする。この例では、暗号情報C1が共通鍵Kの生成に用いる情報ρに対応する情報であるが、暗号情報C1を共通鍵Kに対応する情報とする場合には、上記式11の演算結果が共通鍵Kあるいは正しくない値となる。つまり、復号装置30の正当な利用者は、第1属性情報vとの標準内積が0となる第2述語情報wを与える述語指示情報、あるいは、第1述語情報wとの標準内積が0となる第2属性情報vを与える属性指示情報を持つ。次に、第2復号部33bが、共通鍵Kと暗号化コンテンツC2を用いて、上記式13に従ってコンテンツMを求めるステップS26d。共通鍵を用いた復号方法DecKは暗号化方法EncKに対応する。もし、上記式11に従った演算結果が正しくない値である場合には、上記式13によっては正しいコンテンツMを得ることができない。なお、復号装置30は、復号鍵Rを復号鍵テーブルに記憶してもよい。また、共通鍵Kを復号鍵テーブルに付加して記憶してもよい。暗号化コンテンツを復号して得られたコンテンツMは、中継部33からブラウザ部38に伝えられステップS34、ブラウザ部38によって、復号装置30のディスプレイに表示されるステップS35。これで《復号プロセス》は終了する。第3の観点による第2実施形態第3の観点による第2実施形態では、第3の観点による第1実施形態と異なり、復号装置30が第2属性情報または第2述語情報を生成する。この差異に伴い、第3の観点による第2実施形態は、いくつかの事項で第3の観点による第1実施形態と異なる。そこで、第3の観点による第1実施形態と重複する部分については重複説明を省略し同一の構成要素に同じ参照番号を割り当てる、図72-図75を参照しながら第3の観点による第1実施形態と異なる部分を説明する。ステップS1からステップS26bまでの処理は、第3の観点による第1実施形態と同じである。ステップS26bの処理で復号鍵を所有していない場合、復号装置30の第2述語論理情報取得部35が、メモリ31からポリシーと、スキーマペアと、公開パラメータと、利用者情報を読み込み、利用者情報から、属性情報第2属性情報と言うまたは述語情報第2述語情報と言うを得るステップS27g。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipherTextPolicyである場合、CipherTextPolicyで特定される一方のスキーマ述語用スキーマとペアになっている他方のスキーマ属性用スキーマを用いて、利用者情報属性指定情報から第2属性情報を得る。ポリシーがKeyPolicyである場合、KeyPolicyで特定される一方のスキーマ属性用スキーマとペアになっている他方のスキーマ述語用スキーマを用いて、利用者情報述語指定情報から第2述語情報を得る。このように、この処理で用いられるスキーマは、ステップS17aで用いられたスキーマとペアになっているスキーマであることに注意しなければならない。第2属性情報と第2述語情報は、第3の観点による第2実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる図11-13参照。ステップS27gの処理の後、ステップS27の処理が行われる。ただし、この処理では、復号装置30の送信部34が、制御部による制御を受けて、メモリ31からの公開パラメータ、ポリシー、スキーマペア、認証情報、第2属性情報または第2述語情報を纏めた鍵要求メッセージを生成する。そして、復号装置30の送信部34は、メモリ31からのアドレスを持つ鍵生成装置に鍵要求メッセージを送信し、この鍵生成装置20の受信部が、鍵要求メッセージを受信する。そして、ステップS28aの処理で検証に成功した場合、ステップS28dの処理が行われる。鍵生成装置20は復号装置30から第2属性情報または第2述語情報を受信しているため、第3の観点による第1実施形態と異なり、この情報を生成するための機能と処理が不要である。そして、ステップS28dの処理の後のステップS32からステップS35までの各処理は、第3の観点による第1実施形態と同じである。第3の観点による第3実施形態第3の観点による第3実施形態では、第3の観点による第1実施形態と異なり、暗号化装置10の暗号化部13が、第1属性情報v=または第1述語情報w=と、メモリ11からの公開パラメータに含まれる公開鍵とコンテンツMを用いて、暗号化コンテンツC1を求める。つまり、第3の観点による第3実施形態では、例えば上記非特許文献2に示す述語暗号アルゴリズムが用いられる。この差異に伴い、第3の観点による第3実施形態は、いくつかの事項で第3の観点による第1実施形態と異なる。そこで、第3の観点による第1実施形態と重複する部分については重複説明を省略し同一の構成要素に同じ参照番号を割り当てる、図76-図79を参照しながら第3の観点による第1実施形態と異なる部分を説明する。ステップS1からステップS17aまでの処理は、第3の観点による第1実施形態と同じである。但し、公開パラメータなどの情報は第3の観点による第3実施形態の述語暗号アルゴリズムに必要な情報とされる。具体的な情報については、例えば上記非特許文献2などを参考されたい。ステップS17aの処理に続くステップS17b1の処理では、暗号化装置10の暗号化部13が、述語暗号アルゴリズムに則り、第1属性情報v=または第1述語情報w=と、メモリ11からの公開パラメータに含まれる公開鍵とコンテンツMを用いて、暗号化コンテンツC1を求めるステップS17b1。次に、ステップS17b1の処理の後、ステップS17dの処理が行われる。但し、この処理では、暗号化装置10の送信部14が、制御部による制御を受けて、暗号化コンテンツC1と、メモリ11からのスキーマペア、ポリシー、公開パラメータ、鍵生成装置のアドレスを纏めた暗号メッセージを生成するステップS17d。ステップS17dの処理に続くステップS18からステップS32までの処理は、第3の観点による第1実施形態と同じである。ステップS32の処理に続くステップS26c1の処理では、復号装置30の中継部33に含まれる復号部33cが、述語暗号アルゴリズムに則り、メモリ31から公開パラメータと復号鍵Rと暗号化コンテンツC1を読み込んで、コンテンツMを求めるステップS26c1。ステップS26c1の処理に続くステップS34とステップS35の各処理は、第3の観点による第1実施形態と同じである。第3の観点による第4実施形態第3の観点による第4実施形態は、第3の観点による第2実施形態と第3の観点による第3実施形態の組み合わせ形態に相当する。つまり、第3の観点による第4実施形態は、第3の観点による第1実施形態と異なり、1復号装置30が第2属性情報または第2述語情報を生成する、2暗号化装置10の暗号化部13が、第1属性情報v=または第1述語情報w=と、メモリ11からの公開パラメータに含まれる公開鍵とコンテンツMを用いて、暗号化コンテンツC1を求める。この差異に伴い、第3の観点による第4実施形態は、いくつかの事項で第3の観点による第1実施形態と異なる。そこで、第3の観点による第1実施形態と重複する部分については重複説明を省略し同一の構成要素に同じ参照番号を割り当てる、図80と図81も参照して第3の観点による第1実施形態と異なる部分を説明する。ステップS1からステップS17aまでの処理は、第3の観点による第1実施形態と同じである。但し、公開パラメータなどの情報は第3の観点による第4実施形態の述語暗号アルゴリズムに必要な情報とされる。具体的な情報については、例えば上記非特許文献2などを参考されたい。ステップS17aの処理に続くステップS17b1の処理では、暗号化装置10の暗号化部13が、述語暗号アルゴリズムに則り、第1属性情報v=または第1述語情報w=と、メモリ11からの公開パラメータに含まれる公開鍵とコンテンツMを用いて、暗号化コンテンツC1を求めるステップS17b1。次に、ステップS17b1の処理の後、ステップS17dの処理が行われる。但し、この処理では、暗号化装置10の送信部14が、制御部による制御を受けて、暗号化コンテンツC1と、メモリ11からのスキーマペア、ポリシー、公開パラメータ、鍵生成装置のアドレスを纏めた暗号メッセージを生成するステップS17d。ステップS17dの処理に続くステップS18からステップS26bの処理までは、第3の観点による第1実施形態と同じである。ステップS26bの処理で復号鍵を所有していない場合、復号装置30の第2述語論理情報取得部35が、メモリ31からポリシーと、スキーマペアと、公開パラメータと、利用者情報を読み込み、利用者情報から、属性情報第2属性情報と言うまたは述語情報第2述語情報と言うを得るステップS27g。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipherTextPolicyである場合、CipherTextPolicyで特定される一方のスキーマ述語用スキーマとペアになっている他方のスキーマ属性用スキーマを用いて、利用者情報属性指定情報から第2属性情報を得る。ポリシーがKeyPolicyである場合、KeyPolicyで特定される一方のスキーマ属性用スキーマとペアになっている他方のスキーマ述語用スキーマを用いて、利用者情報述語指定情報から第2述語情報を得る。このように、この処理で用いられるスキーマは、ステップS17aで用いられたスキーマとペアになっているスキーマであることに注意しなければならない。第2属性情報と第2述語情報は、第3の観点による第4実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる図11-13参照。ステップS27gの処理の後、ステップS27の処理が行われる。ただし、この処理では、復号装置30の送信部34が、制御部による制御を受けて、メモリ31からの公開パラメータ、ポリシー、スキーマペア、認証情報、第2属性情報または第2述語情報を纏めた鍵要求メッセージを生成する。そして、復号装置30の送信部34は、メモリ31からのアドレスを持つ鍵生成装置に鍵要求メッセージを送信し、この鍵生成装置20の受信部が、鍵要求メッセージを受信する。そして、ステップS28aの処理で検証に成功した場合、ステップS28dの処理が行われる。鍵生成装置20は、復号装置30から第2属性情報または第2述語情報を受信しているため、この情報を生成するための機能と処理が不要である。そして、ステップS28dの処理の後のステップS32の処理は、第3の観点による第1実施形態と同じである。ステップS32の処理に続くステップS26c1の処理では、復号装置30の復号部33が、述語暗号アルゴリズムに則り、メモリ31から公開パラメータと復号鍵Rと暗号化コンテンツC1を読み込んで、コンテンツMを求めるステップS26c1。ステップS26c1の処理に続くステップS34とステップS35の各処理は、第3の観点による第1実施形態と同じである。第3の観点による上述の各実施形態から明らかなように、中継部が暗号化コンテンツの復号を行う。このため、復号処理を例えばWWWサーバやWWWブラウザの通常のプロトコルから切り離して実施でき、既存のWWWシステムを流用することが容易になる。また、利用者が暗号化コンテンツの復号処理を行うための操作をせずとも、中継部が復号処理を行うので、利用者の利便性が高い。第3の観点による上述の各実施形態では、コンテンツサーバ装置60と復号装置30との間の通信路にキャッシュサーバ装置等が設置される運用も許容されるこの場合、暗号化コンテンツがキャッシュされる。また、クライアント端末装置を通信網5に常時接続させない運用での利便性を考慮して、中継部が復号前の暗号化コンテンツをキャッシュしてもよい。また、WWWブラウザへの復号済みコンテンツのキャッシュを回避するため、キャッシュを無効とさせるHTTPキャッシュコントロールヘッダをWWWブラウザへのレスポンスに付与させてもよい。複数の利用者が同じクライアント端末装置を使用するようなケースを考慮して、中継部が認証機能を持つシステム構成を採用してもよい。この場合には、WWWブラウザに対してHTTPのBasic認証やDigest認証を利用し、また、認証のための認証情報ユーザID/パスワードのテーブル等および認証情報の追加変更削除に関する管理機能を中継部に追加してもよい。第3の観点による上述の各実施形態は、コンテンツ配信システムとして好適に実施される。述語暗号は、暗号化に際して受信者に依存する情報に拘束されない方式であるから、不特定の者が閲覧する可能性のあるコンテンツのアクセス制御として好適である。図82に、送受信されるデータの構成を例示する。メッセージ全体の基本的なフォーマットは例えばS/MIMESecureMultipurposeInternetMailExtensionsに従うが、暗号メッセージ開始位置マーカから暗号メッセージ終了位置マーカまでのデータはXMLeXtensibleMarkupLanguageなどで適切なデータ構成が与えられる。暗号化コンテンツに関するデータを暗号ブロックとする。以下、暗号ブロックの構成要素を示す。アルゴリズム識別子ブロックには、共通鍵の暗号化に使用した述語暗号アルゴリズムとコンテンツの暗号化に使用した共通鍵暗号アルゴリズムを特定するための情報が指定される。このように、アルゴリズムを表す識別子やアルゴリズムのバージョンなどを指定できるPEVersionXCamellia[Camelliaは登録商標]など。デジタル署名ブロックにはデジタル署名が記述される。署名アルゴリズムは既存の方式を使用できる。この項目は運用形態に応じて省略可能である。公開パラメータ情報ブロックには、使用した公開情報パラメータを特定する情報が指定される。公開情報パラメータを特定する識別子、もしくは公開情報パラメータのデータそのものを指定することもできる。ポリシーフィールドには、使用したポリシーを特定する識別子が指定される。スキーマフィールドには、使用したスキーマを特定する識別子が指定されるか、もしくはスキーマのデータが記述される。暗号情報フィールドにはコンテンツの暗号化に使用した共通鍵を述語暗号で暗号化したデータ暗号情報が指定される。コンテンツファイル名、コンテンツタイプ、コンテンツファイルサイズには、それぞれ、コンテンツのファイル名、コンテンツのデータタイプ例:texthtmlなど、コンテンツのファイルサイズが記述される。属性フィールド/述語フィールドにはポリシーフィールドに対応して暗号化に使用した属性/述語を表す文字列表現を指定することができる。これらの項目は運用形態に応じては省略可能である。暗号データにはコンテンツを暗号化して生成した暗号化コンテンツが記述される。コンテンツの基本的なデータ構成はHTMLで記述され、暗号ブロックはHTML内部のコメント文で指定される。暗号ブロックはXMLなどで適切なデータ構成が与えられる。ブラウザなどで直接閲覧しようとした場合には、コメント文は表示されず、残りのHTMLの文章が表示されるので、残りのHTML部分には暗号化コンテンツであることを示すメッセージや、復号に失敗した場合のエラーメッセージなどを記述してもよい。上述の説明では、代数構造Sを有限体としたが、有限環整数剰余環でもよい。述語暗号アルゴリズムが例えば内積を用いる述語暗号アルゴリズムである場合、第1、第2属性情報ならびに第1、第2述語情報は、Sの元を成分とするベクトルとされる。また、代数構造Sの体系に応じて、公開鍵BはS上の加群Vの元の集合であり、秘密鍵Bは、加群Vの双対加群Vの元の集合であり、復号鍵Rは、双対加群Vの元とされる。なお、代数構造Sが有限体である場合、有限体上の加群Vは、いわゆる有限体上のベクトル空間のことである。このとき、暗号化部は、公開鍵Bの元に対して第1属性情報の成分を係数とするスカラー倍を行う演算または公開鍵Bの元に対して第1述語情報の成分を係数とするスカラー倍を行う演算を含む演算を行うことで暗号情報を求める。そして、鍵生成部は、秘密鍵Bの元に対して第2述語情報の成分を係数とするスカラー倍を行う演算または秘密鍵Bの元に対して第2属性情報の成分を係数とするスカラー倍を行う演算を含む演算を行うことで復号鍵Rを求める。暗号システムに含まれるハードウェアエンティティクライアント装置、鍵生成装置、登録装置、管理装置、保全装置、認証装置、コンテンツサーバ装置は、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置例えば通信ケーブルが接続可能な通信部、CPUCentralProcessingUnitキャッシュメモリやレジスタなどを備えていてもよい。、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD-ROMなどの記憶媒体を読み書きできる装置ドライブなどを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくなどでもよい。。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。上述の説明では、演算結果やその格納領域のアドレスなどを記憶するRAMやレジスタなどの記憶装置を単にメモリとした。ハードウェアエンティティでは、外部記憶装置あるいはROMなどに記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行処理される。その結果、CPUが所定の機能例えば、暗号化部、復号部、鍵生成部、第1述語論理情報取得部、第2述語論理情報取得部、制御部などを実現する。各実施形態で説明したハードウェアエンティティの細部においては、整数論における数値計算処理が必要となる場合があるが、整数論における数値計算処理自体は、周知技術と同様にして達成されるので、その演算処理方法などの詳細な説明は省略したこの点の技術水準を示す整数論における数値計算処理が可能なソフトウェアとしては、例えばPARI/GP、KANT/KASHなどが挙げられる。PARI/GPについては、例えばインターネットURLhttpparimathubordeauxfr[平成21年4月14日検索]を参照のこと。KANT/KASHについては、例えばインターネットURLhttpwwwmathtuberlindealgebra[平成21年4月14日検索]を参照のこと。。また、この点に関する文献として、参考文献Aを挙げることができる。参考文献AHCohenACourseinComputationalAlgebraicNumberTheoryGTM138SpringerVerlag1993本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。また、上記実施形態において説明したハードウェアエンティティにおける処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記憶媒体に記憶しておくことができる。コンピュータで読み取り可能な記憶媒体としては、例えば、磁気記憶装置、光ディスク、光磁気記憶媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記憶装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVDDigitalVersatileDisc、DVD-RAMRandomAccessMemory、CD-ROMCompactDiscReadOnlyMemory、CD-RRecordable/RWReWritable等を、光磁気記憶媒体として、MOMagnetoOpticaldisc等を、半導体メモリとしてEEP-ROMElectronicallyErasableandProgrammableReadOnlyMemory等を用いることができる。また、このプログラムの流通は、例えば、そのプログラムを記憶したDVD、CD-ROM等の可搬型記憶媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記憶媒体に記憶されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記憶媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASPApplicationServiceProvider型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるものコンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等を含むものとする。また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。なお、図面に記載した氏名などの情報は、架空のものであり、実際の人物とは全く関係ない。<総括>第1の観点から本発明を総括すると、下記のとおりである。[アイテム1]関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置は、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部とを含み、上記鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、上記復号装置は、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含む、暗号システム。[アイテム2]関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置は、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部とを含み、上記復号装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含み、上記鍵生成装置は、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、暗号システム。[アイテム3]関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置は、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含み、上記鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理報以下、第2論理情報と言うを得る第2命題論理情報取得部と、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、上記復号装置は、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含む、暗号システム。[アイテム4]関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置は、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含み、上記復号装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含み、上記鍵生成装置は、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、暗号システム。[アイテム5]アイテム1またはアイテム2に記載の暗号システムにおいて、上記暗号化装置の上記暗号化部は、上記共通鍵で平文を暗号化した暗号文も求め、上記復号装置の上記復号部は、上記復号処理で得られた上記共通鍵を用いる上記暗号文の第2復号処理、または、上記復号処理で得られた上記共通鍵の生成に用いる上記情報から生成された共通鍵を用いる上記暗号文の第2復号処理も行う、暗号システム。[アイテム6]アイテム1からアイテム5のいずれかに記載の暗号システムにおいて、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報は記憶媒体に記憶されており、上記復号装置は、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記記憶媒体から取得するユーザ情報取得部を含む、暗号システム。[アイテム7]アイテム1またはアイテム3に記載の暗号システムにおいて、上記鍵生成装置が用いる、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報は、上記復号装置から取得した情報である、暗号システム。[アイテム8]アイテム1からアイテム6のいずれかに記載の暗号システムにおいて、上記暗号システムは、一つまたは複数のユーザ情報管理装置をさらに含み、各上記ユーザ情報管理装置は、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶部を含み、上記鍵生成装置は、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記ユーザ情報管理装置から取得するユーザ情報取得部を含む、暗号システム。[アイテム9]アイテム1からアイテム8のいずれかに記載の暗号システムにおいて、各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、上記暗号システムは、一つまたは複数の変換規則情報ペア管理装置をさらに含み、各上記変換規則情報ペア管理装置は、各上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部を含み、上記暗号化装置は、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得部を含み、上記復号装置は、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得部を含む、暗号システム。[アイテム10]アイテム1からアイテム8のいずれかに記載の暗号システムにおいて、各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、各上記鍵生成装置は、当該鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含み、各上記暗号化装置は、少なくとも一つ以上の上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含み、各上記復号装置は、少なくとも一つ以上の上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含む、暗号システム。[アイテム11]アイテム1からアイテム10のいずれかに記載の暗号システムにおいて、上記ポリシー情報の特定対象が上記属性用変換規則情報のみ、あるいは、上記論理式用変換規則情報のみ、あるいは、上記属性用変換規則情報および上記論理式用変換規則情報であることが、上記鍵生成装置ごとに予め定められている、暗号システム。[アイテム12]アイテム1からアイテム11のいずれかに記載の暗号システムにおいて、代数構造Kを有限環または有限体として、上記第1、第2属性情報ならびに上記第1、第2論理情報は、上記Kの元を成分とするベクトルであり、上記復号部の上記復号処理では、上記暗号情報と上記復号鍵を入力とし、上記第1論理情報と上記第2属性情報との標準内積または上記第1属性情報と上記第2論理情報との標準内積の結果に依存する演算が行われる、暗号システム。[アイテム13]アイテム12に記載の暗号システムにおいて、上記公開鍵は、K上の加群Vの元の集合であり、上記秘密鍵は、上記加群Vの双対加群Vの元の集合であり、上記復号鍵は、上記双対加群Vの元であり、上記暗号化部は、上記公開鍵の元に対して上記第1属性情報の成分を係数とするスカラー倍を行う演算または上記公開鍵の元に対して上記第1論理情報の成分を係数とするスカラー倍を行う演算を含む演算を行うことで上記暗号情報を求め、上記鍵生成部は、上記秘密鍵の元に対して上記第2論理情報の成分を係数とするスカラー倍を行う演算または上記秘密鍵の元に対して上記第2属性情報の成分を係数とするスカラー倍を行う演算を含む演算を行うことで上記復号鍵を求め、上記復号部の上記復号処理に用いられる上記演算は、双線形性を有し、上記演算の結果が、双線形性に基づき上記暗号情報と上記復号鍵から取り出された上記第1論理情報と上記第2属性情報あるいは上記第1属性情報と上記第2論理情報の標準内積の結果に依存するように構成されている、暗号システム。[アイテム14]少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得ステップと、上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化ステップと、上記鍵生成装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得ステップと、上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、上記復号装置の復号部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップとを有する暗号通信方法。[アイテム15]少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得ステップと、上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化ステップと、上記復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得ステップと、上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、上記復号装置の復号部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップとを有する暗号通信方法。[アイテム16]少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得ステップと、上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化ステップと、上記鍵生成装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得ステップと、上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、上記復号装置の復号部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップとを有する暗号通信方法。[アイテム17]少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得ステップと、上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化ステップと、上記復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得ステップと、上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、上記復号装置の復号部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップとを有する暗号通信方法。[アイテム18]アイテム14またはアイテム15に記載の暗号通信方法において、上記暗号化ステップは、上記暗号化部が上記共通鍵で平文を暗号化した暗号文も求める暗号文生成ステップを含み、上記復号ステップは、上記復号部が、上記復号処理で得られた上記共通鍵を用いる上記暗号文の第2復号処理、または、上記復号処理で得られた上記共通鍵の生成に用いる上記情報から生成された共通鍵を用いる上記暗号文の第2復号処理を行う第2復号ステップを含む、暗号通信方法。[アイテム19]アイテム14からアイテム18のいずれかに記載の暗号通信方法において、上記復号装置の取得部が、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶媒体から、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を取得する取得ステップを有する暗号通信方法。[アイテム20]アイテム14またはアイテム16に記載の暗号通信方法において、上記復号装置の送信部が、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記鍵生成装置に送信するユーザ情報送信ステップと、上記鍵生成装置の受信部が、上記復号装置から上記利用者に対応する上記属性指定情報または上記論理式指定情報を受信するユーザ情報受信ステップとを有する暗号通信方法。[アイテム21]アイテム14からアイテム18のいずれかに記載の暗号通信方法において、上記暗号システムは、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶部を備える、一つまたは複数のユーザ情報管理装置を含んでおり、上記鍵生成装置のユーザ情報取得部が、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記ユーザ情報管理装置から取得するユーザ情報取得ステップとを有する暗号通信方法。[アイテム22]アイテム14からアイテム21のいずれかに記載の暗号通信方法において、各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、上記暗号システムは、各上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部を備える、一つまたは複数の変換規則情報ペア管理装置を含んでおり、上記暗号化装置の変換規則情報ペア取得部が、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得ステップと、上記復号装置の変換規則情報ペア取得部が、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得ステップとを有する暗号通信方法。[アイテム23]アイテム14からアイテム22のいずれかに記載の暗号通信方法において、上記ポリシー情報の特定対象が上記属性用変換規則情報のみ、あるいは、上記論理式用変換規則情報のみ、あるいは、上記属性用変換規則情報および上記論理式用変換規則情報であることが、上記鍵生成装置ごとに予め定められている、暗号通信方法。[アイテム24]アイテム14からアイテム23のいずれかに記載の暗号通信方法において、代数構造Kを有限環または有限体として、上記第1、第2属性情報ならびに上記第1、第2論理情報は、上記Kの元を成分とするベクトルであり、上記復号ステップでは、上記復号部が、上記暗号情報と上記復号鍵を入力とし、上記第1論理情報と上記第2属性情報との標準内積または上記第1属性情報と上記第2論理情報との標準内積の結果に依存する演算を行う、暗号通信方法。[アイテム25]アイテム24に記載の暗号通信方法において、上記公開鍵は、K上の加群Vの元の集合であり、上記秘密鍵は、上記加群Vの双対加群Vの元の集合であり、上記復号鍵は、上記双対加群Vの元であり、上記暗号化ステップでは、上記暗号化部が、上記公開鍵の元に対して上記第1属性情報の成分を係数とするスカラー倍を行う演算または上記公開鍵の元に対して上記第1論理情報の成分を係数とするスカラー倍を行う演算を含む演算を行うことで上記暗号情報を求め、上記鍵生成ステップでは、上記鍵生成部が、上記秘密鍵の元に対して上記第2論理情報の成分を係数とするスカラー倍を行う演算または上記秘密鍵の元に対して上記第2属性情報の成分を係数とするスカラー倍を行う演算を含む演算を行うことで上記復号鍵を求め、上記復号部の上記復号処理に用いられる上記演算は、双線形性を有し、上記演算の結果が、双線形性に基づき上記暗号情報と上記復号鍵から取り出された上記第1論理情報と上記第2属性情報あるいは上記第1属性情報と上記第2論理情報の標準内積の結果に依存するように構成されている、暗号通信方法。[アイテム26]少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける暗号化装置であって、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部とを含む暗号化装置。[アイテム27]少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける暗号化装置であって、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含む暗号化装置。[アイテム28]少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける鍵生成装置であって、上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む鍵生成装置。[アイテム29]少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける鍵生成装置であって、上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から生成された属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うと、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部を含む鍵生成装置。[アイテム30]少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、上記鍵生成装置が生成した復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号化装置が生成した暗号情報に対する復号処理を行う復号部を含む復号装置。[アイテム31]少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、上記鍵生成装置が生成した復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号化装置が生成した暗号情報に対する復号処理を行う復号部を含む復号装置。[アイテム32]アイテム26またはアイテム27に記載の暗号化装置としてコンピュータを機能させるためのプログラム。[アイテム33]アイテム28またはアイテム29に記載の鍵生成装置としてコンピュータを機能させるためのプログラム。[アイテム34]アイテム30またはアイテム31に記載の復号装置としてコンピュータを機能させるためのプログラム。[アイテム35]アイテム32に記載のプログラム、アイテム33に記載のプログラム、アイテム34に記載のプログラムのうち少なくともいずれかを格納したコンピュータ読み取り可能な記憶媒体。第2の観点から本発明を総括すると、下記のとおりである。なお、アイテム番号をリセットして、1から順番にアイテム番号を割り当てる。[アイテム1]少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得ステップと、上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化ステップと、上記暗号化装置の送信部が、上記暗号情報を第1の復号装置に送信する暗号情報送信ステップと、上記第1の復号装置の受信部が、上記暗号化装置から上記暗号情報を受信する暗号情報受信ステップと、上記鍵生成装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記第1の復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得ステップと、上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる第1の復号鍵を生成する鍵生成ステップと、上記鍵生成装置の送信部が、上記第1の復号鍵を上記第1の復号装置に送信する復号鍵送信ステップと、上記第1の復号装置の受信部が、上記鍵生成装置から上記第1の復号鍵を受信する復号鍵受信ステップと、上記第1の復号装置の復号部が、上記第1の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと、上記第1の復号装置の転送部が、上記暗号情報を当該第1の復号装置以外の第2の復号装置に転送する転送ステップと、上記第2の復号装置の受信部が、上記暗号情報を上記第1の復号装置から受信する受信ステップと、上記鍵生成装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記第2の復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第3属性情報と言うまたは論理情報以下、第3論理情報と言うを得る第3命題論理情報取得ステップと、上記鍵生成装置の鍵生成部が、上記第3属性情報または上記第3論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる第2の復号鍵を生成する鍵生成ステップと、上記鍵生成装置の送信部が、上記第2の復号鍵を上記第2の復号装置に送信する復号鍵送信ステップと、上記第2の復号装置の受信部が、上記鍵生成装置から上記第2の復号鍵を受信する復号鍵受信ステップと、上記第2の復号装置の復号部が、上記第2の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップとを有する暗号通信方法。[アイテム2]少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得ステップと、上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化ステップと、上記暗号化装置の送信部が、上記暗号情報を第1の復号装置に送信する暗号情報送信ステップと、上記第1の復号装置の受信部が、上記暗号化装置から上記暗号情報を受信する暗号情報受信ステップと、上記第1の復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該第1の復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得ステップと、上記第1の復号装置の送信部が、上記第2属性情報または上記第2論理情報を上記鍵生成装置に送信する論理情報送信ステップと、上記鍵生成装置の受信部が、上記第1の復号装置から上記第2属性情報または上記第2論理情報を受信する論理情報受信ステップと、上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる第1の復号鍵を生成する鍵生成ステップと、上記鍵生成装置の送信部が、上記第1の復号鍵を上記第1の復号装置に送信する復号鍵送信ステップと、上記第1の復号装置の受信部が、上記鍵生成装置から上記第1の復号鍵を受信する復号鍵受信ステップと、上記第1の復号装置の復号部が、上記第1の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと、上記第1の復号装置の転送部が、上記暗号情報を当該第1の復号装置以外の第2の復号装置に転送する転送ステップと、上記第2の復号装置の受信部が、上記暗号情報を上記第1の復号装置から受信する受信ステップと、上記第2の復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該第2の復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第3属性情報と言うまたは論理情報以下、第3論理情報と言うを得る第3命題論理情報取得ステップと、上記第2の復号装置の送信部が、上記第3属性情報または上記第3論理情報を上記鍵生成装置に送信する論理情報送信ステップと、上記鍵生成装置の受信部が、上記第2の復号装置から上記第3属性情報または上記第3論理情報を受信する論理情報受信ステップと、上記鍵生成装置の鍵生成部が、上記第3属性情報または上記第3論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる第2の復号鍵を生成する鍵生成ステップと、上記鍵生成装置の送信部が、上記第2の復号鍵を上記第2の復号装置に送信する復号鍵送信ステップと、上記第2の復号装置の受信部が、上記鍵生成装置から上記第2の復号鍵を受信する復号鍵受信ステップと、上記第2の復号装置の復号部が、上記第2の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと、を有する暗号通信方法。[アイテム3]少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得ステップと、上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化ステップと、上記暗号化装置の送信部が、上記暗号情報を第1の復号装置に送信する暗号情報送信ステップと、上記第1の復号装置の受信部が、上記暗号化装置から上記暗号情報を受信する暗号情報受信ステップと、上記鍵生成装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記第1の復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得ステップと、上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる第1の復号鍵を生成する鍵生成ステップと、上記鍵生成装置の送信部が、上記第1の復号鍵を上記第1の復号装置に送信する復号鍵送信ステップと、上記第1の復号装置の受信部が、上記鍵生成装置から上記第1の復号鍵を受信する復号鍵受信ステップと、上記第1の復号装置の復号部が、上記第1の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと、上記第1の復号装置の転送部が、上記暗号情報を当該第1の復号装置以外の第2の復号装置に転送する転送ステップと、上記第2の復号装置の受信部が、上記暗号情報を上記第1の復号装置から受信する受信ステップと、上記鍵生成装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記第2の復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第3属性情報と言うまたは論理情報以下、第3論理情報と言うを得る第3命題論理情報取得ステップと、上記鍵生成装置の鍵生成部が、上記第3属性情報または上記第3論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる第2の復号鍵を生成する鍵生成ステップと、上記鍵生成装置の送信部が、上記第2の復号鍵を上記第2の復号装置に送信する復号鍵送信ステップと、上記第2の復号装置の受信部が、上記鍵生成装置から上記第2の復号鍵を受信する復号鍵受信ステップと、上記第2の復号装置の復号部が、上記第2の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップとを有する暗号通信方法。[アイテム4]少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得ステップと、上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化ステップと、上記暗号化装置の送信部が、上記暗号情報を第1の復号装置に送信する暗号情報送信ステップと、上記第1の復号装置の受信部が、上記暗号化装置から上記暗号情報を受信する暗号情報受信ステップと、上記第1の復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該第1の復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得ステップと、上記第1の復号装置の送信部が、上記第2属性情報または上記第2論理情報を上記鍵生成装置に送信する論理情報送信ステップと、上記鍵生成装置の受信部が、上記第1の復号装置から上記第2属性情報または上記第2論理情報を受信する論理情報受信ステップと、上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる第1の復号鍵を生成する鍵生成ステップと、上記鍵生成装置の送信部が、上記第1の復号鍵を上記第1の復号装置に送信する復号鍵送信ステップと、上記第1の復号装置の受信部が、上記鍵生成装置から上記第1の復号鍵を受信する復号鍵受信ステップと、上記第1の復号装置の復号部が、上記第1の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと、上記第1の復号装置の転送部が、上記暗号情報を当該第1の復号装置以外の第2の復号装置に転送する転送ステップと、上記第2の復号装置の受信部が、上記暗号情報を上記第1の復号装置から受信する受信ステップと、上記第2の復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該第2の復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第3属性情報と言うまたは論理情報以下、第3論理情報と言うを得る第3命題論理情報取得ステップと、上記第2の復号装置の送信部が、上記第3属性情報または上記第3論理情報を上記鍵生成装置に送信する論理情報送信ステップと、上記鍵生成装置の受信部が、上記第2の復号装置から上記第3属性情報または上記第3論理情報を受信する論理情報受信ステップと、上記鍵生成装置の鍵生成部が、上記第3属性情報または上記第3論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる第2の復号鍵を生成する鍵生成ステップと、上記鍵生成装置の送信部が、上記第2の復号鍵を上記第2の復号装置に送信する復号鍵送信ステップと、上記第2の復号装置の受信部が、上記鍵生成装置から上記第2の復号鍵を受信する復号鍵受信ステップと、上記第2の復号装置の復号部が、上記第2の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと、を有する暗号通信方法。[アイテム5]アイテム1またはアイテム2に記載の暗号通信方法において、上記暗号化ステップは、上記暗号化部が上記共通鍵で平文を暗号化した暗号文も求める暗号文生成ステップを含み、上記復号ステップは、上記復号部が、上記復号処理で得られた上記共通鍵を用いる上記暗号文の第2復号処理、または、上記復号処理で得られた上記共通鍵の生成に用いる上記情報から生成された共通鍵を用いる上記暗号文の第2復号処理を行う第2復号ステップを含む、暗号通信方法。[アイテム6]アイテム1からアイテム5のいずれかに記載の暗号通信方法において、上記復号装置の取得部が、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶媒体から、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を取得する取得ステップを有する暗号通信方法。[アイテム7]アイテム1またはアイテム3に記載の暗号通信方法において、上記復号装置の送信部が、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記鍵生成装置に送信するユーザ情報送信ステップと、上記鍵生成装置の受信部が、上記復号装置から上記利用者に対応する上記属性指定情報または上記論理式指定情報を受信するユーザ情報受信ステップとを有する暗号通信方法。[アイテム8]アイテム1からアイテム6のいずれかに記載の暗号通信方法において、上記暗号システムは、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶部を備える、一つまたは複数のユーザ情報管理装置を含んでおり、上記鍵生成装置のユーザ情報取得部が、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記ユーザ情報管理装置から取得するユーザ情報取得ステップとを有する暗号通信方法。[アイテム9]アイテム1からアイテム8のいずれかに記載の暗号通信方法において、各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、上記暗号システムは、各上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部を備える、一つまたは複数の変換規則情報ペア管理装置を含んでおり、上記暗号化装置の変換規則情報ペア取得部が、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得ステップと、上記復号装置の変換規則情報ペア取得部が、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得ステップとを有する暗号通信方法。[アイテム10]アイテム1からアイテム9のいずれかに記載の暗号通信方法において、上記ポリシー情報の特定対象が上記属性用変換規則情報のみ、あるいは、上記論理式用変換規則情報のみ、あるいは、上記属性用変換規則情報および上記論理式用変換規則情報であることが、上記鍵生成装置ごとに予め定められている、暗号通信方法。[アイテム11]アイテム1からアイテム10のいずれかに記載の暗号通信方法において、代数構造Kを有限環または有限体として、上記第1、第2属性情報ならびに上記第1、第2論理情報は、上記Kの元を成分とするベクトルであり、上記復号ステップでは、上記復号部が、上記暗号情報と上記復号鍵を入力とし、上記第1論理情報と上記第2属性情報との標準内積または上記第1属性情報と上記第2論理情報との標準内積の結果に依存する演算を行う、暗号通信方法。[アイテム12]アイテム11に記載の暗号通信方法において、上記公開鍵は、K上の加群Vの元の集合であり、上記秘密鍵は、上記加群Vの双対加群Vの元の集合であり、上記復号鍵は、上記双対加群Vの元であり、上記暗号化ステップでは、上記暗号化部が、上記公開鍵の元に対して上記第1属性情報の成分を係数とするスカラー倍を行う演算または上記公開鍵の元に対して上記第1論理情報の成分を係数とするスカラー倍を行う演算を含む演算を行うことで上記暗号情報を求め、上記鍵生成ステップでは、上記鍵生成部が、上記秘密鍵の元に対して上記第2論理情報の成分を係数とするスカラー倍を行う演算または上記秘密鍵の元に対して上記第2属性情報の成分を係数とするスカラー倍を行う演算を含む演算を行うことで上記復号鍵を求め、上記復号部の上記復号処理に用いられる上記演算は、双線形性を有し、上記演算の結果が、双線形性に基づき上記暗号情報と上記復号鍵から取り出された上記第1論理情報と上記第2属性情報あるいは上記第1属性情報と上記第2論理情報の標準内積の結果に依存するように構成されている、暗号通信方法。[アイテム13]関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置は、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部とを含み、上記鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、上記復号装置は、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部と、上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部とを含む、暗号システム。[アイテム14]関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置は、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部とを含み、上記復号装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部と、上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部とを含み、上記鍵生成装置は、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、暗号システム。[アイテム15]関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置は、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含み、上記鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、上記復号装置は、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部と、上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部とを含む、暗号システム。[アイテム16]関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置は、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含み、上記復号装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部と、上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部とを含み、上記鍵生成装置は、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、暗号システム。[アイテム17]アイテム13またはアイテム14に記載の暗号システムにおいて、上記暗号化装置の上記暗号化部は、上記共通鍵で平文を暗号化した暗号文も求め、上記復号装置の上記復号部は、上記復号処理で得られた上記共通鍵を用いる上記暗号文の第2復号処理、または、上記復号処理で得られた上記共通鍵の生成に用いる上記情報から生成された共通鍵を用いる上記暗号文の第2復号処理も行う、暗号システム。[アイテム18]少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、上記鍵生成装置が生成した復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号化装置が生成した暗号情報に対する復号処理を行う復号部と、上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部とを含む復号装置。[アイテム19]少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、上記鍵生成装置が生成した復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号化装置が生成した暗号情報に対する復号処理を行う復号部と、上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部とを含む復号装置。[アイテム20]アイテム18またはアイテム19に記載の復号装置としてコンピュータを機能させるためのプログラム。[アイテム21]アイテム20に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。第3の観点から本発明を総括すると、下記のとおりである。なお、アイテム番号をリセットして、1から順番にアイテム番号を割り当てる。[アイテム1]関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置は、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化部とを含み、上記コンテンツサーバ装置は、各上記暗号化装置から送られた上記暗号情報および上記暗号化コンテンツを記憶する記憶部と、上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信部とを含み、上記鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、上記復号装置は、ブラウザ部と中継部とを含み、上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行う、暗号システム。[アイテム2]関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置は、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化部とを含み、上記コンテンツサーバ装置は、各上記暗号化装置から送られた上記暗号情報および上記暗号化コンテンツを記憶する記憶部と、上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信部とを含み、上記復号装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、ブラウザ部と、中継部とを含み、上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行い、上記鍵生成装置は、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、暗号システム。[アイテム3]関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置は、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化部とを含み、上記コンテンツサーバ装置は、各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶部と、上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信部とを含み、上記鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成部とを含み、上記復号装置は、ブラウザ部と中継部とを含み、上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う、暗号システム。[アイテム4]関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置は、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得部と、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化部とを含み、上記コンテンツサーバ装置は、各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶部と、上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信部とを含み、上記復号装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得部と、ブラウザ部と、中継部とを含み、上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行い、上記鍵生成装置は、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成部とを含む、暗号システム。[アイテム5]アイテム1からアイテム4のいずれかに記載の暗号システムにおいて、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報は記憶媒体に記憶されており、上記復号装置は、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記記憶媒体から取得するユーザ情報取得部を含む、暗号システム。[アイテム6]アイテム1またはアイテム3に記載の暗号システムにおいて、上記鍵生成装置が用いる、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報は、上記復号装置から取得した情報である、暗号システム。[アイテム7]アイテム1からアイテム6のいずれかに記載の暗号システムにおいて、上記暗号システムは、一つまたは複数のユーザ情報管理装置をさらに含み、各上記ユーザ情報管理装置は、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶部を含み、上記鍵生成装置は、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記ユーザ情報管理装置から取得するユーザ情報取得部を含む、暗号システム。[アイテム8]アイテム1からアイテム7のいずれかに記載の暗号システムにおいて、各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、上記暗号システムは、一つまたは複数の変換規則情報ペア管理装置をさらに含み、各上記変換規則情報ペア管理装置は、各上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部を含み、上記暗号化装置は、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得部を含み、上記復号装置は、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得部を含む、暗号システム。[アイテム9]アイテム1からアイテム7のいずれかに記載の暗号システムにおいて、各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、各上記鍵生成装置は、当該鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含み、各上記暗号化装置は、少なくとも一つ以上の上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含み、各上記復号装置は、少なくとも一つ以上の上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含む、暗号システム。[アイテム10]アイテム1からアイテム9のいずれかに記載の暗号システムにおいて、上記ポリシー情報の特定対象が上記属性用変換規則情報のみ、あるいは、上記論理式用変換規則情報のみ、あるいは、上記属性用変換規則情報および上記論理式用変換規則情報であることが、上記鍵生成装置ごとに予め定められている、暗号システム。[アイテム11]アイテム1からアイテム10のいずれかに記載の暗号システムにおいて、代数構造Kを有限環または有限体として、上記第1、第2属性情報ならびに上記第1、第2論理情報は、上記Kの元を成分とするベクトルであり、上記復号部の上記復号処理では、上記第1論理情報と上記第2属性情報との標準内積または上記第1属性情報と上記第2論理情報との標準内積の結果に依存する演算が行われる、暗号システム。[アイテム12]アイテム11に記載の暗号システムにおいて、上記公開鍵は、K上の加群Vの元の集合であり、上記秘密鍵は、上記加群Vの双対加群Vの元の集合であり、上記復号鍵は、上記双対加群Vの元であり、上記暗号化部は、上記公開鍵の元に対して上記第1属性情報の成分を係数とするスカラー倍を行う演算または上記公開鍵の元に対して上記第1論理情報の成分を係数とするスカラー倍を行う演算を含む演算を行うことで上記暗号情報を求め、上記鍵生成部は、上記秘密鍵の元に対して上記第2論理情報の成分を係数とするスカラー倍を行う演算または上記秘密鍵の元に対して上記第2属性情報の成分を係数とするスカラー倍を行う演算を含む演算を行うことで上記復号鍵を求め、上記復号部の上記復号処理に用いられる上記演算は、双線形性を有し、上記演算の結果が、双線形性に基づき上記暗号情報または上記暗号化コンテンツと上記復号鍵から取り出された上記第1論理情報と上記第2属性情報あるいは上記第1属性情報と上記第2論理情報の標準内積の結果に依存するように構成されている、暗号システム。[アイテム13]少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得ステップと、上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化ステップと、上記暗号化装置の送信部が、上記暗号化コンテンツとこれに対応する上記暗号情報を上記コンテンツサーバ装置に送信する送信ステップと、上記コンテンツサーバ装置の記憶部が、各上記暗号化装置から送られた上記暗号情報と上記暗号化コンテンツを記憶する記憶ステップと、上記復号装置のブラウザ部が、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行う取得要求処理ステップと、上記復号装置の中継部が、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信する送信ステップと、上記コンテンツサーバ装置の送信部が、上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信ステップと、上記復号装置の受信部が、上記コンテンツサーバ装置から上記暗号化コンテンツと上記暗号情報を受信する受信ステップと、上記鍵生成装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得ステップと、上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、上記鍵生成装置の送信部が、上記復号鍵を上記復号装置に送信する復号鍵送信ステップと、上記復号装置の受信部が、上記鍵生成装置から上記復号鍵を受信する復号鍵受信ステップと、上記復号装置の中継部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行う復号ステップと、上記復号装置のブラウザ部が、上記暗号化コンテンツから復号されたコンテンツを表示する表示ステップとを有する暗号通信方法。[アイテム14]少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得ステップと、上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化ステップと、上記暗号化装置の送信部が、上記暗号化コンテンツとこれに対応する上記暗号情報を上記コンテンツサーバ装置に送信する送信ステップと、上記コンテンツサーバ装置の記憶部が、各上記暗号化装置から送られた上記暗号情報および上記暗号化コンテンツを記憶する記憶ステップと、上記復号装置のブラウザ部が、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行う取得要求処理ステップと、上記復号装置の中継部が、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信する送信ステップと、上記コンテンツサーバ装置の送信部が、上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信ステップと、上記復号装置の受信部が、上記コンテンツサーバ装置から上記暗号化コンテンツと上記暗号情報を受信する受信ステップと、上記復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得ステップと、上記復号装置の送信部が、上記第2属性情報または上記第2論理情報を上記鍵生成装置に送信する論理情報送信ステップと、上記鍵生成装置の受信部が、上記復号装置から上記第2属性情報または上記第2論理情報を受信する論理情報受信ステップと、上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、上記鍵生成装置の送信部が、上記復号鍵を上記復号装置に送信する復号鍵送信ステップと、上記復号装置の受信部が、上記鍵生成装置から上記復号鍵を受信する復号鍵受信ステップと、上記復号装置の中継部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行う復号ステップと、上記復号装置のブラウザ部が、上記暗号化コンテンツから復号されたコンテンツを表示する表示ステップとを有する暗号通信方法。[アイテム15]少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得ステップと、上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化ステップと、上記暗号化装置の送信部が、上記暗号化コンテンツを上記コンテンツサーバ装置に送信する送信ステップと、上記コンテンツサーバ装置の記憶部が、各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶ステップと、上記復号装置のブラウザ部が、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行う取得要求処理ステップと、上記復号装置の中継部が、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信する送信ステップと、上記コンテンツサーバ装置の送信部が、上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信ステップと、上記復号装置の受信部が、上記コンテンツサーバ装置から上記暗号化コンテンツを受信する受信ステップと、上記鍵生成装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得ステップと、上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成ステップと、上記鍵生成装置の送信部が、上記復号鍵を上記復号装置に送信する復号鍵送信ステップと、上記復号装置の受信部が、上記鍵生成装置から上記復号鍵を受信する復号鍵受信ステップと、上記復号装置の中継部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う復号ステップと、上記復号装置のブラウザ部が、上記暗号化コンテンツから復号されたコンテンツを表示する表示ステップとを有する暗号通信方法。[アイテム16]少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報以下、第1属性情報と言うまたは論理情報以下、第1論理情報と言うを得る第1命題論理情報取得ステップと、上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化ステップと、上記暗号化装置の送信部が、上記暗号化コンテンツを上記コンテンツサーバ装置に送信する送信ステップと、上記コンテンツサーバ装置の記憶部が、各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶ステップと、上記復号装置のブラウザ部が、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行う取得要求処理ステップと、上記復号装置の中継部が、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信する送信ステップと、上記コンテンツサーバ装置の送信部が、上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信ステップと、上記復号装置の受信部が、上記コンテンツサーバ装置から上記暗号化コンテンツを受信する受信ステップと、上記復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報以下、第2属性情報と言うまたは論理情報以下、第2論理情報と言うを得る第2命題論理情報取得ステップと、上記復号装置の送信部が、上記第2属性情報または上記第2論理情報を上記鍵生成装置に送信する論理情報送信ステップと、上記鍵生成装置の受信部が、上記復号装置から上記第2属性情報または上記第2論理情報を受信する論理情報受信ステップと、上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成ステップと、上記鍵生成装置の送信部が、上記復号鍵を上記復号装置に送信する復号鍵送信ステップと、上記復号装置の受信部が、上記鍵生成装置から上記復号鍵を受信する復号鍵受信ステップと、上記復号装置の中継部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う復号ステップと、上記復号装置のブラウザ部が、上記暗号化コンテンツから復号されたコンテンツを表示する表示ステップとを有する暗号通信方法。[アイテム17]少なくとも、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵でコンテンツを暗号化した暗号化コンテンツとを求める、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、上記暗号化コンテンツと上記暗号情報を記憶している一つまたは複数のコンテンツサーバ装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、ブラウザ部と中継部とを含み、上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行う、復号装置。[アイテム18]少なくとも、関数暗号アルゴリズムに則り、コンテンツを暗号化した暗号化コンテンツを求める、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、上記暗号化コンテンツを記憶している一つまたは複数のコンテンツサーバ装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、ブラウザ部と中継部とを含み、上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う、復号装置。[アイテム19]少なくとも、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵でコンテンツを暗号化した暗号化コンテンツとを求める一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおけるコンテンツサーバ装置であって、各上記暗号化装置から送られた上記暗号情報および上記暗号化コンテンツを記憶する記憶部と、上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信部とを含むコンテンツサーバ装置。[アイテム20]少なくとも、関数暗号アルゴリズムに則り、コンテンツを暗号化した暗号化コンテンツを求める一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報以下、属性指定情報と言うを関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報以下、属性用変換規則情報と言うと論理式を指定する情報以下、論理式指定情報と言うを当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報以下、論理式用変換規則情報と言うとのペアである変換規則情報ペアが予め一つまたは複数定められており、上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおけるコンテンツサーバ装置であって、各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶部と、上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信部とを含むコンテンツサーバ装置。[アイテム21]アイテム17またはアイテム18に記載の復号装置としてコンピュータを機能させるためのプログラム。[アイテム22]アイテム19またはアイテム20に記載のコンテンツサーバ装置としてコンピュータを機能させるためのプログラム。[アイテム23]アイテム21に記載のプログラムおよび/またはアイテム22に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。"