WO2014061324A1 - 暗号システム - Google Patents
暗号システム Download PDFInfo
- Publication number
- WO2014061324A1 WO2014061324A1 PCT/JP2013/069364 JP2013069364W WO2014061324A1 WO 2014061324 A1 WO2014061324 A1 WO 2014061324A1 JP 2013069364 W JP2013069364 W JP 2013069364W WO 2014061324 A1 WO2014061324 A1 WO 2014061324A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- index
- basis vector
- vector
- value
- coefficient
- 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.)
- Ceased
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
- 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
-
- 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
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- 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/006—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
- H04L9/007—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models involving hierarchical structures
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
Definitions
- the present invention relates to a generalized inner product predicate encryption method and a functional encryption method and an attribute-based signature method having a generalized inner product predicate encryption method in a lower structure.
- Non-Patent Documents 30 and 31 describe the inner product predicate encryption method.
- Non-Patent Document 31 describes a functional encryption method.
- Non-Patent Document 32 describes an attribute-based signature scheme.
- Ciphertext-policy attribute-based encryption In: 2007 IEEE Symposiumon Security and Privacy, pp. 321-334. IEEE Press (2007) Boneh, D.D. , Boyen, X. : Efficient selective-ID secure identity basic encryption without random orgs. In: Cache, C.I. , Camenich, J.M. (Eds.) EUROCRYPT 2004. LNCS, vol. 3027, pp. 223-238. Springer Heidelberg (2004) Boneh, D.D. , Boyen, X. : Secure identity based encryption entitlement random oracles. In: Franklin, M.M. K. (Ed.) CRYPTO2004. LNCS, vol. 3152, pp. 443-459.
- An encryption system includes: An encryption system comprising an encryption device and a decryption device, The encryption device is: The attribute information x t is set as the coefficient of the base vector b p for the element c 0 in which the value ⁇ 1 is set as the coefficient of the base vector b 0, r and each index t included in the set I x ⁇ .
- the value omega ⁇ as coefficients b q includes a ciphertext generation unit that generates a ciphertext and a is set element c t
- the decoding device An element k 0 and an element k t generated using a value s t and a value s 0 in which the sum of the values s t for each index t included in the set I v ⁇ is the value s 0 , and the basis vector b 0, basis vector b * 0, r element k 0 a value -s 0 as a coefficient is set that corresponds to r, for each index t included in the set I v ⁇ , corresponding to the basis vector b p basis as the coefficient vector b * p is set predicate information v t, stores a decryption key with said basis vector b values as the coefficients of the basis vector b * q corresponding to q s t is set elements k t for A decryption key storage unit, The decrypt
- the cryptographic system according to the present invention performs the pairing operation only for the index t included in the set I v ⁇ , and the attribute vector x ⁇ and the predicate vector v ⁇ need not have the same dimension. Therefore, the encryption system according to the present invention can realize an inner product predicate encryption method with a high degree of freedom.
- FIG. 1 is a configuration diagram of a cryptographic processing system 10 according to a first embodiment.
- FIG. 3 is a functional block diagram showing functions of the key generation device 100 according to the first embodiment.
- FIG. 3 is a functional block diagram showing functions of the encryption device 200 according to the first embodiment.
- FIG. 3 is a functional block diagram showing functions of the decoding device 300 according to the first embodiment.
- 5 is a flowchart showing processing of a Setup algorithm according to the first embodiment.
- 5 is a flowchart showing processing of a KeyGen algorithm according to the first embodiment.
- 5 is a flowchart showing processing of an Enc algorithm according to the first embodiment.
- 4 is a flowchart showing processing of a Dec algorithm according to the first embodiment.
- 9 is a flowchart showing processing of a KeyGen algorithm according to the second embodiment.
- 9 is a flowchart showing processing of an Enc algorithm according to the second embodiment.
- 9 is a flowchart showing processing of a Dec algorithm according to the second embodiment.
- 10 is a flowchart showing a setup algorithm process according to the third embodiment.
- 9 is a flowchart showing processing of a KeyGen algorithm according to the third embodiment.
- 10 is a flowchart showing processing of an Enc algorithm according to the third embodiment.
- 10 is a flowchart showing processing of a Dec algorithm according to the third embodiment.
- the figure which shows an example of the hardware constitutions of the key generation apparatus 100, the encryption apparatus 200, and the decoding apparatus 300.
- the processing device is a CPU 911 or the like which will be described later.
- the storage device is a ROM 913, a RAM 914, a magnetic disk 920, etc., which will be described later.
- the communication device is a communication board 915 or the like which will be described later.
- the input device is a keyboard 902, a communication board 915, and the like which will be described later.
- the output device is a RAM 914, a magnetic disk 920, a communication board 915, an LCD 901, etc., which will be described later. That is, the processing device, the storage device, the communication device, the input device, and the output device are hardware.
- Equation 101 represents selecting y from A randomly according to the distribution of A. That is, in Equation 101, y is a random number.
- Equation 102 represents selecting y from A uniformly. That is, in Equation 102, y is a uniform random number.
- the number 103 represents that y is a set defined by z, or y is a set to which z is substituted.
- a is a constant, the number 104 represents that the machine (algorithm) A outputs a for the input x.
- the number 105 that is, F q indicates a finite field of order q.
- Equation 106 The vector notation represents a vector representation in the finite field Fq . That is, Equation 106. Equation 107 represents the inner product shown in Equation 109 between the two vectors x ⁇ and v ⁇ shown in Equation 108. X T represents the transpose of the matrix X. For the basis B and the basis B * shown in Equation 110, Equation 111 is obtained.
- the processing of cryptographic primitives includes not only a narrowly-defined cryptographic process for concealing information from a third party but also a signature process, and includes a key generation process, an encryption process, and a decryption process. Including signature processing and verification processing.
- Embodiment 1 FIG.
- the dimensions of the attribute vector x ⁇ and the predicate vector v ⁇ will be described.
- the addition of attribute categories will be described.
- DPVS Dual Pairing Vector Spaces
- the inner product predicate encryption method (Type 1) according to the first embodiment will be described.
- gene data has a huge amount of information, many applications have a feature that only a part of gene data is used. For example, when testing whether Alice's gene data has a certain characteristic, among several (for example, 100) gene properties, for several (for example, three) target gene properties, It is determined whether the genetic data of Alice satisfies the conditions. It is not necessary to determine whether or not the remaining (97) gene properties satisfy the condition.
- X 1 ,. . . , X 100 are 100 gene properties
- x 1 ,. . . , X 100 is the value of 100 gene properties for Alice.
- f (x 1 ,..., X 100 ) 0 for a cubic (multivariable) check polynomial f, or the corresponding predicate ⁇ f (x 1 ,.
- This attribute vector x ⁇ has about 10 6 dimensions.
- the predicate vector v ⁇ must have about 10 6 dimensions even though the effective dimension is actually 5 dimensions, because the dimensions of the attribute vector x ⁇ and the predicate vector v ⁇ are the same. This is because there is a restriction that it exists. If this restriction is removed, it becomes possible to construct the predicate vector v ⁇ only with effective dimensions (here, five dimensions).
- effective dimensions here, five dimensions.
- the predicate vector v ⁇ is composed only of valid dimensions, but similarly, the attribute vector x ⁇ can be composed of only valid dimensions.
- the attribute category is, for example, a classification of each user's attribute such as a belonging organization, a belonging department, a post, an age, and a gender.
- the inner product predicate encryption method described in the following embodiments realizes access control based on user attributes. For example, if the encryption process is strictly defined to conceal information from a third party, whether or not the ciphertext can be decrypted is controlled based on the user attribute.
- an attribute category used for access control is determined in advance at the time of system design. However, the system operation may be changed later, and an attribute category used for access control may need to be added. For example, assume that an encryption system is constructed assuming that it is used only within Company A. In this case, the attribute category to be used is assumed to be a department, job title, personal ID, or the like. However, it is assumed that the operation is changed so that not only the company A but also the affiliated company of the company A uses the encryption system. In this case, it is necessary to add a new company as an attribute category to be used.
- the public parameter must be reissued and distributed to the user to add the attribute category later. For this reason, it is not easy to add an attribute category later, and it is not possible to flexibly adopt an operation mode that was not assumed at the time of system design. Therefore, it is important to be able to add attribute categories without reissuing public parameters.
- indexing techniques are applied to dual system ciphers in dual pairing vector space.
- a base B and a base B * which are dual bases are randomly generated.
- a part of the base B (base B ⁇ ) is set as a public parameter.
- the basis B ⁇ 1 ,. . . , Base B ⁇ d is generated as a public parameter.
- t 1,. . . ,
- the base B ⁇ t for each integer t of d, is assigned one attribute categories. That is, d attribute categories can be handled.
- the basis B ⁇ 1 ,. . . As is clear from the fact that the base B ⁇ d is a public parameter, the public parameter must be reissued when the base B ⁇ is added later, that is, when the value of d is increased. That is, the value of d is limited by the public parameter.
- the base B ⁇ is generated as a public parameter.
- t 1,. . . , D
- a two-dimensional index vector of ⁇ t (1, t) and ⁇ i (t, ⁇ 1) is set in the ciphertext c and the secret key k *, and for each integer t
- One attribute category is assigned. That is, d attribute categories can be handled.
- the public parameter includes the base B ⁇ but does not include the index vector. Therefore, when an index vector is added later to increase the value of d, it is not necessary to reissue public parameters. That is, the value of d is not limited by public parameters.
- Dual Pairing Vector Space The inner product predicate cryptosystem described below is implemented in a dual pairing vector space.
- Symmetric bilinear pairing groups (q, G, G T, g, e) is a prime number q, and the cyclic additive group G of order q, and a cyclic multiplicative group G T of order q, g ⁇ 0 ⁇ G
- nondegenerate bilinear pairing that can be calculated in polynomial time (nondegenerate bilinear pairing) e: a set of a G ⁇ G ⁇ G T.
- a i is as shown in Equation 113.
- Equation 115 The linear transformation ⁇ i, j in the space V shown in Equation 115 can perform Equation 116.
- the linear transformation ⁇ i, j is called a distortion map.
- a dual pairing vector space is configured by the above-described symmetric bilinear pairing group.
- a dual pairing vector space can also be configured by an asymmetric bilinear pairing group. It is easy to apply the following description to a case where a dual pairing vector space is configured by an asymmetric bilinear pairing group.
- the inner product predicate encryption system includes four stochastic polynomial time algorithms: Setup, KeyGen, Enc, and Dec.
- Setup In the setup algorithm, the security parameter 1 ⁇ is input, and the master public key pk and the master secret key sk are output.
- KeyGen In the KeyGen algorithm, the master public key pk, the master secret key sk, and the predicate vector v ⁇ are input, and the secret key sk v is output.
- Enc In the Enc algorithm, the master public key pk, the attribute vector x ⁇ , and the message m are input, and the ciphertext ct x is output.
- the master public key pk, the secret key sk v, and the ciphertext ct x are input, and the message m or the identification information ⁇ is output.
- the identification information ⁇ is information indicating that decoding has failed.
- FIG. 1 is a configuration diagram of a cryptographic processing system 10 according to the first embodiment.
- the cryptographic processing system 10 includes a key generation device 100, an encryption device 200 (transmission device), and a decryption device 300 (reception device).
- the key generation device 100 executes the Setup algorithm with the security parameter ⁇ as an input, and generates a master public key pk and a master secret key sk. Then, the key generation device 100 discloses the generated master public key pk.
- the key generation device 100 executes the KeyGen algorithm with the master public key pk, the master secret key sk, and the predicate vector v ⁇ as inputs, generates the secret key sk v , and distributes it to the decryption device 300 in a secret manner.
- the encryption device 200 receives the master public key pk, the attribute vector x ⁇ , and the message m and executes the Enc algorithm to generate a ciphertext ct x .
- the encryption device 200 transmits the generated ciphertext ct x to the decryption device 300.
- the decryption apparatus 300 receives the master public key pk, the secret key sk v, and the ciphertext ct x , executes the Dec algorithm, and outputs the message m or the identification information ⁇ .
- FIG. 2 is a functional block diagram illustrating functions of the key generation device 100 according to the first embodiment.
- FIG. 3 is a functional block diagram illustrating functions of the encryption device 200 according to the first embodiment.
- FIG. 4 is a functional block diagram showing functions of the decoding device 300 according to the first embodiment.
- 5 and 6 are flowcharts showing the operation of the key generation apparatus 100 according to the first embodiment.
- 5 is a flowchart showing the process of the Setup algorithm according to the first embodiment
- FIG. 6 is a flowchart showing the process of the KeyGen algorithm according to the first embodiment.
- FIG. 7 is a flowchart showing the operation of the encryption apparatus 200 according to Embodiment 1, and is a flowchart showing the processing of the Enc algorithm according to Embodiment 1.
- FIG. 8 is a flowchart showing the operation of the decoding apparatus 300 according to Embodiment 1, and is a flowchart showing the processing of the Dec algorithm according to Embodiment 1.
- the key generation device 100 includes a master key generation unit 110, a master key storage unit 120, an information input unit 130, a decryption key generation unit 140, and a key distribution unit 150.
- the master key generation unit 110 calculates the expression 117 by the processing device, the parameter param, the base B 0 and the base B * 0 , the base B 1 (base B), and the base B * 1 (base B * ). Is generated.
- the master key generation unit 110 executes the following process.
- the master key generation unit 110 inputs the security parameter ⁇ (1 ⁇ ) using an input device.
- U 0 , w 0 , z 0 , u, w, and z are integers of 0 or more, respectively.
- GL is an abbreviation for General Linear. That is, GL is a general linear group, a set of square matrices whose determinants are not 0, and a group for multiplication.
- x ⁇ t, i indicates the i-th row of the linear transformation Xt .
- v ⁇ t, i indicates the i-th row of the linear transformation X * t .
- the master key generation unit 110 executes the algorithm G ob shown in Formula 118, and the param, the base B 0 and the base B * 0 , the base B 1 (base B), and the base B * 1 ( Basis B * ).
- the base B 1 and the base B * 1 are referred to as a base B and a base B * .
- the master key generation unit 110 (S102: Public parameter generation step)
- the master key generation unit 110 combines the generated partial base B ⁇ 0 and the partial base B ⁇ , the security parameter ⁇ (1 ⁇ ) input in S101, and the param generated in S101 into the public parameter pk. .
- the master key generation unit 110 (S103: Master key generation step)
- the master key generation unit 110 sets the generated partial base B ⁇ * 0 and partial base B ⁇ * as the master key sk.
- the master key storage unit 120 stores the public parameter pk generated in S102 in the storage device. Further, the master key storage unit 120 stores the master key sk generated in S103 in the storage device.
- the key generation device 100 executes the Setup algorithm shown in Formula 121 to generate the public parameter pk and the master key sk.
- the key generation device 100 stores the generated public parameter pk and master key sk in the storage device.
- the public parameter is made public via a network, for example, so that the encryption device 200 and the decryption device 300 can obtain it.
- the predicate information v t for example, attribute information of the user of the decryption key sk v is set.
- the decryption key generation unit 140 generates secret information s t and s 0 as shown in Expression 122 by the processing device.
- Decryption key generation unit 140 generates a random number as shown in Formula 123 by the processing device.
- Equation 124 sets ⁇ s 0 as the coefficient of the basis vector b * 0,1 of the basis B * 0 , and the basis vectors b * 0,1 + 1,. . . , B * 0, 1 + u0 is set to 0, the basis vector b * 0, 1 + u0 + 1 is set to 1, and the basis vectors b * 0, 1 + u0 + 1 + 1,. . .
- B * 0, 1 + u0 + 1 + w0 as the coefficients ⁇ 0,1 ,. . . , ⁇ 0, w0 and basis vectors b * 0, 1 + u0 + 1 + w0 + 1,. . . , B * 0, 1 + u0 + 1 + w0 + z0 means that 0 is set.
- u0, w0, z0 is that of u 0, w 0, z 0, respectively.
- the decryption key generation unit 140 generates the element k * t of the decryption key sk v as represented by Formula 125 for the index t included in the set I v ⁇ by the processing device.
- the expression 125 sets ⁇ t t as the coefficient of the basis vector b * 1 of the basis B * , sets ⁇ t as the coefficient of the basis vector b * 2 , and sets the basis vector b *. as a factor of three sets the .delta.v t, set the s t as coefficients of basis vectors b * 4, the basis vector b * 4 + 1,. . . , B * 4 + u is set to 0, and the basis vectors b * 4 + u + 1,. . . , B * 4 + u + w as the coefficients ⁇ t, 1 ,. . . , ⁇ t, w and set basis vectors b * 4 + u + w + 1,. . . , B * 4 + u + w + z means that 0 is set.
- the key distribution unit 150 distributes the decryption key sk v having the elements k * 0 and k * t generated in S204 to the decryption apparatus 300 in a secret manner via a network, for example.
- the decryption key sk v may be distributed to the decryption device 300 by other methods.
- the key generation device 100 executes the KeyGen algorithm expressed by Equation 126 to generate the decryption key sk v .
- the key generation apparatus 100 distributes the generated decryption key sk v to the decryption apparatus 300.
- the encryption device 200 includes a public parameter acquisition unit 210, an information input unit 220, a ciphertext generation unit 230, and a data transmission unit 240.
- the processing of the Enc algorithm will be described based on FIG. (S301: Public parameter acquisition step)
- the public parameter acquisition unit 210 acquires, for example, the public parameter pk generated by the key generation device 100 via the network by the communication device.
- the ciphertext generation unit 230 generates a random number as shown in Formula 127 by the processing device.
- the ciphertext generation unit 230 generates the element c 0 of the ciphertext ct x as shown in Formula 128 by the processing device. Furthermore, the ciphertext generator 230, the processing unit, the index t in set I x ⁇ , it generates an element c t of ciphertext ct x as shown in Formula 129. The encryption element generator 232, the processing device, generates an element c T of ciphertext ct x as shown in Formula 130.
- the data transmission unit 240 transmits the ciphertext ct x having the elements c 0 , c t , and c T generated in S304 to the decryption device 300 via the network, for example.
- the ciphertext ct x may be transmitted to the decryption apparatus 300 by other methods.
- the encryption apparatus 200 executes the Enc algorithm shown in Equation 131 to generate a ciphertext ct x .
- the encryption device 200 transmits the generated ciphertext ct x to the decryption device 300.
- the decryption device 300 includes a decryption key acquisition unit 310, a decryption key storage unit 320, a ciphertext acquisition unit 330, a pairing calculation unit 340, and a message calculation unit 350.
- the pairing calculation unit 340 and the message calculation unit 350 are collectively referred to as a decoding unit.
- the decryption key acquisition unit 310 acquires, for example, the decryption key sk v distributed from the key generation apparatus 100 via the network by the communication apparatus. Further, the decryption key acquisition unit 310 acquires the public parameter pk generated by the key generation device 100. The decryption key acquisition unit 310 stores the acquired decryption key sk v and the public parameter pk in the decryption key storage unit 320.
- the ciphertext acquisition unit 330 receives the ciphertext ct x transmitted by the encryption device 200 via the network by the communication device.
- the set I v ⁇ is a subset of the set I x ⁇ If the sum of v t x t is 0 for the index t included in the set I v ⁇ , the ciphertext ct x can be decrypted with the decryption key sk v .
- ⁇ t t and ⁇ are used as the coefficients of the basis vectors b * 1 and b * 2 (basis vectors b * index ) for the element k * t of the decryption key sk v. and ⁇ t was set, respectively.
- the cryptographic system 10 the elements c t of the ciphertext ct x, as the coefficients of the basis vectors b 1, b 2 (basis vector b index), and sets the sigma t and sigma t t respectively.
- the base used in each attribute category can be a common base (base B and base B * ).
- base B and base B * need be included in the public parameter, and it is not necessary to reissue the public parameter when an attribute category is added later.
- the inner product may be 0. Therefore, in the above description, the two-dimensional and basis vectors b * 1, b * 2 and basis vectors b 1, b 2 as an index portion, but not limited thereto, and may be an index portion of the above three-dimensional. Further, the assignment of values to the index part is not limited to the above description, and other assignments may be used.
- the base used in each attribute category is a common base (base B and base B * ).
- base B and base B * base B *
- G ob algorithm inner product predicate encryption scheme described above, Setup algorithm, KeyGen algorithm, Enc algorithm, so several 136 numbers 139.
- the Dec algorithm is as shown in Equation 135 and is not changed. That is, different bases B t and B * t are used for each index t.
- u 0 , w 0 , z 0 , u, w, and z are each an integer of 0 or more.
- Embodiment 2 if the set I v ⁇ is a subset of the set I x ⁇ and the sum of v t x t is 0 for the index t included in the set I v ⁇ , the ciphertext ct x The inner product predicate encryption method (Type 1) that can be decrypted with the decryption key sk v has been described.
- Embodiment 2 if the set I x ⁇ is a subset of the set I v ⁇ and the sum of v t x t is 0 for the index t included in the set I x ⁇ , the ciphertext ct x
- the inner product predicate encryption method (Type 2) that can be decrypted with the decryption key sk v will be described. In the second embodiment, the description will focus on the parts different from the first embodiment.
- the configuration of the cryptographic processing system 10 according to the second embodiment is the same as the configuration of the cryptographic processing system 10 according to the first embodiment shown in FIG.
- the configuration of the key generation device 100, the encryption device 200, and the decryption device 300 according to the second embodiment is the same as that of the key generation device 100, the encryption device 200, and the decryption device according to the first embodiment shown in FIGS.
- the configuration is the same as 300.
- FIG. 9 is a flowchart showing the processing of the KeyGen algorithm according to the second embodiment.
- FIG. 10 is a flowchart showing processing of the Enc algorithm according to the second embodiment.
- FIG. 11 is a flowchart showing processing of the Dec algorithm according to the second embodiment.
- the Setup algorithm according to the second embodiment is the same as the Setup algorithm according to the first embodiment.
- the KeyGen algorithm will be described with reference to FIG.
- the process of S501 is the same as the process of S201 shown in FIG.
- Decryption key generation unit 140 generates a random number as shown in Formula 140 by the processing device.
- the decryption key generation unit 140 generates the element k * 0 of the decryption key sk v as shown in Formula 141 by the processing device. In addition, the decryption key generation unit 140 generates the element k * t of the decryption key sk v for the index t included in the set I v ⁇ by the processing device as shown in Formula 142.
- the key distribution unit 150 distributes the decryption key sk v having the elements k * 0 and k * t generated in S503 to the decryption apparatus 300 in a secret manner via a network, for example.
- the decryption key sk v may be distributed to the decryption device 300 by other methods.
- the key generation device 100 executes the KeyGen algorithm expressed by Equation 143 to generate the decryption key sk v .
- the key generation apparatus 100 distributes the generated decryption key sk v to the decryption apparatus 300.
- the processing of the Enc algorithm will be described based on FIG.
- the processing from S601 to S602 is the same as the processing from S301 to S302 shown in FIG.
- the ciphertext generation unit 230 generates secret information f t and f 0 as shown in Formula 144 by the processing device.
- the ciphertext generation unit 230 generates a random number as shown in Formula 145 by the processing device.
- the ciphertext generation unit 230 generates the element c 0 of the ciphertext ct x as shown in Expression 146 by the processing device. Furthermore, the ciphertext generator 230, the processing unit, the index t in set I x ⁇ , it generates an element c t of ciphertext ct x as shown in Formula 147. The encryption element generator 232, the processing device, generates an element c T of ciphertext ct x as shown in Formula 148.
- the data transmission unit 240 transmits the ciphertext ct x having the elements c 0 , c t , and c T generated in S605 to the decryption device 300 via the network, for example.
- the ciphertext ct x may be transmitted to the decryption apparatus 300 by other methods.
- the encryption apparatus 200 executes the Enc algorithm expressed by Equation 149 to generate a ciphertext ct x .
- the encryption device 200 transmits the generated ciphertext ct x to the decryption device 300.
- the processing from S701 to S702 is the same as the processing from S401 to S402 shown in FIG. Further, the process of S704 is the same as the process of S404 shown in FIG.
- the set I x ⁇ is a subset of the set I v ⁇ If the sum of v t x t is 0 for the index t included in the set I x ⁇ , the ciphertext ct x can be decrypted with the decryption key sk v .
- the base used in each attribute category is a common base (base B and base B * ).
- base B and base B * base B *
- the above-described KeyGen algorithm and Enc algorithm of the inner product predicate encryption method are as shown in Expression 154 to Expression 155.
- the Gob algorithm is the same as Equation 136
- the Setup algorithm is the same as Equation 137
- the Dec algorithm is as Equation 153, and there is no change. That is, different bases B t and B * t are used for each index t.
- Embodiment 3 FIG.
- the set I v ⁇ is a subset of the set I x ⁇ and the sum of v t x t is 0 for the index t included in the set I v ⁇
- the ciphertext ct x The inner product predicate encryption method (Type 1) that can be decrypted with the decryption key sk v has been described.
- Embodiment 2 if the set I x ⁇ is a subset of the set I v ⁇ and the sum of v t x t is 0 for the index t included in the set I x ⁇ , the ciphertext ct x
- the inner product predicate encryption method (Type 2) that can be decrypted with the decryption key sk v has been described.
- the set I v ⁇ is equal to the set I x ⁇ and the sum of v t x t is 0 for the index t included in the set I v ⁇ (or the set I x ⁇ ).
- the inner product predicate encryption method (Type 0) that can decrypt the ciphertext ct x with the decryption key sk v will be described.
- the set I v ⁇ is equal to the set I x ⁇ means that the set I v ⁇ is a subset of the set I x ⁇ and the set I x ⁇ is a subset of the set I v ⁇ . To do.
- the inner product predicate encryption method (Type 0) can be said to be a method combining the inner product predicate encryption method (Type 1) described in the first embodiment and the inner product predicate encryption method (Type 2) described in the second embodiment. .
- the description will focus on the parts different from the first and second embodiments.
- the configuration of the cryptographic processing system 10 according to the third embodiment is the same as the configuration of the cryptographic processing system 10 according to the first embodiment shown in FIG.
- the configuration of the key generation device 100, the encryption device 200, and the decryption device 300 according to the third embodiment is the same as that of the key generation device 100, the encryption device 200, and the decryption device according to the first embodiment shown in FIGS.
- the configuration is the same as 300.
- FIG. 12 is a flowchart showing the process of the Setup algorithm according to the third embodiment.
- FIG. 13 is a flowchart showing the processing of the KeyGen algorithm according to the third embodiment.
- FIG. 14 is a flowchart showing processing of the Enc algorithm according to the third embodiment.
- FIG. 15 is a flowchart showing processing of the Dec algorithm according to the third embodiment.
- the Setup algorithm will be described based on FIG.
- the master key generation unit 110 executes the algorithm G ob shown in Formula 156, and param, a base B 0 and basal B * 0, the base B 1 (basal B) and basal B * 1 ( Basis B * ).
- the master key generation unit 110 (S802: Public parameter generation step)
- the master key generation unit 110 combines the generated partial base B ⁇ 0 and the partial base B ⁇ , the security parameter ⁇ (1 ⁇ ) input in S801, and the param generated in S801 into the public parameter pk. .
- the master key generation unit 110 sets the generated partial base B ⁇ * 0 and partial base B ⁇ * as the master key sk.
- the process of S804 is the same as the process of S104 shown in FIG.
- the key generation device 100 executes the Setup algorithm shown in Equation 159 to generate the public parameter pk and the master key sk.
- the key generation device 100 stores the generated public parameter pk and master key sk in the storage device.
- the public parameter is made public via a network, for example, so that the encryption device 200 and the decryption device 300 can obtain it.
- the KeyGen algorithm will be described with reference to FIG. (S901: Information input step)
- the predicate information v t for example, attribute information of the user of the decryption key sk v is set.
- the decryption key generation unit 140 generates secret information s t and s 0 by the processing device as shown in Formula 160.
- Decryption key generation unit 140 generates a random number as shown in Formula 161 by the processing device.
- the key distribution unit 150 distributes the decryption key sk v having k * 0 and k * t generated in S904 as elements to the decryption device 300 in a secret manner via a network, for example.
- the decryption key sk v may be distributed to the decryption device 300 by other methods.
- the key generation device 100 executes the KeyGen algorithm expressed by Equation 164 to generate the decryption key sk v .
- the key generation apparatus 100 distributes the generated decryption key sk v to the decryption apparatus 300.
- the ciphertext generation unit 230 generates secret information f t and f 0 as shown in Expression 165 by the processing device.
- the ciphertext generation unit 230 generates a random number as shown in Formula 166 by the processing device.
- the encryption element generator 232 the processing device, generates an element c T of ciphertext ct x as shown in Formula 169.
- the data transmission unit 240 transmits the cipher text ct x having the elements c 0 , c t , and c T generated in S1005 to the decryption apparatus 300 via the network, for example.
- the ciphertext ct x may be transmitted to the decryption apparatus 300 by other methods.
- the encryption apparatus 200 executes the Enc algorithm expressed by Equation 170 to generate a ciphertext ct x .
- the encryption device 200 transmits the generated ciphertext ct x to the decryption device 300.
- the process of S1104 is the same as the process of S404 shown in FIG.
- the set I x ⁇ is the set I v ⁇ equally, and the index t in set I v ⁇ (set I x ⁇ ), v t If the sum of x t is 0, the ciphertext ct x can be decrypted with the decryption key sk v .
- the base used in each attribute category is a common base (base B and base B * ).
- base B and base B * base B *
- G ob algorithm inner product predicate encryption scheme described above Setup algorithm, KeyGen algorithm, Enc algorithm, so several 175 numbers 178.
- the Dec algorithm is as shown in Equation 174, and there is no change. That is, different bases B t and B * t are used for each index t.
- u 0 , w 0 , z 0 , u, w, and z are each an integer of 0 or more.
- Embodiment 4 A functional encryption scheme and attribute-based signature scheme having the inner product predicate encryption scheme described in the above embodiment as a substructure will be described.
- Non-Patent Document 31 describes a functional encryption method.
- an inner product of an attribute vector x ⁇ and a predicate vector v ⁇ is calculated for each index t.
- the inner product of the attribute vector x ⁇ and the predicate vector v ⁇ is 0, and the ciphertext can be decrypted with the decryption key.
- the inner product predicate encryption method described in the above embodiment is applied to the calculation of the inner product of the attribute vector x ⁇ and the predicate vector v ⁇ at each index t.
- a functional encryption scheme having the inner product predicate encryption scheme described in the above embodiment as a substructure is configured.
- KP-FE method Key-Policy functional encryption method
- a description will be made centering on a portion where a change has occurred by applying the inner product predicate encryption scheme described in the first embodiment.
- decryption is performed when the inner product of the attribute vector x ⁇ and the predicate vector v ⁇ becomes 0 for each index t using the variable ⁇ (i).
- the base used in each attribute category is a common base (base B and base B * ).
- base B and base B * a base used in each attribute category is a different base.
- the non-patent document 31 and the first embodiment have overlapping characters in the index t and the secret information s. Therefore, here, the index t in the non-patent document 31 is the index ⁇ , and the secret information s in the non-patent document 31 is the secret information ⁇ .
- the KP-FE system has four algorithms: Setup algorithm, KeyGen algorithm, Enc algorithm, and Dec algorithm.
- the Setup algorithm will be described.
- the master key generation unit 110 generates a base B ⁇ , t and a base B * ⁇ , t for each index ⁇ , t by the processing device. That is, the master key generation unit 110 does not generate the base B t and the base B * t for each index t, but generates the base B ⁇ , t and the base B * ⁇ , t for each index ⁇ , t. That is, the Setup algorithm is as shown in Formula 179.
- the algorithm Gob used in the Setup algorithm is as shown in Formula 180.
- the ciphertext generation unit 230 generates the element c ⁇ , t of the ciphertext ct x as shown in Expression 185 for one or more indexes ⁇ and the index t included in the set I xi ⁇ .
- the Enc algorithm is as shown in Equation 186.
- Dec algorithm is as shown in Formula 188.
- G ob algorithm inner product predicate encryption scheme described above, Setup algorithm, KeyGen algorithm, Enc algorithm, so several 189 numbers 192.
- Dec algorithm is as shown in Formula 188, and there is no change.
- the inner product predicate encryption method described in the first embodiment is applied to the KP-FE method described in Non-Patent Document 31 .
- the Ciphertext-Policy functional encryption method (CP-FE method) and the Unified-Policy functional encryption method (UP-FE method) described in Non-Patent Document 31 are described in Embodiment 1 by the same method. It is also possible to apply the inner product predicate encryption method.
- the inner product predicate encryption method described in the second and third embodiments can also be applied to each functional encryption method described in Non-Patent Document 31.
- the inner product predicate cryptosystem described in the above embodiment can be applied not only to the functional cryptosystem described in Non-Patent Document 31, but also to other functional cryptosystems.
- the inner product predicate encryption method described in the above embodiment can be applied to the attribute-based signature method described in Non-Patent Document 32 or other documents.
- the inner product predicate encryption method described in the above embodiment may be applied to the calculation of the inner product of the attribute vector x ⁇ and the predicate vector v ⁇ at each index t.
- Embodiment 5 FIG.
- the method for realizing the processing of cryptographic primitives in the dual vector space has been described.
- a method for realizing cryptographic primitive processing in a dual module will be described.
- the cryptographic primitive processing is realized in the cyclic group of prime order q.
- the ring R is expressed as shown in Formula 193 using the composite number M, the processing of the cryptographic primitive described in the above embodiment can be applied to a module having the ring R as a coefficient.
- FIG. 16 is a diagram illustrating an example of a hardware configuration of the key generation device 100, the encryption device 200, and the decryption device 300.
- the key generation device 100, the encryption device 200, and the decryption device 300 include a CPU 911 (Central Processing Unit, central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, A processor).
- CPU 911 Central Processing Unit, central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, A processor
- the CPU 911 is connected to the ROM 913, the RAM 914, the LCD 901 (Liquid Crystal Display), the keyboard 902 (K / B), the communication board 915, and the magnetic disk device 920 via the bus 912, and controls these hardware devices.
- the magnetic disk device 920 (fixed disk device)
- a storage device such as an optical disk device or a memory card read / write device may be used.
- the magnetic disk device 920 is connected via a predetermined fixed disk interface.
- the ROM 913 and the magnetic disk device 920 are examples of a nonvolatile memory.
- the RAM 914 is an example of a volatile memory.
- the ROM 913, the RAM 914, and the magnetic disk device 920 are examples of a storage device (memory).
- the keyboard 902 and the communication board 915 are examples of input devices.
- the communication board 915 is an example of a communication device.
- the LCD 901 is an example of a display device.
- an operating system 921 OS
- a window system 922 a program group 923
- a file group 924 are stored in the magnetic disk device 920 or the ROM 913.
- the programs in the program group 923 are executed by the CPU 911, the operating system 921, and the window system 922.
- the program group 923 includes the master key generation unit 110, the master key storage unit 120, the information input unit 130, the decryption key generation unit 140, the key distribution unit 150, the public parameter acquisition unit 210, the information input unit 220, the encryption in the above description.
- the program is read and executed by the CPU 911.
- the file group 924 includes information, data, signal values, and variable values such as the public parameter pk, the master secret key sk, the decryption key sk v , the ciphertext ct x , the predicate vector v, the attribute vector x, and the message m in the above description. And parameters are stored as items of files and databases. Files and databases are stored in a recording medium such as a disk or memory. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated.
- Used for the operation of the CPU 911 such as calculation / processing / output / printing / display.
- Information, data, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory during the operation of the CPU 911 for extraction, search, reference, comparison, calculation, calculation, processing, output, printing, and display. Is remembered.
- the arrows in the flowchart mainly indicate input / output of data and signals, and the data and signal values are recorded in a memory of the RAM 914, other recording media such as an optical disk, and an IC chip.
- Data and signals are transmitted online by a bus 912, signal lines, cables, other transmission media, and radio waves.
- what is described as “to part” in the above description may be “to circuit”, “to device”, “to device”, “to means”, and “to function”. It may be “step”, “ ⁇ procedure”, “ ⁇ processing”.
- ⁇ device may be “ ⁇ circuit”, “ ⁇ equipment”, “ ⁇ means”, “ ⁇ function”, and “ ⁇ step”, “ ⁇ procedure”, “ May be “processing”.
- to process may be “to step”. That is, what is described as “ ⁇ unit” may be realized by firmware stored in the ROM 913. Alternatively, it may be implemented only by software, or only by hardware such as elements, devices, substrates, and wirings, by a combination of software and hardware, or by a combination of firmware.
- Firmware and software are stored in a recording medium such as ROM 913 as a program. The program is read by the CPU 911 and executed by the CPU 911. That is, the program causes a computer or the like to function as the “ ⁇ unit” described above. Alternatively, the procedure or method of “unit” described above is executed by a computer or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
非特許文献31には、関数型暗号方式についての記載がある。
非特許文献32には、属性ベース署名方式についての記載がある。
この発明は、より自由度の高い内積述語暗号方式を実現することを目的とする。
暗号化装置と復号装置とを備える暗号システムであり、
前記暗号化装置は、
基底ベクトルb0,rの係数として値ω~が設定された要素c0と、集合Ix→に含まれる各インデックスtについて、基底ベクトルbpの係数として属性情報xtが設定され、基底ベクトルbqの係数として前記値ω~が設定された要素ctとを有する暗号文を生成する暗号文生成部
を備え、
前記復号装置は、
集合Iv→に含まれる各インデックスtについての値stの合計が値s0である値st及び値s0を用いて生成された要素k0と要素ktとであって、前記基底ベクトルb0,rに対応する基底ベクトルb* 0,rの係数として値-s0が設定された要素k0と、集合Iv→に含まれる各インデックスtについて、前記基底ベクトルbpに対応する基底ベ
クトルb* pの係数として述語情報vtが設定され、前記基底ベクトルbqに対応する基底ベクトルb* qの係数として値stが設定された要素ktとを有する復号鍵を記憶する復号鍵記憶部と、
前記暗号文生成部が生成した暗号文を、前記復号鍵記憶部が記憶した復号鍵により復号する復号部であって、前記要素c0及び前記要素k0と、前記集合Iv→に含まれる各インデックスtについての要素ct及び要素ktとに対して、対応する基底ベクトル毎のペアリング演算の積を計算して、前記暗号文を復号する復号部と
を備えることを特徴とする。
以下の説明において、処理装置は後述するCPU911等である。記憶装置は後述するROM913、RAM914、磁気ディスク920等である。通信装置は後述する通信ボード915等である。入力装置は後述するキーボード902、通信ボード915等である。出力装置は後述するRAM914、磁気ディスク920、通信ボード915、LCD901等である。つまり、処理装置、記憶装置、通信装置、入力装置、出力装置はハードウェアである。
Aがランダムな変数または分布であるとき、数101は、Aの分布に従いAからyをランダムに選択することを表す。つまり、数101において、yは乱数である。
数110に示す基底Bと基底B*とに対して、数111である。
また、ベクトルを意味する“→”が下付き文字又は上付き文字に付されている場合、この“→”は下付き文字又は上付き文字に上付きで付されていることを意味する。
実施の形態1では、内積述語暗号方式の基礎となる概念を説明した上で、1つの内積述語暗号方式について説明する。
第1に、属性ベクトルx→及び述語ベクトルv→の次元について説明する。
第2に、属性カテゴリの追加について説明する。
第3に、内積述語暗号方式を実現するための空間である「双対ペアリングベクトル空間(Dual Pairing Vector Spaces(DPVS))」という豊かな数学的構造を有する空間を説明する。
第4に、実施の形態1に係る内積述語暗号方式(Type1)について説明する。
非特許文献30,31に記載された内積述語暗号方式では、属性ベクトルx→及び述語ベクトルv→の次元が同じであるという制約があった。この制約は、内積x→・v→の関係に対しては不可避であると考えられていた。しかし、様々なアプリケーションにおいて効率を改善するためには、この制約を緩和する必要がある。
例えば、アリスの遺伝子データがある特性を有しているか否かを検査する場合、多数(例えば、100個)の遺伝子プロパティのうち、対象とする数個(例えば、3個)の遺伝子プロパティについて、アリスの遺伝子データが条件を満たしているか否かを判定する。残り(97個)の遺伝子プロパティについては、条件を満たしているか否か判定する必要はない。
検査に使用される検査式(述語)は、((X5=a)∨(X16=b))∧(X57=c)であり、3つの遺伝子プロパティX5,X16,X57にのみ注目したものであるとする。これは、r1(X5-a)(X16-b)+r2(X57-c)=0(ここで、r1、r2は一様乱数)という多項式によって表される。なお、この多項式は、(r1ab-r2c)-r1bX5-r1aX16+r2X57+r1X5X16=0に変換できる。x→・v→=0の場合に限り、r1(X5-a)(X16-b)+r2(X57-c)=0とするため、この多項式は、述語ベクトルv→は、((r1ab-r2c),0,...,0,-r1b,0,...,0,-r1a,0,...,0,r2,0,...,0,r1,0,...,0)に変換される。この述語ベクトルv→は、有効な次元(0以外の要素を有する次元)は5次元だけであるが、属性ベクトルx→と同じ約106次元である。
ここでは、述語ベクトルv→を有効な次元だけで構成することを説明したが、同様に、属性ベクトルx→を有効な次元だけで構成することも可能である。
属性カテゴリとは、例えば、所属機関、所属部署、役職、年齢、性別等、各ユーザの属性の分類のことである。
通常、アクセスコントロールに使用する属性カテゴリは、システム設計時に予め決定される。しかし、後にシステムの運用が変更され、アクセスコントロールに使用する属性カテゴリの追加が必要になる場合がある。
例えば、A会社内のみで使用することを想定して暗号システムを構築したとする。この場合、使用する属性カテゴリとしては、所属部署、役職、個人のID等が想定される。しかし、後に、A会社だけでなく、A会社の関連会社でも暗号システムを使用するように運用が変更されたとする。この場合、使用する属性カテゴリとして、新たに所属会社を追加する必要がある。
そのため、公開パラメータを再発行することなく、属性カテゴリを追加できることは重要である。
ここで、基底B^1,...,基底B^dが公開パラメータであることから明らかなように、後に基底B^を追加する場合、すなわちdの値を増やす場合には、公開パラメータを再発行しなければならない。つまり、dの値は公開パラメータによって制限されている。
ここで、公開パラメータには、基底B^は含まれているものの、インデックスベクトルは含まれていない。そのため、後にインデックスベクトルを追加し、dの値を増やす場合、公開パラメータを再発行する必要はない。つまり、dの値は公開パラメータによって制限されていない。
以下に説明する内積述語暗号方式は、双対ペアリングベクトル空間において実現される。
対称双線形ペアリング群(q,G,GT,g,e)は、素数qと、位数qの巡回加法群Gと、位数qの巡回乗法群GTと、g≠0∈Gと、多項式時間で計算可能な非退化双線形ペアリング(Nondegenerate Bilinear Pairing)e:G×G→GTとの組である。非退化双線形ペアリングは、e(sg,tg)=e(g,g)stであり、e(g,g)≠1である。
以下の説明において、Gbpgを、1λを入力として、セキュリティパラメータをλとする双線形ペアリング群のパラメータparamG:=(q,G,GT,g,e)の値を出力するアルゴリズムとする。
双対ペアリングベクトル空間(q,V,GT,A,e)は、対称双線形ペアリング群(paramG:=(q,G,GT,g,e))の直積によって構成することができる。双対ペアリングベクトル空間(q,V,GT,A,e)は、素数q、数112に示すFq上のN次元ベクトル空間V、位数qの巡回群GT、空間Vの標準基底A:=(a1,...,aN)の組であり、以下の演算(1)(2)を有する。ここで、aiは、数113に示す通りである。
空間Vにおけるペアリングは、数114によって定義される。
内積述語暗号方式は、Setup、KeyGen、Enc、Decの4つの確率的多項式時間アルゴリズムを備える。
(Setup)
Setupアルゴリズムでは、セキュリティパラメータ1λが入力され、マスター公開鍵pkとマスター秘密鍵skとが出力される。
(KeyGen)
KeyGenアルゴリズムでは、マスター公開鍵pkとマスター秘密鍵skと述語ベクトルv→とが入力され、秘密鍵skvが出力される。
(Enc)
Encアルゴリズムでは、マスター公開鍵pkと属性ベクトルx→とメッセージmとが入力され、暗号文ctxが出力される。
(Dec)
Decアルゴリズムでは、マスター公開鍵pkと秘密鍵skvと暗号文ctxとが入力され、メッセージm又は識別情報⊥が出力される。識別情報⊥とは、復号に失敗したことを示す情報である。
図1は、実施の形態1に係る暗号処理システム10の構成図である。
暗号処理システム10は、鍵生成装置100、暗号化装置200(送信装置)、復号装置300(受信装置)を備える。
鍵生成装置100は、セキュリティパラメータλを入力としてSetupアルゴリズムを実行して、マスター公開鍵pkとマスター秘密鍵skとを生成する。そして、鍵生成装置100は、生成したマスター公開鍵pkを公開する。また、鍵生成装置100は、マスター公開鍵pkとマスター秘密鍵skと述語ベクトルv→とを入力としてKeyGenアルゴリズムを実行して、秘密鍵skvを生成して復号装置300へ秘密裡に配布する。
暗号化装置200は、マスター公開鍵pkと属性ベクトルx→とメッセージmとを入力としてEncアルゴリズムを実行して、暗号文ctxを生成する。暗号化装置200は、生成した暗号文ctxを復号装置300へ送信する。
復号装置300は、マスター公開鍵pkと秘密鍵skvと暗号文ctxとを入力としてDecアルゴリズムを実行して、メッセージm又は識別情報⊥を出力する。
図5と図6とは、実施の形態1に係る鍵生成装置100の動作を示すフローチャートである。なお、図5は実施の形態1に係るSetupアルゴリズムの処理を示すフローチャートであり、図6は実施の形態1に係るKeyGenアルゴリズムの処理を示すフローチャートである。図7は、実施の形態1に係る暗号化装置200の動作を示すフローチャートであり、実施の形態1に係るEncアルゴリズムの処理を示すフローチャートである。図8は、実施の形態1に係る復号装置300の動作を示すフローチャートであり、実施の形態1に係るDecアルゴリズムの処理を示すフローチャートである。
図2に示すように、鍵生成装置100は、マスター鍵生成部110、マスター鍵記憶部120、情報入力部130、復号鍵生成部140、鍵配布部150を備える。
(S101:正規直交基底生成ステップ)
マスター鍵生成部110は、処理装置により、数117を計算して、パラメータparamと、基底B0及び基底B* 0と、基底B1(基底B)及び基底B* 1(基底B*)とを生成する。
(1)マスター鍵生成部110は、入力装置により、セキュリティパラメータλ(1λ)を入力する。
(2)マスター鍵生成部110は、処理装置により、(1)で入力したセキュリティパラメータλ(1λ)を入力としてアルゴリズムGbpgを実行して、双線形ペアリング群のパラメータparamG:=(q,G,GT,g,e)の値を生成する。
(3)マスター鍵生成部110は、処理装置により、乱数ψを生成するとともに、N0に1+u0+1+w0+z0を、N1に4+u+w+zを設定する。なお、u0,w0,z0,u,w,zはそれぞれ0以上の整数である。
(4)マスター鍵生成部110は、処理装置により、(1)で入力したセキュリティパラメータλ(1λ)と、(3)で設定したNtと、(2)で生成したparamG:=(q,G,GT,g,e)の値とを入力としてアルゴリズムGdpvsを実行して、双対ペアリングベクトル空間のパラメータparamVt:=(q,Vt,GT,At,e)の値を生成する。
(5)マスター鍵生成部110は、処理装置により、(3)で設定したNtと、Fqとを入力として、線形変換Xt:=(χt,i,j)i,jをランダムに生成する。なお、GLは、General Linearの略である。つまり、GLは、一般線形群であり、行列式が0でない正方行列の集合であり、乗法に関し群である。また、(χt,i,j)i,jは、行列χt,i,jの添え字i,jに関する行列という意味であり、ここでは、i,j=1,...,Ntである。
(6)マスター鍵生成部110は、処理装置により、乱数ψと線形変換Xtとに基づき、(νt,i,j)i,j:=ψ・(Xt T)-1を生成する。なお、(νt,i,j)i,jも(χt,i,j)i,jと同様に、行列νt,i,jの添え字i,jに関する行列という意味であり、ここでは、i,j=1,...,Ntである。
(7)マスター鍵生成部110は、処理装置により、(5)で生成した線形変換Xtに基づき、(4)で生成した標準基底Atから基底Btを生成する。なお、x→ t,iとは、線形変換Xtのi行目を示す。
(8)マスター鍵生成部110は、処理装置により、(6)で生成した(νt,i,j)i,jに基づき、(4)で生成した標準基底Atから基底B* tを生成する。なお、v→ t,iとは、線形変換X* tのi行目を示す。
(9)マスター鍵生成部110は、処理装置により、gTにe(g,g)ψを設定する。また、マスター鍵生成部110は、paramに(4)で生成した{paramVt}t=0,1と、gTとを設定する。
マスター鍵生成部110は、処理装置により、S101で生成した基底B0の部分基底B^0と、基底Bの部分基底B^とを数119に示すように生成する。
マスター鍵生成部110は、処理装置により、S101で生成した基底B* 0の部分基底B^* 0と、基底B*の部分基底B^*とを数120に示すように生成する。
マスター鍵記憶部120は、S102で生成した公開パラメータpkを記憶装置に記憶する。また、マスター鍵記憶部120は、S103で生成したマスター鍵skを記憶装置に記憶する。
なお、公開パラメータは、例えば、ネットワークを介して公開され、暗号化装置200や復号装置300が取得可能な状態にされる。
(S201:情報入力ステップ)
情報入力部130は、入力装置により、述語ベクトルv→:={(t,vt)|t∈Iv→}を入力する。つまり、述語ベクトルv→は、集合Iv→に含まれるインデックスtについて、インデックスtと述語情報vtとを要素として有するベクトルである。述語情報vtとしては、例えば、復号鍵skvの使用者の属性情報が設定されている。
復号鍵生成部140は、処理装置により、復号鍵skvの要素k* 0を数124に示すように生成する。
また、復号鍵生成部140は、処理装置により、集合Iv→に含まれるインデックスtについて、復号鍵skvの要素k* tを数125に示すように生成する。
鍵配布部150は、S204で生成されたk* 0,k* tとを要素とする復号鍵skvを、例えば通信装置によりネットワークを介して秘密裡に復号装置300へ配布する。もちろん、復号鍵skvは、他の方法により復号装置300へ配布されてもよい。
暗号化装置200は、公開パラメータ取得部210、情報入力部220、暗号文生成部230、データ送信部240を備える。
(S301:公開パラメータ取得ステップ)
公開パラメータ取得部210は、例えば、通信装置によりネットワークを介して、鍵生成装置100が生成した公開パラメータpkを取得する。
情報入力部220は、入力装置により、復号装置300へ送信するメッセージmを入力する。また、情報入力部220は、入力装置により、属性ベクトルx→:={(t,xt)|t∈Ix→}を入力する。つまり、属性ベクトルx→は、集合Ix→に含まれるインデックスtについて、インデックスtと属性情報xtとを要素として有するベクトルである。属性ベクトルx→は、例えば、復号可能なユーザの属性情報が設定されている。
暗号文生成部230は、処理装置により、暗号文ctxの要素c0を数128に示すように生成する。
データ送信部240は、S304で生成されたc0,ct,cTを要素とする暗号文ctxを、例えば通信装置によりネットワークを介して復号装置300へ送信する。もちろん、暗号文ctxは、他の方法により復号装置300へ送信されてもよい。
復号装置300は、復号鍵取得部310、復号鍵記憶部320、暗号文取得部330、ペアリング演算部340、メッセージ計算部350を備える。ペアリング演算部340とメッセージ計算部350とを合わせて復号部と呼ぶ。
(S401:復号鍵取得ステップ)
復号鍵取得部310は、例えば、通信装置によりネットワークを介して、鍵生成装置100から配布された復号鍵skvを取得する。また、復号鍵取得部310は、鍵生成装置100が生成した公開パラメータpkを取得する。
復号鍵取得部310は、取得した復号鍵skvと公開パラメータpkとを復号鍵記憶部320に記憶する。
暗号文取得部330は、例えば、通信装置によりネットワークを介して、暗号化装置200が送信した暗号文ctxを受信する。
ペアリング演算部340は、処理装置により、数132を計算して、セッション鍵K=gT ζを生成する。
メッセージ計算部350は、処理装置により、m’=cT/Kを計算して、メッセージm’(=m)を生成する。なお、cTは数130に示す通りgT ζmであり、KはgT ζであるから、m’=cT/Kを計算すればメッセージmが得られる。
そのため、対応するインデックスtについての要素k* tと要素ctとのペアリング演算を行うと、基底ベクトルb* 1,b* 2と基底ベクトルb1,b2との部分については、内積が0となり、キャンセルされる。つまり、対応するインデックスtについての要素k* tと要素ctとのペアリング演算を行うと、基底ベクトルの係数として設定したインデックス部(基底ベクトルb* 1,b* 2と基底ベクトルb1,b2との部分)はキャンセルされ、残りの部分についてのペアリング演算の結果が得られる。
この場合、上述した内積述語暗号方式のGobアルゴリズム、Setupアルゴリズム、KeyGenアルゴリズム、Encアルゴリズムは、数136から数139のようになる。なお、Decアルゴリズムは数135の通りであり、変更はない。
実施の形態1では、集合Iv→が集合Ix→の部分集合であり、かつ、集合Iv→に含まれるインデックスtについて、vtxtの合計が0となるなら、暗号文ctxを復号鍵skvで復号することができる内積述語暗号方式(Type1)について説明した。
実施の形態2では、集合Ix→が集合Iv→の部分集合であり、かつ、集合Ix→に含まれるインデックスtについて、vtxtの合計が0となるなら、暗号文ctxを復号鍵skvで復号することができる内積述語暗号方式(Type2)について説明する。
実施の形態2では、実施の形態1と異なる部分を中心に説明する。
図9は、実施の形態2に係るKeyGenアルゴリズムの処理を示すフローチャートである。図10は、実施の形態2に係るEncアルゴリズムの処理を示すフローチャートである。図11は、実施の形態2に係るDecアルゴリズムの処理を示すフローチャートである。
実施の形態2に係るSetupアルゴリズムは、実施の形態1に係るSetupアルゴリズムと同じである。
S501の処理は、図6に示すS201の処理と同じである。
復号鍵生成部140は、処理装置により、復号鍵skvの要素k* 0を数141に示すように生成する。
鍵配布部150は、S503で生成されたk* 0,k* tとを要素とする復号鍵skvを、例えば通信装置によりネットワークを介して秘密裡に復号装置300へ配布する。もちろん、復号鍵skvは、他の方法により復号装置300へ配布されてもよい。
S601からS602の処理は、図7に示すS301からS302の処理と同じである。
暗号文生成部230は、処理装置により、暗号文ctxの要素c0を数146に示すように生成する。
データ送信部240は、S605で生成されたc0,ct,cTを要素とする暗号文ctxを、例えば通信装置によりネットワークを介して復号装置300へ送信する。もちろん、暗号文ctxは、他の方法により復号装置300へ送信されてもよい。
S701からS702の処理は、図8に示すS401からS402の処理と同じである。また、S704の処理は、図8に示すS404の処理と同じである。
ペアリング演算部340は、処理装置により、数150を計算して、セッション鍵K=gT ζを生成する。
この場合、上述した内積述語暗号方式のKeyGenアルゴリズム、Encアルゴリズムは、数154から数155のようになる。なお、Gobアルゴリズムは数136と同じであり、Setupアルゴリズムは数137と同じであり、Decアルゴリズムは数153の通りであり、変更はない。
実施の形態1では、集合Iv→が集合Ix→の部分集合であり、かつ、集合Iv→に含まれるインデックスtについて、vtxtの合計が0となるなら、暗号文ctxを復号鍵skvで復号することができる内積述語暗号方式(Type1)について説明した。
実施の形態2では、集合Ix→が集合Iv→の部分集合であり、かつ、集合Ix→に含まれるインデックスtについて、vtxtの合計が0となるなら、暗号文ctxを復号鍵skvで復号することができる内積述語暗号方式(Type2)について説明した。
実施の形態3では、集合Iv→が集合Ix→と等しく、かつ、集合Iv→(又は集合Ix→)に含まれるインデックスtについて、vtxtの合計が0となるなら、暗号文ctxを復号鍵skvで復号することができる内積述語暗号方式(Type0)について説明する。
なお、集合Iv→が集合Ix→と等しいとは、集合Iv→が集合Ix→の部分集合であり、かつ、集合Ix→が集合Iv→の部分集合であることを意味する。したがって、内積述語暗号方式(Type0)は、実施の形態1で説明した内積述語暗号方式(Type1)と、実施の形態2で説明した内積述語暗号方式(Type2)とを組み合わせた方式ということができる。
実施の形態3では、実施の形態1,2と異なる部分を中心に説明する。
図12は、実施の形態3に係るSetupアルゴリズムの処理を示すフローチャートである。図13は、実施の形態3に係るKeyGenアルゴリズムの処理を示すフローチャートである。図14は、実施の形態3に係るEncアルゴリズムの処理を示すフローチャートである。図15は、実施の形態3に係るDecアルゴリズムの処理を示すフローチャートである。
S801の処理は、図5に示すS101の処理と同じである。但し、N0=2+u0+1+w0+z0、N1=5+u+w+zである点が異なる。
マスター鍵生成部110は、処理装置により、S801で生成した基底B0の部分基底B^0と、基底Bの部分基底B^とを数157に示すように生成する。
マスター鍵生成部110は、処理装置により、S801で生成した基底B* 0の部分基底B^* 0と、基底B*の部分基底B^*とを数158に示すように生成する。
なお、公開パラメータは、例えば、ネットワークを介して公開され、暗号化装置200や復号装置300が取得可能な状態にされる。
(S901:情報入力ステップ)
情報入力部130は、入力装置により、述語ベクトルv→:=(v1,...,vn)を入力する。述語情報vtとしては、例えば、復号鍵skvの使用者の属性情報が設定されている。
復号鍵生成部140は、処理装置により、復号鍵skvの要素k* 0を数162に示すように生成する。
鍵配布部150は、S904で生成されたk* 0,k* tとを要素とする復号鍵skvを、例えば通信装置によりネットワークを介して秘密裡に復号装置300へ配布する。もちろん、復号鍵skvは、他の方法により復号装置300へ配布されてもよい。
S1001の処理は、図7に示すS301の処理と同じである。
情報入力部220は、入力装置により、復号装置300へ送信するメッセージmを入力する。また、情報入力部220は、入力装置により、属性ベクトルx→:=(x1,...,xn’)を入力する。属性ベクトルx→は、例えば、復号可能なユーザの属性情報が設定されている。
暗号文生成部230は、処理装置により、暗号文ctxの要素c0を数167に示すように生成する。
データ送信部240は、S1005で生成されたc0,ct,cTを要素とする暗号文ctxを、例えば通信装置によりネットワークを介して復号装置300へ送信する。もちろん、暗号文ctxは、他の方法により復号装置300へ送信されてもよい。
S1101からS1102の処理は、図8に示すS401からS402の処理と同じである。
ペアリング演算部340は、処理装置により、数171を計算して、セッション鍵K=gT ζを生成する。
この場合、上述した内積述語暗号方式のGobアルゴリズム、Setupアルゴリズム、KeyGenアルゴリズム、Encアルゴリズムは、数175から数178のようになる。なお、Decアルゴリズムは数174の通りであり、変更はない。
上記実施の形態で説明した内積述語暗号方式を下部構造として有する関数型暗号方式及び属性ベース署名方式について説明する。
非特許文献31に記載された関数型暗号方式では、インデックスt毎に、属性ベクトルx→と述語ベクトルv→との内積を計算する。そして、与えられた全てのインデックスtについて、属性ベクトルx→と述語ベクトルv→との内積が0で暗号文が復号鍵により復号できる。
各インデックスtにおける属性ベクトルx→と述語ベクトルv→との内積の計算に、上記実施の形態で説明した内積述語暗号方式を適用する。これにより、上記実施の形態で説明した内積述語暗号方式を下部構造として有する関数型暗号方式を構成する。
非特許文献31に記載された関数型暗号方式では、各インデックスtにおいて、属性ベクトルx→と述語ベクトルv→と次元は同じでなければならなかった。しかし、上記実施の形態で説明した内積述語暗号方式を下部構造として有する関数型暗号方式とすることにより、各インデックスtにおいて、属性ベクトルx→と述語ベクトルv→と次元が同じである必要はなくなる。
ここでは、KP-FE方式のうち、実施の形態1で説明した内積述語暗号方式を適用することによって変更が発生した箇所を中心に説明する。
なお、非特許文献31に記載された関数型暗号方式では、変数ρ(i)を用いて、インデックスt毎に、属性ベクトルx→と述語ベクトルv→との内積が0になった場合に復号可能とするか、属性ベクトルx→と述語ベクトルv→との内積が0以外になった場合に復号可能とするかを使い分けている。しかし、ここでは、説明の簡単のため、与えられた全てのインデックスtについて、属性ベクトルx→と述語ベクトルv→との内積が0になった場合に復号可能とする場合を説明する。
また、実施の形態1では、インデックス部を設けることにより、各属性カテゴリで使用する基底を共通の基底(基底B及び基底B*)とした。しかし、ここでは、説明の簡単のため、インデックス部を設けず、各属性カテゴリで使用する基底を別の基底とする場合を説明する。
また、非特許文献31と、実施の形態1とでインデックスtと、秘密情報sとの文字が重複している。そこで、ここでは、非特許文献31におけるインデックスtをインデックスτとし、非特許文献31における秘密情報sを秘密情報σとする。
マスター鍵生成部110は、処理装置により、インデックスτ,t毎に基底Bτ,t及び基底B* τ,tを生成する。すなわち、マスター鍵生成部110は、インデックスt毎に基底Bt及び基底B* tを生成するのではなく、インデックスτ,t毎に基底Bτ,t及び基底B* τ,tを生成する。
つまり、Setupアルゴリズムは、数179に示す通りである。なお、Setupアルゴリズムで用いられるアルゴリズムGobは、数180に示す通りである。
復号鍵生成部140は、処理装置により、秘密情報σと、秘密情報sとを数181に示すように生成する。
暗号文生成部230は、処理装置により、1つ以上のインデックスτ及び集合Ixi→に含まれるインデックスtについて、暗号文ctxの要素cτ,tを数185に示すように生成する。
なお、上述した関数型暗号方式では、基底Bτ,t及び基底B* τ,tを用いた。そこで、インデックスτ及びインデックスtのそれぞれについて、インデックス部を設ける必要がある。
しかし、同様の方法により、非特許文献31に記載されたCiphertext-Policy関数型暗号方式(CP-FE方式)及びUnified-Policy関数型暗号方式(UP-FE方式)に、実施の形態1で説明した内積述語暗号方式を適用することもできる。また、非特許文献31に記載された各関数型暗号方式に、実施の形態2,3で説明した内積述語暗号方式を適用することもできる。もちろん、非特許文献31に記載された関数型暗号方式に限らず、他の関数型暗号方式に上記実施の形態で説明した内積述語暗号方式を適用することもできる。また、同様の方法により、非特許文献32や他の文献に記載された属性ベース署名方式に、上記実施の形態で説明した内積述語暗号方式を適用することもできる。
いずれの場合であっても、各インデックスtにおける属性ベクトルx→と述語ベクトルv→との内積の計算に、上記実施の形態で説明した内積述語暗号方式を適用すればよい。
以上の実施の形態では、双対ベクトル空間において暗号プリミティブの処理を実現する方法について説明した。実施の形態5では、双対加群において暗号プリミティブの処理を実現する方法について説明する。
図16は、鍵生成装置100、暗号化装置200、復号装置300のハードウェア構成の一例を示す図である。
図16に示すように、鍵生成装置100、暗号化装置200、復号装置300は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、LCD901(Liquid Crystal Display)、キーボード902(K/B)、通信ボード915、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920(固定ディスク装置)の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。磁気ディスク装置920は、所定の固定ディスクインタフェースを介して接続される。
ファイル群924には、上記の説明において公開パラメータpk、マスター秘密鍵sk、復号鍵skv、暗号文ctx、述語ベクトルv、属性ベクトルx、メッセージm等の情報やデータや信号値や変数値やパラメータが、ファイルやデータベースの各項目として記憶される。ファイルやデータベースは、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPU911の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPU911の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、上記の説明において「~部」として説明するものは、「~回路」、「~装置」、「~機器」、「~手段」、「~機能」であってもよく、また、「~ステップ」、「~手順」、「~処理」であってもよい。また、「~装置」として説明するものは、「~回路」、「~機器」、「~手段」、「~機能」であってもよく、また、「~ステップ」、「~手順」、「~処理」であってもよい。さらに、「~処理」として説明するものは「~ステップ」であっても構わない。すなわち、「~部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ROM913等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、上記で述べた「~部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「~部」の手順や方法をコンピュータ等に実行させるものである。
Claims (12)
- 暗号化装置と復号装置とを備える暗号システムであり、
前記暗号化装置は、
基底ベクトルb0,rの係数として値ω~が設定された要素c0と、集合Ix→に含まれる各インデックスtについて、基底ベクトルbpの係数として属性情報xtが設定され、基底ベクトルbqの係数として前記値ω~が設定された要素ctとを有する暗号文を生成する暗号文生成部
を備え、
前記復号装置は、
集合Iv→に含まれる各インデックスtについての値stの合計が値s0である値st及び値s0を用いて生成された要素k0と要素ktとであって、前記基底ベクトルb0,rに対応する基底ベクトルb* 0,rの係数として値-s0が設定された要素k0と、集合Iv→に含まれる各インデックスtについて、前記基底ベクトルbpに対応する基底ベクトルb* pの係数として述語情報vtが設定され、前記基底ベクトルbqに対応する基底ベクトルb* qの係数として値stが設定された要素ktとを有する復号鍵を記憶する復号鍵記憶部と、
前記暗号文生成部が生成した暗号文を、前記復号鍵記憶部が記憶した復号鍵により復号する復号部であって、前記要素c0及び前記要素k0と、前記集合Iv→に含まれる各インデックスtについての要素ct及び要素ktとに対して、対応する基底ベクトル毎のペアリング演算の積を計算して、前記暗号文を復号する復号部と
を備えることを特徴とする暗号システム。 - 前記暗号文生成部は、さらに、基底ベクトルbindexの係数として、インデックスtに予め割り当てられた情報Jが設定された要素ctを生成し、
前記復号鍵記憶部は、さらに、前記基底ベクトルbindexに対応する基底ベクトルb* indexの係数として、インデックスtに予め割り当てられた前記情報Jとの内積が0になる情報J’が設定された要素ktを生成する
ことを特徴とする請求項1に記載の暗号システム。 - 送信装置と受信装置とを備え、インデックスτ毎に、集合Iτ,x→に含まれる各インデックスtについての属性情報xτ,tを要素として持つ属性ベクトルxτ →と、集合Iτ,v→に含まれる各インデックスtについての属性情報vτ,tを要素として持つ述語ベクトルvτ →との内積が0か否かを判定することにより、暗号プリミティブの処理を実現する暗号システムであり、
前記送信装置は、
インデックスτ毎に、集合Iτ,x→に含まれる各インデックスtについて、基底ベクトルbpの係数として属性情報xτ,tが設定され、基底ベクトルbqの係数として値ω
~ τが設定された要素cτ,tを有する送信情報を生成する送信情報生成部
を備え、
前記受信装置は、
インデックスτ毎に、集合Iτ,v→に含まれる各インデックスtについて、前記基底ベクトルbpに対応する基底ベクトルb* pの係数として属性情報vτ,tが設定され、前記基底ベクトルbqに対応する基底ベクトルb* qの係数として値sτ,tが設定された要素kτ,tを有する受信情報を記憶する受信情報記憶部と、
各インデックスτについて、前記集合Iτ,v→に含まれる各インデックスtについての要素cτ,t及び要素kτ,tに対して、対応する基底ベクトル毎のペアリング演算の積を計算するペアリング演算部と
を備えることを特徴とする暗号システム。 - 暗号化装置と復号装置とを備える暗号システムであり、
前記暗号化装置は、
集合Ix→に含まれる各インデックスtについての値ftの合計が値f0である値ft及び値f0を用いて生成された要素c0と要素ctとであって、基底ベクトルb0,rの係数として値-f0が設定された要素c0と、集合Ix→に含まれる各インデックスtについて、基底ベクトルbpの係数として属性情報xtが設定され、基底ベクトルbqの係数として値ftが設定された要素ctとを有する暗号文を生成する暗号文生成部
を備え、
前記復号装置は、
前記基底ベクトルb0,rに対応する基底ベクトルb* 0,rの係数として値δ~が設定された要素k0と、集合Iv→に含まれる各インデックスtについて、前記基底ベクトルbpに対応する基底ベクトルb* pの係数として述語情報vtが設定され、前記基底ベクトルbqに対応する基底ベクトルb* qの係数として前記値δ~が設定された要素ktとを有する復号鍵を記憶する復号鍵記憶部と、
前記暗号文生成部が生成した暗号文を、前記復号鍵記憶部が記憶した復号鍵により復号する復号部であって、前記要素c0及び前記要素k0と、前記集合Ix→に含まれる各インデックスtについての要素ct及び要素ktとに対して、対応する基底ベクトル毎のペアリング演算の積を計算して、前記暗号文を復号する復号部と
を備えることを特徴とする暗号システム。 - 前記暗号文生成部は、さらに、基底ベクトルbindexの係数として、インデックスtに予め割り当てられた情報Jが設定された要素ctを生成し、
前記復号鍵記憶部は、さらに、前記基底ベクトルbindexに対応する基底ベクトルb* indexの係数として、インデックスtに予め割り当てられた前記情報Jとの内積が0になる情報J’が設定された要素ktを生成する
ことを特徴とする請求項5に記載の暗号システム。 - 送信装置と受信装置とを備え、インデックスτ毎に、集合Iτ,x→に含まれる各インデックスtについての属性情報xτ,tを要素として持つ属性ベクトルxτ →と、集合Iτ,v→に含まれる各インデックスtについての属性情報vτ,tを要素として持つ述語ベクトルvτ →との内積が0か否かを判定することにより、暗号プリミティブの処理を実現する暗号システムであり、
前記送信装置は、
インデックスτ毎に、集合Iτ,x→に含まれる各インデックスtについて、基底ベクトルbpの係数として属性情報xτ,tが設定され、基底ベクトルbqの係数として値f
τ,tが設定された要素cτ,tを有する送信情報を生成する送信情報生成部
を備え、
前記受信装置は、
インデックスτ毎に、集合Iτ,v→に含まれる各インデックスtについて、前記基底ベクトルbpに対応する基底ベクトルb* pの係数として属性情報vτ,tが設定され、前記基底ベクトルbqに対応する基底ベクトルb* qの係数として値δ~ τが設定された要素kτ,tを有する受信情報を記憶する受信情報記憶部と、
各インデックスτについて、前記集合Iτ,x→に含まれる各インデックスtについての要素cτ,t及び要素kτ,tに対して、対応する基底ベクトル毎のペアリング演算の積を計算するペアリング演算部と
を備えることを特徴とする暗号システム。 - 暗号化装置と復号装置とを備える暗号システムであり、
前記暗号化装置は、
t=1,...,n(nは1以上の整数)の各インデックスtについての値ftの合計が値f0である値ft及び値f0を用いて生成された要素c0と要素ctとであって、基底ベクトルb0,rの係数として値ω~が設定され、基底ベクトルb0,r’の係数として値-f0が設定された要素c0と、集合Ix→に含まれる各インデックスtについて、基底ベクトルbpの係数として属性情報xtが設定され、基底ベクトルbqの係数として前記値ω~が設定され、基底ベクトルbq’の係数として値ftが設定された要素ctとを有する暗号文を生成する暗号文生成部
を備え、
前記復号装置は、
前記各インデックスtについての値stの合計が値s0である値st及び値s0を用いて生成された要素k0と要素ktとであって、前記基底ベクトルb0,rに対応する基底ベクトルb* 0,rの係数として値-s0が設定され、基底ベクトルb0,r’に対応する基底ベクトルb* 0,r’の係数として値δ~が設定された要素k0と、集合Iv→に含まれる各インデックスtについて、前記基底ベクトルbpに対応する基底ベクトルb* pの係数として述語情報vtが設定され、前記基底ベクトルbqに対応する基底ベクトルb* qの係数として値stが設定され、前記基底ベクトルbq’に対応する基底ベクトルb* q’の係数として前記値δ~が設定された要素ktとを有する復号鍵を記憶する復号鍵記憶部と、
前記暗号文生成部が生成した暗号文を、前記復号鍵記憶部が記憶した復号鍵により復号する復号部であって、前記要素c0及び前記要素k0と、前記各インデックスtについての要素ct及び要素ktとに対して、対応する基底ベクトル毎のペアリング演算の積を計算して、前記暗号文を復号する復号部と
を備えることを特徴とする暗号システム。 - 前記暗号文生成部は、さらに、基底ベクトルbindexの係数として、インデックスtに予め割り当てられた情報Jが設定された要素ctを生成し、
前記復号鍵記憶部は、さらに、前記基底ベクトルbindexに対応する基底ベクトルb* indexの係数として、インデックスtに予め割り当てられた前記情報Jとの内積が0になる情報J’が設定された要素ktを生成する
ことを特徴とする請求項9に記載の暗号システム。 - 送信装置と受信装置とを備え、インデックスτ毎に、t=1,...,n(nは1以上の整数)の各インデックスtについての属性情報xτ,tを要素として持つ属性ベクトルxτ →と、前記各インデックスtについての属性情報vτ,tを要素として持つ述語ベクトルvτ →との内積が0か否かを判定することにより、暗号プリミティブの処理を実現する暗号システムであり、
前記送信装置は、
インデックスτ毎に、集合Iτ,x→に含まれる各インデックスtについて、基底ベクトルbpの係数として属性情報xτ,tが設定され、基底ベクトルbqの係数として値ω
~ τが設定され、基底ベクトルbq’の係数として値ftが設定された要素cτ,tを有する送信情報を生成する送信情報生成部
を備え、
前記受信装置は、
インデックスτ毎に、集合Iτ,v→に含まれる各インデックスtについて、前記基底ベクトルbpに対応する基底ベクトルb* pの係数として属性情報vτ,tが設定され、前記基底ベクトルbqに対応する基底ベクトルb* qの係数として値sτ,tが設定され、前記基底ベクトルbq’に対応する基底ベクトルb* q’の係数として値δ~が設定された要素kτ,tを有する受信情報を記憶する受信情報記憶部と、
各インデックスτ及び各インデックスtについての要素cτ,t及び要素kτ,tに対して、対応する基底ベクトル毎のペアリング演算の積を計算するペアリング演算部と
を備えることを特徴とする暗号システム。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201380050410.0A CN104718566B (zh) | 2012-10-19 | 2013-07-17 | 密码系统 |
| KR1020157013141A KR101676977B1 (ko) | 2012-10-19 | 2013-07-17 | 암호 시스템 |
| US14/421,282 US9722783B2 (en) | 2012-10-19 | 2013-07-17 | Cryptographic system |
| EP13846805.3A EP2911137B1 (en) | 2012-10-19 | 2013-07-17 | Cryptographic system |
| ES13846805.3T ES2645072T3 (es) | 2012-10-19 | 2013-07-17 | Sistema criptográfico |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012231293A JP5921410B2 (ja) | 2012-10-19 | 2012-10-19 | 暗号システム |
| JP2012-231293 | 2012-10-19 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2014061324A1 true WO2014061324A1 (ja) | 2014-04-24 |
Family
ID=50487902
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2013/069364 Ceased WO2014061324A1 (ja) | 2012-10-19 | 2013-07-17 | 暗号システム |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US9722783B2 (ja) |
| EP (1) | EP2911137B1 (ja) |
| JP (1) | JP5921410B2 (ja) |
| KR (1) | KR101676977B1 (ja) |
| CN (1) | CN104718566B (ja) |
| ES (1) | ES2645072T3 (ja) |
| WO (1) | WO2014061324A1 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019239776A1 (ja) * | 2018-06-11 | 2019-12-19 | 三菱電機株式会社 | 復号装置、暗号化装置及び暗号システム |
| WO2020110800A1 (ja) * | 2018-11-29 | 2020-06-04 | 日本電信電話株式会社 | 暗号システム、暗号化装置、復号装置、暗号方法、暗号化方法、復号方法及びプログラム |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6719339B2 (ja) * | 2016-08-30 | 2020-07-08 | 三菱電機株式会社 | 暗号システム、暗号方法及び暗号プログラム |
| US11139952B2 (en) * | 2017-01-18 | 2021-10-05 | Mitsubishi Electric Corporation | Homomorphic computation device, encryption system, and computer readable medium |
| KR101994236B1 (ko) * | 2017-04-21 | 2019-09-30 | 한국전자통신연구원 | 프라이버시 보존형 각도 기반 이상치 검출 방법 및 장치 |
| KR102123435B1 (ko) * | 2019-08-19 | 2020-06-16 | 세종대학교산학협력단 | 멀티 클라이언트 환경에서 동치 질의를 지원하는 암호화 방법 및 이를 이용한 장치 |
| KR102123440B1 (ko) * | 2019-09-02 | 2020-06-16 | 세종대학교산학협력단 | 멀티 클라이언트 환경에서 범위 질의를 지원하는 암호화 방법 및 이를 이용한 장치 |
| US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
| WO2022054130A1 (ja) * | 2020-09-08 | 2022-03-17 | 日本電信電話株式会社 | 暗号システム、方法及びプログラム |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011232475A (ja) * | 2010-04-27 | 2011-11-17 | Mitsubishi Electric Corp | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置 |
| JP2012133214A (ja) * | 2010-12-22 | 2012-07-12 | Mitsubishi Electric Corp | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0823331A (ja) * | 1994-07-07 | 1996-01-23 | Murata Mach Ltd | 暗号化通信方法及び装置 |
| JP3917507B2 (ja) * | 2002-01-28 | 2007-05-23 | 株式会社東芝 | コンテンツ提供側システム、ユーザ側システム、追跡システム、コンテンツ提供方法、暗号化コンテンツ復号方法、不正ユーザ特定方法、暗号化装置、復号装置及びプログラム |
| US7634085B1 (en) | 2005-03-25 | 2009-12-15 | Voltage Security, Inc. | Identity-based-encryption system with partial attribute matching |
| JP2008011092A (ja) * | 2006-06-28 | 2008-01-17 | Fuji Xerox Co Ltd | 暗号化コンテンツ検索方式 |
| US20090080658A1 (en) | 2007-07-13 | 2009-03-26 | Brent Waters | Method and apparatus for encrypting data for fine-grained access control |
| CN101188496B (zh) * | 2007-12-10 | 2010-09-29 | 中兴通讯股份有限公司 | 一种短信加密传输方法 |
| CN102369687B (zh) * | 2009-04-24 | 2014-09-17 | 日本电信电话株式会社 | 密码系统、密码通信方法、加密装置、密钥生成装置、解密装置、内容服务器装置、程序、存储介质 |
| CN102713995B (zh) * | 2010-01-15 | 2015-06-24 | 三菱电机株式会社 | 隐匿检索系统以及密码处理系统 |
| US8634563B2 (en) * | 2010-12-17 | 2014-01-21 | Microsoft Corporation | Attribute based encryption using lattices |
-
2012
- 2012-10-19 JP JP2012231293A patent/JP5921410B2/ja active Active
-
2013
- 2013-07-17 KR KR1020157013141A patent/KR101676977B1/ko not_active Expired - Fee Related
- 2013-07-17 US US14/421,282 patent/US9722783B2/en active Active
- 2013-07-17 WO PCT/JP2013/069364 patent/WO2014061324A1/ja not_active Ceased
- 2013-07-17 EP EP13846805.3A patent/EP2911137B1/en not_active Not-in-force
- 2013-07-17 ES ES13846805.3T patent/ES2645072T3/es active Active
- 2013-07-17 CN CN201380050410.0A patent/CN104718566B/zh not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011232475A (ja) * | 2010-04-27 | 2011-11-17 | Mitsubishi Electric Corp | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置 |
| JP2012133214A (ja) * | 2010-12-22 | 2012-07-12 | Mitsubishi Electric Corp | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
Non-Patent Citations (44)
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019239776A1 (ja) * | 2018-06-11 | 2019-12-19 | 三菱電機株式会社 | 復号装置、暗号化装置及び暗号システム |
| JP2019215391A (ja) * | 2018-06-11 | 2019-12-19 | 三菱電機株式会社 | 復号装置、暗号化装置及び暗号システム |
| CN112236974A (zh) * | 2018-06-11 | 2021-01-15 | 三菱电机株式会社 | 解密装置、加密装置以及密码系统 |
| CN112236974B (zh) * | 2018-06-11 | 2024-02-23 | 三菱电机株式会社 | 解密装置、加密装置以及密码系统 |
| WO2020110800A1 (ja) * | 2018-11-29 | 2020-06-04 | 日本電信電話株式会社 | 暗号システム、暗号化装置、復号装置、暗号方法、暗号化方法、復号方法及びプログラム |
| JP2020086292A (ja) * | 2018-11-29 | 2020-06-04 | 日本電信電話株式会社 | 暗号システム、暗号化装置、復号装置、暗号方法、暗号化方法、復号方法及びプログラム |
| JP7087965B2 (ja) | 2018-11-29 | 2022-06-21 | 日本電信電話株式会社 | 暗号システム、暗号化装置、復号装置、暗号化方法、復号方法及びプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| CN104718566A (zh) | 2015-06-17 |
| EP2911137B1 (en) | 2017-09-27 |
| EP2911137A1 (en) | 2015-08-26 |
| KR101676977B1 (ko) | 2016-11-16 |
| ES2645072T3 (es) | 2017-12-04 |
| US20150229472A1 (en) | 2015-08-13 |
| US9722783B2 (en) | 2017-08-01 |
| CN104718566B (zh) | 2017-06-16 |
| EP2911137A4 (en) | 2016-09-07 |
| KR20150070383A (ko) | 2015-06-24 |
| JP2014085358A (ja) | 2014-05-12 |
| JP5921410B2 (ja) | 2016-05-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5424974B2 (ja) | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置 | |
| JP5618881B2 (ja) | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム | |
| JP5680007B2 (ja) | 暗号システム、暗号方法及び暗号プログラム | |
| JP5921410B2 (ja) | 暗号システム | |
| JP5693206B2 (ja) | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム | |
| KR101336349B1 (ko) | 암호 처리 시스템, 키 생성 장치, 키 위양 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
| JP5606344B2 (ja) | 署名処理システム、鍵生成装置、署名装置、検証装置、署名処理方法及び署名処理プログラム | |
| KR101310439B1 (ko) | 암호 처리 시스템, 키 생성 장치, 키 위양 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
| JP5606351B2 (ja) | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、鍵委譲装置、暗号処理方法及び暗号処理プログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13846805 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 14421282 Country of ref document: US |
|
| REEP | Request for entry into the european phase |
Ref document number: 2013846805 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2013846805 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 20157013141 Country of ref document: KR Kind code of ref document: A |




































































































