WO2010123116A1 - 情報生成装置、方法、プログラム及びその記録媒体 - Google Patents
情報生成装置、方法、プログラム及びその記録媒体 Download PDFInfo
- Publication number
- WO2010123116A1 WO2010123116A1 PCT/JP2010/057279 JP2010057279W WO2010123116A1 WO 2010123116 A1 WO2010123116 A1 WO 2010123116A1 JP 2010057279 W JP2010057279 W JP 2010057279W WO 2010123116 A1 WO2010123116 A1 WO 2010123116A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- index
- random number
- cyclic group
- main information
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
- H04L9/0836—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0847—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
Definitions
- This invention relates to an application technology of information security technology.
- the present invention relates to a hierarchical encryption that can derive a decryption key with a limited decryption authority from the decryption key.
- Non-Patent Document 1 The technique described in Non-Patent Document 1 is known as a conventional technique of hierarchical encryption.
- a key corresponding to a child node can be derived from a key corresponding to a parent node of a tree structure, but a key represented by a general partial order structure s other than the tree structure Derivation could not be realized.
- a common child node C key is derived from the parent node A key
- the common child node C key is derived from the parent node B key. There is a problem that it cannot be derived.
- the function value obtained by inputting each element of the basis vector b j * ⁇ G 2 N (j 1,..., N)
- v i * ⁇
- u i * ⁇
- Set w (u) ⁇ set w (v), and v i u i (i ⁇ ⁇ 1,..., N ⁇ 1 ⁇ ⁇ w (v))
- the G T is a cyclic group of prime order q, and g and a generator of the cyclic group G
- * is an indefinite character
- the common child node C information is derived from the parent node A information, and the common child node C information is derived from the parent node B information. can do.
- the example of a functional block diagram of the information generation device of a first embodiment The example of the flowchart of the information generation of 1st embodiment.
- the example of the flowchart of information derivation of 1st embodiment The example of the functional block diagram of the information generation apparatus of 2nd embodiment.
- the example of the flowchart of the information generation of 2nd embodiment The example of the flowchart of the information derivation of 2nd embodiment.
- Matrix represents a set of elements in which operations are defined arranged in a rectangle. Not only elements with elements of the ring but also elements with elements of the group are expressed as “matrix”.
- (•) T represents a transposed matrix of (•) -1 : (•) -1 represents the inverse matrix of.
- ⁇ : ⁇ represents a logical product.
- ⁇ : ⁇ represents a logical sum.
- Z: Z represents an integer set.
- k: k represents a security parameter (k ⁇ Z, k> 0).
- ⁇ 0,1 ⁇ * ⁇ 0,1 ⁇ * represents a binary sequence having an arbitrary bit length.
- One example is a sequence consisting of integers 0 and 1.
- ⁇ 0,1 ⁇ * is not limited to a sequence consisting of integers 0 and 1.
- ⁇ 0,1 ⁇ * is synonymous with a finite field of order 2 or its extension.
- ⁇ 0,1 ⁇ ⁇ : ⁇ 0,1 ⁇ ⁇ represents a binary sequence having a bit length ⁇ ( ⁇ Z, ⁇ > 0).
- One example is a sequence consisting of integers 0 and 1.
- ⁇ 0, 1 ⁇ ⁇ is not limited to a sequence composed of integers 0 and 1.
- F q represents a finite field of order q.
- the order q is an integer of 1 or more.
- a prime number or a power value of a prime number is assumed to be the order q.
- examples of the finite field F q are an elementary field and an extension field based on it.
- the operation in the case where the finite field F q is a prime field can be easily configured by, for example, a remainder operation modulo the order q.
- the calculation when the finite field F q is an extension field can be easily configured by, for example, a remainder calculation modulo an irreducible polynomial.
- a specific configuration method of the finite field F q is disclosed in, for example, Reference 1 “ISO / IEC 18033-2: Information technology-Security techniques-Encryption algorithms-Part 2: Asymmetric ciphers”.
- 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) the Kronecker delta function.
- E E represents an elliptic curve defined on the finite field Fq .
- a binary operation + called ellipse addition can be defined for any two points on the elliptic curve E, and a unary operation called an elliptic inverse can be defined for any one point on the elliptic curve E.
- a finite set of rational points on the elliptic curve E group in terms of elliptic addition that an operation called elliptic scalar multiplication can be defined using elliptic addition, and elliptic operations such as elliptic addition on a computer can be defined.
- a finite set of rational points on the elliptic curve E has a subgroup of order p (p ⁇ 1). For example, if the number of elements of a finite set of rational points on the elliptic curve E is #E and p is a large prime number that divides #E, then the finite set E [p] of the p equal points of the elliptic curve E is A subgroup of a finite set of rational points on the elliptic curve E is constructed.
- G 1 , G 2 , G T represent a cyclic group of order q.
- specific examples of the cyclic group G T is a finite set constituting the extension field of a finite field F q underlying body. An example is a finite set of one of the p th root of the algebraic closure of a finite field F q.
- operations defined on the cyclic groups G 1 and G 2 are expressed additively, and operations defined on the cyclic groups G T are expressed multiplicatively. That, ⁇ ⁇ ⁇ G 1 for Kai ⁇ F q and Omega ⁇ G 1 means that applying operation defined in the cyclic group G 1 with respect ⁇ G 1 ⁇ times, Omega 1, Omega 2 ⁇ 1 + ⁇ 2 ⁇ G for ⁇ G 1 1 is meant to carry out the operation defined in the cyclic group G 1 and the Omega 1 ⁇ G 1 and Omega 2 ⁇ G 1 as operand.
- ⁇ ⁇ ⁇ G 2 for Kai ⁇ F q and Omega ⁇ G 2 means that applying operation defined in the cyclic group G 2 with respect ⁇ G 2 ⁇ times
- Omega 1, Omega 2 ⁇ G ⁇ 1 + ⁇ 2 ⁇ G 2 for 2 means that perform defined operations in the cyclic group G 2 to the Omega 1 ⁇ G 2 and Omega 2 ⁇ G 2 as operands.
- Omega chi ⁇ G T for Kai ⁇ F q and Omega ⁇ G T means that applying operation defined in the cyclic group G T against ⁇ G T ⁇ times, ⁇ 1, ⁇ 2 ⁇ ⁇ 1 ⁇ ⁇ 2 ⁇ G for G T T means to perform the operation defined in the cyclic group G T and Omega 1 ⁇ G T and Omega 2 ⁇ G T as an operand.
- G 1 n + 1 : G 1 n + 1 represents a direct product of n + 1 (n ⁇ 1) cyclic groups G 1 .
- G 2 n + 1 : G 2 n + 1 represents a direct product of n + 1 cyclic groups G 2 .
- g 1 , g 2 , and g T represent generation sources of the cyclic groups G 1 , G 2 , and G T.
- V: V represents a n + 1-dimensional vector space consisting of the n + 1 cyclic group G 1 Cartesian product.
- V *: V * represents a n + 1-dimensional vector space consisting of the n + 1 of the cyclic group G 2 direct product.
- e is calculated the direct product G 1 n + 1 and the direct product G 2 direct product G 1 n + 1 ⁇ nondegenerate bilinear mapping which maps the G 2 n + 1 in the cyclic group G T and n + 1 (bilinear map) Function (referred to as “bilinear function”).
- G 1 n + 1 ⁇ G 2 n + 1 ⁇ G T (2)
- the bilinear function e satisfies the following properties.
- the following relation is satisfied for all ⁇ 1 ⁇ G 1 n + 1 and ⁇ 2 ⁇ G 2 n + 1 and ⁇ and ⁇ F q .
- e ( ⁇ ⁇ ⁇ 1 , ⁇ ⁇ ⁇ 2 ) e ( ⁇ 1 , ⁇ 2 ) ⁇ ⁇ ⁇ ... (3)
- All ⁇ 1 ⁇ G 1 n + 1 , ⁇ 2 ⁇ G 2 n + 1 It is not a function that copy the identity element of the cyclic group G T a.
- the cyclic group G 1 and the cyclic group G 2 and the function for calculating the non-degenerate bilinear mapping which maps the Cartesian product G 1 ⁇ G 2 in the cyclic group G T of Pair: G 1 ⁇ G 2 ⁇ G T ...(Five) Is used to construct a bilinear function e.
- a specific example of the bilinear function Pair is a function for performing pairing operations such as Weil pairing and Tate pairing (for example, Reference 4 “Alfred. J. Menezes, ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6, pp. 61-81 ”).
- a modified pairing function e ( ⁇ 1 , phi ( ⁇ 2 )) ( ⁇ 1 ⁇ ) that combines a function for performing pairing operations such as Tate pairing and a predetermined function phi G 1 , ⁇ 2 ⁇ G 2 ) may be used as the bilinear function Pair (see, for example, Reference 2).
- An example of the basis vector a i uses ⁇ 1 ⁇ g 1 ⁇ G 1 as the i-th element, and the remaining n elements are the unit elements of the cyclic group G 1 (additionally expressed as “0”) This is an n + 1-dimensional basis vector.
- a 1 ( ⁇ 1 ⁇ g 1 , 0,0, ..., 0)
- kappa 1 is a constant consisting of elements of the finite field F q other than additive identity 0 F
- a i * represents an n + 1-dimensional basis vector whose elements are n + 1 elements of the cyclic group G 2 .
- An example of the basis vector a i * has ⁇ 2 ⁇ g 2 ⁇ G 2 as the i-th element, and the remaining n elements are the unit elements of the cyclic group G 2 (additionally expressed as “0”). This is an n + 1-dimensional basis vector.
- a 1 * ( ⁇ 2 ⁇ g 2 , 0,0, ..., 0)
- kappa 2 is a constant consisting of elements of the finite field F q other than additive identity 0 F
- i ⁇ j, e (a i , a j * ) does not include Pair ( ⁇ 1 ⁇ g 1 , ⁇ 2 ⁇ g 2 ), and Pair ( ⁇ 1 ⁇ g 1 , 0) This is the product of Pair (0, ⁇ 2 ⁇ g 2 ) and Pair (0,0).
- e (a i , a j * ) g T ⁇ (i, j) ... (12)
- the basis vector a i and the basis vector a i * are dual orthonormal basis
- the vector space V and the vector space V * are a dual vector space [dual pairing vector space ( DPVS: Dual Paring Vector space)].
- X represents a matrix of n + 1 rows and n + 1 columns having elements of the finite field Fq as elements.
- Each element ⁇ i, j of the matrix X is referred to as a conversion coefficient.
- the matrix X * is used for coordinate transformation of the basis vector a i * .
- each element ⁇ i, j * of the matrix X * is referred to as a conversion coefficient.
- X ⁇ (X * ) T I is satisfied. That is, the identity matrix
- b i b i represents an n + 1-dimensional basis vector having n + 1 elements of the cyclic group G 1 as elements.
- b i ( ⁇ i, 1 ⁇ ⁇ 1 ⁇ g 1 , ⁇ i, 2 ⁇ ⁇ 1 ⁇ g 1 , ..., ⁇ i, n + 1 ⁇ ⁇ 1 ⁇ g 1 )... (23)
- the base vector b i and the base vector b i * are dual orthonormal bases of the dual pairing vector space (vector space V and vector space V * ).
- basis vectors a i and a i * other than those exemplified in Equations (9) and (10), and those other than those exemplified in Equations (22) and (24) The basis vectors b i and b i * may be used.
- the matrix B is
- w ⁇ (w 1, ..., w n ) ⁇ F q 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 ... (31)
- a function that is difficult to collide represents a function h that satisfies the following condition with respect to a sufficiently large security parameter k, or a function that can be regarded as such.
- Pr [A (h) (x, y)
- h (x) h (y) ⁇ x ⁇ y] ⁇ (k)... (32)
- Pr [•] is the probability of the event [•]
- ⁇ (k) is a polynomial for the security parameter k.
- An example of a function that is difficult to collide is a hash function such as “cryptographic hash function” disclosed in Reference Document 1.
- Injective function refers to a function in which any element belonging to a range is represented as a single original image of the domain, or a function that can be regarded as such.
- Pseudo random function is a function belonging to a subset ⁇ ⁇ when an arbitrary stochastic polynomial time algorithm cannot distinguish between the set ⁇ ⁇ and its subset ⁇ ⁇ , or Represents a function that can be considered as such.
- the set [Phi zeta is the set of all functions that copy to the original based on the set ⁇ 0, 1 ⁇ zeta set ⁇ 0, 1 ⁇ zeta.
- An example of the pseudo random function is a hash function as described above.
- H 1 takes two binary sequences ( ⁇ 1 , ⁇ 2 ) ⁇ ⁇ 0,1 ⁇ k ⁇ ⁇ 0,1 ⁇ * as input, and two elements ( ⁇ 1 , ⁇ 2 ) of the finite field F q Represents a hard-to-collision function that outputs ⁇ F q ⁇ F q .
- H 1 ⁇ 0,1 ⁇ k ⁇ ⁇ 0,1 ⁇ * ⁇ F q ⁇ F q (33)
- Examples of such functions H 1 inputs the bit connection value omega 1
- the function H 1 is preferably a pseudo random function.
- H 2 receives an element of the cyclic group G T and a binary sequence ( ⁇ , ⁇ 2 ) ⁇ G T ⁇ ⁇ 0,1 ⁇ * , and outputs one element ⁇ F q of the finite field F q Represents a hard-to-collision function.
- H 2 G T ⁇ ⁇ 0,1 ⁇ * ⁇ F q ... (34)
- Examples of such function H 2 inputs the original Kushi ⁇ G T and binary sequence ⁇ 2 ⁇ ⁇ 0,1 ⁇ * and the cyclic group G T, reference the original Kushi ⁇ G T of the cyclic group G T
- the binary sequence is obtained by inputting into the “Octet string and integer / finite field conversion” disclosed in 1 and the binary sequence and the binary sequence ⁇ 2 ⁇ ⁇ 0,1 ⁇ Performs a hash function operation such as the “cryptographic hash function” disclosed in Reference 1 on the bit concatenated value with *, and then adds a conversion function (Octet string and integer / finite field conversion) "and outputs one element ⁇ F q of the finite field F q .
- the function H 2 is more preferably a pseudo random function.
- R represents a bijection function that receives an element ⁇ G T of one cyclic group G T and outputs one binary sequence ⁇ ⁇ 0,1 ⁇ k .
- R G T ⁇ ⁇ 0,1 ⁇ k ... (35)
- injective function R inputs the original Kushi ⁇ G T of the cyclic group G T, conversion function from the original disclosed in reference 1 "finite field into a binary sequence (Octet string and integer / finite field conversion ”and a hash function such as“ KDF (Key Derivation Function) ”disclosed in Reference 1, and outputs a binary sequence ⁇ ⁇ 0,1 ⁇ k. .
- the function R is preferably a function that is difficult to collide, and more preferably a pseudo random function.
- Enc represents a common key encryption function indicating encryption processing of the common key encryption method.
- Specific examples of the common key cryptosystem include Camellia and AES.
- Enc k (M): Enc k (M) represents a ciphertext obtained by encrypting plaintext M using the common key K according to the common key encryption function Enc.
- 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 according to the common key decryption function Dec using the common key K.
- Predicate encryption (sometimes called “function encryption") is a ciphertext when a combination of information called “attribute information” and information called “predicate information” makes a given logical expression "true”. This is a method that can be decrypted.
- One of “attribute information” and “predicate information” is embedded in the ciphertext, and the other is embedded in the key information.
- the inner product predicate encryption is a predicate encryption in which a vector is used as attribute information or predicate information, and when the inner product becomes 0, the ciphertext is decrypted.
- the inner product predicate encryption the inner product is 0 and the logical expression is “true”.
- a logical expression composed of logical sum and logical product can be expressed by polynomial f (x).
- the logical product is expressed using one indefinite element x, but it is also possible to express the logical product using a plurality of indefinite elements.
- polynomial f indicating the logical expression (x 0, ..., x H -1) is undefined original x h and a constant eta the indefinite source x h by a polynomial taking the difference between h is the constant eta h
- the proposition that the proposition is express the logical sum of the propositions by the product of the polynomials that express the propositions, respectively, A product is expressed, and thereby a polynomial expressing a logical expression.
- a polynomial f (x 0 ,..., X H ⁇ 1 ) indicating a logical expression can be expressed by an inner product of two n-dimensional vectors. That is, the polynomial f (x 0 , ..., x H-1 ) is a vector v ⁇ with the indefinite element of each term of the polynomial f (x 0 , ..., x H-1 ) as each element.
- the polynomial f (x 0, ..., x H-1) showing a logical expression and whether it is 0, the polynomial f (x 0, ..., x H-1) indeterminate in terms of Whether or not the inner product of the vector v ⁇ with each component as the element and the vector w ⁇ with the coefficient component of each term of the polynomial f (x 0 , ..., x H-1 ) as each element is 0
- the polynomial f (x 0 , ..., x H-1 ) as each element is 0
- a polynomial f (x) ⁇ 0 ⁇ x 0 + ⁇ 1 ⁇ x + ...
- a vector v ⁇ (v 1, ..., v n ) with the coefficient components of each term of the polynomial f (x 0 , ..., x H-1 ) as each element Is equal to whether the polynomial f (x 0 , ..., x H-1 ) representing the logical expression is 0 and whether the inner product of the vector w ⁇ and the vector v ⁇ is 0 or not. is there.
- predicate information one of attribute information and predicate information is embedded in a ciphertext, and the other is embedded in key information.
- n-dimensional vector ( ⁇ 0, ..., ⁇ n-1 ) is predicate information
- n-dimensional vector (x 0 , ..., x n-1 ) is attribute information
- attribute information and predicate One of the information is embedded in the ciphertext and the other is embedded in the key information.
- 1-column matrix A, n + 1-by-n + 1-column matrix A * whose elements are basis vectors a i * (i 1, ..., n + 1), and n + for coordinate transformation A 1-row, n + 1-column matrix X, X * is selected.
- GenKey (MSK, w ⁇ ): Generate key information >> -Input: Master key information MSK, vector w ⁇ -Output: Key information D * corresponding to vector w ⁇
- an element ⁇ F q is selected from a finite field F q .
- it is difficult it is difficult to w ⁇ ⁇ b ⁇ * and b n + 1 * component separation extracted from the key information D *.
- Enc (PA, v ⁇ ) Encryption ⁇ -Input: Public parameter PK, vector v ⁇ -Output: Ciphertext C 2 , Common key K
- Enc (PA, v ⁇ ) first, a common key K and a random number ⁇ 1 that is an element of a finite field F q are generated.
- ⁇ 2 subscript means ⁇ 2.
- Dec (SKw, C 2) decoding and key sharing
- -Input Key information D 1 * corresponding to vector w ⁇ ciphertext C 2
- Output Common key K
- the ciphertext C 2 and the key information D 1 * are input to the bilinear function e in Expression (2). Then, from the properties of equations (3) and (26),
- a common key K is generated and output.
- the information generation apparatus and method according to the first embodiment implements hierarchical encryption using the predicate encryption described above. Specifically, information derivation represented by a general partial order structure other than a tree structure is realized using the base b * that appears in the predicate encryption described above.
- FIG. 1 illustrates a functional block diagram of the information generation apparatus of the first embodiment.
- v i * ⁇ is defined.
- w (v) ⁇ 2, 3 ⁇
- w (u) ⁇ 2 ⁇
- w (u) ⁇ w (v) is established.
- index Y an index for information generated from the basis b i * is denoted as index Y
- index v an index for information on the derived base
- index u an index for information derived from the information on the derived base
- Information generating apparatus and method in step A3 from step A1 in FIG. 2, generates information K Y corresponding to the index Y using the base b i *.
- Information K Y includes a derivation information k Yj main information k Y.
- Main information k Y is used in the predicate encryption for example as a decryption key.
- Derived information k Yj is used to generate the inferior information K Y corresponding to the index Y.
- An index Y ⁇ I is input to the information generation device.
- the random number generation unit 1 generates a random number ⁇ Y ⁇ Z q and a random number ⁇ Yj ⁇ Z q corresponding to each element j ⁇ w (Y) of the set w (Y) (step A1).
- the generated random number ⁇ Y is sent to the main information generation unit 2.
- the generated random number ⁇ Yj is sent to the derived information generation unit 3.
- the random number generation unit 1 generates three random numbers ⁇ Y , ⁇ Y2, and ⁇ Y3 .
- the calculated main information k Y is stored in the storage unit 4.
- the calculated derived information k Yj is stored in the storage unit 4.
- step B1 to step B3 in FIG. 3 the information generation apparatus and method generates information K u corresponding to the lower index u from information K v corresponding to the upper index v, with u ⁇ v.
- Information K v corresponding to the index v is, including the main information k v and derivation information k vj.
- the main information kv is used as a decryption key in predicate encryption, for example.
- the derived information k vj is used to generate information lower than the information K v corresponding to the index v.
- the index v Y
- the information K v information K Y.
- the information K u corresponding to the index u includes main information k u and derived information k uj .
- the main information k u is used as a decryption key in predicate encryption, for example.
- the derived information k uj is used to generate information lower than the information K u corresponding to the index u.
- An index v and an index u are input to the information generation apparatus.
- the storage unit 4 the information K v corresponding to the index v is stored.
- the random number generation unit 1 generates a random number ⁇ uj ⁇ Z q corresponding to the random number ⁇ u ⁇ Z q and each element j ⁇ w (u) of the set w (u) (step B1).
- the generated random number ⁇ u is sent to the main information deriving unit 5, and the generated random number ⁇ uj is sent to the derived information deriving unit 6.
- the main information k u corresponding to the index u satisfying the relationship of u i k vi + k v is calculated (step B2).
- the calculated main information k u is stored in the storage unit 4.
- k uj ⁇ uj ⁇ i ⁇ w (v) ⁇ w (u) u i k vi
- the derived information k uj corresponding to the index u satisfying the relationship + k vj is calculated for each element j ⁇ w (u) of the set w (u) (step B3).
- the calculated derived information k uj is stored in the storage unit 4.
- information on the common child node C can be derived from the information on the parent node A, and information on the common child node C can be derived from the information on the parent node B.
- v 1 ⁇ v 3 and v 2 ⁇ v 3 and the index v 1 that is the parent node and the index v 2 that is the parent node have the index v 3 as a common child node.
- the j-th element of the index v i may be written as v ⁇ ij.
- K v ⁇ 1 (main information k v ⁇ 1, derived information k v ⁇ 13, k v ⁇ 14) corresponding to the index v 1 is as follows.
- k v ⁇ 1 ⁇ v ⁇ 1 (v 1 b 1 * + v 2 b 2 * ) + b 5 *
- k v ⁇ 13 ⁇ v ⁇ 13 (v 1 b 1 * + v 2 b 2 * ) + b 3 *
- k v ⁇ 14 ⁇ v ⁇ 14 (v 1 b 1 * + v 2 b 2 *) + b 4 *
- the information K v ⁇ 2 (main information k v ⁇ 2, derived information k v ⁇ 21, k v ⁇ 22) corresponding to the index v 2 is as follows.
- k v ⁇ 2 ⁇ v ⁇ 2 (v 3 b 3 * + v 4 b 4 *) + b 5 *
- k v ⁇ 21 ⁇ v ⁇ 23 (v 3 b 3 * + v 4 b 4 *) + b 1 *
- k v ⁇ 22 ⁇ v ⁇ 24 (v 3 b 3 * + v 4 b 4 *) + b 2 *
- FIG. 4 illustrates a functional block diagram of the information generation apparatus of the second embodiment.
- Information generating apparatus and method in step C4 to step C1 in FIG. 5, to generate information K Y corresponding to the index Y using the public key.
- Information K Y includes a derivation information k Yj with the first main information k Y and the second main information g rY.
- the first main information k Y and the second main information g rY is used for example as a decryption key.
- Derived information k Yi is used to generate the inferior information K Y corresponding to the index Y.
- An index Y ⁇ I is input to the information generation device.
- the random number generation unit 1 generates a random number r Y ⁇ Z q (step C1).
- the generated random number r Y is sent to the first main information generation unit 21, the second main information generation unit 22, and the derived information generation unit 3.
- the first main information k Y calculated is stored in the storage unit 4.
- Second main information generating unit 22 uses the random number r Y, which is the product, to calculate the second main information g rY (step C3).
- the second main information k Y calculated is stored in the storage unit 4.
- the calculated derived information k Yi is stored in the storage unit 4.
- step D1 to step D4 in FIG. 6 the information generation apparatus and method generates information K u corresponding to the lower index u from information K v corresponding to the higher index v, with u ⁇ v.
- Information K v corresponding to the index v includes a derivation information k vj as the first main information k v and the second main information g rv.
- the first main information kv and the second main information grv are used as, for example, a decryption key.
- the derived information k vj is used to generate information lower than the information K v corresponding to the index v.
- the index v Y
- the information K v information K Y.
- information K u ′ (u ′ ⁇ u) lower than the information K u corresponding to the index u is generated by using the information K u generated by the processing from step D1 to step D4 as new information K v. Also good.
- the information K u corresponding to the index u includes first main information k u , second main information g ru and derived information k uj .
- the first main information k u and the second main information g ru are used as a decryption key, for example.
- the derived information k uj is used to generate information lower than the information K u corresponding to the index u.
- An index v and an index u are input to the information generation apparatus.
- the storage unit 4 the information K v corresponding to the index v is stored.
- Random number generating unit 1 generates a random number r u (step D1). The generated random number is sent to the first main information deriving unit 51, the second main information deriving unit 52, and the derived information deriving unit 6.
- the first main information k u corresponding to the index u that satisfies the above relationship is calculated (step D2).
- the calculated first main information k u is stored in the storage unit 4.
- Second main information deriving unit 52 uses the random number r u which is the product, to calculate the second main information g ru (step D3).
- the calculated second main information g ru is stored in the storage unit 4.
- k uj k vj h j ru of satisfying the relationship deriving information k uj a set w (u ) For each element j ⁇ w (u) (step D4).
- the calculated derived information k uj is stored in the storage unit 4.
- information on the common child node C can be derived from the information on the parent node A, and information on the common child node C can be derived from the information on the parent node B.
- v 1 ⁇ v 3 and v 2 ⁇ v 3 and the index v 1 that is the parent node and the index v 2 that is the parent node have the index v 3 as a common child node.
- the j-th element of the index v i may be written as v ⁇ ij.
- rv ⁇ 1 and rv ⁇ 2 are random numbers generated by the random number generator 1.
- K v ⁇ 1 corresponding to the index v 1 (first main information k v ⁇ 1, the second main information g rv ⁇ 1, derived information k v ⁇ 13, k v ⁇ 14) is as follows.
- Consisting information K v ⁇ 1 corresponding to the index v 1 as follows to derive a first main information k v ⁇ 3 corresponding to the index v 3.
- k v ⁇ 3 k v ⁇ 1 (k v ⁇ 13 v3 k v ⁇ 14 v4) (g 3 h 1 v1 h 2 v2 h 3 v3 h 4 v4)
- rv ⁇ 3 G 2 a (g 3 h 1 v1 h 2 v2 h 3 v3 h 4 v4) r ...
- the information generation apparatus has all of the main information generation unit 2, the derived information generation unit 3, the main information derivation unit 5, and the derivation information derivation unit 6, but at least one of these units is included. It only has to have. For example, only the main information generation unit 2 and the derived information generation unit 3 may be included. Further, only the main information deriving unit 5 and the derived information deriving unit 6 may be provided, and the information K u may be generated using the information K v already generated and stored in the storage unit 4.
- each operation defined on the finite field F q may be replaced with an operation defined on the finite ring Z q of order q .
- An example of a method of replacing each operation defined on the finite field F q with an operation defined on the finite ring Z q is a method of allowing q other than a prime number or a power value thereof.
- the information generation device can be realized by a computer.
- the processing contents of the functions that each of these apparatuses should have are described by a program. Then, by executing this program on a computer, each processing function in these devices is realized on the computer.
- the information generation program describing the processing content can be recorded on a computer-readable recording medium.
- these apparatuses are configured by executing a predetermined program on a computer.
- at least a part of these processing contents may be realized by hardware.
- the present invention is not limited to the above-described embodiment, and can be appropriately changed without departing from the gist of the present invention.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
Abstract
Description
[述語暗号]
まず、第一実施形態で用いる概念である述語暗号の概要について説明する。
まず、本形態で使用する用語や記号を定義する。
行列:「行列」とは演算が定義された集合の元を矩形に並べたものを表す。環の元を要素とするものだけではなく、群の元を要素とするものも「行列」と表現する。
(・)-1:(・)-1は・の逆行列を表す。
∧:∧は論理積を表す。
∨:∨は論理和を表す。
Z:Zは整数集合を表す。
k:kはセキュリティパラメータ(k∈Z, k>0)を表す。
{0,1}ζ:{0,1}ζはビット長ζ(ζ∈Z, ζ>0)のバイナリ系列を表す。その一例は、整数0及び1からなる系列である。しかし、{0,1}ζは整数0及び1からなる系列に限定されない。{0,1}ζは位数2の有限体(ζ=1の場合)又はそれをζ次拡大した拡大体(ζ>1の場合)と同義である。
(+):(+)はバイナリ系列間の排他的論理和演算子を表す。例えば、10110011(+)11100001=01010010を満たす。
1F:1Fは有限体Fqの乗法単位元を表す。
δ(i,j):δ(i,j)はクロネッカーのデルタ関数を表す。i=jの場合にδ(i,j)=1Fを満たし、i≠jの場合にδ(i,j)=0 Fを満たす。
E:Eは有限体Fq上で定義された楕円曲線を表す。Eはアフィン(affine)座標版のWeierstrass方程式
y2+a1・x・y+a3・y=x3+a2・x2+a4・x+a6 …(1)
(ただし、a1,a2,a3,a4,a6∈Fq)を満たすx,y∈Fqからなる点(x,y)の集合に無限遠点と呼ばれる特別な点Oを付加したもので定義される。楕円曲線E上の任意の2点に対して楕円加算と呼ばれる二項演算+及び楕円曲線E上の任意の1点に対して楕円逆元と呼ばれる単項演算-がそれぞれ定義できる。また、楕円曲線E上の有理点からなる有限集合が楕円加算に関して群をなすこと、楕円加算を用いて楕円スカラー倍算と呼ばれる演算が定義できること、及びコンピュータ上での楕円加算などの楕円演算の具体的な演算方法はよく知られている(例えば、参考文献1、参考文献2「RFC 5091: Identity-Based Cryptography Standard (IBCS) #1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems」、参考文献3「イアン・F・ブラケ、ガディエル・セロッシ、ナイジェル・P・スマート=著、「楕円曲線暗号」、出版=ピアソン・エデュケーション、ISBN4-89471-431-0」等参照)。
G2 n+1:G2 n+1はn+1個の巡回群G2の直積を表す。
g1, g2, gT:g1, g2, gTは巡回群G1, G2,GTの生成元を表す。
V:Vはn+1個の巡回群G1の直積からなるn+1次元のベクトル空間を表す。
V*:V*はn+1個の巡回群G2の直積からなるn+1次元のベクトル空間を表す。
e:G1 n+1×G2 n+1→GT …(2)
[双線形性]すべてのΓ1∈G1 n+1,Γ2∈G2 n+1及びν,κ∈Fqについて以下の関係を満たす。
e(ν・Γ1,κ・Γ2)=e(Γ1,Γ2)ν・κ …(3)
[非退化性]すべての
Γ1∈G1 n+1,Γ2∈G2 n+1 …(4)
を巡回群GTの単位元に写す関数ではない。
[計算可能性]あらゆるΓ1∈G1 n+1,Γ2∈G2 n+1についてe(Γ1,Γ2)を効率的に計算するアルゴリズムが存在する。
Pair:G1×G2→GT …(5)
を用いて双線形関数eを構成する。本形態の双線形関数eは、巡回群G1のn+1個の元γL(L=1,...,n+1)からなるn+1次元ベクトル(γ1,...,γn+1)と、巡回群G2のn+1個の元γL *(i=1,...,n+1)からなるn+1次元ベクトル(γ1 *,...,γn+1 *)との入力に対し、巡回群GTの1個の元
e=ΠL=1 n+1 Pair(γL, γL *) …(6)
を出力する関数である。
[双線形性]すべてのΩ1∈G1,Ω2∈G2及びν,κ∈Fqについて以下の関係を満たす。
Pair(ν・Ω1,κ・Ω2)=Pair(Ω1,Ω2)ν・κ …(7)
[非退化性]すべての
Ω1∈G1,Ω2∈G2 …(8)
を巡回群GTの単位元に写す関数ではない。
[計算可能性]あらゆるΩ1∈G1,Ω2∈G2についてPair(Ω1,Ω2)を効率的に計算するアルゴリズムが存在する。
a1=(κ1・g1,0,0,...,0)
a2=(0,κ1・g1,0,...,0) …(9)
...
an+1=(0,0,0,...,κ1・g1)
a1 *=(κ2・g2,0,0,...,0)
a2 *=(0,κ2・g2,0,...,0) …(10)
...
an+1 *=(0,0,0,...,κ2・g2)
e(ai, aj *)=gT τ・δ(i,j) …(11)
を満たす。すなわち、i=jの場合には、式(6)(7)の関係から、
e(ai, aj *)= Pair(κ1・g1,κ2・g2)・Pair(0, 0)・...・Pair(0, 0)
= Pair(g1, g2)κ1・κ2・Pair(g1, g2)0・0・...・Pair(g1, g2)0・0
= Pair(g1, g2)κ1・κ2=gT τ
を満たす。一方、i≠jの場合には、e(ai, aj *)は、Pair(κ1・g1,κ2・g2)を含まず、Pair(κ1・g1,0)と Pair(0,κ2・g2)とPair(0,0)との積になる。さらに、式(7)の関係からPair(g1, 0)=Pair(0, g2)=Pair(g1, g2)0を満たす。そのため、i≠jの場合には、
e(ai, aj *)=e(g1, g2)0=gT 0
を満たす。
e(ai, aj *)=gT δ(i,j) …(12)
を満たす。ここで、gT 0=1は巡回群GTの単位元であり、gT 1=gTは巡回群GTの生成元である。この場合、基底ベクトルaiと基底ベクトルai *とは双対正規直交基底であり、ベクトル空間Vとベクトル空間V*とは、双線形写像を構成可能な双対ベクトル空間〔双対ペアリングベクトル空間(DPVS:Dual Paring Vector space)〕である。
A*:A*は基底ベクトルai *(i=1,...,n+1)を要素とするn+1行n+1列の行列を表す。例えば、基底ベクトルai *(i=1,...,n+1)が式(10)によって表現される場合、行列A*は、
X:Xは有限体Fqの元を要素とするn+1行n+1列の行列を表す。行列Xは基底ベクトルaiの座標変換に用いられる。行列Xのi行j列(i=1,...,n+1,j=1,...,n+1)の要素をχi,j∈Fqとすると、行列Xは、
X *:X *は行列Xの逆行列の転置行列X*=( X-1)Tを表す。行列X *は基底ベクトルai *の座標変換に用いられる。行列X *のi行j列の要素をχi,j *∈Fqとすると、行列X*は、
この場合、n+1行n+1列の単位行列をIとするとX・(X*)T=Iを満たす。すなわち、単位行列
χi →=(χi,1,...,χi,n+1) …(19)
χj →*=(χj,1 *,...,χj,n+1 *) …(20)
を定義する。すると、式(18)の関係から、n+1次元ベクトルχi →とχj →*との内積は、
χi →・χj →*=δ(i,j) …(21)
となる。
bi=Σj=1 n+1χi,j・aj …(22)
の演算によって得られる。例えば、基底ベクトルaj(j=1,...,n+1)が式(9)によって表現される場合、基底ベクトルbiの各要素をそれぞれ列挙して表現すると、以下のようになる。
bi=(χi,1・κ1・g1 ,χi,2・κ1・g1 ,...,χi,n+1・κ1・g1) …(23)
bi *=Σj=1 n+1χi,j *・aj * …(24)
の演算によって得られる。例えば、基底ベクトルaj *(j=1,...,n+1)が式(10)によって表現される場合、基底ベクトルbi *の各要素をそれぞれ列挙して表現すると、以下のようになる。
bi *=(χi,1 *・κ2・g2 ,χi,2 *・κ2・g2 ,...,χi,n+1 *・κ2・g2) …(25)
巡回群G2のn+1個の元を要素とするすべてのn+1次元ベクトルは、n+1次元の基底ベクトルbi *(i=1,...,n+1)の線形和によって表される。すなわち、n+1次元の基底ベクトルbi *は前述のベクトル空間V*を張る。
e(bi, bj *)=gT τ・δ(i,j) …(26)
を満たす。すなわち、式(6)(21)(23)(25)の関係から、
e(bi, bj *)=gT δ(i,j) …(27)
を満たす。この場合、基底ベクトルbiと基底ベクトルbi *とは、双対ペアリングベクトル空間(ベクトル空間Vとベクトル空間V*)の双対正規直交基底である。
なお、式(26)の関係を満たすのであれば、式(9)(10)で例示したもの以外の基底ベクトルai及びai *や、式(22)(24)で例示したもの以外の基底ベクトルbi及びbi *を用いてもよい。
B*:B*は基底ベクトルbi *(i=1,...,n+1)を要素とするn+1行n+1列の行列を表す。B*=X*・A*を満たす。例えば、基底ベクトルbi *(i=1,...,n+1)が式(25)によって表現される場合、行列B*は、
w→:w→は有限体Fqの元を要素とするn次元ベクトルを表す。
w→=(w1,...,wn)∈Fq n …(30)
wμ:wμはn次元ベクトルのμ(μ=1,...,n)番目の要素を表す。
v→:v→は有限体Fqの元を要素とするn次元ベクトルを表す。
v→=(v1,...,vn)∈Fq n …(31)
vμ:vμはn次元ベクトルのμ(μ=1,...,n)番目の要素を表す。
Pr[A(h)=(x,y)|h(x)=h(y)∧x≠y]<ε(k) …(32)
ただし、Pr[・]は事象[・]の確率であり、A(h)は関数hに対してh(x)=h(y)を満たす値x,y(x≠y)を算出する確率的多項式時間アルゴリズムであり、ε(k)はセキュリティパラメータkについての多項式である。衝突困難な関数の例は、参考文献1に開示された「cryptographic hash function」などのハッシュ関数である。
H1:{0,1}k×{0,1}*→Fq×Fq …(33)
H2:GT×{0,1}*→Fq …(34)
R:GT→{0,1}k …(35)
Enck(M):Enck(M)は、共通鍵Kを用い、共通鍵暗号関数Encに従って平文Mを暗号化して得られた暗号文を表す。
Dec:Decは、共通鍵暗号方式の復号処理を示す共通鍵復号関数を表す。
Deck(C):Deck(C)は、共通鍵Kを用い、共通鍵復号関数Decに従って暗号文Cを復号して得られた復号結果を表す。
次に、内積述語暗号の基本的な構成について説明する。
<述語暗号>
述語暗号(「関数暗号」と呼ぶ場合もある)とは、「属性情報」と呼ばれる情報と「述語情報」と呼ばれる情報との組み合わせが所定の論理式を「真」にする場合に暗号文が復号できる方式である。「属性情報」と「述語情報」の一方が暗号文に埋め込まれ、他方が鍵情報に埋め込まれる。従来の述語暗号の構成は、例えば、参考文献9「"Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products," with Amit Sahai and Brent Waters One of 4 papers from Eurocrypt 2008 invited to the Journal of Cryptology」等に開示されている。
内積述語暗号は、属性情報や述語情報としてベクトルを用い、それらの内積が0となる場合に暗号文が復号される述語暗号である。内積述語暗号では、内積が0となることと論理式が「真」となることとが等価である。
内積述語暗号では、論理和や論理積からなる論理式を多項式で表現する。
まず、「xがη1である」という命題1と「xがη2である」という命題2との論理和 (x=η1)∨(x=η2)を
(x-η1)・(x-η2) …(36)
という多項式で表現する。すると、各真理値と式(36)の関数値との関係は以下のようになる。
ι1・(x-η1)+ι2・(x-η2) …(37)
という多項式で表現する。ただし、ι1及びι2は乱数である。すると、真理値と式(37)の関数値とは以下の関係となる。
f(x)=ι1・{(x-η1)・(x-η2)・(x-η3)}+ι2・(x=η4)+ι3・(x=η5) …(38)
で表現できる。
(x0-η0)・(x1-η1)
という多項式で表現することも可能であり、3つ以上の不定元を用い、論理和を多項式で表現することも可能である。
ι0・(x0-η0)+ι1・(x1-η1)
という多項式で表現することも可能であり、3つ以上の不定元を用い、論理積を多項式で表現することも可能である。
f(x0,...,x4)
=ι0・{(x0-η0)・(x1-η1)・(x2-η2)}+ι1・(x3=η3)+ι2・(x4=η4)
となる。
論理式を示す多項式f(x0,...,xH-1)は、2つのn次元ベクトルの内積で表現できる。すなわち、多項式f(x0,...,xH-1)は、当該多項式f(x0,...,xH-1)の各項の不定元成分を各要素とするベクトル
v→=(v1,...,vn)
と、当該多項式f(x0,...,xH-1)の各項の係数成分を各要素とするベクトル
w→=(w1,...,wn)
との内積
f(x0,...,xH-1)=w→・v→
に等しい。すなわち、論理式を示す多項式f(x0,...,xH-1)が0であるか否かと、多項式f(x0,...,xH-1)の各項の不定元成分を各要素とするベクトルv→と、多項式f(x0,...,xH-1)の各項の係数成分を各要素とするベクトルw→との内積が0であるか否かとは等価である。
例えば、1つの不定元xで表現された多項式f(x)=θ0・x0+θ1・x+...+θn-1・xn-1は、2つのn次元ベクトル
w→=(w1,...,wn)=(θ0,...,θn-1) …(39)
v→=(v1,...,vn)=(x0 ,...,xn-1) …(40)
の内積
f(x)= w→・v→ …(41)
で表現できる。すなわち、論理式を示す多項式f(x)が0であるか否かと、式(41)の内積が0であるか否かとは等価である。
また、多項式f(x0,...,xH-1)の各項の不定元成分を各要素とするベクトルを
w→=(w1,...,wn)
とし、多項式f(x0,...,xH-1)の各項の係数成分を各要素とするベクトル
v→=(v1,...,vn)
としても、論理式を示す多項式f(x0,...,xH-1)が0であるか否かと、ベクトルw→とベクトルv→との内積が0であるか否かとは等価である。
w→=(w1,...,wn)=(x0 ,...,xn) …(43)
v→=(v1,...,vn)=(θ1,...,θn-1) …(44)
としても、論理式を示す多項式f(x)が0であるか否かと、式(41)の内積が0であるか否かとは等価である。
述語情報:w→=(w1,...,wn)=(θ0,...,θn-1)
属性情報:v→=(v1,...,vn)=(x0 ,...,xn-1)
であるか、
述語情報:v→=(v1,...,vn)=(θ0,...,θn-1)
属性情報:w→=(w1,...,wn)=(x0 ,...,xn-1)
である。
以下では、内積述語暗号を用いて鍵カプセル化メカニズムKEM (Key Encapsulation Mechanisms)を構成する場合の基本構成を例示する。この構成はSetup(1k),GenKey(MSK,w→),Enc(PA,v→),Dec(SKw,C2)を含む。
-入力:セキュリティパラメータk
-出力:マスター鍵情報MSK,公開パラメータPK
Setup(1k)の一例では、まず、セキュリティパラメータkをnとして、n+1次元の基底ベクトルai(i=1,...,n+1)を要素とするn+1行n+1列の行列Aと、基底ベクトルai *(i=1,...,n+1)を要素とするn+1行n+1列の行列A*と、座標変換のためのn+1行n+1列の行列X,X*とが選択される。次に、式(22)に従って座標変換されたn+1次元の基底ベクトルbi(i=1,...,n+1)が算出され、式(24)に従って座標変換されたn+1次元の基底ベクトルbi *(i=1,...,n+1)が算出される。そして、基底ベクトルbi *(i=1,...,n+1)を要素とするn+1行n+1列の行列B*がマスター鍵情報MSKとして出力され、ベクトル空間V, V*、基底ベクトルbi(i=1,...,n+1)を要素とするn+1行n+1列の行列B、セキュリティパラメータk、有限体Fq、楕円曲線E、巡回群G1, G2,GT、生成元g1, g2, gT、双線形関数eなどが公開パラメータPKとして出力される。
-入力:マスター鍵情報MSK,ベクトルw→
-出力:ベクトルw→に対応する鍵情報D*
GenKey(MSK,w→)の一例では、まず、有限体Fqから元α∈Fqが選択される。そして、マスター鍵情報MSKである行列B*を用い、ベクトルw→に対応する鍵情報
D*=α・(Σμ=1 nwμ・bμ *)+bn+1 *∈G2 n+1 …(45)
が生成され、出力される。なお、巡回群G2上での離散対数問題の求解が困難である場合、鍵情報D*からwμ・bμ *やbn+1 *の成分を分離抽出することは困難である。
-入力:公開パラメータPK,ベクトルv→
-出力:暗号文C2,共通鍵K
Enc(PA,v→)の一例では、まず、共通鍵Kと有限体Fqの元である乱数υ1とが生成される。そして、行列Bなどの公開パラメータPKと、共通鍵Kを含む値に対応する有限体Fqの元υ2と、ベクトルv→と、乱数υ1とを用い、暗号文
C2=υ1・(Σμ=1 nvμ・bμ)+υ2・bn+1∈G1 n+1 …(46)
が生成される。そして、暗号文C2と共通鍵Kとが出力される。共通鍵Kの一例はK=gT τ・υ2∈GTである。ここで、添え字のυ2はυ2を意味する。また、前述のようにτの一例はτ=1Fである。なお、巡回群G1上での離散対数問題の求解が困難である場合、暗号文C2からvμ・bμやυ2・bn+1の成分を分離抽出することは困難である。
-入力:ベクトルw→に対応する鍵情報D1 *,暗号文C2
-出力:共通鍵K
Dec(SKw,C2)の一例では、まず、暗号文C2と鍵情報D1 *とが式(2)の双線形関数eに入力される。すると、式(3)(26)の性質から、
ここで、内積w→・v→=0であれば、式(47)は、
第一実施形態の情報生成装置及び方法は、前述した述語暗号を用いて階層型暗号を実現したものである。具体的には、前述した述語暗号で登場する基底b*を用いて、木構造以外の一般の半順序構造で表される情報導出を実現するものである。
図1に、第一実施形態の情報生成装置の機能ブロック図を例示する。
情報生成装置及び方法は、図2のステップA1からステップA3において、基底bi *を用いてインデックスYに対応する情報KYを生成する。情報KYは、主情報kYと導出情報kYjとを含む。主情報kYは、述語暗号において例えば復号鍵として使用される。導出情報kYjは、インデックスYに対応する情報KYよりも下位の情報を生成するために用いられる。
乱数生成部1は、乱数σY∈Zq、及び、集合w(Y)の各要素j∈w(Y)に対応する乱数σYj∈Zqを生成する(ステップA1)。生成された乱数σYは、主情報生成部2に送られる。生成された乱数σYjは、導出情報生成部3に送られる。例えば、集合w(Y)={2,3}である場合には、乱数生成部1はσY、σY2及びσY3の3つの乱数を生成する。
情報生成装置及び方法は、図3のステップB1からステップB3において、u≦vとして、上位のインデックスvに対応する情報Kvから、下位のインデックスuに対応する情報Kuを生成する。
情報生成装置には、インデックスv及びインデックスuが入力される。
記憶部4には、インデックスvに対応する情報Kvが格納されているとする。
以下、各ノードの情報が述語暗号における鍵であり、インデックスv1の情報から生成したインデックスv3の情報と、インデックスv2の情報から生成したインデックスv3の情報とが、述語暗号における鍵という観点から一致することを説明する。以下に示すインデックスv1、インデックスv2、インデックスv3は一例であり、他のインデックスについても同様のことが言える。
kv^1=σv^1(v1b1 *+v2b2 *)+b5 *
kv^13=σv^13(v1b1 *+v2b2 *)+b3 *
kv^14=σv^14(v1b1 *+v2b2 *)+b4 *
kv^2=σv^2(v3b3 *+v4b4 *)+b5 *
kv^21=σv^23(v3b3 *+v4b4 *)+b1 *
kv^22=σv^24(v3b3 *+v4b4 *)+b2 *
kv^3=σv^3(v3kv^13+v4kv^14)+kv^1
=(σv^3(v3σv^13+v4σv^14)+σv^1)(v1b1 *+v2b2 *)+σv^3(v3b3 *+v4b4 *)+b5 *
=a(v1b1 *+v2b2 *)+b(v3b3 *+v4b4 *)+b5 *
…(A)
kv^3=σv^3’(v1kv^21+v2kv^22)+kv^2
=(σv^3’(v1σv^23+v4σv^24)+σv^2)(v3b3 *+v4b4 *)+σv^3’(v1b1 *+v2b2 *)+b5 *
=c(v1b1 *+v2b2 *)+d(v3b3 *+v4b4 *)+b5 *
…(B)
図4に、第二実施形態の情報生成装置の機能ブロック図を例示する。
情報生成装置及び方法は、図5のステップC1からステップC4において、公開鍵を用いてインデックスYに対応する情報KYを生成する。情報KYは、第一主情報kYと第二主情報grYと導出情報kYjとを含む。第一主情報kY及び第二主情報grYは、例えば復号鍵として使用される。導出情報kYiは、インデックスYに対応する情報KYよりも下位の情報を生成するために用いられる。
乱数生成部1は、乱数rY∈Zqを生成する(ステップC1)。生成された乱数rYは、第一主情報生成部21、第二主情報生成部22及び導出情報生成部3に送られる。
第二主情報生成部22は、上記生成された乱数rYを用いて、第二主情報grYを計算する(ステップC3)。計算された第二主情報kYは記憶部4に格納される。
情報生成装置及び方法は、図6のステップD1からステップD4において、u≦vとして、上位のインデックスvに対応する情報Kvから、下位のインデックスuに対応する情報Kuを生成する。
記憶部4には、インデックスvに対応する情報Kvが格納されているとする。
乱数生成部1は、乱数ruを生成する(ステップD1)。生成された乱数は、第一主情報導出部51、第二主情報導出部52及び導出情報導出部6に送られる。
以下、各ノードの情報が述語暗号における鍵であり、インデックスv1の情報から生成したインデックスv3の情報と、インデックスv2の情報から生成したインデックスv3の情報とが、述語暗号における鍵という観点から一致することを説明する。以下に示すインデックスv1、インデックスv2、インデックスv3は一例であり、他のインデックスについても同様のことが言える。
kv^1=g2 a(g3h1 v1h2 v2)rv^1
grv^1
kv^13=h3 rv^1
kv^14=h4 rv^1
kv^2=g2 a(g3h3 v3h4 v4)rv^2
grv^2
kv^21=h1 rv^2
kv^22=h2 rv^2
kv^3=kv^1(kv^13 v3kv^14 v4)(g3h1 v1h2 v2h3 v3h4 v4)rv^3
=g2 a(g3h1 v1h2 v2h3 v3h4 v4)r …(C)
インデックスv2に対応する情報Kv^2からインデックスv3に対応する主情報kv^3を導出すると以下のようになる。なお、rv^3’は乱数であり、r’=rv^2+rv^3’である。
kv^3=kv^2(kv^21 v1kv^22 v2)(g3h1 v1h2 v2h3 v3h4 v4)rv^3’
=g2 a(g3h1 v1h2 v2h3 v3h4 v4)r’ …(D)
上記の実施形態では、情報生成装置は、主情報生成部2、導出情報生成部3、主情報導出部5及び導出情報導出部6の全てを有していたが、これらの少なくとも1つの部を有していればよい。例えば、主情報生成部2及び導出情報生成部3のみを有していてもよい。また、主情報導出部5及び導出情報導出部6のみを有しており、既に生成され記憶部4に格納された情報Kvを用いて、情報Kuを生成してもよい。
Claims (14)
- eが巡回群G1のN個の元γL(L=1,…,N)(N≧2)と巡回群G2のN個の元γL *(L=1,…,N)との入力に対して巡回群GTの1個の元を出力する非退化な双線形関数であり、bi∈G1 N(i=1,…,N)のそれぞれが、上記巡回群G1のN個の元を要素とするN次元の基底ベクトルであり、bj *∈G2 N(j=1,…,N)のそれぞれが、上記巡回群G2のN個の元を要素とするN次元の基底ベクトルであり、上記基底ベクトルbi∈G1 N(i=1,…,N)の各要素と上記基底ベクトルbj *∈G2 N(j=1,…,N)の各要素とを上記双線形関数eに入力して得られる関数値が、i=jの場合にδ(i,j)=1Fとなってi≠jの場合にδ(i,j)=0Fとなるクロネッカーのデルタ関数δ(i,j)を用いてgT τ・δ(i,j)∈GTと表現され、0Fが有限体Fqの加法単位元であり、1Fが有限体Fqの乗法単位元であり、τが0Fを除く有限体Fqの元であり、gTが上記巡回群GTの生成元であり、
*を不定文字とし、インデックスYをY=(Y1,…,YN-1)∈I=(Fq∪{*})N-1とし、インデックスYに対応する集合w(Y)をw(Y)={i|Yi=*}として、
乱数σY∈Zq、及び、集合w(Y)の各要素j∈w(Y)に対応する乱数σYj∈Zqを生成する乱数生成部と、
上記生成された乱数σYを用いて、kY=σYΣi∈{1,…,N-1}\w(Y)Yibi *+bN *の関係を満たす主情報kYを計算する主情報生成部と、
上記生成された乱数σYjを用いて、kYj=σYjΣi∈{1,…,N-1}\w(Y)Yibi *+bj *の関係を満たす導出情報kYjを集合w(Y)の各要素j∈w(Y)ごとに計算する導出情報生成部と、
を含むことを特徴とする情報生成装置。 - 請求項1に記載の情報生成装置において、
*を不定文字とし、インデックスvをv=(v1,…,vN-1)∈I=(Fq∪{*})N-1とし、インデックスvに対応する集合w(v)をw(v)={i|vi=*}とし、インデックスuをu=(u1,…,uN-1)∈I=(Fq∪{*})N-1とし、インデックスuに対応する集合w(u)をw(u)={i|ui=*}とし、集合w(u)⊂集合w(v)とし、vi=ui(i∈{1,…,N-1}\w(v))として、
インデックスvに対応する主情報kv及びインデックスvに対応する導出情報kvjを記憶する記憶部と、
上記乱数生成部は、更に乱数σu∈Zqを生成し、
上記記憶部から読み込んだ主情報kv、導出情報kvi及び上記生成された乱数σuを用いて、ku=σuΣi∈w(v)\w(u)uikvi+kvの関係を満たす、インデックスuに対応する主情報kuを計算する主情報導出部と、
を含む情報生成装置。 - 請求項2に記載の情報生成装置において、
上記乱数生成部は、更に集合w(u)の各要素j∈w(u)に対応する乱数σuj∈Zqを生成し、
上記記憶部から読み込んだ導出情報kvj及び上記生成された乱数σuiを用いて、kuj=σujΣi∈w(v)\w(u)uikvi+kvjの関係を満たすインデックスuに対応する導出情報kujを集合w(u)の各要素j∈w(u)ごとに計算する導出情報導出部を更に含む、
ことを特徴とする情報生成装置。 - eが巡回群G1のN個の元γL(L=1,…,N)(N≧2)と巡回群G2のN個の元γL *(L=1,…,N)との入力に対して巡回群GTの1個の元を出力する非退化な双線形関数であり、bi∈G1 N(i=1,…,N)のそれぞれが、上記巡回群G1のN個の元を要素とするN次元の基底ベクトルであり、bj *∈G2 N(j=1,…,N)のそれぞれが、上記巡回群G2のN個の元を要素とするN次元の基底ベクトルであり、上記基底ベクトルbi∈G1 N(i=1,…,N)の各要素と上記基底ベクトルbj *∈G2 N(j=1,…,N)の各要素とを上記双線形関数eに入力して得られる関数値が、i=jの場合にδ(i,j)=1Fとなってi≠jの場合にδ(i,j)=0Fとなるクロネッカーのデルタ関数δ(i,j)を用いてgT τ・δ(i,j)∈GTと表現され、0Fが有限体Fqの加法単位元であり、1Fが有限体Fqの乗法単位元であり、τが0Fを除く有限体Fqの元であり、gTが上記巡回群GTの生成元であり、
*を不定文字とし、インデックスYをY=(Y1,…,YN-1)∈I=(Fq∪{*})N-1とし、インデックスYに対応する集合w(Y)をw(Y)={i|Yi=*}とし、σY∈Zqを乱数とし、σYiを集合w(Y)の各要素j∈w(Y)に対応する乱数とし、インデックスYに対応する主情報kYはkY=σYΣi∈{1,…,N-1}\w(Y)Yibi *+bN *の関係を満たし、インデックスYに対応する導出情報kYiはkYj=σYjΣi∈{1,…,N-1}\w(Y)Yibi *+bj *の関係を満たし、
*を不定文字とし、インデックスvをv=(v1,…,vN-1)∈I=(Fq∪{*})N-1とし、インデックスuをu=(u1,…,uN-1)∈I=(Fq∪{*})N-1とし、インデックスvに対応する集合w(v)をw(v)={i|vi=*}とし、インデックスuに対応する集合w(u)をw(u)={i|ui=*}とし、集合w(u)⊂集合w(v)とし、vi=ui(i∈{1,…,N-1}\w(v))として、
上記主情報kYである又は上記主情報kY及び上記導出情報kYiから導出されたインデックスvに対応する主情報kv、及び、上記導出情報kYiである又は上記導出情報kYiから導出されたインデックスvに対応する導出情報kvjを記憶する記憶部と、
乱数σu∈Zqを生成する子乱数生成部と、
上記記憶部から読み込んだ主情報kv、導出情報kvi及び上記生成された乱数σuを用いて、ku=σuΣi∈w(v)\w(u)uikvi+kvの関係を満たす、インデックスuに対応する主情報kuを計算する主情報導出部と、
を含む情報生成装置。 - 請求項4に記載の情報生成装置において、
上記乱数生成部は、さらに集合w(u)の各要素j∈w(u)に対応する乱数σuj∈Zqを生成し、
上記記憶部から読み込んだ導出情報kvj及び上記生成された乱数σuiを用いて、kuj=σujΣi∈w(v)\w(u)uikvi+kvjの関係を満たす導出情報kujを集合w(u)の各要素j∈w(u)ごとに計算する導出情報導出部を更に含む、
ことを特徴とする情報生成装置。 - G、GTを素数位数qの巡回群とし、gを巡回群Gの生成元とし、巡回群GにはgT=e(g,g)が巡回群GTの生成元となるようなペアリング関数e:G×G→GTが存在するとし、aをZpからランダムに選択された乱数とし、gとg1=ga∈Gと巡回群Gからランダムに選択されたg2,g3,h1,…,hN-1∈Gとが公開鍵として公開されており、
*を不定文字とし、インデックスYをY=(Y1,…,YN-1)∈I=(Fq∪{*})N-1とし、インデックスYに対応する集合w(Y)をw(Y)={i|Yi=*}として、
乱数rY∈Zqを生成する乱数生成部と、
上記生成された乱数rYを用いて、kY=g2 a(g3Πi∈{1,…,N-1}\w(Y)hi Yi)rYの関係を満たす第一主情報kYを計算する第一主情報生成部と、
上記生成された乱数rYを用いて、第二主情報grYを計算する第二主情報生成部と、
上記生成された乱数rYを用いて、kYj=hj rYの関係を満たす導出情報kYjを集合w(Y)の各要素j∈w(Y)ごとに計算する導出情報生成部と、
を含むことを特徴とする情報生成装置。 - 請求項6に記載の情報生成装置において、
上記乱数生成部は、更に乱数ru∈Zqを生成し、
*を不定文字とし、インデックスvをv=(v1,…,vN-1)∈I=(Fq∪{*})N-1とし、インデックスvに対応する集合w(v)をw(v)={i|vi=*}とし、インデックスuをu=(u1,…,uN-1)∈I=(Fq∪{*})N-1とし、インデックスuに対応する集合w(u)をw(u)={i|ui=*}とし、集合w(u)⊂集合w(v)とし、vi=ui(i∈{1,…,N-1}\w(v))として、
インデックスvに対応する第一主情報kv、第二主情報gr及びインデックスvに対応する導出情報kvjを記憶する記憶部と、
上記記憶部から読み込んだ第一主情報kv及び導出情報kviを用いて、ku=kv(Πi∈w(v)\w(u)kvi ui)(g3Πi∈{1,…,N-1}\w(v)hi viΠi∈w(v)\w(u)hi ui)ruの関係を満たす、インデックスuに対応する第一主情報kuを計算する第一主情報導出部と、
上記生成された乱数ruを用いて、第二主情報gruを計算する第二主情報導出部と、
を含むことを特徴とする情報生成装置。 - 請求項7に記載の情報生成装置において、
上記記憶部から読み込んだ導出情報kvi及び上記生成された乱数ruを用いて、kuj=kvjhj ruの関係を満たす導出情報kujを集合w(u)の各要素j∈w(u)ごとに計算する導出情報導出部を更に含む、
ことを特徴とする情報生成装置。 - G、GTを素数位数qの巡回群とし、gを巡回群Gの生成元とし、巡回群GにはgT=e(g,g)が巡回群GTの生成元となるようなペアリング関数e:G×G→GTが存在するとし、aをZpからランダムに選択された乱数とし、gとg1=ga∈Gと巡回群Gからランダムに選択されたg2,g3,h1,…,hN-1∈Gとが公開鍵として公開されており、
*を不定文字とし、インデックスYをY=(Y1,…,YN-1)∈I=(Fq∪{*})N-1とし、インデックスYに対応する集合w(Y)をw(Y)={i|Yi=*}とし、
rY∈Zqを乱数とし、インデックスYに対応する第一主情報kYはkY=g2 a(g3Πi∈{1,…,N-1}\w(Y)hi Yi)rYの関係を満たし、grYをインデックスYに対応する第二主情報とし、インデックスYに対応する導出情報kYiはkYj=hj rYの関係を満たし、
*を不定文字とし、インデックスvをv=(v1,…,vN-1)∈I=(Fq∪{*})N-1とし、インデックスvに対応する集合w(v)をw(v)={i|vi=*}とし、インデックスuをu=(u1,…,uN-1)∈I=(Fq∪{*})N-1とし、インデックスuに対応する集合w(u)をw(u)={i|ui=*}とし、集合w(u)⊂集合w(v)とし、vi=ui(i∈{1,…,N-1}\w(v))として、
乱数ru∈Zqを生成する乱数生成部と、
上記第一主情報kYである又は上記第一主情報kY及び上記導出情報kYiから導出されたインデックスvに対応する第一主情報kv、上記導出情報kYiである又は上記導出情報kYiから導出されたインデックスvに対応する導出情報kvjを記憶する記憶部と、
上記記憶部から読み込んだ第一主情報kv及び上記導出情報kviを用いて、ku=kv(Πi∈w(v)\w(u)kvi ui)(g3Πi∈{1,…,N-1}\w(v)hi viΠi∈w(v)\w(u)hi ui)ruの関係を満たす、インデックスuに対応する第一主情報kuを計算する第一主情報導出部と、
上記生成された乱数ruを用いて、第二主情報gruを計算する第二主情報導出部と、
を含む情報生成装置。 - 請求項9に記載された情報生成装置において、
上記記憶部から読み込んだ導出情報kvi及び上記生成された乱数ruを用いて、kuj=kvjhj ruの関係を満たす導出情報kujを集合w(u)の各要素j∈w(u)ごとに計算する導出情報導出部を更に含む、
情報生成装置。 - eが巡回群G1のN個の元γL(L=1,…,N)(N≧2)と巡回群G2のN個の元γL *(L=1,…,N)との入力に対して巡回群GTの1個の元を出力する非退化な双線形関数であり、bi∈G1 N(i=1,…,N)のそれぞれが、上記巡回群G1のN個の元を要素とするN次元の基底ベクトルであり、bj *∈G2 N(j=1,…,N)のそれぞれが、上記巡回群G2のN個の元を要素とするN次元の基底ベクトルであり、上記基底ベクトルbi∈G1 N(i=1,…,N)の各要素と上記基底ベクトルbj *∈G2 N(j=1,…,N)の各要素とを上記双線形関数eに入力して得られる関数値が、i=jの場合にδ(i,j)=1Fとなってi≠jの場合にδ(i,j)=0Fとなるクロネッカーのデルタ関数δ(i,j)を用いてgT τ・δ(i,j)∈GTと表現され、0Fが有限体Fqの加法単位元であり、1Fが有限体Fqの乗法単位元であり、τが0Fを除く有限体Fqの元であり、gTが上記巡回群GTの生成元であり、
*を不定文字とし、インデックスYをY=(Y1,…,YN-1)∈I=(Fq∪{*})N-1とし、インデックスYに対応する集合w(Y)をw(Y)={i|Yi=*}として、
乱数生成部が、乱数σY∈Zq、及び、集合w(Y)の各要素j∈w(Y)に対応する乱数σYj∈Zqを生成する乱数生成ステップと、
主情報生成部が、上記生成された乱数σYを用いて、kY=σYΣi∈{1,…,N-1}\w(Y)Yibi *+bN *の関係を満たす主情報kYを計算する主情報生成ステップと、
導出情報生成部が、上記生成された乱数σYjを用いて、kYj=σYjΣi∈{1,…,N-1}\w(Y)Yibi *+bj *の関係を満たす導出情報kYjを集合w(Y)の各要素j∈w(Y)ごとに計算する導出情報生成ステップと、
を含むことを特徴とする情報生成方法。 - G、GTを素数位数qの巡回群とし、gを巡回群Gの生成元とし、巡回群GにはgT=e(g,g)が巡回群GTの生成元となるようなペアリング関数e:G×G→GTが存在するとし、aをZpからランダムに選択された乱数とし、gとg1=ga∈Gと巡回群Gからランダムに選択されたg2,g3,h1,…,hN-1∈Gとが公開鍵として公開されており、
*を不定文字とし、インデックスYをY=(Y1,…,YN-1)∈I=(Fq∪{*})N-1とし、インデックスYに対応する集合w(Y)をw(Y)={i|Yi=*}として、
乱数生成部が、乱数rY∈Zqを生成する乱数生成ステップと、
第一主情報生成部が、上記生成された乱数rYを用いて、kY=g2 a(g3Πi∈{1,…,N-1}\w(Y)hi Yi)rYの関係を満たす第一主情報kYを計算する第一主情報生成ステップと、
第二主情報生成部が、上記生成された乱数rYを用いて、第二主情報grYを計算する第二主情報生成ステップと、
導出情報生成部が、上記生成された乱数rYを用いて、kYj=hj rYの関係を満たす導出情報kYjを集合w(Y)の各要素j∈w(Y)ごとに計算する導出情報生成ステップと、
を含むことを特徴とする情報生成方法。 - 請求項1から10の何れかに記載された情報生成装置の各部としてコンピュータを機能させるための情報生成プログラム。
- 請求項13に記載された情報生成プログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020117023782A KR101351787B1 (ko) | 2009-04-24 | 2010-04-23 | 정보 생성 장치, 정보 생성 방법, 및 컴퓨터 판독가능 기록 매체 |
US13/258,165 US8619980B2 (en) | 2009-04-24 | 2010-04-23 | Information generation apparatus, method, program, and recording medium for deriving a decryption key from another decryption key |
ES10767171.1T ES2512115T3 (es) | 2009-04-24 | 2010-04-23 | Dispositivo de generación de información, método de generación de información, y programa de generación de información y medio de almacenamiento del mismo |
EP10767171.1A EP2424155B1 (en) | 2009-04-24 | 2010-04-23 | Information generating device, information generating method, and information generating program and storage medium thereof |
CN201080016597.9A CN102396178B (zh) | 2009-04-24 | 2010-04-23 | 信息生成装置、方法 |
JP2011510383A JP5256342B2 (ja) | 2009-04-24 | 2010-04-23 | 情報生成装置、方法、プログラム及びその記録媒体 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009106009 | 2009-04-24 | ||
JP2009-106009 | 2009-04-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010123116A1 true WO2010123116A1 (ja) | 2010-10-28 |
Family
ID=43011230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/057279 WO2010123116A1 (ja) | 2009-04-24 | 2010-04-23 | 情報生成装置、方法、プログラム及びその記録媒体 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8619980B2 (ja) |
EP (1) | EP2424155B1 (ja) |
JP (1) | JP5256342B2 (ja) |
KR (1) | KR101351787B1 (ja) |
CN (1) | CN102396178B (ja) |
ES (1) | ES2512115T3 (ja) |
WO (1) | WO2010123116A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020068437A (ja) * | 2018-10-23 | 2020-04-30 | 株式会社アメニディ | アクセス管理装置、及びプログラム |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130227809A1 (en) | 2012-02-24 | 2013-09-05 | Pylon Manufacturing Corp. | Wiper blade |
USD706200S1 (en) | 2010-09-22 | 2014-06-03 | Pylon Manufacturing Corporation | Windshield wiper cover |
US9174609B2 (en) | 2011-04-21 | 2015-11-03 | Pylon Manufacturing Corp. | Wiper blade with cover |
US9457768B2 (en) | 2011-04-21 | 2016-10-04 | Pylon Manufacturing Corp. | Vortex damping wiper blade |
WO2013016493A1 (en) | 2011-07-28 | 2013-01-31 | Pylon Manufacturing Corp. | Windshield wiper adapter, connector and assembly |
US8806700B2 (en) * | 2011-07-29 | 2014-08-19 | Pylon Manufacturing Corporation | Wiper blade connector |
US9108595B2 (en) | 2011-07-29 | 2015-08-18 | Pylon Manufacturing Corporation | Windshield wiper connector |
CA2843637C (en) | 2011-07-29 | 2018-12-11 | Pylon Manufacturing Corp. | Windshield wiper connector |
JP5677273B2 (ja) * | 2011-11-18 | 2015-02-25 | 三菱電機株式会社 | 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置 |
US20130219649A1 (en) | 2012-02-24 | 2013-08-29 | Pylon Manufacturing Corp. | Wiper blade |
JP5680007B2 (ja) * | 2012-03-06 | 2015-03-04 | 三菱電機株式会社 | 暗号システム、暗号方法及び暗号プログラム |
US10829092B2 (en) | 2012-09-24 | 2020-11-10 | Pylon Manufacturing Corp. | Wiper blade with modular mounting base |
US10166951B2 (en) | 2013-03-15 | 2019-01-01 | Pylon Manufacturing Corp. | Windshield wiper connector |
US9505380B2 (en) | 2014-03-07 | 2016-11-29 | Pylon Manufacturing Corp. | Windshield wiper connector and assembly |
USD787308S1 (en) | 2014-10-03 | 2017-05-23 | Pylon Manufacturing Corp. | Wiper blade package |
USD777079S1 (en) | 2014-10-03 | 2017-01-24 | Pylon Manufacturing Corp. | Wiper blade frame |
EP3368383B1 (en) | 2015-10-26 | 2021-08-04 | Pylon Manufacturing Corp. | Wiper blade |
US10717414B2 (en) | 2016-05-19 | 2020-07-21 | Pylon Manufacturing Corporation | Windshield wiper blade |
US11040705B2 (en) | 2016-05-19 | 2021-06-22 | Pylon Manufacturing Corp. | Windshield wiper connector |
AU2017268019A1 (en) | 2016-05-19 | 2018-11-22 | Pylon Manufacturing Corp. | Windshield wiper connector |
AU2017268008A1 (en) | 2016-05-19 | 2018-11-22 | Pylon Manufacturing Corp. | Windshield wiper connector |
AU2017267978A1 (en) | 2016-05-19 | 2018-11-22 | Pylon Manufacturing Corp. | Windshield wiper connector |
WO2018081791A1 (en) | 2016-10-31 | 2018-05-03 | Pylon Manufacturing Corp. | Wiper blade with cover |
US11764940B2 (en) | 2019-01-10 | 2023-09-19 | Duality Technologies, Inc. | Secure search of secret data in a semi-trusted environment using homomorphic encryption |
WO2021259933A1 (en) * | 2020-06-22 | 2021-12-30 | Forctis Ag | System and method for controlling access to tokens |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005521323A (ja) * | 2002-03-21 | 2005-07-14 | ドコモ コミュニケーションズ ラボラトリーズ ユー・エス・エー インコーポレーティッド | 階層型の同一性に基づく暗号化および署名スキーム |
WO2008099831A1 (ja) * | 2007-02-13 | 2008-08-21 | Nec Corporation | 鍵生成装置、鍵導出装置、暗号化装置、復号化装置、方法、及び、プログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7174013B1 (en) * | 1998-10-20 | 2007-02-06 | Lucent Technologies Inc. | Efficient universal hashing method |
AU765538B2 (en) * | 1999-10-01 | 2003-09-18 | France Telecom | Set of particular keys for proving authenticity of an entity or the integrity of a message |
US20040086117A1 (en) * | 2002-06-06 | 2004-05-06 | Petersen Mette Vesterager | Methods for improving unpredictability of output of pseudo-random number generators |
-
2010
- 2010-04-23 ES ES10767171.1T patent/ES2512115T3/es active Active
- 2010-04-23 EP EP10767171.1A patent/EP2424155B1/en active Active
- 2010-04-23 KR KR1020117023782A patent/KR101351787B1/ko active IP Right Grant
- 2010-04-23 JP JP2011510383A patent/JP5256342B2/ja active Active
- 2010-04-23 CN CN201080016597.9A patent/CN102396178B/zh active Active
- 2010-04-23 WO PCT/JP2010/057279 patent/WO2010123116A1/ja active Application Filing
- 2010-04-23 US US13/258,165 patent/US8619980B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005521323A (ja) * | 2002-03-21 | 2005-07-14 | ドコモ コミュニケーションズ ラボラトリーズ ユー・エス・エー インコーポレーティッド | 階層型の同一性に基づく暗号化および署名スキーム |
WO2008099831A1 (ja) * | 2007-02-13 | 2008-08-21 | Nec Corporation | 鍵生成装置、鍵導出装置、暗号化装置、復号化装置、方法、及び、プログラム |
Non-Patent Citations (12)
Title |
---|
A. MIYAJI, M. NAKABAYASHI, S. TAKANO: "New Explicit Conditions of Elliptic Curve Traces for FR Reduction", IEICE TRANS. FUNDAMENTALS, vol. E84-A, no. 5, May 2001 (2001-05-01), pages 1234 - 1243 |
CRAIG GENTRY, ALICE SIVERBERG: "Hierarchical ID-Based Cryptography", ASIACRYPT, 2002, pages 548 - 566 |
E. SHI ET AL.: "Delegating Capabilities in Predicate Encryption Systems", CRYPTOLOGY EPRINT ARCHIVE, 24 June 2008 (2008-06-24), XP061002892, Retrieved from the Internet <URL:http://eprint.iacr.org/2008/279> [retrieved on 20100531] * |
IAN F. BLAKE, GADIEL SEROUSSI, NIGEL P. SMART: "Elliptic Curves in Cryptography", PEARSON EDUCATION |
J. KATZ ET AL.: "Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products", CRYPTOLOGY EPRINT ARCHIVE, 8 July 2008 (2008-07-08), XP008149983, Retrieved from the Internet <URL:http://eprint.iacr.org/2007/404> [retrieved on 20100526] * |
JONATHAN KATZ, AMIT SAHAI, BRENT WATERS: "Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products", JOURNAL OF CRYPTOLOGY, 2008 |
P. S. L. M. BARRETO, B. LYNN, M. SCOTT: "Proc. SCN'2002", 2003, SPRINGER-VERLAG, article "Constructing Elliptic Curves with Prescribed Embedding Degrees", pages: 257 - 267 |
R. DUPONT, A. ENGE, F. MORAIN, BUILDING CURVES WITH ARBITRARY SMALL MOV DEGREE OVER FINITE PRIME FIELDS, Retrieved from the Internet <URL:http://eprint.iacr.org/2002/094> |
See also references of EP2424155A4 |
T. OKAMOTO ET AL.: "Hierarchical Predicate Encryption for Inner-Products", LECTURE NOTES IN COMPUTER SCIENCE, vol. 5912, 1 December 2009 (2009-12-01), pages 214 - 231, XP008155970 * |
V. S. MILLER, SHORT PROGRAMS FOR FUNCTIONS ON CURVES, 1986, Retrieved from the Internet <URL:http://crypto.stanford.edu/miller/miller.pdf> |
X. BOYEN ET AL.: "Anonymous Hierarchical Identity-Based Encryption (Without Random Oracles)", CRYPTOLOGY EPRINT ARCHIVE, 8 June 2006 (2006-06-08), XP061001838, Retrieved from the Internet <URL:http://eprint.iacr.org/2006/085> [retrieved on 20100531] * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020068437A (ja) * | 2018-10-23 | 2020-04-30 | 株式会社アメニディ | アクセス管理装置、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
KR20110136841A (ko) | 2011-12-21 |
US8619980B2 (en) | 2013-12-31 |
US20120027206A1 (en) | 2012-02-02 |
EP2424155B1 (en) | 2014-09-03 |
CN102396178A (zh) | 2012-03-28 |
EP2424155A4 (en) | 2012-08-15 |
JPWO2010123116A1 (ja) | 2012-10-25 |
JP5256342B2 (ja) | 2013-08-07 |
KR101351787B1 (ko) | 2014-01-15 |
EP2424155A1 (en) | 2012-02-29 |
ES2512115T3 (es) | 2014-10-23 |
CN102396178B (zh) | 2014-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5256342B2 (ja) | 情報生成装置、方法、プログラム及びその記録媒体 | |
JP5291795B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、セキュリティ方法、プログラム及び記録媒体 | |
JP5466763B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム、及び記録媒体 | |
JP5337238B2 (ja) | 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム及び記録媒体 | |
JP5422053B2 (ja) | 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 | |
JP5379914B2 (ja) | 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体 | |
WO2010123122A1 (ja) | 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 | |
EP2503533A1 (en) | Cipher processing system, key generating device, key delegating device, encrypting device, decrypting device, cipher processing method, and cipher processing program | |
EP2523178A1 (en) | Encryption processing system, key generation device, key devolvement device, encryption device, decoding device, encryption processing method, and encryption processing program | |
Silverberg | Fully homomorphic encryption for mathematicians | |
Karbasi et al. | PairTRU: Pairwise non-commutative extension of the NTRU public key cryptosystem | |
Abo-Alsood et al. | Design of an alternative NTRU Encryption with High Secure and Efficient | |
Fouotsa et al. | SimS: a simplification of SiGamal | |
Mittal et al. | A quantum secure ID-based cryptographic encryption based on group rings | |
JP5612494B2 (ja) | 関数暗号を用いた時限暗号システム、時限暗号方法、装置、プログラム | |
LaVigne | Simple homomorphisms of cocks IBE and applications | |
Luo et al. | New fully secure hierarchical identity-based encryption with constant size ciphertexts | |
Singh | FIFE: A Framework for Investigating Functional Encryption | |
Guan et al. | Detect zero by using symmetric homomorphic encryption | |
Raulynaitis et al. | Asymmetric cipher protocol using decomposition problem | |
Xia et al. | Attribute-based hash proof system | |
King | A Simple Encryption Scheme for Binary Elliptic Curves |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201080016597.9 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10767171 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011510383 Country of ref document: JP |
|
ENP | Entry into the national phase |
Ref document number: 20117023782 Country of ref document: KR Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13258165 Country of ref document: US Ref document number: 2010767171 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |