JP5422053B2 - 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 - Google Patents
暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 Download PDFInfo
- Publication number
- JP5422053B2 JP5422053B2 JP2012525451A JP2012525451A JP5422053B2 JP 5422053 B2 JP5422053 B2 JP 5422053B2 JP 2012525451 A JP2012525451 A JP 2012525451A JP 2012525451 A JP2012525451 A JP 2012525451A JP 5422053 B2 JP5422053 B2 JP 5422053B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- attribute
- conversion rule
- decryption
- encryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
- H04L9/0836—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0847—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Description
本発明は、暗号通信技術に関し、より詳しくは、関数暗号に依拠する暗号通信技術に関する。
これまで暗号技術として、例えば共通鍵暗号、公開鍵暗号などが知られている。
共通鍵暗号は、メッセージの送信者が共通鍵でメッセージを暗号化して暗号化メッセージを求め、受信者が送信者と同じ共通鍵を使って暗号化メッセージを復号してメッセージを得る方式である。このため、送信者と受信者との間で安全に共通鍵を所有する手続きが必要になる。
公開鍵暗号は、(1)受信者が一意の公開鍵とそれに対応する一意の秘密鍵を用意し、(2)送信者は受信者の公開鍵でメッセージを暗号化して暗号化メッセージを求め、(3)受信者がその秘密鍵で暗号化メッセージを復号してメッセージを得る方式である。このため、送信者がメッセージを暗号化する前に受信者の公開鍵を入手する必要がある。つまり、受信者が公開鍵を生成しないと暗号化できない。
また、近年、述語暗号が提案されている。述語暗号は、送信者による暗号化の過程で暗号メッセージに或る情報Xが組み込まれ、当該情報Xと特定の関係を満たす情報Yを持つ受信者が、暗号メッセージの復号や、メッセージを知ることなくメッセージに関する情報を取得することができる方式である。送信者は、暗号化の際に、必ずしも受信者の持つ情報Yを知っている必要はない。また、送信者は、必ずしも、暗号化する前に受信者を特定している必要もない。送信者は、自由に、能動的に、主導権を持って、情報Xを決めることができる。講学的に、情報Xは属性I(変数)として、情報Yは述語f(命題関数、ブール関数)として表される。復号に際し、情報Xと情報Yとが満たすべき特定の関係は、例えばf(I)=Trueである。
NTT情報流通プラットフォーム研究所情報セキュリティプロジェクト、"NTTの暗号要素技術"、インターネット〈URL: http://info.isl.ntt.co.jp/crypt/camellia/technology.html〉[平成22年7月15日検索]
J. Katz, A. Sahai and B. Waters, "Predicate Encryption Supporting Disjunction, Polynomial Equations, and Inner Products", EUROCRYPT 2008, 146-162.
本発明は、柔軟に運用可能な、関数暗号に依拠する暗号通信技術を提供することを目的とする。
第1の観点による本発明の概要は次のとおりである。
関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含む。
そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。
また、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められている。
また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第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論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。
関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含む。
そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。
また、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められている。
また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第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論理情報と、鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化処理を行う。
鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得処理と、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。
復号装置は、復号鍵を用いて、関数暗号アルゴリズムに則り、暗号情報に対する復号処理を行う。
あるいは、第1の観点による本発明の概要は次のとおりである。
関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含む。
そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。
また、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められている。
また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化処理を行う。
復号装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第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論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。
また、復号装置は、復号鍵を用いて、関数暗号アルゴリズムに則り、暗号情報に対する復号処理を行う。そして、この復号装置は、暗号情報を別の復号装置に転送する転送処理も行う。転送する暗号情報は、暗号化装置から送られたものであってもよいし、別の復号装置から転送されたものであってもよい。暗号システムに含まれる復号装置のうち少なくとも一部の復号装置が転送処理を行う機能を持つが、全ての復号装置がこの転送機能を持つことは要求されない。転送された暗号情報を受信した復号装置は、必要に応じて鍵生成装置に復号鍵を生成して貰い、上記復号処理を行う。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおいて、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
そして、暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化処理を行う。
また、鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第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論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。
上述の復号装置は、暗号情報を別の復号装置に転送する転送処理も行う。転送する暗号情報は、暗号化装置から送られたものであってもよいし、別の復号装置から転送されたものであってもよい。暗号システムに含まれる復号装置のうち少なくとも一部の復号装置が転送処理を行う機能を持つが、全ての復号装置がこの転送機能を持つことは要求されない。転送された暗号情報を受信した復号装置は、必要に応じて鍵生成装置に復号鍵を生成して貰い、上記復号処理を行う。
あるいは、第2の観点による本発明の概要は次のとおりである。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおいて、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
そして、暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化処理を行う。
また、鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第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論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。
上述の復号装置は、暗号情報を別の復号装置に転送する転送処理も行う。転送する暗号情報は、暗号化装置から送られたものであってもよいし、別の復号装置から転送されたものであってもよい。暗号システムに含まれる復号装置のうち少なくとも一部の復号装置が転送処理を行う機能を持つが、全ての復号装置がこの転送機能を持つことは要求されない。転送された暗号情報を受信した復号装置は、必要に応じて鍵生成装置に復号鍵を生成して貰い、上記復号処理を行う。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおいて、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
そして、暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化処理を行う。
また、復号装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得処理と、鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、暗号情報に対する復号処理を行う。
また、鍵生成装置は、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。
上述の復号装置は、暗号情報を別の復号装置に転送する転送処理も行う。転送する暗号情報は、暗号化装置から送られたものであってもよいし、別の復号装置から転送されたものであってもよい。暗号システムに含まれる復号装置のうち少なくとも一部の復号装置が転送処理を行う機能を持つが、全ての復号装置がこの転送機能を持つことは要求されない。転送された暗号情報を受信した復号装置は、必要に応じて鍵生成装置に復号鍵を生成して貰い、上記復号処理を行う。
第3の観点による本発明の概要は次のとおりである。
関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含む。
そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。
また、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められている。
また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化処理を行う。
コンテンツサーバ装置は、各暗号化装置から送られた暗号情報および暗号化コンテンツを記憶する処理と、復号装置からの要求に応じて暗号化コンテンツとこれに対応する暗号情報を当該復号装置に送信する送信処理を行う。
鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第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論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。
関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含む。
そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。
また、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められている。
また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化処理を行う。
コンテンツサーバ装置は、各暗号化装置から送られた暗号情報および暗号化コンテンツを記憶する処理と、復号装置からの要求に応じて暗号化コンテンツとこれに対応する暗号情報を当該復号装置に送信する送信処理を行う。
復号装置は、コンテンツサーバ装置に対する暗号化コンテンツの取得要求処理と、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得処理と、復号鍵を用いて、関数暗号アルゴリズムに則り、コンテンツサーバ装置から取得した暗号情報に対する復号処理と、この復号処理で得られた共通鍵を用いて、コンテンツサーバ装置から取得した暗号化コンテンツを復号するコンテンツ取得処理と、暗号化コンテンツから復号されたコンテンツを表示する処理を行う。
鍵生成装置は、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成処理を行う。
あるいは、第3の観点による本発明の概要は次のとおりである。
関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含む。
そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。
また、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められている。
また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化処理を行う。
コンテンツサーバ装置は、各暗号化装置から送られた暗号化コンテンツを記憶する処理と、復号装置からの要求に応じて暗号化コンテンツを当該復号装置に送信する送信処理を行う。
鍵生成装置は、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第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論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成処理を行う。
関数暗号を用いる暗号システムは、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含む。
そして、各鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められている。
また、属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められている。
また、属性用変換規則情報と論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている。
暗号化装置は、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じてポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得処理と、第1属性情報または第1論理情報と、鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化処理を行う。
コンテンツサーバ装置は、各暗号化装置から送られた暗号化コンテンツを記憶する処理と、復号装置からの要求に応じて暗号化コンテンツを当該復号装置に送信する送信処理を行う。
復号装置は、コンテンツサーバ装置に対する暗号化コンテンツの取得要求処理と、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得処理と、復号鍵を用いて、関数暗号アルゴリズムに則り、コンテンツサーバ装置から取得した暗号化コンテンツを復号する復号処理と、暗号化コンテンツから復号されたコンテンツを表示する処理を行う。
鍵生成装置は、第2属性情報または第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成処理を行う。
本発明に拠れば、変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる属性用変換規則情報と論理式用変換規則情報のうち、暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報または論理情報を得ることから、関数暗号に依拠する暗号通信を柔軟に運用できる。
<関数暗号の概要>
近年、関数暗号と呼ばれるIDベース暗号の拡張暗号が話題となっている。関数暗号は下記の4つのアルゴリズム(Setup,KeyGen,Enc,Dec)から構成される。プロトコルの概略は下記のとおりである。
《プロトコルFE》
=================================
・Setup(1λ)→(pk,sk):セットアップアルゴリズム
セキュリティパラメータ1λを入力とし、公開パラメータpkとマスター鍵skを出力する確率的多項式時間アルゴリズム
・KeyGen(sk,i)→ski:鍵生成アルゴリズム
マスター鍵skと鍵識別子iを入力とし、当該鍵識別子iに対応する秘密鍵skiを出力する確率的多項式時間アルゴリズム
・Enc(pk,j,x)→cj:暗号化アルゴリズム
公開パラメータpkと受信者識別子jと暗号化対象の情報(平文)xを入力とし、暗号文cjを出力する確率的多項式時間アルゴリズム
・Dec(pk,ski,cj)→y:復号アルゴリズム
公開パラメータpkと秘密鍵skiと暗号文cjを入力とし、平文yを出力する確率的多項式時間アルゴリズム
=================================
近年、関数暗号と呼ばれるIDベース暗号の拡張暗号が話題となっている。関数暗号は下記の4つのアルゴリズム(Setup,KeyGen,Enc,Dec)から構成される。プロトコルの概略は下記のとおりである。
《プロトコルFE》
=================================
・Setup(1λ)→(pk,sk):セットアップアルゴリズム
セキュリティパラメータ1λを入力とし、公開パラメータpkとマスター鍵skを出力する確率的多項式時間アルゴリズム
・KeyGen(sk,i)→ski:鍵生成アルゴリズム
マスター鍵skと鍵識別子iを入力とし、当該鍵識別子iに対応する秘密鍵skiを出力する確率的多項式時間アルゴリズム
・Enc(pk,j,x)→cj:暗号化アルゴリズム
公開パラメータpkと受信者識別子jと暗号化対象の情報(平文)xを入力とし、暗号文cjを出力する確率的多項式時間アルゴリズム
・Dec(pk,ski,cj)→y:復号アルゴリズム
公開パラメータpkと秘密鍵skiと暗号文cjを入力とし、平文yを出力する確率的多項式時間アルゴリズム
=================================
関数暗号では、IDベース暗号の正当性が拡張されており、暗号文の受信者は鍵識別子iを持つ秘密鍵と受信者識別子jを持つ暗号文から平文xに関する何らかの関数fi,j(x)を評価することができるようになっている。即ち、或る関数fi,j(x)が存在し∀i,∀j,∀x∈{0,1}poly(λ)に対して式(A)で表される確率Prがλに関して圧倒的(1との差が無視しうる)であるとき、その関数暗号(Setup,KeyGen,Enc,Dec)は正当であると云う。なお、poly(λ)はλで決まる多項式長を表している。
より高度な関係R(・,・)を持つ様々な関数暗号が研究されている。このタイプの関数暗号のうち最も汎用性の高いものは属性ベース暗号(attribute-based encryption, ABE)あるいは述語暗号(predicate encryption, PE)等と呼ばれ、よく研究されている。2010年に岡本龍明らは多項式サイズの述語および述語変数の集合に対応し、標準的な暗号学的仮定の下で適応的識別子攻撃に対してCCA安全が証明できる比較的実用的なこのタイプの関数暗号を提案した(参考文献R1参照)。
(参考文献R1)Tatsuaki Okamoto and Katsuyuki Takashima, "Fully Secure Functional Encryption with General Relations from the Decisional Linear Assumption," In: Advances in Cryptology -- CRYPTO 2010, Lecture Notes in Computer Science, Volume 6223, 191-208, Springer-Verlag, 2010, Full paper: http://eprint.iacr.org/2010/563/
(参考文献R1)Tatsuaki Okamoto and Katsuyuki Takashima, "Fully Secure Functional Encryption with General Relations from the Decisional Linear Assumption," In: Advances in Cryptology -- CRYPTO 2010, Lecture Notes in Computer Science, Volume 6223, 191-208, Springer-Verlag, 2010, Full paper: http://eprint.iacr.org/2010/563/
鍵識別子iを述語、受信者識別子jを述語変数のインスタンスとして式(D)で表される関係R(・,・)を持つ関数暗号は鍵ポリシー関数暗号と呼ばれる。このとき、暗号文が平文xだけでなく述語変数のインスタンスjも秘匿する事を属性秘匿と云う。
鍵識別子iを述語変数、受信者識別子jを述語のインスタンスとして式(E)で表される関係R(・,・)を持つ関数暗号は暗号文ポリシー関数暗号と呼ばれる。このとき、暗号文が平文xだけでなく述語jも秘匿する事を述語秘匿と云う。
属性秘匿を持つ鍵ポリシー関数暗号あるいは述語秘匿を持つ暗号文ポリシー関数暗号を述語暗号と呼ばれる(参考文献R2参照)。
(参考文献R2)Tatsuaki Okamoto and Katsuyuki Takashima, "Hierarchical Predicate Encryption for Inner-Products," ASIACRYPT 2009: pp.214-231, 2009.
(参考文献R2)Tatsuaki Okamoto and Katsuyuki Takashima, "Hierarchical Predicate Encryption for Inner-Products," ASIACRYPT 2009: pp.214-231, 2009.
<閾値ゲート>
関数暗号における閾値ゲートの構成は、N個の分散情報のうち任意のt個が与えられれば秘密を復元できるが、任意のt-1個以下の分散情報が与えられても秘密を復元できない閾値秘密分散方式、即ちt-out-of-N秘密分散方式を用いて実現される。t-out-of-N秘密分散については参考文献R3などを参照されたい。t-out-of-N秘密分散方式を用いた閾値ゲートはt-out-of-N閾値ゲートと呼ばれる。t-out-of-N閾値ゲートは入力のN個の条件式のうちt個以上の条件が成立すると真を出力し、それ以外は偽を出力するゲート構造を有する。t-out-of-N閾値ゲートの(出力の)否定は(全入力の)否定の(N-t+1)-out-of-N閾値ゲートと等価である。
(参考文献R3)A. Shamir, "How to Share a Secret", Communications of the ACM, November 1979, Volume 22, Number 11, pp.612-613.
関数暗号における閾値ゲートの構成は、N個の分散情報のうち任意のt個が与えられれば秘密を復元できるが、任意のt-1個以下の分散情報が与えられても秘密を復元できない閾値秘密分散方式、即ちt-out-of-N秘密分散方式を用いて実現される。t-out-of-N秘密分散については参考文献R3などを参照されたい。t-out-of-N秘密分散方式を用いた閾値ゲートはt-out-of-N閾値ゲートと呼ばれる。t-out-of-N閾値ゲートは入力のN個の条件式のうちt個以上の条件が成立すると真を出力し、それ以外は偽を出力するゲート構造を有する。t-out-of-N閾値ゲートの(出力の)否定は(全入力の)否定の(N-t+1)-out-of-N閾値ゲートと等価である。
(参考文献R3)A. Shamir, "How to Share a Secret", Communications of the ACM, November 1979, Volume 22, Number 11, pp.612-613.
<秘密鍵検証可能関数暗号>
関数暗号のうち、秘密鍵skiが鍵識別子iに対して正しく作られていることが納得できるものは、秘密鍵検証可能関数暗号と呼ばれる。鍵生成手続きが正しく行われたことを証明する非対話零知識証明(参考文献R4参照)を秘密鍵に付加することによって、秘密鍵検証可能関数暗号を構成することができる。秘密鍵検証可能関数暗号を用いれば秘密鍵skiが鍵識別子iに対して正しく作られていることが納得できる。
(参考文献R4)Jens Groth and Amit Sahai, "Efficient Non-interactive Proof Systems for Bilinear Groups,"Advances in Cryptology - EUROCRYPT 2008, LNCS 4965, pp.415-432, March 2010.
関数暗号のうち、秘密鍵skiが鍵識別子iに対して正しく作られていることが納得できるものは、秘密鍵検証可能関数暗号と呼ばれる。鍵生成手続きが正しく行われたことを証明する非対話零知識証明(参考文献R4参照)を秘密鍵に付加することによって、秘密鍵検証可能関数暗号を構成することができる。秘密鍵検証可能関数暗号を用いれば秘密鍵skiが鍵識別子iに対して正しく作られていることが納得できる。
(参考文献R4)Jens Groth and Amit Sahai, "Efficient Non-interactive Proof Systems for Bilinear Groups,"Advances in Cryptology - EUROCRYPT 2008, LNCS 4965, pp.415-432, March 2010.
<暗号文公開検証可能関数暗号>
関数暗号のうち、暗号文に対してKeyGenアルゴリズムから得られる如何なる鍵を持たなくとも、暗号文が正しく作られていることが納得できるものは暗号文公開検証可能関数暗号と呼ばれる。暗号化手続きが正しく行われたことを証明する非対話零知識証明(上記参考文献R4参照)を暗号文に付加することによって、暗号文公開検証可能関数暗号を構成することができる。暗号文公開検証可能関数暗号を用いれば暗号文に対して復号可能などの鍵を使っても同じ結果が得られることが納得できる。
関数暗号のうち、暗号文に対してKeyGenアルゴリズムから得られる如何なる鍵を持たなくとも、暗号文が正しく作られていることが納得できるものは暗号文公開検証可能関数暗号と呼ばれる。暗号化手続きが正しく行われたことを証明する非対話零知識証明(上記参考文献R4参照)を暗号文に付加することによって、暗号文公開検証可能関数暗号を構成することができる。暗号文公開検証可能関数暗号を用いれば暗号文に対して復号可能などの鍵を使っても同じ結果が得られることが納得できる。
<電子署名>
電子署名とは次の3つのアルゴリズム(KeyGenΣ,SignΣ,VerifyΣ)のことである。プロトコルの概略は下記のとおりである。
《プロトコルES》
=================================
・KeyGenΣ(1λ)→(skΣ,pkΣ):鍵生成アルゴリズム
セキュリティパラメータ1λを入力とし、電子署名検証用公開鍵pkΣと電子署名用秘密鍵skΣを出力する確率的多項式時間アルゴリズム
・SignΣ(skΣ,m)→σ:署名アルゴリズム
電子署名用秘密鍵skΣと署名対象情報mを入力とし、署名σを出力する確率的多項式時間アルゴリズム
・VerifyΣ(pkΣ,m,σ)→0/1:署名検証アルゴリズム
電子署名検証用公開鍵pkΣと署名対象情報mと署名σを入力とし、検証結果(拒絶(0)または受理(1))を出力する確率的多項式時間アルゴリズム
=================================
電子署名とは次の3つのアルゴリズム(KeyGenΣ,SignΣ,VerifyΣ)のことである。プロトコルの概略は下記のとおりである。
《プロトコルES》
=================================
・KeyGenΣ(1λ)→(skΣ,pkΣ):鍵生成アルゴリズム
セキュリティパラメータ1λを入力とし、電子署名検証用公開鍵pkΣと電子署名用秘密鍵skΣを出力する確率的多項式時間アルゴリズム
・SignΣ(skΣ,m)→σ:署名アルゴリズム
電子署名用秘密鍵skΣと署名対象情報mを入力とし、署名σを出力する確率的多項式時間アルゴリズム
・VerifyΣ(pkΣ,m,σ)→0/1:署名検証アルゴリズム
電子署名検証用公開鍵pkΣと署名対象情報mと署名σを入力とし、検証結果(拒絶(0)または受理(1))を出力する確率的多項式時間アルゴリズム
=================================
なお、適当な暗号学的仮定の下、適応的選択文書攻撃に対して存在的偽造不可が証明可能な電子署名方式が提案されている(例えば、RSA-PSS(参考文献R5参照))。
(参考文献R5)藤岡淳、暗号アルゴリズム評価報告書RSA-PSS、日本電信電話株式会社、2001年
(参考文献R5)藤岡淳、暗号アルゴリズム評価報告書RSA-PSS、日本電信電話株式会社、2001年
次に、関数暗号について概説する。説明に先立ち記号等を定義する。
〔定義〕
行列:「行列」とは演算が定義された集合の元を矩形に並べたものを表す。環の元を要素とするものだけではなく、群の元を要素とするものも「行列」と表現する。
(・)T:(・)Tは・の転置行列を表す。
(・)-1:(・)-1は・の逆行列を表す。
∧:∧は論理積(AND)を表す論理記号である。
∨:∨は論理和(OR)を表す論理記号である。
¬:¬は否定(NOT)を表す論理記号である。
命題変数:命題変数は命題の「真」,「偽」("false","true")を要素とする集合{真,偽}上の変数である。命題変数及び命題変数の否定を総称してリテラル(literal)と呼ぶ。
論理式:論理式とは数理論理学における命題を表す形式的文法を有する式を意味する。具体的には「真」及び「偽」は論理式であり、命題変数は論理式であり、論理式の否定は論理式であり、論理式と論理式との論理積は論理式であり、論理式と論理式との論理和は論理式である。
Z:Zは整数集合を表す。
sec:secはセキュリティパラメータ(sec∈Z, sec>0)を表す。
0*:0*は*個の0からなる列を表す。
1*:1*は*個の1からなる列を表す。
〔定義〕
行列:「行列」とは演算が定義された集合の元を矩形に並べたものを表す。環の元を要素とするものだけではなく、群の元を要素とするものも「行列」と表現する。
(・)T:(・)Tは・の転置行列を表す。
(・)-1:(・)-1は・の逆行列を表す。
∧:∧は論理積(AND)を表す論理記号である。
∨:∨は論理和(OR)を表す論理記号である。
¬:¬は否定(NOT)を表す論理記号である。
命題変数:命題変数は命題の「真」,「偽」("false","true")を要素とする集合{真,偽}上の変数である。命題変数及び命題変数の否定を総称してリテラル(literal)と呼ぶ。
論理式:論理式とは数理論理学における命題を表す形式的文法を有する式を意味する。具体的には「真」及び「偽」は論理式であり、命題変数は論理式であり、論理式の否定は論理式であり、論理式と論理式との論理積は論理式であり、論理式と論理式との論理和は論理式である。
Z:Zは整数集合を表す。
sec:secはセキュリティパラメータ(sec∈Z, sec>0)を表す。
0*:0*は*個の0からなる列を表す。
1*:1*は*個の1からなる列を表す。
Fq:Fqは位数qの有限体を表す。位数qは1以上の整数であり、例えば、素数や素数のべき乗値を位数qとする。すなわち、有限体Fqの例は素体やそれを基礎体とした拡大体である。なお、有限体Fqが素体である場合の演算は、例えば、位数qを法とする剰余演算によって容易に構成できる。また、有限体Fqが拡大体である場合の演算は、例えば、既約多項式を法とする剰余演算によって容易に構成できる。有限体Fqの具体的な構成方法は、例えば、参考文献1「ISO/IEC 18033-2: Information technology - Security techniques - Encryption algorithms - Part 2: Asymmetric ciphers」に開示されている。
0F:0Fは有限体Fqの加法単位元を表す。
1F:1Fは有限体Fqの乗法単位元を表す。
δ(i,j):δ(i,j)はクロネッカーのデルタ関数を表す。i=jの場合にδ(i,j)=1Fを満たし、i≠jの場合にδ(i,j)=0Fを満たす。
0F:0Fは有限体Fqの加法単位元を表す。
1F:1Fは有限体Fqの乗法単位元を表す。
δ(i,j):δ(i,j)はクロネッカーのデルタ関数を表す。i=jの場合にδ(i,j)=1Fを満たし、i≠jの場合にδ(i,j)=0Fを満たす。
E:Eは有限体Fq上で定義された楕円曲線を表す。Eはアフィン(affine)座標版のWeierstrass方程式
y2+a1・x・y+a3・y=x3+a2・x2+a4・x+a6
(ただし、a1,a2,a3,a4,a6∈Fq)を満たすx,y∈Fqからなる点(x,y)の集合に無限遠点と呼ばれる特別な点Oを付加したもので定義される。楕円曲線E上の任意の2点に対して楕円加算と呼ばれる二項演算+及び楕円曲線E上の任意の1点に対して楕円逆元と呼ばれる単項演算−がそれぞれ定義できる。また、楕円曲線E上の有理点からなる有限集合が楕円加算に関して群をなすこと、楕円加算を用いて楕円スカラー倍算と呼ばれる演算が定義できること、及びコンピュータ上での楕円加算などの楕円演算の具体的な演算方法はよく知られている(例えば、参考文献1、参考文献2「RFC 5091: Identity-Based Cryptography Standard (IBCS) #1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems」、参考文献3「イアン・F・ブラケ、ガディエル・セロッシ、ナイジェル・P・スマート=著、「楕円曲線暗号」、出版=ピアソン・エデュケーション、ISBN4-89471-431-0」等参照)。
また、楕円曲線E上の有理点からなる有限集合は位数p(p≧1)の部分群を持つ。例えば、楕円曲線E上の有理点からなる有限集合の要素数を#Eとし、pを#Eを割り切る大きい素数とした場合、楕円曲線Eのp等分点からなる有限集合E[p]は、楕円曲線E上の有理点からなる有限集合の部分群を構成する。なお、楕円曲線Eのp等分点とは、楕円曲線E上の点Aのうち、楕円曲線E上での楕円スカラー倍算値p・Aがp・A=Oを満たす点を意味する。
y2+a1・x・y+a3・y=x3+a2・x2+a4・x+a6
(ただし、a1,a2,a3,a4,a6∈Fq)を満たすx,y∈Fqからなる点(x,y)の集合に無限遠点と呼ばれる特別な点Oを付加したもので定義される。楕円曲線E上の任意の2点に対して楕円加算と呼ばれる二項演算+及び楕円曲線E上の任意の1点に対して楕円逆元と呼ばれる単項演算−がそれぞれ定義できる。また、楕円曲線E上の有理点からなる有限集合が楕円加算に関して群をなすこと、楕円加算を用いて楕円スカラー倍算と呼ばれる演算が定義できること、及びコンピュータ上での楕円加算などの楕円演算の具体的な演算方法はよく知られている(例えば、参考文献1、参考文献2「RFC 5091: Identity-Based Cryptography Standard (IBCS) #1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems」、参考文献3「イアン・F・ブラケ、ガディエル・セロッシ、ナイジェル・P・スマート=著、「楕円曲線暗号」、出版=ピアソン・エデュケーション、ISBN4-89471-431-0」等参照)。
また、楕円曲線E上の有理点からなる有限集合は位数p(p≧1)の部分群を持つ。例えば、楕円曲線E上の有理点からなる有限集合の要素数を#Eとし、pを#Eを割り切る大きい素数とした場合、楕円曲線Eのp等分点からなる有限集合E[p]は、楕円曲線E上の有理点からなる有限集合の部分群を構成する。なお、楕円曲線Eのp等分点とは、楕円曲線E上の点Aのうち、楕円曲線E上での楕円スカラー倍算値p・Aがp・A=Oを満たす点を意味する。
G1, G2, GT:G1, G2,GTは位数qの巡回群を表す。巡回群G1, G2の具体例は、楕円曲線Eのp等分点からなる有限集合E[p]やその部分群である。G1=G2であってもよいしG1≠G2であってもよい。また、巡回群GTの具体例は、有限体Fqを基礎体とする拡大体を構成する有限集合である。その一例は、有限体Fqの代数閉包における1のp乗根からなる有限集合である。巡回群G1, G2,GTの位数と有限体Fqの位数とを同一とすることで安全性が向上する。
なお、本形態では、巡回群G1, G2上で定義された演算を加法的に表現し、巡回群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で定義された演算を行うことを意味する。
なお、本形態では、巡回群G1, G2上で定義された演算を加法的に表現し、巡回群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以上の整数を表す。
G1 n(ψ)+ζ(ψ):G1 n(ψ)+ζ(ψ)はn(ψ)+ζ(ψ)個の巡回群G1の直積を表す。
G2 n(ψ)+ζ(ψ):G2 n(ψ)+ζ(ψ)はn(ψ)+ζ(ψ)個の巡回群G2の直積を表す。
g1, g2,gT:g1, g2, gTは巡回群G, G1, G2, GTの生成元を表す。
V(ψ):V(ψ)はn(ψ)+ζ(ψ)個の巡回群G1の直積からなるn(ψ)+ζ(ψ)次元のベクトル空間を表す。
V*(ψ):V*(ψ)はn(ψ)+ζ(ψ)個の巡回群G2の直積からなるn(ψ)+ζ(ψ)次元のベクトル空間を表す。
ψ:ψは0以上Ψ以下の整数ψ=0,...,Ψを表す。
λ:λは1以上Ψ以下の整数λ=1,...,Ψを表す。
n(ψ):n(ψ)は1以上の整数を表す。
ζ(ψ):ζ(ψ)は0以上の整数を表す。
G1 n(ψ)+ζ(ψ):G1 n(ψ)+ζ(ψ)はn(ψ)+ζ(ψ)個の巡回群G1の直積を表す。
G2 n(ψ)+ζ(ψ):G2 n(ψ)+ζ(ψ)はn(ψ)+ζ(ψ)個の巡回群G2の直積を表す。
g1, g2,gT:g1, g2, gTは巡回群G, G1, G2, GTの生成元を表す。
V(ψ):V(ψ)はn(ψ)+ζ(ψ)個の巡回群G1の直積からなるn(ψ)+ζ(ψ)次元のベクトル空間を表す。
V*(ψ):V*(ψ)はn(ψ)+ζ(ψ)個の巡回群G2の直積からなるn(ψ)+ζ(ψ)次元のベクトル空間を表す。
eψ:eψは直積G1 n(ψ)+ζ(ψ)と直積G2 n(ψ)+ζ(ψ)との直積G1 n(ψ)+ζ(ψ)×G2 n(ψ)+ζ(ψ)を巡回群GTに写す非退化な双線形写像(bilinear map)を表す。双線形写像eψは、巡回群G1のn(ψ)+ζ(ψ)個の元γβ(β=1,...,n(ψ)+ζ(ψ))と巡回群G2のn(ψ)+ζ(ψ)個の元γβ *(β=1,...,n(ψ)+ζ(ψ))とを入力とし、巡回群GTの1個の元を出力する。
eψ:G1 n(ψ)+ζ(ψ)×G2 n(ψ)+ζ(ψ)→GT …(1)
eψ:G1 n(ψ)+ζ(ψ)×G2 n(ψ)+ζ(ψ)→GT …(1)
双線形写像eψは以下の性質を満たす。
[双線形性]すべてのΓ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ)及びν,κ∈Fqについて以下の関係を満たす。
eψ(ν・Γ1,κ・Γ2)=eψ(Γ1,Γ2)ν・κ …(2)
[非退化性]すべてのΓ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ)を巡回群GTの単位元に写す写像ではない。
[計算可能性]あらゆる
Γ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ) …(3)
についてeψ(Γ1,Γ2)を効率的に計算するアルゴリズムが存在する。
[双線形性]すべてのΓ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ)及びν,κ∈Fqについて以下の関係を満たす。
eψ(ν・Γ1,κ・Γ2)=eψ(Γ1,Γ2)ν・κ …(2)
[非退化性]すべてのΓ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ)を巡回群GTの単位元に写す写像ではない。
[計算可能性]あらゆる
Γ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ) …(3)
についてeψ(Γ1,Γ2)を効率的に計算するアルゴリズムが存在する。
本形態では、巡回群G1と巡回群G2との直積G1×G2を巡回群GTに写す非退化な双線形写像
Pair:G1×G2→GT …(4)
を用いて双線形写像eψを構成する。本形態の双線形写像eψは、巡回群G1のn(ψ)+ζ(ψ)個の元γβ(β=1,...,n(ψ)+ζ(ψ))からなるn(ψ)+ζ(ψ)次元ベクトル(γ1,...,γn(ψ)+ζ(ψ))と、巡回群G2のn(ψ)+ζ(ψ)個の元γβ *(β=1,...,n(ψ)+ζ(ψ))からなるn(ψ)+ζ(ψ)次元ベクトル(γ1 *,...,γn(ψ)+ζ(ψ) *)との入力に対し、巡回群GTの1個の元を出力する。
eψ:Πβ=1 n(ψ)+ζ(ψ)Pair(γβ, γβ *) …(5)
Pair:G1×G2→GT …(4)
を用いて双線形写像eψを構成する。本形態の双線形写像eψは、巡回群G1のn(ψ)+ζ(ψ)個の元γβ(β=1,...,n(ψ)+ζ(ψ))からなるn(ψ)+ζ(ψ)次元ベクトル(γ1,...,γn(ψ)+ζ(ψ))と、巡回群G2のn(ψ)+ζ(ψ)個の元γβ *(β=1,...,n(ψ)+ζ(ψ))からなるn(ψ)+ζ(ψ)次元ベクトル(γ1 *,...,γn(ψ)+ζ(ψ) *)との入力に対し、巡回群GTの1個の元を出力する。
eψ:Πβ=1 n(ψ)+ζ(ψ)Pair(γβ, γβ *) …(5)
なお、双線形写像Pairは、巡回群G1の1個の元と巡回群G2の1個の元との組を入力とし、巡回群GTの1個の元を出力する。双線形写像Pairは、以下の性質を満たす。
[双線形性]すべてのΩ1∈G1,Ω2∈G2及びν,κ∈Fqについて以下の関係を満たす。
Pair(ν・Ω1,κ・Ω2)=Pair(Ω1,Ω2)ν・κ …(6)
[非退化性]すべての
Ω1∈G1,Ω2∈G2 …(7)
を巡回群GTの単位元に写す写像ではない。
[計算可能性]あらゆるΩ1∈G1,Ω2∈G2についてPair(Ω1,Ω2)を効率的に計算するアルゴリズムが存在する。
双線形写像Pairの具体例は、WeilペアリングやTateペアリングなどのペアリング演算を行うための関数である(例えば、参考文献4「Alfred. J. Menezes,ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS,ISBN0-7923-9368-6,pp. 61-81」等参照)。また、楕円曲線Eの種類に応じ、Tateペアリングなどのペアリング演算を行うための関数と所定の関数phiを組み合わせた変更ペアリング関数e(Ω1,phi(Ω2))(Ω1∈G1,Ω2∈G2)を双線形写像Pairとして用いてもよい(例えば、参考文献2等参照)。また、ペアリング演算をコンピュータ上で行うためのアルゴリズムとしては、周知のMiller のアルゴリズム(参考文献5「V. S. Miller, “Short Programs for functions on Curves,”1986,インターネット<http://crypto.stanford.edu/miller/miller.pdf>」などが存在する。また、ペアリング演算を効率的に行うための楕円曲線や巡回群の構成方法はよく知られている(例えば、参考文献2、参考文献6「A. Miyaji, M. Nakabayashi, S.Takano, "New explicit conditions of elliptic curve Traces for FR-Reduction," IEICE Trans. Fundamentals, vol. E84-A, no05, pp. 1234-1243, May 2001」、参考文献7「P.S.L.M. Barreto, B. Lynn, M. Scott, "Constructing elliptic curves with prescribed embedding degrees," Proc. SCN '2002, LNCS 2576, pp.257-267, Springer-Verlag. 2003」、参考文献8「R. Dupont, A. Enge, F. Morain, "Building curves with arbitrary small MOV degree over finite prime fields," http://eprint.iacr.org/2002/094/」等参照)。
[双線形性]すべてのΩ1∈G1,Ω2∈G2及びν,κ∈Fqについて以下の関係を満たす。
Pair(ν・Ω1,κ・Ω2)=Pair(Ω1,Ω2)ν・κ …(6)
[非退化性]すべての
Ω1∈G1,Ω2∈G2 …(7)
を巡回群GTの単位元に写す写像ではない。
[計算可能性]あらゆるΩ1∈G1,Ω2∈G2についてPair(Ω1,Ω2)を効率的に計算するアルゴリズムが存在する。
双線形写像Pairの具体例は、WeilペアリングやTateペアリングなどのペアリング演算を行うための関数である(例えば、参考文献4「Alfred. J. Menezes,ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS,ISBN0-7923-9368-6,pp. 61-81」等参照)。また、楕円曲線Eの種類に応じ、Tateペアリングなどのペアリング演算を行うための関数と所定の関数phiを組み合わせた変更ペアリング関数e(Ω1,phi(Ω2))(Ω1∈G1,Ω2∈G2)を双線形写像Pairとして用いてもよい(例えば、参考文献2等参照)。また、ペアリング演算をコンピュータ上で行うためのアルゴリズムとしては、周知のMiller のアルゴリズム(参考文献5「V. S. Miller, “Short Programs for functions on Curves,”1986,インターネット<http://crypto.stanford.edu/miller/miller.pdf>」などが存在する。また、ペアリング演算を効率的に行うための楕円曲線や巡回群の構成方法はよく知られている(例えば、参考文献2、参考文献6「A. Miyaji, M. Nakabayashi, S.Takano, "New explicit conditions of elliptic curve Traces for FR-Reduction," IEICE Trans. Fundamentals, vol. E84-A, no05, pp. 1234-1243, May 2001」、参考文献7「P.S.L.M. Barreto, B. Lynn, M. Scott, "Constructing elliptic curves with prescribed embedding degrees," Proc. SCN '2002, LNCS 2576, pp.257-267, Springer-Verlag. 2003」、参考文献8「R. Dupont, A. Enge, F. Morain, "Building curves with arbitrary small MOV degree over finite prime fields," http://eprint.iacr.org/2002/094/」等参照)。
ai(ψ)(i=1,...,n(ψ)+ζ(ψ)):ai(ψ)は巡回群G1のn(ψ)+ζ(ψ)個の元を要素とするn(ψ)+ζ(ψ)次元の基底ベクトルを表す。基底ベクトルai(ψ)の一例は、κ1・g1∈G1をi次元目の要素とし、残りのn(ψ)+ζ(ψ)-1個の要素を巡回群G1の単位元(加法的に「0」と表現)とするn(ψ)+ζ(ψ)次元の基底ベクトルである。この場合、n(ψ)+ζ(ψ)次元の基底ベクトルai(ψ)(i=1,...,n(ψ)+ζ(ψ))の各要素をそれぞれ列挙して表現すると、以下のようになる。
a1(ψ)=(κ1・g1,0,0,...,0)
a2(ψ)=(0,κ1・g1,0,...,0) …(8)
...
an(ψ)+ζ(ψ)(ψ)=(0,0,0,...,κ1・g1)
ここで、κ1は加法単位元0F以外の有限体Fqの元からなる定数であり、κ1∈Fqの具体例はκ1=1Fである。基底ベクトルai(ψ)は直交基底であり、巡回群G1のn(ψ)+ζ(ψ)個の元を要素とするすべてのn(ψ)+ζ(ψ)次元ベクトルは、n(ψ)+ζ(ψ)次元の基底ベクトルai(ψ)(i=1,...,n(ψ)+ζ(ψ))の線形和によって表される。すなわち、n(ψ)+ζ(ψ)次元の基底ベクトルai(ψ)は前述のベクトル空間V(ψ)を張る。
a1(ψ)=(κ1・g1,0,0,...,0)
a2(ψ)=(0,κ1・g1,0,...,0) …(8)
...
an(ψ)+ζ(ψ)(ψ)=(0,0,0,...,κ1・g1)
ここで、κ1は加法単位元0F以外の有限体Fqの元からなる定数であり、κ1∈Fqの具体例はκ1=1Fである。基底ベクトルai(ψ)は直交基底であり、巡回群G1のn(ψ)+ζ(ψ)個の元を要素とするすべてのn(ψ)+ζ(ψ)次元ベクトルは、n(ψ)+ζ(ψ)次元の基底ベクトルai(ψ)(i=1,...,n(ψ)+ζ(ψ))の線形和によって表される。すなわち、n(ψ)+ζ(ψ)次元の基底ベクトルai(ψ)は前述のベクトル空間V(ψ)を張る。
ai *(ψ)(i=1,...,n(ψ)+ζ(ψ)):巡回群G2のn(ψ)+ζ(ψ)個の元を要素とするn(ψ)+ζ(ψ)次元の基底ベクトルを表す。基底ベクトルai *(ψ)の一例は、κ2・g2∈G2をi次元目の要素とし、残りのn(ψ)+ζ(ψ)-1個の要素を巡回群G2の単位元(加法的に「0」と表現)とするn(ψ)+ζ(ψ)次元の基底ベクトルである。この場合、基底ベクトルai *(ψ)(i=1,...,n(ψ)+ζ(ψ))の各要素をそれぞれ列挙して表現すると、以下のようになる。
a1 *(ψ)=(κ2・g2,0,0,...,0)
a2 *(ψ)=(0,κ2・g2,0,...,0) …(9)
...
an(ψ)+ζ(ψ) *(ψ)=(0,0,0,...,κ2・g2)
ここで、κ2は加法単位元0F以外の有限体Fqの元からなる定数であり、κ2∈Fqの具体例はκ2=1Fである。基底ベクトルai *(ψ)は直交基底であり、巡回群G2のn(ψ)+ζ(ψ)個の元を要素とするすべてのn(ψ)+ζ(ψ)次元ベクトルは、n(ψ)+ζ(ψ)次元の基底ベクトルai *(ψ)(i=1,...,n(ψ)+ζ(ψ))の線形和によって表される。すなわち、n(ψ)+ζ(ψ)次元の基底ベクトルai *(ψ)は前述のベクトル空間V*(ψ)を張る。
なお、基底ベクトルai(ψ)と基底ベクトルai *(ψ)とは、0Fを除く有限体Fqの元τ=κ1・κ2について
eψ(ai(ψ), aj *(ψ))=gT τ・δ(i,j) …(10)
を満たす。すなわち、i=jの場合には、式(5)(6)の関係から、
eψ(ai(ψ), aj *(ψ))= Pair(κ1・g1,κ2・g2)・Pair(0, 0)・...・Pair(0, 0)
= Pair(g1, g2)κ1・κ2・Pair(g1, g2)0・0・...・Pair(g1, g2)0・0
= Pair(g1, g2)κ1・κ2=gT τ
を満たす。なお、上付き添え字κ1,κ2はそれぞれκ1,κ2を表す。一方、i≠jの場合には、eψ(ai(ψ), aj *(ψ))=Πi=1 n(ψ)+ζ(ψ) Pair(ai(ψ), aj *(ψ))の右辺は、Pair(κ1・g1,κ2・g2)を含まず、Pair(κ1・g1,0)と Pair(0,κ2・g2)とPair(0,0)との積になる。さらに、式(6)の関係からPair(g1, 0)=Pair(0, g2)=Pair(g1, g2)0を満たす。そのため、i≠jの場合には、
eψ(ai(ψ), aj *(ψ))=eψ(g1, g2)0=gT 0
を満たす。
特に、τ=κ1・κ2=1Fである場合(例えば、κ1=κ2=1Fの場合)、
e(ai(ψ), aj *(ψ))=gT δ(i,j) …(11)
を満たす。ここで、gT 0=1は巡回群GTの単位元であり、gT 1=gTは巡回群GTの生成元である。この場合、基底ベクトルai(ψ)と基底ベクトルai *(ψ)とは双対正規直交基底であり、ベクトル空間V(ψ)とベクトル空間V*(ψ)とは、双線形写像を構成可能な双対ベクトル空間〔双対ペアリングベクトル空間(DPVS:Dual Paring Vector space)〕である。
a1 *(ψ)=(κ2・g2,0,0,...,0)
a2 *(ψ)=(0,κ2・g2,0,...,0) …(9)
...
an(ψ)+ζ(ψ) *(ψ)=(0,0,0,...,κ2・g2)
ここで、κ2は加法単位元0F以外の有限体Fqの元からなる定数であり、κ2∈Fqの具体例はκ2=1Fである。基底ベクトルai *(ψ)は直交基底であり、巡回群G2のn(ψ)+ζ(ψ)個の元を要素とするすべてのn(ψ)+ζ(ψ)次元ベクトルは、n(ψ)+ζ(ψ)次元の基底ベクトルai *(ψ)(i=1,...,n(ψ)+ζ(ψ))の線形和によって表される。すなわち、n(ψ)+ζ(ψ)次元の基底ベクトルai *(ψ)は前述のベクトル空間V*(ψ)を張る。
なお、基底ベクトルai(ψ)と基底ベクトルai *(ψ)とは、0Fを除く有限体Fqの元τ=κ1・κ2について
eψ(ai(ψ), aj *(ψ))=gT τ・δ(i,j) …(10)
を満たす。すなわち、i=jの場合には、式(5)(6)の関係から、
eψ(ai(ψ), aj *(ψ))= Pair(κ1・g1,κ2・g2)・Pair(0, 0)・...・Pair(0, 0)
= Pair(g1, g2)κ1・κ2・Pair(g1, g2)0・0・...・Pair(g1, g2)0・0
= Pair(g1, g2)κ1・κ2=gT τ
を満たす。なお、上付き添え字κ1,κ2はそれぞれκ1,κ2を表す。一方、i≠jの場合には、eψ(ai(ψ), aj *(ψ))=Πi=1 n(ψ)+ζ(ψ) Pair(ai(ψ), aj *(ψ))の右辺は、Pair(κ1・g1,κ2・g2)を含まず、Pair(κ1・g1,0)と Pair(0,κ2・g2)とPair(0,0)との積になる。さらに、式(6)の関係からPair(g1, 0)=Pair(0, g2)=Pair(g1, g2)0を満たす。そのため、i≠jの場合には、
eψ(ai(ψ), aj *(ψ))=eψ(g1, g2)0=gT 0
を満たす。
特に、τ=κ1・κ2=1Fである場合(例えば、κ1=κ2=1Fの場合)、
e(ai(ψ), aj *(ψ))=gT δ(i,j) …(11)
を満たす。ここで、gT 0=1は巡回群GTの単位元であり、gT 1=gTは巡回群GTの生成元である。この場合、基底ベクトルai(ψ)と基底ベクトルai *(ψ)とは双対正規直交基底であり、ベクトル空間V(ψ)とベクトル空間V*(ψ)とは、双線形写像を構成可能な双対ベクトル空間〔双対ペアリングベクトル空間(DPVS:Dual Paring Vector space)〕である。
A(ψ):基底ベクトルai(ψ)(i=1,...,n(ψ)+ζ(ψ))を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列を表す。例えば、基底ベクトルai(ψ)(i=1,...,n(ψ)+ζ(ψ))が式(8)によって表現される場合、行列A(ψ)は、
となる。
となる。
A*(ψ):基底ベクトルai *(ψ)(i=1,...,n(ψ)+ζ(ψ))を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列を表す。例えば、基底ベクトルai *(ψ)(i=1,...,n(ψ)+ζ(ψ))が式(9)によって表現される場合、行列A*(ψ)は、
となる。
となる。
X(ψ):X(ψ)は有限体Fqの元を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列を表す。行列X(ψ)は基底ベクトルai(ψ)の座標変換に用いられる。行列X(ψ)のi行j列(i=1,...,n(ψ)+ζ(ψ),j=1,...,n(ψ)+ζ(ψ))の要素をχi,j(ψ)∈Fqとすると、行列X(ψ)は、
となる。なお、行列X(ψ)の各要素χi,j(ψ)を変換係数と呼ぶ。
となる。なお、行列X(ψ)の各要素χi,j(ψ)を変換係数と呼ぶ。
X *(ψ):X*(ψ)と行列X(ψ)とはX*(ψ)=τ'・(X(ψ)-1)Tの関係を満たす。ただし、τ'∈Fqは有限体Fqに属する任意の定数であり、例えば、τ'=1Fである。X*(ψ)は基底ベクトルai *(ψ)の座標変換に用いられる。行列X*(ψ)のi行j列の要素をχi,j *(ψ)∈Fqとすると、行列X*(ψ)は、
となる。なお、行列X*(ψ)の各要素χi,j *(ψ)を変換係数と呼ぶ。
この場合、n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の単位行列をI(ψ)とするとX(ψ)・(X*(ψ))T=τ'・I(ψ)を満たす。すなわち、単位行列
に対し、
を満たす。ここで、n(ψ)+ζ(ψ)次元ベクトル
χi →(ψ)=(χi,1(ψ),...,χi,n(ψ)+ζ(ψ)(ψ)) …(18)
χj →*(ψ)=(χj,1 *(ψ),...,χj,n(ψ)+ζ(ψ) *(ψ)) …(19)
を定義する。すると、式(17)の関係から、n(ψ)+ζ(ψ)次元ベクトルχi →(ψ)とχj →*(ψ)との内積は、
χi →(ψ)・χj →*(ψ)=τ'・δ(i,j) …(20)
となる。
となる。なお、行列X*(ψ)の各要素χi,j *(ψ)を変換係数と呼ぶ。
この場合、n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の単位行列をI(ψ)とするとX(ψ)・(X*(ψ))T=τ'・I(ψ)を満たす。すなわち、単位行列
に対し、
を満たす。ここで、n(ψ)+ζ(ψ)次元ベクトル
χi →(ψ)=(χi,1(ψ),...,χi,n(ψ)+ζ(ψ)(ψ)) …(18)
χj →*(ψ)=(χj,1 *(ψ),...,χj,n(ψ)+ζ(ψ) *(ψ)) …(19)
を定義する。すると、式(17)の関係から、n(ψ)+ζ(ψ)次元ベクトルχi →(ψ)とχj →*(ψ)との内積は、
χi →(ψ)・χj →*(ψ)=τ'・δ(i,j) …(20)
となる。
bi(ψ):bi(ψ)は巡回群G1のn(ψ)+ζ(ψ)個の元を要素とするn(ψ)+ζ(ψ)次元の基底ベクトルを表す。bi(ψ)は行列X(ψ)を用いて基底ベクトルai(ψ) (i=1,...,n(ψ)+ζ(ψ))を座標変換することで得られる。具体的には、基底ベクトルbi(ψ)は、
bi(ψ)=Σj=1 n(ψ)+ζ(ψ)χi,j(ψ)・aj(ψ) …(21)
の演算によって得られる。例えば、基底ベクトルaj(ψ)(j=1,...,n(ψ)+ζ(ψ))が式(8)によって表現される場合、基底ベクトルbi(ψ)の各要素をそれぞれ列挙して表現すると、以下のようになる。
bi(ψ)=(χi,1(ψ)・κ1・g1,χi,2(ψ)・κ1・g1,
...,χi,n(ψ)+ζ(ψ)(ψ)・κ1・g1) …(22)
巡回群G1のn(ψ)+ζ(ψ)個の元を要素とするすべてのn(ψ)+ζ(ψ)次元ベクトルは、n(ψ)+ζ(ψ)次元の基底ベクトルbi(ψ)(i=1,...,n(ψ)+ζ(ψ))の線形和によって表される。すなわち、n(ψ)+ζ(ψ)次元の基底ベクトルbi(ψ)は前述のベクトル空間V(ψ)を張る。
bi(ψ)=Σj=1 n(ψ)+ζ(ψ)χi,j(ψ)・aj(ψ) …(21)
の演算によって得られる。例えば、基底ベクトルaj(ψ)(j=1,...,n(ψ)+ζ(ψ))が式(8)によって表現される場合、基底ベクトルbi(ψ)の各要素をそれぞれ列挙して表現すると、以下のようになる。
bi(ψ)=(χi,1(ψ)・κ1・g1,χi,2(ψ)・κ1・g1,
...,χi,n(ψ)+ζ(ψ)(ψ)・κ1・g1) …(22)
巡回群G1のn(ψ)+ζ(ψ)個の元を要素とするすべてのn(ψ)+ζ(ψ)次元ベクトルは、n(ψ)+ζ(ψ)次元の基底ベクトルbi(ψ)(i=1,...,n(ψ)+ζ(ψ))の線形和によって表される。すなわち、n(ψ)+ζ(ψ)次元の基底ベクトルbi(ψ)は前述のベクトル空間V(ψ)を張る。
bi *(ψ):bi *(ψ)は巡回群G2のn(ψ)+ζ(ψ)個の元を要素とするn(ψ)+ζ(ψ)次元の基底ベクトルを表す。bi *(ψ)は行列X*(ψ)を用いて基底ベクトルai *(ψ)(i=1,...,n(ψ)+ζ(ψ))を座標変換することで得られる。具体的には、基底ベクトルbi *(ψ)は、
bi *(ψ)=Σj=1 n(ψ)+ζ(ψ)χi,j *(ψ)・aj *(ψ) …(23)
の演算によって得られる。例えば、基底ベクトルaj *(ψ) (j=1,...,n(ψ)+ζ(ψ))が式(9)によって表現される場合、基底ベクトルbi *(ψ)の各要素をそれぞれ列挙して表現すると、以下のようになる。
bi *(ψ)=(χi,1 *(ψ)・κ2・g2 ,χi,2 *(ψ)・κ2・g2,
...,χi,n(ψ)+ζ(ψ) *(ψ)・κ2・g2) …(24)
となる。巡回群G2のn(ψ)+ζ(ψ)個の元を要素とするすべてのn(ψ)+ζ(ψ)次元ベクトルは、n(ψ)+ζ(ψ)次元の基底ベクトルbi *(ψ)(i=1,...,n(ψ)+ζ(ψ))の線形和によって表される。すなわち、n(ψ)+ζ(ψ)次元の基底ベクトルbi *(ψ)は前述のベクトル空間V*(ψ)を張る。
なお、基底ベクトルbi(ψ)と基底ベクトルbi *(ψ)とは、0Fを除く有限体Fqの元τ=κ1・κ2について
eψ(bi(ψ), bj *(ψ))=gT τ・τ'・δ(i,j) …(25)
を満たす。すなわち、式(5)(20)(22)(24)の関係から、
を満たす。特にτ=κ1・κ2=1F(例えば、κ1=κ2=1F)及びτ'=1Fである場合、
eψ(bi(ψ), bj *(ψ))=gT δ(i,j) …(26)
を満たす。この場合、基底ベクトルbi(ψ)と基底ベクトルbi *(ψ)とは、双対ペアリングベクトル空間(ベクトル空間V(ψ)とベクトル空間V*(ψ))の双対正規直交基底である。
なお、式(25)の関係を満たすのであれば、式(8)(9)で例示したもの以外の基底ベクトルai(ψ)及びai *(ψ)や、式(21)(23)で例示したもの以外の基底ベクトルbi(ψ)及びbi *(ψ)を用いてもよい。
bi *(ψ)=Σj=1 n(ψ)+ζ(ψ)χi,j *(ψ)・aj *(ψ) …(23)
の演算によって得られる。例えば、基底ベクトルaj *(ψ) (j=1,...,n(ψ)+ζ(ψ))が式(9)によって表現される場合、基底ベクトルbi *(ψ)の各要素をそれぞれ列挙して表現すると、以下のようになる。
bi *(ψ)=(χi,1 *(ψ)・κ2・g2 ,χi,2 *(ψ)・κ2・g2,
...,χi,n(ψ)+ζ(ψ) *(ψ)・κ2・g2) …(24)
となる。巡回群G2のn(ψ)+ζ(ψ)個の元を要素とするすべてのn(ψ)+ζ(ψ)次元ベクトルは、n(ψ)+ζ(ψ)次元の基底ベクトルbi *(ψ)(i=1,...,n(ψ)+ζ(ψ))の線形和によって表される。すなわち、n(ψ)+ζ(ψ)次元の基底ベクトルbi *(ψ)は前述のベクトル空間V*(ψ)を張る。
なお、基底ベクトルbi(ψ)と基底ベクトルbi *(ψ)とは、0Fを除く有限体Fqの元τ=κ1・κ2について
eψ(bi(ψ), bj *(ψ))=gT τ・τ'・δ(i,j) …(25)
を満たす。すなわち、式(5)(20)(22)(24)の関係から、
を満たす。特にτ=κ1・κ2=1F(例えば、κ1=κ2=1F)及びτ'=1Fである場合、
eψ(bi(ψ), bj *(ψ))=gT δ(i,j) …(26)
を満たす。この場合、基底ベクトルbi(ψ)と基底ベクトルbi *(ψ)とは、双対ペアリングベクトル空間(ベクトル空間V(ψ)とベクトル空間V*(ψ))の双対正規直交基底である。
なお、式(25)の関係を満たすのであれば、式(8)(9)で例示したもの以外の基底ベクトルai(ψ)及びai *(ψ)や、式(21)(23)で例示したもの以外の基底ベクトルbi(ψ)及びbi *(ψ)を用いてもよい。
B(ψ):B(ψ)は基底ベクトルbi(ψ) (i=1,...,n(ψ)+ζ(ψ))を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列である。B(ψ)=X(ψ)・A(ψ)を満たす。例えば、基底ベクトルbi(ψ)が式(22)によって表現される場合、行列B(ψ)は、
となる。
となる。
B*(ψ):B*(ψ)は基底ベクトルbi *(ψ) (i=1,...,n(ψ)+ζ(ψ))を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列を表す。B*(ψ)=X*(ψ)・A*(ψ)を満たす。例えば、基底ベクトルbi *(ψ) (i=1,...,n(ψ)+ζ(ψ))が式(24)によって表現される場合、行列B*(ψ)は、
となる。
となる。
v(λ)→:v(λ)→は有限体Fqの元を要素とするn(λ)次元ベクトルを表す。
v(λ)→=(v1(λ),...,vn(λ)(λ))∈Fq n(λ) …(29)
vμ(λ):vμ(λ)はn(λ)次元ベクトルv(λ)→のμ(μ=1,...,n(λ))番目の要素を表す。
w(λ)→:w(λ)→は有限体Fqの元を要素とするn(λ)次元ベクトルを表す。
w(λ)→=(w1(λ),...,wn(λ)(λ))∈Fq n(λ) …(30)
wμ(λ):wμ(λ)はn(λ)次元ベクトルw(λ)→のμ(μ=1,...,n(λ))番目の要素を表す。
Enc:Encは共通鍵暗号方式の暗号化処理を示す共通鍵暗号関数を表す。
EncK(M):EncK(M)は、共通鍵Kを用い、共通鍵暗号関数Encに従って平文Mを暗号化して得られた暗号文を表す。
Dec:Decは、共通鍵暗号方式の復号処理を示す共通鍵復号関数を表す。
DecK(C):DecK(C)は、共通鍵Kを用い、共通鍵復号関数Decに従って暗号文Cを復号して得られた復号結果を表す。
v(λ)→=(v1(λ),...,vn(λ)(λ))∈Fq n(λ) …(29)
vμ(λ):vμ(λ)はn(λ)次元ベクトルv(λ)→のμ(μ=1,...,n(λ))番目の要素を表す。
w(λ)→:w(λ)→は有限体Fqの元を要素とするn(λ)次元ベクトルを表す。
w(λ)→=(w1(λ),...,wn(λ)(λ))∈Fq n(λ) …(30)
wμ(λ):wμ(λ)はn(λ)次元ベクトルw(λ)→のμ(μ=1,...,n(λ))番目の要素を表す。
Enc:Encは共通鍵暗号方式の暗号化処理を示す共通鍵暗号関数を表す。
EncK(M):EncK(M)は、共通鍵Kを用い、共通鍵暗号関数Encに従って平文Mを暗号化して得られた暗号文を表す。
Dec:Decは、共通鍵暗号方式の復号処理を示す共通鍵復号関数を表す。
DecK(C):DecK(C)は、共通鍵Kを用い、共通鍵復号関数Decに従って暗号文Cを復号して得られた復号結果を表す。
〔関数暗号方式〕
次に、関数暗号方式の基本的な構成について説明する。
関数暗号方式とは、第1情報と第2情報との組み合わせによって定まる論理式の真理値が「真」となる場合に暗号文が復号される方式である。「第1情報」と「第2情報」の一方が暗号文に埋め込まれ、他方が鍵情報に埋め込まれる。例えば、「"Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products," with Amit Sahai and Brent Waters One of 4 papers from Eurocrypt 2008 invited to the Journal of Cryptology」(参考文献9)に開示された述語暗号方式は関数暗号方式の一種である。
次に、関数暗号方式の基本的な構成について説明する。
関数暗号方式とは、第1情報と第2情報との組み合わせによって定まる論理式の真理値が「真」となる場合に暗号文が復号される方式である。「第1情報」と「第2情報」の一方が暗号文に埋め込まれ、他方が鍵情報に埋め込まれる。例えば、「"Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products," with Amit Sahai and Brent Waters One of 4 papers from Eurocrypt 2008 invited to the Journal of Cryptology」(参考文献9)に開示された述語暗号方式は関数暗号方式の一種である。
これ以外にも様々な公知の関数暗号方式が存在するが、以下では未公開の新たな関数暗号方式を説明する。以下に説明する新たな関数暗号方式では秘密情報に応じた値が所定の論理式に応じた態様で階層的に秘密分散される。所定の論理式は、第1情報と第2情報との組み合わせによって真理値が定まる命題変数を含み、必要に応じてさらに論理記号∧,∨,¬の何れか又はすべてを含む。そして、各命題変数の真理値が特定されることで定まる当該所定の論理式の真理値が「真」となる場合に秘密情報に応じた値が復元され、それに基づいて暗号文が復号される。
<論理式と階層的な秘密分散との関係>
上述した所定の論理式と階層的な秘密分散との関係を説明する。
秘密分散とは、しきい値Kt(Kt≧1)個以上のシェア情報が得られた場合にのみ秘密情報が復元されるように、秘密情報をN(N≧2)個のシェア情報に分散することである。Kt=Nを満たす秘密分散の方式(SSS: Secret Sharing Scheme)をN-out-of-N分散方式(或いは「N-out-of-Nしきい値分散方式」)といい、Kt<Nを満たす秘密分散の方式をKt-out-of-N分散方式(或いは「Kt-out-of-Nしきい値分散方式」)という(例えば、参考文献10「黒沢馨、尾形わかは、“現代暗号の基礎数理 (電子情報通信レクチャーシリーズ)”、コロナ社 、2004年3月、p.116-119」、参考文献11「A. Shamir, "How to Share a Secret", Communications of the ACM, November 1979, Volume 22, Number 11, pp.612-613.」等参照)。
上述した所定の論理式と階層的な秘密分散との関係を説明する。
秘密分散とは、しきい値Kt(Kt≧1)個以上のシェア情報が得られた場合にのみ秘密情報が復元されるように、秘密情報をN(N≧2)個のシェア情報に分散することである。Kt=Nを満たす秘密分散の方式(SSS: Secret Sharing Scheme)をN-out-of-N分散方式(或いは「N-out-of-Nしきい値分散方式」)といい、Kt<Nを満たす秘密分散の方式をKt-out-of-N分散方式(或いは「Kt-out-of-Nしきい値分散方式」)という(例えば、参考文献10「黒沢馨、尾形わかは、“現代暗号の基礎数理 (電子情報通信レクチャーシリーズ)”、コロナ社 、2004年3月、p.116-119」、参考文献11「A. Shamir, "How to Share a Secret", Communications of the ACM, November 1979, Volume 22, Number 11, pp.612-613.」等参照)。
N-out-of-N分散方式は、すべてのシェア情報share(1),...,share(N)が与えられれば秘密情報SEを復元できるが、任意のN-1個のシェア情報share(φ1),...,share(φN-1)が与えられても秘密情報SEの情報はまったく得られない方式である。以下に、その一例を示す。
・SH1,...,SHN-1をランダムに選択する。
・SHN=SE-(SH1+...+SHN-1)の計算を行う。
・SH1,...,SHNを各シェア情報share(1),...,share(N)とする。
・すべてのシェア情報share(1),...,share(N)が与えられれば、
SE=share(1)+...+share(N) …(31)
の復元処理によって秘密情報SEの復元が可能である。
・SH1,...,SHN-1をランダムに選択する。
・SHN=SE-(SH1+...+SHN-1)の計算を行う。
・SH1,...,SHNを各シェア情報share(1),...,share(N)とする。
・すべてのシェア情報share(1),...,share(N)が与えられれば、
SE=share(1)+...+share(N) …(31)
の復元処理によって秘密情報SEの復元が可能である。
Kt-out-of-N分散方式は、任意の相違なるKt個のシェア情報share(φ1),...,share(φKt)が与えられれば秘密情報SEを復元できるが、任意のKt-1個のシェア情報share(φ1),...,share(φKt-1)が与えられても秘密情報SEの情報はまったく得られない方式である。なお、添え字のKtはKtを表す。以下にKt-out-of-N分散方式の一例を示す。
・f(0)=SEを満たすKt-1次の多項式f(x)=ξ0+ξ1・x+ξ2・x2+...+ξKt-1・xKt-1をランダムに選ぶ。すなわち、ξ0=SEとし、ξ1,..., ξKt-1をランダムに選ぶ。シェア情報をshare(ρ)=(ρ, f(ρ))(ρ=1,...,N)とする。なお、(ρ, f(ρ))はρ及びf(ρ)の値をそれぞれ抽出可能な情報であり、例えばρとf(ρ)とのビット結合値である。
・任意の相違なるKt個のシェア情報share(φ1),...,share(φKt)((φ1,...,φKt)⊂(1,...,N))が得られた場合、例えば、ラグランジェ(Lagrange)の補間公式を用い、以下のような復元処理によって秘密情報SEの復元が可能である。
SE=f(0)=LA1・f(φ1)+...+ LAKt・f(φKt) …(32)
は先頭からρ番目の被演算子〔分母の要素(φρ-φρ)、分子の要素(x-φρ)〕が存在しないことを意味する。すなわち、式(33)の分母は、
(φρ-φ1)・...・(φρ-φρ-1)・(φρ-φρ+1)・...・(φρ-φKt)
であり、式(33)の分子は、
(x-φ1)・...・(x-φρ-1)・(x-φρ+1)・...・(x-φKt)
である。
SE=f(0)=LA1・f(φ1)+...+ LAKt・f(φKt) …(32)
は先頭からρ番目の被演算子〔分母の要素(φρ-φρ)、分子の要素(x-φρ)〕が存在しないことを意味する。すなわち、式(33)の分母は、
(φρ-φ1)・...・(φρ-φρ-1)・(φρ-φρ+1)・...・(φρ-φKt)
であり、式(33)の分子は、
(x-φ1)・...・(x-φρ-1)・(x-φρ+1)・...・(x-φKt)
である。
上述した各秘密分散は体上でも実行可能である。また、これらを拡張して秘密情報SEに応じた値をシェア情報shareに秘密分散することもできる。秘密情報SEに応じた値とは秘密情報SEそのものや秘密情報SEの関数値であり、シェア情報shareに応じた値とはシェア情報shareそのものやシェア情報の関数値である。例えば、有限体Fqの元である秘密情報SE∈Fqに応じた巡回群GTの元gT SE∈GTを秘密情報SEの各シェア情報share(1),share(2)に応じた巡回群GTの元gT share(1),gT share(2)∈GTに秘密分散することもできる。また、上述した秘密情報SEはシェア情報shareの線形結合となる(式(31)(32))。このように秘密情報SEがシェア情報shareの線形結合となる秘密分散方式を線形秘密分散方式と呼ぶ。
上述した所定の論理式は、秘密情報を階層的に秘密分散して得られる木構造データによって表現できる。すなわち、ド・モルガンの法則により、上述した所定の論理式はリテラルからなる論理式、又は、論理記号∧,∨の少なくとも一部とリテラルとからなる論理式(これらを「標準形論理式」と呼ぶことにする)によって表現でき、この標準形論理式は秘密情報を階層的に秘密分散して得られる木構造データによって表現できる。
標準形論理式を表現する木構造データは複数のノードを含み、少なくとも一部のノードは1個以上の子ノードの親ノードとされ、親ノードの1つはルートノードとされ、子ノードの少なくとも一部は葉ノードとされる。ルートノードの親ノードや、葉ノードの子ノードは存在しない。ルートノードには秘密情報に応じた値が対応し、各親ノードの子ノードには当該親ノードに対応する値を秘密分散したシェア情報に応じた値が対応する。各ノードでの秘密分散形態(秘密分散方式やしきい値)は標準形論理式に応じて定まる。また、各葉ノードには標準形論理式を構成する各リテラルが対応し、当該各リテラルの真理値は第1情報と第2情報との組み合わせによって定まる。
ここで、真理値が真となったリテラルに対応する葉ノードに対応するシェア情報に応じた値は得られるが、真理値が偽となったリテラルに対応する葉ノードに対応するシェア情報に応じた値は得られないものとする。また、上述した秘密分散の性質により、親ノードに対応するシェア情報に応じた値(その親ノードがルートノードであれば秘密情報に応じた値)は、その子ノードに対応するシェア情報に応じた値が当該親ノードに対応するしきい値以上の個数だけ得られた場合にのみ復元される。そのため、どの葉ノードに対応するリテラルの真理値が真になったのかと木構造データの構成(各ノードでの秘密分散の形態を含む)とに応じ、最終的にルートノードに対応する秘密情報に応じた値が復元できるか否かが定まる。そして、各葉ノードに対応する各リテラルの真理値が標準形論理式の真理値を真にする場合にのみ最終的にルートノードに対応する秘密情報に応じた値が復元できるように木構造データが構成されている場合、このような木構造データは標準形論理式を表現する。このような標準形論理式を表現する木構造データは容易に設定できる。以下に具体例を示す。
図83は、命題変数PRO(1),PRO(2)と命題変数PRO(3)の否定¬PRO(3)と論理記号∧,∨とを含む標準形論理式PRO(1)∧PRO(2)∨¬PRO(3)を表現する木構造データを例示する図である。図83に例示する木構造データは複数のノードN1,...,N5を含む。ノードN1はノードN2,N5の親ノードとされ、ノードN2はノードN3,N4の親ノードとされ、親ノードの1つノードN1がルートノードとされ、子ノードの一部であるノードN3,N4,N5が葉ノードとされる。ノードN1には秘密情報SEに応じた値が対応し、ノードN1の子ノードN2,N5には、秘密情報SEに応じた値が1-out-of-2分散方式で秘密分散された各シェア情報SE,SEに応じた値がそれぞれ対応する。ノードN2の子ノードN3,N4には、シェア情報SEに応じた値が2-out-of-2分散方式で秘密分散された各シェア情報SE-SH1,SH1に応じた値がそれぞれ対応する。すなわち、葉ノードN3にはシェア情報share(1)=SE-SH1に応じた値が対応し、葉ノードN4にはシェア情報share(2)=SH1に応じた値が対応し、葉ノードN5にはシェア情報share(3)=SEに応じた値が対応する。また、葉ノードN3,N4,N5には標準形論理式PRO(1)∧PRO(2)∨¬PRO(3)を構成する各リテラルPRO(1),PRO(2),¬PRO(3)がそれぞれ対応し、当該各リテラルPRO(1),PRO(2),¬PRO(3)の真理値は第1情報と第2情報との組み合わせによって定まる。ここで、真理値が真となったリテラルに対応する葉ノードに対応するシェア情報に応じた値は得られるが、真理値が偽となったリテラルに対応する葉ノードに対応するシェア情報に応じた値は得られない。この場合、第1情報と第2情報との組み合わせが標準形論理式PRO(1)∧PRO(2)∨¬PRO(3)の真理値を真にする場合にのみ秘密情報SEに応じた値が復元される。
図84は、命題変数PRO(1),PRO(2),PRO(3),PRO(6),PRO(7)と命題変数PRO(4),PRO(5)の否定¬PRO(4),¬PRO(5)と論理記号∧,∨とを含む標準形論理式PRO(1)∧PRO(2)∨PRO(2)∧PRO(3)∨PRO(1)∧PRO(3)∨¬PRO(4)∨(¬PRO(5)∧PRO(6))∧PRO(7)を表現する木構造データを例示する図である。
図84に例示する木構造データは複数のノードN1,...,N11を含む。ノードN1はノードN2,N6,N7の親ノードとされ、ノードN2はノードN3,N4,N5の親ノードとされ、ノードN7はノードN8,N11の親ノードとされ、ノードN8はノードN9,N10の親ノードとされ、親ノードの1つであるノードN1がルートノードとされ、ノードN3,N4,N5,N6,N9,N10,N11が葉ノードとされる。ノードN1には秘密情報SEに応じた値が対応し、ノードN1の子ノードN2,N6,N7には、秘密情報SEに応じた値が1-out-of-3分散方式で秘密分散された各シェア情報SE,SE,SEに応じた値がそれぞれ対応する。ノードN2の子ノードN3,N4,N5には、シェア情報SEに応じた値が2-out-of-3分散方式で秘密分散された各シェア情報(1,f(1)),(2,f(2)),(3,f(3))に応じた値がそれぞれ対応する。ノードN7の子ノードN8,N11には、シェア情報SEに応じた値が2-out-of-2分散方式で秘密分散された各シェア情報SH4,SE-SH4に応じた値がそれぞれ対応する。ノードN8の子ノードN9,N10には、シェア情報SH4に応じた値が1-out-of-2分散方式で秘密分散された各シェア情報SH4,SH4に応じた値がそれぞれ対応する。すなわち、葉ノードN3にはシェア情報share(1)=(1,f(1))に応じた値が対応し、葉ノードN4にはシェア情報share(2)=(2,f(2))に応じた値が対応し、葉ノードN5にはシェア情報share(3)=(3,f(3))に応じた値が対応し、葉ノードN6にはシェア情報share(4)=SEに応じた値が対応し、葉ノードN9にはシェア情報share(5)=SH4に応じた値が対応し、葉ノードN10にはシェア情報share(6)=SH4に応じた値が対応し、葉ノードN11にはシェア情報share(7)=SE-SH4に応じた値が対応する。また、葉ノードであるノードN3,N4,N5,N6,N9,N10,N11には標準形論理式PRO(1)∧PRO(2)∨PRO(2)∧PRO(3)∨PRO(1)∧PRO(3)∨¬PRO(4)∨(¬PRO(5)∧PRO(6))∧PRO(7)を構成する各リテラルPRO(1),PRO(2),PRO(2),PRO(3),PRO(1),PRO(3),¬PRO(4),¬PRO(5),PRO(6),PRO(7)がそれぞれ対応し、各リテラルPRO(1),PRO(2),PRO(2),PRO(3),PRO(1),PRO(3),¬PRO(4),¬PRO(5),PRO(6),PRO(7)の真理値は第1情報と第2情報との組み合わせによって定まる。ここで、真理値が真となったリテラルに対応する葉ノードに対応するシェア情報に応じた値は得られるが、真理値が偽となったリテラルに対応する葉ノードに対応するシェア情報に応じた値は得られない。この場合、第1情報と第2情報との組み合わせが標準形論理式PRO(1),∧PRO(2),∨PRO(2),∧PRO(3),∨PRO(1),∧PRO(3),∨¬PRO(4),∨(¬PRO(5),∧PRO(6),)∧PRO(7)の真理値を真にする場合にのみ秘密情報SEに応じた値が復元される。
図84に例示する木構造データは複数のノードN1,...,N11を含む。ノードN1はノードN2,N6,N7の親ノードとされ、ノードN2はノードN3,N4,N5の親ノードとされ、ノードN7はノードN8,N11の親ノードとされ、ノードN8はノードN9,N10の親ノードとされ、親ノードの1つであるノードN1がルートノードとされ、ノードN3,N4,N5,N6,N9,N10,N11が葉ノードとされる。ノードN1には秘密情報SEに応じた値が対応し、ノードN1の子ノードN2,N6,N7には、秘密情報SEに応じた値が1-out-of-3分散方式で秘密分散された各シェア情報SE,SE,SEに応じた値がそれぞれ対応する。ノードN2の子ノードN3,N4,N5には、シェア情報SEに応じた値が2-out-of-3分散方式で秘密分散された各シェア情報(1,f(1)),(2,f(2)),(3,f(3))に応じた値がそれぞれ対応する。ノードN7の子ノードN8,N11には、シェア情報SEに応じた値が2-out-of-2分散方式で秘密分散された各シェア情報SH4,SE-SH4に応じた値がそれぞれ対応する。ノードN8の子ノードN9,N10には、シェア情報SH4に応じた値が1-out-of-2分散方式で秘密分散された各シェア情報SH4,SH4に応じた値がそれぞれ対応する。すなわち、葉ノードN3にはシェア情報share(1)=(1,f(1))に応じた値が対応し、葉ノードN4にはシェア情報share(2)=(2,f(2))に応じた値が対応し、葉ノードN5にはシェア情報share(3)=(3,f(3))に応じた値が対応し、葉ノードN6にはシェア情報share(4)=SEに応じた値が対応し、葉ノードN9にはシェア情報share(5)=SH4に応じた値が対応し、葉ノードN10にはシェア情報share(6)=SH4に応じた値が対応し、葉ノードN11にはシェア情報share(7)=SE-SH4に応じた値が対応する。また、葉ノードであるノードN3,N4,N5,N6,N9,N10,N11には標準形論理式PRO(1)∧PRO(2)∨PRO(2)∧PRO(3)∨PRO(1)∧PRO(3)∨¬PRO(4)∨(¬PRO(5)∧PRO(6))∧PRO(7)を構成する各リテラルPRO(1),PRO(2),PRO(2),PRO(3),PRO(1),PRO(3),¬PRO(4),¬PRO(5),PRO(6),PRO(7)がそれぞれ対応し、各リテラルPRO(1),PRO(2),PRO(2),PRO(3),PRO(1),PRO(3),¬PRO(4),¬PRO(5),PRO(6),PRO(7)の真理値は第1情報と第2情報との組み合わせによって定まる。ここで、真理値が真となったリテラルに対応する葉ノードに対応するシェア情報に応じた値は得られるが、真理値が偽となったリテラルに対応する葉ノードに対応するシェア情報に応じた値は得られない。この場合、第1情報と第2情報との組み合わせが標準形論理式PRO(1),∧PRO(2),∨PRO(2),∧PRO(3),∨PRO(1),∧PRO(3),∨¬PRO(4),∨(¬PRO(5),∧PRO(6),)∧PRO(7)の真理値を真にする場合にのみ秘密情報SEに応じた値が復元される。
<アクセス構造>
上述のように秘密情報を階層的に秘密分散して得られる木構造データによって所定の論理式を表現した場合、第1情報と第2情報との組み合わせに対して得られる葉ノードでのシェア情報に応じた値から秘密情報に応じた値を復元できるか否かによって、第1情報と第2情報との組み合わせによって定まる論理式の真理値が「真」となるか「偽」となるかを判定できる。以下、第1情報と第2情報との組み合わせによって定まる論理式の真理値が「真」となる場合に第1情報と第2情報との組み合わせを受け入れ、「偽」となる場合に第1情報と第2情報との組み合わせを拒絶する仕組みをアクセス構造と呼ぶ。
上述のように秘密情報を階層的に秘密分散して得られる木構造データによって所定の論理式を表現した場合、第1情報と第2情報との組み合わせに対して得られる葉ノードでのシェア情報に応じた値から秘密情報に応じた値を復元できるか否かによって、第1情報と第2情報との組み合わせによって定まる論理式の真理値が「真」となるか「偽」となるかを判定できる。以下、第1情報と第2情報との組み合わせによって定まる論理式の真理値が「真」となる場合に第1情報と第2情報との組み合わせを受け入れ、「偽」となる場合に第1情報と第2情報との組み合わせを拒絶する仕組みをアクセス構造と呼ぶ。
上述のように所定の論理式を表現した木構造データの葉ノードの総数をΨとし、各葉ノードに対応する識別子をλ=1,...,Ψとする。各葉ノードに対応するn(λ)次元ベクトルv(λ)→の集合{v(λ)→}λ=1,...,Ψを第1情報とし、n(λ)次元ベクトルw(λ)→の集合{w(λ)→}λ=1,...,Ψを第2情報とする。また、上述した木構造データをラベル付き行列LMT(MT,LAB)として実装する。
行列MTの各要素mtλ,col(col=1,...,COL)は次の2つの要件を満たす。第1に、上述のように所定の論理式を表現した木構造データのルートノードに秘密情報SE∈Fqに応じた値が対応する場合、予め定められた有限体Fqの元を要素とするCOL次元ベクトル
GV→=(gv1,...,gvCOL)∈Fq COL …(35)
と、秘密情報SEに応じた有限体Fqの元を要素とするCOL次元ベクトル
CV→=(cv1,...,cvCOL)∈Fq COL …(36)
とに対して
SE=GV→・(CV→)T …(37)
が成立する。COL次元ベクトルGV→の具体例は、
GV→=(1F,...,1F)∈Fq COL …(38)
であるが、GV→=(1F,0F,...,0F)∈Fq COLなどのその他のCOL次元ベクトルであってもよい。第2に、識別子λに対応する葉ノードにシェア情報share(λ)∈Fqに応じた値が対応する場合、
(share(1),...,share(Ψ))T=MT・(CV→)T …(39)
が成立する。上述のように所定の論理式を表現した木構造データが定まれば、これら2つの要件を満たす行列MTを選択することは容易である。また、秘密情報SEやシェア情報share(λ)が変数であったとしても、これら2つの要件を満たす行列MTを選択することは容易である。すなわち、行列MTを定めた後で秘密情報SEやシェア情報share(λ)の値が定められてもよい。
GV→=(gv1,...,gvCOL)∈Fq COL …(35)
と、秘密情報SEに応じた有限体Fqの元を要素とするCOL次元ベクトル
CV→=(cv1,...,cvCOL)∈Fq COL …(36)
とに対して
SE=GV→・(CV→)T …(37)
が成立する。COL次元ベクトルGV→の具体例は、
GV→=(1F,...,1F)∈Fq COL …(38)
であるが、GV→=(1F,0F,...,0F)∈Fq COLなどのその他のCOL次元ベクトルであってもよい。第2に、識別子λに対応する葉ノードにシェア情報share(λ)∈Fqに応じた値が対応する場合、
(share(1),...,share(Ψ))T=MT・(CV→)T …(39)
が成立する。上述のように所定の論理式を表現した木構造データが定まれば、これら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(λ)→を表すことを「LAB(λ)=v(λ)→」と表記し、LAB(λ)が¬v(λ)→を表すことを「LAB(λ)=¬v(λ)→」と表記する。また、LAB(λ)(λ=1,...,Ψ)の集合{LAB(λ)}λ=1,...,ΨをLABと表記する。
さらに、Ψ次元ベクトル
TFV→=(tfv(1),...,tfv(Ψ)) …(40)
を定義する。要素tfv(λ)は、内積v(λ)→・w(λ)→が0のときにtfv(λ)=1となり、0以外のときにtfv(λ)=0となる。
tfv(λ)=1 (PRO(λ)が真) if v(λ)→・w(λ)→=0 …(41)
tfv(λ)=0 (PRO(λ)が偽) if v(λ)→・w(λ)→≠0 …(42)
TFV→=(tfv(1),...,tfv(Ψ)) …(40)
を定義する。要素tfv(λ)は、内積v(λ)→・w(λ)→が0のときにtfv(λ)=1となり、0以外のときにtfv(λ)=0となる。
tfv(λ)=1 (PRO(λ)が真) if v(λ)→・w(λ)→=0 …(41)
tfv(λ)=0 (PRO(λ)が偽) if v(λ)→・w(λ)→≠0 …(42)
さらに、論理式
{(LAB(λ)=v(λ)→)∧(tfv(λ)=1)}∨{(LAB(λ)=¬v(λ)→)∧(tfv(λ)=0)}
…(43)
の真理値が「真」になるときLIT(λ)=1と表記し「偽」になるときLIT(λ)=0と表記する。すなわち、識別子λに対応する葉ノードに対応するリテラルの真理値が「真」になるときLIT(λ)=1と表記し「偽」になるときLIT(λ)=0と表記する。すると、行列MTが含む行ベクトルのうちLIT(λ)=1となる行ベクトルmtλ →=(mtλ,1,...,mtλ,COL)のみからなる部分行列MTTFVは以下のように表記できる。
MTTFV=(MT)LIT(λ)=1 …(44)
{(LAB(λ)=v(λ)→)∧(tfv(λ)=1)}∨{(LAB(λ)=¬v(λ)→)∧(tfv(λ)=0)}
…(43)
の真理値が「真」になるときLIT(λ)=1と表記し「偽」になるときLIT(λ)=0と表記する。すなわち、識別子λに対応する葉ノードに対応するリテラルの真理値が「真」になるときLIT(λ)=1と表記し「偽」になるときLIT(λ)=0と表記する。すると、行列MTが含む行ベクトルのうちLIT(λ)=1となる行ベクトルmtλ →=(mtλ,1,...,mtλ,COL)のみからなる部分行列MTTFVは以下のように表記できる。
MTTFV=(MT)LIT(λ)=1 …(44)
上述した秘密分散方式が線形秘密分散方式である場合、識別子λに対応するシェア情報share(λ)に応じた値から秘密情報SEに応じた値が復元できることと、識別子λに対応する行ベクトルmtλ →で張られるベクトル空間にCOL次元ベクトルGV→が属することとは等価である。すなわち、識別子λに対応する行ベクトルmtλ →で張られるベクトル空間にCOL次元ベクトルGV→が属するか否かを判定することで、識別子λに対応するシェア情報share(λ)に応じた値から秘密情報SEに応じた値が復元できるか否かが判定できる。なお、行ベクトルmtλ →で張られるベクトル空間とは、行ベクトルmtλ →の線形結合で表すことができるベクトル空間を意味する。
ここで、上述の部分行列MTTFVの各行ベクトルmtλ →で張られるベクトル空間span<MTTFV>にCOL次元ベクトルGV→が属する場合に第1情報と第2情報との組み合わせが受け入れられ、そうでない場合に第1情報と第2情報との組み合わせが拒絶されることにする。これにより、上述のアクセス構造が具体化される。なお、上述したようにラベル付き行列LMT(MT,LAB)が第1情報に対応する場合、アクセス構造が第1情報と第2情報との組み合わせを受け入れることを「アクセス構造が第2情報を受け入れる」といい、アクセス構造が第1情報と第2情報との組み合わせを受け入れないことを「アクセス構造が第2情報を拒絶する」という。
受け入れ if GV→∈span<MTTFV>
拒絶 if ¬(GV→∈span<MTTFV>)
また、GV→∈span<MTTFV>の場合、
SE=Σμ∈SETconst(μ)・share(μ) …(45)
{const(μ)∈Fq|μ∈SET},SET⊆{1,...,λ|LIT(λ)=1}
を満たす係数const(μ)が存在し、このような係数const(μ)は行列MTのサイズの多項式時間で求めることができる。
受け入れ if GV→∈span<MTTFV>
拒絶 if ¬(GV→∈span<MTTFV>)
また、GV→∈span<MTTFV>の場合、
SE=Σμ∈SETconst(μ)・share(μ) …(45)
{const(μ)∈Fq|μ∈SET},SET⊆{1,...,λ|LIT(λ)=1}
を満たす係数const(μ)が存在し、このような係数const(μ)は行列MTのサイズの多項式時間で求めることができる。
<アクセス構造を用いた関数暗号方式の基本構成>
以下では、アクセス構造を用いた関数暗号方式によって鍵カプセル化メカニズムKEM (Key Encapsulation Mechanisms)を構成する場合の基本構成を例示する。この構成はSetup(1sec,(Ψ;n(1),...,n(Ψ))),GenKey(PK,MSK,LMT(MT,LAB)),Enc(PK,M,{λ,v(λ)→|λ=1,...,Ψ})(v1(λ)=1F),Dec(PK,SKS,C)を含む。また、第2情報VSET2={λ,w(λ)→|λ=1,...,Ψ}の1番目の要素w1(λ)が1Fとされる。
以下では、アクセス構造を用いた関数暗号方式によって鍵カプセル化メカニズムKEM (Key Encapsulation Mechanisms)を構成する場合の基本構成を例示する。この構成はSetup(1sec,(Ψ;n(1),...,n(Ψ))),GenKey(PK,MSK,LMT(MT,LAB)),Enc(PK,M,{λ,v(λ)→|λ=1,...,Ψ})(v1(λ)=1F),Dec(PK,SKS,C)を含む。また、第2情報VSET2={λ,w(λ)→|λ=1,...,Ψ}の1番目の要素w1(λ)が1Fとされる。
[Setup(1sec,(Ψ;n(1),...,n(Ψ))):セットアップ]
−入力:1sec,(Ψ;n(1),...,n(Ψ))
−出力:マスター鍵情報MSK,公開パラメータPK
Setupでは各ψ=0,...,Ψについて以下の処理が実行される。
(Setup-1) 1secを入力としてセキュリティパラメータsecでの位数q、楕円曲線E、巡回群G1, G2, GT、双線形写像eψ(ψ=0,...,Ψ)が生成される(param=(q, E, G1, G2, GT, eψ))。
(Setup-2) τ'∈Fqが選択され、X*(ψ)=τ'・(X(ψ)-1)Tを満たす行列X(ψ),X*(ψ)が選択される。
(Setup-3) 基底ベクトルai(ψ) (i=1,...,n(ψ)+ζ(ψ))が式(21)に従って座標変換され、n(ψ)+ζ(ψ)次元の基底ベクトルbi(ψ) (i=1,...,n(ψ)+ζ(ψ))が生成される。基底ベクトルbi(ψ) (i=1,...,n(ψ)+ζ(ψ))を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列B(ψ)が生成される。
(Setup-4) 基底ベクトルai *(ψ) (i=1,...,n(ψ)+ζ(ψ))が式(23)に従って座標変換され、n(ψ)+ζ(ψ)次元の基底ベクトルbi *(ψ)(i=1,...,n(ψ)+ζ(ψ))が生成される。基底ベクトルbi *(ψ) (i=1,...,n(ψ)+ζ(ψ))を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列B*(ψ)が生成される。
(Setup-5) B*(ψ)^の集合{B*(ψ)^}ψ=0,...,Ψをマスター鍵情報MSK={B*(ψ)^}ψ=0,...,Ψとする。また、B(ψ)^の集合{B(ψ)^}ψ=0,...,Ψと1secとparamとを公開パラメータPKとする。ただし、B*(ψ)^は行列B*(ψ)又はその部分行列であり、B(ψ)^は行列B(ψ)又はその部分行列である。また、集合{B*(ψ)^}ψ=0,...,Ψは、少なくとも、b1 *(0),b1 *(λ) …,bn(λ) *(λ)(λ=1,...,Ψ)を含む。また、集合{B(ψ)^}ψ=0,...,Ψは、少なくとも、b1(0),b1(λ),…,bn(λ)(λ)(λ=1,...,Ψ)を含む。以下に一例を示す。
・n(0)+ζ(0)≧5, ζ(λ)=3・n(λ)
・B(0)^=(b1(0) b3(0) b5(0))T
・B(λ)^=(b1(λ) …bn(λ)(λ) b3・n(λ)+1(λ) … b4・n(λ)(λ))T(λ=1,...,Ψ)
・B*(0)^=(b1 *(0) b3 *(0) b4 *(0))T
・B*(λ)^=(b1 *(λ) … bn(λ) *(λ) b2・n(λ)+1 *(λ) … b3・n(λ) *(λ))T(λ=1,...,Ψ)
−入力:1sec,(Ψ;n(1),...,n(Ψ))
−出力:マスター鍵情報MSK,公開パラメータPK
Setupでは各ψ=0,...,Ψについて以下の処理が実行される。
(Setup-1) 1secを入力としてセキュリティパラメータsecでの位数q、楕円曲線E、巡回群G1, G2, GT、双線形写像eψ(ψ=0,...,Ψ)が生成される(param=(q, E, G1, G2, GT, eψ))。
(Setup-2) τ'∈Fqが選択され、X*(ψ)=τ'・(X(ψ)-1)Tを満たす行列X(ψ),X*(ψ)が選択される。
(Setup-3) 基底ベクトルai(ψ) (i=1,...,n(ψ)+ζ(ψ))が式(21)に従って座標変換され、n(ψ)+ζ(ψ)次元の基底ベクトルbi(ψ) (i=1,...,n(ψ)+ζ(ψ))が生成される。基底ベクトルbi(ψ) (i=1,...,n(ψ)+ζ(ψ))を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列B(ψ)が生成される。
(Setup-4) 基底ベクトルai *(ψ) (i=1,...,n(ψ)+ζ(ψ))が式(23)に従って座標変換され、n(ψ)+ζ(ψ)次元の基底ベクトルbi *(ψ)(i=1,...,n(ψ)+ζ(ψ))が生成される。基底ベクトルbi *(ψ) (i=1,...,n(ψ)+ζ(ψ))を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列B*(ψ)が生成される。
(Setup-5) B*(ψ)^の集合{B*(ψ)^}ψ=0,...,Ψをマスター鍵情報MSK={B*(ψ)^}ψ=0,...,Ψとする。また、B(ψ)^の集合{B(ψ)^}ψ=0,...,Ψと1secとparamとを公開パラメータPKとする。ただし、B*(ψ)^は行列B*(ψ)又はその部分行列であり、B(ψ)^は行列B(ψ)又はその部分行列である。また、集合{B*(ψ)^}ψ=0,...,Ψは、少なくとも、b1 *(0),b1 *(λ) …,bn(λ) *(λ)(λ=1,...,Ψ)を含む。また、集合{B(ψ)^}ψ=0,...,Ψは、少なくとも、b1(0),b1(λ),…,bn(λ)(λ)(λ=1,...,Ψ)を含む。以下に一例を示す。
・n(0)+ζ(0)≧5, ζ(λ)=3・n(λ)
・B(0)^=(b1(0) b3(0) b5(0))T
・B(λ)^=(b1(λ) …bn(λ)(λ) b3・n(λ)+1(λ) … b4・n(λ)(λ))T(λ=1,...,Ψ)
・B*(0)^=(b1 *(0) b3 *(0) b4 *(0))T
・B*(λ)^=(b1 *(λ) … bn(λ) *(λ) b2・n(λ)+1 *(λ) … b3・n(λ) *(λ))T(λ=1,...,Ψ)
[GenKey(PK,MSK,LMT(MT,LAB)):鍵情報生成]
−入力:公開パラメータPK,マスター鍵情報MSK,第1情報VSET1={λ,v(λ)→|λ=1,...,Ψ}に対応するラベル付き行列LMT(MT,LAB)
−出力:鍵情報SKS
(GenKey-1) 式(35)-(39)を満たす秘密情報SEに対して以下の処理が実行される。
D*(0)=-SE・b1 *(0)+Σι=2 Icoefι(0)・bι *(0) …(46)
ただし、Iは2以上n(0)+ζ(0)以下の定数である。coefι(0)∈Fqは定数又は乱数である
。「乱数」とは真性乱数や擬似乱数を意味する。以下にD*(0)の一例を示す。なお、式(47)のcoef4(0)は乱数である。
D*(0)=-SE・b1 *(0)+b3 *(0)+coef4(0)・b4 *(0) …(47)
(GenKey-2) 式(35)-(39)を満たすshare(λ)(λ=1,...,Ψ)に対して以下の処理が実行される。
LAB(λ)=v(λ)→となるλに対して
D*(λ)=(share(λ)+coef(λ)・v1(λ))・b1 *(λ)
+Σι=2 n(λ)coef(λ)・vι(λ)・bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)・bι *(λ) …(48)
が生成され、
LAB(λ)=¬v(λ)→となるλに対して
D*(λ)=share(λ)・Σι=1 n(λ)vι(λ)・bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)・bι *(λ) …(49)
が生成される。ただしcoef(λ),coefι(λ)∈Fqは定数又は乱数である。以下に一例を示す。
LAB(λ)=v(λ)→となるλに対して
D*(λ)=(share(λ)+coef(λ)・v1(λ))・b1 *(λ)
+Σι=2 n(λ)coef(λ)・vι(λ)・bι *(λ)
+Σι=2・n(λ)+1 3・n(λ)coefι(λ)・bι *(λ) …(50)
が生成され、
LAB(λ)=¬v(λ)→となるλに対して
D*(λ)=share(λ)・Σι=1 n(λ)vι(λ)・bι *(λ)
+Σι=2・n(λ)+1 3・n(λ)coefι(λ)・bι *(λ) …(51)
が生成される。なお、式(50)(51)のcoef(λ)及びcoefι(λ)は乱数である。
(GenKey-3) 鍵情報
SKS=(LMT(MT,LAB),D*(0),D*(1),...,D(Ψ)) …(52)
生成される。
−入力:公開パラメータPK,マスター鍵情報MSK,第1情報VSET1={λ,v(λ)→|λ=1,...,Ψ}に対応するラベル付き行列LMT(MT,LAB)
−出力:鍵情報SKS
(GenKey-1) 式(35)-(39)を満たす秘密情報SEに対して以下の処理が実行される。
D*(0)=-SE・b1 *(0)+Σι=2 Icoefι(0)・bι *(0) …(46)
ただし、Iは2以上n(0)+ζ(0)以下の定数である。coefι(0)∈Fqは定数又は乱数である
。「乱数」とは真性乱数や擬似乱数を意味する。以下にD*(0)の一例を示す。なお、式(47)のcoef4(0)は乱数である。
D*(0)=-SE・b1 *(0)+b3 *(0)+coef4(0)・b4 *(0) …(47)
(GenKey-2) 式(35)-(39)を満たすshare(λ)(λ=1,...,Ψ)に対して以下の処理が実行される。
LAB(λ)=v(λ)→となるλに対して
D*(λ)=(share(λ)+coef(λ)・v1(λ))・b1 *(λ)
+Σι=2 n(λ)coef(λ)・vι(λ)・bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)・bι *(λ) …(48)
が生成され、
LAB(λ)=¬v(λ)→となるλに対して
D*(λ)=share(λ)・Σι=1 n(λ)vι(λ)・bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)・bι *(λ) …(49)
が生成される。ただしcoef(λ),coefι(λ)∈Fqは定数又は乱数である。以下に一例を示す。
LAB(λ)=v(λ)→となるλに対して
D*(λ)=(share(λ)+coef(λ)・v1(λ))・b1 *(λ)
+Σι=2 n(λ)coef(λ)・vι(λ)・bι *(λ)
+Σι=2・n(λ)+1 3・n(λ)coefι(λ)・bι *(λ) …(50)
が生成され、
LAB(λ)=¬v(λ)→となるλに対して
D*(λ)=share(λ)・Σι=1 n(λ)vι(λ)・bι *(λ)
+Σι=2・n(λ)+1 3・n(λ)coefι(λ)・bι *(λ) …(51)
が生成される。なお、式(50)(51)のcoef(λ)及びcoefι(λ)は乱数である。
(GenKey-3) 鍵情報
SKS=(LMT(MT,LAB),D*(0),D*(1),...,D(Ψ)) …(52)
生成される。
[Enc(PK,M,VSET2):暗号化]
−入力:公開パラメータPK,平文M,第2情報VSET2={λ,w(λ)→|λ=1,...,Ψ}(w1(λ)=1F)
−出力:暗号文C
(Enc-1) 以下の処理によって共通鍵Kの暗号文C(ψ)(ψ=0,...,Ψ)が生成される。
C(0)=υ・b1(0)+Σι=2 Iυι(0)・bι(0) …(53)
C(λ)=υ・Σι=1 n(λ)wι(λ)・bι(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)υι(λ)・bι(λ)
…(54)
ただし、υ,υι(ψ)∈Fq(ψ=0,...,Ψ)は定数又は乱数であり、
(coef2(0),...,coefI(0))・(υ2(0),...,υI(0))=υ' …(55)
coefι(λ)・υι(λ)=0F (ι=n(λ)+1,...,n(λ)+ζ(λ)) …(56)
を満たす。υ'の例はυ2(0),...,υI(0)の何れか1個である。例えば、υ,υ3(0),υ5(0),υ3・n(λ)+1(λ),...,υ4・n(λ)(λ)が乱数であり、ζ(λ)=3・n(λ)、I=5であり、
(υ2(0),...,υI(0))=(0F,υ3(0),0F,υ5(0))
υ'=υ3(0)
(υn(λ)+1(λ),...,υ3・n(λ)(λ))=(0F,...,0F)
である。
(Enc-2) 共通鍵
K=gT τ・τ'・υ'∈GT …(57)
が生成される。例えば、τ=τ'=1Fの場合、
K=gT υ'∈GT …(58)
である。
(Enc-3) 共通鍵Kを用いて平文Mの暗号文
C(Ψ+1)=EncK(M) …(59)
が生成される。なお、共通鍵暗号方式Encは、例えば共通鍵Kを用いて暗号化可能に構成されたカメリア(Camellia)(登録商標)やAESや共通鍵と平文との排他的論理和などでよいが、その他の簡単な例として以下のようにEncK(M)を生成してもよい。ただし、式(60)の例ではM∈GTとされる。
C(Ψ+1)=gT υ'・M …(60)
(Enc-4) 暗号文
C=(VSET2,C(0),{C(λ)}(λ,w(λ)→)∈VSET2,C(Ψ+1)) …(61)
が生成される。ただし、下付き添え字の「w(λ)→」は「w(λ)→」を表す。
−入力:公開パラメータPK,平文M,第2情報VSET2={λ,w(λ)→|λ=1,...,Ψ}(w1(λ)=1F)
−出力:暗号文C
(Enc-1) 以下の処理によって共通鍵Kの暗号文C(ψ)(ψ=0,...,Ψ)が生成される。
C(0)=υ・b1(0)+Σι=2 Iυι(0)・bι(0) …(53)
C(λ)=υ・Σι=1 n(λ)wι(λ)・bι(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)υι(λ)・bι(λ)
…(54)
ただし、υ,υι(ψ)∈Fq(ψ=0,...,Ψ)は定数又は乱数であり、
(coef2(0),...,coefI(0))・(υ2(0),...,υI(0))=υ' …(55)
coefι(λ)・υι(λ)=0F (ι=n(λ)+1,...,n(λ)+ζ(λ)) …(56)
を満たす。υ'の例はυ2(0),...,υI(0)の何れか1個である。例えば、υ,υ3(0),υ5(0),υ3・n(λ)+1(λ),...,υ4・n(λ)(λ)が乱数であり、ζ(λ)=3・n(λ)、I=5であり、
(υ2(0),...,υI(0))=(0F,υ3(0),0F,υ5(0))
υ'=υ3(0)
(υn(λ)+1(λ),...,υ3・n(λ)(λ))=(0F,...,0F)
である。
(Enc-2) 共通鍵
K=gT τ・τ'・υ'∈GT …(57)
が生成される。例えば、τ=τ'=1Fの場合、
K=gT υ'∈GT …(58)
である。
(Enc-3) 共通鍵Kを用いて平文Mの暗号文
C(Ψ+1)=EncK(M) …(59)
が生成される。なお、共通鍵暗号方式Encは、例えば共通鍵Kを用いて暗号化可能に構成されたカメリア(Camellia)(登録商標)やAESや共通鍵と平文との排他的論理和などでよいが、その他の簡単な例として以下のようにEncK(M)を生成してもよい。ただし、式(60)の例ではM∈GTとされる。
C(Ψ+1)=gT υ'・M …(60)
(Enc-4) 暗号文
C=(VSET2,C(0),{C(λ)}(λ,w(λ)→)∈VSET2,C(Ψ+1)) …(61)
が生成される。ただし、下付き添え字の「w(λ)→」は「w(λ)→」を表す。
[Dec(PK,SKS,C):復号]
−入力:公開パラメータPK,鍵情報SKS,暗号文C
−出力:平文M'
(Dec-1) λ=1,...,Ψについて、鍵情報SKSが含むラベル付き行列LMT(MT,LAB)の各ラベルLAB(λ)であるn(λ)次元ベクトルv(λ)→と暗号文CのVSET2が含むn(λ)次元ベクトルw(λ)→との内積v(λ)→・w(λ)→が0となるか否かが判定され、これによってGV→∈span<MTTFV>であるか否かが判定される。GV→∈span<MTTFV>でなければ暗号文Cが拒絶され、GV→∈span<MTTFV>であれば暗号文Cが受け入れられる。
(Dec-2) 暗号文Cが受け入れられると、SET⊆{1,...,λ|LIT(λ)=1}と式(45)を満たす係数const(μ)(μ∈SET)とが計算される。
(Dec-3) 共通鍵
が生成される。ここで、式(6)(25)(55)から、
を満たす。また、式(6)(25)(41)(48)(54)(56)及びw1(λ)=1Fから
を満たす。また、式(6)(25)(42)(49)(54)(56)から
を満たす。よって、式(45)(63)-(65)から
を満たす。例えば、τ=τ'=1Fの場合、
K=gT υ'∈GT …(67)
を満たす。
(Dec-4) 共通鍵Kを用いて平文
M'=DecK(C(Ψ+1))=DecK(C(Ψ+1)) …(68)
が生成される。例えば、式(60)に例示した共通鍵暗号方式の場合、
M'=C(Ψ+1)/K …(69)
によって平文M'が生成される。
−入力:公開パラメータPK,鍵情報SKS,暗号文C
−出力:平文M'
(Dec-1) λ=1,...,Ψについて、鍵情報SKSが含むラベル付き行列LMT(MT,LAB)の各ラベルLAB(λ)であるn(λ)次元ベクトルv(λ)→と暗号文CのVSET2が含むn(λ)次元ベクトルw(λ)→との内積v(λ)→・w(λ)→が0となるか否かが判定され、これによってGV→∈span<MTTFV>であるか否かが判定される。GV→∈span<MTTFV>でなければ暗号文Cが拒絶され、GV→∈span<MTTFV>であれば暗号文Cが受け入れられる。
(Dec-2) 暗号文Cが受け入れられると、SET⊆{1,...,λ|LIT(λ)=1}と式(45)を満たす係数const(μ)(μ∈SET)とが計算される。
(Dec-3) 共通鍵
が生成される。ここで、式(6)(25)(55)から、
を満たす。また、式(6)(25)(41)(48)(54)(56)及びw1(λ)=1Fから
を満たす。また、式(6)(25)(42)(49)(54)(56)から
を満たす。よって、式(45)(63)-(65)から
を満たす。例えば、τ=τ'=1Fの場合、
K=gT υ'∈GT …(67)
を満たす。
(Dec-4) 共通鍵Kを用いて平文
M'=DecK(C(Ψ+1))=DecK(C(Ψ+1)) …(68)
が生成される。例えば、式(60)に例示した共通鍵暗号方式の場合、
M'=C(Ψ+1)/K …(69)
によって平文M'が生成される。
なお、gTをGTの生成元とする代わりにgT τやgT τ'やgT τ・τ'をGTの生成元と扱ってもよい。また、鍵情報SKSのλと暗号文のλとを対応関係を特定する写像を用いてC(λ)とD*(λ)との組み合わせを特定し、[Dec(PK,SKS,C):復号]の処理が実行されてもよい。また、第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とされる。
次に、関数暗号の一形態である述語暗号の一例として内積を用いた述語暗号について説明する。なお、数式の番号は本節で改めて付け直している。また、説明の都合、上述の説明で用いた文言や記号と同じ文言や記号であっても意味が異なる場合があるので注意されたい。述語暗号は1-out-of-1分散方式を用いた関数暗号に相当する。
〔定義〕
行列:「行列」とは演算が定義された集合の元を矩形に並べたものを表す。環の元を要素とするものだけではなく、群の元を要素とするものも「行列」と表現する。
(・)T:(・)Tは・の転置行列を表す。
(・)-1:(・)-1は・の逆行列を表す。
∧:∧は論理積を表す。
∨:∨は論理和を表す。
Z:Zは整数集合を表す。
k:kはセキュリティパラメータ(k∈Z, k>0)を表す。
{0,1}*:{0,1}*は任意ビット長のバイナリ系列を表す。その一例は、整数0及び1からなる系列である。しかし、{0,1}*は整数0及び1からなる系列に限定されない。{0,1}*は位数2の有限体又はその拡大体と同義である。
{0,1}ζ:{0,1}ζはビット長ζ(ζ∈Z, ζ>0)のバイナリ系列を表す。その一例は、整数0及び1からなる系列である。しかし、{0,1}ζは整数0及び1からなる系列に限定されない。{0,1}ζは位数2の有限体(ζ=1の場合)又はそれをζ次拡大した拡大体(ζ>1の場合)と同義である。
(+):(+)はバイナリ系列間の排他的論理和演算子を表す。例えば、10110011(+)11100001=01010010を満たす。
行列:「行列」とは演算が定義された集合の元を矩形に並べたものを表す。環の元を要素とするものだけではなく、群の元を要素とするものも「行列」と表現する。
(・)T:(・)Tは・の転置行列を表す。
(・)-1:(・)-1は・の逆行列を表す。
∧:∧は論理積を表す。
∨:∨は論理和を表す。
Z:Zは整数集合を表す。
k:kはセキュリティパラメータ(k∈Z, k>0)を表す。
{0,1}*:{0,1}*は任意ビット長のバイナリ系列を表す。その一例は、整数0及び1からなる系列である。しかし、{0,1}*は整数0及び1からなる系列に限定されない。{0,1}*は位数2の有限体又はその拡大体と同義である。
{0,1}ζ:{0,1}ζはビット長ζ(ζ∈Z, ζ>0)のバイナリ系列を表す。その一例は、整数0及び1からなる系列である。しかし、{0,1}ζは整数0及び1からなる系列に限定されない。{0,1}ζは位数2の有限体(ζ=1の場合)又はそれをζ次拡大した拡大体(ζ>1の場合)と同義である。
(+):(+)はバイナリ系列間の排他的論理和演算子を表す。例えば、10110011(+)11100001=01010010を満たす。
Fq:Fqは位数qの有限体を表す。位数qは1以上の整数であり、例えば、素数や素数のべき乗値を位数qとする。すなわち、有限体Fqの例は素体やそれを基礎体とした拡大体である。なお、有限体Fqが素体である場合の演算は、例えば、位数qを法とする剰余演算によって容易に構成できる。また、有限体Fqが拡大体である場合の演算は、例えば、既約多項式を法とする剰余演算によって容易に構成できる。有限体Fqの具体的な構成方法は、例えば、参考文献1「ISO/IEC 18033-2: Information technology - Security techniques - Encryption algorithms - Part 2: Asymmetric ciphers」に開示されている。
0F:0Fは有限体Fqの加法単位元を表す。
1F:1Fは有限体Fqの乗法単位元を表す。
δ(i,j):δ(i,j)はクロネッカーのデルタ関数を表す。i=jの場合にδ(i,j)=1Fを満たし、i≠jの場合にδ(i,j)=0Fを満たす。
1F:1Fは有限体Fqの乗法単位元を表す。
δ(i,j):δ(i,j)はクロネッカーのデルタ関数を表す。i=jの場合にδ(i,j)=1Fを満たし、i≠jの場合にδ(i,j)=0Fを満たす。
E:Eは有限体Fq上で定義された楕円曲線を表す。Eはアフィン(affine)座標版のWeierstrass方程式
y2+a1・x・y+a3・y=x3+a2・x2+a4・x+a6 …(1)
(ただし、a1,a2,a3,a4,a6∈Fq)を満たすx,y∈Fqからなる点(x,y)の集合に無限遠点と呼ばれる特別な点Oを付加したもので定義される。楕円曲線E上の任意の2点に対して楕円加算と呼ばれる二項演算+及び楕円曲線E上の任意の1点に対して楕円逆元と呼ばれる単項演算−がそれぞれ定義できる。また、楕円曲線E上の有理点からなる有限集合が楕円加算に関して群をなすこと、楕円加算を用いて楕円スカラー倍算と呼ばれる演算が定義できること、及びコンピュータ上での楕円加算などの楕円演算の具体的な演算方法はよく知られている(例えば、参考文献1、参考文献2「RFC 5091: Identity-Based Cryptography Standard (IBCS) #1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems」、参考文献3「イアン・F・ブラケ、ガディエル・セロッシ、ナイジェル・P・スマート=著、「楕円曲線暗号」、出版=ピアソン・エデュケーション、ISBN4-89471-431-0」等参照)。
また、楕円曲線E上の有理点からなる有限集合は位数p(p≧1)の部分群を持つ。例えば、楕円曲線E上の有理点からなる有限集合の要素数を#Eとし、pを#Eを割り切る大きい素数とした場合、楕円曲線Eのp等分点からなる有限集合E[p]は、楕円曲線E上の有理点からなる有限集合の部分群を構成する。なお、楕円曲線Eのp等分点とは、楕円曲線E上の点Aのうち、楕円曲線E上での楕円スカラー倍算値p・Aがp・A=Oを満たす点を意味する。
y2+a1・x・y+a3・y=x3+a2・x2+a4・x+a6 …(1)
(ただし、a1,a2,a3,a4,a6∈Fq)を満たすx,y∈Fqからなる点(x,y)の集合に無限遠点と呼ばれる特別な点Oを付加したもので定義される。楕円曲線E上の任意の2点に対して楕円加算と呼ばれる二項演算+及び楕円曲線E上の任意の1点に対して楕円逆元と呼ばれる単項演算−がそれぞれ定義できる。また、楕円曲線E上の有理点からなる有限集合が楕円加算に関して群をなすこと、楕円加算を用いて楕円スカラー倍算と呼ばれる演算が定義できること、及びコンピュータ上での楕円加算などの楕円演算の具体的な演算方法はよく知られている(例えば、参考文献1、参考文献2「RFC 5091: Identity-Based Cryptography Standard (IBCS) #1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems」、参考文献3「イアン・F・ブラケ、ガディエル・セロッシ、ナイジェル・P・スマート=著、「楕円曲線暗号」、出版=ピアソン・エデュケーション、ISBN4-89471-431-0」等参照)。
また、楕円曲線E上の有理点からなる有限集合は位数p(p≧1)の部分群を持つ。例えば、楕円曲線E上の有理点からなる有限集合の要素数を#Eとし、pを#Eを割り切る大きい素数とした場合、楕円曲線Eのp等分点からなる有限集合E[p]は、楕円曲線E上の有理点からなる有限集合の部分群を構成する。なお、楕円曲線Eのp等分点とは、楕円曲線E上の点Aのうち、楕円曲線E上での楕円スカラー倍算値p・Aがp・A=Oを満たす点を意味する。
G1, G2, GT:G1, G2,GTは位数qの巡回群を表す。巡回群G1, G2の具体例は、楕円曲線Eのp等分点からなる有限集合E[p]やその部分群である。G1=G2であってもよいしG1≠G2であってもよい。また、巡回群GTの具体例は、有限体Fqを基礎体とする拡大体を構成する有限集合である。その一例は、有限体Fqの代数閉包における1のp乗根からなる有限集合である。
なお、本形態では、巡回群G1, G2上で定義された演算を加法的に表現し、巡回群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で定義された演算を行うことを意味する。
G1 n+1:G1 n+1はn+1(n≧1)個の巡回群G1の直積を表す。
G2 n+1:G2 n+1はn+1個の巡回群G2の直積を表す。
g1, g2,gT:g1, g2, gTは巡回群G1, G2,GTの生成元を表す。
V:Vはn+1個の巡回群G1の直積からなるn+1次元のベクトル空間を表す。
V*:V*はn+1個の巡回群G2の直積からなるn+1次元のベクトル空間を表す。
G2 n+1:G2 n+1はn+1個の巡回群G2の直積を表す。
g1, g2,gT:g1, g2, gTは巡回群G1, G2,GTの生成元を表す。
V:Vはn+1個の巡回群G1の直積からなるn+1次元のベクトル空間を表す。
V*:V*はn+1個の巡回群G2の直積からなるn+1次元のベクトル空間を表す。
e:eは直積G1 n+1と直積G2 n+1との直積G1 n+1×G2 n+1を巡回群GTに写す非退化な双線形写像(bilinear map)を計算するための関数(「双線形関数」と呼ぶ)を表す。双線形関数eは、巡回群G1のn+1個の元γL(L=1,...,n+1)(n≧1)と巡回群G2のn+1個の元γL *(L=1,...,n+1)とを入力とし、巡回群GTの1個の元を出力する。
e:G1 n+1×G2 n+1→GT …(2)
e:G1 n+1×G2 n+1→GT …(2)
双線形関数eは以下の性質を満たす。
[双線形性]すべてのΓ1∈G1 n+1,Γ2∈G2 n+1及びν,κ∈Fqについて以下の関係を満たす。
e(ν・Γ1,κ・Γ2)=e(Γ1,Γ2)ν・κ …(3)
[非退化性]すべての
Γ1∈G1 n+1,Γ2∈G2 n+1 …(4)
を巡回群GTの単位元に写す関数ではない。
[計算可能性]あらゆるΓ1∈G1 n+1,Γ2∈G2 n+1についてe(Γ1,Γ2)を効率的に計算するアルゴリズムが存在する。
[双線形性]すべてのΓ1∈G1 n+1,Γ2∈G2 n+1及びν,κ∈Fqについて以下の関係を満たす。
e(ν・Γ1,κ・Γ2)=e(Γ1,Γ2)ν・κ …(3)
[非退化性]すべての
Γ1∈G1 n+1,Γ2∈G2 n+1 …(4)
を巡回群GTの単位元に写す関数ではない。
[計算可能性]あらゆるΓ1∈G1 n+1,Γ2∈G2 n+1についてe(Γ1,Γ2)を効率的に計算するアルゴリズムが存在する。
本形態では、巡回群G1と巡回群G2との直積G1×G2を巡回群GTに写す非退化な双線形写像を計算するための関数
Pair:G1×G2→GT …(5)
を用いて双線形関数eを構成する。本形態の双線形関数eは、巡回群G1のn+1個の元γL(L=1,...,n+1)からなるn+1次元ベクトル(γ1,...,γn+1)と、巡回群G2のn+1個の元γL *(L=1,...,n+1)からなるn+1次元ベクトル(γ1 *,...,γn+1 *)との入力に対し、巡回群GTの1個の元
e=ΠL=1 n+1 Pair(γL, γL *) …(6)
を出力する関数である。
なお、双線形関数Pairは、巡回群G1の1個の元と巡回群G2の1個の元との組を入力とし、巡回群GTの1個の元を出力する関数であり、以下の性質を満たす。
[双線形性]すべてのΩ1∈G1,Ω2∈G2及びν,κ∈Fqについて以下の関係を満たす。
Pair(ν・Ω1,κ・Ω2)=Pair(Ω1,Ω2)ν・κ …(7)
[非退化性]すべての
Ω1∈G1,Ω2∈G2 …(8)
を巡回群GTの単位元に写す関数ではない。
[計算可能性]あらゆるΩ1∈G1,Ω2∈G2についてPair(Ω1,Ω2)を効率的に計算するアルゴリズムが存在する。
Pair:G1×G2→GT …(5)
を用いて双線形関数eを構成する。本形態の双線形関数eは、巡回群G1のn+1個の元γL(L=1,...,n+1)からなるn+1次元ベクトル(γ1,...,γn+1)と、巡回群G2のn+1個の元γL *(L=1,...,n+1)からなるn+1次元ベクトル(γ1 *,...,γn+1 *)との入力に対し、巡回群GTの1個の元
e=ΠL=1 n+1 Pair(γL, γL *) …(6)
を出力する関数である。
なお、双線形関数Pairは、巡回群G1の1個の元と巡回群G2の1個の元との組を入力とし、巡回群GTの1個の元を出力する関数であり、以下の性質を満たす。
[双線形性]すべてのΩ1∈G1,Ω2∈G2及びν,κ∈Fqについて以下の関係を満たす。
Pair(ν・Ω1,κ・Ω2)=Pair(Ω1,Ω2)ν・κ …(7)
[非退化性]すべての
Ω1∈G1,Ω2∈G2 …(8)
を巡回群GTの単位元に写す関数ではない。
[計算可能性]あらゆるΩ1∈G1,Ω2∈G2についてPair(Ω1,Ω2)を効率的に計算するアルゴリズムが存在する。
なお、双線形関数Pairの具体例は、WeilペアリングやTateペアリングなどのペアリング演算を行うための関数である(例えば、参考文献4「Alfred. J. Menezes,ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS,KLUWER ACADEMIC PUBLISHERS,ISBN0-7923-9368-6,pp.61-81」等参照)。また、楕円曲線Eの種類に応じ、Tateペアリングなどのペアリング演算を行うための関数と所定の関数phiを組み合わせた変更ペアリング関数e(Ω1,phi(Ω2))(Ω1∈G1,Ω2∈G2)を双線形関数Pairとして用いてもよい(例えば、参考文献2等参照)。また、ペアリング演算をコンピュータ上で行うためのアルゴリズムとしては、周知のMiller のアルゴリズム(参考文献5「V. S. Miller, “Short Programs for functions on Curves,”1986,インターネット<http://crypto.stanford.edu/miller/miller.pdf>」などが存在する。また、ペアリング演算を効率的に行うための楕円曲線や巡回群の構成方法はよく知られている(例えば、参考文献2、参考文献6「A. Miyaji, M. Nakabayashi, S.Takano, "New explicit conditions of elliptic curve Traces for FR-Reduction," IEICE Trans. Fundamentals, vol. E84-A, no.05, pp. 1234-1243, May 2001」、参考文献7「P.S.L.M. Barreto, B. Lynn, M. Scott, "Constructing elliptic curves with prescribed embedding degrees," Proc. SCN '2002, LNCS 2576, pp.257-267, Springer-Verlag. 2003」、参考文献8「R. Dupont, A. Enge, F. Morain, "Building curves with arbitrary small MOV degree over finite prime fields," http://eprint.iacr.org/2002/094/」等参照)。
ai(i=1,...,n+1):巡回群G1のn+1個の元を要素とするn+1次元の基底ベクトルを表す。基底ベクトルaiの一例は、κ1・g1∈G1をi次元目の要素とし、残りのn個の要素を巡回群G1の単位元(加法的に「0」と表現)とするn+1次元の基底ベクトルである。この場合、n+1次元の基底ベクトルai(i=1,...,n+1)の各要素をそれぞれ列挙して表現すると、以下のようになる。
a1=(κ1・g1,0,0,...,0)
a2=(0,κ1・g1,0,...,0) …(9)
...
an+1=(0,0,0,...,κ1・g1)
ここで、κ1は加法単位元0F以外の有限体Fqの元からなる定数であり、κ1∈Fqの具体例はκ1=1Fである。基底ベクトルaiは直交基底であり、巡回群G1のn+1個の元を要素とするすべてのn+1次元ベクトルは、n+1次元の基底ベクトルai(i=1,...,n+1)の線形和によって表される。すなわち、n+1次元の基底ベクトルaiは前述のベクトル空間Vを張る。
a1=(κ1・g1,0,0,...,0)
a2=(0,κ1・g1,0,...,0) …(9)
...
an+1=(0,0,0,...,κ1・g1)
ここで、κ1は加法単位元0F以外の有限体Fqの元からなる定数であり、κ1∈Fqの具体例はκ1=1Fである。基底ベクトルaiは直交基底であり、巡回群G1のn+1個の元を要素とするすべてのn+1次元ベクトルは、n+1次元の基底ベクトルai(i=1,...,n+1)の線形和によって表される。すなわち、n+1次元の基底ベクトルaiは前述のベクトル空間Vを張る。
ai *(i=1,...,n+1):ai *は巡回群G2のn+1個の元を要素とするn+1次元の基底ベクトルを表す。基底ベクトルai *の一例は、κ2・g2∈G2をi次元目の要素とし、残りのn個の要素を巡回群G2の単位元(加法的に「0」と表現)とするn+1次元の基底ベクトルである。この場合、基底ベクトルai *(i=1,...,n+1)の各要素をそれぞれ列挙して表現すると、以下のようになる。
a1 *=(κ2・g2,0,0,...,0)
a2 *=(0,κ2・g2,0,...,0) …(10)
...
an+1 *=(0,0,0,...,κ2・g2)
ここで、κ2は加法単位元0F以外の有限体Fqの元からなる定数であり、κ2∈Fqの具体例はκ2=1Fである。基底ベクトルai *は直交基底であり、巡回群G2のn+1個の元を要素とするすべてのn+1次元ベクトルは、n+1次元の基底ベクトルai *(i=1,...,n+1)の線形和によって表される。すなわち、n+1次元の基底ベクトルai *は前述のベクトル空間V*を張る。
a1 *=(κ2・g2,0,0,...,0)
a2 *=(0,κ2・g2,0,...,0) …(10)
...
an+1 *=(0,0,0,...,κ2・g2)
ここで、κ2は加法単位元0F以外の有限体Fqの元からなる定数であり、κ2∈Fqの具体例はκ2=1Fである。基底ベクトルai *は直交基底であり、巡回群G2のn+1個の元を要素とするすべてのn+1次元ベクトルは、n+1次元の基底ベクトルai *(i=1,...,n+1)の線形和によって表される。すなわち、n+1次元の基底ベクトルai *は前述のベクトル空間V*を張る。
なお、基底ベクトルaiと基底ベクトルai *とは、0Fを除く有限体Fqの元τ=κ1・κ2について
e(ai, aj *)=gT τ・δ(i,j) …(11)
を満たす。すなわち、i=jの場合には、式(6)(7)の関係から、
e(ai, aj *)= Pair(κ1・g1,κ2・g2)・Pair(0, 0)・...・Pair(0, 0)
= Pair(g1, g2)κ1・κ2・Pair(g1, g2)0・0・...・Pair(g1, g2)0・0
= Pair(g1, g2)κ1・κ2=gT τ
を満たす。一方、i≠jの場合には、e(ai, aj *)は、Pair(κ1・g1,κ2・g2)を含まず、Pair(κ1・g1,0)と Pair(0,κ2・g2)とPair(0,0)との積になる。さらに、式(7)の関係からPair(g1, 0)=Pair(0, g2)=Pair(g1, g2)0を満たす。そのため、i≠jの場合には、
e(ai, aj *)=e(g1, g2)0=gT 0
を満たす。
特に、τ=κ1・κ2=1Fである場合(例えば、κ1=κ2=1Fの場合)、
e(ai, aj *)=gT δ(i,j) …(12)
を満たす。ここで、gT 0=1は巡回群GTの単位元であり、gT 1=gTは巡回群GTの生成元である。この場合、基底ベクトルaiと基底ベクトルai *とは双対正規直交基底であり、ベクトル空間Vとベクトル空間V*とは、双線形写像を構成可能な双対ベクトル空間〔双対ペアリングベクトル空間(DPVS:Dual Paring Vector space)〕である。
e(ai, aj *)=gT τ・δ(i,j) …(11)
を満たす。すなわち、i=jの場合には、式(6)(7)の関係から、
e(ai, aj *)= Pair(κ1・g1,κ2・g2)・Pair(0, 0)・...・Pair(0, 0)
= Pair(g1, g2)κ1・κ2・Pair(g1, g2)0・0・...・Pair(g1, g2)0・0
= Pair(g1, g2)κ1・κ2=gT τ
を満たす。一方、i≠jの場合には、e(ai, aj *)は、Pair(κ1・g1,κ2・g2)を含まず、Pair(κ1・g1,0)と Pair(0,κ2・g2)とPair(0,0)との積になる。さらに、式(7)の関係からPair(g1, 0)=Pair(0, g2)=Pair(g1, g2)0を満たす。そのため、i≠jの場合には、
e(ai, aj *)=e(g1, g2)0=gT 0
を満たす。
特に、τ=κ1・κ2=1Fである場合(例えば、κ1=κ2=1Fの場合)、
e(ai, aj *)=gT δ(i,j) …(12)
を満たす。ここで、gT 0=1は巡回群GTの単位元であり、gT 1=gTは巡回群GTの生成元である。この場合、基底ベクトルaiと基底ベクトルai *とは双対正規直交基底であり、ベクトル空間Vとベクトル空間V*とは、双線形写像を構成可能な双対ベクトル空間〔双対ペアリングベクトル空間(DPVS:Dual Paring Vector space)〕である。
A*:A*は基底ベクトルai *(i=1,...,n+1)を要素とするn+1行n+1列の行列を表す。例えば、基底ベクトルai *(i=1,...,n+1)が式(10)によって表現される場合、行列A*は、
となる。
となる。
X:Xは有限体Fqの元を要素とするn+1行n+1列の行列を表す。行列Xは基底ベクトルaiの座標変換に用いられる。行列Xのi行j列(i=1,...,n+1,j=1,...,n+1)の要素をχi,j∈Fqとすると、行列Xは、
となる。なお、行列Xの各要素χi,jを変換係数と呼ぶ。
となる。なお、行列Xの各要素χi,jを変換係数と呼ぶ。
X *:X *は行列Xの逆行列の転置行列X*=( X-1)Tを表す。行列X *は基底ベクトルai *の座標変換に用いられる。行列X *のi行j列の要素をχi,j *∈Fqとすると、行列X*は、
となる。なお、行列X*の各要素χi,j *を変換係数と呼ぶ。
この場合、n+1行n+1列の単位行列をIとするとX・(X*)T=Iを満たす。すなわち、単位行列
に対し、
を満たす。ここで、n+1次元ベクトル
χi →=(χi,1,...,χi,n+1) …(19)
χj →*=(χj,1 *,...,χj,n+1 *) …(20)
を定義する。すると、式(18)の関係から、n+1次元ベクトルχi →とχj →*との内積は、
χi →・χj →*=δ(i,j) …(21)となる。
となる。なお、行列X*の各要素χi,j *を変換係数と呼ぶ。
この場合、n+1行n+1列の単位行列をIとするとX・(X*)T=Iを満たす。すなわち、単位行列
に対し、
を満たす。ここで、n+1次元ベクトル
χi →=(χi,1,...,χi,n+1) …(19)
χj →*=(χj,1 *,...,χj,n+1 *) …(20)
を定義する。すると、式(18)の関係から、n+1次元ベクトルχi →とχj →*との内積は、
χi →・χj →*=δ(i,j) …(21)となる。
bi:biは巡回群G1のn+1個の元を要素とするn+1次元の基底ベクトルを表す。基底ベクトルbiは行列Xを用いて基底ベクトルai(i=1,...,n+1)を座標変換することで得られる。具体的には、基底ベクトルbiは、
bi=Σj=1 n+1χi,j・aj …(22)
の演算によって得られる。例えば、基底ベクトルaj(j=1,...,n+1)が式(9)によって表現される場合、基底ベクトルbiの各要素をそれぞれ列挙して表現すると、以下のようになる。
bi=(χi,1・κ1・g1 ,χi,2・κ1・g1 ,...,χi,n+1・κ1・g1) …(23)
巡回群G1のn+1個の元を要素とするすべてのn+1次元ベクトルは、n+1次元の基底ベクトルbi(i=1,...,n+1)の線形和によって表される。すなわち、n+1次元の基底ベクトルbiは前述のベクトル空間Vを張る。
bi=Σj=1 n+1χi,j・aj …(22)
の演算によって得られる。例えば、基底ベクトルaj(j=1,...,n+1)が式(9)によって表現される場合、基底ベクトルbiの各要素をそれぞれ列挙して表現すると、以下のようになる。
bi=(χi,1・κ1・g1 ,χi,2・κ1・g1 ,...,χi,n+1・κ1・g1) …(23)
巡回群G1のn+1個の元を要素とするすべてのn+1次元ベクトルは、n+1次元の基底ベクトルbi(i=1,...,n+1)の線形和によって表される。すなわち、n+1次元の基底ベクトルbiは前述のベクトル空間Vを張る。
bi *:bi *は巡回群G2のn+1個の元を要素とするn+1次元の基底ベクトルを表す。行列X*を用いて基底ベクトルai *(i=1,...,n+1)を座標変換することで得られる。具体的には、基底ベクトルbi *は、
bi *=Σj=1 n+1χi,j *・aj * …(24)
の演算によって得られる。例えば、基底ベクトルaj *(j=1,...,n+1)が式(10)によって表現される場合、基底ベクトルbi *の各要素をそれぞれ列挙して表現すると、以下のようになる。
bi *=(χi,1 *・κ2・g2 ,χi,2 *・κ2・g2 ,...,χi,n+1 *・κ2・g2) …(25)
となる。巡回群G2のn+1個の元を要素とするすべてのn+1次元ベクトルは、n+1次元の基底ベクトルbi *(i=1,...,n+1)の線形和によって表される。すなわち、n+1次元の基底ベクトルbi *は前述のベクトル空間V*を張る。
bi *=Σj=1 n+1χi,j *・aj * …(24)
の演算によって得られる。例えば、基底ベクトルaj *(j=1,...,n+1)が式(10)によって表現される場合、基底ベクトルbi *の各要素をそれぞれ列挙して表現すると、以下のようになる。
bi *=(χi,1 *・κ2・g2 ,χi,2 *・κ2・g2 ,...,χi,n+1 *・κ2・g2) …(25)
となる。巡回群G2のn+1個の元を要素とするすべてのn+1次元ベクトルは、n+1次元の基底ベクトルbi *(i=1,...,n+1)の線形和によって表される。すなわち、n+1次元の基底ベクトルbi *は前述のベクトル空間V*を張る。
なお、基底ベクトルbiと基底ベクトルbi *とは、0Fを除く有限体Fqの元τ=κ1・κ2について
e(bi, bj *)=gT τ・δ(i,j) …(26)
を満たす。すなわち、式(6)(21)(23)(25)の関係から、
を満たす。特に、τ=κ1・κ2=1Fである場合(例えば、κ1=κ2=1Fの場合)、
e(bi, bj *)=gT δ(i,j) …(27)
を満たす。この場合、基底ベクトルbiと基底ベクトルbi *とは、双対ペアリングベクトル空間(ベクトル空間Vとベクトル空間V*)の双対正規直交基底である。
なお、式(26)の関係を満たすのであれば、式(9)(10)で例示したもの以外の基底ベクトルai及びai *や、式(22)(24)で例示したもの以外の基底ベクトルbi及びbi *を用いてもよい。
e(bi, bj *)=gT τ・δ(i,j) …(26)
を満たす。すなわち、式(6)(21)(23)(25)の関係から、
を満たす。特に、τ=κ1・κ2=1Fである場合(例えば、κ1=κ2=1Fの場合)、
e(bi, bj *)=gT δ(i,j) …(27)
を満たす。この場合、基底ベクトルbiと基底ベクトルbi *とは、双対ペアリングベクトル空間(ベクトル空間Vとベクトル空間V*)の双対正規直交基底である。
なお、式(26)の関係を満たすのであれば、式(9)(10)で例示したもの以外の基底ベクトルai及びai *や、式(22)(24)で例示したもの以外の基底ベクトルbi及びbi *を用いてもよい。
B*:B*は基底ベクトルbi *(i=1,...,n+1)を要素とするn+1行n+1列の行列を表す。B*=X*・A*を満たす。例えば、基底ベクトルbi *(i=1,...,n+1)が式(25)によって表現される場合、行列B*は、
となる。
となる。
w→:w→は有限体Fqの元を要素とするn次元ベクトルを表す。
w→=(w1,...,wn)∈Fq n …(30)
wμ:wμはn次元ベクトルのμ(μ=1,...,n)番目の要素を表す。
v→:v→は有限体Fqの元を要素とするn次元ベクトルを表す。
v→=(v1,...,vn)∈Fq n …(31)
vμ:vμはn次元ベクトルのμ(μ=1,...,n)番目の要素を表す。
w→=(w1,...,wn)∈Fq n …(30)
wμ:wμはn次元ベクトルのμ(μ=1,...,n)番目の要素を表す。
v→:v→は有限体Fqの元を要素とするn次元ベクトルを表す。
v→=(v1,...,vn)∈Fq n …(31)
vμ:vμはn次元ベクトルのμ(μ=1,...,n)番目の要素を表す。
衝突困難な関数:「衝突困難な関数」とは、十分大きなセキュリティパラメータkに対して以下の条件を満たす関数h、又は、それとみなせる関数を表す。
Pr[A(h)=(x,y)|h(x)=h(y)∧x≠y]<ε(k) …(32)
ただし、Pr[・]は事象[・]の確率であり、A(h)は関数hに対してh(x)=h(y)を満たす値x,y(x≠y)を算出する確率的多項式時間アルゴリズムであり、ε(k)はセキュリティパラメータkについての多項式である。衝突困難な関数の例は、参考文献1に開示された「cryptographic hash function」などのハッシュ関数である。
Pr[A(h)=(x,y)|h(x)=h(y)∧x≠y]<ε(k) …(32)
ただし、Pr[・]は事象[・]の確率であり、A(h)は関数hに対してh(x)=h(y)を満たす値x,y(x≠y)を算出する確率的多項式時間アルゴリズムであり、ε(k)はセキュリティパラメータkについての多項式である。衝突困難な関数の例は、参考文献1に開示された「cryptographic hash function」などのハッシュ関数である。
単射関数:「単射関数」とは、値域に属する元が何れもその定義域のただ一つの元の像として表される関数、又は、それとみなせる関数を表す。単射関数の例は、参考文献1に開示された「KDF(Key Derivation Function)」などのハッシュ関数である。
擬似的なランダム関数:「擬似的なランダム関数」とは、任意の確率的多項式時間アルゴリズムが集合Φζとその部分集合φζとを区別できない場合における、当該部分集合φζに属する関数、又は、それとみなせる関数を表す。ただし、集合Φζは集合{0,1}ζの元を集合{0,1}ζの元へ写すすべての関数の集合である。擬似的なランダム関数の例は、上述のようなハッシュ関数である。
H1:H1は2つのバイナリ系列(ω1,ω2)∈{0,1}k×{0,1}*を入力とし、有限体Fqの2つの元(ψ1,ψ2)∈Fq×Fqを出力する衝突困難な関数を表す。
H1:{0,1}k×{0,1}*→Fq×Fq …(33)
このような関数H1の例は、ω1とω2とのビット連結値ω1||ω2を入力とし、参考文献1に開示された「cryptographic hash function」などのハッシュ関数と、「バイナリ系列から整数への変換関数(Octet string/integer conversion)」と、「バイナリ系列から有限体の元への変換関数(Octet string and integer/finite field conversion)」との演算を行い、有限体Fqの2つの元(ψ1,ψ2)∈Fq×Fqを出力する関数である。なお、関数H1は、擬似的なランダム関数であることが望ましい。
H1:{0,1}k×{0,1}*→Fq×Fq …(33)
このような関数H1の例は、ω1とω2とのビット連結値ω1||ω2を入力とし、参考文献1に開示された「cryptographic hash function」などのハッシュ関数と、「バイナリ系列から整数への変換関数(Octet string/integer conversion)」と、「バイナリ系列から有限体の元への変換関数(Octet string and integer/finite field conversion)」との演算を行い、有限体Fqの2つの元(ψ1,ψ2)∈Fq×Fqを出力する関数である。なお、関数H1は、擬似的なランダム関数であることが望ましい。
H2:H2は巡回群GTの元とバイナリ系列(ξ,ω2)∈GT ×{0,1}*を入力とし、有限体Fqの1つの元ψ∈Fqを出力する衝突困難な関数を表す。
H2:GT×{0,1}*→Fq …(34)
このような関数H2の例は、巡回群GTの元ξ∈GTとバイナリ系列ω2∈{0,1}*とを入力とし、巡回群GTの元ξ∈GTを参考文献1に開示された「有限体の元からバイナリ系列への変換関数(Octet string and integer/finite field conversion)」に入力してバイナリ系列を求め、そのバイナリ系列とバイナリ系列ω2∈{0,1}*とのビット連結値に対して参考文献1に開示された「cryptographic hash function」などのハッシュ関数演算を行い、さらに「バイナリ系列から有限体の元への変換関数(Octet string and integer/finite field conversion)」の演算を行い、有限体Fqの1つの元ψ∈Fqを出力する関数である。なお、安全性の観点から、関数H2は擬似的なランダム関数であることがより望ましい。
H2:GT×{0,1}*→Fq …(34)
このような関数H2の例は、巡回群GTの元ξ∈GTとバイナリ系列ω2∈{0,1}*とを入力とし、巡回群GTの元ξ∈GTを参考文献1に開示された「有限体の元からバイナリ系列への変換関数(Octet string and integer/finite field conversion)」に入力してバイナリ系列を求め、そのバイナリ系列とバイナリ系列ω2∈{0,1}*とのビット連結値に対して参考文献1に開示された「cryptographic hash function」などのハッシュ関数演算を行い、さらに「バイナリ系列から有限体の元への変換関数(Octet string and integer/finite field conversion)」の演算を行い、有限体Fqの1つの元ψ∈Fqを出力する関数である。なお、安全性の観点から、関数H2は擬似的なランダム関数であることがより望ましい。
R:Rは1つの巡回群GTの元ξ∈GTを入力とし、1つのバイナリ系列ω∈{0,1}kを出力する単射関数を表す。
R:GT→{0,1}k …(35)
このような単射関数Rの例は、巡回群GTの元ξ∈GTを入力とし、参考文献1に開示された「有限体の元からバイナリ系列への変換関数(Octet string and integer/finite field conversion)」と、参考文献1に開示された「KDF(Key Derivation Function)」などのハッシュ関数との演算を行い、1つのバイナリ系列ω∈{0,1}kを出力する関数である。なお、安全性の観点から、関数Rは衝突困難な関数であることが望ましく、擬似的なランダム関数であることがより望ましい。
R:GT→{0,1}k …(35)
このような単射関数Rの例は、巡回群GTの元ξ∈GTを入力とし、参考文献1に開示された「有限体の元からバイナリ系列への変換関数(Octet string and integer/finite field conversion)」と、参考文献1に開示された「KDF(Key Derivation Function)」などのハッシュ関数との演算を行い、1つのバイナリ系列ω∈{0,1}kを出力する関数である。なお、安全性の観点から、関数Rは衝突困難な関数であることが望ましく、擬似的なランダム関数であることがより望ましい。
Enc:Encは共通鍵暗号方式の暗号化処理を示す共通鍵暗号関数を表す。共通鍵暗号方式の具体例は、カメリア(Camellia(登録商標))やAESなどである。
Enck(M):Enck(M)は、共通鍵Kを用い、共通鍵暗号関数Encに従って平文Mを暗号化して得られた暗号文を表す。
Dec:Decは、共通鍵暗号方式の復号処理を示す共通鍵復号関数を表す。
Deck(C):Deck(C)は、共通鍵Kを用い、共通鍵復号関数Decに従って暗号文Cを復号して得られた復号結果を表す。
Enck(M):Enck(M)は、共通鍵Kを用い、共通鍵暗号関数Encに従って平文Mを暗号化して得られた暗号文を表す。
Dec:Decは、共通鍵暗号方式の復号処理を示す共通鍵復号関数を表す。
Deck(C):Deck(C)は、共通鍵Kを用い、共通鍵復号関数Decに従って暗号文Cを復号して得られた復号結果を表す。
〔内積述語暗号〕
次に、内積述語暗号の基本的な構成について説明する。
次に、内積述語暗号の基本的な構成について説明する。
<述語暗号>
述語暗号(「関数暗号」と呼ぶ場合もある)とは、「属性情報」と呼ばれる情報と「述語情報」と呼ばれる情報との組み合わせが所定の論理式を「真」にする場合に暗号文が復号できる方式である。「属性情報」と「述語情報」の一方が暗号文に埋め込まれ、他方が鍵情報に埋め込まれる。従来の述語暗号の構成は、例えば、参考文献9「"Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products," with Amit Sahai and Brent Waters One of 4 papers from Eurocrypt 2008 invited to the Journal of Cryptology」等に開示されている。
述語暗号(「関数暗号」と呼ぶ場合もある)とは、「属性情報」と呼ばれる情報と「述語情報」と呼ばれる情報との組み合わせが所定の論理式を「真」にする場合に暗号文が復号できる方式である。「属性情報」と「述語情報」の一方が暗号文に埋め込まれ、他方が鍵情報に埋め込まれる。従来の述語暗号の構成は、例えば、参考文献9「"Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products," with Amit Sahai and Brent Waters One of 4 papers from Eurocrypt 2008 invited to the Journal of Cryptology」等に開示されている。
<内積述語暗号>
内積述語暗号は、属性情報や述語情報としてベクトルを用い、それらの内積が0となる場合に暗号文が復号される述語暗号である。内積述語暗号では、内積が0となることと論理式が「真」となることとが等価である。
内積述語暗号は、属性情報や述語情報としてベクトルを用い、それらの内積が0となる場合に暗号文が復号される述語暗号である。内積述語暗号では、内積が0となることと論理式が「真」となることとが等価である。
[論理式と多項式との関係]
内積述語暗号では、論理和や論理積からなる論理式を多項式で表現する。
まず、「xがη1である」という命題1と「xがη2である」という命題2との論理和 (x=η1)∨(x=η2)を
(x-η1)・(x-η2) …(36)
という多項式で表現する。すると、各真理値と式(36)の関数値との関係は以下のようになる。
内積述語暗号では、論理和や論理積からなる論理式を多項式で表現する。
まず、「xがη1である」という命題1と「xがη2である」という命題2との論理和 (x=η1)∨(x=η2)を
(x-η1)・(x-η2) …(36)
という多項式で表現する。すると、各真理値と式(36)の関数値との関係は以下のようになる。
[表1]から分かるように、論理和(x=η1)∨(x=η2)が真である場合、式(36)の関数値は0になり、論理和(x=η1)∨(x=η2)が偽である場合、式(36)の関数値は0以外の値となる。すなわち、論理和(x=η1)∨(x=η2)が真であることと、式(36)の関数値が0となることとは等価である。よって、論理和は式(36)で表現できる。
また、「xがη1である」という命題1と「xがη2である」という命題2との論理積 (x=η1)∧(x=η2)を
ι1・(x-η1)+ι2・(x-η2) …(37)
という多項式で表現する。ただし、ι1及びι2は乱数である。すると、真理値と式(37)の関数値とは以下の関係となる。
ι1・(x-η1)+ι2・(x-η2) …(37)
という多項式で表現する。ただし、ι1及びι2は乱数である。すると、真理値と式(37)の関数値とは以下の関係となる。
[表2]から分かるように、論理積 (x=η1)∧(x=η2)が真である場合、式(37)の関数値は0になり、論理積(x=η1)∧(x=η2)が偽である場合、式(37)の関数値は0以外の値となる。すなわち、論理積 (x=η1)∧(x=η2)が真であることと、式(37)の関数値が0となることとは等価である。よって、論理積は式(37)で表現できる。
以上のように、式(36)と式(37)とを用いることで論理和や論理積からなる論理式を多項式f(x)で表現できる。例えば、論理式{(x=η1)∨(x=η2)∨(x=η3)}∧(x=η4)∧(x=η5)は、多項式
f(x)=ι1・{(x-η1)・(x-η2)・(x-η3)}+ι2・(x-η4)+ι3・(x-η5) …(38)
で表現できる。
なお、式(36)では、1つの不定元xを用いて論理和を表現したが、複数の不定元を用いて論理和を表現することも可能である。例えば、2つの不定元x0及びx1を用い、「x0がη0である」という命題1と「x1がη1である」という命題2との論理和 (x0=η0)∨(x1=η1)を
(x0-η0)・(x1-η1)
という多項式で表現することも可能であり、3つ以上の不定元を用い、論理和を多項式で表現することも可能である。
f(x)=ι1・{(x-η1)・(x-η2)・(x-η3)}+ι2・(x-η4)+ι3・(x-η5) …(38)
で表現できる。
なお、式(36)では、1つの不定元xを用いて論理和を表現したが、複数の不定元を用いて論理和を表現することも可能である。例えば、2つの不定元x0及びx1を用い、「x0がη0である」という命題1と「x1がη1である」という命題2との論理和 (x0=η0)∨(x1=η1)を
(x0-η0)・(x1-η1)
という多項式で表現することも可能であり、3つ以上の不定元を用い、論理和を多項式で表現することも可能である。
また、式(37)では、1つの不定元xを用いて論理積を表現したが、複数の不定元を用いて論理積を表現することも可能である。例えば、また、「x0がη0である」という命題1と「x1がη1である」という命題2との論理積 (x0=η0)∧(x1=η1)を
ι0・(x0-η0)+ι1・(x1-η1)
という多項式で表現することも可能であり、3つ以上の不定元を用い、論理積を多項式で表現することも可能である。
ι0・(x0-η0)+ι1・(x1-η1)
という多項式で表現することも可能であり、3つ以上の不定元を用い、論理積を多項式で表現することも可能である。
論理和及び/又は論理積を含む論理式をH(H≧1)種類の不定元x0,...,xH-1を用いて表現した多項式をf(x0,...,xH-1)と表現する。また、各不定元x0,...,xH-1に対応する命題を「xhがηhである」とする。ただし、ηh(h=0,...H-1)は命題ごとに定まる定数である。この場合、当該論理式を示す多項式f(x0,...,xH-1)は、不定元xhと定数ηhとの差をとる多項式によって当該不定元xhが当該定数ηhであるという命題を表現し、命題をそれぞれ表現する多項式の積によって当該命題の論理和を表現し、命題又は命題の論理和をそれぞれ表現する多項式の線形和によって当該命題又は命題の論理和の論理積を表現し、それによって論理式を表現した多項式となる。例えば、5つの不定元x0,...,x4を用い、論理式{(x0=η0)∨(x1=η1)∨(x2=η2)}∧(x3=η3)∧(x4=η4)を多項式で表現すると、
f(x0,...,x4)=ι0・{(x0-η0)・(x1-η1)・(x2-η2)}+ι1・(x 3 -η 3 )+ι2・(x 4 -η 4 )
となる。
f(x0,...,x4)=ι0・{(x0-η0)・(x1-η1)・(x2-η2)}+ι1・(x 3 -η 3 )+ι2・(x 4 -η 4 )
となる。
[多項式と内積の関係]
論理式を示す多項式f(x0,...,xH-1)は、2つのn次元ベクトルの内積で表現できる。すなわち、多項式f(x0,...,xH-1)は、当該多項式f(x0,...,xH-1)の各項の不定元成分を各要素とするベクトル
v→=(v1,...,vn)
と、当該多項式f(x0,...,xH-1)の各項の係数成分を各要素とするベクトル
w→=(w1,...,wn)
との内積
f(x0,...,xH-1)=w→・v→
に等しい。すなわち、論理式を示す多項式f(x0,...,xH-1)が0であるか否かと、多項式f(x0,...,xH-1)の各項の不定元成分を各要素とするベクトルv→と、多項式f(x0,...,xH-1)の各項の係数成分を各要素とするベクトルw→との内積が0であるか否かとは等価である。
f(x0,...,xH-1)=0 ←→ w→・v→=0
論理式を示す多項式f(x0,...,xH-1)は、2つのn次元ベクトルの内積で表現できる。すなわち、多項式f(x0,...,xH-1)は、当該多項式f(x0,...,xH-1)の各項の不定元成分を各要素とするベクトル
v→=(v1,...,vn)
と、当該多項式f(x0,...,xH-1)の各項の係数成分を各要素とするベクトル
w→=(w1,...,wn)
との内積
f(x0,...,xH-1)=w→・v→
に等しい。すなわち、論理式を示す多項式f(x0,...,xH-1)が0であるか否かと、多項式f(x0,...,xH-1)の各項の不定元成分を各要素とするベクトルv→と、多項式f(x0,...,xH-1)の各項の係数成分を各要素とするベクトルw→との内積が0であるか否かとは等価である。
f(x0,...,xH-1)=0 ←→ w→・v→=0
例えば、1つの不定元xで表現された多項式f(x)=θ0・x0+θ1・x+...+θn-1・xn-1は、2つのn次元ベクトル
w→=(w1,...,wn)=(θ0,...,θn-1) …(39)
v→=(v1,...,vn)=(x0 ,...,xn-1) …(40)
の内積
f(x)= w→・v→ …(41)
で表現できる。すなわち、論理式を示す多項式f(x)が0であるか否かと、式(41)の内積が0であるか否かとは等価である。
f(x)=0 ←→ w→・v→=0 …(42)
また、多項式f(x0,...,xH-1)の各項の不定元成分を各要素とするベクトルを
w→=(w1,...,wn)
とし、多項式f(x0,...,xH-1)の各項の係数成分を各要素とするベクトル
v→=(v1,...,vn)
としても、論理式を示す多項式f(x0,...,xH-1)が0であるか否かと、ベクトルw→とベクトルv→との内積が0であるか否かとは等価である。
例えば、式(39)(40)の代わりに
w→=(w1,...,wn)=(x0 ,...,xn) …(43)
v→=(v1,...,vn)=(θ0,...,θn-1) …(44)
としても、論理式を示す多項式f(x)が0であるか否かと、式(41)の内積が0であるか否かとは等価である。
w→=(w1,...,wn)=(θ0,...,θn-1) …(39)
v→=(v1,...,vn)=(x0 ,...,xn-1) …(40)
の内積
f(x)= w→・v→ …(41)
で表現できる。すなわち、論理式を示す多項式f(x)が0であるか否かと、式(41)の内積が0であるか否かとは等価である。
f(x)=0 ←→ w→・v→=0 …(42)
また、多項式f(x0,...,xH-1)の各項の不定元成分を各要素とするベクトルを
w→=(w1,...,wn)
とし、多項式f(x0,...,xH-1)の各項の係数成分を各要素とするベクトル
v→=(v1,...,vn)
としても、論理式を示す多項式f(x0,...,xH-1)が0であるか否かと、ベクトルw→とベクトルv→との内積が0であるか否かとは等価である。
例えば、式(39)(40)の代わりに
w→=(w1,...,wn)=(x0 ,...,xn) …(43)
v→=(v1,...,vn)=(θ0,...,θn-1) …(44)
としても、論理式を示す多項式f(x)が0であるか否かと、式(41)の内積が0であるか否かとは等価である。
内積述語暗号では、ベクトルv→=(v1,...,vn)及びw→=(w1,...,wn)の何れか一方を属性情報とし、他方を述語情報とし、属性情報と述語情報の一方が暗号文に埋め込まれ、他方が鍵情報に埋め込まれる。例えば、n次元ベクトル(θ0,...,θn-1)が述語情報とされ、n次元ベクトル(x0 ,...,xn-1)が属性情報とされ、属性情報と述語情報の一方が暗号文に埋め込まれ、他方が鍵情報に埋め込まれる。なお、以下では、鍵情報に埋め込まれるn次元ベクトルをw→=(w1,...,wn)とし、暗号文に埋め込まれるn次元ベクトルをv→=(v1,...,vn)とする。例えば、
述語情報:w→=(w1,...,wn)=(θ0,...,θn-1)
属性情報:v→=(v1,...,vn)=(x0 ,...,xn-1)
であるか、
述語情報:v→=(v1,...,vn)=(θ0,...,θn-1)
属性情報:w→=(w1,...,wn)=(x0 ,...,xn-1)
である。
述語情報:w→=(w1,...,wn)=(θ0,...,θn-1)
属性情報:v→=(v1,...,vn)=(x0 ,...,xn-1)
であるか、
述語情報:v→=(v1,...,vn)=(θ0,...,θn-1)
属性情報:w→=(w1,...,wn)=(x0 ,...,xn-1)
である。
[内積述語暗号の基本構成]
以下では、内積述語暗号を用いて鍵カプセル化メカニズムKEM (Key Encapsulation Mechanisms)を構成する場合の基本構成を例示する。この構成はSetup(1k),GenKey(MSK,w→),Enc(PA,v→),Dec(SKw,C2)を含む。
以下では、内積述語暗号を用いて鍵カプセル化メカニズムKEM (Key Encapsulation Mechanisms)を構成する場合の基本構成を例示する。この構成はSetup(1k),GenKey(MSK,w→),Enc(PA,v→),Dec(SKw,C2)を含む。
《Setup(1k):セットアップ》
−入力:セキュリティパラメータk
−出力:マスター鍵情報MSK,公開パラメータPK
Setup(1k)の一例では、まず、セキュリティパラメータkをnとして、n+1次元の基底ベクトルai(i=1,...,n+1)を要素とするn+1行n+1列の行列Aと、基底ベクトルai *(i=1,...,n+1)を要素とするn+1行n+1列の行列A*と、座標変換のためのn+1行n+1列の行列X,X*とが選択される。次に、式(22)に従って座標変換されたn+1次元の基底ベクトルbi(i=1,...,n+1)が算出され、式(24)に従って座標変換されたn+1次元の基底ベクトルbi *(i=1,...,n+1)が算出される。そして、基底ベクトルbi *(i=1,...,n+1)を要素とするn+1行n+1列の行列B*がマスター鍵情報MSKとして出力され、ベクトル空間V, V*、基底ベクトルbi(i=1,...,n+1)を要素とするn+1行n+1列の行列B、セキュリティパラメータk、有限体Fq、楕円曲線E、巡回群G1, G2,GT、生成元g1, g2, gT、双線形関数eなどが公開パラメータPKとして出力される。
−入力:セキュリティパラメータk
−出力:マスター鍵情報MSK,公開パラメータPK
Setup(1k)の一例では、まず、セキュリティパラメータkをnとして、n+1次元の基底ベクトルai(i=1,...,n+1)を要素とするn+1行n+1列の行列Aと、基底ベクトルai *(i=1,...,n+1)を要素とするn+1行n+1列の行列A*と、座標変換のためのn+1行n+1列の行列X,X*とが選択される。次に、式(22)に従って座標変換されたn+1次元の基底ベクトルbi(i=1,...,n+1)が算出され、式(24)に従って座標変換されたn+1次元の基底ベクトルbi *(i=1,...,n+1)が算出される。そして、基底ベクトルbi *(i=1,...,n+1)を要素とするn+1行n+1列の行列B*がマスター鍵情報MSKとして出力され、ベクトル空間V, V*、基底ベクトルbi(i=1,...,n+1)を要素とするn+1行n+1列の行列B、セキュリティパラメータk、有限体Fq、楕円曲線E、巡回群G1, G2,GT、生成元g1, g2, gT、双線形関数eなどが公開パラメータPKとして出力される。
《GenKey(MSK,w→):鍵情報生成》
−入力:マスター鍵情報MSK,ベクトルw→
−出力:ベクトルw→に対応する鍵情報D*
GenKey(MSK,w→)の一例では、まず、有限体Fqから元α∈Fqが選択される。そして、マスター鍵情報MSKである行列B*を用い、ベクトルw→に対応する鍵情報
D*=α・(Σμ=1 nwμ・bμ *)+bn+1 *∈G2 n+1 …(45)
が生成され、出力される。なお、巡回群G2上での離散対数問題の求解が困難である場合、鍵情報D*からwμ・bμ *やbn+1 *の成分を分離抽出することは困難である。
−入力:マスター鍵情報MSK,ベクトルw→
−出力:ベクトルw→に対応する鍵情報D*
GenKey(MSK,w→)の一例では、まず、有限体Fqから元α∈Fqが選択される。そして、マスター鍵情報MSKである行列B*を用い、ベクトルw→に対応する鍵情報
D*=α・(Σμ=1 nwμ・bμ *)+bn+1 *∈G2 n+1 …(45)
が生成され、出力される。なお、巡回群G2上での離散対数問題の求解が困難である場合、鍵情報D*からwμ・bμ *やbn+1 *の成分を分離抽出することは困難である。
《Enc(PA,v→):暗号化》
−入力:公開パラメータPK,ベクトルv→
−出力:暗号文C2,共通鍵K
Enc(PA,v→)の一例では、まず、共通鍵Kと有限体Fqの元である乱数υ1とが生成される。そして、行列Bなどの公開パラメータPKと、共通鍵Kを含む値に対応する有限体Fqの元υ2と、ベクトルv→と、乱数υ1とを用い、暗号文
C2=υ1・(Σμ=1 nvμ・bμ)+υ2・bn+1∈G1 n+1 …(46)
が生成される。そして、暗号文C2と共通鍵Kとが出力される。共通鍵Kの一例はK=gT τ・υ2∈GTである。ここで、添え字のυ2はυ2を意味する。また、前述のようにτの一例はτ=1Fである。なお、巡回群G1上での離散対数問題の求解が困難である場合、暗号文C2からvμ・bμやυ2・bn+1の成分を分離抽出することは困難である。
−入力:公開パラメータPK,ベクトルv→
−出力:暗号文C2,共通鍵K
Enc(PA,v→)の一例では、まず、共通鍵Kと有限体Fqの元である乱数υ1とが生成される。そして、行列Bなどの公開パラメータPKと、共通鍵Kを含む値に対応する有限体Fqの元υ2と、ベクトルv→と、乱数υ1とを用い、暗号文
C2=υ1・(Σμ=1 nvμ・bμ)+υ2・bn+1∈G1 n+1 …(46)
が生成される。そして、暗号文C2と共通鍵Kとが出力される。共通鍵Kの一例はK=gT τ・υ2∈GTである。ここで、添え字のυ2はυ2を意味する。また、前述のようにτの一例はτ=1Fである。なお、巡回群G1上での離散対数問題の求解が困難である場合、暗号文C2からvμ・bμやυ2・bn+1の成分を分離抽出することは困難である。
《Dec(SKw,C2):復号・鍵共有》
−入力:ベクトルw→に対応する鍵情報D1 *,暗号文C2
−出力:共通鍵K
Dec(SKw,C2)の一例では、まず、暗号文C2と鍵情報D1 *とが式(2)の双線形関数eに入力される。すると、式(3)(26)の性質から、
を満たす。
ここで、内積w→・v→=0であれば、式(47)は、
と変形できる。この結果から共通鍵Kが生成され出力される。共通鍵Kの一例はK=gT τ・υ2∈GTである。
−入力:ベクトルw→に対応する鍵情報D1 *,暗号文C2
−出力:共通鍵K
Dec(SKw,C2)の一例では、まず、暗号文C2と鍵情報D1 *とが式(2)の双線形関数eに入力される。すると、式(3)(26)の性質から、
を満たす。
ここで、内積w→・v→=0であれば、式(47)は、
と変形できる。この結果から共通鍵Kが生成され出力される。共通鍵Kの一例はK=gT τ・υ2∈GTである。
ここではn+1次元の基底ベクトルを用いてアルゴリズムを構成する例を示したが、次元はn+1に限定されず、Ξを2以上の所定の整数としてn+Ξ次元の基底ベクトルbi *(i=1,...,n+Ξ)を用いてアルゴリズムを構成してもよい。このとき、例えば式(45)に替えて式(49)を、式(46)に替えて式(50)を用いることができる。ここでυιは定数や変数(乱数など)などである。
D*=α・(Σμ=1 nwμ・bμ *)+Σι=n+1 n+Ξυι・bι *∈G2 n+Ξ …(49)
C2=υ1・(Σμ=1 nvμ・bμ)+Σι=2 Ξ+1υι・bι+n-1∈G1 n+Ξ …(50)
D*=α・(Σμ=1 nwμ・bμ *)+Σι=n+1 n+Ξυι・bι *∈G2 n+Ξ …(49)
C2=υ1・(Σμ=1 nvμ・bμ)+Σι=2 Ξ+1υι・bι+n-1∈G1 n+Ξ …(50)
なお、式(45)は、
D*=α・(Σμ=1 nwμ・bμ *)+υn+1・bn+1 *∈G2 n+1
であってもよい。さらに、入力情報を入れ換えて、つまり、式(45)にてwをvに置換し式(46)にてvをwに置換してもよい。
D*=α・(Σμ=1 nwμ・bμ *)+υn+1・bn+1 *∈G2 n+1
であってもよい。さらに、入力情報を入れ換えて、つまり、式(45)にてwをvに置換し式(46)にてvをwに置換してもよい。
次に、第1の観点から、柔軟に運用可能な、関数暗号(関数暗号の一例として述語暗号を採用する)に依拠する暗号通信技術に関する実施形態を説明する。なお、数式の番号は本節で改めて付け直している。
〔第1の観点による第1実施形態〕
図1から図17を参照して、第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(Key Encapsulation Mechanisms)タイプの述語暗号アルゴリズムを用いた例を示す。
暗号システム1における暗号通信方法を、図2、3、4、6、8、10を参照しながら叙述する。各装置の機能構成については、図5、7、9を参照されたい。
《準備プロセス》
鍵生成装置20のパラメータ生成部(図示せず)が、述語暗号アルゴリズムで用いられる秘密鍵とエントリを生成する(ステップS1)。エントリには、述語暗号アルゴリズムで用いられる公開パラメータ(図面では公開Pと略記される)、鍵生成装置20のアドレス、鍵生成装置20が使用可能なポリシーリスト、鍵生成装置20が使用可能なスキーマリストが含まれる。
鍵生成装置20のパラメータ生成部(図示せず)が、述語暗号アルゴリズムで用いられる秘密鍵とエントリを生成する(ステップS1)。エントリには、述語暗号アルゴリズムで用いられる公開パラメータ(図面では公開Pと略記される)、鍵生成装置20のアドレス、鍵生成装置20が使用可能なポリシーリスト、鍵生成装置20が使用可能なスキーマリストが含まれる。
公開パラメータは、例えば位数qの巡回群G1,G2,GTの生成元g1,g2,gT、非退化性を持つ双線形写像e:G1×G2→GT(但し、e(g1,g2)=gT)、位数q、(n+1)次元のベクトル空間Vの直交基底Bを含む。秘密鍵は、双対ベクトル空間V*の直交基底B*を含む。代数構造を有限体Fqとする場合、qは素数または素数の冪乗値である。双線形写像eは例えばTateペアリングやWeilペアリングである。
直交基底Bおよび直交基底B*について説明を加える。(n+1)次元のベクトル空間Vの任意の元が、式(1)のように巡回群G1の(n+1)次元直積G1 n+1の元として表されるとする。(n+1)次元のベクトル空間Vの任意の元は、(n+1)次元のベクトル空間Vの標準基底Aを用いて式(2)のように表すこともできる。ただし、aiは(n+1)次元直積G1 n+1の元、ziは(n+1)次元直積Fq n+1の元とする。また、1は加法単位元とする。
同様に、ベクトル空間Vと双対な双対ベクトル空間V*の任意の元が、式(4)のように巡回群G2の(n+1)次元直積G2 n+1の元として表されるとする。双対ベクトル空間V*の任意の元は、双対ベクトル空間V*の標準基底A*を用いて式(5)のように表すこともできる。ただし、ai *は(n+1)次元直積G2 n+1の元、yi *は(n+1)次元直積Fq n+1の元とする。また、1は加法単位元とする。
次に、スキーマリストについて説明を加える。属性を指定する情報(属性指定情報;つまり、例えば名前、生年月日などの属性を具体的に一意に特定する情報であり、属性値ともいう)を述語暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(属性用変換規則情報;属性用スキーマともいう)と、
述語(論理式)を指定する情報(述語(論理式)指定情報;つまり、例えば年齢、権限などの属性に関する条件を論理式などで具体的に設定する情報であり、命題関数ともいう)を当該述語暗号アルゴリズムに用いられる述語情報(論理情報)に変換するための変換規則を規定している情報(述語(論理式)用変換規則情報;述語(論理式)用スキーマともいう)とのペアである変換規則情報ペアをスキーマペアと呼ぶ(図11−図13参照)。一つまたは複数のスキーマペアの集合体(データリスト)がスキーマリストである。各々の鍵生成装置20はスキーマリストを自由に定めてよい。スキーマリストに含まれる各スキーマの各データ項目は、例えばXML(eXtensible Markup Language)やASN.1(Abstract Notation Number One)で記述される。
述語(論理式)を指定する情報(述語(論理式)指定情報;つまり、例えば年齢、権限などの属性に関する条件を論理式などで具体的に設定する情報であり、命題関数ともいう)を当該述語暗号アルゴリズムに用いられる述語情報(論理情報)に変換するための変換規則を規定している情報(述語(論理式)用変換規則情報;述語(論理式)用スキーマともいう)とのペアである変換規則情報ペアをスキーマペアと呼ぶ(図11−図13参照)。一つまたは複数のスキーマペアの集合体(データリスト)がスキーマリストである。各々の鍵生成装置20はスキーマリストを自由に定めてよい。スキーマリストに含まれる各スキーマの各データ項目は、例えばXML(eXtensible Markup Language)やASN.1(Abstract Notation Number One)で記述される。
図12に示す属性用スキーマの例について説明を加える。ユーザの属性指定情報(属性値)は、属性名およびデータ型に対応付けられている。図12に示す例では、例えば、属性名‘email1’にデータ型‘文字列’が設定されており、属性名‘email1’およびデータ型‘文字列’に属性値‘XXX@XXX.ntt.co.jp’が対応付けられている。
属性用スキーマは、要素番号に属性名と型変換関数を対応付けた変換規則を規定している。図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次式との線形結合により、多変数多項式f=r1(X0-H(田中太郎))+r2(X23-1)が得られる。ここでr1とr2は乱数である。さらに、この多変数多項式fを展開して各項の係数を並べることにより、多変数多項式fがベクトル情報に変換され、図13に示す述語情報(ベクトル情報)の例が得られる。なお、一般的に、関数暗号によると、暗号化の際に複数の述語情報を指定できる。例えば、述語用スキーマを複数の述語指定情報に適用することによって、複数の述語情報を得ることができる。あるいは、複数の述語用スキーマを一つの述語指定情報に適用することによって、複数の述語情報を得てもよい。
なお、型変換関数の出力値は、この説明では整数値やHash関数の出力値として例示されたが、実際には述語暗号アルゴリズムに依拠し例えば有限体Fqの元である。
また、スキーマペアを構成する両スキーマの間では、属性名と型変換関数との組み合わせ、入力となる属性値のデータ型などが統一されていることが求められる。
次にポリシーリストについて図14を参照して説明を加える。属性用スキーマと述語用スキーマのうちいずれであるかを特定するための情報をポリシー情報(以下、ポリシーと言う)と呼ぶ。このポリシーを記述したデータリストがポリシーリストである。鍵生成装置20が属性用スキーマと述語用スキーマの両方を使用する場合には、ポリシーとして2種類のタイプが用意される。それはCipher_Text_PolicyとKey_Policyである。鍵生成装置20が属性用スキーマのみを使用する場合には、ポリシーとして1種類のタイプが用意される。それは、Key_Policyである。鍵生成装置20が述語用スキーマのみを使用する場合には、ポリシーとして1種類のタイプが用意される。それは、Cipher_Text_Policyである。ポリシーは、例えばXML(eXtensible Markup Language)やASN.1(Abstract Notation Number One)で記述される。鍵生成装置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に記憶される。
暗号化装置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述語情報を得る。ポリシーがKey_Policyであり選択されたスキーマが属性用スキーマである場合には第1属性情報が得られる。ポリシーがCipher_Text_Policyであり選択されたスキーマが述語用スキーマである場合には第1述語情報が得られる。第1属性情報と第1述語情報は、第1の観点による第1実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる(図11−13参照)。この際、スキーマを用いて入力情報から必要な属性値の抽出や整列化が行われる。
次に、暗号化装置10の暗号化部13が、第1属性情報v=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ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に記憶される。
復号装置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)。属性指定情報または述語指定情報のいずれを読み取るかは、暗号メッセージに含まれるポリシーによって決まる。つまり、読み取られる情報は、このポリシーで特定される一方のスキーマとペアになっている他方のスキーマを特定するポリシーの内容に対応する指定情報である。もしポリシーがCipher_Text_Policyである場合、取得部32は記憶媒体から属性指定情報を読み取る。もしポリシーがKey_Policyである場合、取得部32は記憶媒体から述語指定情報を読み取る。以下、読み取られた指定情報を利用者情報と呼ぶ。また、復号装置30の取得部32が、後述する鍵生成装置20における処理《利用者情報取得プロセス》と同様に、管理装置40から、当該復号装置30の利用者に対応する属性指定情報または述語指定情報を読み取ることも許容される。なお、第1の観点による第1実施形態では、ステップS26fの処理は任意に行われる。例えば、予め復号装置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参照)。属性指定情報または述語指定情報のいずれを読み取るかは、リクエストに含まれるポリシーによって決まる。つまり、読み取られる情報は、このポリシーで特定される一方のスキーマとペアになっている他方のスキーマを特定するポリシーの内容に対応する指定情報である。もしポリシーがCipher_Text_Policyである場合、検索部は第1テーブルからリクエストに含まれる利用者のIDに対応する属性指定情報を取得する。もしポリシーがKey_Policyである場合、検索部は第2テーブルからリクエストに含まれる利用者のIDに対応する述語指定情報を取得する。読み取られた指定情報を利用者情報と呼ぶ。
管理装置40の送信部は、制御部による制御を受けて、検索結果の利用者情報を鍵生成装置20に送信し、鍵生成装置20の受信部が利用者情報を受信する(ステップS27)。受信した利用者情報は、鍵生成装置20のメモリ21に記憶される。
以上で《利用者情報取得プロセス》を終了し、再び《鍵生成プロセス》の説明に戻る。
利用者情報を既に所有している場合、あるいは、利用者情報取得プロセスによって利用者情報を受信した場合(ステップS27)、鍵生成装置20の第2述語論理情報取得部23は、メモリ21からポリシーと、スキーマペアと、公開パラメータと、利用者情報を読み込み、利用者情報から、属性情報(第2属性情報と言う)または述語情報(第2述語情報と言う)を得る(ステップS24c)。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipher_Text_Policyである場合、Cipher_Text_Policyで特定される一方のスキーマ(述語用スキーマ)とペアになっている他方のスキーマ(属性用スキーマ)を用いて、利用者情報(属性指定情報)から第2属性情報を得る。ポリシーがKey_Policyである場合、Key_Policyで特定される一方のスキーマ(属性用スキーマ)とペアになっている他方のスキーマ(述語用スキーマ)を用いて、利用者情報(述語指定情報)から第2述語情報を得る。このように、この処理で用いられるスキーマは、ステップS17aで用いられたスキーマとペアになっているスキーマであることに注意しなければならない。第2属性情報と第2述語情報は、第1の観点による第1実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる(図11−13参照)。この際、スキーマを用いて入力情報から必要な属性値の抽出や整列化が行われる。
次に、鍵生成装置20の鍵生成部25が、述語暗号アルゴリズムに則り、公開パラメータのqに基づき有限体Fqの元である乱数αを生成して、メモリ21からの第2属性情報v(p)=(v(p)1,…,v(p)n)または第2述語情報w(p)=(w(p)1,…,w(p)n)と、当該鍵生成装置の秘密鍵B*を用いて、式(10)に従って復号鍵Rを求める(ステップS24d)。暗号化処理で用いられた入力情報が属性指定情報である場合に対応して、この例では第2述語情報w(p)を用いているが、入力情報が述語指定情報である場合には、第2属性情報v(p)が対応するので、式(10)においてw(p)をv(p)に置き換えればよい。
次に、鍵生成装置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(C1,R)を求める。この演算結果は式(11)に示すように、入力情報が属性指定情報である場合、双線形性に基づき暗号情報C1と復号鍵Rから取り出された第1属性情報vと第2述語情報w(p)の標準内積の結果に依存する。入力情報が述語指定情報である場合、式(11)においてvをv(p)に、w(p)をwに置き換えればよく、演算結果は双線形性に基づき暗号情報C1と復号鍵Rから取り出された第1述語情報wと第2属性情報v(p)の標準内積の結果に依存する。但し、e(bi,bi *)は式(12)のように定義される。δijは、クロネッカーのデルタ記号である。
従って、第1属性情報vと第2述語情報w(p)の標準内積が0(あるいは第1述語情報wと第2属性情報v(p)の標準内積が0)の場合、式(11)の演算結果gT ρが得られる。この演算結果gT ρが得られた場合、復号装置30の第1復号部33aは、式(7)に従って“正しい”共通鍵Kを得る(ステップS22c)。もし第1属性情報vと第2述語情報w(p)の標準内積が0(あるいは第1述語情報wと第2属性情報v(p)の標準内積が0)ではない場合、第1復号部33aは、式(7)に従って“正しくない”値を得る。この例では、ハッシュ関数Hはシステムに共通とするか公開パラメータに含まれるとする。この例では、暗号情報C1が共通鍵Kの生成に用いる情報ρに対応する情報であるが、暗号情報C1を共通鍵Kに対応する情報とする場合には、式(11)の演算結果が共通鍵K(あるいは正しくない値)となる。つまり、復号装置30の正当な利用者は、第1属性情報vとの標準内積が0となる第2述語情報w(p)を与える述語指示情報、あるいは、第1述語情報wとの標準内積が0となる第2属性情報v(p)を与える属性指示情報を持つ。
次に、第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実施形態と異なる部分を説明する。
第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)。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipher_Text_Policyである場合、Cipher_Text_Policyで特定される一方のスキーマ(述語用スキーマ)とペアになっている他方のスキーマ(属性用スキーマ)を用いて、利用者情報(属性指定情報)から第2属性情報を得る。ポリシーがKey_Policyである場合、Key_Policyで特定される一方のスキーマ(属性用スキーマ)とペアになっている他方のスキーマ(述語用スキーマ)を用いて、利用者情報(述語指定情報)から第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=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ11からの公開パラメータに含まれる公開鍵と平文Mを用いて、暗号情報C1を求める。つまり、第1の観点による第3実施形態では、例えば上記非特許文献2に示す述語暗号アルゴリズムが用いられる。この差異に伴い、第1の観点による第3実施形態は、いくつかの事項で第1の観点による第1実施形態と異なる。そこで、第1の観点による第1実施形態と重複する部分については重複説明を省略し(同一の構成要素に同じ参照番号を割り当てる)、図22−図25を参照しながら第1の観点による第1実施形態と異なる部分を説明する。
第1の観点による第3実施形態では、第1の観点による第1実施形態と異なり、暗号化装置10の暗号化部13が、第1属性情報v=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ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=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ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=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ11からの公開パラメータに含まれる公開鍵と平文Mを用いて、暗号情報C1を求める。この差異に伴い、第1の観点による第4実施形態は、いくつかの事項で第1の観点による第1実施形態と異なる。そこで、第1の観点による第1実施形態と重複する部分については重複説明を省略し(同一の構成要素に同じ参照番号を割り当てる)、図26と図27も参照して第1の観点による第1実施形態と異なる部分を説明する。
第1の観点による第4実施形態は、第1の観点による第2実施形態と第1の観点による第3実施形態の組み合わせ形態に相当する。つまり、第1の観点による第4実施形態は、第1の観点による第1実施形態と異なり、(1)復号装置30が第2属性情報または第2述語情報を生成する、(2)暗号化装置10の暗号化部13が、第1属性情報v=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ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=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ11からの公開パラメータに含まれる公開鍵と平文Mを用いて、暗号情報C1を求める(ステップS17b1)。
次に、ステップS17b1の処理の後、ステップS17dの処理が行われる。但し、この処理では、暗号化装置10の送信部14が、制御部による制御を受けて、暗号情報C1と、メモリ11からのスキーマペア、ポリシー、公開パラメータ、鍵生成装置のアドレスを纏めた暗号メッセージを生成する(ステップS17d)。
ステップS17dの処理に続くステップS18からステップS22bの処理までは、第1の観点による第1実施形態と同じである。
ステップS22bの処理で復号鍵を所有していない場合、復号装置30の第2述語論理情報取得部35が、メモリ31からポリシーと、スキーマペアと、公開パラメータと、利用者情報を読み込み、利用者情報から、属性情報(第2属性情報と言う)または述語情報(第2述語情報と言う)を得る(ステップS23g)。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipher_Text_Policyである場合、Cipher_Text_Policyで特定される一方のスキーマ(述語用スキーマ)とペアになっている他方のスキーマ(属性用スキーマ)を用いて、利用者情報(属性指定情報)から第2属性情報を得る。ポリシーがKey_Policyである場合、Key_Policyで特定される一方のスキーマ(属性用スキーマ)とペアになっている他方のスキーマ(述語用スキーマ)を用いて、利用者情報(述語指定情報)から第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実施形態を説明する。
図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(Key Encapsulation Mechanisms)タイプの述語暗号アルゴリズムを用いた例を示す。
第2の観点による暗号システム1における暗号通信方法を、図29、30、31、32、34、36、38、40、41を参照しながら叙述する。各装置の機能構成については、図33、35、37、39を参照されたい。
《準備プロセス》
第1の観点による発明の第1実施形態における《準備プロセス》の説明の全てをここに援用し、重複説明を省略する。なお、この《準備プロセス》の説明に対応する図として図29を、スキーマペアについては図11−13を、ポリシーリストについては図14を参照されたい。これで《準備プロセス》は終了する。
第1の観点による発明の第1実施形態における《準備プロセス》の説明の全てをここに援用し、重複説明を省略する。なお、この《準備プロセス》の説明に対応する図として図29を、スキーマペアについては図11−13を、ポリシーリストについては図14を参照されたい。これで《準備プロセス》は終了する。
《暗号化プロセス》
暗号化装置10の送信部14は、図示しない制御部の制御を受けて、検索クエリを登録装置50に送信し、登録装置50の受信部が検索クエリを受信する(ステップS14)。登録装置50の検索部は、登録装置50の記憶部に登録されているエントリの一部または全部を検索して一つのエントリを選び(ステップS15)、登録装置50の送信部は検索結果のエントリを暗号化装置10に送信し、暗号化装置10の受信部はエントリを受信する(ステップS16)。このエントリには、鍵生成装置のアドレス、この鍵生成装置の公開パラメータ、この鍵生成装置が使用可能なポリシーリスト、この鍵生成装置が使用可能なスキーマリストが含まれている。受信したエントリは、暗号化装置10のメモリ11に記憶される。
暗号化装置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述語情報を得る。ポリシーがKey_Policyであり選択されたスキーマが属性用スキーマである場合には第1属性情報が得られる。ポリシーがCipher_Text_Policyであり選択されたスキーマが述語用スキーマである場合には第1述語情報が得られる。第1属性情報と第1述語情報は、第2の観点による第1実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる(図11−13参照)。この際、スキーマを用いて入力情報から必要な属性値の抽出や整列化が行われる。
次に、暗号化装置10の暗号化部13が、第1属性情報v=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ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に記憶される。
第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)。属性指定情報または述語指定情報のいずれを読み取るかは、暗号メッセージに含まれるポリシーによって決まる。つまり、読み取られる情報は、このポリシーで特定される一方のスキーマとペアになっている他方のスキーマを特定するポリシーの内容に対応する指定情報である。もしポリシーがCipher_Text_Policyである場合、取得部32は記憶媒体から属性指定情報を読み取る。もしポリシーがKey_Policyである場合、取得部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参照)。属性指定情報または述語指定情報のいずれを読み取るかは、リクエストに含まれるポリシーによって決まる。つまり、読み取られる情報は、このポリシーで特定される一方のスキーマとペアになっている他方のスキーマを特定するポリシーの内容に対応する指定情報である。もしポリシーがCipher_Text_Policyである場合、検索部は第1テーブルからリクエストに含まれる利用者のIDに対応する属性指定情報を取得する。もしポリシーがKey_Policyである場合、検索部は第2テーブルからリクエストに含まれる利用者のIDに対応する述語指定情報を取得する。読み取られた指定情報を利用者情報と呼ぶ。
管理装置40の送信部は、制御部による制御を受けて、検索結果の利用者情報を鍵生成装置20に送信し、鍵生成装置20の受信部が利用者情報を受信する(ステップS27)。受信した利用者情報は、鍵生成装置20のメモリ21に記憶される。
以上で《利用者情報取得プロセス》を終了し、再び《鍵生成プロセス》の説明に戻る。
利用者情報を既に所有している場合、あるいは、利用者情報取得プロセスによって利用者情報を受信した場合(ステップS27)、鍵生成装置20の第2述語論理情報取得部23は、メモリ21からポリシーと、スキーマペアと、公開パラメータと、利用者情報を読み込み、利用者情報から、属性情報(第2属性情報と言う)または述語情報(第2述語情報と言う)を得る(ステップS24c)。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipher_Text_Policyである場合、Cipher_Text_Policyで特定される一方のスキーマ(述語用スキーマ)とペアになっている他方のスキーマ(属性用スキーマ)を用いて、利用者情報(属性指定情報)から第2属性情報を得る。ポリシーがKey_Policyである場合、Key_Policyで特定される一方のスキーマ(属性用スキーマ)とペアになっている他方のスキーマ(述語用スキーマ)を用いて、利用者情報(述語指定情報)から第2述語情報を得る。このように、この処理で用いられるスキーマは、ステップS17aで用いられたスキーマとペアになっているスキーマであることに注意しなければならない。第2属性情報と第2述語情報は、第2の観点による第1実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる(図11−13参照)。この際、スキーマを用いて入力情報から必要な属性値の抽出や整列化が行われる。
次に、鍵生成装置20の鍵生成部25が、述語暗号アルゴリズムに則り、公開パラメータのqに基づき有限体Fqの元である乱数αを生成して、メモリ21からの第2属性情報v(p)=(v(p)1,…,v(p)n)または第2述語情報w(p)=(w(p)1,…,w(p)n)と、当該鍵生成装置の秘密鍵B*を用いて、上記式(10)に従って復号鍵Rを求める(ステップS24d)。暗号化処理で用いられた入力情報が属性指定情報である場合に対応して、この例では第2述語情報w(p)を用いているが、入力情報が述語指定情報である場合には、第2属性情報v(p)が対応するので、上記式(10)においてw(p)をv(p)に置き換えればよい。
次に、鍵生成装置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(C1,R)を求める。この演算結果は上記式(11)に示すように、入力情報が属性指定情報である場合、双線形性に基づき暗号情報C1と復号鍵Rから取り出された第1属性情報vと第2述語情報w(p)の標準内積の結果に依存する。入力情報が述語指定情報である場合、上記式(11)においてvをv(p)に、w(p)をwに置き換えればよく、演算結果は双線形性に基づき暗号情報C1と復号鍵Rから取り出された第1述語情報wと第2属性情報v(p)の標準内積の結果に依存する。但し、e(bi,bi *)は上記式(12)のように定義される。δijは、クロネッカーのデルタ記号である。
従って、第1属性情報vと第2述語情報w(p)の標準内積が0(あるいは第1述語情報wと第2属性情報v(p)の標準内積が0)の場合、上記式(11)の演算結果gT ρが得られる。この演算結果gT ρが得られた場合、第1の復号装置30−1の第1復号部33aは、上記式(7)に従って“正しい”共通鍵Kを得る(ステップS22c)。もし第1属性情報vと第2述語情報w(p)の標準内積が0(あるいは第1述語情報wと第2属性情報v(p)の標準内積が0)ではない場合、第1復号部33aは、上記式(7)に従って“正しくない”値を得る。この例では、ハッシュ関数Hはシステムに共通とするか公開パラメータに含まれるとする。この例では、暗号情報C1が共通鍵Kの生成に用いる情報ρに対応する情報であるが、暗号情報C1を共通鍵Kに対応する情報とする場合には、上記式(11)の演算結果が共通鍵K(あるいは正しくない値)となる。つまり、第1の復号装置30−1の正当な利用者は、第1属性情報vとの標準内積が0となる第2述語情報w(p)を与える述語指示情報、あるいは、第1述語情報wとの標準内積が0となる第2属性情報v(p)を与える属性指示情報を持つ。
次に、第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から暗号メッセージを受信した以降であれば何時でもよい。
第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に記憶される。
第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)。属性指定情報または述語指定情報のいずれを読み取るかは、暗号メッセージに含まれるポリシーによって決まる。つまり、読み取られる情報は、このポリシーで特定される一方のスキーマとペアになっている他方のスキーマを特定するポリシーの内容に対応する指定情報である。もしポリシーがCipher_Text_Policyである場合、取得部32は記憶媒体から属性指定情報を読み取る。もしポリシーがKey_Policyである場合、取得部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参照)。属性指定情報または述語指定情報のいずれを読み取るかは、リクエストに含まれるポリシーによって決まる。つまり、読み取られる情報は、このポリシーで特定される一方のスキーマとペアになっている他方のスキーマを特定するポリシーの内容に対応する指定情報である。もしポリシーがCipher_Text_Policyである場合、検索部は第1テーブルからリクエストに含まれる利用者のIDに対応する属性指定情報を取得する。もしポリシーがKey_Policyである場合、検索部は第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述語情報と同じになる保証はない。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipher_Text_Policyである場合、Cipher_Text_Policyで特定される一方のスキーマ(述語用スキーマ)とペアになっている他方のスキーマ(属性用スキーマ)を用いて、利用者情報(属性指定情報)から第2属性情報を得る。ポリシーがKey_Policyである場合、Key_Policyで特定される一方のスキーマ(属性用スキーマ)とペアになっている他方のスキーマ(述語用スキーマ)を用いて、利用者情報(述語指定情報)から第2述語情報を得る。このように、この処理で用いられるスキーマは、ステップS17aで用いられたスキーマとペアになっているスキーマであることに注意しなければならない。第2属性情報と第2述語情報は、第2の観点による第1実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる(図11−13参照)。この際、スキーマを用いて入力情報から必要な属性値の抽出や整列化が行われる。
次に、鍵生成装置20の鍵生成部25が、述語暗号アルゴリズムに則り、公開パラメータのqに基づき有限体Fqの元である乱数εを生成して、メモリ21からの第2属性情報v'(p)=(v'(p)1,…,v'(p)n)または第2述語情報w'(p)=(w'(p)1,…,w'(p)n)と、当該鍵生成装置の秘密鍵B*を用いて、式(14)に従って復号鍵R'を求める(ステップS36d)。暗号化処理で用いられた入力情報が属性指定情報である場合に対応して、この例では第2述語情報w'(p)を用いているが、入力情報が述語指定情報である場合には、第2属性情報v'(p)が対応するので、式(14)においてw'(p)をv'(p)に置き換えればよい。
次に、鍵生成装置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(C1,R')を求める。この演算結果は式(15)に示すように、入力情報が属性指定情報である場合、双線形性に基づき暗号情報C1と復号鍵R'から取り出された第1属性情報vと第2述語情報w'(p)の標準内積の結果に依存する。入力情報が述語指定情報である場合、式(15)においてvをv'(p)に、w'(p)をwに置き換えればよく、演算結果は双線形性に基づき暗号情報C1と復号鍵R'から取り出された第1述語情報wと第2属性情報v'(p)の標準内積の結果に依存する。但し、e(bi,bi *)は上記式(12)のように定義される。
従って、第1属性情報vと第2述語情報w'(p)の標準内積が0(あるいは第1述語情報wと第2属性情報v'(p)の標準内積が0)の場合、式(15)の演算結果gT ρが得られる。この演算結果gT ρが得られた場合、第2の復号装置30−2の第1復号部33aは、上記式(7)に従って“正しい”共通鍵Kを得る(ステップS34c)。もし第1属性情報vと第2述語情報w'(p)の標準内積が0(あるいは第1述語情報wと第2属性情報v'(p)の標準内積が0)ではない場合、第1復号部33aは、上記式(7)に従って“正しくない”値を得る。この例では、ハッシュ関数Hはシステムに共通とするか公開パラメータに含まれるとする。この例では、暗号情報C1が共通鍵Kの生成に用いる情報ρに対応する情報であるが、暗号情報C1を共通鍵Kに対応する情報とする場合には、式(15)の演算結果が共通鍵K(あるいは正しくない値)となる。つまり、第2の復号装置30−2の正当な利用者は、第1属性情報vとの標準内積が0となる第2述語情報w'(p)を与える述語指示情報、あるいは、第1述語情報wとの標準内積が0となる第2属性情報v'(p)を与える属性指示情報を持つ。
次に、第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実施形態と異なる部分を説明する。
第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)。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipher_Text_Policyである場合、Cipher_Text_Policyで特定される一方のスキーマ(述語用スキーマ)とペアになっている他方のスキーマ(属性用スキーマ)を用いて、利用者情報(属性指定情報)から第2属性情報を得る。ポリシーがKey_Policyである場合、Key_Policyで特定される一方のスキーマ(属性用スキーマ)とペアになっている他方のスキーマ(述語用スキーマ)を用いて、利用者情報(述語指定情報)から第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)。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipher_Text_Policyである場合、Cipher_Text_Policyで特定される一方のスキーマ(述語用スキーマ)とペアになっている他方のスキーマ(属性用スキーマ)を用いて、利用者情報(属性指定情報)から第2属性情報を得る。ポリシーがKey_Policyである場合、Key_Policyで特定される一方のスキーマ(属性用スキーマ)とペアになっている他方のスキーマ(述語用スキーマ)を用いて、利用者情報(述語指定情報)から第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=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ11からの公開パラメータに含まれる公開鍵と平文Mを用いて、暗号情報C1を求める。つまり、第2の観点による第3実施形態では、例えば上記非特許文献2に示す述語暗号アルゴリズムが用いられる。この差異に伴い、第2の観点による第3実施形態は、いくつかの事項で第2の観点による第1実施形態と異なる。そこで、第2の観点による第1実施形態と重複する部分については重複説明を省略し(同一の構成要素に同じ参照番号を割り当てる)、図49−図54を参照しながら第2の観点による第1実施形態と異なる部分を説明する。
第2の観点による第3実施形態では、第2の観点による第1実施形態と異なり、暗号化装置10の暗号化部13が、第1属性情報v=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ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=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ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=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ11からの公開パラメータに含まれる公開鍵と平文Mを用いて、暗号情報C1を求める。この差異に伴い、第2の観点による第4実施形態は、いくつかの事項で第2の観点による第1実施形態と異なる。そこで、第2の観点による第1実施形態と重複する部分については重複説明を省略し(同一の構成要素に同じ参照番号を割り当てる)、図55から図58も参照して第1実施形態と異なる部分を説明する。
第2の観点による第4実施形態は、第2の観点による第2実施形態と第2の観点による第3実施形態の組み合わせ形態に相当する。つまり、第2の観点による第4実施形態は、第2の観点による第1実施形態と異なり、(1)第1の復号装置30−1と第2の復号装置30−2が第2属性情報または第2述語情報を生成する、(2)暗号化装置10の暗号化部13が、第1属性情報v=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ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=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ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)。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipher_Text_Policyである場合、Cipher_Text_Policyで特定される一方のスキーマ(述語用スキーマ)とペアになっている他方のスキーマ(属性用スキーマ)を用いて、利用者情報(属性指定情報)から第2属性情報を得る。ポリシーがKey_Policyである場合、Key_Policyで特定される一方のスキーマ(属性用スキーマ)とペアになっている他方のスキーマ(述語用スキーマ)を用いて、利用者情報(述語指定情報)から第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)。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipher_Text_Policyである場合、Cipher_Text_Policyで特定される一方のスキーマ(述語用スキーマ)とペアになっている他方のスキーマ(属性用スキーマ)を用いて、利用者情報(属性指定情報)から第2属性情報を得る。ポリシーがKey_Policyである場合、Key_Policyで特定される一方のスキーマ(属性用スキーマ)とペアになっている他方のスキーマ(述語用スキーマ)を用いて、利用者情報(述語指定情報)から第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/MIME(Secure Multipurpose Internet Mail Extensions)に従うが、暗号メッセージ開始位置マーカから暗号メッセージ終了位置マーカまでのデータはXML(eXtensible Markup Language)などで適切なデータ構成が与えられる。
暗号メッセージ開始位置マーカから暗号メッセージ終了位置マーカまでが述語暗号に関する一連のデータを示す。
アルゴリズム識別子ブロックには、共通鍵の暗号化に使用した述語暗号アルゴリズムとメッセージペイロードの暗号化に使用した共通鍵暗号アルゴリズムを特定するための情報が指定される。このように、アルゴリズムを表す識別子やアルゴリズムのバージョンなどを指定できる(PE/VersionX+Camellia[Camelliaは登録商標]など)。
デジタル署名ブロックにはデジタル署名が記述される。署名アルゴリズムは既存の方式を使用できる。この項目は運用形態に応じて省略可能である。
公開パラメータ情報ブロックには、使用した公開情報パラメータを特定する情報が指定される。公開情報パラメータを特定する識別子、もしくは公開情報パラメータのデータそのものを指定することもできる。
ポリシーフィールドには、使用したポリシーを特定する識別子が指定される。
スキーマフィールドには、使用したスキーマを特定する識別子が指定されるか、もしくはスキーマのデータが記述される。
暗号情報フィールドにはメッセージペイロード(平文)の暗号化に使用した共通鍵を述語暗号で暗号化したデータ(暗号情報)が指定される。
暗号文フィールドにはメッセージペイロード(平文)を暗号化して作成したデータ(暗号文)が記述される。
属性フィールド/述語フィールドにはポリシーフィールドに対応して暗号化に使用した属性/述語を表す文字列表現を指定することができる。これらの項目は運用形態に応じては省略可能である。
添付フィールドには例えばRSA暗号化した添付ファイルなどを添付することができる。この項目は運用形態に応じて省略可能である。
また、例えばインストタントメッセージングに伴うセキュアな通信の場合には、共通鍵を暗号化した暗号情報を再送する必要はない。インスタントメッセージングでは通常、最初のインスタントメッセージで適切な共通鍵を取得できたならば、後続のインスタントメッセージの復号に用いるために共通鍵を受信者が保存しておいてもよい。このように後続のインスタントメッセージを送信者から受信者に送信する際には、暗号文は送るが、公開パラメータ情報、ポリシー、スキーマ、暗号情報を送らないようにしてもよい。同様に、使用される暗号アルゴリズムを変更しない運用の場合には、後続のインスタントメッセージ内の暗号アルゴリズム識別子を省略してもよい。
述語暗号は、暗号化に際して、受信者に依存する情報に拘束されない方式であるから、送信者(装置)は、未知の受信者(装置)に対しても暗号メッセージを送信することができる。換言すると、送信者は、複数の受信者(装置)が存在する場合であっても暗号化処理を1回しか行わない(公開鍵暗号方式では、N回の暗号化処理が必要である)。このため、送信者(装置)は、低い処理コストで暗号メッセージを同報送信することができる。
また、受信者(装置)が第三者(装置)に暗号メッセージを転送する際、暗号化装置から受信した暗号メッセージをそのまま第三者(装置)に転送することができる。公開鍵暗号方式では、受信者(装置)が一旦、暗号メッセージを復号し、第三者(装置)の公開鍵を用いて暗号化し、この暗号化された暗号メッセージを送信する処理が必要であり、処理コストの負担が大きい。しかし、上述の各実施形態では、暗号化装置から受信した暗号メッセージをそのまま第三者(装置)に転送するから、低い処理コストで暗号メッセージを転送することができる。
次に、上述の第1の観点による暗号通信技術に留意しつつ、第3の観点から、柔軟に運用可能であって述語暗号で暗号化されたコンテンツ(暗号化コンテンツ)を配信することが可能な、述語暗号に依拠する暗号通信技術に関する実施形態を説明する。この技術によると、述語暗号で暗号化されたコンテンツ(暗号化コンテンツ)がコンテンツサーバ装置に蓄えられ、復号装置からの要求に応じて暗号化コンテンツを送信することによって、暗号化コンテンツを配信することができる。
第3の観点による暗号通信技術の説明は上述の第1の観点による暗号通信技術の説明と実質的に重複する部分を多く含むが、第1の観点による暗号通信技術の説明を参照しなくてもよいように、できるだけ重複説明と重複図面を省略せずに第3の観点による暗号通信技術を説明する。このため、数式の番号、機能部を表す参照番号、ステップを表す参照番号なども両者で重複するが、文脈から混乱の虞は無いであろう。
〔第3の観点による第1実施形態〕
図60から図71を参照して第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(Key Encapsulation Mechanisms)タイプの述語暗号アルゴリズムを用いた例を示す。
暗号システム1における暗号通信方法を、図61、62、63、64、66、69、71を参照しながら叙述する。各装置の機能構成については、図65、67、68、70を参照されたい。
《準備プロセス》
第1の観点による発明の第1実施形態における《準備プロセス》の説明の全てをここに援用し、重複説明を省略する。なお、この《準備プロセス》の説明に対応する図として図61を、スキーマペアについては図11−13を、ポリシーリストについては図14を参照されたい。これで《準備プロセス》は終了する。
第1の観点による発明の第1実施形態における《準備プロセス》の説明の全てをここに援用し、重複説明を省略する。なお、この《準備プロセス》の説明に対応する図として図61を、スキーマペアについては図11−13を、ポリシーリストについては図14を参照されたい。これで《準備プロセス》は終了する。
《暗号化プロセス》
暗号化装置10の送信部14は、図示しない制御部の制御を受けて、検索クエリを登録装置50に送信し、登録装置50の受信部が検索クエリを受信する(ステップS14)。登録装置50の検索部は、登録装置50の記憶部に登録されているエントリの一部または全部を検索して一つのエントリを選び(ステップS15)、登録装置50の送信部は検索結果のエントリを暗号化装置10に送信し、暗号化装置10の受信部はエントリを受信する(ステップS16)。このエントリには、鍵生成装置のアドレス、この鍵生成装置の公開パラメータ、この鍵生成装置が使用可能なポリシーリスト、この鍵生成装置が使用可能なスキーマリストが含まれている。受信したエントリは、暗号化装置10のメモリ11に記憶される。
暗号化装置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述語情報を得る。ポリシーがKey_Policyであり選択されたスキーマが属性用スキーマである場合には第1属性情報が得られる。ポリシーがCipher_Text_Policyであり選択されたスキーマが述語用スキーマである場合には第1述語情報が得られる。第1属性情報と第1述語情報は、第3の観点による第1実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる(図11−13参照)。この際、スキーマを用いて入力情報から必要な属性値の抽出や整列化が行われる。
次に、暗号化装置10の暗号化部13が、第1属性情報v=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ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(File Transfer Protocol)やWebDAV(Distributed Authoring and Versioning protocol for the WWW)などの周知の方式を利
用して行われる。
用して行われる。
これで《暗号化プロセス》は終了する。
《コンテンツ配信プロセス》
コンテンツサーバ装置60は、図示しない制御部の制御の下、そのメモリ61に各暗号化装置10から送られた暗号メッセージを記憶する。これによって、暗号メッセージに含まれる暗号情報と暗号化コンテンツがコンテンツサーバ装置60に登録される。コンテンツサーバ装置60にどのような暗号化コンテンツが登録されているかは、例えばWebページ上で公開される。
コンテンツサーバ装置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(Hiper Text Transfer Protocol)に従ったやりとりは中継部33を経由して行われる(例えばWWWブラウザのプロキシ設定を使用することが許される)。コンテンツサーバ装置60の検索部62は、取得要求で指定された暗号化コンテンツを含む暗号メッセージを検索してそれを選び(ステップS21)、検索部62からの指示に基づき、コンテンツサーバ装置60の送信部64は暗号メッセージを復号装置30に送信し、復号装置30の受信部は暗号メッセージを受信する(ステップS22)。
これで《コンテンツ配信プロセス》は終了する。
《復号プロセス》
復号装置30の送信部34は、図示しない制御部の制御を受けて、暗号メッセージに含まれる鍵生成装置のアドレスを含む検索クエリを登録装置50に送信し、登録装置50の受信部が検索クエリを受信する(ステップS23)。登録装置50の検索部は、アドレスで指定された鍵生成装置のエントリを検索してそれを選び(ステップS24)、登録装置50の送信部は検索結果のエントリを復号装置30に送信し、復号装置30の受信部はエントリを受信する(ステップS25)。このエントリには、鍵生成装置のアドレス、この鍵生成装置の公開パラメータ、この鍵生成装置が使用可能なポリシーリスト、この鍵生成装置が使用可能なスキーマリストが含まれている。受信したエントリは、復号装置30のメモリ31に記憶される。
復号装置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)。属性指定情報または述語指定情報のいずれを読み取るかは、暗号メッセージに含まれるポリシーによって決まる。つまり、読み取られる情報は、このポリシーで特定される一方のスキーマとペアになっている他方のスキーマを特定するポリシーの内容に対応する指定情報である。もしポリシーがCipher_Text_Policyである場合、取得部32は記憶媒体から属性指定情報を読み取る。もしポリシーがKey_Policyである場合、取得部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参照)。属性指定情報または述語指定情報のいずれを読み取るかは、リクエストに含まれるポリシーによって決まる。つまり、読み取られる情報は、このポリシーで特定される一方のスキーマとペアになっている他方のスキーマを特定するポリシーの内容に対応する指定情報である。もしポリシーがCipher_Text_Policyである場合、検索部は第1テーブルからリクエストに含まれる利用者のIDに対応する属性指定情報を取得する。もしポリシーがKey_Policyである場合、検索部は第2テーブルからリクエストに含まれる利用者のIDに対応する述語指定情報を取得する。読み取られた指定情報を利用者情報と呼ぶ。
管理装置40の送信部は、制御部による制御を受けて、検索結果の利用者情報を鍵生成装置20に送信し、鍵生成装置20の受信部が利用者情報を受信する(ステップS31)。受信した利用者情報は、鍵生成装置20のメモリ21に記憶される。
以上で《利用者情報取得プロセス》を終了し、再び《鍵生成プロセス》の説明に戻る。
利用者情報を既に所有している場合、あるいは、利用者情報取得プロセスによって利用者情報を受信した場合(ステップS31)、鍵生成装置20の第2述語論理情報取得部23は、メモリ21からポリシーと、スキーマペアと、公開パラメータと、利用者情報を読み込み、利用者情報から、属性情報(第2属性情報と言う)または述語情報(第2述語情報と言う)を得る(ステップS28c)。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipher_Text_Policyである場合、Cipher_Text_Policyで特定される一方のスキーマ(述語用スキーマ)とペアになっている他方のスキーマ(属性用スキーマ)を用いて、利用者情報(属性指定情報)から第2属性情報を得る。ポリシーがKey_Policyである場合、Key_Policyで特定される一方のスキーマ(属性用スキーマ)とペアになっている他方のスキーマ(述語用スキーマ)を用いて、利用者情報(述語指定情報)から第2述語情報を得る。このように、この処理で用いられるスキーマは、ステップS17aで用いられたスキーマとペアになっているスキーマであることに注意しなければならない。第2属性情報と第2述語情報は、第3の観点による第1実施形態では、有限体Fqの元を成分とす
る一つ又は複数のベクトル情報とされる(図11−13参照)。この際、スキーマを用いて入力情報から必要な属性値の抽出や整列化が行われる。
る一つ又は複数のベクトル情報とされる(図11−13参照)。この際、スキーマを用いて入力情報から必要な属性値の抽出や整列化が行われる。
次に、鍵生成装置20の鍵生成部25が、述語暗号アルゴリズムに則り、公開パラメータのqに基づき有限体Fqの元である乱数αを生成して、メモリ21からの第2属性情報v(p)=(v(p)1,…,v(p)n)または第2述語情報w(p)=(w(p)1,…,w(p)n)と、当該鍵生成装置の秘密鍵B*を用いて、上記式(10)に従って復号鍵Rを求める(ステップS28d)。暗号化処理で用いられた入力情報が属性指定情報である場合に対応して、この例では第2述語情報w(p)を用いているが、入力情報が述語指定情報である場合には、第2属性情報v(p)が対応するので、上記式(10)においてw(p)をv(p)に置き換えればよい。
次に、鍵生成装置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(C1,R)を求める。この演算結果は上記式(11)に示すように、入力情報が属性指定情報である場合、双線形性に基づき暗号情報C1と復号鍵Rから取り出された第1属性情報vと第2述語情報w(p)の標準内積の結果に依存する。入力情報が述語指定情報である場合、上記式(11)においてvをv(p)に、w(p)をwに置き換えればよく、演算結果は双線形性に基づき暗号情報C1と復号鍵Rから取り出された第1述語情報wと第2属性情報v(p)の標準内積の結果に依存する。但し、e(bi,bi *)は上記式(12)のように定義される。δijは、クロネッカーのデルタ記号である。
従って、第1属性情報vと第2述語情報w(p)の標準内積が0(あるいは第1述語情報wと第2属性情報v(p)の標準内積が0)の場合、上記式(11)の演算結果gT ρが得られる。この演算結果gT ρが得られた場合、復号装置30の第1復号部33aは、上記式(7)に従って“正しい”共通鍵Kを得る(ステップS26c)。もし第1属性情報vと第2述語情報w(p)の標準内積が0(あるいは第1述語情報wと第2属性情報v(p)の標準内積が0)ではない場合、第1復号部33aは、上記式(7)に従って“正しくない”値を得る。この例では、ハッシュ関数Hはシステムに共通とするか公開パラメータに含まれるとする。この例では、暗号情報C1が共通鍵Kの生成に用いる情報ρに対応する情報
であるが、暗号情報C1を共通鍵Kに対応する情報とする場合には、上記式(11)の演算結果が共通鍵K(あるいは正しくない値)となる。つまり、復号装置30の正当な利用者は、第1属性情報vとの標準内積が0となる第2述語情報w(p)を与える述語指示情報、あるいは、第1述語情報wとの標準内積が0となる第2属性情報v(p)を与える属性指示情報を持つ。
であるが、暗号情報C1を共通鍵Kに対応する情報とする場合には、上記式(11)の演算結果が共通鍵K(あるいは正しくない値)となる。つまり、復号装置30の正当な利用者は、第1属性情報vとの標準内積が0となる第2述語情報w(p)を与える述語指示情報、あるいは、第1述語情報wとの標準内積が0となる第2属性情報v(p)を与える属性指示情報を持つ。
次に、第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実施形態と異なる部分を説明する。
第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)。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipher_Text_Policyである場合、Cipher_Text_Policyで特定される一方のスキーマ(述語用スキーマ)とペアになっている他方のスキーマ(属性用スキーマ)を用いて、利用者情報(属性指定情報)から第2属性情報を得る。ポリシーがKey_Policyである場合、Key_Policyで特定される一方のスキーマ(属性用スキーマ)とペアになっている他方のスキーマ(述語用スキーマ)を用いて、利用者情報(述語指定情報)から第2述語情報を得る。このように、この処理で用いられるスキーマは、ステップS17aで用いられたスキーマとペアになっているスキーマであることに注意しなければならない。第2属性情報と第2述語情報は、第3の観点による第2実施形態では、有限体Fqの元を成分とする一つ又は複数のベクトル情報とされる(図11−13参照)。
ステップS26bの処理で復号鍵を所有していない場合、復号装置30の第2述語論理情報取得部35が、メモリ31からポリシーと、スキーマペアと、公開パラメータと、利用者情報を読み込み、利用者情報から、属性情報(第2属性情報と言う)または述語情報(第2述語情報と言う)を得る(ステップS27g)。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipher_Text_Policyである場合、Cipher_Text_Policyで特定される一方のスキーマ(述語用スキーマ)とペアになっている他方のスキーマ(属性用スキーマ)を用いて、利用者情報(属性指定情報)から第2属性情報を得る。ポリシーがKey_Policyである場合、Key_Policyで特定される一方のスキーマ(属性用スキーマ)とペアになっている他方のスキーマ(述語用スキーマ)を用いて、利用者情報(述語指定情報)から第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=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ11からの公開パラメータに含まれる公開鍵とコンテンツMを用いて、暗号化コンテンツC1を求める。つまり、第3の観点による第3実施形態では、例えば上記非特許文献2に示す述語暗号アルゴリズムが用いられる。この差異に伴い、第3の観点による第3実施形態は、いくつかの事項で第3の観点による第1実施形態と異なる。そこで、第3の観点による第1実施形態と重複する部分については重複説明を省略し(同一の構成要素に同じ参照番号を割り当てる)、図76−図79を参照しながら第3の観点による第1実施形態と異なる部分を説明する。
第3の観点による第3実施形態では、第3の観点による第1実施形態と異なり、暗号化装置10の暗号化部13が、第1属性情報v=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ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=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ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=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ11からの公開パラメータに含まれる公開鍵とコンテンツMを用いて、暗号化コンテンツC1を求める。この差異に伴い、第3の観点による第4実施形態は、いくつかの事項で第3の観点による第1実施形態と異なる。そこで、第3の観点による第1実施形態と重複する部分については重複説明を省略し(同一の構成要素に同じ参照番号を割り当てる)、図80と図81も参照して第3の観点による第1実施形態と異なる部分を説明する。
第3の観点による第4実施形態は、第3の観点による第2実施形態と第3の観点による第3実施形態の組み合わせ形態に相当する。つまり、第3の観点による第4実施形態は、第3の観点による第1実施形態と異なり、(1)復号装置30が第2属性情報または第2述語情報を生成する、(2)暗号化装置10の暗号化部13が、第1属性情報v=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ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=(v1,…,vn)または第1述語情報w=(w1,…,wn)と、メモリ11からの公開パラメータに含まれる公開鍵とコンテンツMを用いて、暗号化コンテンツC1を求める(ステップS17b1)。
次に、ステップS17b1の処理の後、ステップS17dの処理が行われる。但し、この処理では、暗号化装置10の送信部14が、制御部による制御を受けて、暗号化コンテンツC1と、メモリ11からのスキーマペア、ポリシー、公開パラメータ、鍵生成装置のアドレスを纏めた暗号メッセージを生成する(ステップS17d)。
ステップS17dの処理に続くステップS18からステップS26bの処理までは、第3の観点による第1実施形態と同じである。
ステップS26bの処理で復号鍵を所有していない場合、復号装置30の第2述語論理情報取得部35が、メモリ31からポリシーと、スキーマペアと、公開パラメータと、利用者情報を読み込み、利用者情報から、属性情報(第2属性情報と言う)または述語情報(第2述語情報と言う)を得る(ステップS27g)。この処理において利用者情報に適用されるスキーマは、ポリシーで特定される一方のスキーマとペアになっている他方のスキーマである。ポリシーがCipher_Text_Policyである場合、Cipher_Text_Policyで特定される一方のスキーマ(述語用スキーマ)とペアになっている他方のスキーマ(属性用スキーマ)を用いて、利用者情報(属性指定情報)から第2属性情報を得る。ポリシーがKey_Policyである場合、Key_Policyで特定される一方のスキーマ(属性用スキーマ)とペアになっている他方のスキーマ(述語用スキーマ)を用いて、利用者情報(述語指定情報)から第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/MIME(Secure Multipurpose Internet Mail Extensions)に従うが、暗号メッセージ開始位置マーカから暗号メッセージ終了位置マーカまでのデータはXML(eXtensible Markup Language)などで適切なデータ構成が与えられる。
暗号化コンテンツに関するデータを暗号ブロックとする。以下、暗号ブロックの構成要素を示す。
アルゴリズム識別子ブロックには、共通鍵の暗号化に使用した述語暗号アルゴリズムとコンテンツの暗号化に使用した共通鍵暗号アルゴリズムを特定するための情報が指定される。このように、アルゴリズムを表す識別子やアルゴリズムのバージョンなどを指定できる(PE/VersionX+Camellia[Camelliaは登録商標]など)。
デジタル署名ブロックにはデジタル署名が記述される。署名アルゴリズムは既存の方式を使用できる。この項目は運用形態に応じて省略可能である。
公開パラメータ情報ブロックには、使用した公開情報パラメータを特定する情報が指定される。公開情報パラメータを特定する識別子、もしくは公開情報パラメータのデータそのものを指定することもできる。
ポリシーフィールドには、使用したポリシーを特定する識別子が指定される。
スキーマフィールドには、使用したスキーマを特定する識別子が指定されるか、もしくはスキーマのデータが記述される。
暗号情報フィールドにはコンテンツの暗号化に使用した共通鍵を述語暗号で暗号化したデータ(暗号情報)が指定される。
コンテンツファイル名、コンテンツタイプ、コンテンツファイルサイズには、それぞれ、コンテンツのファイル名、コンテンツのデータタイプ(例:text/htmlなど)、コンテンツのファイルサイズが記述される。
属性フィールド/述語フィールドにはポリシーフィールドに対応して暗号化に使用した属性/述語を表す文字列表現を指定することができる。これらの項目は運用形態に応じては省略可能である。
暗号データにはコンテンツを暗号化して生成した暗号化コンテンツが記述される。
コンテンツの基本的なデータ構成はHTML(Hyper Text Markup Language)で記述され、暗号ブロックはHTML内部のコメント文で指定される。
暗号ブロックはXML(eXtensible Markup Language)などで適切なデータ構成が与えられる。
ブラウザなどで直接閲覧しようとした場合には、コメント文は表示されず、残りの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を求める。
暗号システムに含まれるハードウェアエンティティ(クライアント装置、鍵生成装置、登録装置、管理装置、保全装置、認証装置、コンテンツサーバ装置)は、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit)〔キャッシュメモリやレジスタなどを備えていてもよい。〕、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記憶媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくなどでもよい。)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。上述の説明では、演算結果やその格納領域のアドレスなどを記憶するRAMやレジスタなどの記憶装置を単に「メモリ」とした。
ハードウェアエンティティでは、外部記憶装置〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(例えば、暗号化部、復号部、鍵生成部、第1述語論理情報取得部、第2述語論理情報取得部、制御部など)を実現する。
各実施形態で説明したハードウェアエンティティの細部においては、整数論における数値計算処理が必要となる場合があるが、整数論における数値計算処理自体は、周知技術と同様にして達成されるので、その演算処理方法などの詳細な説明は省略した(この点の技術水準を示す整数論における数値計算処理が可能なソフトウェアとしては、例えばPARI/GP、KANT/KASHなどが挙げられる。PARI/GPについては、例えばインターネット〈URL: http://pari.math.u-bordeaux.fr/〉[平成21年4月14日検索]を参照のこと。KANT/KASHについては、例えばインターネット〈URL: http://www.math.tu-berlin.de/algebra/〉[平成21年4月14日検索]を参照のこと。)。また、この点に関する文献として、参考文献Aを挙げることができる。
(参考文献A) H. Cohen, "A Course in Computational Algebraic Number Theory", GTM 138, Springer-Verlag, 1993.
(参考文献A) H. Cohen, "A Course in Computational Algebraic Number Theory", GTM 138, Springer-Verlag, 1993.
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
また、上記実施形態において説明したハードウェアエンティティにおける処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記憶媒体に記憶しておくことができる。コンピュータで読み取り可能な記憶媒体としては、例えば、磁気記憶装置、光ディスク、光磁気記憶媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記憶装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記憶媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記憶したDVD、CD−ROM等の可搬型記憶媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記憶媒体に記憶されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記憶媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
なお、図面に記載した氏名などの情報は、架空のものであり、実際の人物とは全く関係ない。
<総括>
第1の観点から本発明を総括すると、下記のとおりである。
第1の観点から本発明を総括すると、下記のとおりである。
[アイテム1]
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部とを含み、
上記鍵生成装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第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論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部とを含み、
上記復号装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含み、
上記鍵生成装置は、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。
[アイテム3]
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含み、
上記鍵生成装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、
上記復号装置は、
上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含む、
暗号システム。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含み、
上記鍵生成装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、
上記復号装置は、
上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含む、
暗号システム。
[アイテム4]
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含み、
上記復号装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含み、
上記鍵生成装置は、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含み、
上記復号装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部を含み、
上記鍵生成装置は、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。
[アイテム5]
アイテム1またはアイテム2に記載の暗号システムにおいて、
上記暗号化装置の上記暗号化部は、上記共通鍵で平文を暗号化した暗号文も求め、
上記復号装置の上記復号部は、上記復号処理で得られた上記共通鍵を用いる上記暗号文の第2復号処理、または、上記復号処理で得られた上記共通鍵の生成に用いる上記情報から生成された共通鍵を用いる上記暗号文の第2復号処理も行う、
暗号システム。
アイテム1またはアイテム2に記載の暗号システムにおいて、
上記暗号化装置の上記暗号化部は、上記共通鍵で平文を暗号化した暗号文も求め、
上記復号装置の上記復号部は、上記復号処理で得られた上記共通鍵を用いる上記暗号文の第2復号処理、または、上記復号処理で得られた上記共通鍵の生成に用いる上記情報から生成された共通鍵を用いる上記暗号文の第2復号処理も行う、
暗号システム。
[アイテム6]
アイテム1からアイテム5のいずれかに記載の暗号システムにおいて、
上記利用者に対応する上記属性指定情報および/または上記論理式指定情報は記憶媒体に記憶されており、
上記復号装置は、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記記憶媒体から取得するユーザ情報取得部を含む、
暗号システム。
アイテム1からアイテム5のいずれかに記載の暗号システムにおいて、
上記利用者に対応する上記属性指定情報および/または上記論理式指定情報は記憶媒体に記憶されており、
上記復号装置は、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記記憶媒体から取得するユーザ情報取得部を含む、
暗号システム。
[アイテム7]
アイテム1またはアイテム3に記載の暗号システムにおいて、
上記鍵生成装置が用いる、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報は、上記復号装置から取得した情報である、
暗号システム。
アイテム1またはアイテム3に記載の暗号システムにおいて、
上記鍵生成装置が用いる、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報は、上記復号装置から取得した情報である、
暗号システム。
[アイテム8]
アイテム1からアイテム6のいずれかに記載の暗号システムにおいて、
上記暗号システムは、一つまたは複数のユーザ情報管理装置をさらに含み、
各上記ユーザ情報管理装置は、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶部を含み、
上記鍵生成装置は、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記ユーザ情報管理装置から取得するユーザ情報取得部を含む、
暗号システム。
アイテム1からアイテム6のいずれかに記載の暗号システムにおいて、
上記暗号システムは、一つまたは複数のユーザ情報管理装置をさらに含み、
各上記ユーザ情報管理装置は、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶部を含み、
上記鍵生成装置は、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記ユーザ情報管理装置から取得するユーザ情報取得部を含む、
暗号システム。
[アイテム9]
アイテム1からアイテム8のいずれかに記載の暗号システムにおいて、
各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、
上記暗号システムは、一つまたは複数の変換規則情報ペア管理装置をさらに含み、
各上記変換規則情報ペア管理装置は、各上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部を含み、
上記暗号化装置は、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得部を含み、
上記復号装置は、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得部を含む、
暗号システム。
アイテム1からアイテム8のいずれかに記載の暗号システムにおいて、
各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、
上記暗号システムは、一つまたは複数の変換規則情報ペア管理装置をさらに含み、
各上記変換規則情報ペア管理装置は、各上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部を含み、
上記暗号化装置は、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得部を含み、
上記復号装置は、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得部を含む、
暗号システム。
[アイテム10]
アイテム1からアイテム8のいずれかに記載の暗号システムにおいて、
各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、
各上記鍵生成装置は、当該鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含み、
各上記暗号化装置は、少なくとも一つ以上の上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含み、
各上記復号装置は、少なくとも一つ以上の上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含む、
暗号システム。
アイテム1からアイテム8のいずれかに記載の暗号システムにおいて、
各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、
各上記鍵生成装置は、当該鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含み、
各上記暗号化装置は、少なくとも一つ以上の上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含み、
各上記復号装置は、少なくとも一つ以上の上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含む、
暗号システム。
[アイテム11]
アイテム1からアイテム10のいずれかに記載の暗号システムにおいて、
上記ポリシー情報の特定対象が上記属性用変換規則情報のみ、あるいは、上記論理式用変換規則情報のみ、あるいは、上記属性用変換規則情報および上記論理式用変換規則情報であることが、上記鍵生成装置ごとに予め定められている、
暗号システム。
アイテム1からアイテム10のいずれかに記載の暗号システムにおいて、
上記ポリシー情報の特定対象が上記属性用変換規則情報のみ、あるいは、上記論理式用変換規則情報のみ、あるいは、上記属性用変換規則情報および上記論理式用変換規則情報であることが、上記鍵生成装置ごとに予め定められている、
暗号システム。
[アイテム12]
アイテム1からアイテム11のいずれかに記載の暗号システムにおいて、
代数構造Kを有限環または有限体として、
上記第1、第2属性情報ならびに上記第1、第2論理情報は、上記Kの元を成分とするベクトルであり、
上記復号部の上記復号処理では、上記暗号情報と上記復号鍵を入力とし、上記第1論理情報と上記第2属性情報との標準内積または上記第1属性情報と上記第2論理情報との標準内積の結果に依存する演算が行われる、
暗号システム。
アイテム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論理情報の標準内積の結果に依存するように構成されている、
暗号システム。
アイテム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論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、
上記復号装置の復号部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第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論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、
上記復号装置の復号部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第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論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、
上記復号装置の復号部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第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論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、
上記復号装置の復号部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得ステップと、
上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化ステップと、
上記復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得ステップと、
上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、
上記復号装置の復号部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと
を有する暗号通信方法。
[アイテム18]
アイテム14またはアイテム15に記載の暗号通信方法において、
上記暗号化ステップは、上記暗号化部が上記共通鍵で平文を暗号化した暗号文も求める暗号文生成ステップを含み、
上記復号ステップは、上記復号部が、上記復号処理で得られた上記共通鍵を用いる上記暗号文の第2復号処理、または、上記復号処理で得られた上記共通鍵の生成に用いる上記情報から生成された共通鍵を用いる上記暗号文の第2復号処理を行う第2復号ステップを含む、
暗号通信方法。
アイテム14またはアイテム15に記載の暗号通信方法において、
上記暗号化ステップは、上記暗号化部が上記共通鍵で平文を暗号化した暗号文も求める暗号文生成ステップを含み、
上記復号ステップは、上記復号部が、上記復号処理で得られた上記共通鍵を用いる上記暗号文の第2復号処理、または、上記復号処理で得られた上記共通鍵の生成に用いる上記情報から生成された共通鍵を用いる上記暗号文の第2復号処理を行う第2復号ステップを含む、
暗号通信方法。
[アイテム19]
アイテム14からアイテム18のいずれかに記載の暗号通信方法において、
上記復号装置の取得部が、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶媒体から、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を取得する取得ステップ
を有する暗号通信方法。
アイテム14からアイテム18のいずれかに記載の暗号通信方法において、
上記復号装置の取得部が、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶媒体から、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を取得する取得ステップ
を有する暗号通信方法。
[アイテム20]
アイテム14またはアイテム16に記載の暗号通信方法において、
上記復号装置の送信部が、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記鍵生成装置に送信するユーザ情報送信ステップと、
上記鍵生成装置の受信部が、上記復号装置から上記利用者に対応する上記属性指定情報または上記論理式指定情報を受信するユーザ情報受信ステップと
を有する暗号通信方法。
アイテム14またはアイテム16に記載の暗号通信方法において、
上記復号装置の送信部が、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記鍵生成装置に送信するユーザ情報送信ステップと、
上記鍵生成装置の受信部が、上記復号装置から上記利用者に対応する上記属性指定情報または上記論理式指定情報を受信するユーザ情報受信ステップと
を有する暗号通信方法。
[アイテム21]
アイテム14からアイテム18のいずれかに記載の暗号通信方法において、
上記暗号システムは、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶部を備える、一つまたは複数のユーザ情報管理装置を含んでおり、
上記鍵生成装置のユーザ情報取得部が、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記ユーザ情報管理装置から取得するユーザ情報取得ステップと
を有する暗号通信方法。
アイテム14からアイテム18のいずれかに記載の暗号通信方法において、
上記暗号システムは、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶部を備える、一つまたは複数のユーザ情報管理装置を含んでおり、
上記鍵生成装置のユーザ情報取得部が、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記ユーザ情報管理装置から取得するユーザ情報取得ステップと
を有する暗号通信方法。
[アイテム22]
アイテム14からアイテム21のいずれかに記載の暗号通信方法において、
各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、
上記暗号システムは、各上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部を備える、一つまたは複数の変換規則情報ペア管理装置を含んでおり、
上記暗号化装置の変換規則情報ペア取得部が、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得ステップと、
上記復号装置の変換規則情報ペア取得部が、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得ステップと
を有する暗号通信方法。
アイテム14からアイテム21のいずれかに記載の暗号通信方法において、
各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、
上記暗号システムは、各上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部を備える、一つまたは複数の変換規則情報ペア管理装置を含んでおり、
上記暗号化装置の変換規則情報ペア取得部が、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得ステップと、
上記復号装置の変換規則情報ペア取得部が、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得ステップと
を有する暗号通信方法。
[アイテム23]
アイテム14からアイテム22のいずれかに記載の暗号通信方法において、
上記ポリシー情報の特定対象が上記属性用変換規則情報のみ、あるいは、上記論理式用変換規則情報のみ、あるいは、上記属性用変換規則情報および上記論理式用変換規則情報であることが、上記鍵生成装置ごとに予め定められている、
暗号通信方法。
アイテム14からアイテム22のいずれかに記載の暗号通信方法において、
上記ポリシー情報の特定対象が上記属性用変換規則情報のみ、あるいは、上記論理式用変換規則情報のみ、あるいは、上記属性用変換規則情報および上記論理式用変換規則情報であることが、上記鍵生成装置ごとに予め定められている、
暗号通信方法。
[アイテム24]
アイテム14からアイテム23のいずれかに記載の暗号通信方法において、
代数構造Kを有限環または有限体として、
上記第1、第2属性情報ならびに上記第1、第2論理情報は、上記Kの元を成分とするベクトルであり、
上記復号ステップでは、上記復号部が、上記暗号情報と上記復号鍵を入力とし、上記第1論理情報と上記第2属性情報との標準内積または上記第1属性情報と上記第2論理情報との標準内積の結果に依存する演算を行う、
暗号通信方法。
アイテム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論理情報の標準内積の結果に依存するように構成されている、
暗号通信方法。
アイテム24に記載の暗号通信方法において、
上記公開鍵は、K上の加群Vの元の集合であり、
上記秘密鍵は、上記加群Vの双対加群V*の元の集合であり、
上記復号鍵は、上記双対加群V*の元であり、
上記暗号化ステップでは、上記暗号化部が、上記公開鍵の元に対して上記第1属性情報の成分を係数とするスカラー倍を行う演算または上記公開鍵の元に対して上記第1論理情報の成分を係数とするスカラー倍を行う演算を含む演算を行うことで上記暗号情報を求め、
上記鍵生成ステップでは、上記鍵生成部が、上記秘密鍵の元に対して上記第2論理情報の成分を係数とするスカラー倍を行う演算または上記秘密鍵の元に対して上記第2属性情報の成分を係数とするスカラー倍を行う演算を含む演算を行うことで上記復号鍵を求め、
上記復号部の上記復号処理に用いられる上記演算は、双線形性を有し、上記演算の結果が、双線形性に基づき上記暗号情報と上記復号鍵から取り出された上記第1論理情報と上記第2属性情報あるいは上記第1属性情報と上記第2論理情報の標準内積の結果に依存するように構成されている、
暗号通信方法。
[アイテム26]
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける暗号化装置であって、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部と
を含む暗号化装置。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける暗号化装置であって、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部と
を含む暗号化装置。
[アイテム27]
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける暗号化装置であって、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部と
を含む暗号化装置。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける暗号化装置であって、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部と
を含む暗号化装置。
[アイテム28]
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける鍵生成装置であって、
上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部と
を含む鍵生成装置。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける鍵生成装置であって、
上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部と
を含む鍵生成装置。
[アイテム29]
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける鍵生成装置であって、
上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から生成された属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部
を含む鍵生成装置。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける鍵生成装置であって、
上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から生成された属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部
を含む鍵生成装置。
[アイテム30]
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
上記鍵生成装置が生成した復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号化装置が生成した暗号情報に対する復号処理を行う復号部
を含む復号装置。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
上記鍵生成装置が生成した復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号化装置が生成した暗号情報に対する復号処理を行う復号部
を含む復号装置。
[アイテム31]
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置が生成した復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号化装置が生成した暗号情報に対する復号処理を行う復号部
を含む復号装置。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置が生成した復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号化装置が生成した暗号情報に対する復号処理を行う復号部
を含む復号装置。
[アイテム32]
アイテム26またはアイテム27に記載の暗号化装置としてコンピュータを機能させるためのプログラム。
アイテム26またはアイテム27に記載の暗号化装置としてコンピュータを機能させるためのプログラム。
[アイテム33]
アイテム28またはアイテム29に記載の鍵生成装置としてコンピュータを機能させるためのプログラム。
アイテム28またはアイテム29に記載の鍵生成装置としてコンピュータを機能させるためのプログラム。
[アイテム34]
アイテム30またはアイテム31に記載の復号装置としてコンピュータを機能させるためのプログラム。
アイテム30またはアイテム31に記載の復号装置としてコンピュータを機能させるためのプログラム。
[アイテム35]
アイテム32に記載のプログラム、アイテム33に記載のプログラム、アイテム34に記載のプログラムのうち少なくともいずれかを格納したコンピュータ読み取り可能な記憶媒体。
アイテム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の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第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の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと、
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第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の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第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の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと、
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第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復号ステップを含む、
暗号通信方法。
アイテム1またはアイテム2に記載の暗号通信方法において、
上記暗号化ステップは、上記暗号化部が上記共通鍵で平文を暗号化した暗号文も求める暗号文生成ステップを含み、
上記復号ステップは、上記復号部が、上記復号処理で得られた上記共通鍵を用いる上記暗号文の第2復号処理、または、上記復号処理で得られた上記共通鍵の生成に用いる上記情報から生成された共通鍵を用いる上記暗号文の第2復号処理を行う第2復号ステップを含む、
暗号通信方法。
[アイテム6]
アイテム1からアイテム5のいずれかに記載の暗号通信方法において、
上記復号装置の取得部が、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶媒体から、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を取得する取得ステップ
を有する暗号通信方法。
アイテム1からアイテム5のいずれかに記載の暗号通信方法において、
上記復号装置の取得部が、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶媒体から、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を取得する取得ステップ
を有する暗号通信方法。
[アイテム7]
アイテム1またはアイテム3に記載の暗号通信方法において、
上記復号装置の送信部が、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記鍵生成装置に送信するユーザ情報送信ステップと、
上記鍵生成装置の受信部が、上記復号装置から上記利用者に対応する上記属性指定情報または上記論理式指定情報を受信するユーザ情報受信ステップと
を有する暗号通信方法。
アイテム1またはアイテム3に記載の暗号通信方法において、
上記復号装置の送信部が、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記鍵生成装置に送信するユーザ情報送信ステップと、
上記鍵生成装置の受信部が、上記復号装置から上記利用者に対応する上記属性指定情報または上記論理式指定情報を受信するユーザ情報受信ステップと
を有する暗号通信方法。
[アイテム8]
アイテム1からアイテム6のいずれかに記載の暗号通信方法において、
上記暗号システムは、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶部を備える、一つまたは複数のユーザ情報管理装置を含んでおり、
上記鍵生成装置のユーザ情報取得部が、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記ユーザ情報管理装置から取得するユーザ情報取得ステップと
を有する暗号通信方法。
アイテム1からアイテム6のいずれかに記載の暗号通信方法において、
上記暗号システムは、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶部を備える、一つまたは複数のユーザ情報管理装置を含んでおり、
上記鍵生成装置のユーザ情報取得部が、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記ユーザ情報管理装置から取得するユーザ情報取得ステップと
を有する暗号通信方法。
[アイテム9]
アイテム1からアイテム8のいずれかに記載の暗号通信方法において、
各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、
上記暗号システムは、各上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部を備える、一つまたは複数の変換規則情報ペア管理装置を含んでおり、
上記暗号化装置の変換規則情報ペア取得部が、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得ステップと、
上記復号装置の変換規則情報ペア取得部が、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得ステップと
を有する暗号通信方法。
アイテム1からアイテム8のいずれかに記載の暗号通信方法において、
各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、
上記暗号システムは、各上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部を備える、一つまたは複数の変換規則情報ペア管理装置を含んでおり、
上記暗号化装置の変換規則情報ペア取得部が、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得ステップと、
上記復号装置の変換規則情報ペア取得部が、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得ステップと
を有する暗号通信方法。
[アイテム10]
アイテム1からアイテム9のいずれかに記載の暗号通信方法において、
上記ポリシー情報の特定対象が上記属性用変換規則情報のみ、あるいは、上記論理式用変換規則情報のみ、あるいは、上記属性用変換規則情報および上記論理式用変換規則情報であることが、上記鍵生成装置ごとに予め定められている、
暗号通信方法。
アイテム1からアイテム9のいずれかに記載の暗号通信方法において、
上記ポリシー情報の特定対象が上記属性用変換規則情報のみ、あるいは、上記論理式用変換規則情報のみ、あるいは、上記属性用変換規則情報および上記論理式用変換規則情報であることが、上記鍵生成装置ごとに予め定められている、
暗号通信方法。
[アイテム11]
アイテム1からアイテム10のいずれかに記載の暗号通信方法において、
代数構造Kを有限環または有限体として、
上記第1、第2属性情報ならびに上記第1、第2論理情報は、上記Kの元を成分とするベクトルであり、
上記復号ステップでは、上記復号部が、上記暗号情報と上記復号鍵を入力とし、上記第1論理情報と上記第2属性情報との標準内積または上記第1属性情報と上記第2論理情報との標準内積の結果に依存する演算を行う、
暗号通信方法。
アイテム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論理情報の標準内積の結果に依存するように構成されている、
暗号通信方法。
アイテム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論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、
上記復号装置は、
上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部と、
上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部とを含む、
暗号システム。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部とを含み、
上記鍵生成装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、
上記復号装置は、
上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部と、
上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部とを含む、
暗号システム。
[アイテム14]
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部とを含み、
上記復号装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部と、
上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部とを含み、
上記鍵生成装置は、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部とを含み、
上記復号装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部と、
上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部とを含み、
上記鍵生成装置は、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。
[アイテム15]
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含み、
上記鍵生成装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、
上記復号装置は、
上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部と、
上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部とを含む、
暗号システム。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含み、
上記鍵生成装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含み、
上記復号装置は、
上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部と、
上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部とを含む、
暗号システム。
[アイテム16]
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含み、
上記復号装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部と、
上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部とを含み、
上記鍵生成装置は、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部とを含み、
上記復号装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号部と、
上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部とを含み、
上記鍵生成装置は、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。
[アイテム17]
アイテム13またはアイテム14に記載の暗号システムにおいて、
上記暗号化装置の上記暗号化部は、上記共通鍵で平文を暗号化した暗号文も求め、
上記復号装置の上記復号部は、上記復号処理で得られた上記共通鍵を用いる上記暗号文の第2復号処理、または、上記復号処理で得られた上記共通鍵の生成に用いる上記情報から生成された共通鍵を用いる上記暗号文の第2復号処理も行う、
暗号システム。
アイテム13またはアイテム14に記載の暗号システムにおいて、
上記暗号化装置の上記暗号化部は、上記共通鍵で平文を暗号化した暗号文も求め、
上記復号装置の上記復号部は、上記復号処理で得られた上記共通鍵を用いる上記暗号文の第2復号処理、または、上記復号処理で得られた上記共通鍵の生成に用いる上記情報から生成された共通鍵を用いる上記暗号文の第2復号処理も行う、
暗号システム。
[アイテム18]
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
上記鍵生成装置が生成した復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号化装置が生成した暗号情報に対する復号処理を行う復号部と、
上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部と
を含む復号装置。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
上記鍵生成装置が生成した復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号化装置が生成した暗号情報に対する復号処理を行う復号部と、
上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部と
を含む復号装置。
[アイテム19]
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置が生成した復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号化装置が生成した暗号情報に対する復号処理を行う復号部と、
上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部と
を含む復号装置。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置が生成した復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号化装置が生成した暗号情報に対する復号処理を行う復号部と、
上記暗号情報を当該復号装置以外の一つ以上の復号装置に転送する転送部と
を含む復号装置。
[アイテム20]
アイテム18またはアイテム19に記載の復号装置としてコンピュータを機能させるためのプログラム。
アイテム18またはアイテム19に記載の復号装置としてコンピュータを機能させるためのプログラム。
[アイテム21]
アイテム20に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
アイテム20に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
第3の観点から本発明を総括すると、下記のとおりである。なお、アイテム番号をリセットして、1から順番にアイテム番号を割り当てる。
[アイテム1]
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化部とを含み、
上記コンテンツサーバ装置は、
各上記暗号化装置から送られた上記暗号情報および上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信部とを含み、
上記鍵生成装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第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論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化部とを含み、
上記コンテンツサーバ装置は、
各上記暗号化装置から送られた上記暗号情報および上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信部とを含み、
上記復号装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、ブラウザ部と、中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行い、
上記鍵生成装置は、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。
[アイテム3]
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化部とを含み、
上記コンテンツサーバ装置は、
各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信部とを含み、
上記鍵生成装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成部とを含み、
上記復号装置は、
ブラウザ部と中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う、
暗号システム。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化部とを含み、
上記コンテンツサーバ装置は、
各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信部とを含み、
上記鍵生成装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成部とを含み、
上記復号装置は、
ブラウザ部と中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う、
暗号システム。
[アイテム4]
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化部とを含み、
上記コンテンツサーバ装置は、
各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信部とを含み、
上記復号装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、ブラウザ部と、中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行い、
上記鍵生成装置は、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。
関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化部とを含み、
上記コンテンツサーバ装置は、
各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信部とを含み、
上記復号装置は、
上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、ブラウザ部と、中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記鍵生成装置から送られた復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行い、
上記鍵生成装置は、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成部とを含む、
暗号システム。
[アイテム5]
アイテム1からアイテム4のいずれかに記載の暗号システムにおいて、
上記利用者に対応する上記属性指定情報および/または上記論理式指定情報は記憶媒体に記憶されており、
上記復号装置は、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記記憶媒体から取得するユーザ情報取得部を含む、
暗号システム。
アイテム1からアイテム4のいずれかに記載の暗号システムにおいて、
上記利用者に対応する上記属性指定情報および/または上記論理式指定情報は記憶媒体に記憶されており、
上記復号装置は、当該復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記記憶媒体から取得するユーザ情報取得部を含む、
暗号システム。
[アイテム6]
アイテム1またはアイテム3に記載の暗号システムにおいて、
上記鍵生成装置が用いる、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報は、上記復号装置から取得した情報である、
暗号システム。
アイテム1またはアイテム3に記載の暗号システムにおいて、
上記鍵生成装置が用いる、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報は、上記復号装置から取得した情報である、
暗号システム。
[アイテム7]
アイテム1からアイテム6のいずれかに記載の暗号システムにおいて、
上記暗号システムは、一つまたは複数のユーザ情報管理装置をさらに含み、
各上記ユーザ情報管理装置は、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶部を含み、
上記鍵生成装置は、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記ユーザ情報管理装置から取得するユーザ情報取得部を含む、
暗号システム。
アイテム1からアイテム6のいずれかに記載の暗号システムにおいて、
上記暗号システムは、一つまたは複数のユーザ情報管理装置をさらに含み、
各上記ユーザ情報管理装置は、上記利用者に対応する上記属性指定情報および/または上記論理式指定情報を記憶する記憶部を含み、
上記鍵生成装置は、上記復号装置の利用者に対応する上記属性指定情報または上記論理式指定情報を上記ユーザ情報管理装置から取得するユーザ情報取得部を含む、
暗号システム。
[アイテム8]
アイテム1からアイテム7のいずれかに記載の暗号システムにおいて、
各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、
上記暗号システムは、一つまたは複数の変換規則情報ペア管理装置をさらに含み、
各上記変換規則情報ペア管理装置は、各上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部を含み、
上記暗号化装置は、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得部を含み、
上記復号装置は、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得部を含む、
暗号システム。
アイテム1からアイテム7のいずれかに記載の暗号システムにおいて、
各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、
上記暗号システムは、一つまたは複数の変換規則情報ペア管理装置をさらに含み、
各上記変換規則情報ペア管理装置は、各上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部を含み、
上記暗号化装置は、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得部を含み、
上記復号装置は、上記変換規則情報ペア管理装置から上記変換規則情報ペアを取得する変換規則情報ペア取得部を含む、
暗号システム。
[アイテム9]
アイテム1からアイテム7のいずれかに記載の暗号システムにおいて、
各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、
各上記鍵生成装置は、当該鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含み、
各上記暗号化装置は、少なくとも一つ以上の上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含み、
各上記復号装置は、少なくとも一つ以上の上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含む、
暗号システム。
アイテム1からアイテム7のいずれかに記載の暗号システムにおいて、
各上記鍵生成装置につき一つまたは複数の上記変換規則情報ペアが予め定められており、
各上記鍵生成装置は、当該鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含み、
各上記暗号化装置は、少なくとも一つ以上の上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含み、
各上記復号装置は、少なくとも一つ以上の上記鍵生成装置に対応する各上記変換規則情報ペアを記憶する記憶部をさらに含む、
暗号システム。
[アイテム10]
アイテム1からアイテム9のいずれかに記載の暗号システムにおいて、
上記ポリシー情報の特定対象が上記属性用変換規則情報のみ、あるいは、上記論理式用変換規則情報のみ、あるいは、上記属性用変換規則情報および上記論理式用変換規則情報であることが、上記鍵生成装置ごとに予め定められている、
暗号システム。
アイテム1からアイテム9のいずれかに記載の暗号システムにおいて、
上記ポリシー情報の特定対象が上記属性用変換規則情報のみ、あるいは、上記論理式用変換規則情報のみ、あるいは、上記属性用変換規則情報および上記論理式用変換規則情報であることが、上記鍵生成装置ごとに予め定められている、
暗号システム。
[アイテム11]
アイテム1からアイテム10のいずれかに記載の暗号システムにおいて、
代数構造Kを有限環または有限体として、
上記第1、第2属性情報ならびに上記第1、第2論理情報は、上記Kの元を成分とするベクトルであり、
上記復号部の上記復号処理では、上記第1論理情報と上記第2属性情報との標準内積または上記第1属性情報と上記第2論理情報との標準内積の結果に依存する演算が行われる、
暗号システム。
アイテム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論理情報の標準内積の結果に依存するように構成されている、
暗号システム。
アイテム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論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、
上記鍵生成装置の送信部が、上記復号鍵を上記復号装置に送信する復号鍵送信ステップと、
上記復号装置の受信部が、上記鍵生成装置から上記復号鍵を受信する復号鍵受信ステップと、
上記復号装置の中継部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行う復号ステップと、
上記復号装置のブラウザ部が、上記暗号化コンテンツから復号されたコンテンツを表示する表示ステップと
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第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論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、
上記鍵生成装置の送信部が、上記復号鍵を上記復号装置に送信する復号鍵送信ステップと、
上記復号装置の受信部が、上記鍵生成装置から上記復号鍵を受信する復号鍵受信ステップと、
上記復号装置の中継部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行う復号ステップと、
上記復号装置のブラウザ部が、上記暗号化コンテンツから復号されたコンテンツを表示する表示ステップと
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第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論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成ステップと、
上記鍵生成装置の送信部が、上記復号鍵を上記復号装置に送信する復号鍵送信ステップと、
上記復号装置の受信部が、上記鍵生成装置から上記復号鍵を受信する復号鍵受信ステップと、
上記復号装置の中継部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う復号ステップと、
上記復号装置のブラウザ部が、上記暗号化コンテンツから復号されたコンテンツを表示する表示ステップと
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第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論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成ステップと、
上記鍵生成装置の送信部が、上記復号鍵を上記復号装置に送信する復号鍵送信ステップと、
上記復号装置の受信部が、上記鍵生成装置から上記復号鍵を受信する復号鍵受信ステップと、
上記復号装置の中継部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う復号ステップと、
上記復号装置のブラウザ部が、上記暗号化コンテンツから復号されたコンテンツを表示する表示ステップと
を有する暗号通信方法。
少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得ステップと、
上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、当該コンテンツを暗号化した暗号化コンテンツを求める暗号化ステップと、
上記暗号化装置の送信部が、上記暗号化コンテンツを上記コンテンツサーバ装置に送信する送信ステップと、
上記コンテンツサーバ装置の記憶部が、各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶ステップと、
上記復号装置のブラウザ部が、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行う取得要求処理ステップと、
上記復号装置の中継部が、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信する送信ステップと、
上記コンテンツサーバ装置の送信部が、上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信ステップと、
上記復号装置の受信部が、上記コンテンツサーバ装置から上記暗号化コンテンツを受信する受信ステップと、
上記復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得ステップと、
上記復号装置の送信部が、上記第2属性情報または上記第2論理情報を上記鍵生成装置に送信する論理情報送信ステップと、
上記鍵生成装置の受信部が、上記復号装置から上記第2属性情報または上記第2論理情報を受信する論理情報受信ステップと、
上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成ステップと、
上記鍵生成装置の送信部が、上記復号鍵を上記復号装置に送信する復号鍵送信ステップと、
上記復号装置の受信部が、上記鍵生成装置から上記復号鍵を受信する復号鍵受信ステップと、
上記復号装置の中継部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う復号ステップと、
上記復号装置のブラウザ部が、上記暗号化コンテンツから復号されたコンテンツを表示する表示ステップと
を有する暗号通信方法。
[アイテム17]
少なくとも、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵でコンテンツを暗号化した暗号化コンテンツとを求める、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、上記暗号化コンテンツと上記暗号情報を記憶している一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
ブラウザ部と中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行う、
復号装置。
少なくとも、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵でコンテンツを暗号化した暗号化コンテンツとを求める、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、上記暗号化コンテンツと上記暗号情報を記憶している一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
ブラウザ部と中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行う、
復号装置。
[アイテム18]
少なくとも、関数暗号アルゴリズムに則り、コンテンツを暗号化した暗号化コンテンツを求める、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、上記暗号化コンテンツを記憶している一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
ブラウザ部と中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う、
復号装置。
少なくとも、関数暗号アルゴリズムに則り、コンテンツを暗号化した暗号化コンテンツを求める、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、上記暗号化コンテンツを記憶している一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
ブラウザ部と中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う、
復号装置。
[アイテム19]
少なくとも、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵でコンテンツを暗号化した暗号化コンテンツとを求める一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおけるコンテンツサーバ装置であって、
各上記暗号化装置から送られた上記暗号情報および上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信部と
を含むコンテンツサーバ装置。
少なくとも、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵でコンテンツを暗号化した暗号化コンテンツとを求める一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおけるコンテンツサーバ装置であって、
各上記暗号化装置から送られた上記暗号情報および上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信部と
を含むコンテンツサーバ装置。
[アイテム20]
少なくとも、関数暗号アルゴリズムに則り、コンテンツを暗号化した暗号化コンテンツを求める一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおけるコンテンツサーバ装置であって、
各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信部と
を含むコンテンツサーバ装置。
少なくとも、関数暗号アルゴリズムに則り、コンテンツを暗号化した暗号化コンテンツを求める一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおけるコンテンツサーバ装置であって、
各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信部と
を含むコンテンツサーバ装置。
[アイテム21]
アイテム17またはアイテム18に記載の復号装置としてコンピュータを機能させるためのプログラム。
アイテム17またはアイテム18に記載の復号装置としてコンピュータを機能させるためのプログラム。
[アイテム22]
アイテム19またはアイテム20に記載のコンテンツサーバ装置としてコンピュータを機能させるためのプログラム。
アイテム19またはアイテム20に記載のコンテンツサーバ装置としてコンピュータを機能させるためのプログラム。
[アイテム23]
アイテム21に記載のプログラムおよび/またはアイテム22に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
アイテム21に記載のプログラムおよび/またはアイテム22に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
Claims (39)
- 関数暗号を用いる暗号システムであって、少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置は、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第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の復号装置以外の第2の復号装置に転送する転送ステップと、
上記第2の復号装置の受信部が、上記暗号情報を上記第1の復号装置から受信する受信ステップと、
上記鍵生成装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記第2の復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第3属性情報と言う)または論理情報(以下、第3論理情報と言う)を得る第3命題論理情報取得ステップと、
上記鍵生成装置の鍵生成部が、上記第3属性情報または上記第3論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる第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の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと、
を有する暗号通信方法。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第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の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと
を有する暗号通信方法。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、複数の復号装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第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の復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号情報に対する復号処理を行う復号ステップと、
を有する暗号通信方法。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得ステップと、
上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化ステップと、
上記暗号化装置の送信部が、上記暗号化コンテンツとこれに対応する上記暗号情報を上記コンテンツサーバ装置に送信する送信ステップと、
上記コンテンツサーバ装置の記憶部が、各上記暗号化装置から送られた上記暗号情報と上記暗号化コンテンツを記憶する記憶ステップと、
上記復号装置のブラウザ部が、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行う取得要求処理ステップと、
上記復号装置の中継部が、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信する送信ステップと、
上記コンテンツサーバ装置の送信部が、上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信ステップと、
上記復号装置の受信部が、上記コンテンツサーバ装置から上記暗号化コンテンツと上記暗号情報を受信する受信ステップと、
上記鍵生成装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得ステップと、
上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号情報の復号に用いる復号鍵を生成する鍵生成ステップと、
上記鍵生成装置の送信部が、上記復号鍵を上記復号装置に送信する復号鍵送信ステップと、
上記復号装置の受信部が、上記鍵生成装置から上記復号鍵を受信する復号鍵受信ステップと、
上記復号装置の中継部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行う復号ステップと、
上記復号装置のブラウザ部が、上記暗号化コンテンツから復号されたコンテンツを表示する表示ステップと
を有する暗号通信方法。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、関数暗号を用いる暗号システムにおける暗号通信方法であって、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められており、
上記暗号化装置の第1命題論理情報取得部が、上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得ステップと、
上記暗号化装置の暗号化部が、上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、コンテンツとを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵で当該コンテンツを暗号化した暗号化コンテンツとを求める暗号化ステップと、
上記暗号化装置の送信部が、上記暗号化コンテンツとこれに対応する上記暗号情報を上記コンテンツサーバ装置に送信する送信ステップと、
上記コンテンツサーバ装置の記憶部が、各上記暗号化装置から送られた上記暗号情報および上記暗号化コンテンツを記憶する記憶ステップと、
上記復号装置のブラウザ部が、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行う取得要求処理ステップと、
上記復号装置の中継部が、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信する送信ステップと、
上記コンテンツサーバ装置の送信部が、上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信ステップと、
上記復号装置の受信部が、上記コンテンツサーバ装置から上記暗号化コンテンツと上記暗号情報を受信する受信ステップと、
上記復号装置の第2命題論理情報取得部が、上記ポリシー情報で特定される上記一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得ステップと、
上記復号装置の送信部が、上記第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論理情報を上記鍵生成装置に送信する論理情報送信ステップと、
上記鍵生成装置の受信部が、上記復号装置から上記第2属性情報または上記第2論理情報を受信する論理情報受信ステップと、
上記鍵生成装置の鍵生成部が、上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、上記暗号化コンテンツの復号に用いる復号鍵を生成する鍵生成ステップと、
上記鍵生成装置の送信部が、上記復号鍵を上記復号装置に送信する復号鍵送信ステップと、
上記復号装置の受信部が、上記鍵生成装置から上記復号鍵を受信する復号鍵受信ステップと、
上記復号装置の中継部が、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う復号ステップと、
上記復号装置のブラウザ部が、上記暗号化コンテンツから復号されたコンテンツを表示する表示ステップと
を有する暗号通信方法。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける暗号化装置であって、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵とを用いて、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報とを求める暗号化部と
を含む暗号化装置。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける暗号化装置であって、
上記変換規則情報ペアの中から選択された一つの変換規則情報ペアに含まれる上記属性用変換規則情報と上記論理式用変換規則情報のうち、当該暗号化装置の入力情報が属性指定情報または論理式指定情報のいずれであるかに応じて上記ポリシー情報と共に選択されたいずれか一方の変換規則情報を用いて、当該入力情報から属性情報(以下、第1属性情報と言う)または論理情報(以下、第1論理情報と言う)を得る第1命題論理情報取得部と、
上記第1属性情報または上記第1論理情報と、上記鍵生成装置の公開鍵と、平文とを用いて、関数暗号アルゴリズムに則り、当該平文に対応する暗号情報を求める暗号化部と
を含む暗号化装置。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける鍵生成装置であって、
上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記第2属性情報または上記第2論理情報と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成部と
を含む鍵生成装置。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける鍵生成装置であって、
上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、上記復号装置の利用者に対応する属性指定情報または論理式指定情報から生成された属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)と、当該鍵生成装置の秘密鍵とを用いて、暗号情報の復号に用いる復号鍵を生成する鍵生成部
を含む鍵生成装置。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
上記鍵生成装置が生成した復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号化装置が生成した暗号情報に対する復号処理を行う復号部
を含む復号装置。 - 少なくとも、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
上記ポリシー情報で特定される一方の変換規則情報とペアになっている他方の変換規則情報を用いて、当該復号装置の利用者に対応する属性指定情報または論理式指定情報から、属性情報(以下、第2属性情報と言う)または論理情報(以下、第2論理情報と言う)を得る第2命題論理情報取得部と、
上記鍵生成装置が生成した復号鍵を用いて、関数暗号アルゴリズムに則り、上記暗号化装置が生成した暗号情報に対する復号処理を行う復号部
を含む復号装置。 - 請求項28または請求項29に記載の復号装置において、
上記暗号システムが複数の復号装置を含む場合に、
当該復号装置以外の一つ以上の復号装置に上記暗号情報を転送する転送部をさらに含む復号装置。 - 少なくとも、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵でコンテンツを暗号化した暗号化コンテンツとを求める、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、上記暗号化コンテンツと上記暗号情報を記憶している一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
ブラウザ部と中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号情報に対する復号処理と、当該復号処理で得られた上記共通鍵を用いて、上記コンテンツサーバ装置から取得した上記暗号化コンテンツを復号するコンテンツ取得処理を行う、
復号装置。 - 少なくとも、関数暗号アルゴリズムに則り、コンテンツを暗号化した暗号化コンテンツを求める、一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、上記暗号化コンテンツを記憶している一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおける復号装置であって、
ブラウザ部と中継部とを含み、
上記ブラウザ部は、上記コンテンツサーバ装置に対する上記暗号化コンテンツの取得要求処理を行い、上記暗号化コンテンツから復号されたコンテンツを表示し、
上記中継部は、上記ブラウザ部からの上記取得要求を上記コンテンツサーバ装置へ送信し、上記復号鍵を用いて、関数暗号アルゴリズムに則り、上記コンテンツサーバ装置から取得した上記暗号化コンテンツに対する復号処理を行う、
復号装置。 - 少なくとも、関数暗号アルゴリズムに則り、共通鍵と、当該共通鍵または当該共通鍵の生成に用いる情報に対応する暗号情報と、当該共通鍵でコンテンツを暗号化した暗号化コンテンツとを求める一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおけるコンテンツサーバ装置であって、
各上記暗号化装置から送られた上記暗号情報および上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツとこれに対応する上記暗号情報を当該復号装置に送信する送信部と
を含むコンテンツサーバ装置。 - 少なくとも、関数暗号アルゴリズムに則り、コンテンツを暗号化した暗号化コンテンツを求める一つまたは複数の暗号化装置と、一つまたは複数の鍵生成装置と、一つまたは複数の復号装置と、一つまたは複数のコンテンツサーバ装置とを含み、
各上記鍵生成装置につき秘密鍵とこの秘密鍵に対応する公開鍵が予め定められており、
属性を指定する情報(以下、属性指定情報と言う)を関数暗号アルゴリズムに用いられる属性情報に変換するための変換規則を規定している情報(以下、属性用変換規則情報と言う)と論理式を指定する情報(以下、論理式指定情報と言う)を当該関数暗号アルゴリズムに用いられる論理情報に変換するための変換規則を規定している情報(以下、論理式用変換規則情報と言う)とのペアである変換規則情報ペアが予め一つまたは複数定められており、
上記属性用変換規則情報と上記論理式用変換規則情報のうちいずれであるかを特定するためのポリシー情報が予め定められている、関数暗号を用いる暗号システムにおけるコンテンツサーバ装置であって、
各上記暗号化装置から送られた上記暗号化コンテンツを記憶する記憶部と、
上記復号装置からの要求に応じて上記暗号化コンテンツを当該復号装置に送信する送信部と
を含むコンテンツサーバ装置。 - 請求項24または請求項25に記載の暗号化装置としてコンピュータを機能させるためのプログラム。
- 請求項26または請求項27に記載の鍵生成装置としてコンピュータを機能させるためのプログラム。
- 請求項28、29、31、32のいずれかに記載の復号装置としてコンピュータを機能させるためのプログラム。
- 請求項33または請求項34に記載のコンテンツサーバ装置としてコンピュータを機能させるためのプログラム。
- 請求項35に記載のプログラム、請求項36に記載のプログラム、請求項37に記載のプログラム、請求項38に記載のプログラム、のうち少なくともいずれかを格納したコンピュータ読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012525451A JP5422053B2 (ja) | 2010-07-23 | 2011-07-22 | 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010166401 | 2010-07-23 | ||
JP2010166401 | 2010-07-23 | ||
PCT/JP2011/066716 WO2012011575A1 (ja) | 2010-07-23 | 2011-07-22 | 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 |
JP2012525451A JP5422053B2 (ja) | 2010-07-23 | 2011-07-22 | 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2012011575A1 JPWO2012011575A1 (ja) | 2013-09-09 |
JP5422053B2 true JP5422053B2 (ja) | 2014-02-19 |
Family
ID=45496992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012525451A Active JP5422053B2 (ja) | 2010-07-23 | 2011-07-22 | 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8995660B2 (ja) |
EP (2) | EP2787680B1 (ja) |
JP (1) | JP5422053B2 (ja) |
KR (1) | KR101418254B1 (ja) |
CN (1) | CN103004130B (ja) |
WO (1) | WO2012011575A1 (ja) |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8683232B2 (en) * | 2011-05-18 | 2014-03-25 | Cpo Technologies Corporation | Secure user/host authentication |
JP5677273B2 (ja) * | 2011-11-18 | 2015-02-25 | 三菱電機株式会社 | 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置 |
JP5680007B2 (ja) | 2012-03-06 | 2015-03-04 | 三菱電機株式会社 | 暗号システム、暗号方法及び暗号プログラム |
WO2013190549A1 (en) * | 2012-06-18 | 2013-12-27 | Secure Islands Technologies Ltd. | System and method to access content of encrypted data items in unsupported digital environments |
CN105408884B (zh) | 2013-07-26 | 2019-03-29 | 慧与发展有限责任合伙企业 | 基于上下文的数据查看 |
US9350550B2 (en) | 2013-09-10 | 2016-05-24 | M2M And Iot Technologies, Llc | Power management and security for wireless modules in “machine-to-machine” communications |
US9100175B2 (en) | 2013-11-19 | 2015-08-04 | M2M And Iot Technologies, Llc | Embedded universal integrated circuit card supporting two-factor authentication |
US10498530B2 (en) | 2013-09-27 | 2019-12-03 | Network-1 Technologies, Inc. | Secure PKI communications for “machine-to-machine” modules, including key derivation by modules and authenticating public keys |
US9607177B2 (en) * | 2013-09-30 | 2017-03-28 | Qualcomm Incorporated | Method for securing content in dynamically allocated memory using different domain-specific keys |
US10700856B2 (en) | 2013-11-19 | 2020-06-30 | Network-1 Technologies, Inc. | Key derivation for a module using an embedded universal integrated circuit card |
WO2015149836A1 (en) * | 2014-03-31 | 2015-10-08 | Irdeto B.V. | Cryptographic chip and related methods |
US10944545B2 (en) | 2014-03-31 | 2021-03-09 | Irdeto B.V. | Obfuscated performance of a predetermined function |
US9672342B2 (en) | 2014-05-05 | 2017-06-06 | Analog Devices, Inc. | System and device binding metadata with hardware intrinsic properties |
US10432409B2 (en) | 2014-05-05 | 2019-10-01 | Analog Devices, Inc. | Authentication system and device including physical unclonable function and threshold cryptography |
US9946858B2 (en) * | 2014-05-05 | 2018-04-17 | Analog Devices, Inc. | Authentication system and device including physical unclonable function and threshold cryptography |
EP3185234B1 (en) * | 2014-10-07 | 2019-01-30 | Nippon Telegraph and Telephone Corporation | Secure computation system and relay device, and method, program, and recording medium thereof |
JP6081036B2 (ja) * | 2014-12-05 | 2017-02-15 | 三菱電機株式会社 | 復号条件追加装置及び暗号システム |
US9853977B1 (en) | 2015-01-26 | 2017-12-26 | Winklevoss Ip, Llc | System, method, and program product for processing secure transactions within a cloud computing system |
US10560440B2 (en) | 2015-03-12 | 2020-02-11 | Fornetix Llc | Server-client PKI for applied key management system and process |
US10630686B2 (en) | 2015-03-12 | 2020-04-21 | Fornetix Llc | Systems and methods for organizing devices in a policy hierarchy |
US10965459B2 (en) | 2015-03-13 | 2021-03-30 | Fornetix Llc | Server-client key escrow for applied key management system and process |
US10020939B2 (en) | 2015-04-28 | 2018-07-10 | Korea University Research And Business Foundation | Device, server and method for providing secret key encryption and restoration |
US10917239B2 (en) | 2016-02-26 | 2021-02-09 | Fornetix Llc | Policy-enabled encryption keys having ephemeral policies |
US10860086B2 (en) | 2016-02-26 | 2020-12-08 | Fornetix Llc | Policy-enabled encryption keys having complex logical operations |
US10931653B2 (en) | 2016-02-26 | 2021-02-23 | Fornetix Llc | System and method for hierarchy manipulation in an encryption key management system |
US10880281B2 (en) | 2016-02-26 | 2020-12-29 | Fornetix Llc | Structure of policies for evaluating key attributes of encryption keys |
US11063980B2 (en) | 2016-02-26 | 2021-07-13 | Fornetix Llc | System and method for associating encryption key management policy with device activity |
US9838203B1 (en) * | 2016-09-28 | 2017-12-05 | International Business Machines Corporation | Integrity protected trusted public key token with performance enhancements |
WO2018070932A1 (en) * | 2016-10-14 | 2018-04-19 | Huawei International Pte. Ltd. | System and method for querying an encrypted database for documents satisfying an expressive keyword access structure |
US10425235B2 (en) | 2017-06-02 | 2019-09-24 | Analog Devices, Inc. | Device and system with global tamper resistance |
US10958452B2 (en) | 2017-06-06 | 2021-03-23 | Analog Devices, Inc. | System and device including reconfigurable physical unclonable functions and threshold cryptography |
US10193690B1 (en) * | 2017-09-29 | 2019-01-29 | U.S. Bancorp, National Association | Systems and methods to secure data using computer system attributes |
WO2019224912A1 (ja) * | 2018-05-22 | 2019-11-28 | 三菱電機株式会社 | 車両通信装置、車両アクセス制御システム、管理装置、車両アクセス制御方法、および車両アクセス制御プログラム |
US10922423B1 (en) * | 2018-06-21 | 2021-02-16 | Amazon Technologies, Inc. | Request context generator for security policy validation service |
CN109379178B (zh) * | 2018-11-15 | 2022-01-11 | 成都卫士通信息产业股份有限公司 | 加解密装置构建方法、系统、介质及设备 |
US11451369B2 (en) * | 2019-04-16 | 2022-09-20 | Nec Corporation | Method and system for multi-authority controlled functional encryption |
US11128454B2 (en) | 2019-05-30 | 2021-09-21 | Bong Mann Kim | Quantum safe cryptography and advanced encryption and key exchange (AEKE) method for symmetric key encryption/exchange |
CN110661883A (zh) * | 2019-10-18 | 2020-01-07 | 北京师范大学 | 一种数据传输装置和方法 |
KR102364047B1 (ko) * | 2019-11-19 | 2022-02-16 | 기초과학연구원 | 구조화된 행렬들에 기초한 공개키 암호를 위한 방법과 장치 |
US11153080B1 (en) * | 2020-07-29 | 2021-10-19 | John A. Nix | Network securing device data using two post-quantum cryptography key encapsulation mechanisms |
US11316673B2 (en) | 2020-09-11 | 2022-04-26 | Seagate Technology Llc | Privacy preserving secret sharing from novel combinatorial objects |
US11362816B2 (en) | 2020-09-11 | 2022-06-14 | Seagate Technology Llc | Layered secret sharing with flexible access structures |
CN114157488B (zh) * | 2021-12-03 | 2023-06-16 | 北京明朝万达科技股份有限公司 | 密钥获取方法、装置、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090080658A1 (en) * | 2007-07-13 | 2009-03-26 | Brent Waters | Method and apparatus for encrypting data for fine-grained access control |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7865742B2 (en) | 2006-07-12 | 2011-01-04 | Palo Alto Research Center Incorporated | Method, apparatus, and program product for enabling access to flexibly redacted content |
KR101351789B1 (ko) | 2009-04-24 | 2014-01-15 | 니뽄 덴신 덴와 가부시키가이샤 | 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체 |
-
2011
- 2011-07-22 US US13/810,797 patent/US8995660B2/en active Active
- 2011-07-22 JP JP2012525451A patent/JP5422053B2/ja active Active
- 2011-07-22 CN CN201180035439.2A patent/CN103004130B/zh active Active
- 2011-07-22 KR KR1020137001061A patent/KR101418254B1/ko active IP Right Grant
- 2011-07-22 WO PCT/JP2011/066716 patent/WO2012011575A1/ja active Application Filing
- 2011-07-22 EP EP14164754.5A patent/EP2787680B1/en active Active
- 2011-07-22 EP EP11809745.0A patent/EP2582086B1/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090080658A1 (en) * | 2007-07-13 | 2009-03-26 | Brent Waters | Method and apparatus for encrypting data for fine-grained access control |
Non-Patent Citations (3)
Title |
---|
JPN6013055267; Katz, J. et al.: 'Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products' Cryptology ePrint Archive Report 2007/404, 20080707, p.1-29 * |
JPN6013055268; Lewko A. et al.: 'Fully Secure Functional Encryption: Attribute-Based Encryption and (Hierarchical) Inner Product Encr' Cryptology ePrint Archive Report 2010/110, 20110329, p.1-56 * |
JPN6013055270; Attrapadung, N. and Imai, H.: 'Dual-Policy Attribute Based Encryption' Lecture Notes in Computer Science Vol.5536, 2009, p.168-185 * |
Also Published As
Publication number | Publication date |
---|---|
US20130114810A1 (en) | 2013-05-09 |
EP2787680A1 (en) | 2014-10-08 |
KR20130024951A (ko) | 2013-03-08 |
EP2582086A4 (en) | 2013-08-21 |
EP2787680B1 (en) | 2017-03-29 |
CN103004130B (zh) | 2015-03-11 |
US8995660B2 (en) | 2015-03-31 |
WO2012011575A1 (ja) | 2012-01-26 |
CN103004130A (zh) | 2013-03-27 |
EP2582086B1 (en) | 2016-03-23 |
KR101418254B1 (ko) | 2014-07-10 |
EP2582086A1 (en) | 2013-04-17 |
JPWO2012011575A1 (ja) | 2013-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5422053B2 (ja) | 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 | |
JP5253567B2 (ja) | 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 | |
JP5291795B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、セキュリティ方法、プログラム及び記録媒体 | |
JP5466763B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム、及び記録媒体 | |
Chen et al. | A restricted proxy re‐encryption with keyword search for fine‐grained data access control in cloud storage | |
Huang et al. | Enabled/disabled predicate encryption in clouds | |
JP2012256008A (ja) | 評価対象情報自己評価システム、評価対象情報自己評価方法、装置、プログラム | |
Hyla et al. | A practical certificate and identity based encryption scheme and related security architecture | |
Meddah et al. | Scalable lightweight ABAC scheme for secure sharing PHR in cloud computing | |
Sharmila Deva Selvi et al. | An efficient certificateless proxy re-encryption scheme without pairing | |
Wang et al. | More efficient CCA‐secure unidirectional proxy re‐encryption schemes without random oracles | |
JP5612494B2 (ja) | 関数暗号を用いた時限暗号システム、時限暗号方法、装置、プログラム | |
JP5097137B2 (ja) | 暗号通信システム、端末装置、秘密鍵生成方法及びプログラム | |
Roy | A homomorphism based zero knowledge proof of authentication for chinese remainder theorem based secret sharing | |
Yu et al. | Achieving flexibility for ABE with outsourcing via proxy re-encryption | |
Vivek et al. | Efficient conditional proxy reencryption with chosen cipher text security | |
Partala | Symmetric blind decryption with perfect secrecy | |
Jahid | Social networking: Security, privacy, and applications | |
Su | Pairing-based constructions: efficient revocation, compact ciphertexts and generic transformation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131112 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131122 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5422053 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |