JP2016134826A - Key delivery management device, terminal device, key delivery system, and program - Google Patents

Key delivery management device, terminal device, key delivery system, and program Download PDF

Info

Publication number
JP2016134826A
JP2016134826A JP2015009271A JP2015009271A JP2016134826A JP 2016134826 A JP2016134826 A JP 2016134826A JP 2015009271 A JP2015009271 A JP 2015009271A JP 2015009271 A JP2015009271 A JP 2015009271A JP 2016134826 A JP2016134826 A JP 2016134826A
Authority
JP
Japan
Prior art keywords
information
seed value
new
secret
key
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.)
Granted
Application number
JP2015009271A
Other languages
Japanese (ja)
Other versions
JP6259402B2 (en
Inventor
一樹 米山
Kazuki Yoneyama
一樹 米山
麗生 吉田
Reisei Yoshida
麗生 吉田
鉄太郎 小林
Tetsutaro Kobayashi
鉄太郎 小林
祐人 川原
Yuto Kawahara
祐人 川原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015009271A priority Critical patent/JP6259402B2/en
Publication of JP2016134826A publication Critical patent/JP2016134826A/en
Application granted granted Critical
Publication of JP6259402B2 publication Critical patent/JP6259402B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a key delivery technology which has high security against spoofing on a communication path and with which calculation and communication costs of a terminal device are small.SOLUTION: A key delivery management device 11 encrypts a first seed value K1 according to a function encryption method, acquires cryptogram CT'i decryptable by a secret key corresponding to information corresponding to a time belonging to an effective time section, and outputs the cryptogram and common information to a terminal device 12-i. The terminal device 12-i uses a secret key corresponding to the information corresponding to the time belonging to the effective time section, decrypts the cryptogram according to the function encryption method to acquire the first seed value K1, and acquires concealing common information SCi corresponding to the common information and an inverse element of a terminal secret value to output the concealing common information SCi. The key delivery management device acquires concealing information SK2, i of a second seed value corresponding to the concealing common information and a management secret value xs and outputs the concealing information SK2, i. The terminal device acquires a second seed value K2 corresponding to concealing information of the second seed value and a terminal secret value, and acquires a common key K corresponding to information including the first seed value and information including the second seed value.SELECTED DRAWING: Figure 3

Description

本発明は、情報セキュリティ技術の応用技術に関し、特に、共通鍵を共有する鍵配送方式に関する。   The present invention relates to an application technology of information security technology, and more particularly to a key distribution method for sharing a common key.

従来の動的鍵配送方式の一つにSTW方式がある(例えば、非特許文献1参照)。STW方式では、ユーザ集合に属する端末装置がピア・ツー・ピアで通信を行い、これらの端末装置が共通のセッション鍵(共通鍵)を共有する。既存のユーザ集合に新たな端末装置を追加した場合や、既存のユーザ集合から端末装置を削除した場合には、更新後のユーザ集合に応じた新たな共通鍵が生成される。   One conventional dynamic key distribution method is the STW method (see, for example, Non-Patent Document 1). In the STW method, terminal devices belonging to a user set perform peer-to-peer communication, and these terminal devices share a common session key (common key). When a new terminal device is added to an existing user set or when a terminal device is deleted from an existing user set, a new common key corresponding to the updated user set is generated.

Michael Steiner, Gene Tsudik, Michael Waidner, “Diffie-Hellman Key Distribution Extended to Group Communication,” ACM Conference on Computer and Communications Security 1996, 31-37.Michael Steiner, Gene Tsudik, Michael Waidner, “Diffie-Hellman Key Distribution Extended to Group Communication,” ACM Conference on Computer and Communications Security 1996, 31-37.

上記の既存技術では、通信路の盗聴のみを行う攻撃者に対しては、共通鍵の情報が漏れないが、通信路上で改ざんを行うような攻撃者に対しては成りすましを防げない。また、鍵配送時に一部の端末装置がブロードキャストを行う必要があり、端末装置数が増大するとそれらの端末装置の計算・通信コストが増大するという問題がある。   In the above existing technology, information on the common key is not leaked to an attacker who only eavesdrops on the communication path, but impersonation cannot be prevented for an attacker who performs tampering on the communication path. Also, there is a problem that some terminal devices need to broadcast at the time of key distribution, and when the number of terminal devices increases, the calculation / communication cost of those terminal devices increases.

本発明の課題は、通信路上での成り済ましに対する安全性が高く、端末装置の計算・通信コストが小さな鍵配送技術を提供することである。   An object of the present invention is to provide a key distribution technique that is highly secure against impersonation on a communication path and has a low calculation / communication cost of a terminal device.

鍵配送管理装置は、関数暗号方式に則って第1シード値を暗号化し、有効時間区間に属する時間に対応する情報を含む情報に対応する秘密鍵で復号可能な暗号文を得、暗号文と共有情報とを端末装置に出力する。端末装置は、前記有効時間区間に属する時間に対応する情報を含む情報に対応する秘密鍵を用い、前記関数暗号方式に則って前記暗号文を復号して第1シード値を得、前記共有情報と端末秘密値の逆元とに応じた秘匿化共有情報を得て出力する。鍵配送管理装置は、前記秘匿化共有情報と管理秘密値とに応じた第2シード値の秘匿化情報を得て出力する。端末装置は、前記第2シード値の秘匿化情報と前記端末秘密値とに応じた第2シード値を得、前記第1シード値を含む情報と前記第2シード値を含む情報とに対応する共通鍵を得る。   The key distribution management device encrypts the first seed value in accordance with the function encryption method, obtains a ciphertext that can be decrypted with a secret key corresponding to information including information corresponding to the time belonging to the valid time interval, The shared information is output to the terminal device. The terminal device obtains a first seed value by decrypting the ciphertext according to the functional encryption method using a secret key corresponding to information including information corresponding to the time belonging to the valid time interval, and obtaining the first seed value And obtain concealment shared information according to the inverse of the terminal secret value. The key distribution management device obtains and outputs the second seed value concealment information corresponding to the concealment shared information and the management secret value. The terminal device obtains a second seed value corresponding to the concealment information of the second seed value and the terminal secret value, and corresponds to the information including the first seed value and the information including the second seed value. Get a common key.

以上より、通信路上での成り済ましに対する安全性が高く、端末装置の計算・通信コストが小さな鍵配送が可能となる。   As described above, it is possible to distribute keys with high safety against impersonation on a communication path and low calculation and communication costs of the terminal device.

図1は、実施形態の鍵配送システムの機能構成を例示したブロック図である。FIG. 1 is a block diagram illustrating a functional configuration of the key distribution system according to the embodiment. 図2Aは、第1実施形態の鍵配送管理装置の機能構成を例示したブロック図であり、図2Bは、第1実施形態の端末装置の機能構成を例示したブロック図である。FIG. 2A is a block diagram illustrating a functional configuration of the key distribution management device according to the first embodiment, and FIG. 2B is a block diagram illustrating a functional configuration of the terminal device according to the first embodiment. 図3は、第1実施形態の鍵配送処理を例示するためのシーケンス図である。FIG. 3 is a sequence diagram for illustrating the key distribution process according to the first embodiment. 図4は、第1実施形態のユーザ追加処理を例示するためのシーケンス図である。FIG. 4 is a sequence diagram for illustrating user addition processing according to the first embodiment. 図5Aは、第1実施形態の有効時間区間の更新処理を例示するためのシーケンス図であり、図5Bは、第1実施形態のユーザ削除処理を例示するためのシーケンス図である。FIG. 5A is a sequence diagram for illustrating the updating process of the effective time interval according to the first embodiment, and FIG. 5B is a sequence diagram for illustrating the user deletion process according to the first embodiment. 図6は、第2実施形態の鍵配送管理装置の機能構成を例示したブロック図である。FIG. 6 is a block diagram illustrating a functional configuration of the key distribution management device according to the second embodiment. 図7は、第2実施形態の端末装置の機能構成を例示したブロック図である。FIG. 7 is a block diagram illustrating a functional configuration of the terminal device according to the second embodiment. 図8は、第2実施形態の秘密鍵配送処理を例示するためのシーケンス図である。FIG. 8 is a sequence diagram for illustrating a secret key distribution process according to the second embodiment. 図9は、第2実施形態の鍵配送処理を例示するためのシーケンス図である。FIG. 9 is a sequence diagram for illustrating a key distribution process according to the second embodiment. 図10は、第2実施形態の鍵配送処理を例示するためのシーケンス図である。FIG. 10 is a sequence diagram for illustrating the key distribution process according to the second embodiment. 図11は、第2実施形態の鍵配送処理を例示するためのシーケンス図である。FIG. 11 is a sequence diagram for illustrating a key distribution process according to the second embodiment. 図12は、第2実施形態の端末追加処理を例示するためのシーケンス図である。FIG. 12 is a sequence diagram for illustrating terminal addition processing according to the second embodiment. 図13は、第2実施形態の端末追加処理を例示するためのシーケンス図である。FIG. 13 is a sequence diagram for illustrating terminal addition processing according to the second embodiment. 図14は、第2実施形態の端末追加処理を例示するためのシーケンス図である。FIG. 14 is a sequence diagram for illustrating terminal addition processing according to the second embodiment. 図15は、第2実施形態の端末削除処理を例示するためのシーケンス図である。FIG. 15 is a sequence diagram for illustrating terminal deletion processing according to the second embodiment.

以下、図面を参照して本発明の実施形態を説明する。
[第1実施形態]
まず、本発明の第1実施形態を説明する。
<構成>
図1に例示するように、本形態の鍵配送システム1は、端末装置12−1〜12−Nと鍵配送管理装置11とを有する。ただし、Nは3以上の整数である。端末装置12−1〜12−Nと鍵配送管理装置11とはインターネット等の安全ではない通信路を通じて通信可能に構成されている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[First Embodiment]
First, a first embodiment of the present invention will be described.
<Configuration>
As illustrated in FIG. 1, the key distribution system 1 of this embodiment includes terminal devices 12-1 to 12 -N and a key distribution management device 11. However, N is an integer greater than or equal to 3. The terminal devices 12-1 to 12-N and the key distribution management device 11 are configured to be able to communicate through an insecure communication path such as the Internet.

図2Aに例示するように、本形態の鍵配送管理装置11は、制御部110と配送処理部111,112と通信部118と記憶部119とを有する。図2Bに例示するように、本形態の端末装置12−hは、制御部120−hと処理部121−h〜124−hと通信部128−hと記憶部129−hとを有する。ただし、h∈[1,N]である。[1,N]は1以上N以下の整数からなる集合{1,・・・,N}を表す。各装置は、例えば、通信装置、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。また、各装置は自らが備える制御部110,120−hの制御に基づいて各処理を実行する。各装置の各処理で得られたデータは、逐一、それぞれが備える記憶部119,129−hに格納され、必要に応じて読み出されて使用される。   As illustrated in FIG. 2A, the key distribution management device 11 of this embodiment includes a control unit 110, distribution processing units 111 and 112, a communication unit 118, and a storage unit 119. As illustrated in FIG. 2B, the terminal device 12-h according to the present embodiment includes a control unit 120-h, processing units 121-h to 124-h, a communication unit 128-h, and a storage unit 129-h. However, hε [1, N]. [1, N] represents a set {1,..., N} composed of integers of 1 to N. Each device includes, for example, a communication device, a processor (hardware processor) such as a CPU (central processing unit), and a memory such as a random-access memory (RAM) and a read-only memory (ROM). An apparatus configured by a computer executing a predetermined program. The computer may include a single processor and memory, or may include a plurality of processors and memory. This program may be installed in a computer, or may be recorded in a ROM or the like in advance. In addition, some or all of the processing units are configured using an electronic circuit that realizes a processing function without using a program, instead of an electronic circuit (circuitry) that realizes a functional configuration by reading a program like a CPU. May be. In addition, an electronic circuit constituting one device may include a plurality of CPUs. In addition, each device executes each process based on the control of the control units 110 and 120-h included in the respective devices. Data obtained by each process of each device is stored in the storage units 119 and 129-h included in each device, and read and used as necessary.

<鍵配送処理>
以下、端末装置12−1〜12−Nからなる集合の部分集合(ユーザ集合)である端末装置12−σ(1)〜12−σ(n)がセッションを立ち上げ、共通鍵を共有する処理を説明する。ただし、nは2以上N以下の整数であり、{σ(1),・・・,σ(n)}⊂{1,・・・,N}であるとする。以降、記述を簡単にするために、一般性を失うことなく(σ(1),・・・,σ(n))=(1,・・・,n)と仮定することにする。
<Key distribution process>
Hereinafter, processing in which terminal devices 12-σ (1) to 12-σ (n), which are a subset (user set) of the set of terminal devices 12-1 to 12-N, establish a session and share a common key Will be explained. However, n is an integer greater than or equal to 2 and less than or equal to N, and is assumed to be {σ (1),..., Σ (n)} ⊂ {1,. In the following, in order to simplify the description, it is assumed that (σ (1),..., Σ (n)) = (1,..., N) without losing generality.

図3に例示するように、まず鍵配送管理装置11(図2A)の配送処理部111が、関数暗号方式に則り、端末装置12−iの識別情報Uと有効時間区間(タイムフレーム)TFに属する時間time∈TFに対応する情報を含む情報V(U,time)に対応する秘密鍵uskを生成し、各秘密鍵uskを端末装置12−iに安全に配送する。ただし、i∈[1,n]である。「有効時間区間」は、所定の時間区間であり、所定の契機で更新される。秘密鍵uskは、端末装置12−iの公開鍵で暗号化されてから配送されてもよいし、安全な通信路を通じて配送されてもよいし、可搬型記録媒体に格納されて配送されてもよい。秘密鍵uskは端末装置12−i(図2B)で復号等によって取得され、記憶部129−iに安全に格納される。 As illustrated in FIG. 3, first, the delivery processing unit 111 of the key delivery management device 11 (FIG. 2A) performs the identification information U i of the terminal device 12- i and the valid time interval (time frame) TF according to the function encryption method. A secret key usk i corresponding to information V (U i , time) including information corresponding to time time ∈TF belonging to is generated, and each secret key usk i is securely delivered to the terminal device 12-i. However, iε [1, n]. The “effective time section” is a predetermined time section and is updated at a predetermined opportunity. The private key usk i may be delivered after being encrypted with the public key of the terminal device 12-i, may be delivered through a secure communication path, or is stored in a portable recording medium and delivered. Also good. The secret key usk i is obtained by decryption or the like in the terminal device 12-i (FIG. 2B), and is securely stored in the storage unit 129-i.

「関数暗号方式」とは、「属性情報」と呼ばれる情報と「アクセス構造(または述語情報)」と呼ばれる情報との組み合わせが所定の論理式の真理値を「真」にする関係にある場合に暗号文が復号される方式である。関数暗号方式では、「属性情報」と「アクセス構造(または述語情報)」との一方の情報が秘密鍵に埋め込まれ、他方の情報が暗号文に埋め込まれる。秘密鍵に埋め込まれた「属性情報」または「アクセス構造(または述語情報)」と暗号文に埋め込まれた「アクセス構造(または述語情報)」または「属性情報」が上述の論理式の真理値を「真」にする関係にある場合、当該秘密鍵と暗号文とから復号結果が得られる。「関数暗号方式」は「関数型暗号方式」や「述語暗号方式」と呼ばれることもあり、例えば、参考文献1「T. Okamoto, K. Takashima, "Fully Secure Functional Encryption with General Relations from the Decisional Linear Assumption," Advances in Cryptology - CRYPTO 2010, Lecture Notes in Computer Science, 2010, Volume 6223/2010, 191-208」、参考文献2(J. Katz, A. Sahai, and B. Waters., "Predicate encryption supporting disjunctions, polynomial equations, and inner products," In EUROCRYPT, pp. 146-162, 2008.)、参考文献3(T. Okamoto and K. Takashima., "Hierarchical predicate encryption for inner-products," In ASIACRYPT, pp. 214-231, 2009.)等に具体的な方式が開示されている。ただし、本形態で使用可能な関数暗号方式はこれらの方式に限定されない。「情報V(U,time)」は、識別情報Uと時間time∈timeに対応する情報からなる情報であってもよいし、識別情報Uと時間time∈timeに対応する情報とその他の情報(公開パラメータやセッションID等)とからなる情報であってもよい。本形態では「情報V(U,time)」が「属性情報」である例を示す。「属性情報」や「アクセス構造(または述語情報)」の実装方法に限定はないが、例えば、「属性情報」や「述語情報」はベクトルまたはベクトルの集合として実装でき、「アクセス構造」は行列とその各行に対応するラベルとからなるラベル付き行列と写像(例えば、ベクトルを写す写像)とによって実装できる。例えば、「αがηである」という命題1と「αがηである」という命題2との論理和(α=η)∨(α=η)は(α−η)・(α−η)という多項式で表現できる。論理和(α=η)∨(α=η)が真である場合、(α−η)・(α−η)=0となり、論理和(α=η)∨(α=η)が偽である場合、(α−η)・(α−η)≠0となる。すなわち、論理和(α=η)∨(α=η)が真であることと、(α−η)・(α−η)=0となることとは等価である。また、「αがηである」という命題1と「αがηである」という命題2との論理積(α=η)∧(α=η)はι・(α−η)+ι・(α−η)という多項式で表現できる。ただし、ι及びιは乱数である。論理積(α=η)∧(α=η)が真である場合、ι・(α−η)+ι・(α−η)=0になり、論理積(α=η)∧(α=η)が偽である場合、ι・(x−η)+ι・(α−η)≠0となる。すなわち、論理積(α=η)∧(α=η)が真であることと、ι・(α−η)+ι・(α−η)=0となることとは等価である。このように、論理式は多項式によって表現することができる。また、論理式を表現する多項式は2つのベクトルの内積で表現できる。すなわち、論理式を表現する多項式は、各項の不定元成分と1とを各要素とするベクトルと、各項の係数成分を各要素とするベクトルとの内積に等しい。そのため、ベクトルまたはベクトルの集合を用いて「属性情報」や「述語情報」を実装でき、論理式の真理値が真であることを内積が0であることに置き換えることができる。同様にこのようなベクトル集合に対応する写像とラベル付き行列と用いて「アクセス構造」を実装できる。なお、time∈TFは、例えば、TF={tmin,・・・,tmax}とすれば、(time=tmin)∨・・・∨(time=tmax)のような論理和で表現できる(ステップS101)。 “Functional cryptography” is when the combination of information called “attribute information” and information called “access structure (or predicate information)” has a relationship that makes the truth value of a given logical expression “true”. This is a method in which ciphertext is decrypted. In the function encryption method, one of “attribute information” and “access structure (or predicate information)” is embedded in the secret key, and the other information is embedded in the ciphertext. The “attribute information” or “access structure (or predicate information)” embedded in the secret key and the “access structure (or predicate information)” or “attribute information” embedded in the ciphertext represent the truth values of the above logical expressions. When the relationship is “true”, a decryption result is obtained from the secret key and the ciphertext. “Functional cryptography” is sometimes called “functional cryptography” or “predicate cryptography”. For example, Reference 1 “T. Okamoto, K. Takashima,“ Fully Secure Functional Encryption with General Relations from the Decisional Linear ” Assumption, "Advances in Cryptology-CRYPTO 2010, Lecture Notes in Computer Science, 2010, Volume 6223/2010, 191-208", Reference 2 (J. Katz, A. Sahai, and B. Waters., "Predicate encryption supporting disjunctions, polynomial equations, and inner products, "In EUROCRYPT, pp. 146-162, 2008.", Reference 3 (T. Okamoto and K. Takashima., "Hierarchical predicate encryption for inner-products," In ASIACRYPT, pp 214-231, 2009.), etc., disclose a specific method. However, the function encryption methods that can be used in this embodiment are not limited to these methods. "Information V (U i, time)" is identification information may be the U i and time made from the corresponding information to time∈time information, identification information U i and time information and other corresponding to time∈time Information (public parameters, session IDs, etc.). In this embodiment, an example is shown in which “information V (U i , time)” is “attribute information”. There is no limitation on the implementation method of “attribute information” and “access structure (or predicate information)”. For example, “attribute information” and “predicate information” can be implemented as a vector or a set of vectors, and “access structure” is a matrix. And a labeled matrix comprising a label corresponding to each row and a map (for example, a map mapping a vector). For example, the logical sum (α 1 = η 1 ) ∨ (α 2 = η 2 ) of the proposition 1 “α 1 is η 1 ” and the proposition 2 “α 2 is η 2 ” is (α 1 −η 1 ) · (α 2 −η 2 ). When the logical sum (α 1 = η 1 ) ∨ (α 2 = η 2 ) is true, (α 1 −η 1 ) · (α 2 −η 2 ) = 0, and the logical sum (α 1 = η 1 ) When ∨ (α 2 = η 2 ) is false, (α 1 −η 1 ) · (α 2 −η 2 ) ≠ 0. That is, it is equivalent that the logical sum (α 1 = η 1 ) 2 = η 2 ) is true and that (α 1 −η 1 ) · (α 2 −η 2 ) = 0. is there. The logical product (α 1 = η 1 ) ∧ (α 2 = η 2 ) of the proposition 1 “α 1 is η 1 ” and proposition 2 “α 2 is η 2 ” is ι 1 · It can be expressed by a polynomial of (α 1 −η 1 ) + ι 2 · (α 2 −η 2 ). However, ι 1 and ι 2 are random numbers. When the logical product (α 1 = η 1 ) ∧ (α 2 = η 2 ) is true, ι 1 · (α 1 −η 1 ) + ι 2 · (α 2 −η 2 ) = 0, and the logical product When (α 1 = η 1 ) ∧ (α 2 = η 2 ) is false, ι 1 · (x 1 −η 1 ) + ι 2 · (α 2 −η 2 ) ≠ 0. That is, the logical product (α 1 = η 1 ) ∧ (α 2 = η 2 ) is true, and ι 1 · (α 1 −η 1 ) + ι 2 · (α 2 −η 2 ) = 0. Is equivalent. Thus, the logical expression can be expressed by a polynomial. A polynomial expressing a logical expression can be expressed by an inner product of two vectors. That is, the polynomial that expresses the logical expression is equal to the inner product of a vector having each component of the indefinite component of each term and 1 and a vector having each component of the coefficient component of each term. Therefore, “attribute information” and “predicate information” can be implemented using a vector or a set of vectors, and the truth value of a logical expression can be replaced with zero inner product. Similarly, an “access structure” can be implemented using a map corresponding to such a vector set and a labeled matrix. Note that time ∈ TF is expressed by a logical sum such as (time = t min ) ∨ ... ∨ (time = t max ), for example, if TF = {t min ,..., T max }. Yes (step S101).

次に、鍵配送管理装置11および端末装置12−1〜12−nが協力して共有情報Cを生成する。この際、各端末装置12−iの端末秘密値xが用いられる。例えば、Gを位数pの乗法巡回群とし、g∈Gを群Gの生成元とし、x∈Zとし、鍵配送管理装置11および端末装置12−1〜12−nが協力してC:=gx1・x2・...・xnを生成する。ただし、「α:=β」はαがβを表すこと(αをβと定義すること)を意味する。上付き添え字の「xi」は「x」を表す。集合X={x,・・・,x}についてgx1・x2・...・xnをgΠXと表記する。Xが空集合の場合にはΠX=1となる。共有情報Cは、鍵配送管理装置11(図2A)の記憶部119に格納され、共有情報Cの生成に用いられた端末秘密値xは各端末装置12−i(図2B)の記憶部129−iに安全に格納される(ステップS102)。 Next, the key distribution management device 11 and the terminal devices 12-1 to 12-n cooperate to generate the shared information C. At this time, the terminal secret value xi of each terminal device 12- i is used. For example, G is a multiplicative cyclic group of order p, gεG is a generator of the group G, x i εZ p , and the key distribution management device 11 and the terminal devices 12-1 to 12-n cooperate. C: = g x1 · x2 ···· xn is generated. However, “α: = β” means that α represents β (defines α as β). The superscript “xi” represents “x i ”. Set X = {x 1, ···, x n} for the g x1 · x2 · ... · xn be denoted as g ΠX. When X is an empty set, ΠX = 1. The shared information C is stored in the storage unit 119 of the key distribution management device 11 (FIG. 2A), and the terminal secret value x i used for generating the shared information C is the storage unit of each terminal device 12-i (FIG. 2B). 129-i is stored securely (step S102).

鍵配送管理装置11(図2A)の配送処理部111は、第1シード値Kを生成し、関数暗号方式に則って第1シード値Kを暗号化し、端末装置12−iの識別情報Uと有効時間区間TFに属する時間に対応する情報を含む情報に対応する秘密鍵uskで復号可能な暗号文CT’を生成し、暗号文CT’(ただし、i∈[1,n])と共有情報Cとを出力する。この暗号文CT’は、秘密鍵uskに対応する識別情報Uおよび時間timeが論理式P:=(ID=U)∧(time∈TF)を真にする場合に、当該秘密鍵uskを用いて復号可能となる暗号文である。なお、第1シード値Kは記憶部119に格納される(ステップS103)。 Delivery processing unit 111 of the key distribution management device 11 (FIG. 2A), first generate a seed value K 1, a first seed value K 1 encrypted in accordance with the function cryptography, identification information of the terminal device 12-i A ciphertext CT ′ i that can be decrypted with a secret key usk i corresponding to information that includes U i and information corresponding to the time belonging to the valid time interval TF is generated, and ciphertext CT ′ i (where i∈ [1, n]) and shared information C are output. The ciphertext CT ′ i is obtained when the identification information U i corresponding to the secret key usk i and the time time make the logical expression P i : = (ID = U i ) ∧ (timeεTF) true. a ciphertext becomes possible decrypted using the key usk i. The first seed value K 1 is stored in the storage unit 119 (step S103).

暗号文CT’と共有情報Cは通信部118に送られ、通信部118はこれらを端末装置12−i(ただし、i∈[1,n])に送信する(ステップS104)。暗号文CT’と共有情報Cは、各端末装置12−i(ただし、i∈[1,n])の通信部128−iに入力され、記憶部129−iに格納される。各処理部121−iは、記憶部129−iから秘密鍵uskと暗号文CT’とを読み込み、入力された秘密鍵uskを用い、関数暗号方式に則って、入力された暗号文CT’を復号して第1シード値Kを生成し、第1シード値Kを記憶部129−iに格納する(ステップS105)。 The ciphertext CT ′ i and the shared information C are sent to the communication unit 118, and the communication unit 118 transmits them to the terminal device 12-i (where i∈ [1, n]) (step S104). The ciphertext CT ′ i and the shared information C are input to the communication unit 128-i of each terminal device 12-i (where i∈ [1, n]) and stored in the storage unit 129-i. Each processing unit 121-i from the storage unit 129-i reads and secret key usk i ciphertext CT 'i, using the private key usk i input, in accordance with the function encryption method, input ciphertext CT 'generates a first seed value K 1 by decoding the i, storing the first seed value K 1 in the storage unit 129-i (step S105).

各端末装置12−iの処理部122−iは、記憶部129−iから共有情報Cと端末秘密値xを読み込み、入力された共有情報Cと端末秘密値xの逆元1/xとに応じた秘匿化共有情報SCを生成し、秘匿化共有情報SCを出力する。例えば、処理部122−iは、SC:=C1/xiを生成する(ステップS106)。秘匿化共有情報SCは、通信部128−iに送られ、信部128−iは秘匿化共有情報SCを鍵配送管理装置11に送信する(ステップS107)。 Processing unit of each terminal 12-i 122-i reads the shared information C and the terminal secret value x i from the storage unit 129-i, the inverse element 1 / x of the shared information C and the terminal secret value x i that is input concealing generates shared information SC i corresponding to the i, and outputs the concealment shared information SC i. For example, the processing unit 122-i generates SC i : = C 1 / xi (Step S106). The concealment shared information SC i is sent to the communication unit 128-i, and the communication unit 128-i transmits the concealment shared information SC i to the key distribution management device 11 (step S107).

秘匿化共有情報SC(ただし、i∈[1,n])は、鍵配送管理装置11(図2A)の通信部118に入力され、記憶部119に格納される。配送処理部112は、管理秘密値xを生成して記憶部119に格納する(ステップS108)。配送処理部112は、記憶部119から秘匿化共有情報SC(共有情報Cが秘匿化された秘匿化共有情報SC)と管理秘密値xを読み込み、入力された秘匿化共有情報SCと管理秘密値xとに応じた第2シード値の秘匿化情報SK2,iを生成し、第2シード値の秘匿化情報SK2,iを出力する。例えば、x∈Zとし、配送処理部112は、SK2,i:=SC xs=C(1/xi)・xsを生成する。ただし、上付き添え字の「xs」は「x」を表す。第2シード値の秘匿化情報SK2,iは通信部118に送られ、通信部118は第2シード値の秘匿化情報SK2,i(ただし、i∈[1,n])を端末装置12−iに送信する(ステップS109)。 The concealment shared information SC i (where i∈ [1, n]) is input to the communication unit 118 of the key distribution management device 11 (FIG. 2A) and stored in the storage unit 119. The delivery processing unit 112 generates a management secret value x s and stores it in the storage unit 119 (step S108). Delivery processing unit 112 from the storage unit 119 and the concealment shared information SC i (shared information C concealed been concealed shared information SC i) loads management secret value x s, the input concealed shared information SC i The second seed value concealment information SK 2, i is generated according to the control secret value x s and the second seed value concealment information SK 2, i is output. For example, assuming that x s ∈ Z p , the delivery processing unit 112 generates SK 2, i : = SC i xs = C (1 / xi) · xs . However, the superscript “xs” represents “x s ”. The second seed value concealment information SK 2, i is sent to the communication unit 118, and the communication unit 118 sends the second seed value concealment information SK 2, i (where iε [1, n]) to the terminal device. It transmits to 12-i (step S109).

第2シード値の秘匿化情報SK2,i(ただし、i∈[1,n])は、端末装置12−i(図2B)の通信部128−iに入力され、記憶部129−iに格納される。各処理部123−i(ただし、i∈[1,n])は、記憶部129−iから第2シード値の秘匿化情報SK2,iと端末秘密値xとを読み込み、入力された第2シード値の秘匿化情報SK2,iと端末秘密値xとに応じた第2シード値Kを生成して出力する。例えば、処理部123−iは、K:=SK2,i xi=C(1/xi)・xs・xi=Cxsを生成する。第2シード値Kは記憶部129−iに格納される(ステップS109)。 The second seed value concealment information SK 2, i (where iε [1, n]) is input to the communication unit 128-i of the terminal device 12-i (FIG. 2B) and stored in the storage unit 129-i. Stored. Each processing unit 123-i (where iε [1, n]) reads the concealment information SK 2, i of the second seed value and the terminal secret value x i from the storage unit 129- i and is input. It generates the concealment information SK 2, i and the terminal secret second seed value K 2 corresponding to the x i of the second seed value to output. For example, the processing unit 123-i generates K 2 : = SK 2, i xi = C (1 / xi) · xs · xi = C xs . The second seed value K 2 is stored in the storage unit 129-i (step S109).

各処理部124−i(ただし、i∈[1,n])は、記憶部129−iから第1シード値Kおよび第2シード値Kを読み込み、第1シード値Kを含む情報と第2シード値Kを含む情報とに対応する共通鍵Kを得て出力する。これにより、端末装置12−1〜12−nで共通鍵Kを共有できる。なお、第1シード値Kを含む情報は、第1シード値Kのみからなる情報であってもよいし、第1シード値Kとその他の情報(公開パラメータやセッションID等)とからなる情報であってもよい。同様に、第2シード値Kを含む情報は、第2シード値Kのみからなる情報であってもよいし、第2シード値Kとその他の情報(公開パラメータやセッションID等)とからなる情報であってもよい。また共通鍵Kは、第1シード値Kを含む情報と第2シード値Kを含む情報とから一義的に決まる。安全性の観点から、共通鍵Kは、第1シード値Kに関する情報および第2シード値Kに関する情報が隠蔽された情報であることが望ましい。言い換えると、共通鍵Kから第1シード値Kに関する情報も第2シード値Kに関する情報も漏洩しないことが望ましい。これにより、攻撃者に共通鍵Kが漏洩した場合であっても、第1シード値Kまたは第2シード値Kの一方を更新し、それらに応じた共通鍵Kに更新するだけで、当該攻撃者からの攻撃を防ぐことができる(ステップS110)。 Each processing unit 124-i (however, i ∈ [1, n]), the storage unit 129-i from loading the first seed value K 1 and the second seed value K 2, information including a first seed value K 1 When obtaining a common key K corresponding to output to the information including the second seed value K 2. Thereby, the common key K can be shared by the terminal devices 12-1 to 12-n. Incidentally, the information including a first seed value K 1 may be a information consisting of only the first seed value K 1, from a first seed value K 1 and other information (such as public parameters and session ID) May be information. Similarly, information including the second seed value K 2 may be a information consisting of only the second seed value K 2, the second seed value K 2 and other information (public parameters, session ID, etc.) The information which consists of may be sufficient. The common key K is uniquely determined from the information including the information and the second seed value K 2, including a first seed value K 1. From the viewpoint of safety, the common key K, it is desirable that the information which the information about the information and the second seed value K 2 for the first seed value K 1 is concealed. In other words, it is desirable that the information about the first seed value K 1 from the common key K is not also leak information about the second seed value K 2. Accordingly, even when the leaked common key K to the attacker only updates one of the first seed value K 1 or the second seed value K 2, and updates the common key K corresponding to them, An attack from the attacker can be prevented (step S110).

<端末装置追加処理>
端末装置12−1〜12−nからなるユーザ集合に新たな端末装置12−(n+1)を追加し、共通鍵Kを更新する処理を説明する。一般性を失うことなく、新たな端末装置を端末装置12−(n+1)とすることができる。
<Terminal device addition processing>
A process of adding a new terminal device 12- (n + 1) to the user set including the terminal devices 12-1 to 12-n and updating the common key K will be described. Without losing generality, the new terminal device can be the terminal device 12- (n + 1).

図4に例示するように、まず、鍵配送管理装置11(図2A)の配送処理部111が、関数暗号方式に則り、端末装置12−(n+1)の識別情報Un+1と有効時間区間TFに属する時間time∈TFに対応する情報を含む情報V(n+1,time)に対応する秘密鍵uskn+1を生成し、秘密鍵uskn+1を端末装置12−(n+1)に安全に配送する。秘密鍵uskn+1は端末装置12−(n+1)(図2B)の記憶部129−(n+1)に安全に格納される(ステップS111)。 As illustrated in FIG. 4, first, the distribution processing unit 111 of the key distribution management device 11 (FIG. 2A) determines the identification information U n + 1 of the terminal device 12-(n + 1) and the valid time interval TF according to the function encryption method. A secret key usk n + 1 corresponding to information V (n + 1, time) including information corresponding to the time time ∈TF to which it belongs is generated, and the secret key usk n + 1 is securely delivered to the terminal device 12- (n + 1). The secret key usk n + 1 is securely stored in the storage unit 129- (n + 1) of the terminal device 12- (n + 1) (FIG. 2B) (step S111).

次に配送処理部111は、記憶部119から第1シード値Kを読み込み、関数暗号方式に則って第1シード値Kを暗号化し、端末装置12−(n+1)の識別情報Un+1と有効時間区間TFに属する時間に対応する情報を含む情報に対応する秘密鍵uskn+1で復号可能な暗号文CT’n+1を生成し、記憶部119に格納する。暗号文CT’n+1は、秘密鍵uskn+1に対応する識別情報Un+1および時間timeが論理式Pn+1=(ID=Un+1)∧(time∈TF)を真にする場合に、当該秘密鍵uskn+1を用いて復号可能となる暗号文である(ステップS113)。 Next delivery processing unit 111 from the storage unit 119 reads the first seed value K 1, a first seed value K 1 encrypted in accordance with the function encryption method identification information U n + 1 of the terminal device 12- (n + 1) A ciphertext CT ′ n + 1 that can be decrypted with the secret key usk n + 1 corresponding to information including information corresponding to the time belonging to the valid time section TF is generated and stored in the storage unit 119. The ciphertext CT ′ n + 1 is obtained when the identification information U n + 1 corresponding to the secret key usk n + 1 and the time time make the logical expression P n + 1 = (ID = U n + 1 ) ∧ (timeεTF) true. This is a ciphertext that can be decrypted using n + 1 (step S113).

配送処理部112は、新たな管理秘密値x’を生成し、記憶部119に格納する。配送処理部112は、記憶部119から共有情報Cと新たな管理秘密値x’とを読み込み、入力された共有情報Cと新たな管理秘密値x’とに応じた新たな共有情報C’を生成し、記憶部119に格納する。例えば、x’∈Zとし、配送処理部112は、C’:=Cx’sを生成する。ただし、上付き添え字の「x’s」は「x’」を表す(ステップS114)。 The delivery processing unit 112 generates a new management secret value x ′ s and stores it in the storage unit 119. The delivery processing unit 112 reads the shared information C and the new management secret value x ′ s from the storage unit 119, and new shared information C corresponding to the input shared information C and the new management secret value x ′ s. 'Is generated and stored in the storage unit 119. For example, assuming that x ′ s ∈Z p , the delivery processing unit 112 generates C ′: = C x ′s . However, the superscript “x ′ s ” represents “x ′ s ” (step S114).

暗号文CT’n+1、新たな共有情報C’、および秘匿化共有情報SC(ただし、i∈[1,n])が記憶部119から読み出されて通信部118に送られる。通信部118は、これらを端末装置12−(n+1)に送信する(ステップS115)。 The ciphertext CT ′ n + 1 , the new shared information C ′, and the concealed shared information SC i (where i∈ [1, n]) are read from the storage unit 119 and sent to the communication unit 118. The communication unit 118 transmits these to the terminal device 12- (n + 1) (step S115).

暗号文CT’n+1、新たな共有情報C’、および秘匿化共有情報SC(ただし、i∈[1,n])は、端末装置12−(n+1)(図2B)の通信部128−(n+1)に入力され、記憶部129−(n+1)に格納される。処理部121−(n+1)は、記憶部129−(n+1)から暗号文CT’n+1と秘密鍵uskn+1とを読み込み、入力された秘密鍵uskn+1を用い、関数暗号方式に則って、入力された暗号文CT’n+1を復号して第1シード値Kを生成して出力する。第1シード値Kは記憶部129−(n+1)に格納される(ステップS116)。 The ciphertext CT ′ n + 1 , the new shared information C ′, and the concealed shared information SC i (where i∈ [1, n]) are stored in the communication unit 128- ( n + 1) and stored in the storage unit 129- (n + 1). The processing unit 121- (n + 1) reads the ciphertext CT ′ n + 1 and the secret key usk n + 1 from the storage unit 129- (n + 1), and uses the input secret key usk n + 1 to input according to the function encryption method. The ciphertext CT ′ n + 1 is decrypted to generate and output a first seed value K 1 . The first seed value K 1 is stored in the storage unit 129- (n + 1) (step S116).

処理部122−(n+1)は、端末秘密値xn+1を生成して記憶部129−(n+1)に格納する。処理部122−(n+1)は、記憶部129−(n+1)から秘匿化共有情報SC(ただし、i∈[1,n])と端末秘密値xn+1とを読み込み、入力された秘匿化共有情報SCと端末秘密値xn+1とに応じた新たな秘匿化共有情報SC’(ただし、i∈[1,n])を生成して記憶部129−(n+1)に格納する。例えば、xn+1∈Zとし、処理部122−(n+1)は、SC’:=SC xn+1=C(1/xi)・xn+1を生成する。ただし、上付き添え字の「xn+1」は「xn+1」を表す。新たな秘匿化共有情報SC’は記憶部129−(n+1)から読み出されて通信部128−(n+1)に送られ、通信部128−(n+1)は、新たな秘匿化共有情報SC’(ただし、i∈[1,n])を鍵配送管理装置11に送信する(ステップS118)。 The processing unit 122- (n + 1) generates the terminal secret value xn + 1 and stores it in the storage unit 129- (n + 1). The processing unit 122- (n + 1) reads the concealment shared information SC i (where i∈ [1, n]) and the terminal secret value x n + 1 from the storage unit 129- (n + 1) and inputs the concealment sharing New concealment shared information SC ′ i (where i∈ [1, n]) corresponding to the information SC i and the terminal secret value x n + 1 is generated and stored in the storage unit 129- (n + 1). For example, assuming that x n + 1 ∈Z p , the processing unit 122- (n + 1) generates SC ′ i : = SC i xn + 1 = C (1 / xi) · xn + 1 . However, "xn + 1" in the superscript represents a "x n + 1". The new concealed shared information SC ′ i is read from the storage unit 129- (n + 1) and sent to the communication unit 128- (n + 1), and the communication unit 128- (n + 1) receives the new concealed shared information SC ′. i (where i ∈ [1, n]) is transmitted to the key distribution management apparatus 11 (step S118).

処理部123−(n+1)は、記憶部129−(n+1)から新たな共有情報C’と端末秘密値xn+1とを読み込み、入力された新たな共有情報C’と端末秘密値xn+1とに応じた新たな第2シード値K’を生成して出力する。例えば、処理部123−(n+1)は、K’:=C’xn+1=Cx’s・xn+1を生成する。ただし、上付き添え字の「x’s・xn+1」は「x’・xn+1」を表す。新たな第2シード値K’は記憶部129−(n+1)に格納される(ステップS119)。 Processing unit 123- (n + 1) to the storage unit 129- (n + 1) a new share information from C 'and reads a terminal secret value x n + 1, a new shared information is input C' and the terminal secret value x n + 1 In response, a new second seed value K ′ 2 is generated and output. For example, the processing unit 123-(n + 1) generates K ′ 2 : = C ′ xn + 1 = C x ′s · xn + 1 . However, the "x's · xn + 1" in the superscript represents an "x 's · x n + 1". New second seed value K '2 is stored in the storage unit 129- (n + 1) (step S119).

新たな秘匿化共有情報SC’(ただし、i∈[1,n])は、鍵配送管理装置11(図2A)の通信部118に入力され、記憶部119に格納される。配送処理部112は、記憶部119から新たな秘匿化共有情報SC’と新たな管理秘密値x’とを読み込み、入力された新たな秘匿化共有情報SC’と新たな管理秘密値x’とに応じた新たな第2シード値の秘匿化情報SK’2,i(ただし、i∈[1,n])を生成し、記憶部119に格納する。例えば、配送処理部112は、SK’2,i:=SC’ x’s=C(1/xi)・xn+1・x’sを生成する。新たな第2シード値の秘匿化情報SK’2,iが記憶部119から読み出されて通信部118に送られる。通信部118は、新たな第2シード値の秘匿化情報SK’2,iを端末装置12−i(ただし、i∈[1,n])に送信する(ステップS120)。 The new concealment shared information SC ′ i (where i∈ [1, n]) is input to the communication unit 118 of the key distribution management device 11 (FIG. 2A) and stored in the storage unit 119. The delivery processing unit 112 reads the new concealed shared information SC ′ i and the new managed secret value x ′ s from the storage unit 119, and inputs the new concealed shared information SC ′ i and the new managed secret value. The second second seed value concealment information SK ′ 2, i (where i∈ [1, n]) corresponding to x ′ s is generated and stored in the storage unit 119. For example, the delivery processing unit 112 generates SK ′ 2, i : = SC ′ i x ′s = C (1 / xi) · xn + 1 · x ′s . The new second seed value concealment information SK ′ 2, i is read from the storage unit 119 and sent to the communication unit 118. The communication unit 118 transmits the new second seed value concealment information SK′2 , i to the terminal device 12-i (where i∈ [1, n]) (step S120).

新たな第2シード値の秘匿化情報SK’2,iは、端末装置12−i(図2B)の通信部128−iに入力され、記憶部129−iに格納される。処理部123−iは、記憶部129−iから、新たな第2シード値の秘匿化情報SK’2,iと端末秘密値xとを読み込み、入力された新たな第2シード値の秘匿化情報SK’2,iと端末秘密値xとに応じた新たな第2シード値K’を生成して記憶部129−iに格納する。例えば、処理部123−iは、K’:=SK’2,i xi=Cx’s・xn+1を生成する。新たな第2シード値K’は記憶部129−(n+1)に格納される(ステップS121)。 The new second seed value concealment information SK′2 , i is input to the communication unit 128-i of the terminal device 12-i (FIG. 2B) and stored in the storage unit 129-i. The processing unit 123-i reads the new second seed value concealment information SK ′ 2, i and the terminal secret value x i from the storage unit 129-i, and conceals the input new second seed value. A new second seed value K ′ 2 corresponding to the conversion information SK ′ 2, i and the terminal secret value x i is generated and stored in the storage unit 129-i. For example, the processing unit 123-i generates K ′ 2 : = SK ′ 2, i xi = C x ′s · xn + 1 . New second seed value K '2 is stored in the storage unit 129- (n + 1) (step S121).

端末装置12−i(ただし、i∈[1,n])の処理部124−iは、記憶部129−iから第1シード値Kおよび新たな第2シード値K’を読み込み、Kを含む情報とK’を含む情報とに対応する共通鍵K’を生成して出力する。同様に、端末装置12−(n+1)の124−(n+1)は、記憶部129−(n+1)から第1シード値Kおよび新たな第2シード値K’を読み込み、K:=K’とし、Kを含む情報とKを含む情報とに対応する共通鍵K’を生成して出力する(ステップS122)。 Terminal 12-i (however, i ∈ [1, n]) processor 124-i of the reads the storage unit 129-i from the first seed value K 1 and new second seed value K '2, K A common key K ′ corresponding to information including 1 and information including K ′ 2 is generated and output. Similarly, the terminal apparatus 12 of the (n + 1) 124- (n + 1) reads the memory unit 129- (n + 1) first seed value K 1 and a new second seed value K from '2, K 2: = K It generates and outputs '2, and the common key K corresponding to the information containing information and K 2 containing K 1' (step S122).

<有効期間更新処理>
端末装置12−1〜12−nからなるユーザ集合で共通鍵Kを共有した後、有効時間区間を更新する処理を説明する。
<Validity period update process>
A process of updating the valid time interval after sharing the common key K by the user set including the terminal devices 12-1 to 12-n will be described.

図5Aに例示するように、まず鍵配送管理装置11(図2A)の配送処理部111が、関数暗号方式に則り、端末装置12−iの識別情報Uと新たな有効時間区間TF’に属する時間time’∈TF’に対応する情報を含む情報V(i,time’)に対応する秘密鍵usk’を生成し、各秘密鍵usk’を端末装置12−iに安全に配送する。秘密鍵usk’は端末装置12−i(図2B)の記憶部129−iに安全に格納される(ステップS130)。 As illustrated in FIG. 5A, first, the delivery processing unit 111 of the key delivery management device 11 (FIG. 2A) sets the identification information U i of the terminal device 12- i and the new valid time interval TF ′ in accordance with the function encryption method. A secret key usk ′ i corresponding to information V (i, time ′) including information corresponding to the time time′εTF ′ to which it belongs is generated, and each secret key usk ′ i is securely delivered to the terminal device 12-i. . The secret key usk ′ i is securely stored in the storage unit 129-i of the terminal device 12-i (FIG. 2B) (step S130).

鍵配送管理装置11(図2A)の配送処理部111は、新たな第1シード値K’を生成し、関数暗号方式に則って新たな第1シード値K’を暗号化し、端末装置12−iの識別情報Uと新たな有効時間区間TF’に属する時間に対応する情報を含む情報に対応する秘密鍵usk’で復号可能な新たな暗号文CT”を生成し、新たな暗号文CT”(ただし、i∈[1,n])を出力する。この暗号文CT”は、秘密鍵usk’に対応する識別情報Uおよび時間time’が論理式P:=(ID=U)∧(time’∈TF’)を真にする場合に、当該秘密鍵usk’を用いて復号可能となる暗号文である(ステップS131)。 Delivery processing unit 111 of the key distribution management device 11 (FIG. 2A), 'generates a 1, first seed value K new in accordance with the function encryption method' first seed value K new one encrypted terminal device 12-i of the generated identification information U i and the new ciphertext CT "i decodable by i 'private key usk corresponding to information including information corresponding to a time belonging to' a new valid time interval TF, the new Ciphertext CT ″ i (where i∈ [1, n]) is output. This ciphertext CT ″ i is obtained when the identification information U i corresponding to the secret key usk ′ i and the time time ′ make the logical expression P i : = (ID = U i ) ∧ (time′∈TF ′) true. The ciphertext can be decrypted by using the secret key usk ′ i (step S131).

暗号文CT”は通信部118に送られ、通信部118はこれらを端末装置12−i(ただし、i∈[1,n])に送信する(ステップS132)。暗号文CT”は、各端末装置12−i(ただし、i∈[1,n])の通信部128−iに入力され、記憶部129−iに格納される。各処理部121−iは、記憶部129−iから秘密鍵usk’と暗号文CT”を読み込み、入力された秘密鍵usk’を用い、関数暗号方式に則って、入力された暗号文CT”を復号して新たな第1シード値K’を生成し、新たな第1シード値K’を記憶部129−iに格納する(ステップS133)。 Ciphertext CT "is i is sent to the communication unit 118, the communication unit 118 transmits to them the terminal device 12-i (however, i∈ [1, n]) ( step S132). Ciphertext CT" i is Each terminal device 12-i (where iε [1, n]) is input to the communication unit 128-i and stored in the storage unit 129-i. Each processing unit 121-i is, 'reads the i ciphertext CT "i, secret key usk entered' secret key usk from the storage unit 129-i with i, in accordance with the function encryption method, the inputted encrypted statement CT "i decodes the 'generates a 1, first seed value K new' first seed value K new stores 1 in the memory unit 129-i (step S133).

端末装置12−i(ただし、i∈[1,n])の処理部124−iは、記憶部129−iから新たな第1シード値K’および第2シード値Kを読み込み、K:=K’とし、Kを含む情報とKを含む情報とに対応する共通鍵K”を生成して出力する(ステップS134)。 Terminal 12-i (however, i ∈ [1, n]) processor 124-i of the reads the storage unit 129-i first seed value K new from '1 and the second seed value K 2, K 1 : = K ′ 1, and a common key K ″ corresponding to the information including K 1 and the information including K 2 is generated and output (step S134).

<端末装置削除処理>
共通鍵Kを共有した端末装置12−1〜12−nからなるユーザ集合から端末装置12−jを削除し、端末装置12−i(ただし、i∈[1,n]\j)で新たな共通鍵を共有する処理を説明する。i∈[1,n]\jは、集合[1,n]からjを除いた補集合を表す。
<Terminal device deletion process>
The terminal device 12-j is deleted from the user set consisting of the terminal devices 12-1 to 12-n sharing the common key K, and a new one is created at the terminal device 12-i (where iε [1, n] \ j). A process for sharing a common key will be described. iε [1, n] \ j represents a complementary set obtained by removing j from the set [1, n].

図5Bに例示するように、まず配送処理部112は、新たな管理秘密値x”を生成して記憶部119に格納する(ステップS135)。配送処理部112は、記憶部119から秘匿化共有情報SC(共有情報Cが秘匿化された秘匿化共有情報SC)と新たな管理秘密値x”とを読み込み、入力された秘匿化共有情報SCと新たな管理秘密値x”とに応じた新たな第2シード値の秘匿化情報SK”2,iを生成し、新たな第2シード値の秘匿化情報SK”2,iを出力する(ただし、i∈[1,n]\j)。例えば、x”∈Zとし、配送処理部112は、SK”2,i:=SC x”s=C(1/xi)・x”sを生成する。新たな第2シード値の秘匿化情報SK”2,iは通信部118に送られ、通信部118は新たな第2シード値の秘匿化情報SK”2,iを端末装置12−i(ただし、i∈[1,n]\j)に送信する(ステップS136)。 5B, first, the delivery processing unit 112 generates a new management secret value x ″ s and stores it in the storage unit 119 (step S135). The delivery processing unit 112 conceals the storage unit 119. The shared information SC i (the concealed shared information SC i in which the shared information C is concealed) and the new management secret value x ″ s are read, and the input concealed shared information SC i and the new management secret value x ″ are read. "generates a 2, i, concealment information SK of the new second seed value" concealment information SK of the new second seed value corresponding to the s and outputs a 2, i (although, i ∈ [1, n] \ j) For example, assuming that x ″ s εZ p , the delivery processing unit 112 generates SK ″ 2, i : = SC i x ″ s = C (1 / xi) · x ″ s . concealing information SK "2 of such second seed value, i is sent to the communication unit 118, a communication unit 11 It sends the concealed information SK "2, i of the new second seed value terminal device 12-i (however, i∈ [1, n] \j ) (step S136).

新たな第2シード値の秘匿化情報SK”2,iは、端末装置12−i(ただし、i∈[1,n]\j)(図2B)の通信部128−iに入力され、記憶部129−iに格納される。各処理部123−i(ただし、i∈[1,n]\j)は、記憶部129−iから新たな第2シード値の秘匿化情報SK”2,iと端末秘密値xとを読み込み、入力された新たな第2シード値の秘匿化情報SK”2,iと端末秘密値xとに応じた新たな第2シード値K”を生成して出力する。例えば、処理部123−iは、K”:=SK”2,i xi=C(1/xi)・x”s・xi=Cx”sを生成する。第2シード値K”は記憶部129−i(ただし、i∈[1,n]\j)に格納される(ステップS137)。 The new second seed value concealment information SK ″ 2, i is input to the communication unit 128-i of the terminal device 12-i (where iε [1, n] \ j) (FIG. 2B) and stored. Each processing unit 123-i (where iε [1, n] \ j) stores the new second seed value concealment information SK ″ 2, from the storage unit 129-i . i and the terminal secret value x i are read, and the new second seed value concealment information SK ″ 2, i and the new second seed value K ″ 2 corresponding to the terminal secret value x i are generated. And output. For example, the processing unit 123-i generates K ″ 2 : = SK ″ 2, i xi = C (1 / xi) · x ″ s · xi = C x ″ s . The second seed value K ″ 2 is stored in the storage unit 129-i (where iε [1, n] \ j) (step S137).

端末装置12−i(ただし、i∈[1,n]\j)の処理部124−iは、記憶部129−iから第1シード値Kおよび新たな第2シード値K”を読み込み、K:=K”とし、Kを含む情報とKを含む情報とに対応する共通鍵K”’を生成して出力する(ステップS138)。 Terminal 12-i (however, i∈ [1, n] \j ) processing unit 124-i of the reads the storage unit 129-i from the first seed value K 1 and new second seed value K "2 , K 2 : = K ″ 2, and a common key K ″ ′ corresponding to the information including K 1 and the information including K 2 is generated and output (step S 138).

<本形態の特徴>
本形態の鍵配送処理では、鍵配送管理装置11が、関数暗号方式に則って、端末装置12−iの識別情報Uと有効時間区間TFに属する時間time∈TFに対応する情報を含む情報V(U,time)に対応する秘密鍵uskで復号可能なように第1シード値Kを暗号化し、それによって得られた暗号文CT’を各端末装置12−i(ただし、i∈[1,n])に送信する。各端末装置12−iは、安全に格納しておいた秘密鍵uskを用いて暗号文CT’を復号して第1シード値Kを得る。秘密鍵uskを知らない通信路上の攻撃者は暗号文CT’を復号できないため第1シード値Kを得ることができない。これにより、通信路上の成り済ましによる共通鍵Kの改ざんを防止できる。また、秘密鍵uskは有効時間区間TFに属する時間timeだけではなく、各端末装置12−iの識別情報Uにも対応するため、他の端末装置に成り済ますことも防止できる。他の端末装置の成り済ましの問題がないのであれば、秘密鍵uskが有効時間区間TFに属する時間timeに対応し、識別情報Uに対応しないものであってもよい。
<Features of this embodiment>
In the key distribution processing of this embodiment, the key distribution management device 11 includes information including identification information U i of the terminal device 12-i and information corresponding to the time time ∈TF belonging to the valid time interval TF in accordance with the function encryption method. The first seed value K 1 is encrypted so that it can be decrypted with the secret key usk i corresponding to V (U i , time), and the ciphertext CT ′ i obtained thereby is converted into each terminal device 12-i (where i ∈ [1, n]). Each terminal device 12-i obtains the first seed value K 1 to decrypt the ciphertext CT 'i using the private key usk i which has been stored safely. An attacker on the communication path who does not know the secret key usk i cannot obtain the first seed value K 1 because the ciphertext CT ′ i cannot be decrypted. Thereby, it is possible to prevent the common key K from being falsified due to impersonation on the communication path. Further, since the secret key usk i corresponds not only to the time time belonging to the valid time interval TF but also to the identification information U i of each terminal device 12-i, it is possible to prevent impersonation of other terminal devices. If there is no problem of impersonation of another terminal device, the secret key usk i may correspond to the time time belonging to the valid time interval TF and may not correspond to the identification information U i .

また、秘密鍵uskは有効時間区間TFに属する時間で生成された暗号文CT’のみを復号でき、有効時間区間TF以外の時間で生成された暗号文を復号できない。そのため、端末装置12−iの紛失等によって秘密鍵uskが漏洩した場合であっても、有効時間区間を更新することで秘密鍵を無効化できる。 Further, the secret key usk i can only decrypt the ciphertext CT ′ i generated in the time belonging to the valid time interval TF, and cannot decrypt the ciphertext generated in a time other than the valid time interval TF. Therefore, even if the secret key usk i is leaked by loss, etc. of the terminal device 12-i, you can invalidate the secret key by updating the effective time period.

さらに、本形態では鍵配送管理装置11が端末装置12−i(ただし、i∈[1,n])の間の通信を中継する。各端末装置12−iはユニキャストによって鍵配送管理装置11にデータを送信し、端末装置12−i同士は直接通信を行わない。ブロードキャストのように計算・通信コストが端末装置数に依存する処理は、鍵配送管理装置11のみによって行われる。これにより、端末装置数によらず、各端末装置12−iの計算・通信コストを一定にできる。   Furthermore, in this embodiment, the key distribution management device 11 relays communication between the terminal devices 12-i (where i∈ [1, n]). Each terminal device 12-i transmits data to the key distribution management device 11 by unicast, and the terminal devices 12-i do not directly communicate with each other. The processing in which the calculation / communication cost depends on the number of terminal devices, such as broadcast, is performed only by the key distribution management device 11. Thereby, the calculation / communication cost of each terminal device 12-i can be made constant regardless of the number of terminal devices.

本形態の共通鍵Kは、第1シード値Kを含む情報と第2シード値Kを含む情報とに対応する。ここで、第1シード値Kの配信には比較的計算コストが大きな関数暗号方式を利用する必要があるが、第2シード値Kの配信には関数暗号方式を用いる必要がない。そのため、有効時間区間TF内であれば、関数暗号方式を利用することなく共通鍵Kを更新できる。例えば、有効時間区間TF内であれば、関数暗号方式を利用することなく、端末装置追加処理や端末装置削除処理を実行して共通鍵Kを更新できる。これにより、できるだけ小さな計算コストで、端末装置追加処理で新たに追加された端末装置が追加前に共有されていた共有鍵を取得することを防止したり、端末装置削除処理で削除された端末装置が取得できない共通鍵へ更新をしたりすることができる。 Common key K of this embodiment correspond to the information containing information including a first seed value K 1 and the second seed value K 2. Here, although the distribution of the first seed value K 1 is relatively computational cost it is necessary to use a large function cryptography, there is no need to use a function cryptography delivery of the second seed value K 2. Therefore, the common key K can be updated without using a function encryption method within the valid time section TF. For example, within the valid time interval TF, the common key K can be updated by executing the terminal device addition process and the terminal apparatus deletion process without using the function encryption method. As a result, the terminal device newly added by the terminal device addition process can be prevented from acquiring the shared key that was shared before the addition, or deleted by the terminal device deletion process, with the smallest possible calculation cost Can be updated to a common key that cannot be obtained.

なお、秘密鍵を格納するデバイスとして例えば参考文献4(Java Card API and Export File for Card Specification v2.2.1 (org. global platform) v1.6, http://www.safenet-inc.jp/data-encryption/hardware-security-modules-hsms/luna-hsms-key-management/luna-sa-network-hsm/)に開示された装置が利用可能である。   For example, Reference 4 (Java Card API and Export File for Card Specification v2.2.1 (org. Global platform) v1.6, http://www.safenet-inc.jp/data-) encryption / hardware-security-modules-hsms / luna-hsms-key-management / luna-sa-network-hsm /) can be used.

その他、鍵配送管理装置11と端末装置12−h(ただし、h∈[1,N])との通信時に、送信側の装置が一般的な存在的偽造不可能性を満たす電子署名を生成して送信情報に添付し、受信側の装置が電子署名の検証を行い、検証に成功した場合にのみ処理を継続してもよい。これにより、通信路上での改ざんに対する耐性が向上する。存在的偽造不可能性を満たす電子署名は、例えば、参考文献5(Mihir Bellare, Phillip Rogaway: Random Oracles are Practical: A Paradigm for Designing Efficient Protocols. ACM Conference on Computer and Communications Security 1993: 62-73)に開示されている。   In addition, at the time of communication between the key distribution management device 11 and the terminal device 12-h (where hε [1, N]), the transmission side device generates an electronic signature that satisfies the general existence of forgery. Then, it may be attached to the transmission information, and the apparatus on the receiving side may verify the electronic signature, and the processing may be continued only when the verification is successful. Thereby, the tolerance with respect to the tampering on a communication path improves. An electronic signature satisfying the existence of non-forgery can be found in, for example, Reference 5 (Mihir Bellare, Phillip Rogaway: Random Oracles are Practical: A Paradigm for Designing Efficient Protocols. ACM Conference on Computer and Communications Security 1993: 62-73). It is disclosed.

[第2実施形態]
次に、本発明の第2実施形態を説明する。なお、第1実施形態と共通する事項については第1実施形態と同じ参照記号を用い、説明を省略する。
<準備>
ある集合Setについて、Setから要素ωをランダムに選ぶことをω∈Setと表記する。あるアルゴリズムALGについて、入力xと乱数r(確定的アルゴリズムの場合は、乱数は空)に対してALGがyを出力することをy←ALG(x;r)またはALG(x;r)→yと表記する。「|Φ|」は値Φのビット長を表す。集合X={x,・・・,x}についてgx1・x2・...・xnをgΠXと表記する。Xが空集合の場合にはΠX=1となる。ただし、Gを位数pの乗法巡回群とし、g∈Gを群Gの生成元とする。
[Second Embodiment]
Next, a second embodiment of the present invention will be described. In addition, about the matter which is common in 1st Embodiment, the same reference symbol as 1st Embodiment is used, and description is abbreviate | omitted.
<Preparation>
Random selection of the element ω from the Set for a set Set is denoted as ωε R Set. For an algorithm ALG, y ← ALG (x; r) or ALG (x; r) → y indicates that ALG outputs y for input x and random number r (in the case of a deterministic algorithm, the random number is empty). Is written. “| Φ |” represents the bit length of the value Φ. Set X = {x 1, ···, x n} for the g x1 · x2 · ... · xn be denoted as g ΠX. When X is an empty set, ΠX = 1. However, G is a multiplicative cyclic group of order p, and gεG is a generator of the group G.

F={Fκ:Domκ×FSκ→Rngκκを、セキュリティパラメータκ上で定められた定義域{Domκκ、鍵空間{FSκκ、値域{Rngκκを持つ関数族とする。この時、もし多項式時間の識別者Dに対して、Fκと真性ランダム関数RFκ:Domκ→Rngκが見分けられなければ、F={Fκκを擬似ランダム関数族と呼ぶ。 F = {F κ : Dom κ × FS κ → Rng κ } κ has a domain {Dom κ } κ , a key space {FS κ } κ , and a range {Rng κ } κ defined on the security parameter κ A function family. At this time, if F κ and true random function RF κ : Dom κ → Rng κ cannot be distinguished for a polynomial time discriminator D, F = {F κ } κ is called a pseudo-random function family.

公開鍵暗号アルゴリズムを(EGen,Enc,Dec)とする。鍵生成アルゴリズムEGenはκを入力とし、暗号化鍵ekと復号鍵dkを出力する。暗号化アルゴリズムEncは暗号化鍵ekと平文mを入力とし、暗号文CTを出力する。復号アルゴリズムDecは復号鍵dkと暗号文CTを入力とし、平文mを出力する。   The public key encryption algorithm is assumed to be (EGen, Enc, Dec). The key generation algorithm EGen receives κ and outputs an encryption key ek and a decryption key dk. The encryption algorithm Enc receives the encryption key ek and the plaintext m, and outputs a ciphertext CT. The decryption algorithm Dec receives the decryption key dk and the ciphertext CT and outputs plaintext m.

電子署名アルゴリズムを(SGen,Sign,Ver)とする。鍵生成アルゴリズムSGenはκを入力とし、検証鍵vkと署名鍵skを出力する。署名生成アルゴリズムSignは署名鍵skと文書Mを入力とし、署名σを出力する。署名検証アルゴリズムVerは検証鍵vk、文書Mと署名σを入力とし、検証結果(検証成功/検証失敗)を出力する。   The digital signature algorithm is (SGen, Sign, Ver). The key generation algorithm SGen takes κ as an input and outputs a verification key vk and a signature key sk. The signature generation algorithm Sign receives the signature key sk and the document M and outputs a signature σ. The signature verification algorithm Ver receives the verification key vk, the document M, and the signature σ, and outputs a verification result (verification success / verification failure).

関数暗号アルゴリズムを(Setup,Der,FEnc,FDec)とする。セットアップアルゴリズムSetupはκを入力とし、マスタ秘密鍵mskと公開パラメータParamsを出力する。鍵導出アルゴリズムDerは公開パラメータParams、マスタ秘密鍵mskと属性情報Vを入力とし、秘密鍵uskを出力する。暗号化アルゴリズムFEncは公開パラメータParams、論理式Pに対応するアクセス構造と平文mを入力とし、暗号文CTを出力する。復号アルゴリズムFDecはユーザ秘密鍵uskと暗号文CTを入力とし、属性情報Vが論理式Pを真にする(論理式Pに対応するアクセス構造が属性情報を受け入れる)ならば平文mを出力する。   Let the function encryption algorithm be (Setup, Der, FEnc, FDec). The setup algorithm Setup takes κ as an input and outputs a master secret key msk and a public parameter Params. The key derivation algorithm Der receives the public parameter Params, the master secret key msk, and the attribute information V, and outputs the secret key usk. The encryption algorithm FEnc receives the public parameter Params, the access structure corresponding to the logical expression P and the plaintext m, and outputs a ciphertext CT. The decryption algorithm FDec receives the user secret key usk and the ciphertext CT, and outputs the plaintext m if the attribute information V makes the logical expression P true (the access structure corresponding to the logical expression P accepts the attribute information).

関数tPRF:{0,1}κ×FSκ×{0,1}κ×FSκ→Zを「ねじれ擬似ランダム関数(例えば「Atsushi Fujioka, Koutarou Suzuki, Keita Xagawa, Kazuki Yoneyama: Strongly Secure Authenticated Key Exchange from Factoring, Codes, and Lattices. IACR Cryptology ePrint Archive 2012: 211 (2012),http://eprint.iacr.org/2012/211」等参照)と呼び、擬似ランダム関数Fκを用いてtPRF(a,b,a’,b’):=Fκ(a,b)(+)Fκ(a’,b’)と定義する。ただし、a,a’∈{0,1}κであり、b’,b’∈FSκである。{0,1}κはκビット列を表し、「α(+)β」はαとβとの排他的論理和を表す。 The function tPRF: {0,1} κ × FS κ × {0,1} κ × FS κ → Z p is converted into a “twisted pseudo-random function (for example,“ Atsushi Fujioka, Koutarou Suzuki, Keita Xagawa, Kazuki Yoneyama: Strongly Secure Authenticated Key ” . Exchange from Factoring, Codes, and Lattices IACR Cryptology ePrint Archive 2012: 211 (2012), http: //eprint.iacr.org/2012/211 ", etc. see) and is referred to, by using a pseudo-random function F κ tPRF ( a, b, a ′, b ′): = F κ (a, b) (+) F κ (a ′, b ′). However, a, a a'∈ {0,1} κ, b ' , a b'∈FS κ. {0, 1} κ represents a κ bit string, and “α (+) β” represents an exclusive OR of α and β.

<構成>
図1に例示するように、本形態の鍵配送システム2は、端末装置22−1〜22−Nと鍵配送管理装置21とを有する。ただし、Nは3以上の整数である。端末装置22−1〜22−Nと鍵配送管理装置21とはインターネット等の安全ではない通信路を通じて通信可能に構成されている。
<Configuration>
As illustrated in FIG. 1, the key distribution system 2 of this embodiment includes terminal devices 22-1 to 22-N and a key distribution management device 21. However, N is an integer greater than or equal to 3. The terminal devices 22-1 to 22-N and the key distribution management device 21 are configured to be able to communicate through an insecure communication path such as the Internet.

図6に例示するように、本形態の鍵配送管理装置21は、制御部210と秘密鍵生成部2101と秘密鍵暗号化部2102と署名生成部2103と署名検証部2104と第1シード値生成部2111(第1,6配送処理部)と第1シード値暗号化部2112(第1,6配送処理部)と管理秘密値生成部2121(第2〜5配送処理部)と第2シード値秘匿化情報生成部2122(第2〜5配送処理部)と通信部218と記憶部219とを有する。 As illustrated in FIG. 6, the key distribution management device 21 of the present embodiment includes a control unit 210, a secret key generation unit 2101, a secret key encryption unit 2102, a signature generation unit 2103, a signature verification unit 2104, and a first seed value generation. Unit 2111 (first and sixth delivery processing units), first seed value encryption unit 2112 (first and sixth delivery processing units), management secret value generation unit 2121 (second to fifth delivery processing units), and second seed value The concealment information generation unit 2122 (second to fifth delivery processing units), a communication unit 218, and a storage unit 219 are included.

図7に例示するように、本形態の端末装置22−hは、制御部220−hと秘密鍵復号部2201−hと端末秘密値生成部2202−hと公開情報生成部2203−hと署名生成部2204−hと署名検証部2205−hと第1シード値復号部221−h(第1処理部)と秘匿化共有情報生成部222−h(第2,6処理部)と第2シード値生成部223−h(第3,5,7処理部)と共通鍵生成部224−h(第4処理部)と通信部228−hと記憶部229−hとを有する。ただし、h∈[1,N]である。   As illustrated in FIG. 7, the terminal device 22-h according to the present embodiment includes a control unit 220-h, a secret key decryption unit 2201-h, a terminal secret value generation unit 2202-h, a public information generation unit 2203-h, and a signature. Generation unit 2204-h, signature verification unit 2205-h, first seed value decryption unit 221-h (first processing unit), concealed shared information generation unit 222-h (second and sixth processing units), and second seed A value generation unit 223-h (third, fifth, and seventh processing units), a common key generation unit 224-h (fourth processing unit), a communication unit 228-h, and a storage unit 229-h are included. However, hε [1, N].

各装置は、例えば、上述のようなコンピュータが所定のプログラムを実行することで構成される装置であってもよいし、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、各装置は自らが備える制御部210,220−hの制御に基づいて各処理を実行する。各装置の各処理で得られたデータは、逐一、それぞれが備える記憶部219,229−hに格納され、必要に応じて読み出されて使用される。   Each device may be, for example, a device configured by a computer as described above executing a predetermined program, or part or all of the device using an electronic circuit that realizes a processing function without using a program. The processing unit may be configured. In addition, each device executes each process based on the control of the control units 210 and 220-h included in the respective devices. Data obtained in each process of each device is stored in the storage units 219 and 229-h included in each device, and read and used as necessary.

<システムセットアップ>
鍵配送管理装置21(図6)の制御部210は、関数暗号のセットアップアルゴリズムSetupにより、公開パラメータParamsとマスタ秘密鍵mskを生成する。また制御部210は、公開鍵暗号の鍵生成アルゴリズムEGenにより、暗号化鍵ekと復号鍵dkを生成し、電子署名の鍵生成アルゴリズムSGenにより、検証鍵vkと署名鍵skを生成する。各端末装置22−h(図7)の制御部220−hは、公開鍵暗号の鍵生成アルゴリズムEGenにより、暗号化鍵ekと復号鍵dkを生成し、電子署名の鍵生成アルゴリズムSGenにより、検証鍵vkと署名鍵skを生成する。また制御部220−hは、秘密ストリング(st,st’)をそれぞれst∈FSκ、st’∈{0,1}κとして生成する。また、鍵配送管理装置21の識別情報Sおよび各端末装置22−hの識別情報Uが設定される。
<System setup>
The control unit 210 of the key distribution management device 21 (FIG. 6) generates a public parameter Params and a master secret key msk by a function encryption setup algorithm Setup. Further, the control unit 210 generates an encryption key ek s and a decryption key dk s using a key generation algorithm EGen for public key encryption, and generates a verification key vk s and a signature key sk s using a key generation algorithm SGen for an electronic signature. To do. The control unit 220-h of each terminal device 22-h (FIG. 7) generates an encryption key ek h and a decryption key dk h using a public key encryption key generation algorithm EGen, and an electronic signature key generation algorithm SGen. The verification key vk h and the signature key sk h are generated. Further, the control unit 220-h generates secret strings (st h , st ′ h ) as st h εFS κ and st ′ h ε {0, 1} κ , respectively. Also, the identification information S of the key distribution management device 21 and the identification information U h of each terminal device 22- h are set.

S、U,・・・,U、Paramsは、鍵配送管理装置21の記憶部219および各端末装置22−hの記憶部229−h(ただし、h∈[1,N])に格納される。鍵配送管理装置21の記憶部219には、さらにmsk、sk、ek,・・・,ek、vk,・・・,vkが格納される。各端末装置22−hの記憶部229−hには、さらにdk、sk、st、st’、ek、vkが格納される。 S, U 1 ,..., U N , Params are stored in the storage unit 219 of the key distribution management device 21 and the storage unit 229-h (where h∈ [1, N]) of each terminal device 22-h. Is done. The storage unit 219 of the key distribution management device 21 further msk, sk s, ek 1, ···, ek N, vk 1, ···, vk N is stored. The storage unit 229-h of the terminal devices 22-h, further dk h, sk h, st h , st 'h, ek s, vk s are stored.

<鍵配送処理>
以下、端末装置22−1〜22−Nからなる集合の部分集合(ユーザ集合)である端末装置22−σ(1)〜22−σ(n)がセッションを立ち上げ、共通鍵を共有する処理を説明する。ただし、nは2以上N以下の整数であり、{σ(1),・・・,σ(n)}⊂{1,・・・,N}であるとする。以降、記述を簡単にするために、一般性を失うことなく(σ(1),・・・,σ(n))=(1,・・・,n)と仮定することにする。セッションには、固有のセッション識別情報sidが付され、sidは鍵配送管理装置21の記憶部219および各端末装置22−iの記憶部229−i(ただし、i∈[1,n])に格納される。セッション識別情報sidは例えば、鍵配送管理装置21によって付される。
<Key distribution process>
Hereinafter, processing in which terminal devices 22-σ (1) to 22-σ (n), which are a subset (user set) of the set including the terminal devices 22-1 to 22-N, establish a session and share a common key. Will be explained. However, n is an integer greater than or equal to 2 and less than or equal to N, and is assumed to be {σ (1),..., Σ (n)} ⊂ {1,. In the following, in order to simplify the description, it is assumed that (σ (1),..., Σ (n)) = (1,..., N) without losing generality. The session is given unique session identification information sid, and the sid is stored in the storage unit 219 of the key distribution management device 21 and the storage unit 229-i (where i∈ [1, n]) of each terminal device 22-i. Stored. The session identification information sid is attached by, for example, the key distribution management device 21.

≪関数暗号方式に則った秘密鍵の配送≫
そのセッションが有効時間区間(タイムフレーム)TFにおける最初のセッションであった場合、関数暗号方式に則った秘密鍵の配送が行われる。この場合、図8に例示するように、まず鍵配送管理装置21(図6)の秘密鍵生成部2101が、記憶部219からParams、mskを読み込み、関数暗号方式に則り、端末装置22−iの識別情報Uと有効時間区間TFに属する時間time∈TFに対応する情報を含む属性情報V:=V(U,time)に対応する秘密鍵usk:=Der(Params,msk,V)(ただし、i∈[1,n])を生成して出力する。秘密鍵uskは記憶部219に格納される(ステップS2011)。秘密鍵暗号化部2102は、記憶部219から秘密鍵uskおよび暗号化鍵ekを読み込み、暗号化鍵ekを用いて秘密鍵uskを暗号化し、暗号文CT←Enceki(usk)を生成して出力する。ただし、下付き添え字の「eki」は「ek」を表す(ステップS2012)。暗号文CT(ただし、i∈[1,n])は通信部218に送られ、通信部218は暗号文CTを端末装置22−iに送信する。各暗号文CTは端末装置22−i(図7)の通信部228−iに入力され、記憶部229−iに格納される(ステップS2013)。秘密鍵復号部2201−iは、記憶部229−iから復号鍵dkおよび暗号文CTを読み込み、復号鍵dkを用いて暗号文CTを復号して秘密鍵usk←Decdki(CT)を生成して出力する。ただし、下付き添え字の「dki」は「dk」を表す。秘密鍵uskは、端末装置22−iの記憶部229−iに安全に格納される(ステップS2014)。なお、セッションが有効時間区間TFにおける最初のセッションでない場合には、ステップS2011からS2014の処理が省略されてもよい。
≪Delivery of private key in accordance with functional cryptography≫
When the session is the first session in the valid time interval (time frame) TF, the secret key is distributed according to the function encryption method. In this case, as illustrated in FIG. 8, first, the secret key generation unit 2101 of the key distribution management device 21 (FIG. 6) reads Params and msk from the storage unit 219, and the terminal device 22-i in accordance with the function encryption method. And the secret key usk i : = Der (Params, msk,) corresponding to the attribute information V i : = V (U i , time) including the information corresponding to the identification information U i and the time time ∈TF belonging to the valid time interval TF V i ) (where i∈ [1, n]) is generated and output. Secret key usk i is stored in the storage unit 219 (step S2011). The secret key encryption unit 2102 reads the secret key usk i and the encryption key ek i from the storage unit 219, encrypts the secret key usk i using the encryption key ek i , and encrypts the ciphertext CT i ← Enc eki (usk i ) is generated and output. However, "eki" in the subscript represents a "ek i" (step S2012). The ciphertext CT i (where iε [1, n]) is sent to the communication unit 218, and the communication unit 218 transmits the ciphertext CT i to the terminal device 22-i. Each ciphertext CT i is input to the communication unit 228-i of the terminal device 22-i (FIG. 7) and stored in the storage unit 229-i (step S2013). The secret key decryption unit 2201-i from the storage unit 229-i read the decryption key dk i and the ciphertext CT i, secret key to decrypt the ciphertext CT i by using the decryption key dk i usk iDec dki ( CT i ) is generated and output. However, "dki" of subscript represents a "dk i". The secret key usk i is securely stored in the storage unit 229-i of the terminal device 22-i (step S2014). If the session is not the first session in the valid time section TF, the processing from steps S2011 to S2014 may be omitted.

≪共有情報の生成≫
次に、鍵配送管理装置21および端末装置22−1〜22−nが協力して共有情報C=gΠ{xi|i∈[1,n]}を生成する。図9に例示するように、まず端末装置22−1(図7)の端末秘密値生成部2202−1は、記憶部229−1からstとst’を読み込み、r{0,1}κとr’FSκを生成し、端末秘密値x←tPRF(r,st,st’,r’)を生成して出力する。端末秘密値xは記憶部229−1に格納される(ステップS2022−1)。
≪Generation of shared information≫
Next, the key distribution management device 21 and the terminal devices 22-1 to 22-n cooperate to generate shared information C = gg {xi | iε [1, n]} . As illustrated in FIG. 9, first, the terminal secret value generation unit 2202-1 of the terminal device 22-1 (FIG. 7) reads st 1 and st ′ 1 from the storage unit 229-1, and r 1R {0. , 1} κ and r ′ 1R FS κ are generated, and a terminal secret value x 1 ← tPRF (r 1 , st 1 , st ′ 1 , r ′ 1 ) is generated and output. Terminal secret x 1 is stored in the storage unit 229-1 (Step S2022-1).

公開情報生成部2203−1は、記憶部229−1から端末秘密値xを読み込んでgx1∈Gを生成する。署名生成部2203−1は、記憶部229−1から署名鍵skおよび識別情報S,U,・・・,Uを読み込み、署名σ←Sigsk1(U,(U,・・・,U),S,g,gx1)を生成する。(U,gx1,σ)は通信部228−1に送られ、通信部228−1は(U,gx1,σ)を鍵配送管理装置21に送信する(ステップS2023−1)。 Public information generation unit 2203-1 generates a g x1 ∈G from the storage unit 229-1 reads the terminal secret x 1. Signature generation unit 2203-1, the signature from the storage unit 229-1 key sk 1 and the identification information S, U 1, · · ·, reads U n, a signature σ 1 ← Sig sk1 (U 1 , (U 1, · .., U n ), S, g, g x1 ) are generated. (U 1 , g x1 , σ 1 ) is sent to the communication unit 228-1, and the communication unit 228-1 transmits (U 1 , g x1 , σ 1 ) to the key distribution management device 21 (step S2023-1). ).

その後、w∈[1,n−1]について、鍵配送管理装置21と端末装置22−iとの間で次のように通信を行う。ただし、w∈[1,n−1]の範囲では、実行する順序が前後してもかまわない。
端末装置22−iから送信された(U,gΠ{xk|k∈[1,i]},σ)は、鍵配送管理装置21(図6)の通信部218に入力され、記憶部219に格納される。署名検証部2104は、記憶部219から検証鍵vkおよび署名σを読み込み、検証鍵vkを用い、署名σをVervki((U,(U,・・・,U),S,gΠ{xk|k∈[1,i−1]},gΠ{xk|k∈[1,i]}),σ)として検証する。ただし、i=1でのgΠ{xk|k∈[1,i−1]}は公開情報gΠ{xk|k∈[1,0]}:=gであり、i∈[2,n−1]でのgΠ{xk|k∈[1,i−1]}は既に端末装置22−(i−1)から受け取っているものとする(ステップS2024−i)。ここで、署名σが正当でない(検証失敗)と判断された場合、セッションを終了する。一方、署名σが正当である(検証成功)と判断された場合、(U,gΠ{xk|k∈[1,i]})が通信部218に送られ、通信部218は(U,gΠ{xk|k∈[1,i]})を端末装置22−(i+1)に送信する(ステップS2021−(i+1))。(U,gΠ{xk|k∈[1,i]})は、端末装置22−(i+1)(図7)の通信部228−(i+1)に入力され、記憶部229−(i+1)に格納される。端末装置22−(i+1)の端末秘密値生成部2202−(i+1)は、記憶部229−(i+1)からsti+1とst’i+1を読み込み、ri+1{0,1}κとr’i+1FSκを生成し、端末秘密値xi+1←tPRF(ri+1,sti+1,st’i+1,r’i+1)を生成して出力する。端末秘密値xi+1は記憶部229−(i+1)に格納される(ステップS2022−(i+1))。公開情報生成部2203−(i+1)は、記憶部229−(i+1)から端末秘密値xi+1およびgΠ{xk|k∈[1,i]}を読み込み、gΠ{xk|k∈[1,i+1]}:=gΠ{xk|k∈[1,i]}・xi+1∈Gを生成する。gΠ{xk|k∈[1,i+1]}は記憶部229−(i+1)に格納される。署名生成部2204−(i+1)は、記憶部229−(i+1)から署名鍵ski+1および識別情報S,U,・・・,Uを読み込み、署名σi+1←Sigski+1(Ui+1,(U,・・・,U),S,gΠ{xk|k∈[1,i]},gΠ{xk|k∈[1,i+1]})を生成する。ただし、下付き添え字の「ski+1」は「ski+1」を表す。(Ui+1,gΠ{xk|k∈[1,i+1]},σi+1)は通信部228−(i+1)に送られ、通信部228−(i+1)は(Ui+1,gΠ{xk|k∈[1,i+1]},σi+1)を鍵配送管理装置21に送信する(ステップS2023−(i+1))。
Thereafter, for wε [1, n−1], communication is performed between the key distribution management device 21 and the terminal device 22-i as follows. However, in the range of w∈ [1, n−1], the order of execution may be changed.
(U i , g Π {xk | kε [1, i]} , σ i ) transmitted from the terminal device 22-i is input to the communication unit 218 of the key distribution management device 21 (FIG. 6) and stored. Stored in the unit 219. The signature verification unit 2104 reads the verification key vk i and the signature σ i from the storage unit 219, and uses the verification key vk i to convert the signature σ i to Ver vki ((U i , (U 1 ,..., U n )). , S, g Π {xk | k∈ [1, i−1]} , g Π {xk | k∈ [1, i]} ), σ i ). However, g Π {xk | k∈ [1, i−1]} at i = 1 is public information g Π {xk | k∈ [1, 0]} : = g, and i∈ [2, n −1] is assumed to have already been received from the terminal device 22- (i-1) (step S2024-i). If it is determined that the signature σ i is not valid (verification failure), the session is terminated. On the other hand, when it is determined that the signature σ i is valid (verification is successful), (U i , g Π {xk | kε [1, i]} ) is sent to the communication unit 218, and the communication unit 218 ( U i , g Π {xk | kε [1, i]} ) is transmitted to the terminal device 22- (i + 1) (step S2021- (i + 1)). (U i , g Π {xk | kε [1, i]} ) is input to the communication unit 228- (i + 1) of the terminal device 22- (i + 1) (FIG. 7), and the storage unit 229- (i + 1). Stored in The terminal secret value generation unit 2202- (i + 1) of the terminal device 22- (i + 1) reads st i + 1 and st ′ i + 1 from the storage unit 229- (i + 1), and r i + 1R {0, 1} κ and r ′. i + 1R FS κ is generated, and the terminal secret value x i + 1 ← tPRF (r i + 1 , st i + 1 , st ′ i + 1 , r ′ i + 1 ) is generated and output. The terminal secret value x i + 1 is stored in the storage unit 229- (i + 1) (step S2022- (i + 1)). The public information generation unit 2203- (i + 1) reads the terminal secret value x i + 1 and g Π {xk | k∈ [1, i]} from the storage unit 229- (i + 1), and g Π {xk | k∈ [1 , I + 1]} : = g Π {xk | kε [1, i]} · xi + 1 εG. g Π {xk | kε [1, i + 1]} is stored in the storage unit 229- (i + 1). The signature generation unit 2204- (i + 1) reads the signature key sk i + 1 and the identification information S, U 1 ,..., U n from the storage unit 229- (i + 1), and the signature σ i + 1 ← Sig ski + 1 (U i + 1 , ( U 1 ,..., U n ), S, g Π {xk | k∈ [1, i]} , g Π {xk | k∈ [1, i + 1]} ). However, "ski + 1" in the subscript represents a "sk i + 1". (U i + 1 , g Π {xk | kε [1, i + 1]} , σ i + 1 ) is sent to the communication unit 228-(i + 1), and the communication unit 228-(i + 1) is sent to (U i + 1 , g Π {xk | kε [1, i + 1]} , σ i + 1 ) is transmitted to the key distribution management device 21 (step S2023- (i + 1)).

上記の処理の結果、最後のステップS2023−nでは、共有情報C=gΠ{xi|i∈[1,n]}=gΠ{xk|k∈[1,n]}を含む(U,gΠ{xk|k∈[1,n]},σ)が鍵配送管理装置21に送信される。(U,gΠ{xk|k∈[1,n]},σ)は、鍵配送管理装置21(図6)の通信部218に入力され、記憶部219に格納される。署名検証部2104は、記憶部219から検証鍵vk、識別情報U,・・・,U,S、および署名σを読み込み、検証鍵vkを用い、署名σをVervki((U,(U,・・・,U),S,gΠ{xk|k∈[1,n−1]},gΠ{xk|k∈[1,n]}),σ)として検証する(ステップS2024−n)。ここで、署名σが正当でないと判断された場合、セッションを終了する。一方、署名σが正当であると判断された場合、シード値の共有処理に移る。 As a result of the above processing, in the last step S2023-n, the shared information C = g Π {xi | i∈ [1, n]} = g Π {xk | k∈ [1, n]} is included (U n , G Π {xk | kε [1, n]} , σ n ) is transmitted to the key distribution management device 21. (U n , g Π {xk | k∈ [1, n]} , σ n ) is input to the communication unit 218 of the key distribution management device 21 (FIG. 6) and stored in the storage unit 219. Signature verification unit 2104, a verification key vk n from the storage unit 219, the identification information U 1, · · ·, reads U n, S, and signature sigma n, using the verification key vk n, a signature sigma n Ver VKI ( (U n , (U 1 ,..., U n ), S, g Π {xk | k∈ [1, n−1]} , g Π {xk | k∈ [1, n]} ), σ i ) is verified (step S2024-n). Here, if it is determined that the signature σ n is not valid, the session is terminated. On the other hand, if it is determined that the signature σ n is valid, the process proceeds to seed value sharing processing.

≪シード値の共有処理≫
図10に例示するように、シード値の共有処理では、まず鍵配送管理装置21(図6)の第1シード値生成部2111が第1シード値KFSκを生成し、記憶部219に格納する(ステップS2031)。次に、第1シード値暗号化部2112が記憶部219からParamsおよび第1シード値Kを読み込み、関数暗号方式に則って第1シード値Kを暗号化し、端末装置22−iの識別情報Uと有効時間区間TFに属する時間timeに対応する情報を含む属性情報P:=(ID=U)∧(time∈TF)に対応する秘密鍵で復号可能な暗号文CT’←FEnc(Params,P,K)を生成して記憶部219に格納する(ステップS2032)。署名生成部2103は、記憶部219から署名鍵sk、識別情報S、U,・・・,U、共有情報C=gΠ{xk|k∈[1,n]}、暗号文CT’を読み込み、w∈[1,n−1]について署名σsw←Sigsks(S,(U,・・・,U),S,gΠ{xk|k∈[1,n]},CT’)を生成する。また、nについて署名σsn←Sigsks(S,(U,・・・,U),S,CT’)を生成する。w∈[1,n−1]について(U,gΠ{xk|k∈[1,n]},CT’,σsw)が通信部218に送られ、通信部218は(U,gΠ{xk|k∈[1,n]},CT’,σsw)を端末装置22−wに送信する。(U,gΠ{xk|k∈[1,n]},CT’,σsw)は端末装置22−wの通信部228−wに入力され、記憶部229−wに格納される。nについて(U,CT’,σsn)が通信部218に送られ、通信部218は(U,CT’,σsn)を端末装置22−nに送信する。(U,CT’,σsn)は端末装置22−nの通信部228−nに入力され、記憶部229−nに格納される。なお、記憶部229−nには、前述のステップS2023−nの過程で既にgΠ{xk|k∈[1,n]}が格納されている(ステップS2031)。
≪Seed value sharing process≫
As illustrated in FIG. 10, in the seed value sharing process, first, the first seed value generation unit 2111 of the key distribution management device 21 (FIG. 6) generates a first seed value K 1R FS κ , and the storage unit It stores in 219 (step S2031). Next, the first seed value encryption unit 2112 reads the Params and first seed value K 1 from the storage unit 219, a first seed value K 1 encrypted in accordance with the function cryptography, identification of the terminal device 22-i Ciphertext CT ′ i that can be decrypted with a secret key corresponding to attribute information P i : = (ID = U i ) ∧ (timeεTF) including information U i and information corresponding to time time belonging to valid time interval TF ← FEnc (Params, P i , K 1 ) is generated and stored in the storage unit 219 (step S2032). The signature generation unit 2103 receives from the storage unit 219 the signature key sk s , identification information S, U 1 ,..., U n , shared information C = g ∈ {xk | k∈ [1, n]} , ciphertext CT 'read w and sign σ sw ← Sig sks (S, (U 1 ,..., U n ), S, g Π {xk | k∈ [1, n] for w∈ [1, n−1] } , CT ′ w ). Further, a signature σ sn ← Sig sks (S, (U 1 ,..., U n ), S, CT ′ n ) is generated for n . For w∈ [1, n−1], (U w , g Π {xk | k∈ [1, n]} , CT ′ w , σ sw ) is sent to the communication unit 218, and the communication unit 218 receives (U w , G Π {xk | k∈ [1, n]} , CT ′ w , σ sw ) to the terminal device 22-w. (U w , g Π {xk | kε [1, n]} , CT ′ w , σ sw ) is input to the communication unit 228-w of the terminal device 22-w and stored in the storage unit 229-w. . For (n), (U n , CT ′ n , σ sn ) is sent to the communication unit 218, and the communication unit 218 transmits (U n , CT ′ n , σ sn ) to the terminal device 22-n. (U n , CT ′ n , σ sn ) is input to the communication unit 228-n of the terminal device 22-n and stored in the storage unit 229-n. Note that g Π {xk | kε [1, n]} is already stored in the storage unit 229-n in the process of step S2023-n described above (step S2031).

端末装置22−w(ただし、w∈[1,n−1])の署名検証部2205−wは、記憶部229−wから検証鍵vk、識別情報S、U,・・・,U、共有情報C=gΠ{xk|k∈[1,n]}、暗号文CT’、および署名σswを読み込み、検証鍵vkを用い、署名σswをVervks((S,(U,・・・,U),S,gΠ{xk|k∈[1,n]},CT’),σsw)として検証する(ステップS2051−w)。ここで、署名σswが正当でないと判断された場合、セッションを終了する。一方、署名σswが正当であると判断された場合、ステップS2052−wの処理に進む。端末装置22−nの署名検証部2205−nは、記憶部から検証鍵vk、識別情報S、U,・・・,U、暗号文CT’を読み込み、検証鍵vkを用い、署名σsiをVervks((S,(U,・・・,U),S,CT’),σsn)として検証する(ステップS2051−n)。ここで、署名σsnが正当でないと判断された場合、セッションを終了する。一方、署名σsnが正当であると判断された場合、ステップS2052−nの処理に進む。 The signature verification unit 2205-w of the terminal device 22-w (where wε [1, n-1]) receives the verification key vk s , identification information S, U 1 ,..., U from the storage unit 229-w. n , shared information C = g Π {xk | k∈ [1, n]} , ciphertext CT ′ w , and signature σ sw are read, and verification key vk s is used, and signature σ sw is converted to Ver vks ((S, (U 1 ,..., U n ), S, g Π {xk | k∈ [1, n]} , CT ′ w ), σ sw ) are verified (step S2051-w). Here, if it is determined that the signature σ sw is not valid, the session is terminated. On the other hand, if it is determined that the signature σ sw is valid, the process proceeds to step S2052-w. The signature verification unit 2205-n of the terminal device 22-n are verification key vk s from the storage unit, identification information S, U 1, ···, U n, reads the ciphertext CT 'n, using the verification key vk s The signature σ si is verified as Ver vks ((S, (U 1 ,..., U n ), S, CT ′ n ), σ sn ) (step S2051-n). Here, if it is determined that the signature σ sn is not valid, the session is terminated. On the other hand, if it is determined that the signature σ sn is valid, the process proceeds to step S2052-n.

ステップS2052−i(ただし、i∈[1,n])では、端末装置22−i(図7)の第1シード値復号部221−iが、記憶部229−iから秘密鍵uskおよび暗号文CT’を読み込み、秘密鍵uskを用い、関数暗号方式に則って暗号文CT’をK←FDecuski(CT’,P)として復号して第1シード値Kを生成して出力する。第1シード値Kは記憶部229−iに格納される(ステップS2052−i)。 In step S2052-i (where iε [1, n]), the first seed value decryption unit 221-i of the terminal device 22-i (FIG. 7) receives the secret key usk i and the encryption from the storage unit 229-i. The text CT ′ i is read, the secret key usk i is used, and the cipher text CT ′ i is decrypted as K 1 ← Fdec uski (CT ′ i , P i ) according to the functional encryption method, and the first seed value K 1 is obtained. Generate and output. The first seed value K 1 is stored in the storage unit 229-i (step S2052-i).

次に、秘匿化共有情報生成部222−i(ただし、i∈[1,n])は、記憶部229−iから共有情報C=gΠ{xk|k∈[1,n]}および端末秘密値xを読み込み、共有情報Cと端末秘密値の逆元1/xとに応じた秘匿化共有情報gΠ{xk|k∈[1,n]∧k≠i}:=gΠ{xk|k∈[1,n]}/xiを生成して出力する。秘匿化共有情報gΠ{xk|k∈[1,n]∧k≠i}は記憶部229−iに格納される(ステップS206−i)。 Next, the concealment shared information generation unit 222-i (where iε [1, n]) receives the shared information C = gΠ {xk | kε [1, n]} and the terminal from the storage unit 229-i. The secret value x i is read, and the concealment shared information g Π {xk | k∈ [1, n] ∧k ≠ i} corresponding to the shared information C and the inverse element 1 / x i of the terminal secret value: = g Π {Xk | kε [1, n]} / xi is generated and output. The concealment shared information g Π {xk | kε [1, n] ∧k ≠ i} is stored in the storage unit 229-i (step S206-i).

署名生成部2204−iは、記憶部229−iから、署名鍵sk、識別情報S,U,・・・,U、秘匿化共有情報gΠ{xk|k∈[1,n]∧k≠i}を読み込み、署名σ’←Sigski(U,(U,・・・,U),S,gΠ{xk|k∈[1,n]∧k≠i})を生成する。(U,gΠ{xk|k∈[1,n]∧k≠i},σ’)は通信部228−iに送られ、通信部228−iは(U,gΠ{xk|k∈[1,n]∧k≠i},σ’)を鍵配送管理装置21に送信する(ステップS207−i)。 The signature generation unit 2204-i receives the signature key sk i , identification information S, U 1 ,..., U n , concealment shared information g 秘 {xk | k∈ [1, n] from the storage unit 229-i . ∧k ≠ i} is read and the signature σ ′ i ← Sig ski (U i , (U 1 ,..., U n ), S, g Π {xk | k∈ [1, n] ∧k ≠ i} ) Is generated. (U i , g Π {xk | kε [1, n] ∧k ≠ i} , σ ′ i ) is sent to the communication unit 228-i, and the communication unit 228-i receives (U i , g Π {xk | Kε [1, n] ∧k ≠ i} , σ ′ i ) is transmitted to the key distribution management device 21 (step S207-i).

図11に例示するように、各端末装置22−i(ただし、i∈[1,n])から送信された(U,gΠ{xk|k∈[1,n]∧k≠i},σ’)は、鍵配送管理装置21の通信部218に入力され、記憶部219に格納される。署名検証部2104は、記憶部219から検証鍵vk、識別情報U,・・・,U,S、秘匿化共有情報gΠ{xk|k∈[1,n]∧k≠i}、および署名σ’を読み込み、検証鍵vkを用い、署名σ’をVervki((U,(U,・・・,U),S,gΠ{xk|k∈[1,n]∧k≠i}),σ’)として検証する(ステップS2081)。ここで、何れかの署名σ’が正当でないと判断された場合、セッションを終了する。一方、すべての署名σ’が正当であると判断された場合、管理秘密値生成部2121が管理秘密値xを生成して記憶部219に格納する(ステップS2082)。第2シード値秘匿化共有情報部2122は、記憶部219から秘匿化共有情報gΠ{xk|k∈[1,n]∧k≠i}および管理秘密値xを読み込み、秘匿化共有情報gΠ{xk|k∈[1,n]∧k≠i}と管理秘密値xとに応じた第2シード値の秘匿化情報gΠ{xk|k∈[1,n]∧k≠i}・xs(ただし、i∈[1,n])を生成する。第2シード値の秘匿化情報gΠ{xk|k∈[1,n]∧k≠i}・xsは記憶部219に格納される(ステップS2091)。署名生成部2103は、記憶部219から署名鍵sk、識別情報S、U,・・・,U、および第2シード値の秘匿化情報gΠ{xk|k∈[1,n]∧k≠i}・xsを読み込み、i∈[1,n]について署名σ’si←Sigsks(S,(U,・・・,U),S,gΠ{xk|k∈[1,n]∧k≠i}・xs)を生成する。(U,gΠ{xk|k∈[1,n]∧k≠i}・xs,σ’si)は通信部218に送られ、通信部218は、(U,gΠ{xk|k∈[1,n]∧k≠i}・xs,σ’si)を端末装置22−iに送信する。(U,gΠ{xk|k∈[1,n]∧k≠i}・xs,σ’si)は、端末装置22−i(図7)の通信部228−iに入力され、記憶部229−iに格納される(ステップS2092)。 As illustrated in FIG. 11, (U i , g Π {xk | kε [1, n] ∧ k ≠ i} transmitted from each terminal device 22-i (where i ∈ [1, n]) . , Σ ′ i ) is input to the communication unit 218 of the key distribution management device 21 and stored in the storage unit 219. The signature verification unit 2104 receives the verification key vk i , identification information U 1 ,..., U n , S, concealment shared information g Π {xk | k∈ [1, n] ∧k ≠ i} from the storage unit 219 . , And the signature σ ′ i , the verification key vk i is used, and the signature σ ′ i is converted to Ver vki ((U i , (U 1 ,..., U n ), S, g Π {xk | k∈ [ 1, n] ∧k ≠ i} ), σ ′ i ) (step S2081). If it is determined that any signature σ ′ i is not valid, the session is terminated. On the other hand, when it is determined that all signatures σ ′ i are valid, the management secret value generation unit 2121 generates the management secret value x sR Z p and stores it in the storage unit 219 (step S2082). The second seed value concealment shared information unit 2122 reads the concealment shared information g Π {xk | kε [1, n] ∧k ≠ i} and the management secret value x s from the storage unit 219, and conceals the shared information. The second seed value concealment information g n {xk | k∈ [1, n] ∧k ≠ in accordance with g Π {xk | k∈ [1, n] ∧k ≠ i} and the management secret value x s i} · xs (where i∈ [1, n]) is generated. The second seed value concealment information g Π {xk | kε [1, n] ∧k ≠ i} · xs is stored in the storage unit 219 (step S2091). The signature generation unit 2103 sends the signature key sk s , identification information S, U 1 ,..., U n and the second seed value concealment information g Π {xk | k∈ [1, n] from the storage unit 219 . ∧k ≠ i} · xs is read and the signature σ ′ si ← Sig sks (S, (U 1 ,..., U n ), S, g Π {xk | k∈ [ 1, n] ∧k ≠ i} · xs ). (U i , g Π {xk | kε [1, n] ∧k ≠ i} · xs , σ ′ si ) is sent to the communication unit 218, and the communication unit 218 receives (U i , g Π {xk | kε [1, n] ∧k ≠ i} · xs , σ ′ si ) is transmitted to the terminal device 22-i. (U i , g Π {xk | kε [1, n] ∧k ≠ i} · xs , σ ′ si ) is input to the communication unit 228-i of the terminal device 22-i (FIG. 7) and stored. Stored in the unit 229-i (step S2092).

端末装置22−i(ただし、i∈[1,n])の署名検証部2205−iは、記憶部229−iから検証鍵vk、識別情報S、U,・・・,U、gΠ{xk|k∈[1,n]∧k≠i}・xs、および署名σ’siを読み込み、検証鍵vkを用い、署名σ’siをVervks((S,(U,・・・,U),S,gΠ{xk|k∈[1,n]∧k≠i}・xs),σ’si)として検証する(ステップS2101−i)。ここで、署名σ’siが正当でないと判断された場合、セッションを終了する。一方、署名σ’siが正当であると判断された場合、第2シード値生成部223−iが、記憶部229−iから第2シード値の秘匿化情報gΠ{xk|k∈[1,n]∧k≠i}・xsおよび端末秘密値xを読み込み、第2シード値の秘匿化情報gΠ{xk|k∈[1,n]∧k≠i}・xsと端末秘密値xとに応じた第2シード値K:=gΠ{xk|k∈[1,n]∧k≠i}・xs・xi=gΠ{xk|k∈[1,n]}・xsを生成して出力する。第2シード値Kは記憶部229−iに格納される(ステップS2102−i)。 The signature verification unit 2205-i of the terminal device 22-i (where iε [1, n]) receives the verification key vk s , identification information S, U 1 ,..., U n from the storage unit 229-i. g Π {xk | k∈ [1, n] ∧k ≠ i} · xs and the signature σ ′ si , and using the verification key vk s , the signature σ ′ si is converted to Ver vks ((S, (U 1 , .. , U n ), S, g Π {xk | kε [1, n] ∧k ≠ i} · xs ), σ ′ si ) (step S2101-i). Here, if it is determined that the signature σ ′ si is not valid, the session is terminated. On the other hand, when it is determined that the signature σ ′ si is valid, the second seed value generation unit 223-i transmits the second seed value concealment information g Π {xk | k∈ [1 ] from the storage unit 229-i. , N] ∧k ≠ i} · xs and the terminal secret value x i , and the second seed value concealment information g Π {xk | k∈ [1, n] ∧k ≠ i} · xs and the terminal secret value The second seed value K 2 according to x i : = g Π {xk | k∈ [1, n] ∧k ≠ i} · xs · xi = g Π {xk | k∈ [1, n]} · xs is generated and output. The second seed value K 2 is stored in the storage unit 229-i (step S2102-i).

共通鍵生成部224−i(ただし、i∈[1,n])は、記憶部229−iから、セッション識別情報sid、第1シード値K、および第2シード値Kを読み込み、擬似ランダム関数Fκを用い、第1シード値Kを含む情報と第2シード値Kを含む情報とに対応する共通鍵K=Fκ(sid,K)(+)Fκ(sid,K)を生成して出力する。このように生成された共通鍵Kは、第1シード値Kに関する情報および第2シード値Kに関する情報が隠蔽された情報となる(ステップS211)。 The common key generation unit 224-i (where i∈ [1, n]) reads the session identification information sid, the first seed value K 1 , and the second seed value K 2 from the storage unit 229-i, and simulates them. Using a random function F κ , a common key K = F κ (sid, K 1 ) (+) F κ (sid, corresponding to information including the first seed value K 1 and information including the second seed value K 2 K 2 ) is generated and output. The common key K generated as is information in which information and the second information on the seed value K 2 for the first seed value K 1 is concealed (step S211).

<端末装置追加処理>
端末装置22−1〜22−nにより既に確立されたセッションに、新たな端末装置22−(n+1)を追加し、共通鍵Kを更新する処理を説明する。本形態でも、一般性を失うことなく、新たな端末装置を端末装置22−(n+1)とすることができる。
<Terminal device addition processing>
A process of adding a new terminal device 22- (n + 1) to a session already established by the terminal devices 22-1 to 22-n and updating the common key K will be described. Also in this embodiment, a new terminal device can be the terminal device 22- (n + 1) without losing generality.

上述した確立されたセッションでの有効時間区間が終了し、端末装置22−1〜22−nにとって新たな有効時間区間TFでセッションを行うことになる場合、前述した関数暗号方式に則った秘密鍵usk(ただし、i∈[1,n])の配送が行われる(図8:ステップS2011〜S2014)。この処理は既に説明したため、ここでの説明を省略する。 When the valid time interval in the established session ends and the terminal devices 22-1 to 22-n conduct a session in a new valid time interval TF, the secret key in accordance with the above-described function encryption method usk i (where i∈ [1, n]) is delivered (FIG. 8: steps S2011 to S2014). Since this process has already been described, a description thereof is omitted here.

同様に、新たな端末装置22−(n+1)にとって新たな有効時間区間TFでセッションを行うことになる場合、端末装置22−(n+1)に対し、関数暗号方式に則った秘密鍵の配送uskn+1が行われる。この場合、図12に例示するように、まず鍵配送管理装置21(図6)の秘密鍵生成部2101が、記憶部219からParams、mskを読み込み、関数暗号方式に則り、端末装置22−iの識別情報Un+1と有効時間区間TFに属する時間time∈TFに対応する情報を含む属性情報V:=V(Un+1,time)に対応する秘密鍵uskn+1:=Der(Params,msk,Vn+1)を生成して出力する。秘密鍵uskn+1は記憶部219に格納される(ステップS2015)。秘密鍵暗号化部2102は、記憶部219から秘密鍵uskn+1および暗号化鍵ekn+1を読み込み、暗号化鍵ekn+1を用いて秘密鍵uskn+1を暗号化し、暗号文CTn+1←Encekn+1(uskn+1)を生成して出力する。ただし、下付き添え字の「ekn+1」は「ekn+1」を表す(ステップS2016)。暗号文CTn+1は通信部218に送られ、通信部218は暗号文CTn+1を端末装置22−(n+1)に送信する。暗号文CTn+1は端末装置22−(n+1)(図7)の通信部228−(n+1)に入力され、記憶部229−(n+1)に格納される(ステップS2017)。秘密鍵復号部2201−(n+1)は、記憶部229−(n+1)から復号鍵dkn+1および暗号文CTn+1を読み込み、復号鍵dkn+1を用いて暗号文CTn+1を復号して秘密鍵uskn+1←Decdkn+1(CTn+1)を生成して出力する。ただし、下付き添え字の「dki+1」は「dkn+1」を表す。秘密鍵uskn+1は、端末装置22−(n+1)の記憶部229−(n+1)に安全に格納される(ステップS2018)。なお、端末装置22−(n+1)にとって新たな有効時間区間TFでセッションを行うことにならない場合には、ステップS2015からS2017の処理が省略されてもよい。 Similarly, when a session is to be performed in a new valid time interval TF for a new terminal device 22- (n + 1), a secret key is distributed to the terminal device 22- (n + 1) usk n + 1. Is done. In this case, as illustrated in FIG. 12, first, the secret key generation unit 2101 of the key distribution management device 21 (FIG. 6) reads Params and msk from the storage unit 219, and in accordance with the function encryption method, the terminal device 22-i. The secret key usk n + 1 : = Der (Params, msk, and the attribute information V i : = V (U n + 1 , time) including information corresponding to the identification information U n + 1 and the time time ∈TF belonging to the valid time interval TF Vn + 1 ) is generated and output. The secret key usk n + 1 is stored in the storage unit 219 (step S2015). The secret key encryption unit 2102 reads the secret key usk n + 1 and the encryption key ek n + 1 from the storage unit 219, encrypts the secret key usk n + 1 using the encryption key ek n + 1, and generates the ciphertext CT n + 1 ← Enc ekn + 1 (usk n + 1 ) is generated and output. However, the subscript “ekn + 1” represents “ek n + 1 ” (step S2016). The ciphertext CT n + 1 is sent to the communication unit 218, and the communication unit 218 transmits the ciphertext CT n + 1 to the terminal device 22- (n + 1). The ciphertext CT n + 1 is input to the communication unit 228- (n + 1) of the terminal device 22- (n + 1) (FIG. 7) and stored in the storage unit 229- (n + 1) (step S2017). The secret key decryption unit 2201- (n + 1) includes a storage unit 229- (n + 1) reads the decryption key dk n + 1 and the ciphertext CT n + 1 from the decryption key dk n + 1 secret key to decrypt the ciphertext CT n + 1 using usk n + 1 ← Dec dkn + 1 (CT n + 1 ) is generated and output. However, the subscript “dki + 1” represents “dk n + 1 ”. The secret key usk n + 1 is securely stored in the storage unit 229- (n + 1) of the terminal device 22- (n + 1) (step S2018). If the terminal device 22- (n + 1) does not conduct a session in the new valid time section TF, the processing from steps S2015 to S2017 may be omitted.

新たな有効時間区間TFでセッションを行うことになる場合、鍵配送管理装置21(図6)の第1シード値生成部2111が新たな第1シード値K’FSκを生成し、K:=K’として記憶部219に格納し(ステップS2016)、ステップS2133に進む。そうでない場合、ステップS2016を行うことなく、ステップS2133に進む。 When a session is to be performed in a new valid time section TF, the first seed value generation unit 2111 of the key distribution management device 21 (FIG. 6) generates a new first seed value K ′ 1R FS κ , K 1 : = K ′ 1 is stored in the storage unit 219 (step S2016), and the process proceeds to step S2133. Otherwise, the process proceeds to step S2133 without performing step S2016.

ステップS2133では、第1シード値暗号化部2112が記憶部219からParamsおよび第1シード値Kを読み込み、関数暗号方式に則って第1シード値Kを暗号化し、端末装置の識別情報Un+1と有効時間区間TFに属する時間timeに対応する情報を含む属性情報Pn+1:=(ID=Un+1)∧(time∈TF)に対応する秘密鍵で復号可能な暗号文CT’n+1←FEnc(Params,Pn+1,K)を生成して記憶部219に格納する(ステップS2133)。管理秘密値生成部2121が新たな管理秘密値x’を生成して記憶部219に格納する(ステップS2141)。第2シード値秘匿化共有情報部2122は、記憶部219から共有情報gΠ{xk|k∈[1,n]}および新たな管理秘密値x’を読み込み、共有情報gΠ{xk|k∈[1,n]}と新たな管理秘密値x’とに応じた新たな共有情報gΠ{xk|k∈[1,n]}・x’sを生成して出力する。新たな共有情報gΠ{xk|k∈[1,n]}・x’sは記憶部211に格納される(ステップS2142)。署名生成部2103は、記憶部219から、署名鍵sk、識別情報S、U,・・・,Un+1、新たな共有情報gΠ{xk|k∈[1,n]}・x’s、秘匿化共有情報{gΠ{xk|k∈[1,n]∧k≠i}i∈[1,n]、および暗号文CT’n+1を読み込み、署名σsn+1←Sigsks(S,(U,・・・,Un+1),S,gΠ{xk|k∈[1,n]}・x’s,{gΠ{xk|k∈[1,n]∧k≠i}i∈[1,n],CT’n+1)を生成する。(Un+1,gΠ{xk|k∈[1,n]}・x’s,{gΠ{xk|k∈[1,n]∧k≠i}i∈[1,n],CT’n+1,σsn+1)は通信部218に送られ、通信部218は、(Un+1,gΠ{xk|k∈[1,n]}・x’s,{gΠ{xk|k∈[1,n]∧k≠i}i∈[1,n],CT’n+1,σsn+1)を端末装置22−(n+1)に送信する。(Un+1,gΠ{xk|k∈[1,n]}・x’s,{gΠ{xk|k∈[1,n]∧k≠i}i∈[1,n],CT’n+1,σsn+1)は、端末装置22−(n+1)(図7)の通信部228−(n+1)に入力され、記憶部229−(n+1)に格納される(ステップS215)。 In step S2133, the first seed value encryption unit 2112 reads the Params and first seed value K 1 from the storage unit 219, a first seed value K 1 encrypted in accordance with the function cryptography, identity U of the terminal device n + 1 and ciphertext CT ′ n + 1 ← FEnc that can be decrypted with a secret key corresponding to attribute information P n + 1 : = (ID = U n + 1 ) ∧ (timeεTF) that includes information corresponding to time time belonging to valid time section TF (Params, P n + 1 , K 1 ) is generated and stored in the storage unit 219 (step S2133). The management secret value generation unit 2121 generates a new management secret value x ′ sR Z p and stores it in the storage unit 219 (step S2141). The second seed value concealment shared information unit 2122 reads the shared information g Π {xk | k∈ [1, n]} and the new management secret value x ′ s from the storage unit 219, and shares the shared information g Π {xk | New shared information g Π {xk | kε [1, n]} · xs corresponding to kε [1, n]} and a new management secret value x ′ s is generated and output. The new shared information g Π {xk | kε [1, n]} · x ′s is stored in the storage unit 211 (step S2142). The signature generation unit 2103 receives the signature key sk s , identification information S, U 1 ,..., U n + 1 , and new shared information g Π {xk | k∈ [1, n]} · x ′ from the storage unit 219. s , concealed shared information {g Π {xk | k∈ [1, n] ∧ k ≠ i} } i∈ [1, n] , and ciphertext CT ′ n + 1 are read and signature σ sn + 1 ← Sig sks (S , (U 1 ,..., U n + 1 ), S, g Π {xk | k∈ [1, n]} · x ′s , {g Π {xk | k∈ [1, n] ∧k ≠ i } } Iε [1, n] , CT ′ n + 1 ). (U n + 1 , g Π {xk | k∈ [1, n]} · x ′s , {g Π {xk | k∈ [1, n] ∧k ≠ i} } i∈ [1, n] , CT ' n + 1 , σ sn + 1 ) is sent to the communication unit 218, and the communication unit 218 receives (U n + 1 , g Π {xk | k∈ [1, n]} x ′s , {g Π {xk | k∈ [ 1, n] ∧k ≠ i} } i∈ [1, n] , CT ′ n + 1 , σ sn + 1 ) is transmitted to the terminal device 22- (n + 1). (U n + 1 , g Π {xk | k∈ [1, n]} · x ′s , {g Π {xk | k∈ [1, n] ∧k ≠ i} } i∈ [1, n] , CT ' n + 1 , σ sn + 1 ) is input to the communication unit 228-(n + 1) of the terminal device 22-(n + 1) (FIG. 7) and stored in the storage unit 229-(n + 1) (step S 215).

端末装置22−(n+1)の署名検証部2205−(n+1)は、記憶部229−(n+1)から検証鍵vk、識別情報S、U,・・・,Un+1、gΠ{xk|k∈[1,n]}・x’s,{gΠ{xk|k∈[1,n]∧k≠i}i∈[1,n]、暗号文CT’n+1、および署名σsn+1を読み込み、検証鍵vkを用い、署名σsn+1をVervks((S,(U,・・・,Un+1),S,gΠ{xk|k∈[1,n]}・x’s,{gΠ{xk|k∈[1,n]∧k≠i}i∈[1,n],CT’n+1),σsn+1)として検証する(ステップS2161)。ここで、署名σsn+1が正当でないと判断された場合、セッションを終了する。一方、署名σsn+1が正当であると判断された場合、端末装置22−i(図7)の第1シード値復号部221−(n+1)が、記憶部229−(n+1)から秘密鍵uskn+1および暗号文CT’n+1を読み込み、秘密鍵uskn+1を用い、関数暗号方式に則って暗号文CT’n+1をK←FDecuskn+1(CT’n+1,Pn+1)として復号して第1シード値Kを生成して出力する。第1シード値Kは記憶部229−(n+1)に格納される(ステップ2162)。 The signature verification unit 2205- (n + 1) of the terminal device 22- (n + 1) receives the verification key vk s , identification information S, U 1 ,..., U n + 1 , g Π {xk | from the storage unit 229- (n + 1). kε [1, n]} · x ′s , {g Π {xk | kε [1, n] ∧k ≠ i} } [1, n] , ciphertext CT ′ n + 1 , and signature σ sn + 1 reads, using the verification key vk s, signature sigma sn + 1 and Ver vks ((S, (U 1, ···, U n + 1), S, g Π {xk | k∈ [1, n]} · x ' s , {g Π {xk | k∈ [1, n] ∧ k ≠ i} } i∈ [1, n] , CT ′ n + 1 ), σ sn + 1 ) (step S2161). Here, if it is determined that the signature σ sn + 1 is not valid, the session is terminated. On the other hand, if it is determined that the signature σ sn + 1 is valid, the first seed value decryption unit 221- (n + 1) of the terminal device 22-i (FIG. 7) transmits the secret key usk n + 1 from the storage unit 229- (n + 1). Then, the ciphertext CT ′ n + 1 is read, the secret key usk n + 1 is used, and the ciphertext CT ′ n + 1 is decrypted as K 1 ← FDec uskn + 1 (CT ′ n + 1 , P n + 1 ) according to the functional cryptosystem, and the first seed value K 1 is generated and output. The first seed value K 1 is stored in the storage unit 229- (n + 1) (step 2162).

端末秘密値生成部2202−(n+1)は、記憶部229−(n+1)からstn+1とst’n+1を読み込み、rn+1{0,1}κとr’n+1FSκを生成し、端末秘密値xn+1←tPRF(rn+1,stn+1,st’n+1,r’n+1)を生成して出力する。端末秘密値xn+1は記憶部229−(n+1)に格納される(ステップS2171)。秘匿化共有情報生成部222−(n+1)は、記憶部229−(n+1)から秘匿化共有情報{gΠ{xk|k∈[1,n]∧k≠i}i∈[1,n]と端末秘密値xn+1とを読み込み、i∈[1,n]について、秘匿化共有情報gΠ{xk|k∈[1,n]∧k≠i}と端末秘密値xn+1とに応じた新たな秘匿化共有情報gΠ{xk|k∈[1,n+1]∧k≠i}:=gΠ{xk|k∈[1,n]∧k≠i}・xn+1を生成して出力する。新たな秘匿化共有情報{gΠ{xk|k∈[1,n+1]∧k≠i}i∈[1,n]は記憶部22−(n+1)に格納される(ステップS2172)。 Terminal secret value generation section 2202- (n + 1) reads st n + 1 and st ′ n + 1 from storage section 229- (n + 1), and generates r n + 1R {0, 1} κ and r ′ n + 1R FS κ. The terminal secret value x n + 1 <-tPRF (r n + 1 , st n + 1 , st ′ n + 1 , r ′ n + 1 ) is generated and output. The terminal secret value xn + 1 is stored in the storage unit 229- (n + 1) (step S2171). Concealment shared information generation unit 222- (n + 1) includes a storage unit 229- (n + 1) from the concealed shared information {g Π {xk | k∈ [ 1, n] ∧k ≠ i}} i∈ [1, n ] And the terminal secret value x n + 1, and for i∈ [1, n] , according to the concealment shared information g Π {xk | k∈ [1, n] ∧ k ≠ i} and the terminal secret value x n + 1 The new concealment shared information g Π {xk | k∈ [1, n + 1] ∧k ≠ i} : = g Π {xk | k∈ [1, n] ∧k ≠ i} · xn + 1 is generated and output To do. The new concealment shared information { gΠ {xk | kε [1, n + 1] ∧k ≠ i} } [1, n] is stored in the storage unit 22- (n + 1) (step S2172).

署名生成部2204−(n+1)は、記憶部229−(n+1)から、署名鍵skn+1、識別情報S,U,・・・,Un+1、新たな秘匿化共有情報{gΠ{xk|k∈[1,n+1]∧k≠i}i∈[1,n]を読み込み、署名σn+1←Sigskn+1(Un+1,(U,・・・,Un+1),S,{gΠ{xk|k∈[1,n+1]∧k≠i}i∈[1,n])を生成する。(Un+1,{gΠ{xk|k∈[1,n+1]∧k≠i}i∈[1,n],σn+1)は通信部228−(n+1)に送られ、通信部228−(n+1)は(Un+1,{gΠ{xk|k∈[1,n+1]∧k≠i}i∈[1,n],σn+1)を鍵配送管理装置21に送信する(ステップS218)。 The signature generation unit 2204- (n + 1) receives from the storage unit 229- (n + 1) the signature key sk n + 1 , identification information S, U 1 ,..., U n + 1 , new concealment shared information {g Π {xk | k∈ [1, n + 1] ∧k ≠ i} } i∈ [1, n] is read and the signature σ n + 1 ← Sig skn + 1 (U n + 1 , (U 1 ,..., U n + 1 ), S, {g Π {Xk | kε [1, n + 1] 1 , k ≠ i} } [1, n] ). (U n + 1 , {g Π {xk | kε [1, n + 1] ∧k ≠ i} } [1, n] , σ n + 1 ) is sent to the communication unit 228- (n + 1), and the communication unit 228- (N + 1) transmits (U n + 1 , {g Π {xk | kε [1, n + 1] ∧k ≠ i} } [1, n] , σ n + 1 ) to the key distribution management device 21 (step S218). ).

第2シード値生成部223−(n+1)は、記憶部229−(n+1)から新たな共有情報gΠ{xk|k∈[1,n]}・x’sおよび端末秘密値xn+1を読み込み、新たな共有情報gΠ{xk|k∈[1,n]}・x’sと端末秘密値xn+1とに応じた新たな第2シード値K’:=gΠ{xk|k∈[1,n]}・x’s・xn+1=gΠ{xk|k∈[1,n+1]}・x’sを生成して出力する。新たな第2シード値K’は記憶部229−(n+1)に格納される(ステップS219)。共通鍵生成部224−(n+1)は、記憶部229−(n+1)から、セッション識別情報sid、第1シード値K、および新たな第2シード値K’を読み込み、擬似ランダム関数Fκを用い、第1シード値Kを含む情報と新たな第2シード値K’を含む情報とに対応する共通鍵K’=Fκ(sid,K)(+)Fκ(sid,K’)を生成して出力する(ステップS222−(n+1))。 The second seed value generation unit 223- (n + 1) reads the new shared information g Π {xk | kε [1, n]} · x ′s and the terminal secret value x n + 1 from the storage unit 229- (n + 1). , The new second seed value K ′ 2 corresponding to the new shared information g Π {xk | k∈ [1, n]} · x ′s and the terminal secret value x n + 1 : = g Π {xk | k∈ [1, n]} · x ′s · xn + 1 = gΠ {xk | k∈ [1, n + 1]} · x ′s is generated and output. New second seed value K '2 is stored in the storage unit 229- (n + 1) (step S219). The common key generation unit 224- (n + 1) reads the session identification information sid, the first seed value K 1 , and the new second seed value K ′ 2 from the storage unit 229- (n + 1), and the pseudo random function F κ And a common key K ′ = F κ (sid, K 1 ) (+) F κ (sid, corresponding to the information including the first seed value K 1 and the information including the new second seed value K ′ 2 . K ′ 2 ) is generated and output (step S222- (n + 1)).

図14に例示するように、端末装置22−(n+1)から送信された(Un+1,{gΠ{xk|k∈[1,n+1]∧k≠i}i∈[1,n],σn+1)は、鍵配送管理装置21の通信部218に入力され、記憶部219に格納される。署名検証部2104は、記憶部219から検証鍵vkn+1、識別情報U,・・・,Un+1,S、新たな秘匿化共有情報{gΠ{xk|k∈[1,n+1]∧k≠i}i∈[1,n]、および署名σn+1を読み込み、検証鍵vkn+1を用い、署名σn+1をVervkn+1((Un+1,(U,・・・,Un+1),S,{gΠ{xk|k∈[1,n+1]∧k≠i}i∈[1,n]),σn+1)として検証する(ステップS2201)。ここで、署名σn+1が正当でないと判断された場合、セッションを終了する。一方、署名σn+1が正当であると判断された場合、制御部210がステップS2132で第1シード値Kが更新されたかを判定する。ここで、第1シード値Kが更新されていた場合、第1シード値暗号化部2112が記憶部219からParamsおよび第1シード値Kを読み込み、関数暗号方式に則って第1シード値Kを暗号化し、i∈[1,n]について、端末装置の識別情報Uと有効時間区間TFに属する時間timeに対応する情報を含む属性情報P:=(ID=U)∧(time∈TF)に対応する秘密鍵で復号可能な暗号文CT’←FEnc(Params,P,K)を生成して記憶部219に格納し(ステップS2203)、ステップS2205に進む。一方、第1シード値Kが更新されていない場合、第1シード値暗号化部2112はCT’:={}(空)として記憶部219に格納し(ステップS2204)、ステップS2205に進む。 As illustrated in FIG. 14, (U n + 1 , {g Π {xk | k∈ [1, n + 1] ∧k ≠ i} } i∈ [1, n] , transmitted from the terminal device 22-(n + 1) σ n + 1 ) is input to the communication unit 218 of the key distribution management device 21 and stored in the storage unit 219. The signature verification unit 2104 receives the verification key vk n + 1 , identification information U 1 ,..., U n + 1 , S, new concealment shared information {g Π {xk | k∈ [1, n + 1] ∧k from the storage unit 219 . ≠ i} } i∈ [1, n] and signature σ n + 1 are read, using verification key vk n + 1 , signature σ n + 1 is Ver vkn + 1 ((U n + 1 , (U 1 ,..., U n + 1 ), S , { GΠ {xk | kε [1, n + 1] ∧k ≠ i} } [1, n] ), σ n + 1 ) (step S2201). Here, if it is determined that the signature σ n + 1 is not valid, the session is terminated. On the other hand, when it is determined that the signature σ n + 1 is valid, the control unit 210 determines whether the first seed value K 1 is updated in step S2132. Here, if the first seed value K 1 has been updated, the first seed value encryption unit 2112 reads the Params and first seed value K 1 from the storage unit 219, a first seed value in accordance with the function cryptosystem K 1 is encrypted, and for i∈ [1, n], attribute information P i including information corresponding to the terminal device identification information U i and the time time belonging to the valid time interval TF: = (ID = U i ) ∧ A ciphertext CT ′ i ← FEnc (Params, P i , K 1 ) that can be decrypted with a secret key corresponding to (timeεTF) is generated and stored in the storage unit 219 (step S2203), and the process proceeds to step S2205. On the other hand, when the first seed value K 1 is not updated, the first seed value encryption unit 2112 CT 'i: = {} stored in the storage unit 219 as the (empty) (step S2204), the process proceeds to step S2205 .

ステップS2205では、第2シード値秘匿化共有情報部2122は、記憶部219から新たな秘匿化共有情報新たな秘匿化共有情報{gΠ{xk|k∈[1,n+1]∧k≠i}i∈[1,n]および新たな管理秘密値x’を読み込み、i∈[1,n]について、新たな秘匿化共有情報gΠ{xk|k∈[1,n+1]∧k≠i}と新たな管理秘密値x’とに応じた新たな第2シード値の秘匿化情報gΠ{xk|k∈[1,n+1]∧k≠i}・x’sを生成して出力する。新たな第2シード値の秘匿化情報gΠ{xk|k∈[1,n+1]∧k≠i}・x’sは記憶部211に格納される(ステップS2205)。 In step S2205, the second seed value concealment shared information unit 2122 receives new concealment shared information from the storage unit 219 and new concealment shared information {g Π {xk | k∈ [1, n + 1] ∧k ≠ i}. } Read i∈ [1, n] and the new management secret value x ′ s , and for i∈ [1, n], the new concealment shared information g Π {xk | k∈ [1, n + 1] ∧k ≠ i} and the new second secret secret information g Π {xk | kε [1, n + 1] ∧k ≠ i} · xs corresponding to the new management secret value x ′ s Output. The new second seed value concealment information g Π {xk | kε [1, n + 1] ∧k ≠ i} · x ′s is stored in the storage unit 211 (step S2205).

署名生成部2103は、記憶部219から、署名鍵sk、識別情報S、U,・・・,Un+1、新たな第2シード値の秘匿化情報gΠ{xk|k∈[1,n+1]∧k≠i}・x’s、および暗号文CT’を読み込み、署名σ”si←Sigsks(S,(U,・・・,Un+1),S,gΠ{xk|k∈[1,n+1]∧k≠i}・x’s,CT’)を生成する(ただし、i∈[1,n])。(U,gΠ{xk|k∈[1,n+1]∧k≠i}・x’s,CT’,σ”si)は通信部218に送られ、通信部218は、(U,gΠ{xk|k∈[1,n+1]∧k≠i}・x’s,CT’,σ”si)を端末装置22−iに送信する。(U,gΠ{xk|k∈[1,n+1]∧k≠i}・x’s,CT’,σ”si)は、端末装置22−i(図7)の通信部228−iに入力され、記憶部229−i(ただし、i∈[1,n])に格納される(ステップS2206)。 The signature generation unit 2103 receives from the storage unit 219 the signature key sk s , identification information S, U 1 ,..., U n + 1 , the new second seed value concealment information g Π {xk | k∈ [1, n + 1] ∧k ≠ i} · x's, and read the ciphertext CT 'i, signature σ "si ← Sig sks (S , (U 1, ···, U n + 1), S, g Π {xk | k∈ [1, n + 1] ∧k ≠ i} · x ′s , CT ′ i ) (where i∈ [1, n]) (U i , gΠ {xk | k∈ [1, n + 1] ∧k ≠ i} · x ′s , CT ′ i , σ ″ si ) is sent to the communication unit 218, and the communication unit 218 receives (U i , g Π {xk | k∈ [1, n + 1] ∧). k ≠ i} · x ′s , CT ′ i , σ ″ si ) is transmitted to the terminal device 22-i. (U i , g Π {xk | k∈ [1, n + 1] ∧k ≠ i} · x 's, CT' i, σ " i) is input to the communication unit 228-i of the terminal device 22-i (FIG. 7) is stored in the storage unit 229-i (however, i∈ [1, n]) ( step S2206).

端末装置22−i(ただし、i∈[1,n])の署名検証部2205−iは、記憶部229−iから検証鍵vk、識別情報S、U,・・・,Un+1、新たな第2シード値の秘匿化情報gΠ{xk|k∈[1,n+1]∧k≠i}・x’s、暗号文CT’、および署名σ”siを読み込み、検証鍵vkを用い、署名σ”siをVervks((S,(U,・・・,Un+1),S,gΠ{xk|k∈[1,n+1]∧k≠i}・x’s,CT’),σ”si)として検証する(ステップS2211−i)。ここで、署名σ”siが正当でないと判断された場合、セッションを終了する。一方、署名σ”siが正当であると判断された場合、制御部220−iは記憶部229−iから暗号文CT’を読み込み、CT’={}であるかを判定する(ステップS2212−i)。ここで、CT’={}でなければ、第1シード値復号部221−iが、記憶部229−iから秘密鍵uskおよび暗号文CT’を読み込み、秘密鍵uskを用い、関数暗号方式に則って暗号文CT’をK←FDecuski(CT’,P)として復号して第1シード値Kを生成して出力する。第1シード値Kは記憶部229−iに格納され(ステップS2213−i)、ステップS2214−iに進む。一方、CT’={}であればステップS2213−iを実行することなく、ステップS2214−iに進む。 The signature verification unit 2205-i of the terminal device 22-i (where iε [1, n]) receives the verification key vk s , identification information S, U 1 ,..., U n + 1 from the storage unit 229-i. The new second seed value concealment information g Π {xk | kε [1, n + 1] ∧k ≠ i} · x ′s , ciphertext CT ′ i , and signature σ ″ si are read, and the verification key vk s is read. And sign σ ″ si to Ver vks ((S, (U 1 ,..., U n + 1 ), S, g Π {xk | k∈ [1, n + 1] ∧k ≠ i} · x ′s , CT ′ i ), σ ″ si ) (step S2211-i). If it is determined that the signature σ ″ si is not valid, the session is terminated. On the other hand, when it is determined that the signature σ ″ si is valid, the control unit 220-i reads the ciphertext CT ′ i from the storage unit 229-i and determines whether CT ′ i = {} (step). S2212-i) Here, unless CT ′ i = {}, the first seed value decryption unit 221-i reads the secret key usk i and the ciphertext CT ′ i from the storage unit 229-i, and the secret key Using usk i , the ciphertext CT ′ i is decrypted as K 1 ← Fdec uski (CT ′ i , P i ) in accordance with the functional cryptosystem, and the first seed value K 1 is generated and output. the value K 1 is stored in the storage unit 229-i (step S2213-i), the process proceeds to step S2214-i. on the other hand, without performing the steps S2213-i if CT 'i = {}, steps S2214- Go to i.

ステップS2214−i(ただし、i∈[1,n])では、第2シード値生成部223−iが、記憶部229−iから新たな第2シード値の秘匿化情報gΠ{xk|k∈[1,n+1]∧k≠i}・x’sおよび端末秘密値xを読み込み、新たな第2シード値の秘匿化情報gΠ{xk|k∈[1,n+1]∧k≠i}・x’sと端末秘密値xとに応じた新たな第2シード値K’:=gΠ{xk|k∈[1,n+1]∧k≠i}・x’s・xi=gΠ{xk|k∈[1,n+1]}・x’sを生成して出力する。新たな第2シード値K’は記憶部229−iに格納される(ステップS2214−i)。 In step S2214-i (where iε [1, n]), the second seed value generation unit 223-i stores the new second seed value concealment information g Π {xk | k from the storage unit 229-i. Ε [1, n + 1] nk ≠ i} · x ′s and the terminal secret value x i are read, and the second second seed value concealment information g Π {xk | k∈ [1, n + 1] ∧k ≠ i } · X ′s and the new second seed value K ′ 2 according to the terminal secret value x i : = g Π {xk | k∈ [1, n + 1] ∧k ≠ i} · x ′s · xi = g Π {xk | kε [1, n + 1]} · x ′s is generated and output. New second seed value K '2 is stored in the storage unit 229-i (step S2214-i).

共通鍵生成部224−i(ただし、i∈[1,n])は、記憶部229−iから、セッション識別情報sid、第1シード値K、および新たな第2シード値K’を読み込み、擬似ランダム関数Fκを用い、第1シード値Kを含む情報と新たな第2シード値K’を含む情報とに対応する共通鍵K=Fκ(sid,K)(+)Fκ(sid,K’)を生成して出力する(ステップS222−i)。 The common key generation unit 224-i (where iε [1, n]) obtains the session identification information sid, the first seed value K 1 , and the new second seed value K ′ 2 from the storage unit 229-i. Reading, using a pseudo-random function F κ , the common key K = F κ (sid, K 1 ) (+) corresponding to the information including the first seed value K 1 and the information including the new second seed value K ′ 2 ) F κ (sid, K ′ 2 ) is generated and output (step S222-i).

<端末装置削除処理>
既にセッションが確立された端末装置22−1〜22−nから任意の端末装置22−jを除き、端末装置22−i(ただし、i∈[1,n]\j)で新たな共通鍵を共有する処理を説明する
<Terminal device deletion process>
An arbitrary terminal device 22-j is excluded from the terminal devices 22-1 to 22-n for which a session has already been established, and a new common key is assigned to the terminal device 22-i (where iε [1, n] \ j). Explain the process to share

図15に例示するように、管理秘密値生成部2121が新たな管理秘密値x”を生成して記憶部219に格納する(ステップS235)。第2シード値秘匿化情報生成部2122は、記憶部219から秘匿化共有情報gΠ{xk|k∈[1,n]∧k≠i}および新たな管理秘密値x”を読み込み、秘匿化共有情報gΠ{xk|k∈[1,n]∧k≠i}と新たな管理秘密値x”とに応じた新たな第2シード値の秘匿化情報gΠ{xk|k∈[1,n]∧k≠i}・x”s(ただし、i∈[1,n]\j)を生成して出力する。新たな第2シード値の秘匿化情報gΠ{xk|k∈[1,n]∧k≠i}・x”sは記憶部211に格納される(ステップS2361)。 As illustrated in FIG. 15, the management secret value generation unit 2121 generates a new management secret value x ″ sR Z p and stores it in the storage unit 219 (step S235). Second seed value concealment information generation The unit 2122 reads the concealment shared information g Π {xk | kε [1, n] ∧k ≠ i} and the new management secret value x ″ s from the storage unit 219, and conceals the concealment shared information g Π {xk | The second second seed value concealment information g Π {xk | kε [1, n] ∧k ≠ in accordance with k∈ [1, n] ∧k ≠ i} and the new management secret value x ″ s. i} · x ″ s (where i∈ [1, n] \ j) is generated and output. The new second seed value concealment information gΠ {xk | kε [1, n] ∧k ≠ i} · x ″ s is stored in the storage unit 211 (step S2361).

署名生成部2103は、記憶部219から、署名鍵sk、識別情報S、U,・・・,Uj−1,Uj+1,・・・,U、新たな第2シード値の秘匿化情報gΠ{xk|k∈[1,n]∧k≠i}・x”sを読み込み、署名σ’”si←Sigsks(S,(U,・・・,Uj−1,Uj+1,・・・,U),S,gΠ{xk|k∈[1,n]∧k≠i}・x”s)(ただし、i∈[1,n]\j)を生成する。(U,gΠ{xk|k∈[1,n]∧k≠i}・x”s,σ’”si)は通信部218に送られ、通信部218は、((U,gΠ{xk|k∈[1,n]∧k≠i}・x”s,σ’”si)を端末装置22−i(ただし、i∈[1,n]\j)に送信する。(U,gΠ{xk|k∈[1,n]∧k≠i}・x”s,σ’”si)は、端末装置22−i(ただし、i∈[1,n]\j)の通信部228−iに入力され、記憶部229−iに格納される(ステップS2362)。 The signature generation unit 2103 stores the signature key sk s , identification information S, U 1 ,..., U j−1 , U j + 1 ,..., U n and the new second seed value from the storage unit 219. Information Π {xk | kε [1, n] ∧k ≠ i} · x ″ s is read, and the signature σ ′ ″ si ← Sig sks (S, (U 1 ,..., U j−1 , U j + 1 ,..., U n ), S, g Π {xk | k∈ [1, n] ∧k ≠ i} · x ″ s ) (where i∈ [1, n] \ j) (U i , g Π {xk | kε [1, n] ∧k ≠ i} · x ″ s , σ ′ ″ si ) is sent to the communication unit 218, and the communication unit 218 receives ((U i , G Π {xk | kε [1, n] ∧k ≠ i} · x ″ s , σ ′ ″ si ) is transmitted to the terminal device 22-i (where iε [1, n] \ j). . (U i, g Π { xk | k∈ [1, n] ∧k ≠ i} x "s, σ '" si ) , the terminal device 22-i (where is input to i∈ [1, n] \j) communication unit 228-i of is stored in the storage unit 229-i (step S2362).

端末装置22−i(ただし、i∈[1,n]\j)の署名検証部2205−iは、記憶部229−iから検証鍵vk、識別情報S、U,・・・,Uj−1,Uj+1,・・・,U、新たな第2シード値の秘匿化情報gΠ{xk|k∈[1,n]∧k≠i}・x”s、および署名σ’”siを読み込み、検証鍵vkを用い、署名σ’”siをVervks((S,(U,・・・,Uj−1,Uj+1,・・・,U),S,gΠ{xk|k∈[1,n]∧k≠i}・x”s),σ’”si)として検証する(ステップS2371−i)。ここで、署名σ’”siが正当でないと判断された場合、セッションを終了する。一方、σ’”siが正当であると判断された場合、第2シード値生成部223−iが、記憶部229−iから新たな第2シード値の秘匿化情報gΠ{xk|k∈[1,n]∧k≠i}・x”sおよび端末秘密値xを読み込み、新たな第2シード値の秘匿化情報gΠ{xk|k∈[1,n]∧k≠i}・x”sと端末秘密値xとに応じた新たな第2シード値K”:=gΠ{xk|k∈[1,n]∧k≠i}・x”s・xi=gΠ{xk|k∈[1,n]}・x”sを生成して出力する。新たな第2シード値K”は記憶部229−iに格納される(ステップS2372−i)。共通鍵生成部224−iは、記憶部229−iから、セッション識別情報sid、第1シード値K、および新たな第2シード値K”を読み込み、擬似ランダム関数Fκを用い、第1シード値Kを含む情報と新たな第2シード値K”を含む情報とに対応する共通鍵K”=Fκ(sid,K)(+)Fκ(sid,K”)を生成して出力する(ステップS238)。 The signature verification unit 2205-i of the terminal device 22-i (where iε [1, n] \ j) receives the verification key vk s , identification information S, U 1 ,..., U from the storage unit 229-i. j−1 , U j + 1 ,..., U n , concealment information g Π {xk | k∈ [1, n] ∧k ≠ i} · x ″ s of the new second seed value, and signature σ ′ "si read the, using the verification key vk s, signature σ '" si the Ver vks ((S, (U 1, ···, U j-1, U j + 1, ···, U n), S, gΠ {xk | kε [1, n] ∧k ≠ i} · x ″ s ), σ ′ ″ si ) (step S2371-i). Here, the signature σ ′ ″ si is not valid. If so, the session is terminated. On the other hand, when it is determined that σ ′ ″ si is valid, the second seed value generation unit 223-i transmits the new second seed value concealment information g Π {xk | k∈ from the storage unit 229-i. [1, n] ∧k ≠ i} · x ″ s and the terminal secret value x i are read, and the second second seed value concealment information g Π {xk | k∈ [1, n] ∧k ≠ i} New second seed value K ″ 2 according to x ″ s and terminal secret value x i : = g Π {xk | k∈ [1, n] ∧k ≠ i} · x ″ s · xi = g Π {xk | kε [1, n]} · x ″ s is generated and output. The new second seed value K ″ 2 is stored in the storage unit 229-i (step S2372-i). The common key generation unit 224-i receives the session identification information sid, the first seed from the storage unit 229-i. Read the value K 1 and the new second seed value K ″ 2 and use the pseudo-random function F κ to correspond to the information including the first seed value K 1 and the information including the new second seed value K ″ 2 The common key K ″ = F κ (sid, K 1 ) (+) F κ (sid, K ″ 2 ) is generated and output (step S238).

[関数暗号方式の一例]
以下に関数暗号方式の一例を示す。本発明はこの方式に限定されない。また、[関数暗号方式の一例]の説明で使用する記号は上述で使用した記号と独立したものである。
[Example of function encryption method]
An example of a function encryption method is shown below. The present invention is not limited to this method. Further, the symbols used in the description of [Example of functional encryption method] are independent of the symbols used above.

<記号の定義>
(・)T:(・)Tは・の転置行列を表す。
(・)-1:(・)-1は・の逆行列を表す。
∧:∧は論理積(AND)を表す論理記号である。
∨:∨は論理和(OR)を表す論理記号である。
¬:¬は否定(NOT)を表す論理記号である。
命題変数:命題変数は命題の「真」,「偽」("false","true")を要素とする集合{真,偽}上の変数である。すなわち、命題変数の定義域は「真」,「偽」を要素とする集合である。命題変数及び命題変数の否定を総称してリテラル(literal)と呼ぶ。
<Definition of symbols>
(•) T : (•) T represents a transposed matrix of
(•) -1 : (•) -1 represents the inverse matrix of.
∧: ∧ is a logical symbol representing a logical product (AND).
∨: ∨ is a logical symbol representing a logical sum (OR).
¬: ¬ is a logical symbol representing negation (NOT).
Propositional variable: A propositional variable is a variable on the set {true, false} whose elements are “true” and “false” (“false”, “true”) of the proposition. In other words, the domain of the propositional variable is a set having “true” and “false” as elements. Propositional variables and negation of propositional variables are collectively referred to as literals.

Z:Zは整数集合を表す。
sec:secはセキュリティパラメータ(sec∈Z, sec>0)を表す。
0*:0*は*個の0からなる列を表す。
1*:1*は*個の1からなる列を表す。
Fq:Fqは位数qの有限体を表す。位数qは1以上の整数であり、例えば、素数や素数のべき乗値を位数qとする。
0F:0Fは有限体Fqの加法単位元を表す。
1F:1Fは有限体Fqの乗法単位元を表す。
δ(i,j):δ(i,j)はクロネッカーのデルタ関数を表す。i=jの場合にδ(i,j)=1Fを満たし、i≠jの場合にδ(i,j)=0Fを満たす。
Z: Z represents an integer set.
sec: sec represents a security parameter (sec∈Z, sec> 0).
0 * : 0 * represents a sequence of * 0's.
1 * : 1 * represents a sequence of * 1's.
F q : F q represents a finite field of order q. The order q is an integer of 1 or more. For example, a prime number or a power value of a prime number is assumed to be the order q.
0 F : 0 F represents an additive unit of the finite field F q .
1 F : 1 F represents a multiplicative unit element of the finite field F q .
δ (i, j): δ (i, j) represents the Kronecker delta function. When i = j, δ (i, j) = 1 F is satisfied, and when i ≠ j, δ (i, j) = 0 F is satisfied.

E:Eは有限体Fq上で定義された楕円曲線を表す。
G1, G2,GT:G1, G2, GTは位数qの巡回群を表す。本形態では、巡回群G1, G2上で定義された演算を加法的に表現し、巡回群GT上で定義された演算を乗法的に表現する。
E: E represents an elliptic curve defined on the finite field Fq .
G 1 , G 2 , G T : G 1 , G 2 , G T represent a cyclic group of order q. In the present embodiment, operations defined on the cyclic groups G 1 and G 2 are expressed additively, and operations defined on the cyclic group G T are expressed multiplicatively.

Ψ:Ψは1以上の整数を表す。
ψ:ψは0以上Ψ以下の整数ψ=0,...,Ψを表す。
λ:λは1以上Ψ以下の整数λ=1,...,Ψを表す。
n(ψ):n(ψ)は1以上の整数を表す。
ζ(ψ):ζ(ψ)は0以上の整数を表す。
Ψ: Ψ represents an integer of 1 or more.
ψ: ψ represents an integer ψ = 0,.
λ: λ represents an integer λ = 1,.
n (ψ): n (ψ) represents an integer of 1 or more.
ζ (ψ): ζ (ψ) represents an integer of 0 or more.

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(ψ)+ζ(ψ)次元のベクトル空間を表す。
Σν=ν1 ν2 κ(ν):Σν=ν1 ν2κ(ν)は以下を意味する。

Figure 2016134826

Πν=ν1 ν2 κ(ν):Πν=ν1 ν2κ(ν)は以下を意味する。
Figure 2016134826
G 1 n (φ) + ζ (φ) : G 1 n (φ) + ζ (φ) represents the direct product of n (φ) + ζ (φ) cyclic groups G 1 .
G 2 n (φ) + ζ (φ) : G 2 n (φ) + ζ (φ) represents the direct product of n (φ) + ζ (φ) cyclic groups G 2 .
g 1 , g 2 , and g T : g 1 , g 2 , and g T represent generation sources of the cyclic groups G, G 1 , G 2 , and G T.
V (ψ): V (ψ) represents an n (ψ) + ζ (ψ) -dimensional vector space consisting of a direct product of n (ψ) + ζ (ψ) cyclic groups G 1 .
V * (ψ): V * (ψ) represents an n (ψ) + ζ (ψ) -dimensional vector space consisting of a direct product of n (ψ) + ζ (ψ) cyclic groups G 2 .
Σν = ν1 ν2 κ (ν): Σν = ν1 ν2 κ (ν) means the following.
Figure 2016134826

Π ν = ν1 ν2 κ (ν ): Π ν = ν1 ν2 κ (ν) means the following.
Figure 2016134826

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 ψ : e ψ is the direct product G 1 n (ψ) + ζ (ψ) × G 2 n ( ) of the direct product G 1 n (ψ) + ζ (ψ) and the direct product G 2 n (ψ) + ζ (ψ). ψ) + ζ (ψ) nondegenerate bilinear mapping which maps the cyclic group G T a represents a (bilinear map). The bilinear map e [psi, the cyclic group G 1 n (ψ) + ζ (ψ) number of elements γ β (β = 1, ... , n (ψ) + ζ (ψ)) a cyclic group G 2 of n (ψ) + ζ (ψ ) number of elements γ β * (β = 1, ..., n (ψ) + ζ (ψ)) and as an input, one of the original cyclic group G T Output.
e ψ : G 1 n (ψ) + ζ (ψ) × G 2 n (ψ) + ζ (ψ) → G T (1)

双線形写像eψは以下の性質を満たす。
[双線形性]双線形写像eψは、すべてのΓ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ)及びν,κ∈Fqについて以下の関係を満たす。
eψ(ν・Γ1,κ・Γ2)=eψ12)ν・κ …(2)
[非退化性]双線形写像eψは、すべてのΓ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ)を巡回群GTの単位元に写す写像ではない。
[計算可能性]あらゆる
Γ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ) …(3)
についてeψ12)を効率的に計算するアルゴリズムが存在する。
The bilinear map e ψ satisfies the following properties.
[Bilinearity] The bilinear map e ψ is all Γ 1 ∈G 1 n (ψ) + ζ (ψ) , Γ 2 ∈G 2 n (ψ) + ζ (ψ) and ν, κ∈F q The following relationship is satisfied.
e ψ (ν ・ Γ 1 , κ ・ Γ 2 ) = e ψ1 , Γ 2 ) ν ・ κ … (2)
[Non-degenerate] Bilinear map e ψ is a unit of cyclic group G T for all Γ 1 ∈G 1 n (ψ) + ζ (ψ) , Γ 2 ∈G 2 n (ψ) + ζ (ψ) It is not an original mapping.
[Computability] Any Γ 1 ∈G 1 n (ψ) + ζ (ψ) , Γ 2 ∈G 2 n (ψ) + ζ (ψ) … (3)
There exists an algorithm for efficiently calculating e ψ1 , Γ 2 ) for.

本形態では、以下のような、巡回群G1と巡回群G2との直積G1×G2を巡回群GTに写す非退化な双線形写像を用いて双線形写像eψを構成する。
Pair:G1×G2→GT …(4)
本形態の双線形写像eψは、巡回群G1のn(ψ)+ζ(ψ)個の元γβ (β=1,...,n(ψ)+ζ(ψ))からなるn(ψ)+ζ(ψ)次元ベクトル(γ1,...,γn(ψ)+ζ(ψ))と、巡回群G2のn(ψ)+ζ(ψ)個の元γβ *(β=1,...,n(ψ)+ζ(ψ))からなるn(ψ)+ζ(ψ)次元ベクトル(γ1 *,...,γn(ψ)+ζ(ψ) *)との入力に対し、巡回群GTの1個の元を出力する。
eψ:Πβ=1 n(ψ)+ζ(ψ)Pair(γβ, γβ *) …(5)
In this embodiment, such as the following, constitutes a bilinear mapping e [psi using nondegenerate bilinear mapping which maps the Cartesian product G 1 × G 2 in the cyclic group G T of a cyclic group G 1 and the cyclic group G 2 .
Pair: G 1 × G 2 → G T … (4)
The bilinear map e ψ of this embodiment is composed of n (ψ) + ζ (ψ) elements γ β (β = 1, ..., n (ψ) + ζ (ψ)) of the cyclic group G 1 n (ψ) + ζ (ψ) dimensional vector (γ 1 , ..., γ n (ψ) + ζ (ψ) ) and n (ψ) + ζ (ψ) elements γ of cyclic group G 2 n (ψ) + ζ (ψ) dimensional vector (γ 1 * , ..., γ n (ψ) + ζ) consisting of β * (β = 1, ..., n (ψ) + ζ (ψ)) ([psi) *) for the input and outputs one of the original cyclic group G T.
e ψ : Π β = 1 n (ψ) + ζ (ψ) Pair (γ β , γ β * )… (5)

双線形写像Pairは、巡回群G1の1個の元と巡回群G2の1個の元との組を入力とし、巡回群GTの1個の元を出力する。双線形写像Pairは、以下の性質を満たす。
[双線形性]双線形写像Pairは、すべてのΩ1∈G1,Ω2∈G2及びν,κ∈Fqについて以下の関係を満たす。
Pair(ν・Ω1,κ・Ω2)=Pair(Ω12)ν・κ …(6)
[非退化性]双線形写像Pairは、すべての
Ω1∈G1,Ω2∈G2 …(7)
を巡回群GTの単位元に写す写像ではない。
[計算可能性]あらゆるΩ1∈G1,Ω2∈G2についてPair(Ω12)を効率的に計算するアルゴリズムが存在する。
Bilinear map Pair is a set of one original cyclic group G 1 and the one of the original cyclic group G 2 as input, and outputs one of the original cyclic group G T. The bilinear map Pair satisfies the following properties.
[Bilinearity] The bilinear map Pair satisfies the following relation for all Ω 1 ∈G 1 , Ω 2 ∈G 2 and ν, κ∈F q .
Pair (ν ・ Ω 1 , κ ・ Ω 2 ) = Pair (Ω 1 , Ω 2 ) ν ・ κ … (6)
[Non-degenerative] The bilinear map Pair is Ω 1 ∈G 1 , Ω 2 ∈G 2 (7)
Not a mapping which maps the identity element of the cyclic group G T a.
[Computability] There is an algorithm for efficiently calculating Pair (Ω 1 , Ω 2 ) for every Ω 1 ∈G 1 and Ω 2 ∈G 2 .

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(ψ)を張る。
a i (ψ) (i = 1, ..., n (ψ) + ζ (ψ)): a i (ψ) is an element of n (ψ) + ζ (ψ) elements of the cyclic group G 1 Represents an n (ψ) + ζ (ψ) -dimensional basis vector. An example of the basis vector a i (ψ) is the unit of the cyclic group G 1 with κ 1 · g 1 ∈G 1 as the i-th element and the remaining n (ψ) + ζ (ψ) -1 elements This is an n (ψ) + ζ (ψ) -dimensional basis vector that is an element (additively expressed as “0”). In this case, each element of the n (ψ) + ζ (ψ) -dimensional basis vector a i (ψ) (i = 1, ..., n (ψ) + ζ (ψ)) is enumerated and expressed respectively. It becomes as follows.
a 1 (ψ) = (κ 1・ g 1 , 0,0, ..., 0)
a 2 (ψ) = (0, κ 1・ g 1 , 0, ..., 0)… (8)
...
a n (ψ) + ζ (ψ) (ψ) = (0,0,0, ..., κ 1・ g 1 )
Here, kappa 1 is a constant consisting of elements of the finite field F q other than additive identity 0 F, a specific example of κ 1 ∈F q is κ 1 = 1 F. The basis vector a i (ψ) is an orthogonal basis, and all n (ψ) + ζ (ψ) dimensional vectors whose elements are n (ψ) + ζ (ψ) elements of the cyclic group G 1 are n It is represented by a linear sum of (ψ) + ζ (ψ) -dimensional basis vectors a i (ψ) (i = 1,..., n (ψ) + ζ (ψ)). That is, the n (ψ) + ζ (ψ) -dimensional basis vector a i (ψ) spans the vector space V (ψ) described above.

ai *(ψ)(i=1,...,n(ψ)+ζ(ψ)):ai *(ψ)は巡回群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*(ψ)を張る。
a i * (ψ) (i = 1, ..., n (ψ) + ζ (ψ)): a i * (ψ) is n (ψ) + ζ (ψ) elements of the cyclic group G 2 Represents an n (ψ) + ζ (ψ) -dimensional basis vector with x as an element. An example of the basis vector a i * (ψ) is κ 2 · g 2 ∈G 2 as the i-th element, and the remaining n (ψ) + ζ (ψ) -1 elements of the cyclic group G 2 This is an n (ψ) + ζ (ψ) -dimensional basis vector as a unit element (additionally expressed as “0”). In this case, each element of the basis vector a i * (ψ) (i = 1,..., N (ψ) + ζ (ψ)) is listed and expressed as follows.
a 1 * (ψ) = (κ 2・ g 2 , 0,0, ..., 0)
a 2 * (ψ) = (0, κ 2・ g 2 , 0, ..., 0)… (9)
...
a n (ψ) + ζ (ψ) * (ψ) = (0,0,0, ..., κ 2・ g 2 )
Here, kappa 2 is a constant consisting of elements of the finite field F q other than additive identity 0 F, a specific example of κ 2 ∈F q is κ 2 = 1 F. The basis vector a i * (ψ) is an orthogonal basis, and all n (ψ) + ζ (ψ) dimensional vectors whose elements are n (ψ) + ζ (ψ) elements of the cyclic group G 2 are It is represented by a linear sum of n (ψ) + ζ (ψ) -dimensional basis vectors a i * (ψ) (i = 1,..., n (ψ) + ζ (ψ)). That is, the n (ψ) + ζ (ψ) -dimensional basis vector a i * (ψ) spans the vector space V * (ψ) described above.

なお、基底ベクトルai(ψ)と基底ベクトルai *(ψ)とは、0Fを除く有限体Fqの元τ=κ1・κ2について以下の関係を満たす。
eψ(ai(ψ), aj *(ψ))=gT τ・δ(i,j) …(10)
すなわち、i=jの場合には、式(5)(6)の関係から、以下の関係が満たされる。
eψ(ai(ψ), aj *(ψ))=Pair(g1, g2)κ1・κ2=gT τ
上付き添え字κ1,κ2はそれぞれκ1,κ2を表す。一方、i≠jの場合には、eψ(ai(ψ), aj *(ψ))=Πi=1 n(ψ)+ζ(ψ) Pair(ai(ψ), aj *(ψ))の右辺は、Pair(κ1・g12・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
Note that the basis vector a i (ψ) and the basis vector a i * (ψ) satisfy the following relationship for the element τ = κ 1 · κ 2 of the finite field F q excluding 0 F.
e ψ (a i (ψ), a j * (ψ)) = g T τ ・ δ (i, j) … (10)
That is, in the case of i = j, the following relations are satisfied from the relations of the expressions (5) and (6).
e ψ (a i (ψ), a j * (ψ)) = Pair (g 1 , g 2 ) κ1 ・ κ2 = g T τ
Superscripts κ1 and κ2 represent κ 1 and κ 2 , respectively. On the other hand, if i ≠ j, e ψ (a i (ψ), a j * (ψ)) = Π i = 1 n (ψ) + ζ (ψ) Pair (a i (ψ), a j * The right side of (ψ)) does not include Pair (κ 1・ g 1 , κ 2・ g 2 ), but Pair (κ 1・ g 1 , 0), Pair (0, κ 2・ g 2 ) and Pair Product with (0,0). Furthermore, Pair (g 1 , 0) = Pair (0, g 2 ) = Pair (g 1 , g 2 ) 0 is satisfied from the relationship of Equation (6). Therefore, when i ≠ j, the following relationship is satisfied.
e ψ (a i (ψ), a j * (ψ)) = e ψ (g 1 , g 2 ) 0 = g T 0

特に、τ=κ1・κ2=1Fである場合(例えば、κ12=1Fの場合)、以下の関係が満たされる。
e(ai(ψ), aj *(ψ))=gT δ(i,j) …(11)
gT 0=1は巡回群GTの単位元であり、gT 1=gTは巡回群GTの生成元である。
In particular, when τ = κ 1 · κ 2 = 1 F (for example, when κ 1 = κ 2 = 1 F ), the following relationship is satisfied.
e (a i (ψ), a j * (ψ)) = g T δ (i, j) … (11)
g T 0 = 1 is the identity element of the cyclic group G T, g T 1 = g T is the generator of the cyclic group G T.

A(ψ):A(ψ)は、基底ベクトルai(ψ)(i=1,...,n(ψ)+ζ(ψ))を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列を表す。例えば、基底ベクトルai(ψ)(i=1,...,n(ψ)+ζ(ψ))が式(8)によって表現される場合、行列A(ψ)は以下のようになる。

Figure 2016134826
A (ψ): A (ψ) is n (ψ) + ζ (ψ) whose elements are the basis vectors a i (ψ) (i = 1, ..., n (ψ) + ζ (ψ)) This represents a matrix of rows n (ψ) + ζ (ψ) columns. For example, when the basis vector a i (ψ) (i = 1, ..., n (ψ) + ζ (ψ)) is expressed by the equation (8), the matrix A (ψ) is as follows: .
Figure 2016134826

A*(ψ):A*(ψ)は、基底ベクトルai *(ψ)(i=1,...,n(ψ)+ζ(ψ))を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列を表す。例えば、基底ベクトルai *(ψ)(i=1,...,n(ψ)+ζ(ψ))が式(9)によって表現される場合、行列A*(ψ)は以下のようになる。

Figure 2016134826
A * (ψ): A * (ψ) is n (ψ) + ζ with the basis vectors a i * (ψ) (i = 1, ..., n (ψ) + ζ (ψ)) as elements. It represents a matrix of (ψ) rows n (ψ) + ζ (ψ) columns. For example, when the basis vector a i * (ψ) (i = 1, ..., n (ψ) + ζ (ψ)) is expressed by the equation (9), the matrix A * (ψ) is as follows: become.
Figure 2016134826

X(ψ):X(ψ)は有限体Fqの元を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列を表す。行列X(ψ)は基底ベクトルai(ψ)の座標変換に用いられる。行列X(ψ)のi行j列(i=1,...,n(ψ)+ζ(ψ),j=1,...,n(ψ)+ζ(ψ))の要素をχi,j(ψ)∈Fqとすると、行列X(ψ)は以下のようになる。

Figure 2016134826
なお、行列X(ψ)の各要素χi,j(ψ)を変換係数と呼ぶ。 X (ψ): X (ψ) represents a matrix of n (ψ) + ζ (ψ) rows n (ψ) + ζ (ψ) columns having elements of the finite field F q as elements. The matrix X (ψ) is used for coordinate transformation of the basis vector a i (ψ). The elements of i row and j column (i = 1, ..., n (ψ) + ζ (ψ), j = 1, ..., n (ψ) + ζ (ψ))) of the matrix X (ψ) Assuming χ i, j (ψ) ∈F q , the matrix X (ψ) is as follows.
Figure 2016134826
Note that each element χ i, j (ψ) of the matrix X (ψ) is called a transformation coefficient.

X*(ψ):X*(ψ)はX*(ψ)=τ'・(X(ψ)-1)Tの関係を満たす行列である。ただし、τ'∈Fqは有限体Fqに属する任意の定数であり、例えば、τ'=1Fである。X*(ψ)は基底ベクトルai *(ψ)の座標変換に用いられる。行列X*(ψ)のi行j列の要素をχi,j *(ψ)∈Fqとすると、行列X*(ψ)は以下のようになる。

Figure 2016134826

なお、行列X*(ψ)の各要素χi,j *(ψ)を変換係数と呼ぶ。 X * (ψ): X * (ψ) is a matrix satisfying the relationship of X * (ψ) = τ ′ · (X (ψ) −1 ) T. However, τ′∈F q is an arbitrary constant belonging to the finite field F q , for example, τ ′ = 1 F. X * (ψ) is used for coordinate transformation of the basis vector a i * (ψ). Assuming that the elements of i rows and j columns of the matrix X * (ψ) are χ i, j * (ψ) ∈F q , the matrix X * (ψ) is as follows.
Figure 2016134826

Note that each element χ i, j * (ψ) of the matrix X * (ψ) is called a transformation coefficient.

この場合、n(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の単位行列をI(ψ)とするとX(ψ)・(X*(ψ))T=τ'・I(ψ)を満たす。すなわち、単位行列を以下のように定義する。

Figure 2016134826

これについて以下が満たされる。
Figure 2016134826
In this case, if the unit matrix of n (ψ) + ζ (ψ) row n (ψ) + ζ (ψ) column is I (ψ), X (ψ) · (X * (ψ)) T = τ '· I (ψ) is satisfied. That is, the unit matrix is defined as follows.
Figure 2016134826

The following is true for this:
Figure 2016134826

ここで、n(ψ)+ζ(ψ)次元ベクトルを以下のように定義する。
χi (ψ)=(χi,1(ψ),...,χi,n(ψ)+ζ(ψ)(ψ)) …(18)
χj →*(ψ)=(χj,1 *(ψ),...,χj,n(ψ)+ζ(ψ) *(ψ)) …(19)
すると、式(17)の関係から、n(ψ)+ζ(ψ)次元ベクトルχi (ψ)とχj →*(ψ)との内積は、以下のようになる。
χi (ψ)・χj →*(ψ)=τ'・δ(i,j) …(20)
Here, an n (ψ) + ζ (ψ) dimensional vector is defined as follows.
χ i (ψ) = (χ i, 1 (ψ), ..., χ i, n (ψ) + ζ (ψ) (ψ))… (18)
χ j → * (ψ) = (χ j, 1 * (ψ), ..., χ j, n (ψ) + ζ (ψ) * (ψ))… (19)
Then, from the relationship of Expression (17), the inner product of the n (ψ) + ζ (ψ) dimensional vector χ i (ψ) and χ j → * (ψ) is as follows.
χ 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・g1i,2(ψ)・κ1・g1,
...,χi,n(ψ)+ζ(ψ)(ψ)・κ1・g1) …(22)
巡回群G1のn(ψ)+ζ(ψ)個の元を要素とするすべてのn(ψ)+ζ(ψ)次元ベクトルは、n(ψ)+ζ(ψ)次元の基底ベクトルbi(ψ)(i=1,...,n(ψ)+ζ(ψ))の線形和によって表される。すなわち、n(ψ)+ζ(ψ)次元の基底ベクトルbi(ψ)は前述のベクトル空間V(ψ)を張る。
b i (ψ): b i (ψ) represents an n (ψ) + ζ (ψ) -dimensional basis vector having n (ψ) + ζ (ψ) elements of the cyclic group G 1 as elements. b i (ψ) can be obtained by coordinate transformation of the basis vector a i (ψ) (i = 1,..., n (ψ) + ζ (ψ)) using the matrix X (ψ). Specifically, the basis vector b i (ψ) is obtained by the following calculation.
b i (ψ) = Σ j = 1 n (ψ) + ζ (ψ) χ i, j (ψ) ・ a j (ψ)… (21)
For example, when the basis vector a j (ψ) (j = 1, ..., n (ψ) + ζ (ψ)) is expressed by equation (8), each element of the basis vector b i (ψ) is expressed as These are listed and expressed as follows.
b i (ψ) = (χ i, 1 (ψ) ・ κ 1・ g 1 , χ i, 2 (ψ) ・ κ 1・ g 1 ,
..., χ i, n (ψ) + ζ (ψ) (ψ) ・ κ 1・ g 1 )… (22)
All n (ψ) + ζ (ψ) dimensional vectors whose elements are n (ψ) + ζ (ψ) elements of the cyclic group G 1 are n (ψ) + ζ (ψ) dimensional basis vectors b It is represented by a linear sum of i (ψ) (i = 1,..., n (ψ) + ζ (ψ)). That is, the n (ψ) + ζ (ψ) -dimensional basis vector b i (ψ) spans the vector space V (ψ) described above.

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・g2i,2 *(ψ)・κ2・g2,
...,χi,n(ψ)+ζ(ψ) *(ψ)・κ2・g2) …(24)
巡回群G2のn(ψ)+ζ(ψ)個の元を要素とするすべてのn(ψ)+ζ(ψ)次元ベクトルは、n(ψ)+ζ(ψ)次元の基底ベクトルbi *(ψ)(i=1,...,n(ψ)+ζ(ψ))の線形和によって表される。すなわち、n(ψ)+ζ(ψ)次元の基底ベクトルbi *(ψ)は前述のベクトル空間V*(ψ)を張る。
b i * (ψ): b i * (ψ) represents an n (ψ) + ζ (ψ) -dimensional basis vector whose elements are n (ψ) + ζ (ψ) elements of the cyclic group G 2 . b i * (ψ) is obtained by transforming the basis vector a i * (ψ) (i = 1, ..., n (ψ) + ζ (ψ)) using the matrix X * (ψ). It is done. Specifically, the basis vector b i * (ψ) is obtained by the following calculation.
b i * (ψ) = Σ j = 1 n (ψ) + ζ (ψ) χ i, j * (ψ) ・ a j * (ψ)… (23)
For example, if the basis vector a j * (ψ) (j = 1, ..., n (ψ) + ζ (ψ)) is expressed by equation (9), each of the basis vectors b i * (ψ) The elements are listed and expressed as follows.
b i * (ψ) = (χ i, 1 * (ψ) ・ κ 2・ g 2 , χ i, 2 * (ψ) ・ κ 2・ g 2 ,
..., χ i, n (ψ) + ζ (ψ) * (ψ) ・ κ 2・ g 2 )… (24)
All n (ψ) + ζ (ψ) -dimensional vectors whose elements are n (ψ) + ζ (ψ) elements of the cyclic group G 2 are n (ψ) + ζ (ψ) -dimensional basis vectors b It is represented by a linear sum of i * (ψ) (i = 1,..., n (ψ) + ζ (ψ)). That is, the n (ψ) + ζ (ψ) -dimensional basis vector b i * (ψ) spans the vector space V * (ψ) described above.

なお、基底ベクトルbi(ψ)と基底ベクトルbi *(ψ)とは、0Fを除く有限体Fqの元τ=κ1・κ2について以下の関係を満たす。
eψ(bi(ψ), bj *(ψ))=gT τ・τ'・δ(i,j) …(25)
すなわち、式(5)(20)(22)(24)の関係から、以下の関係が満たされる。

Figure 2016134826

特にτ=κ1・κ2=1F(例えば、κ12=1F)及びτ'=1Fである場合、以下の関係が満たされる。
eψ(bi(ψ), bj *(ψ))=gT δ(i,j) …(26)
基底ベクトルbi(ψ)と基底ベクトルbi *(ψ)とは、双対ペアリングベクトル空間(ベクトル空間V(ψ)とベクトル空間V*(ψ))の双対正規直交基底である。
なお、式(25)の関係を満たすのであれば、式(8)(9)で例示したもの以外の基底ベクトルai(ψ)及びai *(ψ)や、式(21)(23)で例示したもの以外の基底ベクトルbi(ψ)及びbi *(ψ)を用いてもよい。 Note that the basis vector b i (ψ) and the basis vector b i * (ψ) satisfy the following relationship with respect to the element τ = κ 1 · κ 2 of the finite field F q excluding 0 F.
e ψ (b i (ψ), b j * (ψ)) = g T τ ・ τ '・ δ (i, j) … (25)
That is, the following relations are satisfied from the relations of the expressions (5), (20), (22), and (24).
Figure 2016134826

In particular, when τ = κ 1 · κ 2 = 1 F (for example, κ 1 = κ 2 = 1 F ) and τ ′ = 1 F , the following relationship is satisfied.
e ψ (b i (ψ), b j * (ψ)) = g T δ (i, j) … (26)
The basis vector b i (ψ) and the basis vector b i * (ψ) are dual orthonormal bases of the dual pairing vector space (vector space V (ψ) and vector space V * (ψ)).
Note that if the relationship of Expression (25) is satisfied, basis vectors a i (ψ) and a i * (ψ) other than those exemplified in Expressions (8) and (9), and Expressions (21) and (23) Base vectors b i (ψ) and b i * (ψ) other than those exemplified in (1) may be used.

B(ψ):B(ψ)は基底ベクトルbi(ψ) (i=1,...,n(ψ)+ζ(ψ))を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列である。B(ψ)=X(ψ)・A(ψ)を満たす。例えば、基底ベクトルbi(ψ)が式(22)によって表現される場合、行列B(ψ)は以下のように表される。

Figure 2016134826
B (ψ): B (ψ) is n (ψ) + ζ (ψ) rows with the basis vectors b i (ψ) (i = 1, ..., n (ψ) + ζ (ψ)) as elements. It is a matrix of n (ψ) + ζ (ψ) columns. B (ψ) = X (ψ) · A (ψ) is satisfied. For example, when the basis vector b i (ψ) is expressed by Expression (22), the matrix B (ψ) is expressed as follows.
Figure 2016134826

B*(ψ):B*(ψ)は基底ベクトルbi *(ψ) (i=1,...,n(ψ)+ζ(ψ))を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列を表す。B*(ψ)=X*(ψ)・A*(ψ)を満たす。例えば、基底ベクトルbi *(ψ) (i=1,...,n(ψ)+ζ(ψ))が式(24)によって表現される場合、行列B*(ψ)は以下のように表される。

Figure 2016134826
B * (ψ): B * (ψ) is n (ψ) + ζ () with the basis vectors b i * (ψ) (i = 1, ..., n (ψ) + ζ (ψ)) as elements. ψ) represents a matrix of rows n (ψ) + ζ (ψ) columns. B * (ψ) = X * (ψ) · A * (ψ) is satisfied. For example, when the basis vector b i * (ψ) (i = 1, ..., n (ψ) + ζ (ψ)) is expressed by equation (24), the matrix B * (ψ) is as follows: It is expressed in
Figure 2016134826

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(λ))番目の要素を表す。
v (λ) : v (λ) represents an n (λ) -dimensional vector having elements of the finite field F q as elements.
v (λ) = (v 1 (λ) , ..., v n (λ) (λ)) ∈F q n (λ) … (29)
v μ (λ): v μ (λ) represents the μ (μ = 1,..., n (λ))-th element of the n (λ) -dimensional vector v (λ) .
w (λ) : w (λ) represents an n (λ) -dimensional vector having elements of the finite field F q as elements.
w (λ) = (w 1 (λ) , ..., w n (λ) (λ)) ∈F q n (λ) … (30)
w μ (λ): w μ (λ) represents the μ (μ = 1,..., n (λ))-th element of the n (λ) -dimensional vector w (λ) .

Enc:Encは共通鍵暗号方式の暗号化処理を示す共通鍵暗号関数を表す。
EncK(M):EncK(M)は、共通鍵Kを用い、共通鍵暗号関数Encに従って平文Mを暗号化して得られた暗号文を表す。
Dec:Decは、共通鍵暗号方式の復号処理を示す共通鍵復号関数を表す。
DecK(C):DecK(C)は、共通鍵Kを用い、共通鍵復号関数Decに従って暗号文Cを復号して得られた復号結果を表す。
Enc: Enc represents a common key encryption function indicating encryption processing of the common key encryption method.
Enc K (M): Enc K (M) represents a ciphertext obtained by encrypting plaintext M using a common key K according to a common key encryption function Enc.
Dec: Dec represents a common key decryption function indicating a decryption process of the common key cryptosystem.
Dec K (C): Dec K (C) represents a decryption result obtained by decrypting the ciphertext C using the common key K according to the common key decryption function Dec.

<関数暗号方式の基本的な構成>
次に、関数暗号方式の基本的な構成について例示する。ここで例示する関数暗号方式では秘密情報に応じた値が所定の論理式に応じた態様で階層的に秘密分散される。所定の論理式は、第1情報と第2情報との組み合わせによって真理値が定まる命題変数を含み、必要に応じてさらに論理記号∧,∨,¬の何れか又はすべてを含む。各命題変数の真理値が特定されることで定まる当該所定の論理式の真理値が「真」となる場合に秘密情報に応じた値が復元され、それに基づいて暗号文が復号される。
<Basic structure of function encryption method>
Next, a basic configuration of the function encryption method will be exemplified. In the function encryption method exemplified here, the value corresponding to the secret information is secretly distributed in a hierarchical manner in a manner corresponding to a predetermined logical expression. The predetermined logical expression includes a propositional variable whose truth value is determined by a combination of the first information and the second information, and further includes any or all of the logical symbols ∧, ∨, and ¬ as necessary. When the truth value of the predetermined logical expression determined by specifying the truth value of each propositional variable is “true”, the value corresponding to the secret information is restored, and the ciphertext is decrypted based on the value.

<論理式と階層的な秘密分散との関係>
上述した所定の論理式と階層的な秘密分散との関係を説明する。
秘密分散とは、しきい値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しきい値分散方式」)という。
<Relationship between logical expression and hierarchical secret sharing>
The relationship between the predetermined logical expression described above and hierarchical secret sharing will be described.
Secret sharing refers to N (N ≧ 2) pieces of shared information so that the secret information is restored only when threshold Kt (K t ≧ 1) pieces of shared information is obtained. Is to be distributed. A secret sharing scheme (SSS) that satisfies K t = N is called an N-out-of-N distribution scheme (or “N-out-of-N threshold distribution scheme”), and K t < A secret sharing scheme that satisfies N is called a K t -out-of-N distribution scheme (or “K t -out-of-N threshold distribution scheme”).

N-out-of-N分散方式では、すべてのシェア情報share(1),...,share(N)が与えられれば秘密情報SEを復元できるが、任意のN-1個のシェア情報share(φ1),...,share(φN-1)が与えられても秘密情報SEの情報はまったく得られない。以下に、N-out-of-N分散方式の一例を示す。
・SH1,...,SHN-1をランダムに選択する。
・SHN=SE-(SH1+...+SHN-1)の計算を行う。
・SH1,...,SHNを各シェア情報share(1),...,share(N)とする。
・すべてのシェア情報share(1),...,share(N)が与えられれば、以下の復元処理によって秘密情報SEの復元が可能である。
SE=share(1)+...+share(N) …(31)
In the N-out-of-N distribution method, the secret information SE can be restored if all share information share (1), ..., share (N) is given, but any N-1 share information shares Even if (φ 1 ), ..., share (φ N-1 ) is given, no information of the secret information SE can be obtained. An example of the N-out-of-N distribution method is shown below.
・ SH 1 , ..., SH N-1 are selected at random.
・ Calculate SH N = SE- (SH 1 + ... + SH N-1 ).
-Let SH 1 , ..., SH N be share information (share (1), ..., share (N)).
If all share information shares (1), ..., share (N) are given, the secret information SE can be restored by the following restoration process.
SE = share (1) + ... + share (N)… (31)

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)=ξ01・x+ξ2・x2+...+ξKt-1・xKt-1をランダムに選ぶ。すなわち、ξ0=SEとし、ξ1,..., ξKt-1をランダムに選ぶ。シェア情報をshare(ρ)=(ρ, f(ρ))(ρ=1,...,N)とする。(ρ, f(ρ))からのρ及びf(ρ)の抽出が可能であり、(ρ, f(ρ))の例はρとf(ρ)とのビット結合値である。
・任意の相違なるKt個のシェア情報share(φ1),...,share(φKt)((φ1,...,φKt)⊂(1,...,N))が得られた場合、例えば、ラグランジェ(Lagrange)の補間公式を用い、以下のような復元処理によって秘密情報SEの復元が可能である。
SE=f(0)=LA1・f(φ1)+...+ LAKt・f(φKt) …(32)

Figure 2016134826

は先頭からρ番目の被演算子〔分母の要素(φρρ)、分子の要素(x-φρ)〕が存在しないことを意味する。すなわち、式(33)の分母は、以下のように表される。
ρ1)・...・(φρρ-1)・(φρρ+1)・...・(φρKt)
式(33)の分子は、以下のように表される。
(x-φ1)・...・(x-φρ-1)・(x-φρ+1)・...・(x-φKt) In the K t -out-of-N distribution method, the secret information SE can be restored if K t pieces of different share information share (φ 1 ), ..., share (φ Kt ) are given. Even if K t -1 pieces of share information share (φ 1 ), ..., share (φ Kt-1 ) are given, the information of the secret information SE cannot be obtained at all. Kt subscript represents the K t. An example of the K t -out-of-N distribution method is shown below.
· F (0) = meet the SE K t -1-order polynomial f (x) = ξ 0 + ξ 1 · x + ξ 2 · x 2 + ... + ξ Kt-1 · x Kt-1 random Choose to. That is, ξ 0 = SE and ξ 1 ,..., Ξ Kt−1 are selected at random. The share information is assumed to be share (ρ) = (ρ, f (ρ)) (ρ = 1,..., N). ρ and f (ρ) can be extracted from (ρ, f (ρ)), and an example of (ρ, f (ρ)) is a bit combination value of ρ and f (ρ).
・ K t pieces of share information share (φ 1 ), ..., share (φ Kt ) ((φ 1 , ..., φ Kt ) ⊂ (1, ..., N)) When obtained, for example, the Lagrange interpolation formula can be used to restore the secret information SE by the following restoration process.
SE = f (0) = LA 1・ f (φ 1 ) + ... + LA Kt・ f (φ Kt )… (32)
Figure 2016134826

Means that there is no ρ-th operand from the top [element of denominator (φ ρ −φ ρ ), element of numerator (x−φ ρ )]. That is, the denominator of Expression (33) is expressed as follows.
ρ1 ) ・ ・ ・ ・ ・ (φ ρρ-1 ) ・ (φ ρρ + 1 ) ・ ... ・ (φ ρKt )
The molecule of formula (33) is represented as follows:
(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の線形結合となる秘密分散方式を線形秘密分散方式と呼ぶ。 Each of the above-described secret sharing can be expanded, and the value corresponding to the secret information SE can be secretly distributed to the value corresponding to the share information share. The value corresponding to the secret information SE is the secret information SE itself or the function value of the secret information SE, and the value corresponding to the share information share is the share information share itself or the function value of the share information. For example, finite field F q original a is secret information SE∈F element g of q cyclic group G T corresponding to T SE ∈G T each share information share the secret information SE (1) of, according to share (2) original g T share (1) of the cyclic group G T, it may be a secret distributed g T share (2) ∈G T . The above-described secret information SE is a linear combination of the share information share (Equations (31) and (32)). A secret sharing scheme in which the secret information SE is a linear combination of the share information share is called a linear secret sharing scheme.

上述した所定の論理式は、秘密情報を階層的に秘密分散して得られる木構造データによって表現できる。すなわち、ド・モルガンの法則により、上述した所定の論理式はリテラルからなる論理式、又は、論理記号∧,∨の少なくとも一部とリテラルとからなる論理式(これらを「標準形論理式」と呼ぶことにする)によって表現でき、この標準形論理式は秘密情報を階層的に秘密分散して得られる木構造データによって表現できる。   The predetermined logical expression described above can be expressed by tree structure data obtained by secretly sharing secret information in a hierarchical manner. That is, according to De Morgan's law, the above-mentioned predetermined logical expression is a logical expression composed of literals, or a logical expression composed of at least part of the logical symbols ∧ and ∨ and literals (these are referred to as “standard logical expressions”). This standard logical expression can be expressed by tree structure data obtained by secretly sharing secret information in a hierarchical manner.

標準形論理式を表現する木構造データは複数のノードを含み、少なくとも一部のノードは1個以上の子ノードの親ノードとされ、親ノードの1つはルートノードとされ、子ノードの少なくとも一部は葉ノードとされる。ルートノードの親ノードや、葉ノードの子ノードは存在しない。ルートノードには秘密情報に応じた値が対応し、各親ノードの子ノードには当該親ノードに対応する値を秘密分散したシェア情報に応じた値が対応する。各ノードでの秘密分散形態(秘密分散方式やしきい値)は標準形論理式に応じて定まる。また、各葉ノードには標準形論理式を構成する各リテラルが対応し、当該各リテラルの真理値は第1情報と第2情報との組み合わせによって定まる。   The tree structure data representing the standard logical expression includes a plurality of nodes, at least some of the nodes are parent nodes of one or more child nodes, one of the parent nodes is a root node, and at least of the child nodes Some are leaf nodes. There is no parent node of the root node or a child node of the leaf node. The value corresponding to the secret information corresponds to the root node, and the value corresponding to the share information obtained by secretly sharing the value corresponding to the parent node corresponds to the child node of each parent node. The secret sharing mode (secret sharing scheme and threshold) at each node is determined according to the standard logical formula. Each leaf node corresponds to each literal constituting the standard logical expression, and the truth value of each literal is determined by the combination of the first information and the second information.

ここで、真理値が真となったリテラルに対応する葉ノードに対応するシェア情報に応じた値は得られるが、真理値が偽となったリテラルに対応する葉ノードに対応するシェア情報に応じた値は得られないものとする。また、上述した秘密分散の性質により、親ノードに対応するシェア情報に応じた値(その親ノードがルートノードであれば秘密情報に応じた値)は、その子ノードに対応するシェア情報に応じた値が当該親ノードに対応するしきい値以上の個数だけ得られた場合にのみ復元される。そのため、どの葉ノードに対応するリテラルの真理値が真になったのかと木構造データの構成(各ノードでの秘密分散の形態を含む)とに応じ、最終的にルートノードに対応する秘密情報に応じた値が復元できるか否かが定まる。そして、各葉ノードに対応する各リテラルの真理値が標準形論理式の真理値を真にする場合にのみ最終的にルートノードに対応する秘密情報に応じた値が復元できるように木構造データが構成されている場合、このような木構造データは標準形論理式を表現する。このような標準形論理式を表現する木構造データは容易に設定できる。   Here, a value corresponding to the share information corresponding to the leaf node corresponding to the literal whose truth value is true is obtained, but according to the share information corresponding to the leaf node corresponding to the literal whose truth value is false. The obtained value is not obtained. In addition, due to the above-described property of secret sharing, the value corresponding to the share information corresponding to the parent node (the value corresponding to the secret information if the parent node is the root node) depends on the share information corresponding to the child node. It is restored only when the number of values obtained is equal to or greater than the threshold value corresponding to the parent node. Therefore, the secret information finally corresponding to the root node depends on which literal value corresponding to which leaf node is true and the structure of the tree structure data (including the form of secret sharing at each node). It is determined whether or not the value corresponding to can be restored. The tree structure data is such that the value corresponding to the secret information corresponding to the root node can be finally restored only when the truth value of each literal corresponding to each leaf node makes the truth value of the standard form logical expression true. Is configured, such tree structure data represents a standard logical expression. Tree structure data expressing such a standard logical expression can be easily set.

<アクセス構造>
上述のように秘密情報を階層的に秘密分散して得られる木構造データによって所定の論理式を表現した場合、第1情報と第2情報との組み合わせに対して得られる葉ノードでのシェア情報に応じた値から秘密情報に応じた値を復元できるか否かによって、第1情報と第2情報との組み合わせによって定まる論理式の真理値が「真」となるか「偽」となるかを判定できる。以下、第1情報と第2情報との組み合わせによって定まる論理式の真理値が「真」となる場合に第1情報と第2情報との組み合わせを受け入れ、「偽」となる場合に第1情報と第2情報との組み合わせを拒絶する仕組みをアクセス構造と呼ぶ。
<Access structure>
Share information at leaf nodes obtained for a combination of first information and second information when a predetermined logical expression is expressed by tree structure data obtained by secretly sharing secret information in a hierarchical manner as described above Whether the truth value of the logical expression determined by the combination of the first information and the second information is “true” or “false” depending on whether the value according to the secret information can be restored from the value according to Can be judged. Hereinafter, when the truth value of the logical expression determined by the combination of the first information and the second information is “true”, the combination of the first information and the second information is accepted, and when the truth value is “false”, the first information A mechanism that rejects the combination of the second information and the second information is called an access structure.

上述のように所定の論理式を表現した木構造データの葉ノードの総数をΨとし、各葉ノードに対応する識別子をλ=1,...,Ψとする。各葉ノードに対応するn(λ)次元ベクトルv(λ)の集合{v(λ)}λ=1,...,Ψを第1情報とし、n(λ)次元ベクトルw(λ)の集合{w(λ)}λ=1,...,Ψを第2情報とする。また、上述した木構造データをラベル付き行列LMT(MT,LAB)として実装する。 As described above, the total number of leaf nodes of the tree structure data expressing a predetermined logical expression is ψ, and the identifier corresponding to each leaf node is λ = 1,. A set of n (λ) -dimensional vectors v (λ) corresponding to each leaf node {v (λ) } λ = 1,..., Ψ is first information, and an n (λ) -dimensional vector w (λ ) set {w (λ) } Let λ = 1, ..., Ψ be the second information. Further, the above-described tree structure data is implemented as a labeled matrix LMT (MT, LAB).

ラベル付き行列LMT(MT,LAB)は、以下のΨ行COL列(COL≧1)の行列MTと、行列MTの各行λ=1,...,Ψに対応付けられたラベルLAB(λ)とを含む。

Figure 2016134826
The labeled matrix LMT (MT, LAB) is a matrix MT with the following Ψ rows and COL columns (COL ≧ 1) and labels LAB (λ) associated with the rows λ = 1,. Including.
Figure 2016134826

行列MTの各要素mtλ,col(col=1,...,COL)は次の2つの要件を満たす。第1に、上述のように所定の論理式を表現した木構造データのルートノードに秘密情報SE∈Fqに応じた値が対応する場合、予め定められた有限体Fqの元を要素とするCOL次元ベクトルGVと秘密情報SEに応じた有限体Fqの元を要素とするCOL次元ベクトルCVとの間に以下の関係が成立する。
GV=(gv1,...,gvCOL)∈Fq COL …(35)
CV=(cv1,...,cvCOL)∈Fq COL …(36)
SE=GV・(CV)T …(37)
Each element mt λ, col (col = 1,..., COL) of the matrix MT satisfies the following two requirements. First, when a value corresponding to the secret information SE∈F q corresponds to the root node of the tree structure data expressing a predetermined logical expression as described above, an element of a predetermined finite field F q is defined as an element. The following relationship holds between the COL dimension vector GV to be performed and the COL dimension vector CV having elements of the finite field F q corresponding to the secret information SE as elements.
GV = (gv 1 , ..., gv COL ) ∈F q COL … (35)
CV = (cv 1 , ..., cv COL ) ∈F q COL … (36)
SE = GV ・ (CV ) T … (37)

以下にCOL次元ベクトルGVの具体例を示す。
GV=(1F,...,1F)∈Fq COL …(38)
ただし、GV=(1F,0F,...,0F)∈Fq COLなどのその他のCOL次元ベクトルがGVであってもよい。第2に、識別子λに対応する葉ノードにシェア情報share(λ)∈Fqに応じた値が対応する場合、以下の関係が成立する。
(share(1),...,share(Ψ))T=MT・(CV)T …(39)
A specific example of the COL dimension vector GV is shown below.
GV = (1 F , ..., 1 F ) ∈F q COL … (38)
However, other COL dimension vectors such as GV = (1 F , 0 F ,..., 0 F ) ∈F q COL may be GV . Secondly, when the value corresponding to the share information share (λ) εF q corresponds to the leaf node corresponding to the identifier λ, the following relationship is established.
(share (1), ..., share (Ψ)) T = MT ・ (CV ) T … (39)

上述のように所定の論理式を表現した木構造データが定まれば、これら2つの要件を満たす行列MTを選択することは容易である。また、秘密情報SEやシェア情報share(λ)が変数であったとしても、これら2つの要件を満たす行列MTを選択することは容易である。すなわち、行列MTを定めた後で秘密情報SEやシェア情報share(λ)の値が定められてもよい。   If the tree structure data expressing a predetermined logical expression is determined as described above, it is easy to select a matrix MT that satisfies these two requirements. Even if the secret information SE and the share information share (λ) are variables, it is easy to select a matrix MT that satisfies these two requirements. That is, after the matrix MT is determined, the values of the secret information SE and the share information share (λ) may be determined.

また、行列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と表記する。 Further, a label LAB (λ) associated with each row λ = 1,..., Ψ of the matrix MT is a literal (PRO (λ) or ¬PRO (λ)) corresponding to the leaf node corresponding to the identifier λ. Corresponding to Here, the truth value of the propositional variable PRO (λ) is “true” and v (λ) included in the first information VSET1 = {λ, v (λ) | λ = 1,. and second information VSET2 = {λ, w (λ) | λ = 1, ..., Ψ} contains w (λ) and inner product v (λ) w (λ) is 0 That the truth value of the propositional variable PRO (λ) is “false” and that the inner product v (λ) .w (λ) is not 0 is equivalent. deal with. A label LAB (λ) corresponding to PRO (λ) represents v (λ) →, and a label LAB (λ) corresponding to ¬PRO (λ) represents ν (λ) . Incidentally, ¬v (λ) is a logical expression that represents the v (λ) negative, it is possible ¬v (λ) from v (λ) the identified. Further, LAB (λ) represents v (λ) is expressed as “LAB (λ) = v (λ) ”, and LAB (λ) represents ¬v (λ) “LAB ( λ) = ¬v (λ) ”. Further, a set {LAB (λ)} of LAB (λ) (λ = 1,..., Ψ) λ = 1,.

さらに、Ψ次元ベクトルが以下のように定義される。
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)
さらに、以下の論理式の真理値が「真」になるときLIT(λ)=1と表記し「偽」になるときLIT(λ)=0と表記する。
{(LAB(λ)=v(λ))∧(tfv(λ)=1)}∨{(LAB(λ)=¬v(λ))∧(tfv(λ)=0)} …(43)
すなわち、識別子λに対応する葉ノードに対応するリテラルの真理値が「真」になるときLIT(λ)=1と表記し「偽」になるときLIT(λ)=0と表記する。すると、行列MTが含む行ベクトルのうちLIT(λ)=1となる行ベクトルmtλ =(mtλ,1,...,mtλ,COL)のみからなる部分行列MTTFVは以下のように表記できる。
MTTFV=(MT)LIT(λ)=1 …(44)
Furthermore, the Ψ-dimensional vector is defined as follows.
TFV = (tfv (1), ..., tfv (Ψ))… (40)
The element tfv (λ) is tfv (λ) = 1 when the inner product v (λ) w (λ) 0 is zero, and tfv (λ) = 0 when the inner product is not zero.
tfv (λ) = 1 (PRO (λ) is true) if v (λ) w (λ) = 0… (41)
tfv (λ) = 0 (PRO (λ) is false) if v (λ) w (λ) ≠ 0… (42)
Furthermore, LIT (λ) = 1 is expressed when the truth value of the following logical expression is “true”, and LIT (λ) = 0 is expressed when “false”.
{(LAB (λ) = v (λ) ) ∧ (tfv (λ) = 1)} ∨ {(LAB (λ) = ¬v (λ) ) ∧ (tfv (λ) = 0)}… ( 43)
That is, LIT (λ) = 1 is written when the literal truth value corresponding to the leaf node corresponding to the identifier λ is “true”, and LIT (λ) = 0 is written when it is “false”. Then, of the row vectors included in the matrix MT, the submatrix MT TFV consisting only of row vectors mt λ = (mt λ, 1 , ..., mt λ, COL ) where LIT (λ) = 1 is as follows: Can be written.
MT TFV = (MT) LIT (λ) = 1 … (44)

上述した秘密分散方式が線形秘密分散方式である場合、識別子λに対応するシェア情報share(λ)に応じた値から秘密情報SEに応じた値が復元できることと、識別子λに対応する行ベクトルmtλ で張られるベクトル空間にCOL次元ベクトルGVが属することとは等価である。すなわち、識別子λに対応する行ベクトルmtλ で張られるベクトル空間にCOL次元ベクトルGVが属するか否かを判定することで、識別子λに対応するシェア情報share(λ)に応じた値から秘密情報SEに応じた値が復元できるか否かが判定できる。行ベクトルmtλ で張られるベクトル空間とは、行ベクトルmtλ の線形結合で表すことができるベクトル空間を意味する。 When the secret sharing scheme described above is a linear secret sharing scheme, a value corresponding to the secret information SE can be restored from a value corresponding to the share information share (λ) corresponding to the identifier λ, and a row vector mt corresponding to the identifier λ It is equivalent that the COL dimension vector GV belongs to the vector space spanned by λ . That is, by determining whether or not the COL dimension vector GV belongs to the vector space spanned by the row vector mt λ corresponding to the identifier λ, from the value corresponding to the share information share (λ) corresponding to the identifier λ It can be determined whether or not the value corresponding to the secret information SE can be restored. The row vectors mt lambda vector space spanned by means vector space can be represented by a row vector mt lambda linear combination of.

ここで、上述の部分行列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>)
Here, when the COL dimension vector GV belongs to the vector space span <MT TFV > spanned by each row vector mt λ of the above-described submatrix MT TFV , the combination of the first information and the second information is accepted, and so on. Otherwise, the combination of the first information and the second information is rejected. Thereby, the above-described access structure is embodied. As described above, when the labeled matrix LMT (MT, LAB) corresponds to the first information, the access structure accepts a combination of the first information and the second information, “the access structure accepts the second information. "The access structure does not accept the combination of the first information and the second information," the access structure rejects the second information.
Accept if GV ∈ span <MT TFV >
Refusal if ¬ (GV ∈ span <MT TFV >)

また、GV∈span<MTTFV>の場合、以下を満たす係数const(μ)が存在し、このような係数const(μ)は行列MTのサイズのオーダーの多項式時間で求めることができる。
SE=Σμ∈SETconst(μ)・share(μ) …(45)
{const(μ)∈Fq|μ∈SET},SET⊆{1,...,λ|LIT(λ)=1}
Further, in the case of GV ∈span <MT TFV >, there exists a coefficient const (μ) that satisfies the following, and such a coefficient const (μ) can be obtained in a polynomial time on the order of the size of the matrix MT.
SE = Σ μ∈SET const (μ) ・ share (μ)… (45)
{const (μ) ∈F q | μ∈SET}, SET⊆ {1, ..., λ | LIT (λ) = 1}

<アクセス構造を用いた関数暗号方式の基本方式>
以下では、アクセス構造を用いた関数暗号方式によって鍵カプセル化メカニズム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とされる。
<Basic method of function encryption using access structure>
In the following, a basic scheme when a key encapsulation mechanism KEM (Key Encapsulation Mechanisms) is configured by a function encryption scheme using an access structure will be exemplified. This basic method is Setup (1 sec , (Ψ; n (1), ..., n (Ψ))), GenKey (PK, MSK, LMT (MT, LAB)), Enc (PK, M, {λ , v (λ) | λ = 1, ..., Ψ}) (v 1 (λ) = 1 F ), Dec (PK, SKS, C). The second information VSET2 = {λ, w (λ ) → | λ = 1, ..., Ψ} 1 th element w 1 of (lambda) is the 1 F.

[Setup(1sec,(Ψ;n(1),...,n(Ψ))):セットアップ]
−入力:1sec,(Ψ;n(1),...,n(Ψ))
−出力:マスタ秘密鍵MSK,公開パラメータPK
[Setup (1 sec , (Ψ; n (1), ..., n (Ψ))): Setup]
-Input : 1 sec , (Ψ; n (1), ..., n (Ψ))
-Output: Master secret key MSK, public parameter 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(ψ)が生成される。
In Setup, the following processing is executed for each ψ = 0,.
(Setup-1) 1 sec as input, order q with security parameter sec, elliptic curve E, cyclic group G 1 , G 2 , G T , bilinear map e ψ (ψ = 0, ..., ψ) Is generated (param = (q, E, G 1 , G 2 , G T , e ψ )).
(Setup-2) τ′∈F q is selected, and matrices X (ψ) and X * (ψ) satisfying X * (ψ) = τ ′ · (X (ψ) −1 ) T are selected.
(Setup-3) The basis vector a i (ψ) (i = 1, ..., n (ψ) + ζ (ψ)) is transformed according to equation (21), and n (ψ) + ζ (ψ) A dimensional basis vector b i (ψ) (i = 1,..., N (ψ) + ζ (ψ)) is generated. N (ψ) + ζ (ψ) rows n (ψ) + ζ (ψ) columns with basis vectors b i (ψ) (i = 1, ..., n (ψ) + ζ (ψ)) Matrix B (ψ) is generated.

(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,...,Ψ)を含む。以下に一例を示す。
(Setup-4) The basis vectors a i * (ψ) (i = 1, ..., n (ψ) + ζ (ψ)) are transformed according to equation (23), and n (ψ) + ζ (ψ ) -Dimensional basis vectors b i * (ψ) (i = 1,..., N (ψ) + ζ (ψ)) are generated. N (ψ) + ζ (ψ) rows n (ψ) + ζ (ψ) whose elements are basis vectors b i * (ψ) (i = 1, ..., n (ψ) + ζ (ψ)) A matrix of columns B * (ψ) is generated.
(Setup-5) B * ( ψ) the set of ^ {B * (ψ) ^ } ψ = 0, ..., Ψ the master secret key MSK = {B * (ψ) ^} ψ = 0, .. ., Ψ . A set of B (ψ) ^ {B (ψ) ^} ψ = 0, ..., ψ , 1 sec, and param are public parameters PK. However, B * (ψ) ^ is a matrix B * (ψ) or a submatrix thereof, and B (ψ) ^ is a matrix B (ψ) or a submatrix thereof. The set {B * (ψ) ^} ψ = 0, ..., ψ is at least b 1 * (0), b 1 * (λ) ..., b n (λ) * (λ) (λ = 1 , ..., Ψ). The set {B (ψ) ^} ψ = 0, ..., ψ is at least b 1 (0), b 1 (λ), ..., b n (λ) (λ) (λ = 1,... ., Ψ). An example is shown below.

・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,...,Ψ)
・ N (0) + ζ (0) ≧ 5, ζ (λ) = 3 ・ n (λ)
・ B (0) ^ = (b 1 (0) b 3 (0) b 5 (0)) T
・ B (λ) ^ = (b 1 (λ)… b n (λ) (λ) b 3 ・ n (λ) +1 (λ)… b 4 ・ n (λ) (λ)) T (λ = 1, ..., Ψ)
・ B * (0) ^ = (b 1 * (0) b 3 * (0) b 4 * (0)) T
・ B * (λ) ^ = (b 1 * (λ)… b n (λ) * (λ) b 2 ・ n (λ) +1 * (λ)… b 3 ・ n (λ) * (λ) ) T (λ = 1, ..., Ψ)

[GenKey(PK,MSK,LMT(MT,LAB)):秘密鍵生成]
−入力:公開パラメータPK,マスタ秘密鍵MSK,第1情報VSET1={λ,v(λ)|λ=1,...,Ψ}に対応するラベル付き行列LMT(MT,LAB)
−出力:秘密鍵SKS
[GenKey (PK, MSK, LMT (MT, LAB)): Secret key generation]
-Input: public parameter PK, master secret key MSK, first information VSET1 = {λ, v (λ) | λ = 1, ..., Ψ} corresponding labeled matrix LMT (MT, LAB)
-Output: Secret key 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*(λ)が生成される。
D*(λ)=(share(λ)+coef(λ)・v1(λ))・b1 *(λ)
ι=2 n(λ)coef(λ)・vι(λ)・bι *(λ)
ι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)・bι *(λ) …(48)
LAB(λ)=¬v(λ)となるλに対して、以下のD*(λ)が生成される。
D*(λ)=share(λ)・Σι=1 n(λ)vι(λ)・bι *(λ)
ι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)・bι *(λ) …(49)
ただしcoef(λ),coefι(λ)∈Fqは定数又は乱数である。以下に一例を示す。
(GenKey-1) The following processing is executed for the secret information SE that satisfies the expressions (35) to (39).
D * (0) =-SE ・ b 1 * (0) + Σ ι = 2 I coef ι (0) ・ b ι * (0)… (46)
However, I is a constant not less than 2 and not more than n (0) + ζ (0). coef ι (0) ∈F q is a constant or a random number. “Random number” means a true random number or a pseudo-random number. An example of D * (0) is shown below. In the equation (47), coef 4 (0) is a random number.
D * (0) =-SE ・ b 1 * (0) + b 3 * (0) + coef 4 (0) ・ b 4 * (0)… (47)
(GenKey-2) The following processing is executed for share (λ) (λ = 1,..., Ψ) satisfying equations (35)-(39).
The following D * (λ) is generated for λ such that LAB (λ) = v (λ) .
D * (λ) = (share (λ) + coef (λ) ・ v 1 (λ)) ・ b 1 * (λ)
+ Σ ι = 2 n (λ) coef (λ) ・ v ι (λ) ・ b ι * (λ)
+ Σ ι = n (λ) +1 n (λ) + ζ (λ) coef ι (λ) ・ b ι * (λ)… (48)
The following D * (λ) is generated for λ such that LAB (λ) = ¬v (λ) .
D * (λ) = share (λ) ・ Σ ι = 1 n (λ) v ι (λ) ・ b ι * (λ)
+ Σ ι = n (λ) +1 n (λ) + ζ (λ) coef ι (λ) ・ b ι * (λ)… (49)
Here, coef (λ) and coef ι (λ) ∈F q are constants or random numbers. An example is shown below.

LAB(λ)=v(λ)となるλに対して、例えば以下のD*(λ)が生成される。
D*(λ)=(share(λ)+coef(λ)・v1(λ))・b1 *(λ)
ι=2 n(λ)coef(λ)・vι(λ)・bι *(λ)
ι=2・n(λ)+1 3・n(λ)coefι(λ)・bι *(λ) …(50)
LAB(λ)=¬v(λ)となるλに対して、例えば以下のD*(λ)が生成される。
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)
For example, the following D * (λ) is generated for λ such that LAB (λ) = v (λ) .
D * (λ) = (share (λ) + coef (λ) ・ v 1 (λ)) ・ b 1 * (λ)
+ Σ ι = 2 n (λ) coef (λ) ・ v ι (λ) ・ b ι * (λ)
+ Σ ι = 2 ・ n (λ) +1 3 ・ n (λ) coef ι (λ) ・ b ι * (λ)… (50)
For example, the following D * (λ) is generated for λ such that LAB (λ) = ¬v (λ) .
D * (λ) = share (λ) ・ Σ ι = 1 n (λ) v ι (λ) ・ b ι * (λ)
+ Σ ι = 2 ・ n (λ) +1 3 ・ n (λ) coef ι (λ) ・ b ι * (λ)… (51)
In the equations (50) and (51), coef (λ) and coef ι (λ) are random numbers.
(GenKey-3) The following secret key is generated.
SKS = (LMT (MT, LAB), D * (0), D * (1), ..., D (Ψ))… (52)

[Enc(PK,M,VSET2):暗号化]
−入力:公開パラメータPK,平文M,第2情報VSET2={λ,w(λ)|λ=1,...,Ψ}(w1(λ)=1F)
−出力:暗号文C
[Enc (PK, M, VSET2): Encryption]
-Input: Public parameter PK, plaintext M, second information VSET2 = {λ, w (λ) | λ = 1, ..., Ψ} (w 1 (λ) = 1 F )
-Output: Ciphertext 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))=(0F3(0),0F5(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)が生成される。
C(Ψ+1)=EncK(M) …(59)
(Enc-1) The ciphertext C (ψ) (ψ = 0, ..., ψ) of the common key K is generated by the following processing.
C (0) = υ ・ b 1 (0) + Σ ι = 2 I υ ι (0) ・ b ι (0)… (53)
C (λ) = υ ・ Σ ι = 1 n (λ) w ι (λ) ・ b ι (λ) + Σ ι = n (λ) +1 n (λ) + ζ (λ) υ ι (λ)・ B ι (λ)… (54)
However, υ, υ ι (ψ) ∈F q (ψ = 0,..., Ψ) is a constant or a random number, and the following relationship is satisfied.
(coef 2 (0), ..., coef I (0)) ・ (υ 2 (0), ..., υ I (0)) = υ '… (55)
coef ι (λ) ・ υ ι (λ) = 0 F (ι = n (λ) +1, ..., n (λ) + ζ (λ))… (56)
An example of υ 'is any one of υ 2 (0), ..., υ I (0). For example, υ, υ 3 (0), υ 5 (0), υ 3 · n (λ) +1 (λ), ..., υ 4 · n (λ) (λ) are random numbers, and ζ ( λ) = 3 · n (λ) and I = 5, and the following relationship is satisfied.
2 (0), ..., υ I (0)) = (0 F , υ 3 (0), 0 F , υ 5 (0))
υ '= υ 3 (0)
n (λ) +1 (λ), ..., υ 3 ・ n (λ) (λ)) = (0 F , ..., 0 F )
(Enc-2) Common key
K = g T τ ・ τ '・ υ' ∈G T (57)
Is generated. For example, when τ = τ ′ = 1 F , the following relationship is satisfied.
K = g T υ ' ∈G T (58)
(Enc-3) The ciphertext C (Ψ + 1) of plaintext M is generated using the common key K.
C (Ψ + 1) = Enc K (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(λ)」を表す。
The common key cryptosystem Enc may be, for example, Camellia (registered trademark) that can be encrypted using the common key K, AES, or the exclusive OR of the common key and plaintext, but other simple As an example, Enc K (M) may be generated as follows. However, in the example of equation (60), M∈G T is assumed.
C (Ψ + 1) = g T υ '・ M… (60)
(Enc-4) The following ciphertext is generated.
C = (VSET2, C (0), {C (λ)} (λ, w (λ) →) ∈VSET2 , C (Ψ + 1))… (61)
However, the subscript “w (λ) →” represents “w (λ) ”.

[Dec(PK,SKS,C):復号]
−入力:公開パラメータPK,秘密鍵SKS,暗号文C
−出力:平文M'
[Dec (PK, SKS, C): Decryption]
-Input: Public parameter PK, secret key SKS, ciphertext C
-Output: Plaintext M '

(Dec-1) λ=1,...,Ψについて、秘密鍵SKSが含むラベル付き行列LMT(MT,LAB)の各ラベルLAB(λ)であるn(λ)次元ベクトルv(λ)と暗号文CのVSET2が含むn(λ)次元ベクトルw(λ)との内積v(λ)・w(λ)が0となるか否かが判定され、これとLMT(MT,LAB)の各ラベルLAB(λ)とによってGV∈span<MTTFV>であるか否かが判定される(式(40)-(45))。GV∈span<MTTFV>でなければ暗号文Cが拒絶され、GV∈span<MTTFV>であれば暗号文Cが受け入れられる。
(Dec-2) 暗号文Cが受け入れられると、SET⊆{1,...,λ|LIT(λ)=1}と式(45)を満たす係数const(μ)(μ∈SET)とが計算される。
(Dec-3) 以下の共通鍵が生成される。

Figure 2016134826
式(6)(25)(55)より、以下の関係が満たされる。
Figure 2016134826
(Dec-1) For λ = 1, ..., Ψ, n (λ) dimension vector v (λ) each label LAB (λ) of the labeled matrix LMT (MT, LAB) included in the secret key SKS And the inner product v (λ) w (λ) → of the n (λ) -dimensional vector w (λ) included in VSET2 of the ciphertext C is determined to be 0 and LMT (MT, Whether or not GV εspan <MT TFV > is determined by each label LAB (λ) of (LAB) (formulas (40) to (45)). If GV ∈span <MT TFV >, ciphertext C is rejected, and if GV ∈span <MT TFV >, ciphertext C is accepted.
(Dec-2) When ciphertext C is accepted, SET⊆ {1, ..., λ | LIT (λ) = 1} and coefficient const (μ) (μ∈SET) satisfying equation (45) Calculated.
(Dec-3) The following common key is generated.
Figure 2016134826
From the equations (6), (25), and (55), the following relationship is satisfied.
Figure 2016134826

式(6)(25)(41)(48)(54)(56)及びw1(λ)=1Fより、以下の関係が満たされる。

Figure 2016134826
From the equations (6), (25), (41), (48), (54), (56) and w 1 (λ) = 1 F , the following relationship is satisfied.
Figure 2016134826

式(6)(25)(42)(49)(54)(56)より以下の関係がみたされる。

Figure 2016134826
を満たす。 From the equations (6), (25), (42), (49), (54), and (56), the following relationship is observed.
Figure 2016134826
Meet.

式(45)(63)-(65)より以下の関係が満たされる。

Figure 2016134826

例えば、τ=τ'=1Fの場合、以下の関係が満たされる。
K=gT υ'∈GT …(67) From the equations (45) (63)-(65), the following relationship is satisfied.
Figure 2016134826

For example, when τ = τ ′ = 1 F , the following relationship is satisfied.
K = g T υ ' ∈G T (67)

(Dec-4) 共通鍵Kを用い、以下のように平文M'が生成される。
M'=DecK(C(Ψ+1))=DecK(C(Ψ+1)) …(68)
例えば、式(60)に例示した共通鍵暗号方式の場合、以下のように平文M'が生成される。
M'=C(Ψ+1)/K …(69)
(Dec-4) Using the common key K, plaintext M ′ is generated as follows.
M '= Dec K (C (Ψ + 1)) = Dec K (C (Ψ + 1))… (68)
For example, in the case of the common key cryptosystem exemplified in Expression (60), plaintext M ′ is generated as follows.
M '= C (Ψ + 1) / K… (69)

なお、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とされる。 Note that g T tau and g T tau 'and g T τ · τ' may be handled as generator of G T instead of a g T a generator of G T. A combination of C (λ) and D * (λ) is identified using a mapping that identifies the correspondence between λ of the secret key SKS and λ of the ciphertext, and [Dec (PK, SKS, C): Decryption] These processes may be executed. The second information VSET2 = {λ, w (λ) | λ = 1,..., Ψ} not only is the first element w 1 (λ) 1 F , but also the first information VSET1 = { The n (λ) -th element v n (λ) (λ) of λ, v (λ) | λ = 1,..., ψ} may be 1 F. If the element w 1 (λ) is not 1 F may be used to w (λ) → / w 1 (λ) instead of w (λ) →, element v n (λ) (λ) is 1 F may be used v (λ) → / v n (λ) (λ) is v (λ) instead of if not. Instead of the first information VSET1 = {λ, v (λ) | λ = 1, ..., Ψ}, the second information VSET2 = {λ, w (λ) | λ = 1, ..., Ψ } Is used, and instead of the second information VSET2 = {λ, w (λ) | λ = 1, ..., Ψ}, the first information VSET1 = {λ, v (λ) | λ = 1, ..., Ψ} may be used. First information VSET1 = in this case {λ, v (λ) → | λ = 1, ..., Ψ} 1 th element of v 1 (lambda) is the 1 F.

[その他の変形例等]
なお、本発明は上述の実施形態に限定されるものではない。例えば、上記の実施形態の秘密鍵uskは、端末装置12,22−iの識別情報Uと有効時間区間TFに属する時間time∈TFに対応する情報を含む情報に対応するものであった。しかしながら、秘密鍵uskが識別情報Uに対応せず、有効時間区間TFに属する時間time∈TFに対応する情報を含む情報に対応するものであってもよい。また、共有情報Cが予め生成されていてもよいし、共有情報Cが定数であってもよい。さらに共有情報Cは第2実施形態で例示したものには限定されない。例えば、公知の鍵配送方式で鍵配送がなされる端末装置間で共有されるその他の情報を共有情報Cとしてもよい。また、各装置がネットワークを通じて情報をやり取りするのではなく、少なくとも一部の組の装置が可搬型記録媒体を介して情報をやり取りしてもよい。或いは、少なくとも一部の組の装置が非可搬型の記録媒体を介して情報をやり取りしてもよい。すなわち、これらの装置の一部からなる組み合わせが、同一の装置であってもよい。上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
[Other variations]
In addition, this invention is not limited to the above-mentioned embodiment. For example, the secret key usk i in the above embodiment corresponds to information including the identification information U i of the terminal devices 12 and 22-i and information corresponding to the time time ∈TF belonging to the valid time period TF. . However, it may be one corresponding to information including information secret key usk i identification information does not correspond to the U i, corresponding to the time time∈TF belonging to the effective time interval TF. Further, the shared information C may be generated in advance, or the shared information C may be a constant. Furthermore, the shared information C is not limited to that exemplified in the second embodiment. For example, the shared information C may be other information shared between terminal devices that perform key distribution using a known key distribution method. Further, instead of each device exchanging information via a network, at least a part of the devices may exchange information via a portable recording medium. Alternatively, at least some of the devices may exchange information via a non-portable recording medium. That is, the combination which consists of a part of these apparatuses may be the same apparatus. The various processes described above are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes. Needless to say, other modifications are possible without departing from the spirit of the present invention.

上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。   When the above configuration is realized by a computer, the processing contents of the functions that each device should have are described by a program. By executing this program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. An example of a computer-readable recording medium is a non-transitory recording medium. Examples of such a recording medium are a magnetic recording device, an optical disk, a magneto-optical recording medium, a semiconductor memory, and the like.

このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。   This program is distributed, for example, by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。   A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, this computer reads a program stored in its own recording device and executes a process according to the read program. As another execution form of the program, the computer may read the program directly from the portable recording medium and execute processing according to the program, and each time the program is transferred from the server computer to the computer. The processing according to the received program may be executed sequentially. The above-described processing may be executed by a so-called ASP (Application Service Provider) type service that realizes a processing function only by an execution instruction and result acquisition without transferring a program from the server computer to the computer. Good.

上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。   In the above embodiment, the processing functions of the apparatus are realized by executing a predetermined program on a computer. However, at least a part of these processing functions may be realized by hardware.

1,2 鍵配送システム
11,21 鍵配送管理装置
12−k,22−k 端末装置
1, 2 Key distribution system 11, 21 Key distribution management device 12-k, 22-k Terminal device

Claims (10)

関数暗号方式に則って第1シード値を暗号化し、有効時間区間に属する時間に対応する情報を含む情報に対応する秘密鍵で復号可能な暗号文を得、前記暗号文と共有情報とを出力する第1配送処理部と、
前記共有情報が秘匿化された秘匿化共有情報が入力され、前記秘匿化共有情報と管理秘密値とに応じた第2シード値の秘匿化情報を得、前記第2シード値の秘匿化情報を出力する第2配送処理部と、
を有する鍵配送管理装置。
The first seed value is encrypted in accordance with the function encryption method, a ciphertext that can be decrypted with a secret key corresponding to information including information corresponding to the time belonging to the valid time interval is obtained, and the ciphertext and the shared information are output. A first delivery processing unit,
Concealed shared information in which the shared information is concealed is input, concealed information of a second seed value corresponding to the concealed shared information and a management secret value is obtained, and the concealed information of the second seed value is obtained. A second delivery processing unit for outputting;
A key distribution management device.
請求項1の鍵配送管理装置であって、
前記共有情報と新たな管理秘密値とに応じた新たな共有情報を得、前記新たな共有情報と前記秘匿化共有情報とを出力する第3配送処理部と、
前記新たな共有情報が秘匿化された新たな秘匿化共有情報が入力され、前記新たな秘匿化共有情報と前記新たな管理秘密値とに応じた新たな第2シード値の秘匿化情報を得、前記新たな第2シード値の秘匿化情報を出力する第4配送処理部を有する、鍵配送管理装置。
The key distribution management device according to claim 1,
A third delivery processing unit that obtains new shared information according to the shared information and a new management secret value, and outputs the new shared information and the concealed shared information;
New concealment shared information in which the new share information is concealed is input, and concealment information of a new second seed value corresponding to the new concealment shared information and the new management secret value is obtained. A key distribution management device comprising: a fourth distribution processing unit that outputs concealment information of the new second seed value.
請求項1の鍵配送管理装置であって、
前記秘匿化共有情報と新たな管理秘密値とに応じた新たな第2シード値の秘匿化情報を得、前記新たな第2シード値の秘匿化情報を出力する第5配送処理部を有する、鍵配送管理装置。
The key distribution management device according to claim 1,
A fifth delivery processing unit that obtains concealment information of a new second seed value according to the concealment shared information and a new management secret value, and outputs the concealment information of the new second seed value; Key distribution management device.
請求個1から3の何れかの鍵配送管理装置であって、
前記関数暗号方式に則って新たな第1シード値を暗号化し、新たな有効時間区間に属する時間に対応する情報を含む情報に対応する新たな秘密鍵で復号可能な新たな暗号文を得、前記新たな暗号文を出力する第6配送処理部を有する、鍵配送管理装置。
The key distribution management device according to any one of claims 1 to 3,
Encrypting a new first seed value according to the function encryption method, obtaining a new ciphertext that can be decrypted with a new secret key corresponding to information including information corresponding to a time belonging to a new effective time interval, A key distribution management device having a sixth distribution processing unit for outputting the new ciphertext.
暗号文が入力され、有効時間区間に属する時間に対応する情報を含む情報に対応する秘密鍵を用い、関数暗号方式に則って前記暗号文を復号して第1シード値を得る第1処理部と、
共有情報が入力され、前記共有情報と端末秘密値の逆元とに応じた秘匿化共有情報を得、前記秘匿化共有情報を出力する第2処理部と、
第2シード値の秘匿化情報が入力され、前記第2シード値の秘匿化情報と前記端末秘密値とに応じた第2シード値を得る第3処理部と、
前記第1シード値を含む情報と前記第2シード値を含む情報とに対応する共通鍵を得る第4処理部と、
を有する端末装置。
A first processing unit that receives a ciphertext, decrypts the ciphertext in accordance with a function cryptosystem, and obtains a first seed value using a secret key corresponding to information including information corresponding to a time belonging to a valid time interval When,
A second processing unit that receives shared information, obtains concealed shared information according to the shared information and an inverse element of the terminal secret value, and outputs the concealed shared information;
A third processing unit that receives concealment information of the second seed value and obtains a second seed value according to the concealment information of the second seed value and the terminal secret value;
A fourth processing unit for obtaining a common key corresponding to the information including the first seed value and the information including the second seed value;
A terminal device.
請求項5の端末装置であって、
前記共通鍵は、前記第1シード値に関する情報および前記第2シード値に関する情報が隠蔽された情報である、端末装置。
The terminal device according to claim 5,
The terminal device, wherein the common key is information in which information on the first seed value and information on the second seed value are concealed.
請求項5または6の端末装置であって、
新たな第2シード値の秘匿化情報が入力され、前記新たな第2シード値の秘匿化情報と前記端末秘密値とに応じた新たな第2シード値を得る第5処理部を有する端末装置。
The terminal device according to claim 5 or 6, wherein
A terminal device having a fifth processing unit that receives concealment information of a new second seed value and obtains a new second seed value according to the concealment information of the new second seed value and the terminal secret value .
暗号文が入力され、有効時間区間に属する時間に対応する情報を含む情報に対応する秘密鍵を用い、関数暗号方式に則って前記暗号文を復号して第1シード値を得る第1処理部と、
秘匿化共有情報が入力され、前記秘匿化共有情報と端末秘密値とに応じた新たな秘匿化共有情報を得、前記新たな秘匿化共有情報を出力する第6処理部と、
新たな共有情報が入力され、前記新たな共有情報と前記端末秘密値とに応じた新たな第2シード値を得る第7処理部と、
前記第1シード値を含む情報と前記第2シード値を含む情報とに対応する共通鍵を得る第4処理部と、
を有する端末装置。
A first processing unit that receives a ciphertext, decrypts the ciphertext in accordance with a function cryptosystem, and obtains a first seed value using a secret key corresponding to information including information corresponding to a time belonging to a valid time interval When,
A sixth processing unit that receives concealment shared information, obtains new concealment share information according to the concealment share information and the terminal secret value, and outputs the new concealment share information;
A seventh processor that receives new shared information and obtains a new second seed value according to the new shared information and the terminal secret value;
A fourth processing unit for obtaining a common key corresponding to the information including the first seed value and the information including the second seed value;
A terminal device.
鍵配送管理装置と複数の端末装置とを有する鍵配送システムであって、
前記鍵配送管理装置は、
関数暗号方式に則って第1シード値を暗号化し、有効時間区間に属する時間に対応する情報を含む情報に対応する秘密鍵で復号可能な暗号文を得、前記暗号文と共有情報とを前記端末装置に出力する第1配送処理部を含み、
前記端末装置は、
前記暗号文が入力され、前記秘密鍵を用い、前記関数暗号方式に則って前記暗号文を復号して第1シード値を得る第1処理部と、
前記共有情報が入力され、前記共有情報と端末秘密値の逆元とに応じた秘匿化共有情報を得、前記秘匿化共有情報を出力する第2処理部と、を含み、
前記鍵配送管理装置は、
前記秘匿化共有情報が入力され、前記秘匿化共有情報と管理秘密値とに応じた第2シード値の秘匿化情報を得、前記第2シード値の秘匿化情報を出力する第2配送処理部を含み、
前記端末装置は、
前記第2シード値の秘匿化情報が入力され、前記第2シード値の秘匿化情報と前記端末秘密値とに応じた第2シード値を得る第3処理部と、
前記第1シード値を含む情報と前記第2シード値を含む情報とに対応する共通鍵を得る第4処理部とを含む、鍵配送システム。
A key distribution system having a key distribution management device and a plurality of terminal devices,
The key distribution management device includes:
Encrypting the first seed value in accordance with a function encryption method, obtaining a ciphertext that can be decrypted with a secret key corresponding to information including information corresponding to the time belonging to the valid time interval, and obtaining the ciphertext and shared information Including a first delivery processing unit for outputting to the terminal device;
The terminal device
A first processing unit that receives the ciphertext, uses the secret key, decrypts the ciphertext according to the functional cryptosystem, and obtains a first seed value;
A second processing unit that receives the shared information, obtains concealed shared information according to the shared information and an inverse element of the terminal secret value, and outputs the concealed shared information;
The key distribution management device includes:
A second delivery processing unit that receives the concealment shared information, obtains concealment information of a second seed value according to the concealment shared information and a management secret value, and outputs the concealment information of the second seed value Including
The terminal device
A third processing unit that receives the concealment information of the second seed value and obtains a second seed value according to the concealment information of the second seed value and the terminal secret value;
A key distribution system comprising: a fourth processing unit that obtains a common key corresponding to information including the first seed value and information including the second seed value.
請求項1から4の何れかの鍵配送管理装置または請求項5から8の何れかの端末装置としてコンピュータを機能させるためのプログラム。   A program for causing a computer to function as the key distribution management device according to any one of claims 1 to 4 or the terminal device according to any one of claims 5 to 8.
JP2015009271A 2015-01-21 2015-01-21 KEY DISTRIBUTION MANAGEMENT DEVICE, TERMINAL DEVICE, KEY DISTRIBUTION SYSTEM, AND PROGRAM Active JP6259402B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015009271A JP6259402B2 (en) 2015-01-21 2015-01-21 KEY DISTRIBUTION MANAGEMENT DEVICE, TERMINAL DEVICE, KEY DISTRIBUTION SYSTEM, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015009271A JP6259402B2 (en) 2015-01-21 2015-01-21 KEY DISTRIBUTION MANAGEMENT DEVICE, TERMINAL DEVICE, KEY DISTRIBUTION SYSTEM, AND PROGRAM

Publications (2)

Publication Number Publication Date
JP2016134826A true JP2016134826A (en) 2016-07-25
JP6259402B2 JP6259402B2 (en) 2018-01-10

Family

ID=56464521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015009271A Active JP6259402B2 (en) 2015-01-21 2015-01-21 KEY DISTRIBUTION MANAGEMENT DEVICE, TERMINAL DEVICE, KEY DISTRIBUTION SYSTEM, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP6259402B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017221723A1 (en) 2016-06-20 2017-12-28 日本電信電話株式会社 Terminal device, key distribution management device, server-client system, communication method, and program
US10673629B2 (en) 2015-04-30 2020-06-02 Nippon Telegraph And Telephone Corporation Data transmission and reception method and system
US10848471B2 (en) 2017-09-25 2020-11-24 Ntt Communications Corporation Communication apparatus, communication method, and program
US11316676B2 (en) 2017-11-29 2022-04-26 Nippon Telegraph And Telephone Corporation Quantum-proof multiparty key exchange system, quantum-proof multiparty terminal device, quantum-proof multiparty key exchange method, program, and recording medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002252607A (en) * 2000-12-22 2002-09-06 Nippon Telegr & Teleph Corp <Ntt> Information delivery method, its implementing system, its processing program, and its recording medium
JP2007235348A (en) * 2006-02-28 2007-09-13 Hitachi Ltd Encryption communication system, terminal state management server, encryption communication method, and terminal state management method
US20110085665A1 (en) * 2009-10-13 2011-04-14 Ajou University Industry Cooperation Foundation Method For Generating Dynamic Group Key
JP2013128235A (en) * 2011-12-19 2013-06-27 Nippon Telegr & Teleph Corp <Ntt> Time limited encryption system, time limited encryption method, device, and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002252607A (en) * 2000-12-22 2002-09-06 Nippon Telegr & Teleph Corp <Ntt> Information delivery method, its implementing system, its processing program, and its recording medium
JP2007235348A (en) * 2006-02-28 2007-09-13 Hitachi Ltd Encryption communication system, terminal state management server, encryption communication method, and terminal state management method
US20110085665A1 (en) * 2009-10-13 2011-04-14 Ajou University Industry Cooperation Foundation Method For Generating Dynamic Group Key
JP2013128235A (en) * 2011-12-19 2013-06-27 Nippon Telegr & Teleph Corp <Ntt> Time limited encryption system, time limited encryption method, device, and program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10673629B2 (en) 2015-04-30 2020-06-02 Nippon Telegraph And Telephone Corporation Data transmission and reception method and system
WO2017221723A1 (en) 2016-06-20 2017-12-28 日本電信電話株式会社 Terminal device, key distribution management device, server-client system, communication method, and program
US11516195B2 (en) 2016-06-20 2022-11-29 Nippon Telegraph And Telephone Corporation Terminal device, key distribution management device, server-client system, communication method, and programs
US10848471B2 (en) 2017-09-25 2020-11-24 Ntt Communications Corporation Communication apparatus, communication method, and program
US11316676B2 (en) 2017-11-29 2022-04-26 Nippon Telegraph And Telephone Corporation Quantum-proof multiparty key exchange system, quantum-proof multiparty terminal device, quantum-proof multiparty key exchange method, program, and recording medium

Also Published As

Publication number Publication date
JP6259402B2 (en) 2018-01-10

Similar Documents

Publication Publication Date Title
Odelu et al. Expressive CP-ABE scheme for mobile devices in IoT satisfying constant-size keys and ciphertexts
JP5466763B2 (en) ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD, DECRYPTION METHOD, PROGRAM, AND RECORDING MEDIUM
KR102116877B1 (en) New cryptographic systems using pairing with errors
Sen Homomorphic encryption-theory and application
JP5130318B2 (en) Certificate-based encryption and public key structure infrastructure
Gupta et al. Design of lattice‐based ElGamal encryption and signature schemes using SIS problem
Gu et al. New public key cryptosystems based on non‐Abelian factorization problems
Abdalla et al. Identity-based traitor tracing
JP6259402B2 (en) KEY DISTRIBUTION MANAGEMENT DEVICE, TERMINAL DEVICE, KEY DISTRIBUTION SYSTEM, AND PROGRAM
Kuchta et al. Multi-authority distributed attribute-based encryption with application to searchable encryption on lattices
Seo et al. Revocable hierarchical identity-based encryption
Qin et al. Simultaneous authentication and secrecy in identity-based data upload to cloud
Dolev et al. Efficient private multi-party computations of trust in the presence of curious and malicious users
Wang et al. New identity-based key-encapsulation mechanism and its applications in cloud computing
Hong et al. A key-insulated CP-ABE with key exposure accountability for secure data sharing in the cloud
Karati et al. Efficient and provably secure random oracle‐free adaptive identity‐based encryption with short‐signature scheme
Su et al. Revocable IBE systems with almost constant-size key update
Backes et al. Fully secure inner-product proxy re-encryption with constant size ciphertext
Wang et al. Revocable Attribute-based Key Agreement Protocol without Random Oracles.
JP5612494B2 (en) Timed cryptographic system, timed cryptographic method, apparatus, and program using function encryption
Ding et al. Ciphertext retrieval via attribute-based FHE in cloud computing
Karrothu et al. A systematic analysis of identity based encryption (IBE)
Kuchta et al. Multi-party (leveled) homomorphic encryption on identity-based and attribute-based settings
JP4143036B2 (en) Key generation system, key generation server, and key generation method
Yong et al. An Efficient Anonymous IBE Scheme based on a Probabilistic Mapping Technique.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171107

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: 20171205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171208

R150 Certificate of patent or registration of utility model

Ref document number: 6259402

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150