WO2017203743A1 - Cipher apparatus, decoding apparatus, and cipher system - Google Patents

Cipher apparatus, decoding apparatus, and cipher system Download PDF

Info

Publication number
WO2017203743A1
WO2017203743A1 PCT/JP2017/001558 JP2017001558W WO2017203743A1 WO 2017203743 A1 WO2017203743 A1 WO 2017203743A1 JP 2017001558 W JP2017001558 W JP 2017001558W WO 2017203743 A1 WO2017203743 A1 WO 2017203743A1
Authority
WO
WIPO (PCT)
Prior art keywords
group
encryption
ciphertext
key
cipher
Prior art date
Application number
PCT/JP2017/001558
Other languages
French (fr)
Japanese (ja)
Inventor
克幸 高島
小柴 健史
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Publication of WO2017203743A1 publication Critical patent/WO2017203743A1/en

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords

Definitions

  • This invention relates to an anti-quantum cryptosystem.
  • Non-Patent Document 1 describes one method of attribute-based encryption using a pairing operation on an elliptic curve.
  • Non-Patent Document 2 describes a public key cryptosystem having quantum resistance using the same kind of mapping.
  • An object of the present invention is to make it possible to configure an encryption scheme such as attribute-based encryption that is effective even when a quantum computer is made.
  • the encryption device provides: An encryption device in an encryption system using a plurality of groups associated by homogenous mapping and pairing operation, A ciphertext generating unit configured to generate a ciphertext including a certain group of cipher elements of the plurality of groups;
  • a cipher such as an attribute-based encryption that is effective even when a quantum computer is created.
  • FIG. 1 is a configuration diagram of a cryptographic system 1 according to Embodiment 1.
  • FIG. 1 is a configuration diagram of a key generation device 10 according to Embodiment 1.
  • FIG. 1 is a configuration diagram of an encryption device 20 according to Embodiment 1.
  • FIG. 1 is a configuration diagram of a decoding device 30 according to Embodiment 1.
  • FIG. 4 is a flowchart of a setup algorithm according to the first embodiment. Explanatory drawing of the same kind pairing group which concerns on Embodiment 1.
  • FIG. 4 is a flowchart of a KeyGen algorithm according to the first embodiment. 4 is a flowchart of an Enc algorithm according to the first embodiment.
  • FIG. 3 is a flowchart of a Dec algorithm according to the first embodiment. Explanatory drawing of the attack method with respect to the IBE system which concerns on Embodiment 1.
  • FIG. The block diagram of the key generation apparatus 10 which concerns on the modification 1.
  • FIG. The block diagram of the encryption apparatus 20 which concerns on the modification 1.
  • FIG. The block diagram of the decoding apparatus 30 which concerns on the modification 1.
  • FIG. FIG. 3 is a configuration diagram of a cryptographic system 1 according to a second embodiment.
  • FIG. 3 is a configuration diagram of a key generation device 10 according to a second embodiment.
  • FIG. 4 is a configuration diagram of an encryption device 20 according to a second embodiment.
  • FIG. 4 is a configuration diagram of a decoding device 30 according to a second embodiment.
  • FIG. 10 is a flowchart of an IPG generation algorithm according to the fifth embodiment.
  • FIG. 10 is an explanatory diagram of algorithms Isog L to ⁇ (E 0 ) according to the fifth embodiment.
  • FIG. 10 is an explanatory diagram of algorithms Isog L to ⁇ (E 0 ) according to the fifth embodiment.
  • Embodiment 1 FIG. In Embodiment 1, an ID-based encryption (hereinafter referred to as IBE) method having quantum resistance will be described.
  • IBE ID-based encryption
  • 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 a field of order q.
  • the field of order q is simply referred to as F q in the text.
  • the IPG has a plurality of groups associated with each other by a homogeneous map and a pairing operation.
  • IPG is defined as follows: In the IPG generation algorithm Gen IPG (1 ⁇ , d), a master key pair of the public parameter pk IPG and the master secret key sk IPG shown in Expression 106 is randomly generated.
  • (G t, G ⁇ t , e t, G T) is pairing operation e t: is asymmetrical pairing group G t ⁇ G ⁇ t ⁇ number of prime number having a G T q. a g ⁇ t ⁇ G ⁇ t.
  • Homogeneous map ⁇ t G 0 ⁇ G t and is given by the same kind between different elliptic curves.
  • g t ⁇ t (g 0 ) ⁇ G t .
  • the IPG has compatibility shown in Equation 107.
  • g T e 0 (g 0 , g ⁇ 0 ) ⁇ 1.
  • G t G ⁇ t .
  • the IBE method includes a Setup algorithm, a KeyGen algorithm, an Enc algorithm, and a Dec algorithm.
  • the Setup algorithm receives the security parameter 1 ⁇ and outputs the public parameter pk and the master secret key sk.
  • the KeyGen algorithm receives a public parameter pk, a master secret key sk, and an identifier ID, and outputs a decryption key sk ID corresponding to the identifier ID.
  • the Enc algorithm receives the public parameter pk, the message m in the message space msg, and the identifier ID ′, and outputs a ciphertext ct ID ′ .
  • the Dec algorithm receives the public parameter pk, the decryption key sk ID corresponding to the identifier ID, and the ciphertext ct ID ′ encrypted under the identifier ID ′, and receives the message m′ ⁇ msg or decryption. Outputs identification information ⁇ ⁇ indicating failure.
  • the encryption system 1 includes a key generation device 10, an encryption device 20, and a decryption device 30.
  • the key generation device 10, the encryption device 20, and the decryption device 30 are computers.
  • the key generation device 10, the encryption device 20, and the decryption device 30 are connected via a network.
  • the key generation apparatus 10 receives the security parameter 1 ⁇ and executes the Setup algorithm to generate the public parameter pk and the master secret key sk. Further, the key generation device 10 receives the public parameter pk, the master secret key sk, and the identifier ID, executes the KeyGen algorithm, and generates a decryption key sk ID . The key generation device 10 discloses the public parameter pk and outputs the decryption key sk ID to the decryption device 30 corresponding to the identifier ID. The key generation device 10 stores the master secret key sk.
  • the encryption device 20 receives the public parameter pk, the message m, and the identifier ID ′, executes the Enc algorithm, and generates a ciphertext ct ID ′ .
  • the encryption device 20 outputs the ciphertext ct ID ′ to the decryption device 30.
  • the decryption device 30 receives the public parameter pk, the decryption key sk ID, and the ciphertext ct ID ′ , executes the Dec algorithm, and receives the message m ′ or the identification information ⁇ indicating that decryption has failed. Generate.
  • the key generation device 10 includes hardware including a processor 11, a storage device 12, and an input / output interface 13.
  • the processor 11 is connected to other hardware via a signal line, and controls these other hardware.
  • the key generation device 10 includes a master key generation unit 14, a decryption key generation unit 15, and a key output unit 16 as functional components.
  • the functions of the master key generation unit 14, the decryption key generation unit 15, and the key output unit 16 are realized by software.
  • the storage device 12 stores a program that realizes the functions of the respective units of the key generation device 10. This program is read by the processor 11 and executed by the processor 11. Thereby, the function of each part of the key generation device 10 is realized.
  • the encryption device 20 includes hardware including a processor 21, a storage device 22, and an input / output interface 23.
  • the processor 21 is connected to other hardware via a signal line, and controls these other hardware.
  • the encryption device 20 includes an input reception unit 24, a ciphertext generation unit 25, and a ciphertext output unit 26 as functional components.
  • the functions of the input reception unit 24, the ciphertext generation unit 25, and the ciphertext output unit 26 are realized by software.
  • the storage device 22 stores a program that realizes the functions of the respective units of the encryption device 20. This program is read by the processor 21 and executed by the processor 21. Thereby, the function of each part of the encryption apparatus 20 is implement
  • the decoding device 30 includes hardware including a processor 31, a storage device 32, and an input / output interface 33.
  • the processor 31 is connected to other hardware via a signal line, and controls these other hardware.
  • the decryption device 30 includes an input reception unit 34, a decryption unit 35, and a message output unit 36 as functional components.
  • the functions of the input reception unit 34, the decoding unit 35, and the message output unit 36 are realized by software.
  • the storage device 32 stores a program that realizes the functions of each unit of the decoding device 30. This program is read by the processor 31 and executed by the processor 31. Thereby, the function of each part of the decoding apparatus 30 is implement
  • the processors 11, 21, 31 are ICs (Integrated Circuits) that perform processing. Specific examples of the processors 11, 21, and 31 are a CPU (Central Processing Unit), a DSP (Digital Signal Processor), and a GPU (Graphics Processing Unit).
  • CPU Central Processing Unit
  • DSP Digital Signal Processor
  • GPU Graphics Processing Unit
  • the storage devices 12, 22, and 32 include a RAM (Random Access). Memory) and HDD (Hard Disk Drive).
  • the storage devices 12, 22, and 32 are portable storage media such as an SD (Secure Digital) memory card, a CF (Compact Flash), a NAND flash, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, and a DVD. May be.
  • the input / output interfaces 13, 23, and 33 are interfaces for receiving data input from the outside and outputting the data to the outside.
  • Specific examples of the input / output interfaces 13, 23, and 33 include USB (Universal Serial Bus), PS / 2, HDMI (registered trademark, High-Definition Multimedia Interface) for connecting an input device such as a keyboard and an output device such as a display. ).
  • the input / output interfaces 13, 23, and 33 are NICs (Networks) that transmit and receive data from the outside via a network. (Interface Card).
  • Information, data, signal values, and variable values indicating the processing results of the functions of the respective units realized by the processor 11 are stored in the storage device 12 or in a register or cache memory in the processor 11.
  • information, data, signal values, and variable values indicating the processing results of the functions of the respective units realized by the processor 21 are stored in the storage device 22, a register in the processor 21, or a cache memory.
  • information, data, signal values, and variable values indicating the results of processing of the functions of the respective units realized by the processor 31 are stored in the storage device 32, or a register or cache memory in the processor 31.
  • a program for realizing each function realized by the processor 11 is stored in the storage device 12.
  • a program for realizing each function realized by the processor 21 is stored in the storage device 22.
  • a program for realizing each function realized by the processor 31 is stored in the storage device 32.
  • this program may be stored in a portable storage medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, or a DVD.
  • the key generation device 10 may include a plurality of processors that replace the processor 11.
  • the plurality of processors share the execution of a program that realizes the function of each unit of the key generation device 10.
  • Each processor is an IC that performs processing in the same manner as the processor 11.
  • the encryption device 20 may include a plurality of processors that replace the processor 21.
  • the decoding device 30 may include a plurality of processors that replace the processor 31.
  • the operation of the cryptographic system 1 according to the first embodiment will be described with reference to FIGS. 3 to 9.
  • the operation of the cryptographic system 1 according to the first embodiment corresponds to the cryptographic method according to the first embodiment.
  • the operation of the cryptographic system 1 according to the first embodiment corresponds to the processing of the cryptographic program according to the first embodiment.
  • the Setup algorithm according to the first embodiment will be described with reference to FIGS. 3 and 6.
  • the Setup algorithm is executed by the key generation device 10.
  • Step S11 IPG generation processing
  • the master key generation unit 14 receives an input of the security parameter 1 ⁇ through the input / output interface 13.
  • a master key pair with the secret key sk IPG is generated.
  • Step S12 Hash function generation process
  • the master key generation unit 14 generates a random hash function H that converts an element of the field F q that is an identifier space into an element of the group G 0 .
  • Step S13 Master key generation process
  • the key output unit 16 outputs the public parameter pk to the encryption device 20 and the decryption device 30 by outputting the public parameter pk to an external public server or the like via the input / output interface 13.
  • the master key generation unit 14 writes the generated master secret key sk in the storage device 12.
  • the master key generation unit 14 executes the Setup algorithm shown in Equation 109 to generate a master key pair.
  • the KeyGen algorithm according to Embodiment 1 will be described with reference to FIGS.
  • the KeyGen algorithm is executed by the key generation device 10.
  • Step S21 ID reception process
  • the decryption key generation unit 15 receives input of an identifier ID of a user who uses the decryption key sk ID via the input / output interface 13.
  • Step S22 Key element generation process
  • Decryption key generating unit 15 is input with the identifier ID received in step S21, by calculating the hash function H included in the public parameter pk, and generates an element h 0 is an element of the group G 0.
  • the decryption key generation unit 15 converts the element h 0 with the homogeneous map ⁇ 1 included in the master secret key sk to generate the element h 1 .
  • Step S23 Key element output processing
  • Key output unit 16 the identifier ID received in step S21, the decryption key sk ID to the key elements and element h 1 generated in step S22, and outputs to the decoding device 30 via the input-output interface 13 .
  • the key output unit 16 prevents the decryption key sk ID from leaking to a third party by a method such as encryption by some encryption method.
  • the decryption key generation unit 15 executes the KeyGen algorithm expressed by Equation 110 to generate a decryption key sk ID .
  • the Enc algorithm according to the first embodiment will be described with reference to FIGS. 4 and 9.
  • the Enc algorithm is executed by the encryption device 20.
  • Step S31 Input acceptance process
  • the input reception unit 24 receives input of the public parameter pk generated by the key generation device 10, the message m to be encrypted, and the identifier ID ′ as a decryption condition via the input / output interface 23.
  • Ciphertext generator 25 is input with the identifier ID 'received in step S31, by calculating the hash function H included in the public parameter pk, and generates an element h 0 is an element of the group G 0.
  • the ciphertext generation unit 25 generates a uniform random number ⁇ .
  • the ciphertext generation unit 25 generates an element c represented by Formula 111 using the uniform random number ⁇ .
  • the ciphertext generation unit 25 generates the element z shown in Expression 112 using the element h 0 and the uniform random number ⁇ .
  • Ciphertext output unit 26 the identifier ID received in step S31 to 'and generated elements c in step S32, the ciphertext ct ID to encryption elements and c T', output interface 23 decodes Output to device 30.
  • the encryption device 20 executes the Enc algorithm expressed by Equation 113 to generate a ciphertext ct ID ′ .
  • the Dec algorithm according to the first embodiment will be described with reference to FIGS.
  • the Dec algorithm is executed by the decoding device 30.
  • Step S41 input acceptance process
  • the input receiving unit 34 receives input of the public parameter pk and decryption key sk ID generated by the key generation device 10 and the ciphertext ct ID ′ generated by the encryption device 20 via the input / output interface 33. .
  • Step S42 Decoding determination process
  • the decryption unit 35 determines whether or not the identifier ID included in the decryption key sk ID received in step S41 is equal to the identifier ID ′ included in the ciphertext ct ID ′ . Thereby, it is determined whether or not the ciphertext ct ID ′ can be decrypted with the decryption key sk ID . When it is determined that they are equal, that is, when it is determined that decoding is possible, the decoding unit 35 proceeds with the process to step S43, and when not, proceeds with the process to step S45.
  • Step S43 Decoding process
  • the decryption unit 35 performs a pairing operation e 1 on the element h 1 included in the decryption key sk ID received in step S41 and the encryption element c included in the ciphertext ct ID ′ , and calculates the element z ′.
  • Step S44 Message output processing
  • the message output unit 36 outputs the message m ′ calculated in step S42 via the input / output interface 33.
  • Step S45 identification information output process
  • the message output unit 36 outputs the identification information box via the input / output interface 33.
  • the decryption device 30 executes the Dec algorithm expressed by Equation 114, and decrypts the ciphertext ct ID ′ using the decryption key sk ID .
  • Embodiment 1 implements the IBE method using IPG.
  • the IBE method according to the first embodiment has a hierarchical structure in which the secret key has two layers. That is, in the IBE method according to Embodiment 1, the secret key has a two-layer structure of the upper layer master secret key and the lower layer decryption key. If the master secret key is revealed, a decryption key for any identifier ID can be generated using a conventional stochastic polynomial time machine. Therefore, in order to attack efficiently, the attacker first tries to reveal the master secret key. If the master secret key is protected, the attacker must break the ciphertext one by one.
  • a method of attacking the master secret key is called “master key level attack”, and a method of attacking ciphertexts one by one is called “user level attack”.
  • master key level attack a method of attacking ciphertexts one by one
  • user level attack a method of attacking ciphertexts one by one
  • the cryptographic system 1 according to the first embodiment Although a user level attack becomes possible, a master key level attack can be prevented. Even if the quantum computer is completed, the development speed is considered to be relatively slow at the initial stage, as in the case of existing computers. At least at the initial stage, portable handheld quantum computers do not spread, and such quantum computers are considered expensive. Therefore, it is considered that the user level attack is very inefficient.
  • the cryptographic system 1 according to the first embodiment it is possible to prevent a master key level attack while realizing an efficient IBE scheme. Therefore, the IBE method realized by the cryptographic system 1 according to the first embodiment is considered to be efficient and useful for a while even if the quantum computer is completed.
  • the functions of the respective units of the key generation device 10, the encryption device 20, and the decryption device 30 are realized by software.
  • the functions of the units of the key generation device 10, the encryption device 20, and the decryption device 30 may be realized by hardware. The first modification will be described with respect to differences from the first embodiment.
  • the key generation device 10 With reference to FIGS. 12 to 14, configurations of the key generation device 10, the encryption device 20, and the decryption device 30 according to the first modification will be described.
  • the key generation device 10, the encryption device 20, and the decryption device 30 are replaced with the processing circuits 17, 21 and 31 and the storage devices 12, 22, and 32, instead of the processing circuit 17, 27, 37.
  • the processing circuits 17, 27, and 37 are dedicated electronic circuits that implement the functions of the respective units of the key generation device 10, the encryption device 20, and the decryption device 30 and the functions of the storage devices 12, 22, and 32.
  • the processing circuits 17, 27, and 37 are a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA (Gate Array), an ASIC (Application Specific Integrated Circuit), and an FPGA (Field-Programmable Gate). Array) is assumed.
  • the key generation device 10, the encryption device 20, and the decryption device 30 may include a plurality of processing circuits that substitute for the processing circuits 17, 27, and 37. The function of each unit is realized as a whole by the plurality of processing circuits.
  • Each processing circuit is a dedicated electronic circuit, like the processing circuits 17, 27, and 37.
  • ⁇ Modification 2> As a second modification, some functions may be realized by hardware, and other functions may be realized by software. That is, some of the functions of the key generation device 10, the encryption device 20, and the decryption device 30 may be realized by hardware, and the other functions may be realized by software.
  • the processors 11, 21, 31, the storage devices 12, 22, 32, and the processing circuits 17, 27, 37 are collectively referred to as “processing circuits”. That is, the function of each part is realized by a processing circuit.
  • Embodiment 2 an ABE method having quantum resistance will be described.
  • the matrix M is a (L row ⁇ r column) matrix on the field Fq .
  • the labels ⁇ are ⁇ (t, v), (t ′, v ′),. . . ⁇
  • are labels given to the rows of the matrix M according to attributes. Note that all rows are labeled with one attribute. That is, ⁇ : ⁇ 1,. . . , L ⁇ ⁇ ⁇ (t, v), (t ′, v ′),. . . ⁇ .
  • the span program accepts or rejects input according to the following criteria: Let ⁇ be an attribute set.
  • ⁇ : ⁇ (t j , x j ) ⁇ 1 ⁇ j ⁇ d ′ (x j ⁇ U tj ).
  • the span program S accepts the attribute set ⁇ only if 1 ⁇ ⁇ span ⁇ (M i ) ⁇ (i) ⁇ >.
  • the matrix S is called an access structure.
  • KP-ABE key policy type ABE
  • a policy that is a decryption condition is set for a decryption key
  • a ciphertext policy type ABE in which a policy is set for ciphertext based on the same concept.
  • a tagged KP-ABE method will be described. In the tagged KP-ABE method, the relationship R + ((tag, S), (tag ′,) is applied to the decryption key parameter (tag, S) and the ciphertext parameter (tag ′, ⁇ ).
  • the KP-ABE method includes a Setup algorithm, a KeyGen algorithm, an Enc algorithm, and a Dec algorithm.
  • the Setup algorithm receives the security parameter 1 ⁇ and outputs the public parameter pk and the master secret key sk.
  • the Dec algorithm includes a public parameter pk, a decryption key sk tag, S corresponding to the input tag tag and the access structure S, and a ciphertext ct tag ′, ⁇ encrypted under the input tag tag ′ and the attribute set ⁇ . Is input, and the message m′ ⁇ msg or the identification information ⁇ indicating that decoding has failed is output.
  • the encryption system 1 includes a key generation device 10, an encryption device 20, and a decryption device 30.
  • the key generation device 10, the encryption device 20, and the decryption device 30 are computers.
  • the key generation device 10, the encryption device 20, and the decryption device 30 are connected via a network.
  • the encryption device 20 receives the public parameter pk, the message m, the input tag tag ′, and the attribute set ⁇ , and executes the Enc algorithm to generate the ciphertext ct tag ′, ⁇ .
  • the encryption device 20 outputs the ciphertext ct tag ′, ⁇ to the decryption device 30.
  • the decryption device 30 receives the public parameter pk, the decryption key sk tag, S, and the ciphertext ct tag ′, ⁇ and executes the Dec algorithm to indicate that the message m ′ or decryption has failed. Generate identification information ⁇ .
  • the configuration of the key generation device 10 shown in FIG. 16, the encryption device 20 shown in FIG. 17, and the decryption device 30 shown in FIG. 18 is the same as that of the key generation device 10 shown in FIG. 3 and the encryption device shown in FIG. 20 and the configuration of the decoding device 30 shown in FIG. However, the information inputted and outputted by each component is different.
  • the operation of the cryptographic system 1 according to the second embodiment corresponds to the cryptographic method according to the second embodiment.
  • the operation of the cryptographic system 1 according to the second embodiment corresponds to the processing of the cryptographic program according to the second embodiment.
  • the Setup algorithm is executed by the key generation device 10.
  • Step S11 IPG generation processing
  • the master key generation unit 14 receives an input of the security parameter 1 ⁇ through the input / output interface 13.
  • the master key generation unit 14 receives the received security parameter 1 ⁇ and an integer d equal to or greater than 1, and executes the IPG generation algorithm Gen IPG (1 ⁇ , d) to execute the public parameter pk IPG shown in Formula 115.
  • a master key pair of the master secret key sk IPG a master key pair of the master secret key sk IPG .
  • t 1,. . . , D
  • the attribute is set to the group G t and the group G ⁇ t . Therefore, the value of the integer d is determined according to the number of attributes to be set.
  • Step S12 Hash function generation process
  • the master key generation unit 14 generates a hash function H.
  • Step S13 Master key generation process
  • the key output unit 16 outputs the public parameter pk to the encryption device 20 and the decryption device 30 by outputting the public parameter pk to an external public server or the like via the input / output interface 13.
  • the master key generation unit 14 writes the generated master secret key sk in the storage device 12.
  • the master key generation unit 14 executes the Setup algorithm shown in Expression 116 to generate a master key pair.
  • the KeyGen algorithm according to the second embodiment will be described with reference to FIGS. 16 and 8.
  • the KeyGen algorithm is executed by the key generation device 10.
  • Step S21 ID reception process
  • the access structure S indicates a range that can be decrypted with the decryption key sk tag, S.
  • Step S22 Key element generation process
  • Decryption key generating unit 15 is input with the input tag tag received in step S21, by calculating the hash function H included in the public parameter pk, and generates an element h 0 is an element of the group G 0.
  • the element h 0 is converted by the homogeneous map ⁇ t to generate the element k i .
  • Step S23 Key element output processing
  • the key output unit 16 uses the input tag tag and the access structure S received in step S21 and the decryption key sk tag, S having the key element k i for i ⁇ [L] generated in step S22 as key elements. And output to the decoding device 30 via the input / output interface 13. At this time, the key output unit 16 prevents the decryption key sk tag, S from leaking to a third party by a method such as encryption by some encryption method.
  • the decryption key generation unit 15 executes the KeyGen algorithm expressed by Equation 118 to generate the decryption key sk tag, S.
  • the Enc algorithm according to the second embodiment will be described with reference to FIGS.
  • the Enc algorithm is executed by the encryption device 20.
  • Step S31 Input acceptance process
  • the input receiving unit 24 inputs the public parameter pk generated by the key generation device 10, the message m to be encrypted, the input tag tag ′ and the attribute set ⁇ as the decryption conditions via the input / output interface 23. Accept.
  • Step S33 Ciphertext Output Process
  • the ciphertext output unit 26 encrypts the input tag tag ′ and the attribute set ⁇ received in step S31, and the element c t and the element c T for each integer t included in the attribute set ⁇ generated in step S32.
  • the ciphertext ct tag ′, ⁇ as an element is output to the decryption device 30 via the input / output interface 23.
  • the encryption device 20 executes the Enc algorithm expressed by Equation 121 to generate ciphertext ct tag ′, ⁇ .
  • the Dec algorithm according to the second embodiment will be described with reference to FIGS.
  • the Dec algorithm is executed by the decoding device 30.
  • Step S41 input acceptance process
  • the input receiving unit 34 via the input / output interface 33, the public parameter pk and the decryption key sk tag, S generated by the key generation device 10, the ciphertext ct tag ′, ⁇ generated by the encryption device 20 , and Accepts input.
  • Step S42 Decoding determination process
  • the decryption unit 35 determines whether or not the input tag tag included in the decryption key sk tag, S received in step S41 is equal to the input tag tag ′ included in the ciphertext ct tag ′, ⁇ . Further, the decryption unit 35 determines whether or not the access structure S included in the decryption key sk tag, S accepts the attribute set ⁇ included in the ciphertext ct tag ′, ⁇ . Thus, it is determined whether or not the ciphertext ct tag ′, ⁇ can be decrypted with the decryption key sk tag, S. When it is determined that the input tag tag is equal to the input tag tag ′ and the access structure S is determined to accept the attribute set ⁇ , the decryption unit 35 proceeds to step S43. Proceed to step S45.
  • Step S43 Decoding process
  • the decoding unit 35 calculates a complementary coefficient ⁇ i satisfying Expression 122 for ⁇ (i) ⁇ .
  • M i is the i-th row of the matrix M.
  • the decryption unit 35 uses the element k i included in the decryption key sk tag, S received in step S41 and the cipher element c t included in the ciphertext ct tag ′, ⁇ .
  • the pairing calculation shown in Expression 123 is performed for and, and the element z ′ is calculated.
  • step S44 to step S45 is the same as in the first embodiment.
  • the decryption apparatus 30 executes the Dec algorithm expressed by Equation 124, and decrypts the ciphertext ct ID ′ using the decryption key sk ID .
  • the ciphertext ct tag ′, ⁇ can be decrypted with the decryption key sk tag, S in step S43.
  • the cryptographic system 1 implements the ABE method using IPG.
  • a hierarchical structure for two instances t ⁇ [d] and j ⁇ [n] of a small universe of ABE is used. Then, in the third embodiment, in the instance of the lower hierarchy, special form of secret sharing predicates n-out-of-2n are used to identifier matching for the identifier x t binary length n.
  • the operation of the cryptographic system 1 according to Embodiment 3 will be described with reference to FIGS. 16 to 18 and FIGS.
  • the operation of the cryptographic system 1 according to the third embodiment corresponds to the cryptographic method according to the third embodiment.
  • the operation of the cryptographic system 1 according to the third embodiment corresponds to the processing of the cryptographic program according to the third embodiment.
  • the Setup algorithm is executed by the key generation device 10.
  • Step S11 IPG generation processing
  • the master key generation unit 14 receives an input of the security parameter 1 ⁇ through the input / output interface 13.
  • the master key generation unit 14 executes the IPG generation algorithm Gen IPG (1 ⁇ , 2dn) with the received security parameter 1 ⁇ and the integer ddn of 1 or more and the integer 2dn of the integer n of 1 or more as inputs.
  • a master key pair of the public parameter pk IPG and the master secret key sk IPG shown in Expression 126 is generated.
  • the attributes are set to the group G t, j, ⁇ and the group G ⁇ t, j, ⁇ . Therefore, the values of the integers d and n are determined according to the number of attributes to be set.
  • Step S12 Hash function generation process
  • the master key generation unit 14 generates a hash function H.
  • Step S13 Master key generation process
  • the key output unit 16 outputs the public parameter pk to the encryption device 20 and the decryption device 30 by outputting the public parameter pk to an external public server or the like via the input / output interface 13.
  • the master key generation unit 14 writes the generated master secret key sk in the storage device 12.
  • the master key generation unit 14 executes the Setup algorithm shown in Equation 127 to generate a master key pair.
  • the KeyGen algorithm according to the second embodiment will be described with reference to FIGS. 16 and 8.
  • the KeyGen algorithm is executed by the key generation device 10.
  • step S21 is the same as that in the second embodiment.
  • Step S22 Key element generation process
  • Decryption key generating unit 15 is input with the input tag tag received in step S21, by calculating the hash function H included in the public parameter pk, and generates an element h 0 is an element of the group G 0.
  • the decryption key generation unit 15 converts the element h 0 with the homogeneous map ⁇ t, j, ⁇ included in the master secret key sk as shown in the equation 128, and generates the element k i, j Is generated.
  • Step S23 Key element output processing
  • the key output unit 16 uses the input tag tag and the access structure S received in step S21, and the elements k i, j for i ⁇ [L] and j ⁇ [n] generated in step S22 as key elements.
  • the decryption key sk tag, S to be output to the decryption device 30 via the input / output interface 13.
  • the key output unit 16 prevents the decryption key sk tag, S from leaking to a third party by a method such as encryption by some encryption method.
  • the decryption key generation unit 15 generates the decryption key sk tag, S by executing the KeyGen algorithm expressed by Equation 129.
  • the Enc algorithm according to the second embodiment will be described with reference to FIGS.
  • the Enc algorithm is executed by the encryption device 20.
  • step S31 is the same as that in the second embodiment.
  • Ciphertext generator 25 is input with the input tag tag 'received in step S31, by calculating the hash function H included in the public parameter pk, and generates an element h 0 is an element of the group G 0.
  • the ciphertext generation unit 25 generates a uniform random number ⁇ .
  • Step S33 Ciphertext Output Process
  • the ciphertext output unit 26 receives the input tag tag ′ and the attribute set ⁇ received in step S31, and the elements c t, j for each integer t and j ⁇ [n] included in the attribute set ⁇ generated in step S32 .
  • Cipher text ct tag ′, ⁇ having j and element c T as encryption elements is output to the decryption device 30 via the input / output interface 23.
  • the encryption device 20 executes the Enc algorithm expressed by Equation 132 to generate the ciphertext ct tag ′, ⁇ .
  • the Dec algorithm according to the second embodiment will be described with reference to FIGS.
  • the Dec algorithm is executed by the decoding device 30.
  • step S41 to step S42 is the same as that in the second embodiment.
  • Step S43 Decoding process
  • the decoding unit 35 calculates a complementary coefficient ⁇ i that satisfies Equation 133. Using the calculated complementary coefficient ⁇ i , the decryption unit 35 uses the element k i, j included in the decryption key sk tag, S received in step S41 and the encryption element included in the ciphertext ct tag ′, ⁇ . The pairing operation shown in Equation 134 is performed for c t, j and the element z ′ is calculated.
  • step S44 to step S45 is the same as that in the second embodiment.
  • the decryption device 30 executes the Dec algorithm expressed by Equation 135, and decrypts the ciphertext ct ID ′ using the decryption key sk ID .
  • the ciphertext ct tag ′, ⁇ can be decrypted with the decryption key sk tag, S in step S43.
  • Embodiment 3 realizes the ABE method for a large universe using IPG.
  • Embodiment 4 FIG.
  • a hierarchical IBE (hereinafter, HIBE) method will be described.
  • differences from the first embodiment will be described.
  • the operation of the cryptographic system 1 according to the fourth embodiment will be described with reference to FIGS.
  • the operation of the cryptographic system 1 according to the fourth embodiment corresponds to the cryptographic method according to the fourth embodiment.
  • the operation of the cryptographic system 1 according to the fourth embodiment corresponds to the processing of the cryptographic program according to the fourth embodiment.
  • the Setup algorithm according to the first embodiment will be described with reference to FIGS. 3 and 6.
  • the Setup algorithm is executed by the key generation device 10.
  • step S11 is the same as that in the first embodiment.
  • Step S12 Hash function generation process
  • Step S13 Master key generation process
  • the key output unit 16 outputs the public parameter pk to the encryption device 20 and the decryption device 30 by outputting the public parameter pk to an external public server or the like via the input / output interface 13.
  • the master key generation unit 14 writes the generated master secret key sk in the storage device 12.
  • the master key generation unit 14 executes the Setup algorithm shown in Formula 137 to generate a master key pair.
  • the KeyGen algorithm according to the fourth embodiment will be described with reference to FIGS.
  • the KeyGen algorithm is executed by the key generation device 10.
  • Step S21 ID reception process
  • the decryption key generation unit 15 receives input of an identifier ID of a user who uses the decryption key sk ID via the input / output interface 13.
  • the identifier ID is composed of ID i for i ⁇ [j]. j is an integer of 2 or more.
  • Step S22 Key element generation process
  • the decryption key generation unit 15 generates an element d ⁇ i for i ⁇ [j ⁇ 1] as shown in Formula 138.
  • the decryption key generation unit 15 calculates the hash function H 0 included in the public parameter pk, using ID 1 constituting the identifier ID received in step S21 as an input, and obtains the element h 1 that is an element of the group G 0 Generate. Also, the decryption key generation unit 15 sets ID 1 ,. . . , ID i as input, the hash function H 1 included in the public parameter pk is calculated to generate an element h i that is an element of the group G 1 . Then, the decryption key generation unit 15 generates an element d j obtained by converting the element h 1 with the same kind of mapping ⁇ 1 included in the master secret key sk as shown in Expression 139.
  • Step S23 Key element output processing
  • the key output unit 16 uses the identifier ID received in step S21, and the decryption key sk ID generated using the element d ⁇ j and the element d j for i ⁇ [j-1] generated in step S22 as key elements. Is output to the decoding device 30 via the input / output interface 13. At this time, the key output unit 16 prevents the decryption key sk ID from leaking to a third party by a method such as encryption by some encryption method.
  • the decryption key generation unit 15 executes the KeyGen algorithm expressed by Equation 140 to generate a decryption key sk ID .
  • the Enc algorithm according to the first embodiment will be described with reference to FIGS. 4 and 9.
  • the Enc algorithm is executed by the encryption device 20.
  • Step S31 Input acceptance process
  • the input reception unit 24 receives input of the public parameter pk generated by the key generation device 10, the message m to be encrypted, and the identifier ID ′ as a decryption condition via the input / output interface 23.
  • the identifier ID ′ is composed of ID ′ i for i ⁇ [j].
  • the ciphertext generator 25 generates a uniform random number ⁇ .
  • the ciphertext generation unit 25 generates an element c ⁇ 0 shown in Formula 141 using the uniform random number ⁇ .
  • the ciphertext generation unit 25 sets ID ′ 1 ,. . . , ID ′ i as input, the hash function H 1 included in the public parameter pk is calculated, and the element h i that is an element of the group G 1 is generated.
  • Ciphertext generating unit 25 uses the element h i, to produce an element c i shown in Formula 142.
  • Step S33 Ciphertext Output Process
  • the ciphertext output unit 26 uses the identifier ID ′ received in step S31 and the elements c ⁇ 0 , (c i ) i ⁇ [2, j] and c T generated in step S32 as encryption elements.
  • the sentence ct ID ′ is output to the decryption device 30 via the input / output interface 23.
  • the encryption device 20 executes the Enc algorithm shown in Formula 144 to generate the ciphertext ct ID ′ .
  • the Dec algorithm according to the first embodiment will be described with reference to FIGS.
  • the Dec algorithm is executed by the decoding device 30.
  • step S41 to step S42 is the same as in the first embodiment.
  • Step S43 Decoding process
  • Decoding unit 35 shown in element d ⁇ and j and element d j, the element c ⁇ 0 and element c i and the number 145 included in the ciphertext ct ID 'included in the decryption key sk ID received in step S41 Perform an operation to calculate the element z ′.
  • step S44 to step S45 is the same as in the first embodiment.
  • the decryption apparatus 30 executes the Dec algorithm expressed by Equation 146 to decrypt the ciphertext ct ID ′ with the decryption key sk ID .
  • the ciphertext ct tag ′, ⁇ can be decrypted with the decryption key sk tag, S in step S43.
  • the cryptographic system 1 implements the HIBE method using IPG.
  • Embodiment 5 FIG.
  • the IPG generation algorithm Gen IPG (1 ⁇ , d) will be specifically described using an elliptic curve.
  • Step S51 Element generation processing
  • the master key generation unit 14 has a sufficiently large hyperelliptic curve E 0 / F p2 for the odd prime p. (Here, p2 is p 2) randomly generating.
  • the master key generation unit 14, a suitable (L ⁇ , kappa) and asymmetric pairing groups quantile r comprised subgroup of an elliptic curve E 0 (G 0, G ⁇ 0, G T; e 0) Is generated.
  • the master key generation unit 14 selects from the group G 0 elements g 0 uniformly, evenly select an element g ⁇ 0 from the group G ⁇ 0.
  • Step S52 Homogeneous generation process
  • the master key generation unit 14 the algorithm ISOG L ⁇ , running kappa (E 0), t ⁇ for [d], the elliptic curve E t as the elliptic curve E 0 and the like, an elliptic curve from the elliptic curve E 0
  • a trapdoor ⁇ t for calculating a homogeneous map to E t is randomly generated.
  • the algorithm Isog L ⁇ , ⁇ (E 0 ) the Isog L ⁇ , ⁇ djp algorithm described in Non-Patent Document 3 shown in FIG. 20 can be used.
  • the algorithms Isog L ⁇ , ⁇ (E 0 ) the Isog L ⁇ , ⁇ clg algorithm described in Non-Patent Documents 4 and 5 shown in FIG. 21 can be used.
  • Step S53 Homogeneous element generation processing
  • Step S54 Element output process
  • the master key generation unit 14, generated at step S51 and step S53 (G t, G ⁇ t , g t, g ⁇ t, e t) t ⁇ [0, d], the public parameters pk IPG the G T , ( ⁇ t ) t ⁇ [d] , ( ⁇ t ) t ⁇ [d] is output as the master secret key sk IPG .
  • the IPG generation algorithm Gen IPG (1 ⁇ , d) is as shown in Formula 148.
  • Embodiment 5 can implement the IPG generation algorithm Gen IPG (1 ⁇ , d) using an elliptic curve.
  • Embodiment 6 FIG.
  • a specific configuration using an elliptic curve will be described.
  • the IBE method described in the first embodiment and the ABE method described in the second embodiment will be described.
  • the ABE method described in the third embodiment and the HIBE method described in the fourth embodiment can also have a specific configuration using an elliptic curve by a similar method.
  • the Enc algorithm is as shown in Formula 151.
  • the Dec algorithm is as shown in Formula 152.
  • the ciphertext ct ID ′ can be decrypted with the decryption key sk ID .
  • deg ( ⁇ 1 ) L 1 to ⁇ .
  • the ABE method described in the second embodiment will be described.
  • the Setup algorithm is as shown in Equation 154.
  • the KeyGen algorithm is as shown in Equation 155.
  • the Enc algorithm is as shown in Equation 156.
  • the Dec algorithm is as shown in Equation 157.
  • the ciphertext ct ID ′ can be decrypted with the decryption key sk ID .
  • the IBE method and the ABE method can be specifically configured using an elliptic curve.
  • Embodiment 7 FIG.
  • the IPG is configured using the same kind of mapping and the pairing calculation.
  • the IPG may be configured using a trapdoor homomorphic map (hereinafter, TH) instead of the homogeneous map.
  • TH trapdoor homomorphic map
  • mapping ⁇ : ⁇ ⁇ : G 0 ⁇ G 1 for two randomly selected cyclic groups G 0 and G 1 of prime order q is TH.
  • the map ⁇ is a non-trivial homomorphic map. Non-trivial is, for example, non-zero for additive groups.
  • is an element of the group G in the case of symmetric pairing or the group G ⁇ in the case of asymmetric pairing.
  • ⁇ : C is a cyclic subgroup of the curve E.

Abstract

The purpose of this invention is to make it possible to configure cipher such as attribute-based cipher that is effective even in the case where a quantum computer is made. A cipher system (1) uses a plurality of groups that are associated by an isogeny φt regarding an integer t of t ∈ [d] and a pairing computation et regarding an integer t of t ∈ [0, d]. The cipher system (1) is provided with: a cipher apparatus (20) that generates ciphertext including a cipher element of a certain group among the plurality of groups; and a decoding apparatus (30) that decodes the ciphertext generated by the cipher apparatus (20) using a decoding key including a key element of a group different from the certain group among the plurality of groups.

Description

暗号化装置、復号装置及び暗号システムEncryption device, decryption device, and encryption system
 この発明は、耐量子暗号方式に関する。 This invention relates to an anti-quantum cryptosystem.
 量子計算機の開発が世界的に進められている。量子計算機に対しても安全性を維持できる、すなわち耐量子性を有する、格子暗号をはじめとした暗号方式の研究も進められている。しかし、格子暗号には、的確なデータサイズ設定が未だ困難であるという指摘があり、他の数学原理に基づいた構成法が望まれていた。 Quantum computers are being developed worldwide. Research is also underway on cryptosystems such as lattice cryptosystems that can maintain security against quantum computers, that is, have quantum resistance. However, it has been pointed out that it is still difficult to set an accurate data size for lattice encryption, and a construction method based on other mathematical principles has been desired.
 楕円曲線におけるペアリング演算を用いた属性ベース暗号(以下、ABE)が数多く提案されている。非特許文献1には、楕円曲線におけるペアリング演算を用いた属性ベース暗号の1つの方式が記載されている。 Many attribute-based ciphers (hereinafter referred to as ABE) using pairing operations on elliptic curves have been proposed. Non-Patent Document 1 describes one method of attribute-based encryption using a pairing operation on an elliptic curve.
 また、非特許文献2には、同種写像を用いた、耐量子性を有する公開鍵暗号方式が記載されている。 Also, Non-Patent Document 2 describes a public key cryptosystem having quantum resistance using the same kind of mapping.
 しかし、楕円曲線ペアリングを用いた属性ベース暗号は全て、量子計算機によりマスター秘密鍵が暴かれ壊滅的な被害を受けることがわかっている。また、耐量子性を有する属性ベース暗号はなかった。
 この発明は、量子計算機ができた場合にも有効な属性ベース暗号といった暗号方式を構成可能とすることを目的とする。
However, all attribute-based cryptography using elliptic curve pairing has been found to be devastatingly damaged by the quantum computer uncovering the master secret key. There was no attribute-based encryption with quantum resistance.
An object of the present invention is to make it possible to configure an encryption scheme such as attribute-based encryption that is effective even when a quantum computer is made.
 この発明に係る暗号化装置は、
 同種写像とペアリング演算とによって対応付けられた複数の群を用いた暗号システムにおける暗号化装置であり、
 前記複数の群のうちのある群の暗号要素を含む暗号文を生成する暗号文生成部を備える。
The encryption device according to the present invention provides:
An encryption device in an encryption system using a plurality of groups associated by homogenous mapping and pairing operation,
A ciphertext generating unit configured to generate a ciphertext including a certain group of cipher elements of the plurality of groups;
 この発明では、同種写像とペアリング演算とによって対応付けられた複数の群を用いることにより、量子計算機ができた場合にも有効な属性ベース暗号といった暗号を構成可能となる。 In the present invention, by using a plurality of groups associated by the homogeneous mapping and the pairing operation, it is possible to construct a cipher such as an attribute-based encryption that is effective even when a quantum computer is created.
実施の形態1に係るIBE方式で用いられる同種ペアリンググループの説明図。Explanatory drawing of the same kind pairing group used with the IBE system which concerns on Embodiment 1. FIG. 実施の形態1に係る暗号システム1の構成図。1 is a configuration diagram of a cryptographic system 1 according to Embodiment 1. FIG. 実施の形態1に係る鍵生成装置10の構成図。1 is a configuration diagram of a key generation device 10 according to Embodiment 1. FIG. 実施の形態1に係る暗号化装置20の構成図。1 is a configuration diagram of an encryption device 20 according to Embodiment 1. FIG. 実施の形態1に係る復号装置30の構成図。1 is a configuration diagram of a decoding device 30 according to Embodiment 1. FIG. 実施の形態1に係るSetupアルゴリズムのフローチャート。4 is a flowchart of a setup algorithm according to the first embodiment. 実施の形態1に係る同種ペアリンググループの説明図。Explanatory drawing of the same kind pairing group which concerns on Embodiment 1. FIG. 実施の形態1に係るKeyGenアルゴリズムのフローチャート。4 is a flowchart of a KeyGen algorithm according to the first embodiment. 実施の形態1に係るEncアルゴリズムのフローチャート。4 is a flowchart of an Enc algorithm according to the first embodiment. 実施の形態1に係るDecアルゴリズムのフローチャート。3 is a flowchart of a Dec algorithm according to the first embodiment. 実施の形態1に係るIBE方式に対する攻撃法の説明図。Explanatory drawing of the attack method with respect to the IBE system which concerns on Embodiment 1. FIG. 変形例1に係る鍵生成装置10の構成図。The block diagram of the key generation apparatus 10 which concerns on the modification 1. FIG. 変形例1に係る暗号化装置20の構成図。The block diagram of the encryption apparatus 20 which concerns on the modification 1. FIG. 変形例1に係る復号装置30の構成図。The block diagram of the decoding apparatus 30 which concerns on the modification 1. FIG. 実施の形態2に係る暗号システム1の構成図。FIG. 3 is a configuration diagram of a cryptographic system 1 according to a second embodiment. 実施の形態2に係る鍵生成装置10の構成図。FIG. 3 is a configuration diagram of a key generation device 10 according to a second embodiment. 実施の形態2に係る暗号化装置20の構成図。FIG. 4 is a configuration diagram of an encryption device 20 according to a second embodiment. 実施の形態2に係る復号装置30の構成図。FIG. 4 is a configuration diagram of a decoding device 30 according to a second embodiment. 実施の形態5に係るIPG生成アルゴリズムのフローチャート。10 is a flowchart of an IPG generation algorithm according to the fifth embodiment. 実施の形態5に係るアルゴリズムIsogL~,κ(E)の説明図。FIG. 10 is an explanatory diagram of algorithms Isog L to κ (E 0 ) according to the fifth embodiment. 実施の形態5に係るアルゴリズムIsogL~,κ(E)の説明図。FIG. 10 is an explanatory diagram of algorithms Isog L to κ (E 0 ) according to the fifth embodiment.
 実施の形態1.
 実施の形態1では、耐量子性を有するIDベース暗号(以下、IBE)方式について説明する。
Embodiment 1 FIG.
In Embodiment 1, an ID-based encryption (hereinafter referred to as IBE) method having quantum resistance will be described.
 ***記法の説明***
 実施の形態1で用いられる記法について説明する。
*** Explanation of notation ***
The notation used in Embodiment 1 will be described.
 Aがランダムな値または分布であるとき、数101は、Aの分布に従いAからyをランダムに選択することを表す。つまり、数101において、yは乱数である。
Figure JPOXMLDOC01-appb-M000016
When A is a random value or distribution, Equation 101 represents selecting y from A randomly according to the distribution of A. That is, in Equation 101, y is a random number.
Figure JPOXMLDOC01-appb-M000016
 Aが集合であるとき、数102は、Aからyを一様に選択することを表す。つまり、数102において、yは一様乱数である。
Figure JPOXMLDOC01-appb-M000017
When A is a set, Equation 102 represents selecting y from A uniformly. That is, in Equation 102, y is a uniform random number.
Figure JPOXMLDOC01-appb-M000017
 数103は、位数qの体を表す。
Figure JPOXMLDOC01-appb-M000018
 また、位数qの体を文中では単にFと記載する。
The number 103 represents a field of order q.
Figure JPOXMLDOC01-appb-M000018
The field of order q is simply referred to as F q in the text.
 [n]:={1,...,n}とし、[0,n]:={0}∪[n]:={0,...,n}とする。nは、0以上の整数である。 [N]: = {1,. . . , N}, [0, n]: = {0} ∪ [n]: = {0,. . . , N}. n is an integer of 0 or more.
 数104に示す2つのベクトルy及びvについて、y・vは、数105に示す内積を示す。
Figure JPOXMLDOC01-appb-M000019
Figure JPOXMLDOC01-appb-M000020
For two vectors y and v of the equation 104, y · v indicates the inner product shown in Formula 105.
Figure JPOXMLDOC01-appb-M000019
Figure JPOXMLDOC01-appb-M000020
 ***概念の説明***
 図1を参照して、実施の形態1に係るIBE方式で用いられる同種ペアリンググループ(以下、IPG)について説明する。
*** Explanation of concept ***
With reference to FIG. 1, the same kind pairing group (henceforth IPG) used with the IBE system which concerns on Embodiment 1 is demonstrated.
 IPGは、同種写像とペアリング演算とによって対応付けられた複数の群を有する。
 具体的には、IPGは、群Gと、群Gと同種写像φによって対応付けられたt=1,...,dの各群Gと、t=0,...,dの各群G及び群G^とペアリング演算eによって対応付られた群Gとを有する。そして、IPGでは、群G×群G^からペアリング演算eで変換された場合と、t=1,...,dのいずれの整数tについての同種写像φによって群G×群G^から群G×群G^に変換された上で、ペアリング演算eによって変換された場合とで、結果は等しくなる。
The IPG has a plurality of groups associated with each other by a homogeneous map and a pairing operation.
Specifically, IPG is a group G 0, t = 1 ,. associated with the group G 0 and isogeny phi t . . , Each group G t of d, t = 0,. . . , And a group G T is attached corresponding with each group G t and the group G ^ t and pairing operation e t of d. Then, the IPG, and if it is converted by the pairing operation e 0 from the group G 0 × group G ^ 0, t = 1 ,. . . , On which has been converted from the group G 0 × group G ^ 0 by isogenies phi t for any integer t of d in the group G t × group G ^ t, in the case that has been converted by the pairing operation e t The results are equal.
 より正確には、IPGは以下のように定義される。
 IPG生成アルゴリズムGenIPG(1λ,d)では、数106に示す公開パラメータpkIPGとマスター秘密鍵skIPGとのマスター鍵ペアがランダムに生成される。
Figure JPOXMLDOC01-appb-M000021
 ここで、(G,G^,e,G)は、ペアリング演算e:G×G^→Gを有する素数位数qの非対称ペアリング群である。g^∈G^である。同種写像φ:G→Gであり、異なる楕円曲線間の同種によって与えられる。g=φ(g)∈Gである。
 IPGは、数107に示す両立性を有する。
Figure JPOXMLDOC01-appb-M000022
 ここで、g=e(g,g^)≠1である。また、G≠G^である。
More precisely, IPG is defined as follows:
In the IPG generation algorithm Gen IPG (1 λ , d), a master key pair of the public parameter pk IPG and the master secret key sk IPG shown in Expression 106 is randomly generated.
Figure JPOXMLDOC01-appb-M000021
Here, (G t, G ^ t , e t, G T) is pairing operation e t: is asymmetrical pairing group G t × G ^ t → number of prime number having a G T q. a g ^ t ∈G ^ t. Homogeneous map φ t : G 0 → G t and is given by the same kind between different elliptic curves. g t = φ t (g 0 ) ∈G t .
The IPG has compatibility shown in Equation 107.
Figure JPOXMLDOC01-appb-M000022
Here, g T = e 0 (g 0 , g ^ 0 ) ≠ 1. Further, G t ≠ G ^ t .
 ***構成の説明***
 実施の形態1に係るIBE方式の構成を説明する。
 IBE方式は、Setupアルゴリズムと、KeyGenアルゴリズムと、Encアルゴリズムと、Decアルゴリズムとを備える。
 Setupアルゴリズムは、セキュリティパラメータ1λを入力として、公開パラメータpkと、マスター秘密鍵skとを出力する。
 KeyGenアルゴリズムは、公開パラメータpkと、マスター秘密鍵skと、識別子IDとを入力として、識別子IDに対応した復号鍵skIDを出力する。
 Encアルゴリズムは、公開パラメータpkと、メッセージ空間msgにおけるメッセージmと、識別子ID’とを入力として、暗号文ctID’を出力する。
 Decアルゴリズムは、公開パラメータpkと、識別子IDに対応した復号鍵skIDと、識別子ID’の下で暗号化された暗号文ctID’とを入力として、メッセージm’∈msg、又は、復号に失敗したことを示す識別情報⊥を出力する。
*** Explanation of configuration ***
The configuration of the IBE method according to the first embodiment will be described.
The IBE method includes a Setup algorithm, a KeyGen algorithm, an Enc algorithm, and a Dec algorithm.
The Setup algorithm receives the security parameter 1 λ and outputs the public parameter pk and the master secret key sk.
The KeyGen algorithm receives a public parameter pk, a master secret key sk, and an identifier ID, and outputs a decryption key sk ID corresponding to the identifier ID.
The Enc algorithm receives the public parameter pk, the message m in the message space msg, and the identifier ID ′, and outputs a ciphertext ct ID ′ .
The Dec algorithm receives the public parameter pk, the decryption key sk ID corresponding to the identifier ID, and the ciphertext ct ID ′ encrypted under the identifier ID ′, and receives the message m′εmsg or decryption. Outputs identification information 示 す indicating failure.
 図2を参照して、実施の形態1に係る暗号システム1の構成を説明する。
 暗号システム1は、鍵生成装置10と、暗号化装置20と、復号装置30とを備える。
 鍵生成装置10と暗号化装置20と復号装置30とは、コンピュータである。鍵生成装置10と暗号化装置20と復号装置30とは、ネットワークを介して接続されている。
With reference to FIG. 2, the configuration of the cryptographic system 1 according to the first embodiment will be described.
The encryption system 1 includes a key generation device 10, an encryption device 20, and a decryption device 30.
The key generation device 10, the encryption device 20, and the decryption device 30 are computers. The key generation device 10, the encryption device 20, and the decryption device 30 are connected via a network.
 鍵生成装置10は、セキュリティパラメータ1λを入力として、Setupアルゴリズムを実行して、公開パラメータpkと、マスター秘密鍵skとを生成する。また、鍵生成装置10は、公開パラメータpkと、マスター秘密鍵skと、識別子IDとを入力として、KeyGenアルゴリズムを実行して、復号鍵skIDを生成する。
 鍵生成装置10は、公開パラメータpkを公開し、復号鍵skIDを識別子IDに対応する復号装置30に出力する。鍵生成装置10は、マスター秘密鍵skを保管する。
The key generation apparatus 10 receives the security parameter 1 λ and executes the Setup algorithm to generate the public parameter pk and the master secret key sk. Further, the key generation device 10 receives the public parameter pk, the master secret key sk, and the identifier ID, executes the KeyGen algorithm, and generates a decryption key sk ID .
The key generation device 10 discloses the public parameter pk and outputs the decryption key sk ID to the decryption device 30 corresponding to the identifier ID. The key generation device 10 stores the master secret key sk.
 暗号化装置20は、公開パラメータpkと、メッセージmと、識別子ID’とを入力として、Encアルゴリズムを実行して、暗号文ctID’を生成する。暗号化装置20は、暗号文ctID’を復号装置30に出力する。 The encryption device 20 receives the public parameter pk, the message m, and the identifier ID ′, executes the Enc algorithm, and generates a ciphertext ct ID ′ . The encryption device 20 outputs the ciphertext ct ID ′ to the decryption device 30.
 復号装置30は、公開パラメータpkと、復号鍵skIDと、暗号文ctID’とを入力として、Decアルゴリズムを実行して、メッセージm’、又は、復号に失敗したこと
を示す識別情報⊥を生成する。
The decryption device 30 receives the public parameter pk, the decryption key sk ID, and the ciphertext ct ID ′ , executes the Dec algorithm, and receives the message m ′ or the identification information ⊥ indicating that decryption has failed. Generate.
 図3を参照して、実施の形態1に係る鍵生成装置10の構成を説明する。
 鍵生成装置10は、プロセッサ11と、記憶装置12と、入出力インタフェース13とのハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
With reference to FIG. 3, the configuration of the key generation apparatus 10 according to the first embodiment will be described.
The key generation device 10 includes hardware including a processor 11, a storage device 12, and an input / output interface 13. The processor 11 is connected to other hardware via a signal line, and controls these other hardware.
 鍵生成装置10は、機能構成要素として、マスター鍵生成部14と、復号鍵生成部15と、鍵出力部16とを備える。マスター鍵生成部14と、復号鍵生成部15と、鍵出力部16との各部の機能はソフトウェアにより実現される。
 記憶装置12には、鍵生成装置10の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ11により読み込まれ、プロセッサ11によって実行される。これにより、鍵生成装置10の各部の機能が実現される。
The key generation device 10 includes a master key generation unit 14, a decryption key generation unit 15, and a key output unit 16 as functional components. The functions of the master key generation unit 14, the decryption key generation unit 15, and the key output unit 16 are realized by software.
The storage device 12 stores a program that realizes the functions of the respective units of the key generation device 10. This program is read by the processor 11 and executed by the processor 11. Thereby, the function of each part of the key generation device 10 is realized.
 図4を参照して、実施の形態1に係る暗号化装置20の構成を説明する。
 暗号化装置20は、プロセッサ21と、記憶装置22と、入出力インタフェース23とのハードウェアを備える。プロセッサ21は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
With reference to FIG. 4, the configuration of encryption apparatus 20 according to Embodiment 1 will be described.
The encryption device 20 includes hardware including a processor 21, a storage device 22, and an input / output interface 23. The processor 21 is connected to other hardware via a signal line, and controls these other hardware.
 暗号化装置20は、機能構成要素として、入力受付部24と、暗号文生成部25と、暗号文出力部26とを備える。入力受付部24と、暗号文生成部25と、暗号文出力部26との各部の機能はソフトウェアにより実現される。
 記憶装置22には、暗号化装置20の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ21により読み込まれ、プロセッサ21によって実行される。これにより、暗号化装置20の各部の機能が実現される。
The encryption device 20 includes an input reception unit 24, a ciphertext generation unit 25, and a ciphertext output unit 26 as functional components. The functions of the input reception unit 24, the ciphertext generation unit 25, and the ciphertext output unit 26 are realized by software.
The storage device 22 stores a program that realizes the functions of the respective units of the encryption device 20. This program is read by the processor 21 and executed by the processor 21. Thereby, the function of each part of the encryption apparatus 20 is implement | achieved.
 図5を参照して、実施の形態1に係る復号装置30の構成を説明する。
 復号装置30は、プロセッサ31と、記憶装置32と、入出力インタフェース33とのハードウェアを備える。プロセッサ31は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
With reference to FIG. 5, the configuration of decoding apparatus 30 according to Embodiment 1 will be described.
The decoding device 30 includes hardware including a processor 31, a storage device 32, and an input / output interface 33. The processor 31 is connected to other hardware via a signal line, and controls these other hardware.
 復号装置30は、機能構成要素として、入力受付部34と、復号部35と、メッセージ出力部36とを備える。入力受付部34と、復号部35と、メッセージ出力部36との各部の機能はソフトウェアにより実現される。
 記憶装置32には、復号装置30の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ31により読み込まれ、プロセッサ31によって実行される。これにより、復号装置30の各部の機能が実現される。
The decryption device 30 includes an input reception unit 34, a decryption unit 35, and a message output unit 36 as functional components. The functions of the input reception unit 34, the decoding unit 35, and the message output unit 36 are realized by software.
The storage device 32 stores a program that realizes the functions of each unit of the decoding device 30. This program is read by the processor 31 and executed by the processor 31. Thereby, the function of each part of the decoding apparatus 30 is implement | achieved.
 プロセッサ11,21,31は、プロセッシングを行うIC(Integrated Circuit)である。プロセッサ11,21,31は、具体例としては、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。 The processors 11, 21, 31 are ICs (Integrated Circuits) that perform processing. Specific examples of the processors 11, 21, and 31 are a CPU (Central Processing Unit), a DSP (Digital Signal Processor), and a GPU (Graphics Processing Unit).
 記憶装置12,22,32は、具体例としては、RAM(Random Access
 Memory)、HDD(Hard Disk Drive)である。また、記憶装置12,22,32は、SD(Secure Digital)メモリカード、CF(CompactFlash)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬記憶媒体であってもよい。
As a specific example, the storage devices 12, 22, and 32 include a RAM (Random Access).
Memory) and HDD (Hard Disk Drive). The storage devices 12, 22, and 32 are portable storage media such as an SD (Secure Digital) memory card, a CF (Compact Flash), a NAND flash, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, and a DVD. May be.
 入出力インタフェース13,23,33は、外部からデータの入力を受け付け、外部へデータを出力するためのインタフェースである。入出力インタフェース13,23,33は、具体例としては、キーボードといった入力装置と、ディスプレイといった出力装置とを接続するUSB(Universal Serial Bus)、PS/2、HDMI(登録商標、High-Definition Multimedia Interface)といったコネクタである。また、入出力インタフェース13,23,33は、具体例としては、外部からネットワークを介してデータを送受信するNIC(Network
 Interface Card)であってもよい。
The input / output interfaces 13, 23, and 33 are interfaces for receiving data input from the outside and outputting the data to the outside. Specific examples of the input / output interfaces 13, 23, and 33 include USB (Universal Serial Bus), PS / 2, HDMI (registered trademark, High-Definition Multimedia Interface) for connecting an input device such as a keyboard and an output device such as a display. ). Further, as a specific example, the input / output interfaces 13, 23, and 33 are NICs (Networks) that transmit and receive data from the outside via a network.
(Interface Card).
 プロセッサ11によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、記憶装置12、又は、プロセッサ11内のレジスタ又はキャッシュメモリに記憶される。同様に、プロセッサ21によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、記憶装置22、又は、プロセッサ21内のレジスタ又はキャッシュメモリに記憶される。同様に、プロセッサ31によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、記憶装置32、又は、プロセッサ31内のレジスタ又はキャッシュメモリに記憶される。 Information, data, signal values, and variable values indicating the processing results of the functions of the respective units realized by the processor 11 are stored in the storage device 12 or in a register or cache memory in the processor 11. Similarly, information, data, signal values, and variable values indicating the processing results of the functions of the respective units realized by the processor 21 are stored in the storage device 22, a register in the processor 21, or a cache memory. Similarly, information, data, signal values, and variable values indicating the results of processing of the functions of the respective units realized by the processor 31 are stored in the storage device 32, or a register or cache memory in the processor 31.
 プロセッサ11によって実現される各機能を実現するプログラムは、記憶装置12に記憶されているとした。同様に、プロセッサ21によって実現される各機能を実現するプログラムは、記憶装置22に記憶されているとした。同様に、プロセッサ31によって実現される各機能を実現するプログラムは、記憶装置32に記憶されているとした。しかし、このプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬記憶媒体に記憶されてもよい。 It is assumed that a program for realizing each function realized by the processor 11 is stored in the storage device 12. Similarly, it is assumed that a program for realizing each function realized by the processor 21 is stored in the storage device 22. Similarly, it is assumed that a program for realizing each function realized by the processor 31 is stored in the storage device 32. However, this program may be stored in a portable storage medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, or a DVD.
 図3では、プロセッサ11は、1つだけ示されていた。しかし、鍵生成装置10は、プロセッサ11を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、鍵生成装置10の各部の機能を実現するプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ11と同じように、プロセッシングを行うICである。同様に、暗号化装置20は、プロセッサ21を代替する複数のプロセッサを備えていてもよい。また、復号装置30は、プロセッサ31を代替する複数のプロセッサを備えていてもよい。 In FIG. 3, only one processor 11 is shown. However, the key generation device 10 may include a plurality of processors that replace the processor 11. The plurality of processors share the execution of a program that realizes the function of each unit of the key generation device 10. Each processor is an IC that performs processing in the same manner as the processor 11. Similarly, the encryption device 20 may include a plurality of processors that replace the processor 21. The decoding device 30 may include a plurality of processors that replace the processor 31.
 ***動作の説明***
 図3から図9を参照して、実施の形態1に係る暗号システム1の動作を説明する。
 実施の形態1に係る暗号システム1の動作は、実施の形態1に係る暗号方法に相当する。また、実施の形態1に係る暗号システム1の動作は、実施の形態1に係る暗号プログラムの処理に相当する。
*** Explanation of operation ***
The operation of the cryptographic system 1 according to the first embodiment will be described with reference to FIGS. 3 to 9.
The operation of the cryptographic system 1 according to the first embodiment corresponds to the cryptographic method according to the first embodiment. The operation of the cryptographic system 1 according to the first embodiment corresponds to the processing of the cryptographic program according to the first embodiment.
 図3及び図6を参照して、実施の形態1に係るSetupアルゴリズムを説明する。
 Setupアルゴリズムは、鍵生成装置10によって実行される。
The Setup algorithm according to the first embodiment will be described with reference to FIGS. 3 and 6.
The Setup algorithm is executed by the key generation device 10.
 (ステップS11:IPG生成処理)
 マスター鍵生成部14は、入出力インタフェース13を介してセキュリティパラメータ1λの入力を受け付ける。マスター鍵生成部14は、受け付けられたセキュリティパラメータ1λと、d=1とを入力として、IPG生成アルゴリズムGenIPG(1λ,d)を実行して、数108に示す公開パラメータpkIPGとマスター秘密鍵skIPGとのマスター鍵ペアを生成する。
Figure JPOXMLDOC01-appb-M000023
(Step S11: IPG generation processing)
The master key generation unit 14 receives an input of the security parameter 1 λ through the input / output interface 13. The master key generation unit 14 receives the received security parameter 1 λ and d = 1, executes the IPG generation algorithm Gen IPG (1 λ , d), and executes the public parameter pk IPG shown in Expression 108 and the master. A master key pair with the secret key sk IPG is generated.
Figure JPOXMLDOC01-appb-M000023
 つまり、図7に示すように、実施の形態1では、t=0,1についての群G及び群G^とペアリング演算eと、群Gと、同種写像φとが生成される。
 なお、図7に示されるように、GからGへの変換が“復号鍵生成(KeyGen)”に、G×G^からGへの変換が“暗号化(Enc)”に、G×G^からGへの変換が“復号(Dec)”に大まかに対応している。
That is, as shown in FIG. 7, in the first embodiment, and the group G t and the group G ^ t and pairing operation e t for t = 0, 1, and the group G T, and the isogeny phi 1 product Is done.
Incidentally, as shown in FIG. 7, the conversion is "decryption key generation (KeyGen)" from G 0 to G 1, to G 0 × conversion "encryption (Enc)" from G ^ 0 to G T , converted from G 1 × G ^ 1 to G T is roughly correspond to "decode (Dec)".
 (ステップS12:ハッシュ関数生成処理)
 マスター鍵生成部14は、識別子の空間である体Fの要素を、群Gの要素に変換するランダムなハッシュ関数Hを生成する。
(Step S12: Hash function generation process)
The master key generation unit 14 generates a random hash function H that converts an element of the field F q that is an identifier space into an element of the group G 0 .
 (ステップS13:マスター鍵生成処理)
 マスター鍵生成部14は、ステップS11で生成された公開パラメータpkIPGと、ステップS12で生成されたハッシュ関数Hとを用いて、公開パラメータpk:=((G,G^,g^,et=0,1,G,H)を生成する。鍵出力部16は、公開パラメータpkを入出力インタフェース13を介して外部の公開用サーバ等へ出力することにより、公開パラメータpkを暗号化装置20及び復号装置30に出力する。
 また、マスター鍵生成部14は、ステップS11で生成されたマスター秘密鍵skIPGを用いて、マスター秘密鍵sk:=φを生成する。マスター鍵生成部14は、生成されたマスター秘密鍵skを記憶装置12に書き込む。
(Step S13: Master key generation process)
The master key generation unit 14 uses the public parameter pk IPG generated in step S11 and the hash function H generated in step S12, so that the public parameter pk: = (((G t , G ^ t , g ^ t , E t ) t = 0,1 , G T , H). The key output unit 16 outputs the public parameter pk to the encryption device 20 and the decryption device 30 by outputting the public parameter pk to an external public server or the like via the input / output interface 13.
Also, the master key generation unit 14 uses the master secret key sk IPG generated in step S11, the master secret key sk: = generating a phi 1. The master key generation unit 14 writes the generated master secret key sk in the storage device 12.
 つまり、マスター鍵生成部14は、数109に示すSetupアルゴリズムを実行して、マスター鍵ペアを生成する。
Figure JPOXMLDOC01-appb-M000024
That is, the master key generation unit 14 executes the Setup algorithm shown in Equation 109 to generate a master key pair.
Figure JPOXMLDOC01-appb-M000024
 図3及び図8を参照して、実施の形態1に係るKeyGenアルゴリズムを説明する。
 KeyGenアルゴリズムは、鍵生成装置10によって実行される。
The KeyGen algorithm according to Embodiment 1 will be described with reference to FIGS.
The KeyGen algorithm is executed by the key generation device 10.
 (ステップS21:ID受付処理)
 復号鍵生成部15は、入出力インタフェース13を介して、復号鍵skIDを使用するユーザの識別子IDの入力を受け付ける。
(Step S21: ID reception process)
The decryption key generation unit 15 receives input of an identifier ID of a user who uses the decryption key sk ID via the input / output interface 13.
 (ステップS22:鍵要素生成処理)
 復号鍵生成部15は、ステップS21で受け付けられた識別子IDを入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群Gの要素である要素hを生成する。復号鍵生成部15は、マスター秘密鍵skに含まれる同種写像φで要素hを変換して、要素hを生成する。
(Step S22: Key element generation process)
Decryption key generating unit 15 is input with the identifier ID received in step S21, by calculating the hash function H included in the public parameter pk, and generates an element h 0 is an element of the group G 0. The decryption key generation unit 15 converts the element h 0 with the homogeneous map φ 1 included in the master secret key sk to generate the element h 1 .
 (ステップS23:鍵要素出力処理)
 鍵出力部16は、ステップS21で受け付けられた識別子IDと、ステップS22で生成された要素hとを鍵要素とする復号鍵skIDを、入出力インタフェース13を介して復号装置30に出力する。この際、鍵出力部16は、何らかの暗号方式で暗号化するといった方法により、復号鍵skIDが第三者に漏えいしないようにする。
(Step S23: Key element output processing)
Key output unit 16, the identifier ID received in step S21, the decryption key sk ID to the key elements and element h 1 generated in step S22, and outputs to the decoding device 30 via the input-output interface 13 . At this time, the key output unit 16 prevents the decryption key sk ID from leaking to a third party by a method such as encryption by some encryption method.
 つまり、復号鍵生成部15は、数110に示すKeyGenアルゴリズムを実行して、復号鍵skIDを生成する。
Figure JPOXMLDOC01-appb-M000025
That is, the decryption key generation unit 15 executes the KeyGen algorithm expressed by Equation 110 to generate a decryption key sk ID .
Figure JPOXMLDOC01-appb-M000025
 図4及び図9を参照して、実施の形態1に係るEncアルゴリズムを説明する。
 Encアルゴリズムは、暗号化装置20によって実行される。
The Enc algorithm according to the first embodiment will be described with reference to FIGS. 4 and 9.
The Enc algorithm is executed by the encryption device 20.
 (ステップS31:入力受付処理)
 入力受付部24は、入出力インタフェース23を介して、鍵生成装置10によって生成された公開パラメータpkと、暗号化対象のメッセージmと、復号条件となる識別子ID’との入力を受け付ける。
(Step S31: Input acceptance process)
The input reception unit 24 receives input of the public parameter pk generated by the key generation device 10, the message m to be encrypted, and the identifier ID ′ as a decryption condition via the input / output interface 23.
 (ステップS32:暗号文生成処理)
 暗号文生成部25は、ステップS31で受け付けられた識別子ID’を入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群Gの要素である要素hを生成する。また、暗号文生成部25は、一様乱数ζを生成する。
 暗号文生成部25は、一様乱数ζを用いて、数111に示す要素cを生成する。
Figure JPOXMLDOC01-appb-M000026
 また、暗号文生成部25は、要素h及び一様乱数ζを用いて、数112に示す要素zを生成する。そして、暗号文生成部25は、ステップS31で受け付けられたメッセージmと、要素zを用いて要素c:=z・mを生成する。
Figure JPOXMLDOC01-appb-M000027
(Step S32: Ciphertext Generation Processing)
Ciphertext generator 25 is input with the identifier ID 'received in step S31, by calculating the hash function H included in the public parameter pk, and generates an element h 0 is an element of the group G 0. In addition, the ciphertext generation unit 25 generates a uniform random number ζ.
The ciphertext generation unit 25 generates an element c represented by Formula 111 using the uniform random number ζ.
Figure JPOXMLDOC01-appb-M000026
In addition, the ciphertext generation unit 25 generates the element z shown in Expression 112 using the element h 0 and the uniform random number ζ. Then, the ciphertext generating unit 25 generates the element c T : = z · m using the message m received in step S31 and the element z.
Figure JPOXMLDOC01-appb-M000027
 (ステップS33:暗号文出力処理)
 暗号文出力部26は、ステップS31で受け付けられた識別子ID’と、ステップS32で生成された要素c,cとを暗号要素とする暗号文ctID’を、入出力インタフェース23を介して復号装置30に出力する。
(Step S33: Ciphertext Output Process)
Ciphertext output unit 26, the identifier ID received in step S31 to 'and generated elements c in step S32, the ciphertext ct ID to encryption elements and c T', output interface 23 decodes Output to device 30.
 つまり、暗号化装置20は、数113に示すEncアルゴリズムを実行して、暗号文ctID’を生成する。
Figure JPOXMLDOC01-appb-M000028
That is, the encryption device 20 executes the Enc algorithm expressed by Equation 113 to generate a ciphertext ct ID ′ .
Figure JPOXMLDOC01-appb-M000028
 図5及び図10を参照して、実施の形態1に係るDecアルゴリズムを説明する。
 Decアルゴリズムは、復号装置30によって実行される。
The Dec algorithm according to the first embodiment will be described with reference to FIGS.
The Dec algorithm is executed by the decoding device 30.
 (ステップS41:入力受付処理)
 入力受付部34は、入出力インタフェース33を介して、鍵生成装置10によって生成された公開パラメータpk及び復号鍵skIDと、暗号化装置20によって生成された暗号文ctID’との入力を受け付ける。
(Step S41: input acceptance process)
The input receiving unit 34 receives input of the public parameter pk and decryption key sk ID generated by the key generation device 10 and the ciphertext ct ID ′ generated by the encryption device 20 via the input / output interface 33. .
 (ステップS42:復号判定処理)
 復号部35は、ステップS41で受け付けられた復号鍵skIDに含まれる識別子IDと、暗号文ctID’に含まれる識別子ID’とが等しいか否かを判定する。これにより、暗号文ctID’を復号鍵skIDで復号可能かが判定される。
 復号部35は、等しいと判定された場合、つまり復号可能と判定された場合、処理をステップS43に進め、そうでない場合、処理をステップS45に進める。
(Step S42: Decoding determination process)
The decryption unit 35 determines whether or not the identifier ID included in the decryption key sk ID received in step S41 is equal to the identifier ID ′ included in the ciphertext ct ID ′ . Thereby, it is determined whether or not the ciphertext ct ID ′ can be decrypted with the decryption key sk ID .
When it is determined that they are equal, that is, when it is determined that decoding is possible, the decoding unit 35 proceeds with the process to step S43, and when not, proceeds with the process to step S45.
 (ステップS43:復号処理)
 復号部35は、ステップS41で受け付けられた復号鍵skIDに含まれる要素hと、暗号文ctID’に含まれる暗号要素cとについてペアリング演算eを行い、要素z’を計算する。復号部35は、計算された要素z’を用いて、メッセージm’:=c・(z’)-1を計算する。
(Step S43: Decoding process)
The decryption unit 35 performs a pairing operation e 1 on the element h 1 included in the decryption key sk ID received in step S41 and the encryption element c included in the ciphertext ct ID ′ , and calculates the element z ′. . The decoding unit 35 calculates the message m ′: = c T · (z ′) −1 using the calculated element z ′.
 (ステップS44:メッセージ出力処理)
 メッセージ出力部36は、ステップS42で計算されたメッセージm’を、入出力インタフェース33を介して出力する。
(Step S44: Message output processing)
The message output unit 36 outputs the message m ′ calculated in step S42 via the input / output interface 33.
 (ステップS45:識別情報出力処理)
 メッセージ出力部36は、識別情報⊥を、入出力インタフェース33を介して出力する。
(Step S45: identification information output process)
The message output unit 36 outputs the identification information box via the input / output interface 33.
 つまり、復号装置30は、数114に示すDecアルゴリズムを実行して、暗号文ctID’を復号鍵skIDにより復号する。
Figure JPOXMLDOC01-appb-M000029
That is, the decryption device 30 executes the Dec algorithm expressed by Equation 114, and decrypts the ciphertext ct ID ′ using the decryption key sk ID .
Figure JPOXMLDOC01-appb-M000029
 ***実施の形態1の効果***
 以上のように、実施の形態1に係る暗号システム1は、IPGを用いてIBE方式を実現する。ここで、鍵生成装置10によって生成されるマスター秘密鍵sk:=φは、耐量子性を有している。そのため、量子計算機によってでも、マスター秘密鍵skが破られることがない。
*** Effects of Embodiment 1 ***
As described above, the cryptographic system 1 according to Embodiment 1 implements the IBE method using IPG. Here, the master secret key sk: = φ 1 generated by the key generation device 10 has quantum resistance. Therefore, the master secret key sk is not broken even by the quantum computer.
 図11を参照して、実施の形態1の効果を詳しく説明する。
 実施の形態1に係るIBE方式は、秘密鍵が2階層の階層的な構造となっている。つまり、実施の形態1に係るIBE方式は、秘密鍵が、上位階層のマスター秘密鍵と、下位階層の復号鍵との2階層の構造となっている。
 もし、マスター秘密鍵が明らかになると、どんな識別子IDについての復号鍵も、従来の確率的多項式時間マシンを用いて生成可能になる。そのため、攻撃者は、効率的に攻撃するために、初めにマスター秘密鍵を明らかにしようとする。もしマスター秘密鍵が守られると、攻撃者は暗号文を1つ1つ破る必要がある。マスター秘密鍵を攻撃する方法を“マスター鍵レベルアタック”と呼び、暗号文を1つ1つ攻撃する方法を“ユーザレベルアタック”と呼ぶ。
 量子計算機が開発された場合、実施の形態1に係る暗号システム1では、ユーザレベルアタックは可能になってしまうものの、マスター鍵レベルアタックは防ぐことができる。
 仮に量子計算機が完成したとしても、初期の段階では、既存のコンピュータの場合と同様に、開発速度は比較的遅いものと考えられる。そして、少なくとも、初期の段階では、持ち運び可能なハンディタイプの量子計算機は広まらないし、そのような量子計算機は高額であると考えられる。そのため、ユーザレベルアタックは非常に非効率となると考えられる。実施の形態1に係る暗号システム1では、効率的なIBE方式を実現しつつ、マスター鍵レベルアタックは防ぐことができる。したがって、実施の形態1に係る暗号システム1で実現されるIBE方式は、仮に量子計算機が完成したとしても、しばらくの間は効率的かつ有用なものと考えられる。
The effect of the first embodiment will be described in detail with reference to FIG.
The IBE method according to the first embodiment has a hierarchical structure in which the secret key has two layers. That is, in the IBE method according to Embodiment 1, the secret key has a two-layer structure of the upper layer master secret key and the lower layer decryption key.
If the master secret key is revealed, a decryption key for any identifier ID can be generated using a conventional stochastic polynomial time machine. Therefore, in order to attack efficiently, the attacker first tries to reveal the master secret key. If the master secret key is protected, the attacker must break the ciphertext one by one. A method of attacking the master secret key is called “master key level attack”, and a method of attacking ciphertexts one by one is called “user level attack”.
When a quantum computer is developed, in the cryptographic system 1 according to the first embodiment, although a user level attack becomes possible, a master key level attack can be prevented.
Even if the quantum computer is completed, the development speed is considered to be relatively slow at the initial stage, as in the case of existing computers. At least at the initial stage, portable handheld quantum computers do not spread, and such quantum computers are considered expensive. Therefore, it is considered that the user level attack is very inefficient. In the cryptographic system 1 according to the first embodiment, it is possible to prevent a master key level attack while realizing an efficient IBE scheme. Therefore, the IBE method realized by the cryptographic system 1 according to the first embodiment is considered to be efficient and useful for a while even if the quantum computer is completed.
 ***他の構成***
 <変形例1>
 実施の形態1では、鍵生成装置10、暗号化装置20、復号装置30の各部の機能がソフトウェアで実現された。変形例1として、鍵生成装置10、暗号化装置20、復号装置30の各部の機能はハードウェアで実現されてもよい。この変形例1について、実施の形態1と異なる点を説明する。
*** Other configurations ***
<Modification 1>
In the first embodiment, the functions of the respective units of the key generation device 10, the encryption device 20, and the decryption device 30 are realized by software. As a first modification, the functions of the units of the key generation device 10, the encryption device 20, and the decryption device 30 may be realized by hardware. The first modification will be described with respect to differences from the first embodiment.
 図12から図14を参照して、変形例1に係る鍵生成装置10、暗号化装置20、復号装置30の構成を説明する。
 各部の機能がハードウェアで実現される場合、鍵生成装置10、暗号化装置20、復号装置30は、プロセッサ11,21,31と記憶装置12,22,32とに代えて、処理回路17,27,37を備える。処理回路17,27,37は、鍵生成装置10、暗号化
装置20、復号装置30の各部の機能と、記憶装置12,22,32の機能とを実現する専用の電子回路である。
With reference to FIGS. 12 to 14, configurations of the key generation device 10, the encryption device 20, and the decryption device 30 according to the first modification will be described.
When the functions of the respective units are realized by hardware, the key generation device 10, the encryption device 20, and the decryption device 30 are replaced with the processing circuits 17, 21 and 31 and the storage devices 12, 22, and 32, instead of the processing circuit 17, 27, 37. The processing circuits 17, 27, and 37 are dedicated electronic circuits that implement the functions of the respective units of the key generation device 10, the encryption device 20, and the decryption device 30 and the functions of the storage devices 12, 22, and 32.
 処理回路17,27,37は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)が想定される。
 鍵生成装置10、暗号化装置20、復号装置30は、処理回路17,27,37を代替する複数の処理回路を備えていてもよい。これら複数の処理回路により、全体として各部の機能が実現される。それぞれの処理回路は、処理回路17,27,37と同じように、専用の電子回路である。
The processing circuits 17, 27, and 37 are a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA (Gate Array), an ASIC (Application Specific Integrated Circuit), and an FPGA (Field-Programmable Gate). Array) is assumed.
The key generation device 10, the encryption device 20, and the decryption device 30 may include a plurality of processing circuits that substitute for the processing circuits 17, 27, and 37. The function of each unit is realized as a whole by the plurality of processing circuits. Each processing circuit is a dedicated electronic circuit, like the processing circuits 17, 27, and 37.
 <変形例2>
 変形例2として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、鍵生成装置10、暗号化装置20、復号装置30の各部のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
<Modification 2>
As a second modification, some functions may be realized by hardware, and other functions may be realized by software. That is, some of the functions of the key generation device 10, the encryption device 20, and the decryption device 30 may be realized by hardware, and the other functions may be realized by software.
 プロセッサ11,21,31と記憶装置12,22,32と処理回路17,27,37とを、総称して「プロセッシングサーキットリー」という。つまり、各部の機能は、プロセッシングサーキットリーにより実現される。 The processors 11, 21, 31, the storage devices 12, 22, 32, and the processing circuits 17, 27, 37 are collectively referred to as “processing circuits”. That is, the function of each part is realized by a processing circuit.
 実施の形態2.
 実施の形態2では、耐量子性を有するABE方式について説明する。実施の形態2では、実施の形態1と異なる点を説明する。
 実施の形態2では、t∈[d]について(t,1)∈[d]×[1]=[d]×Uで特定される、多項式サイズのユニバース[d]の要素として属性が与えられる場合を説明する。つまり、後述する属性集合Γ⊂[d]の場合を説明する。
Embodiment 2. FIG.
In Embodiment 2, an ABE method having quantum resistance will be described. In the second embodiment, differences from the first embodiment will be described.
In the second embodiment, an attribute is given as an element of a polynomial-sized universe [d] specified by (t, 1) ε [d] × [1] = [d] × U for tε [d]. Explain the case. That is, a case of an attribute set Γ⊂ [d] described later will be described.
 ***概念の説明***
 実施の形態2に係るABE方式で用いられる概念について説明する。
 スパンプログラムについて説明する。スパンプログラムは既存の概念であるため、ここでは以下の説明で必要な範囲だけ簡単に説明する。
*** Explanation of concept ***
The concept used in the ABE method according to the second embodiment will be described.
The span program will be described. Since the span program is an existing concept, only the necessary range will be briefly explained here.
 体F上のスパンプログラムは、ラベル付けされた行列S:=(M,ρ)である。ここで、行列Mは、体F上の(L行×r列)の行列である。ラベルρは、{(t,v),(t’,v’),...}から属性に応じて行列Mの行に対して付されたラベルである。なお、全ての行が1つの属性にラベル付けされる。つまり、ρ:{1,...,L}→{(t,v),(t’,v’),...}である。
 スパンプログラムは、以下の基準に従い、入力を受理又は拒絶する。Γを属性集合とする。つまり、Γ:={(t,x)}1≦j≦d’(x∈Utj)である。1∈span<(Mρ(i)∈Γ>の場合に限り、スパンプログラムSは属性集合Γを受理する。スパンプログラムSが属性集合Γを受理することを、R(S,Γ)=1と表す。つまり、行列Mの行(Mρ(i)∈Γの線形結合によって全ての要素が1のベクトルが得られる場合に限り、スパンプログラムSは属性集合Γを受理する。行列Sをアクセスストラクチャと呼ぶ。
The span program on the field F q is a labeled matrix S: = (M, ρ). Here, the matrix M is a (L row × r column) matrix on the field Fq . The labels ρ are {(t, v), (t ′, v ′),. . . } Are labels given to the rows of the matrix M according to attributes. Note that all rows are labeled with one attribute. That is, ρ: {1,. . . , L} → {(t, v), (t ′, v ′),. . . }.
The span program accepts or rejects input according to the following criteria: Let Γ be an attribute set. That is, Γ: = {(t j , x j )} 1 ≦ j ≦ d ′ (x j εU tj ). The span program S accepts the attribute set Γ only if 1 ε span <(M i ) ρ (i) εΓ >. The span program S accepting the attribute set Γ is represented as R (S, Γ) = 1. That is, the span program S accepts the attribute set Γ only when a vector with all elements being 1 is obtained by linear combination of rows (M i ) ρ (i) εΓ of the matrix M. The matrix S is called an access structure.
 ***構成の説明***
 実施の形態2では、復号鍵に復号条件であるポリシーが設定される鍵ポリシー型のABE(以下、KP-ABE)方式について説明する。なお、同様の考え方により、暗号文に
ポリシーが設定される暗号文ポリシー型のABEを実現することも可能である。
 特に、実施の形態2では、タグ付されたKP-ABE方式について説明する。タグ付けされたKP-ABE方式では、復号鍵のパラメータ(tag,S)と、暗号文のパラメータ(tag’,Γ)とに対して、関係R((tag,S),(tag’,Γ)):=Eq(tag,tag’)∧R(S,Γ)と定義される。ここで、tag=tag’の場合に限り、Eq(tag,tag’)=1である。そして、Eq(tag,tag’)=1∧R(S,Γ)=1の場合に、暗号文を復号鍵で復号できる。
*** Explanation of configuration ***
In the second embodiment, a key policy type ABE (hereinafter referred to as KP-ABE) method in which a policy that is a decryption condition is set for a decryption key will be described. It is also possible to realize a ciphertext policy type ABE in which a policy is set for ciphertext based on the same concept.
In particular, in the second embodiment, a tagged KP-ABE method will be described. In the tagged KP-ABE method, the relationship R + ((tag, S), (tag ′,) is applied to the decryption key parameter (tag, S) and the ciphertext parameter (tag ′, Γ). Γ)): = Eq (tag, tag ′) ∧R (S, Γ). Here, only when tag = tag ′, Eq (tag, tag ′) = 1. If Eq (tag, tag ′) = 1∧R (S, Γ) = 1, the ciphertext can be decrypted with the decryption key.
 KP-ABE方式は、Setupアルゴリズムと、KeyGenアルゴリズムと、Encアルゴリズムと、Decアルゴリズムとを備える。
 Setupアルゴリズムは、セキュリティパラメータ1λを入力として、公開パラメータpkと、マスター秘密鍵skとを出力する。
 KeyGenアルゴリズムは、公開パラメータpkと、マスター秘密鍵skと、入力タグtagと、アクセスストラクチャS:=(M,ρ)とを入力として、入力タグtag及びアクセスストラクチャSに対応した復号鍵sktag,Sを出力する。
 Encアルゴリズムは、公開パラメータpkと、メッセージ空間msgにおけるメッセージmと、入力タグtag’と、属性集合Γ:={(t,x)}1≦j≦d’を入力として、暗号文cttag’,Γを出力する。
 Decアルゴリズムは、公開パラメータpkと、入力タグtag及びアクセスストラクチャSに対応した復号鍵sktag,Sと、入力タグtag’及び属性集合Γの下で暗号化された暗号文cttag’,Γとを入力として、メッセージm’∈msg、又は、復号に失敗したことを示す識別情報⊥を出力する。
The KP-ABE method includes a Setup algorithm, a KeyGen algorithm, an Enc algorithm, and a Dec algorithm.
The Setup algorithm receives the security parameter 1 λ and outputs the public parameter pk and the master secret key sk.
The KeyGen algorithm uses a public parameter pk, a master secret key sk, an input tag tag, and an access structure S: = (M, ρ) as inputs, and a decryption key sk tag, corresponding to the input tag tag and the access structure S. S is output.
The Enc algorithm uses the public parameter pk, the message m in the message space msg, the input tag tag ′, and the attribute set Γ: = {(t j , x j )} 1 ≦ j ≦ d ′ as input, and the ciphertext ct tag ′, Γ is output.
The Dec algorithm includes a public parameter pk, a decryption key sk tag, S corresponding to the input tag tag and the access structure S, and a ciphertext ct tag ′, Γ encrypted under the input tag tag ′ and the attribute set Γ. Is input, and the message m′εmsg or the identification information を indicating that decoding has failed is output.
 図15を参照して、実施の形態2に係る暗号システム1の構成を説明する。
 暗号システム1は、鍵生成装置10と、暗号化装置20と、復号装置30とを備える。
 鍵生成装置10と暗号化装置20と復号装置30とは、コンピュータである。鍵生成装置10と暗号化装置20と復号装置30とは、ネットワークを介して接続されている。
The configuration of the cryptographic system 1 according to the second embodiment will be described with reference to FIG.
The encryption system 1 includes a key generation device 10, an encryption device 20, and a decryption device 30.
The key generation device 10, the encryption device 20, and the decryption device 30 are computers. The key generation device 10, the encryption device 20, and the decryption device 30 are connected via a network.
 鍵生成装置10は、セキュリティパラメータ1λを入力として、Setupアルゴリズムを実行して、公開パラメータpkと、マスター秘密鍵skとを生成する。また、鍵生成装置10は、公開パラメータpkと、マスター秘密鍵skと、入力タグtagと、アクセスストラクチャS:=(M,ρ)とを入力として、KeyGenアルゴリズムを実行して、復号鍵sktag,Sを生成する。
 鍵生成装置10は、公開パラメータpkを公開し、復号鍵sktag,Sを入力タグtag及びアクセスストラクチャSに対応する復号装置30に出力する。鍵生成装置10は、マスター秘密鍵skを保管する。
The key generation apparatus 10 receives the security parameter 1 λ and executes the Setup algorithm to generate the public parameter pk and the master secret key sk. Further, the key generation device 10 receives the public parameter pk, the master secret key sk, the input tag tag, and the access structure S: = (M, ρ), executes the KeyGen algorithm, and performs the decryption key sk tag. , S is generated.
The key generation device 10 discloses the public parameter pk , and outputs the decryption key sk tag, S to the decryption device 30 corresponding to the input tag tag and the access structure S. The key generation device 10 stores the master secret key sk.
 暗号化装置20は、公開パラメータpkと、メッセージmと、入力タグtag’と、属性集合Γとを入力として、Encアルゴリズムを実行して、暗号文cttag’,Γを生成する。暗号化装置20は、暗号文cttag’,Γを復号装置30に出力する。 The encryption device 20 receives the public parameter pk, the message m, the input tag tag ′, and the attribute set Γ, and executes the Enc algorithm to generate the ciphertext ct tag ′, Γ . The encryption device 20 outputs the ciphertext ct tag ′, Γ to the decryption device 30.
 復号装置30は、公開パラメータpkと、復号鍵sktag,Sと、暗号文cttag’,Γとを入力として、Decアルゴリズムを実行して、メッセージm’、又は、復号に失敗したことを示す識別情報⊥を生成する。 The decryption device 30 receives the public parameter pk, the decryption key sk tag, S, and the ciphertext ct tag ′, Γ and executes the Dec algorithm to indicate that the message m ′ or decryption has failed. Generate identification information ⊥.
 図16に示す鍵生成装置10と、図17に示す暗号化装置20と、図18に示す復号装置30との構成は、それぞれ図3に示す鍵生成装置10と、図4に示す暗号化装置20と、図5に示す復号装置30との構成と同じである。但し、各構成要素で入出力される情報が異なる。 The configuration of the key generation device 10 shown in FIG. 16, the encryption device 20 shown in FIG. 17, and the decryption device 30 shown in FIG. 18 is the same as that of the key generation device 10 shown in FIG. 3 and the encryption device shown in FIG. 20 and the configuration of the decoding device 30 shown in FIG. However, the information inputted and outputted by each component is different.
 ***動作の説明***
 図16から図18と、図6から図10とを参照して、実施の形態2に係る暗号システム1の動作を説明する。
 実施の形態2に係る暗号システム1の動作は、実施の形態2に係る暗号方法に相当する。また、実施の形態2に係る暗号システム1の動作は、実施の形態2に係る暗号プログラムの処理に相当する。
*** Explanation of operation ***
With reference to FIGS. 16 to 18 and FIGS. 6 to 10, the operation of the cryptographic system 1 according to the second embodiment will be described.
The operation of the cryptographic system 1 according to the second embodiment corresponds to the cryptographic method according to the second embodiment. The operation of the cryptographic system 1 according to the second embodiment corresponds to the processing of the cryptographic program according to the second embodiment.
 図16及び図6を参照して、実施の形態2に係るSetupアルゴリズムを説明する。
 Setupアルゴリズムは、鍵生成装置10によって実行される。
With reference to FIG. 16 and FIG. 6, the Setup algorithm according to the second embodiment will be described.
The Setup algorithm is executed by the key generation device 10.
 (ステップS11:IPG生成処理)
 マスター鍵生成部14は、入出力インタフェース13を介してセキュリティパラメータ1λの入力を受け付ける。マスター鍵生成部14は、受け付けられたセキュリティパラメータ1λと、1以上の整数dとを入力として、IPG生成アルゴリズムGenIPG(1λ,d)を実行して、数115に示す公開パラメータpkIPGとマスター秘密鍵skIPGとのマスター鍵ペアを生成する。
Figure JPOXMLDOC01-appb-M000030
(Step S11: IPG generation processing)
The master key generation unit 14 receives an input of the security parameter 1 λ through the input / output interface 13. The master key generation unit 14 receives the received security parameter 1 λ and an integer d equal to or greater than 1, and executes the IPG generation algorithm Gen IPG (1 λ , d) to execute the public parameter pk IPG shown in Formula 115. And a master key pair of the master secret key sk IPG .
Figure JPOXMLDOC01-appb-M000030
 つまり、図1に示すように、実施の形態1では、t=0,1,...,dについての群G及び群G^とペアリング演算eと、群Gと、t=1,...,dについての同種写像φとが生成される。つまり、d+1個のペアリング群が用いられる。
 ここで、t=1,...,dの群G及び群G^に属性が設定される。したがって、整数dの値は、設定したい属性の数に応じて決定される。
That is, as shown in FIG. 1, in the first embodiment, t = 0, 1,. . . , A group G t and the group G ^ t and pairing operation e t for d, and the group G T, t = 1 ,. . . , D and a homogeneous map φ t is generated. That is, d + 1 pairing groups are used.
Here, t = 1,. . . , D, the attribute is set to the group G t and the group G ^ t . Therefore, the value of the integer d is determined according to the number of attributes to be set.
 (ステップS12:ハッシュ関数生成処理)
 実施の形態1と同様に、マスター鍵生成部14は、ハッシュ関数Hを生成する。
(Step S12: Hash function generation process)
As in the first embodiment, the master key generation unit 14 generates a hash function H.
 (ステップS13:マスター鍵生成処理)
 マスター鍵生成部14は、ステップS11で生成された公開パラメータpkIPGと、ステップS12で生成されたハッシュ関数Hとを用いて、公開パラメータpk:=((G,G^,g^,et∈[0,d],G,H)を生成する。鍵出力部16は、公開パラメータpkを入出力インタフェース13を介して外部の公開用サーバ等へ出力することにより、公開パラメータpkを暗号化装置20及び復号装置30に出力する。
 また、マスター鍵生成部14は、ステップS11で生成されたマスター秘密鍵skIPGを用いて、マスター秘密鍵sk:=(φt∈[d]を生成する。マスター鍵生成部14は、生成されたマスター秘密鍵skを記憶装置12に書き込む。
(Step S13: Master key generation process)
The master key generation unit 14 uses the public parameter pk IPG generated in step S11 and the hash function H generated in step S12, so that the public parameter pk: = (((G t , G ^ t , g ^ t , E t ), tε [0, d] , G T , H). The key output unit 16 outputs the public parameter pk to the encryption device 20 and the decryption device 30 by outputting the public parameter pk to an external public server or the like via the input / output interface 13.
Further, the master key generation unit 14 generates the master secret key sk: = (φ t ) tε [d] using the master secret key sk IPG generated in step S11. The master key generation unit 14 writes the generated master secret key sk in the storage device 12.
 つまり、マスター鍵生成部14は、数116に示すSetupアルゴリズムを実行して、マスター鍵ペアを生成する。
Figure JPOXMLDOC01-appb-M000031
That is, the master key generation unit 14 executes the Setup algorithm shown in Expression 116 to generate a master key pair.
Figure JPOXMLDOC01-appb-M000031
 図16及び図8を参照して、実施の形態2に係るKeyGenアルゴリズムを説明する。
 KeyGenアルゴリズムは、鍵生成装置10によって実行される。
The KeyGen algorithm according to the second embodiment will be described with reference to FIGS. 16 and 8.
The KeyGen algorithm is executed by the key generation device 10.
 (ステップS21:ID受付処理)
 復号鍵生成部15は、入出力インタフェース13を介して、復号鍵sktag,Sを使用するユーザの入力タグtag及びアクセスストラクチャS:=(M,ρ)の入力を受け付ける。アクセスストラクチャSは、復号鍵sktag,Sで復号可能な範囲を示すものである。
(Step S21: ID reception process)
The decryption key generation unit 15 receives input of the input tag tag of the user who uses the decryption key sk tag, S and the access structure S: = (M, ρ) via the input / output interface 13. The access structure S indicates a range that can be decrypted with the decryption key sk tag, S.
 (ステップS22:鍵要素生成処理)
 復号鍵生成部15は、ステップS21で受け付けられた入力タグtagを入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群Gの要素である要素hを生成する。
 復号鍵生成部15は、1・u=1であるベクトルuをランダムに選択する。復号鍵生成部15は、i∈[L]に対して、s:=M・uとし、t:=ρ(i)として、数117に示すように、マスター秘密鍵skに含まれる同種写像φで要素hを変換して、要素kを生成する。
Figure JPOXMLDOC01-appb-M000032
(Step S22: Key element generation process)
Decryption key generating unit 15 is input with the input tag tag received in step S21, by calculating the hash function H included in the public parameter pk, and generates an element h 0 is an element of the group G 0.
The decryption key generation unit 15 randomly selects a vector u 1 1 u = 1. The decryption key generation unit 15 includes s i : = M i · u and t: = ρ (i) for i∈ [L], and is included in the master secret key sk as shown in Expression 117. The element h 0 is converted by the homogeneous map φ t to generate the element k i .
Figure JPOXMLDOC01-appb-M000032
 (ステップS23:鍵要素出力処理)
 鍵出力部16は、ステップS21で受け付けられた入力タグtag及びアクセスストラクチャSと、ステップS22で生成されたi∈[L]についての要素kとを鍵要素とする復号鍵sktag,Sを、入出力インタフェース13を介して復号装置30に出力する。この際、鍵出力部16は、何らかの暗号方式で暗号化するといった方法により、復号鍵sktag,Sが第三者に漏えいしないようにする。
(Step S23: Key element output processing)
The key output unit 16 uses the input tag tag and the access structure S received in step S21 and the decryption key sk tag, S having the key element k i for i∈ [L] generated in step S22 as key elements. And output to the decoding device 30 via the input / output interface 13. At this time, the key output unit 16 prevents the decryption key sk tag, S from leaking to a third party by a method such as encryption by some encryption method.
 つまり、復号鍵生成部15は、数118に示すKeyGenアルゴリズムを実行して、復号鍵sktag,Sを生成する。
Figure JPOXMLDOC01-appb-M000033
That is, the decryption key generation unit 15 executes the KeyGen algorithm expressed by Equation 118 to generate the decryption key sk tag, S.
Figure JPOXMLDOC01-appb-M000033
 図17及び図9を参照して、実施の形態2に係るEncアルゴリズムを説明する。
 Encアルゴリズムは、暗号化装置20によって実行される。
The Enc algorithm according to the second embodiment will be described with reference to FIGS.
The Enc algorithm is executed by the encryption device 20.
 (ステップS31:入力受付処理)
 入力受付部24は、入出力インタフェース23を介して、鍵生成装置10によって生成された公開パラメータpkと、暗号化対象のメッセージmと、復号条件となる入力タグtag’及び属性集合Γとの入力を受け付ける。
(Step S31: Input acceptance process)
The input receiving unit 24 inputs the public parameter pk generated by the key generation device 10, the message m to be encrypted, the input tag tag ′ and the attribute set Γ as the decryption conditions via the input / output interface 23. Accept.
 (ステップS32:暗号文生成処理)
 暗号文生成部25は、ステップS31で受け付けられた入力タグtag’を入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群Gの要素である要素hを生成する。また、暗号文生成部25は、一様乱数ζを生成する。
 暗号文生成部25は、属性集合Γに含まれる各整数tについて、一様乱数ζを用いて、数119に示す要素cを生成する。
Figure JPOXMLDOC01-appb-M000034
 また、暗号文生成部25は、要素h及び一様乱数ζを用いて、数120に示す要素zを生成する。そして、暗号文生成部25は、ステップS31で受け付けられたメッセージmと、要素zを用いて要素c:=z・mを生成する。
Figure JPOXMLDOC01-appb-M000035
(Step S32: Ciphertext Generation Processing)
Ciphertext generator 25 is input with the input tag tag 'received in step S31, by calculating the hash function H included in the public parameter pk, and generates an element h 0 is an element of the group G 0. In addition, the ciphertext generation unit 25 generates a uniform random number ζ.
Ciphertext generating unit 25, for each integer t included in the attribute set gamma, using a uniform random zeta, generates an element c t shown in Formula 119.
Figure JPOXMLDOC01-appb-M000034
In addition, the ciphertext generation unit 25 generates the element z shown in Expression 120 using the element h 0 and the uniform random number ζ. Then, the ciphertext generating unit 25 generates the element c T : = z · m using the message m received in step S31 and the element z.
Figure JPOXMLDOC01-appb-M000035
 (ステップS33:暗号文出力処理)
 暗号文出力部26は、ステップS31で受け付けられた入力タグtag’及び属性集合Γと、ステップS32で生成された属性集合Γに含まれる各整数tについての要素c及び要素cとを暗号要素とする暗号文cttag’,Γを、入出力インタフェース23を介して復号装置30に出力する。
(Step S33: Ciphertext Output Process)
The ciphertext output unit 26 encrypts the input tag tag ′ and the attribute set Γ received in step S31, and the element c t and the element c T for each integer t included in the attribute set Γ generated in step S32. The ciphertext ct tag ′, Γ as an element is output to the decryption device 30 via the input / output interface 23.
 つまり、暗号化装置20は、数121に示すEncアルゴリズムを実行して、暗号文cttag’,Γを生成する。
Figure JPOXMLDOC01-appb-M000036
That is, the encryption device 20 executes the Enc algorithm expressed by Equation 121 to generate ciphertext ct tag ′, Γ .
Figure JPOXMLDOC01-appb-M000036
 図18及び図10を参照して、実施の形態2に係るDecアルゴリズムを説明する。
 Decアルゴリズムは、復号装置30によって実行される。
The Dec algorithm according to the second embodiment will be described with reference to FIGS.
The Dec algorithm is executed by the decoding device 30.
 (ステップS41:入力受付処理)
 入力受付部34は、入出力インタフェース33を介して、鍵生成装置10によって生成された公開パラメータpk及び復号鍵sktag,Sと、暗号化装置20によって生成された暗号文cttag’,Γとの入力を受け付ける。
(Step S41: input acceptance process)
The input receiving unit 34, via the input / output interface 33, the public parameter pk and the decryption key sk tag, S generated by the key generation device 10, the ciphertext ct tag ′, Γ generated by the encryption device 20 , and Accepts input.
 (ステップS42:復号判定処理)
 復号部35は、ステップS41で受け付けられた復号鍵sktag,Sに含まれる入力タグtagと、暗号文cttag’,Γに含まれる入力タグtag’とが等しいか否かを判定する。また、復号部35は、復号鍵sktag,Sに含まれるアクセスストラクチャSが、暗号文cttag’,Γに含まれる属性集合Γを受理するか否かを判定する。これにより、暗号文cttag’,Γを復号鍵sktag,Sで復号可能かが判定される。
 復号部35は、入力タグtagと入力タグtag’とが等しいと判定され、かつ、アクセスストラクチャSが属性集合Γを受理すると判定された場合、処理をステップS43に進め、そうでない場合、処理をステップS45に進める。
(Step S42: Decoding determination process)
The decryption unit 35 determines whether or not the input tag tag included in the decryption key sk tag, S received in step S41 is equal to the input tag tag ′ included in the ciphertext ct tag ′, Γ . Further, the decryption unit 35 determines whether or not the access structure S included in the decryption key sk tag, S accepts the attribute set Γ included in the ciphertext ct tag ′, Γ . Thus, it is determined whether or not the ciphertext ct tag ′, Γ can be decrypted with the decryption key sk tag, S.
When it is determined that the input tag tag is equal to the input tag tag ′ and the access structure S is determined to accept the attribute set Γ, the decryption unit 35 proceeds to step S43. Proceed to step S45.
 (ステップS43:復号処理)
 復号部35は、ρ(i)∈Γについて、数122を満たす補完係数αを計算する。なお、Mは、行列Mのi行目である。
Figure JPOXMLDOC01-appb-M000037
 復号部35は、計算された補完係数αを用いて、ステップS41で受け付けられた復号鍵sktag,Sに含まれる要素kと、暗号文cttag’,Γに含まれる暗号要素cとについて数123に示すペアリング演算を行い、要素z’を計算する。
Figure JPOXMLDOC01-appb-M000038
 復号部35は、計算された要素z’を用いて、メッセージm’:=c・(z’)-1を計算する。
(Step S43: Decoding process)
The decoding unit 35 calculates a complementary coefficient α i satisfying Expression 122 for ρ (i) εΓ. Note that M i is the i-th row of the matrix M.
Figure JPOXMLDOC01-appb-M000037
Using the calculated complementary coefficient α i , the decryption unit 35 uses the element k i included in the decryption key sk tag, S received in step S41 and the cipher element c t included in the ciphertext ct tag ′, Γ. The pairing calculation shown in Expression 123 is performed for and, and the element z ′ is calculated.
Figure JPOXMLDOC01-appb-M000038
The decoding unit 35 calculates the message m ′: = c T · (z ′) −1 using the calculated element z ′.
 ステップS44からステップS45の処理は、実施の形態1と同じである。 The processing from step S44 to step S45 is the same as in the first embodiment.
 つまり、復号装置30は、数124に示すDecアルゴリズムを実行して、暗号文ctID’を復号鍵skIDにより復号する。
Figure JPOXMLDOC01-appb-M000039
That is, the decryption apparatus 30 executes the Dec algorithm expressed by Equation 124, and decrypts the ciphertext ct ID ′ using the decryption key sk ID .
Figure JPOXMLDOC01-appb-M000039
 数125に示すように、ステップS43で暗号文cttag’,Γを復号鍵sktag,Sで復号可能である。
Figure JPOXMLDOC01-appb-M000040
As shown in Equation 125, the ciphertext ct tag ′, Γ can be decrypted with the decryption key sk tag, S in step S43.
Figure JPOXMLDOC01-appb-M000040
 ***実施の形態2の効果***
 以上のように、実施の形態2に係る暗号システム1は、IPGを用いてABE方式を実現する。ここで、鍵生成装置10によって生成されるマスター秘密鍵sk:=φは、実施の形態1と同様に耐量子性を有している。そのため、量子計算機によってでも、マスター秘密鍵skが破られることがない。
*** Effects of Embodiment 2 ***
As described above, the cryptographic system 1 according to the second embodiment implements the ABE method using IPG. Here, the master secret key sk: = φ t generated by the key generation device 10 has the quantum resistance as in the first embodiment. Therefore, the master secret key sk is not broken even by the quantum computer.
 実施の形態3.
 実施の形態3では、どの部分ユニバース識別子tについても属性x:=(xt,jj∈[n]がユニバースU:={0,1}の要素である場合におけるABE方式につい
て説明する。実施の形態3では、実施の形態2と異なる点を説明する。
Embodiment 3 FIG.
In the third embodiment, the ABE method in the case where the attribute x t : = (x t, j ) jε [n] is an element of the universe U: = {0, 1} n for any partial universe identifier t will be described. To do. In the third embodiment, differences from the second embodiment will be described.
 実施の形態3では、ABEの小さなユニバースの2つのインスタンスt∈[d]及びj∈[n]についての階層的な構造が用いられる。そして、実施の形態3では、下位の階層のインスタンスにおいて、n-out-of-2nの秘密共有述語の特別な形態が、長さnの2値の識別子xに対する識別子マッチングに用いられる。 In the third embodiment, a hierarchical structure for two instances tε [d] and jε [n] of a small universe of ABE is used. Then, in the third embodiment, in the instance of the lower hierarchy, special form of secret sharing predicates n-out-of-2n are used to identifier matching for the identifier x t binary length n.
 ***動作の説明***
 図16から図18と、図6から図10とを参照して、実施の形態3に係る暗号システム1の動作を説明する。
 実施の形態3に係る暗号システム1の動作は、実施の形態3に係る暗号方法に相当する。また、実施の形態3に係る暗号システム1の動作は、実施の形態3に係る暗号プログラムの処理に相当する。
*** Explanation of operation ***
The operation of the cryptographic system 1 according to Embodiment 3 will be described with reference to FIGS. 16 to 18 and FIGS.
The operation of the cryptographic system 1 according to the third embodiment corresponds to the cryptographic method according to the third embodiment. The operation of the cryptographic system 1 according to the third embodiment corresponds to the processing of the cryptographic program according to the third embodiment.
 図16及び図6を参照して、実施の形態3に係るSetupアルゴリズムを説明する。
 Setupアルゴリズムは、鍵生成装置10によって実行される。
With reference to FIG. 16 and FIG. 6, the Setup algorithm according to the third embodiment will be described.
The Setup algorithm is executed by the key generation device 10.
 (ステップS11:IPG生成処理)
 マスター鍵生成部14は、入出力インタフェース13を介してセキュリティパラメータ1λの入力を受け付ける。マスター鍵生成部14は、受け付けられたセキュリティパラメータ1λと、1以上の整数d及び1以上の整数nについての整数2dnとを入力として、IPG生成アルゴリズムGenIPG(1λ,2dn)を実行して、数126に示す公開パラメータpkIPGとマスター秘密鍵skIPGとのマスター鍵ペアを生成する。
Figure JPOXMLDOC01-appb-M000041
(Step S11: IPG generation processing)
The master key generation unit 14 receives an input of the security parameter 1 λ through the input / output interface 13. The master key generation unit 14 executes the IPG generation algorithm Gen IPG (1 λ , 2dn) with the received security parameter 1 λ and the integer ddn of 1 or more and the integer 2dn of the integer n of 1 or more as inputs. Thus, a master key pair of the public parameter pk IPG and the master secret key sk IPG shown in Expression 126 is generated.
Figure JPOXMLDOC01-appb-M000041
 つまり、実施の形態1では、t=0,1,...,dとj=1,...,nとι=0,1とについての群Gt,j,ι及び群G^t,j,ιとペアリング演算eと、群Gと、t=1,...,dとj=1,...,nとι=0,1とについての同種写像φt,j,ιとが生成される。つまり、2dn+1個のペアリング群が用いられる。
 ここで、t=1,...,dとj=1,...,nとι=0,1の群Gt,j,ι及び群G^t,j,ιに属性が設定される。したがって、整数d,nの値は、設定したい属性の数に応じて決定される。
That is, in the first embodiment, t = 0, 1,. . . , D and j = 1,. . . , The group G t for n and iota = 0, 1, and j, iota and the group G ^ t, j, iota and pairing operation e t, and the group G T, t = 1 ,. . . , D and j = 1,. . . , N and ι = 0,1, a homogeneous map φ t, j, ι is generated. That is, 2dn + 1 pairing groups are used.
Here, t = 1,. . . , D and j = 1,. . . , N and ι = 0, 1, the attributes are set to the group G t, j, ι and the group G ^ t, j, ι . Therefore, the values of the integers d and n are determined according to the number of attributes to be set.
 (ステップS12:ハッシュ関数生成処理)
 実施の形態1と同様に、マスター鍵生成部14は、ハッシュ関数Hを生成する。
(Step S12: Hash function generation process)
As in the first embodiment, the master key generation unit 14 generates a hash function H.
 (ステップS13:マスター鍵生成処理)
 マスター鍵生成部14は、ステップS11で生成された公開パラメータpkIPGと、ステップS12で生成されたハッシュ関数Hとを用いて、公開パラメータpk:=((G,G^,g^,et∈[0,d],j∈[n],ι∈[0,1],G,H)を生成する。鍵出力部16は、公開パラメータpkを入出力インタフェース13を介して
外部の公開用サーバ等へ出力することにより、公開パラメータpkを暗号化装置20及び復号装置30に出力する。
 また、マスター鍵生成部14は、ステップS11で生成されたマスター秘密鍵skIPGを用いて、マスター秘密鍵sk:=(φt,j,ιt∈[d],j∈[n],ι∈[0,1]を生成する。マスター鍵生成部14は、生成されたマスター秘密鍵skを記憶装置12に書き込む。
(Step S13: Master key generation process)
The master key generation unit 14 uses the public parameter pk IPG generated in step S11 and the hash function H generated in step S12, so that the public parameter pk: = (((G t , G ^ t , g ^ t , E t ) tε [0, d], jε [n], ιε [0 , 1] , G T , H). The key output unit 16 outputs the public parameter pk to the encryption device 20 and the decryption device 30 by outputting the public parameter pk to an external public server or the like via the input / output interface 13.
Further, the master key generation unit 14 uses the master secret key sk IPG generated in step S11, and uses the master secret key sk: = (φ t, j, ι ) t∈ [d], j∈ [n], Generate ι∈ [0,1] . The master key generation unit 14 writes the generated master secret key sk in the storage device 12.
 つまり、マスター鍵生成部14は、数127に示すSetupアルゴリズムを実行して、マスター鍵ペアを生成する。
Figure JPOXMLDOC01-appb-M000042
That is, the master key generation unit 14 executes the Setup algorithm shown in Equation 127 to generate a master key pair.
Figure JPOXMLDOC01-appb-M000042
 図16及び図8を参照して、実施の形態2に係るKeyGenアルゴリズムを説明する。
 KeyGenアルゴリズムは、鍵生成装置10によって実行される。
The KeyGen algorithm according to the second embodiment will be described with reference to FIGS. 16 and 8.
The KeyGen algorithm is executed by the key generation device 10.
 ステップS21の処理は、実施の形態2と同じである。 The processing in step S21 is the same as that in the second embodiment.
 (ステップS22:鍵要素生成処理)
 復号鍵生成部15は、ステップS21で受け付けられた入力タグtagを入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群Gの要素である要素hを生成する。
 復号鍵生成部15は、1・u=1であるベクトルuをランダムに選択する。復号鍵生成部15は、i∈[L]に対して、s:=M・uとし、s=Σj=1 τi,jである乱数τ:=(τi,j)を選択する。復号鍵生成部15は、乱数τを用いて、数128に示すように、マスター秘密鍵skに含まれる同種写像φt,j,ιで要素hを変換して、要素ki,jを生成する。
Figure JPOXMLDOC01-appb-M000043
(Step S22: Key element generation process)
Decryption key generating unit 15 is input with the input tag tag received in step S21, by calculating the hash function H included in the public parameter pk, and generates an element h 0 is an element of the group G 0.
The decryption key generation unit 15 randomly selects a vector u 1 1 u = 1. The decryption key generation unit 15 sets s i : = M i · u for i∈ [L], and s i = Σ j = 1 n τ i, j , random number τ : = (τ i, j ) is selected. Using the random number τ , the decryption key generation unit 15 converts the element h 0 with the homogeneous map φ t, j, ι included in the master secret key sk as shown in the equation 128, and generates the element k i, j Is generated.
Figure JPOXMLDOC01-appb-M000043
 (ステップS23:鍵要素出力処理)
 鍵出力部16は、ステップS21で受け付けられた入力タグtag及びアクセスストラクチャSと、ステップS22で生成されたi∈[L]及びj∈[n]についての要素ki,jとを鍵要素とする復号鍵sktag,Sを、入出力インタフェース13を介して復号装置30に出力する。この際、鍵出力部16は、何らかの暗号方式で暗号化するといった方法により、復号鍵sktag,Sが第三者に漏えいしないようにする。
(Step S23: Key element output processing)
The key output unit 16 uses the input tag tag and the access structure S received in step S21, and the elements k i, j for iε [L] and jε [n] generated in step S22 as key elements. The decryption key sk tag, S to be output to the decryption device 30 via the input / output interface 13. At this time, the key output unit 16 prevents the decryption key sk tag, S from leaking to a third party by a method such as encryption by some encryption method.
 つまり、復号鍵生成部15は、数129に示すKeyGenアルゴリズムを実行して、復号鍵sktag,Sを生成する。
Figure JPOXMLDOC01-appb-M000044
That is, the decryption key generation unit 15 generates the decryption key sk tag, S by executing the KeyGen algorithm expressed by Equation 129.
Figure JPOXMLDOC01-appb-M000044
 図17及び図9を参照して、実施の形態2に係るEncアルゴリズムを説明する。
 Encアルゴリズムは、暗号化装置20によって実行される。
The Enc algorithm according to the second embodiment will be described with reference to FIGS.
The Enc algorithm is executed by the encryption device 20.
 ステップS31の処理は、実施の形態2と同じである。 The processing in step S31 is the same as that in the second embodiment.
 (ステップS32:暗号文生成処理)
 暗号文生成部25は、ステップS31で受け付けられた入力タグtag’を入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群Gの要素である要素hを生成する。また、暗号文生成部25は、一様乱数ζを生成する。
 暗号文生成部25は、属性集合Γに含まれる(t,x:=(xt,j)∈{0,1})∈Γの各整数t及び各整数jについて、一様乱数ζを用いて、数130に示す要素ct,jを生成する。
Figure JPOXMLDOC01-appb-M000045
 また、暗号文生成部25は、要素h及び一様乱数ζを用いて、数131に示す要素zを生成する。そして、暗号文生成部25は、ステップS31で受け付けられたメッセージmと、要素zを用いて要素c:=z・mを生成する。
Figure JPOXMLDOC01-appb-M000046
(Step S32: Ciphertext Generation Processing)
Ciphertext generator 25 is input with the input tag tag 'received in step S31, by calculating the hash function H included in the public parameter pk, and generates an element h 0 is an element of the group G 0. In addition, the ciphertext generation unit 25 generates a uniform random number ζ.
The ciphertext generation unit 25 uses the uniform random number ζ for each integer t and each integer j of (t, x t : = (x t, j ) ∈ {0,1} n ) ∈Γ included in the attribute set Γ. Is used to generate an element ct, j shown in Equation 130.
Figure JPOXMLDOC01-appb-M000045
In addition, the ciphertext generation unit 25 generates the element z shown in Formula 131 using the element h 0 and the uniform random number ζ. Then, the ciphertext generating unit 25 generates the element c T : = z · m using the message m received in step S31 and the element z.
Figure JPOXMLDOC01-appb-M000046
 (ステップS33:暗号文出力処理)
 暗号文出力部26は、ステップS31で受け付けられた入力タグtag’及び属性集合Γと、ステップS32で生成された属性集合Γに含まれる各整数t及びj∈[n]についての要素ct,j及び要素cとを暗号要素とする暗号文cttag’,Γを、入出力インタフェース23を介して復号装置30に出力する。
(Step S33: Ciphertext Output Process)
The ciphertext output unit 26 receives the input tag tag ′ and the attribute set Γ received in step S31, and the elements c t, j for each integer t and j∈ [n] included in the attribute set Γ generated in step S32 . Cipher text ct tag ′, Γ having j and element c T as encryption elements is output to the decryption device 30 via the input / output interface 23.
 つまり、暗号化装置20は、数132に示すEncアルゴリズムを実行して、暗号文cttag’,Γを生成する。
Figure JPOXMLDOC01-appb-M000047
That is, the encryption device 20 executes the Enc algorithm expressed by Equation 132 to generate the ciphertext ct tag ′, Γ .
Figure JPOXMLDOC01-appb-M000047
 図18及び図10を参照して、実施の形態2に係るDecアルゴリズムを説明する。
 Decアルゴリズムは、復号装置30によって実行される。
The Dec algorithm according to the second embodiment will be described with reference to FIGS.
The Dec algorithm is executed by the decoding device 30.
 ステップS41からステップS42の処理は、実施の形態2と同じである。 The processing from step S41 to step S42 is the same as that in the second embodiment.
 (ステップS43:復号処理)
 復号部35は、数133を満たす補完係数αを計算する。
Figure JPOXMLDOC01-appb-M000048
 復号部35は、計算された補完係数αを用いて、ステップS41で受け付けられた復号鍵sktag,Sに含まれる要素ki,jと、暗号文cttag’,Γに含まれる暗号要素ct,jとについて数134に示すペアリング演算を行い、要素z’を計算する。
Figure JPOXMLDOC01-appb-M000049
 復号部35は、計算された要素z’を用いて、メッセージm’:=c・(z’)-1を計算する。
(Step S43: Decoding process)
The decoding unit 35 calculates a complementary coefficient α i that satisfies Equation 133.
Figure JPOXMLDOC01-appb-M000048
Using the calculated complementary coefficient α i , the decryption unit 35 uses the element k i, j included in the decryption key sk tag, S received in step S41 and the encryption element included in the ciphertext ct tag ′, Γ. The pairing operation shown in Equation 134 is performed for c t, j and the element z ′ is calculated.
Figure JPOXMLDOC01-appb-M000049
The decoding unit 35 calculates the message m ′: = c T · (z ′) −1 using the calculated element z ′.
 ステップS44からステップS45の処理は、実施の形態2と同じである。 The processing from step S44 to step S45 is the same as that in the second embodiment.
 つまり、復号装置30は、数135に示すDecアルゴリズムを実行して、暗号文ctID’を復号鍵skIDにより復号する。
Figure JPOXMLDOC01-appb-M000050
That is, the decryption device 30 executes the Dec algorithm expressed by Equation 135, and decrypts the ciphertext ct ID ′ using the decryption key sk ID .
Figure JPOXMLDOC01-appb-M000050
 数136に示すように、ステップS43で暗号文cttag’,Γを復号鍵sktag,Sで復号可能である。
Figure JPOXMLDOC01-appb-M000051
As shown in Formula 136, the ciphertext ct tag ′, Γ can be decrypted with the decryption key sk tag, S in step S43.
Figure JPOXMLDOC01-appb-M000051
 ***実施の形態3の効果***
 以上のように、実施の形態3に係る暗号システム1は、IPGを用いて大きいユニバースについてのABE方式を実現する。ここで、鍵生成装置10によって生成されるマスター秘密鍵sk:=φは、実施の形態2と同様に耐量子性を有している。そのため、量子計算機によってでも、マスター秘密鍵skが破られることがない。
*** Effects of Embodiment 3 ***
As described above, the cryptographic system 1 according to Embodiment 3 realizes the ABE method for a large universe using IPG. Here, the master secret key sk: = φ t generated by the key generation device 10 has quantum resistance as in the second embodiment. Therefore, the master secret key sk is not broken even by the quantum computer.
 実施の形態4.
 実施の形態4では、階層的なIBE(以下、HIBE)方式について説明する。実施の形態4では、実施の形態1と異なる点を説明する。
Embodiment 4 FIG.
In the fourth embodiment, a hierarchical IBE (hereinafter, HIBE) method will be described. In the fourth embodiment, differences from the first embodiment will be described.
 ***動作の説明***
 図3から図9を参照して、実施の形態4に係る暗号システム1の動作を説明する。
 実施の形態4に係る暗号システム1の動作は、実施の形態4に係る暗号方法に相当する。また、実施の形態4に係る暗号システム1の動作は、実施の形態4に係る暗号プログラムの処理に相当する。
*** Explanation of operation ***
The operation of the cryptographic system 1 according to the fourth embodiment will be described with reference to FIGS.
The operation of the cryptographic system 1 according to the fourth embodiment corresponds to the cryptographic method according to the fourth embodiment. The operation of the cryptographic system 1 according to the fourth embodiment corresponds to the processing of the cryptographic program according to the fourth embodiment.
 図3及び図6を参照して、実施の形態1に係るSetupアルゴリズムを説明する。
 Setupアルゴリズムは、鍵生成装置10によって実行される。
The Setup algorithm according to the first embodiment will be described with reference to FIGS. 3 and 6.
The Setup algorithm is executed by the key generation device 10.
 ステップS11の処理は、実施の形態1と同じである。 The processing in step S11 is the same as that in the first embodiment.
 (ステップS12:ハッシュ関数生成処理)
 マスター鍵生成部14は、t=0,1について、識別子の空間である体Fの要素を、群Gの要素に変換するランダムなハッシュ関数Hを生成する。
(Step S12: Hash function generation process)
The master key generation unit 14 generates a random hash function H t for converting an element of the field F q that is an identifier space into an element of the group G t for t = 0,1.
 (ステップS13:マスター鍵生成処理)
 マスター鍵生成部14は、ステップS11で生成された公開パラメータpkIPGと、ステップS12で生成されたハッシュ関数Hとを用いて、公開パラメータpk:=((G
,G^,g^,e,Ht=0,1,G)を生成する。鍵出力部16は、公開パラメータpkを入出力インタフェース13を介して外部の公開用サーバ等へ出力することにより、公開パラメータpkを暗号化装置20及び復号装置30に出力する。
 また、マスター鍵生成部14は、ステップS11で生成されたマスター秘密鍵skIPGを用いて、マスター秘密鍵sk:=φを生成する。マスター鍵生成部14は、生成されたマスター秘密鍵skを記憶装置12に書き込む。
(Step S13: Master key generation process)
The master key generation unit 14 uses the public parameter pk IPG generated in step S11 and the hash function H generated in step S12, so that the public parameter pk: = ((G
t, G ^ t, g ^ t, e t, H t) t = 0,1, to generate a G T). The key output unit 16 outputs the public parameter pk to the encryption device 20 and the decryption device 30 by outputting the public parameter pk to an external public server or the like via the input / output interface 13.
Also, the master key generation unit 14 uses the master secret key sk IPG generated in step S11, the master secret key sk: = generating a phi 1. The master key generation unit 14 writes the generated master secret key sk in the storage device 12.
 つまり、マスター鍵生成部14は、数137に示すSetupアルゴリズムを実行して、マスター鍵ペアを生成する。
Figure JPOXMLDOC01-appb-M000052
That is, the master key generation unit 14 executes the Setup algorithm shown in Formula 137 to generate a master key pair.
Figure JPOXMLDOC01-appb-M000052
 図3及び図8を参照して、実施の形態4に係るKeyGenアルゴリズムを説明する。
 KeyGenアルゴリズムは、鍵生成装置10によって実行される。
The KeyGen algorithm according to the fourth embodiment will be described with reference to FIGS.
The KeyGen algorithm is executed by the key generation device 10.
 (ステップS21:ID受付処理)
 復号鍵生成部15は、入出力インタフェース13を介して、復号鍵skIDを使用するユーザの識別子IDの入力を受け付ける。ここでは、識別子IDは、i∈[j]についてのIDから構成される。jは、2以上の整数である。
(Step S21: ID reception process)
The decryption key generation unit 15 receives input of an identifier ID of a user who uses the decryption key sk ID via the input / output interface 13. Here, the identifier ID is composed of ID i for i∈ [j]. j is an integer of 2 or more.
 (ステップS22:鍵要素生成処理)
 復号鍵生成部15は、i∈[j-1]について、数138に示すように、要素d^を生成する。
Figure JPOXMLDOC01-appb-M000053
 復号鍵生成部15は、ステップS21で受け付けられた識別子IDを構成するIDを入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群Gの要素である要素hを生成する。また、復号鍵生成部15は、i∈[2,j]について、識別子IDを構成するID,...,IDを入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群Gの要素である要素hを生成する。そして、復号鍵生成部15は、数139に示すように、マスター秘密鍵skに含まれる同種写像φで要素hを変換した要素dを生成する。
Figure JPOXMLDOC01-appb-M000054
(Step S22: Key element generation process)
The decryption key generation unit 15 generates an element d ^ i for i∈ [j−1] as shown in Formula 138.
Figure JPOXMLDOC01-appb-M000053
The decryption key generation unit 15 calculates the hash function H 0 included in the public parameter pk, using ID 1 constituting the identifier ID received in step S21 as an input, and obtains the element h 1 that is an element of the group G 0 Generate. Also, the decryption key generation unit 15 sets ID 1 ,. . . , ID i as input, the hash function H 1 included in the public parameter pk is calculated to generate an element h i that is an element of the group G 1 . Then, the decryption key generation unit 15 generates an element d j obtained by converting the element h 1 with the same kind of mapping φ 1 included in the master secret key sk as shown in Expression 139.
Figure JPOXMLDOC01-appb-M000054
 (ステップS23:鍵要素出力処理)
 鍵出力部16は、ステップS21で受け付けられた識別子IDと、ステップS22で生成された、i∈[j-1]についての要素d^及び要素dとを鍵要素とする復号鍵skIDを、入出力インタフェース13を介して復号装置30に出力する。この際、鍵出力部16は、何らかの暗号方式で暗号化するといった方法により、復号鍵skIDが第三者に漏えいしないようにする。
(Step S23: Key element output processing)
The key output unit 16 uses the identifier ID received in step S21, and the decryption key sk ID generated using the element d ^ j and the element d j for iε [j-1] generated in step S22 as key elements. Is output to the decoding device 30 via the input / output interface 13. At this time, the key output unit 16 prevents the decryption key sk ID from leaking to a third party by a method such as encryption by some encryption method.
 つまり、復号鍵生成部15は、数140に示すKeyGenアルゴリズムを実行して、復号鍵skIDを生成する。
Figure JPOXMLDOC01-appb-M000055
That is, the decryption key generation unit 15 executes the KeyGen algorithm expressed by Equation 140 to generate a decryption key sk ID .
Figure JPOXMLDOC01-appb-M000055
 図4及び図9を参照して、実施の形態1に係るEncアルゴリズムを説明する。
 Encアルゴリズムは、暗号化装置20によって実行される。
The Enc algorithm according to the first embodiment will be described with reference to FIGS. 4 and 9.
The Enc algorithm is executed by the encryption device 20.
 (ステップS31:入力受付処理)
 入力受付部24は、入出力インタフェース23を介して、鍵生成装置10によって生成された公開パラメータpkと、暗号化対象のメッセージmと、復号条件となる識別子ID’との入力を受け付ける。ここでは、識別子ID’は、i∈[j]についてのID’から構成される。
(Step S31: Input acceptance process)
The input reception unit 24 receives input of the public parameter pk generated by the key generation device 10, the message m to be encrypted, and the identifier ID ′ as a decryption condition via the input / output interface 23. Here, the identifier ID ′ is composed of ID ′ i for i∈ [j].
 (ステップS32:暗号文生成処理)
 暗号文生成部25は、一様乱数ζを生成する。暗号文生成部25は、一様乱数ζを用いて、数141に示す要素c^を生成する。
Figure JPOXMLDOC01-appb-M000056
 暗号文生成部25は、i∈[2,j]について、識別子IDを構成するID’,...,ID’を入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群Gの要素である要素hを生成する。暗号文生成部25は、要素hを用いて、数142に示す要素cを生成する。
Figure JPOXMLDOC01-appb-M000057
 暗号文生成部25は、ステップS31で受け付けられた識別子ID’を構成するID’を入力として、公開パラメータpkに含まれるハッシュ関数Hを計算して、群Gの要素である要素hを生成する。また、暗号文生成部25は、要素h及び一様乱数ζを用いて、数143に示す要素zを生成する。そして、暗号文生成部25は、ステップS31で受け付けられたメッセージmと、要素zを用いて要素c:=z・mを生成する。
Figure JPOXMLDOC01-appb-M000058
(Step S32: Ciphertext Generation Processing)
The ciphertext generator 25 generates a uniform random number ζ. The ciphertext generation unit 25 generates an element c ^ 0 shown in Formula 141 using the uniform random number ζ.
Figure JPOXMLDOC01-appb-M000056
The ciphertext generation unit 25 sets ID ′ 1 ,. . . , ID ′ i as input, the hash function H 1 included in the public parameter pk is calculated, and the element h i that is an element of the group G 1 is generated. Ciphertext generating unit 25 uses the element h i, to produce an element c i shown in Formula 142.
Figure JPOXMLDOC01-appb-M000057
Ciphertext generating unit 25, as input 1 'ID constituting the' identifier ID received in step S31, by calculating the hash function H 0 included in the public parameter pk, an element of the group G 0 elements h 1 is generated. Also, the ciphertext generation unit 25 generates the element z shown in Expression 143 using the element h 1 and the uniform random number ζ. Then, the ciphertext generating unit 25 generates the element c T : = z · m using the message m received in step S31 and the element z.
Figure JPOXMLDOC01-appb-M000058
 (ステップS33:暗号文出力処理)
 暗号文出力部26は、ステップS31で受け付けられた識別子ID’と、ステップS32で生成された要素c^,(ci∈[2,j],cとを暗号要素とする暗号文ctID’を、入出力インタフェース23を介して復号装置30に出力する。
(Step S33: Ciphertext Output Process)
The ciphertext output unit 26 uses the identifier ID ′ received in step S31 and the elements c ^ 0 , (c i ) iε [2, j] and c T generated in step S32 as encryption elements. The sentence ct ID ′ is output to the decryption device 30 via the input / output interface 23.
 つまり、暗号化装置20は、数144に示すEncアルゴリズムを実行して、暗号文ctID’を生成する。
Figure JPOXMLDOC01-appb-M000059
That is, the encryption device 20 executes the Enc algorithm shown in Formula 144 to generate the ciphertext ct ID ′ .
Figure JPOXMLDOC01-appb-M000059
 図5及び図10を参照して、実施の形態1に係るDecアルゴリズムを説明する。
 Decアルゴリズムは、復号装置30によって実行される。
The Dec algorithm according to the first embodiment will be described with reference to FIGS.
The Dec algorithm is executed by the decoding device 30.
 ステップS41からステップS42の処理は、実施の形態1と同じである。 The processing from step S41 to step S42 is the same as in the first embodiment.
 (ステップS43:復号処理)
 復号部35は、ステップS41で受け付けられた復号鍵skIDに含まれる要素d^及び要素dと、暗号文ctID’に含まれる要素c^及び要素cとについて数145に示す演算を行い、要素z’を計算する。復号部35は、計算された要素z’を用いて、メッセージm’:=c・(z’)-1を計算する。
Figure JPOXMLDOC01-appb-M000060
(Step S43: Decoding process)
Decoding unit 35, shown in element d ^ and j and element d j, the element c ^ 0 and element c i and the number 145 included in the ciphertext ct ID 'included in the decryption key sk ID received in step S41 Perform an operation to calculate the element z ′. The decoding unit 35 calculates the message m ′: = c T · (z ′) −1 using the calculated element z ′.
Figure JPOXMLDOC01-appb-M000060
 ステップS44からステップS45の処理は、実施の形態1と同じである。 The processing from step S44 to step S45 is the same as in the first embodiment.
 つまり、復号装置30は、数146に示すDecアルゴリズムを実行して、暗号文ctID’を復号鍵skIDにより復号する。
Figure JPOXMLDOC01-appb-M000061
That is, the decryption apparatus 30 executes the Dec algorithm expressed by Equation 146 to decrypt the ciphertext ct ID ′ with the decryption key sk ID .
Figure JPOXMLDOC01-appb-M000061
 数147に示すように、ステップS43で暗号文cttag’,Γを復号鍵sktag,Sで復号可能である。
Figure JPOXMLDOC01-appb-M000062
As shown in Expression 147, the ciphertext ct tag ′, Γ can be decrypted with the decryption key sk tag, S in step S43.
Figure JPOXMLDOC01-appb-M000062
 ***実施の形態4の効果***
 以上のように、実施の形態4に係る暗号システム1は、IPGを用いてHIBE方式を実現する。ここで、鍵生成装置10によって生成されるマスター秘密鍵sk:=φは、実施の形態1と同様に耐量子性を有している。そのため、量子計算機によってでも、マスター秘密鍵skが破られることがない。
*** Effects of Embodiment 4 ***
As described above, the cryptographic system 1 according to the fourth embodiment implements the HIBE method using IPG. Here, the master secret key sk: = φ t generated by the key generation device 10 has the quantum resistance as in the first embodiment. Therefore, the master secret key sk is not broken even by the quantum computer.
 実施の形態5.
 実施の形態5では、IPG生成アルゴリズムGenIPG(1λ,d)について、楕円曲線を用いて具体的に説明する。
Embodiment 5 FIG.
In the fifth embodiment, the IPG generation algorithm Gen IPG (1 λ , d) will be specifically described using an elliptic curve.
 ***動作の説明***
 図19を参照して、実施の形態5に係るIPG生成アルゴリズムGenIPG(1λ,d)の処理を説明する。
*** Explanation of operation ***
With reference to FIG. 19, the process of the IPG generation algorithm Gen IPG (1 λ , d) according to the fifth embodiment will be described.
 (ステップS51:要素生成処理)
 マスター鍵生成部14は、十分に大きい、奇素数pについての超楕円曲線E/Fp2
(ここで、p2はp)をランダムに生成する。
 マスター鍵生成部14は、適切な(L,κ)と、楕円曲線Eの部分群から構成される位数rの非対称ペアリング群(G,G^,G;e)を生成する。eは、楕円曲線Eにおけるヴェイユペアリングeweil,0から、どのh∈G及びh^∈G^に対してもe(h,h^):=eweil,0(h,h^Ψと定義される。Ψ=(Lκである。
 マスター鍵生成部14は、群Gから要素gを一様に選択し、群G^から要素g^を一様に選択する。
(Step S51: Element generation processing)
The master key generation unit 14 has a sufficiently large hyperelliptic curve E 0 / F p2 for the odd prime p.
(Here, p2 is p 2) randomly generating.
The master key generation unit 14, a suitable (L ~, kappa) and asymmetric pairing groups quantile r comprised subgroup of an elliptic curve E 0 (G 0, G ^ 0, G T; e 0) Is generated. e 0 is the veil pairing e weil, 0 in the elliptic curve E 0 , for any h 0 ∈G 0 and h ^ 0 ∈G ^ 0 , e 0 (h 0 , h ^ 0 ): = e weil , 0 (h 0 , h ^ 0 ) Ψ . Ψ = a (L ~) κ.
The master key generation unit 14 selects from the group G 0 elements g 0 uniformly, evenly select an element g ^ 0 from the group G ^ 0.
 (ステップS52:同種生成処理)
 マスター鍵生成部14は、アルゴリズムIsogL~,κ(E)を実行して、t∈[d]について、楕円曲線Eと同種となる楕円曲線Eと、楕円曲線Eから楕円曲線Eへの同種写像を計算するためのトラップドアξとをランダムに生成する。アルゴリズムIsogL~,κ(E)として、図20に示す非特許文献3に記載されたIsogL~,κ djpアルゴリズムを用いることができる。また、アルゴリズムIsogL~,κ(E)として、図21に示す非特許文献4,5に記載されたIsogL~,κ clgアルゴリズムを用いることができる。
(Step S52: Homogeneous generation process)
The master key generation unit 14, the algorithm ISOG L ~, running kappa (E 0), t∈ for [d], the elliptic curve E t as the elliptic curve E 0 and the like, an elliptic curve from the elliptic curve E 0 A trapdoor ξ t for calculating a homogeneous map to E t is randomly generated. As the algorithm Isog L˜ , κ (E 0 ), the Isog L˜ , κ djp algorithm described in Non-Patent Document 3 shown in FIG. 20 can be used. Further, as the algorithms Isog L˜ , κ (E 0 ), the Isog L˜ , κ clg algorithm described in Non-Patent Documents 4 and 5 shown in FIG. 21 can be used.
 (ステップS53:同種要素生成処理)
 マスター鍵生成部14は、ステップS52で生成された楕円曲線E及びトラップドアξを用いて、φ:=φξtと、G:=φ(G)及びG^:=φ(G^)と、g:=φ(g)及びg^:=φ(g^)と、h∈G及びh^∈G^に対してe(h,h^):=eweil,t(h,h^)と設定する。ここで、eweil,tは、楕円曲線Eにおけるヴェイユペアリングである。
(Step S53: Homogeneous element generation processing)
The master key generation unit 14 uses the elliptic curve E t and the trap door ξ t generated in step S52, φ t : = φ ξt , G t : = φ t (G 0 ), and G ^ t : =. For φ t (G ^ 0 ), g t : = φ t (g 0 ), and g ^ t : = φ t (g ^ 0 ), h t ∈G t and h ^ t ∈G ^ t e t (h t , ^ t ): = e weil, t (h t , ^ t ) Here, e weil, t is Weil pairing in the elliptic curve E t .
 (ステップS54:要素出力処理)
 マスター鍵生成部14は、ステップS51及びステップS53で生成された(G,G^,g,g^,et∈[0,d],Gを公開パラメータpkIPGとし、(φt∈[d]に対する(ξt∈[d]をマスター秘密鍵skIPGとして出力する。
(Step S54: Element output process)
The master key generation unit 14, generated at step S51 and step S53 (G t, G ^ t , g t, g ^ t, e t) t∈ [0, d], the public parameters pk IPG the G T , (Φ t ) tε [d] , (ξ t ) tε [d] is output as the master secret key sk IPG .
 つまり、IPG生成アルゴリズムGenIPG(1λ,d)は、数148に示す通りである。
Figure JPOXMLDOC01-appb-M000063
That is, the IPG generation algorithm Gen IPG (1 λ , d) is as shown in Formula 148.
Figure JPOXMLDOC01-appb-M000063
 ***実施の形態5の効果***
 以上のように、実施の形態5に係る暗号システム1では、楕円曲線を用いてIPG生成アルゴリズムGenIPG(1λ,d)を実現できる。
*** Effect of Embodiment 5 ***
As described above, the cryptographic system 1 according to Embodiment 5 can implement the IPG generation algorithm Gen IPG (1 λ , d) using an elliptic curve.
 実施の形態6.
 実施の形態1~4では、記載を単純化し、理解を容易にするために、楕円曲線を用いた詳細な記載を省略した。実施の形態6では、楕円曲線を用いた具体的な構成について説明する。実施の形態6では、実施の形態1で説明したIBE方式と、実施の形態2で説明したABE方式とについて説明する。
 実施の形態3で説明したABE方式と、実施の形態4で説明したHIBE方式とについても、同様の方法により、楕円曲線を用いた具体的な構成とすることが可能である。
Embodiment 6 FIG.
In the first to fourth embodiments, detailed description using an elliptic curve is omitted in order to simplify the description and facilitate understanding. In the sixth embodiment, a specific configuration using an elliptic curve will be described. In the sixth embodiment, the IBE method described in the first embodiment and the ABE method described in the second embodiment will be described.
The ABE method described in the third embodiment and the HIBE method described in the fourth embodiment can also have a specific configuration using an elliptic curve by a similar method.
 ***動作の説明***
 実施の形態1で説明したIBE方式について説明する。
 Setupアルゴリズムは、数149のようになる。
Figure JPOXMLDOC01-appb-M000064
*** Explanation of operation ***
The IBE method described in Embodiment 1 will be described.
The Setup algorithm is as shown in Equation 149.
Figure JPOXMLDOC01-appb-M000064
 KeyGenアルゴリズムは、数150のようになる。
Figure JPOXMLDOC01-appb-M000065
The KeyGen algorithm is as follows:
Figure JPOXMLDOC01-appb-M000065
 Encアルゴリズムは、数151のようになる。
Figure JPOXMLDOC01-appb-M000066
The Enc algorithm is as shown in Formula 151.
Figure JPOXMLDOC01-appb-M000066
 Decアルゴリズムは、数152のようになる。
Figure JPOXMLDOC01-appb-M000067
The Dec algorithm is as shown in Formula 152.
Figure JPOXMLDOC01-appb-M000067
 数153に示すように、暗号文ctID’を復号鍵skIDで復号可能である。ここで、deg(φ)=L~κである。
Figure JPOXMLDOC01-appb-M000068
As shown in Formula 153, the ciphertext ct ID ′ can be decrypted with the decryption key sk ID . Here, deg (φ 1 ) = L 1 to κ .
Figure JPOXMLDOC01-appb-M000068
 実施の形態2で説明したABE方式について説明する。
 Setupアルゴリズムは、数154のようになる。
Figure JPOXMLDOC01-appb-M000069
The ABE method described in the second embodiment will be described.
The Setup algorithm is as shown in Equation 154.
Figure JPOXMLDOC01-appb-M000069
 KeyGenアルゴリズムは、数155のようになる。
Figure JPOXMLDOC01-appb-M000070
The KeyGen algorithm is as shown in Equation 155.
Figure JPOXMLDOC01-appb-M000070
 Encアルゴリズムは、数156のようになる。
Figure JPOXMLDOC01-appb-M000071
The Enc algorithm is as shown in Equation 156.
Figure JPOXMLDOC01-appb-M000071
 Decアルゴリズムは、数157のようになる。
Figure JPOXMLDOC01-appb-M000072
The Dec algorithm is as shown in Equation 157.
Figure JPOXMLDOC01-appb-M000072
 数158に示すように、暗号文ctID’を復号鍵skIDで復号可能である。
Figure JPOXMLDOC01-appb-M000073
As shown in Formula 158, the ciphertext ct ID ′ can be decrypted with the decryption key sk ID .
Figure JPOXMLDOC01-appb-M000073
 ***実施の形態6の効果***
 以上のように、実施の形態6に係る暗号システム1では、楕円曲線を用いて具体的にIBE方式及びABE方式を構成することができる。
*** Effects of Embodiment 6 ***
As described above, in the cryptographic system 1 according to the sixth embodiment, the IBE method and the ABE method can be specifically configured using an elliptic curve.
 実施の形態7.
 実施の形態1~6では、同種写像とペアリング演算とを用いて、IPGを構成した。し
かし、同種写像に代えて、トラップドア準同型写像(以下、TH)を用いてIPGを構成してもよい。
Embodiment 7 FIG.
In the first to sixth embodiments, the IPG is configured using the same kind of mapping and the pairing calculation. However, the IPG may be configured using a trapdoor homomorphic map (hereinafter, TH) instead of the homogeneous map.
 以下の3つの条件を満たす場合、素数位数qの2つのランダムに選択された巡回群G,Gについての写像φ:=φξ:G→GがTHである。
 (条件1:準同型写像)
 写像φが自明でない準同型写像であること。自明でないとは、例えば、加法群に対して非ゼロであることである。
 (条件2:TH-DH(TH-Diffie-Hellman)の難治性仮定)
 ランダムに選択された写像φと群Gから一様に選択されたg,gについて、(g,φ(g),g)が与えられた場合に、どんな確率的多項式時間マシンBも無視し得る確率でしかφ(g)を計算しないこと。
 (条件3:多項式サイズのトラップドア)
 φ:=φξについての多項式サイズのトラップドアξが与えられると、どんなg∈Gに対してもφ(g)を計算する確率的多項式時間マシンBが存在すること。
When the following three conditions are satisfied, the mapping φ: = φ ξ : G 0 → G 1 for two randomly selected cyclic groups G 0 and G 1 of prime order q is TH.
(Condition 1: Homomorphic mapping)
The map φ is a non-trivial homomorphic map. Non-trivial is, for example, non-zero for additive groups.
(Condition 2: TH-DH (TH-Diffie-Hellman) refractory assumption)
Any stochastic polynomial time machine B, given (g 0 , φ (g 0 ), g), for g 0 , g uniformly chosen from the randomly selected map φ and group G 0 Calculate φ (g) only with a negligible probability.
(Condition 3: Polynomial size trapdoor)
Given a polynomial-sized trapdoor ξ for φ: = φξ, there exists a probabilistic polynomial time machine B that computes φ (g) for any gεG 0 .
 楕円曲線を用いたTHの例として以下の3つがある。以下の3つの例において、群の肩に“~”が付されている場合、その群はペアリング群である。
 (例1:累乗法)
 G:=G:=Gは、楕円曲線巡回群である。φ:=φξは、群Gにおける累乗法、つまり曲線上のスカラー乗法である。つまり、φξ:g→gξである。ここで、ξはスカラーである。
 (例2:ペアリング)
 G:=G,G:=G は、ペアリング群である。φ:=φξは、G上のペアリング演算である。つまり、φξ:g→e(g,ξ)である。ここで、ξは、対称ペアリングの場合の群G、又は、非対称ペアリングの場合の群G^の要素である。
 (例3:同種写像)
 G:=G ,G:=G は、それぞれ2つの曲線E,E’から得られる2つの異なる楕円曲線巡回群である。φ:=φξは、群G から群G への同種写像である。つまり、φξ:E→E’:=E/Cである。ここで、ξ:=Cは、曲線Eの巡回部分群である。
There are the following three examples of TH using an elliptic curve. In the following three examples, when “˜” is added to the shoulder of a group, the group is a pairing group.
(Example 1: Power method)
G 0: = G 1: = G ~ is elliptic curve cyclic group. phi: The = phi xi], exponentiation in the group G, i.e. a scalar multiplication on the curve. That is, φξ : g → . Here, ξ is a scalar.
(Example 2: Pairing)
G 0 : = G 1 to G 1 : = G 1 to T are pairing groups. phi: The = phi xi], a pairing operation on G ~. That is, φξ : g → e (g, ξ). Here, ξ is an element of the group G in the case of symmetric pairing or the group G ^ in the case of asymmetric pairing.
(Example 3: Homogeneous mapping)
G 0 : = G 1 to 0 and G 1 : = G 1 to 1 are two different elliptic curve cyclic groups obtained from two curves E and E ′, respectively. phi: The = phi xi], a isogeny from the group G ~ 0 to the group G ~ 1. That is, φξ : E → E ′: = E / C. Here, ξ: = C is a cyclic subgroup of the curve E.
 1 暗号システム、10 鍵生成装置、11 プロセッサ、12 記憶装置、13 入出力インタフェース、14 マスター鍵生成部、15 復号鍵生成部、16 鍵出力部、20 暗号化装置、21 プロセッサ、22 記憶装置、23 入出力インタフェース、24 入力受付部、25 暗号文生成部、26 暗号文出力部、30 復号装置、31 プロセッサ、32 記憶装置、33 入出力インタフェース、34 入力受付部、35 復号部、36 メッセージ出力部。 1 encryption system, 10 key generation device, 11 processor, 12 storage device, 13 input / output interface, 14 master key generation unit, 15 decryption key generation unit, 16 key output unit, 20 encryption device, 21 processor, 22 storage device, 23 input / output interface, 24 input reception unit, 25 ciphertext generation unit, 26 ciphertext output unit, 30 decryption device, 31 processor, 32 storage device, 33 input / output interface, 34 input reception unit, 35 decryption unit, 36 message output Department.

Claims (16)

  1.  同種写像とペアリング演算とによって対応付けられた複数の群を用いた暗号システムにおける暗号化装置であり、
     前記複数の群のうちのある群の暗号要素を含む暗号文を生成する暗号文生成部を備える暗号化装置。
    An encryption device in an encryption system using a plurality of groups associated by homogenous mapping and pairing operation,
    An encryption apparatus comprising: a ciphertext generation unit that generates a ciphertext including a certain group of cipher elements of the plurality of groups.
  2.  前記暗号システムは、群Gと、前記群Gと同種写像φによって対応付けられた群Gと、前記群G及び群G^とペアリング演算eによって対応付られるとともに、前記群G及び群G^とペアリング演算eによって対応付られた群Gとを用いる
    請求項1に記載の暗号化装置。
    The encryption system, the group G 0, and the group G t associated with the group G 0 and isogenies phi t, together are attached corresponding with the group G 0 and the group G ^ 0 and pairing operation e 0, encryption device according to claim 1 using a group G T is attached corresponding with the group G t and the group G ^ t and pairing operation e t.
  3.  前記暗号文は、前記群Gの要素と前記群G^の要素とについて前記ペアリング演算eを行うことにより生成された前記群Gの要素zを含む暗号要素cと、前記群G^の要素である暗号要素cとを含む請求項2に記載の暗号化装置。 The ciphertext, the cipher element c T containing elements z of the group G T which is generated by performing the pairing operation e 0 for the elements of the element and the group G ^ 0 of the group G 0, the The encryption apparatus according to claim 2, further comprising an encryption element c that is an element of the group G ^ t .
  4.  前記暗号システムは、t=1の整数tについての前記群G及び前記群G^を用い、
     前記暗号文は、前記暗号要素c及び前記暗号要素cとして、数1に示す要素c,cを含む請求項3に記載の暗号化装置。
    Figure JPOXMLDOC01-appb-M000001
    The cryptographic system uses the group G t and the group G ^ t for an integer t with t = 1,
    The ciphertext, said as the cipher element c and the encryption element c T, element c shown in Equation 1, the encryption apparatus of claim 3 including c T.
    Figure JPOXMLDOC01-appb-M000001
  5.  前記暗号システムは、2以上の整数dに関してt=0,...,dの整数tについての群G及び群G^を用い、
     前記暗号文は、前記暗号要素c及び前記暗号要素cとして、数2に示す要素c,cを含む請求項3に記載の暗号化装置。
    Figure JPOXMLDOC01-appb-M000002
    The cryptographic system has t = 0,. . . , D using the group G t and the group G ^ t for the integer t,
    The encryption apparatus according to claim 3, wherein the ciphertext includes elements c t and c T represented by Equation 2 as the cipher element c and the cipher element c T.
    Figure JPOXMLDOC01-appb-M000002
  6.  前記暗号システムは、1以上の整数d及び1以上の整数nに関してt=0,...,dの整数tとj=0,...,nの整数nとι=0,1の整数ιとについての群Gt,j,ι及び群G^t,j,ιを用い、
     前記暗号文は、前記暗号要素c及び前記暗号要素cとして、数3に示す要素ct,j,cを含む請求項3に記載の暗号化装置。
    Figure JPOXMLDOC01-appb-M000003
    The cryptographic system has t = 0,... For an integer d greater than or equal to 1 and an integer n greater than or equal to 1. . . , D and j = 0,. . . , N and the group G t, j, ι and the group G ^ t, j, ι for the integers ι = 0 and 1 , ι ,
    The encryption apparatus according to claim 3, wherein the ciphertext includes elements c t, j , and c T shown in Formula 3 as the encryption element c and the encryption element c T.
    Figure JPOXMLDOC01-appb-M000003
  7.  前記暗号システムは、t=1の整数tについての前記群G及び前記群G^を用い、
     前記暗号文は、前記暗号要素c及び前記暗号要素cとして、数9に示す要素c^,c,cを含む請求項3に記載の暗号化装置。
    Figure JPOXMLDOC01-appb-M000004
    The cryptographic system uses the group G t and the group G ^ t for an integer t with t = 1,
    The encryption apparatus according to claim 3, wherein the ciphertext includes elements c ^ 0 , c i , and c T shown in Equation 9 as the encryption element c and the encryption element c T.
    Figure JPOXMLDOC01-appb-M000004
  8.  同種写像とペアリング演算とによって対応付けられた複数の群を用いた暗号システムにおける復号装置であり、
     前記複数の群のうちのある群の暗号要素を含む暗号文を、前記複数の群のうちの前記ある群とは異なる群の鍵要素を含む復号鍵を用いて復号する復号部
    を備える復号装置。
    A decryption device in a cryptographic system using a plurality of groups associated by a homogeneous mapping and a pairing operation,
    A decrypting device comprising a decrypting unit that decrypts ciphertext including a cipher element of a group of the plurality of groups using a decryption key including a key element of a group different from the certain group of the plurality of groups .
  9.  前記暗号システムは、群Gと、前記群Gと同種写像φによって対応付けられた群Gと、前記群G及び群G^とペアリング演算eによって対応付られるとともに、前記群G及び群G^とペアリング演算eによって対応付られた群Gとを用いる
    請求項8に記載の復号装置。
    The encryption system, the group G 0, and the group G t associated with the group G 0 and isogenies phi t, together are attached corresponding with the group G 0 and the group G ^ 0 and pairing operation e 0, decoding apparatus according to claim 8 using a group G T is attached corresponding with the group G t and the group G ^ t and pairing operation e t.
  10.  前記暗号文は、前記群Gの要素と前記群G^の要素とについて前記ペアリング演算eを行うことにより生成された前記群Gの要素zを含む暗号要素cと、前記群G^の要素である暗号要素cとを含み、
     前記復号鍵は、前記群Gの鍵要素kを含み、
     前記復号部は、前記鍵要素kと前記暗号要素cとについて前記ペアリング演算eを行い要素z’を計算し、計算された前記要素z’と前記暗号要素cとを用いて前記暗号文を復号する
    請求項9に記載の復号装置。
    The ciphertext, the cipher element c T containing elements z of the group G T which is generated by performing the pairing operation e 0 for the elements of the element and the group G ^ 0 of the group G 0, the A cryptographic element c that is an element of the group G ^ t ,
    The decryption key includes a key element k of the group G t ,
    Said decoding unit, the key for the element k and the encryption element c 'calculates a calculated said elements z' element z performs the pairing operation e t and the encryption element c T and the encryption using The decryption device according to claim 9, which decrypts a sentence.
  11.  前記暗号システムは、t=1の整数tについての前記群G及び前記群G^を用い、
     前記暗号文は、前記暗号要素c及び前記暗号要素cとして、数5に示す要素c,c
    を含み、
     前記復号鍵は、前記鍵要素kとして、数6に示す要素hを含み、
     前記復号部は、前記要素hと前記要素cとについて、ペアリング演算eを行い、前記暗号文を復号する
    請求項10に記載の復号装置。
    Figure JPOXMLDOC01-appb-M000005
    Figure JPOXMLDOC01-appb-M000006
    The cryptographic system uses the group G t and the group G ^ t for an integer t with t = 1,
    The ciphertext includes elements c and c T shown in Equation 5 as the cipher element c and the cipher element c T.
    Including
    The decryption key includes an element h 1 shown in Equation 6 as the key element k.
    It said decoding unit, for said element c and the element h 1, performs a pairing operation e 1, the decoding apparatus according to claim 10 for decoding the ciphertext.
    Figure JPOXMLDOC01-appb-M000005
    Figure JPOXMLDOC01-appb-M000006
  12.  前記暗号システムは、2以上の整数dに関してt=0,...,dの整数tについての群G及び群G^を用い、
     前記暗号文は、前記暗号要素c及び前記暗号要素cとして、数7に示す要素c,cを含み、
     前記復号鍵は、前記鍵要素kとして、数8に示す要素kを含み、
     前記復号部は、前記要素cと前記要素kについて、数9に示すペアリング演算を行い、前記暗号文を復号する
    請求項10に記載の復号装置。
    Figure JPOXMLDOC01-appb-M000007
    Figure JPOXMLDOC01-appb-M000008
    Figure JPOXMLDOC01-appb-M000009
    The cryptographic system has t = 0,. . . , D using the group G t and the group G ^ t for the integer t,
    The ciphertext includes elements c t and c T shown in Equation 7 as the cipher element c and the cipher element c T ,
    The decryption key, as the key element k, includes elements k i of the equation 8,
    It said decoding unit, for said element c t and the element k i, performs a pairing operation shown in Formula 9, the decoding apparatus according to claim 10 for decoding the ciphertext.
    Figure JPOXMLDOC01-appb-M000007
    Figure JPOXMLDOC01-appb-M000008
    Figure JPOXMLDOC01-appb-M000009
  13.  前記暗号システムは、1以上の整数d及び1以上の整数nに関してt=0,...,d
    の整数tとj=0,...,nの整数nとι=0,1の整数ιとについての群Gt,j,ι及び群G^t,j,ιを用い、
     前記暗号文は、前記暗号要素c及び前記暗号要素cとして、数10に示す要素ct,j,cを含み、
     前記復号鍵は、前記鍵要素kとして、数11に示す要素ki,jを含み、
     前記復号部は、前記要素ct,jと前記要素ki,jについて、数12に示すペアリング演算を行い、前記暗号文を復号する
    請求項10に記載の復号装置。
    Figure JPOXMLDOC01-appb-M000010
    Figure JPOXMLDOC01-appb-M000011
    Figure JPOXMLDOC01-appb-M000012
    The cryptographic system has t = 0,... For an integer d greater than or equal to 1 and an integer n greater than or equal to 1. . . , D
    Integer t and j = 0,. . . , N and the group G t, j, ι and the group G ^ t, j, ι for the integers ι = 0 and 1 , ι ,
    The ciphertext includes elements c t, j and c T shown in Equation 10 as the cipher element c and the cipher element c T ,
    The decryption key includes, as the key element k, elements k i, j shown in Equation 11;
    The decryption device according to claim 10, wherein the decryption unit decrypts the ciphertext by performing a pairing operation represented by Formula 12 on the element ct , j and the element ki , j .
    Figure JPOXMLDOC01-appb-M000010
    Figure JPOXMLDOC01-appb-M000011
    Figure JPOXMLDOC01-appb-M000012
  14.  前記暗号システムは、t=1の整数tについての前記群G及び前記群G^を用い、
     前記暗号文は、前記暗号要素c及び前記暗号要素cとして、数13に示す要素c^,c,cを含み、
     前記復号鍵は、前記鍵要素kとして数14に示す要素d^,dを含み、
     前記復号部は、前記要素c^,cと前記要素d^,dについて、数15に示すペアリング演算を行い、前記暗号文を復号する
    請求項10に記載の復号装置。
    Figure JPOXMLDOC01-appb-M000013
    Figure JPOXMLDOC01-appb-M000014
    Figure JPOXMLDOC01-appb-M000015
    The cryptographic system uses the group G t and the group G ^ t for an integer t with t = 1,
    The ciphertext includes, as the cipher element c and the cipher element c T , elements c ^ 0 , c i , c T shown in Equation 13;
    The decryption key includes elements d ^ i and d j shown in Equation 14 as the key element k,
    It said decoding unit, the said element c ^ 0, c i element d ^ i, the d j, performs pairing operation shown in Formula 15, the decoding apparatus according to claim 10 for decoding the ciphertext.
    Figure JPOXMLDOC01-appb-M000013
    Figure JPOXMLDOC01-appb-M000014
    Figure JPOXMLDOC01-appb-M000015
  15.  同種写像とペアリング演算とによって対応付けられた複数の群を用いた暗号システムであり、
     前記複数の群のうちのある群の暗号要素を含む暗号文を生成する暗号化装置と、
     前記複数の群のうちの前記ある群とは異なる群の鍵要素を含む復号鍵を用いて、前記暗号化装置によって生成された暗号文を復号する復号装置と
    を備える暗号システム。
    An encryption system using a plurality of groups associated by a homogeneous map and a pairing operation,
    An encryption device that generates a ciphertext including a group of cipher elements of the plurality of groups;
    An encryption system comprising: a decryption device that decrypts a ciphertext generated by the encryption device using a decryption key including a key element of a group different from the certain group of the plurality of groups.
  16.  群Gと、前記群Gと準同型写像φによって対応付けられた群Gと、前記群G及び群G^とペアリング演算eによって対応付られるとともに、前記群G及び群G^とペアリング演算eによって対応付られた群Gとを用いた暗号システムであり、
     前記群Gの要素と、前記群G^の要素とについて前記ペアリング演算eを行うことにより生成された前記群Gの要素zを含む前記暗号要素cと、前記群G^の要素である暗号要素cとを含む暗号文を生成する暗号化装置と、
     前記群Gの鍵要素kを含む復号鍵を用いて、前記鍵要素kと前記暗号要素cとについて前記ペアリング演算eを行い要素z’を計算し、計算された前記要素z’と前記暗号要素cとを用いて前記暗号文を復号する復号装置と
    を備える暗号システム。
    The group G 0 , the group G t associated with the group G 0 by the homomorphism map φ t , the group G 0 and the group G ^ 0 are associated with the pairing operation e 0 , and the group G t and an encryption system that uses a group G T is attached corresponding with the group G ^ t and pairing operation e t,
    And elements of the group G 0, and the encryption element c T containing elements z of the generated said group G T by performing the pairing operation e 0 for the element of the group G ^ 0, the group G ^ an encryption device that generates a ciphertext including a cipher element c that is an element of t ;
    Using the decryption key comprising a key element k of said group G t, said about the key element k and the encryption element c 'calculates a calculated said elements z' element z performs the pairing operation e t a cryptographic system comprising a decoding device for decoding the cipher text using the said encryption component c T.
PCT/JP2017/001558 2016-05-27 2017-01-18 Cipher apparatus, decoding apparatus, and cipher system WO2017203743A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016106653A JP2017212699A (en) 2016-05-27 2016-05-27 Encryption device, decryption device, and encryption system
JP2016-106653 2016-05-27

Publications (1)

Publication Number Publication Date
WO2017203743A1 true WO2017203743A1 (en) 2017-11-30

Family

ID=60412731

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/001558 WO2017203743A1 (en) 2016-05-27 2017-01-18 Cipher apparatus, decoding apparatus, and cipher system

Country Status (2)

Country Link
JP (1) JP2017212699A (en)
WO (1) WO2017203743A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023135642A1 (en) * 2022-01-11 2023-07-20 三菱電機株式会社 Encryption device, decryption device, decryptability verification device, cipher system, encryption method, and encryption program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005141200A (en) * 2003-11-03 2005-06-02 Microsoft Corp Use of isogeny for design of cryptosystem
JP2006311477A (en) * 2005-04-29 2006-11-09 Microsoft Corp System and method for creating and validating isogeny-based signature

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005141200A (en) * 2003-11-03 2005-06-02 Microsoft Corp Use of isogeny for design of cryptosystem
JP2006311477A (en) * 2005-04-29 2006-11-09 Microsoft Corp System and method for creating and validating isogeny-based signature

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GENTRY, CRAIG ET AL.: "Hierarchical ID-Based Cryptography", LECTURE NOTES IN COMPUTER SCIENCE, vol. 2501, 2002, pages 548 - 566, XP002396667 *
KOSHIBA, TAKESHI ET AL.: "Pairing Cryptography Meets Isogeny: A New Framework of Isogenous Pairing Groups", CRYPTOLOGY EPRINT ARCHIVE, December 2016 (2016-12-01), pages 1 - 36, XP061022300, Retrieved from the Internet <URL:http://eprint.iacr.org/2016/1138/20161214:185829> [retrieved on 20170407] *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023135642A1 (en) * 2022-01-11 2023-07-20 三菱電機株式会社 Encryption device, decryption device, decryptability verification device, cipher system, encryption method, and encryption program
JP7466791B2 (en) 2022-01-11 2024-04-12 三菱電機株式会社 ENCRYPTION DEVICE, DEC ... POSSIBLE VERIFICATION DEVICE, CRYPTOSYSTEM, ENCRYPTION METHOD, AND ENCRYPTION PROGRAM

Also Published As

Publication number Publication date
JP2017212699A (en) 2017-11-30

Similar Documents

Publication Publication Date Title
JP5291795B2 (en) ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD, DECRYPTION METHOD, SECURITY METHOD, PROGRAM, AND RECORDING MEDIUM
JP6083234B2 (en) Cryptographic processing device
JP5618881B2 (en) Cryptographic processing system, key generation device, encryption device, decryption device, cryptographic processing method, and cryptographic processing program
JP5814880B2 (en) Encryption system, encryption method, encryption program, and decryption device
JP2014095847A (en) Functional encryption system, key generation device, encryption device, decryption device, functional encryption method, and program
KR20230141845A (en) Threshold key exchange
JP6059347B2 (en) Decoding device, decoding capability providing device, method and program thereof
JP5606351B2 (en) Cryptographic processing system, key generation device, encryption device, decryption device, key delegation device, cryptographic processing method, and cryptographic processing program
US11909873B2 (en) Decryption device, cryptographic system, and decryption method
WO2018043049A1 (en) Encryption system, encryption method, and encryption program
WO2015125293A1 (en) Cipher system and cipher program
JP5596616B2 (en) Information providing system, mediating apparatus, mediating method, information providing method, and program
JP6625283B2 (en) Encryption device, decryption device, encryption method, encryption program, decryption method, and decryption program
WO2017203743A1 (en) Cipher apparatus, decoding apparatus, and cipher system
JP5513444B2 (en) Vector configuration system, method, apparatus, program, and encryption system
Hussein et al. Proposed Parallel Algorithms to Encryption Image Based on Hybrid Enhancement RC5 and RSA
Sharma A symmetric FHE scheme based on Linear Algebra
JP2013172178A (en) Signature key obfuscation system, signature key obfuscation method, cryptographic signature system using obfuscated signature key, cryptographic signature method using obfuscated signature key, device, and program
JP2013207387A (en) Proxy encryption system, proxy encryption method, committing device, proxy device
JP5612494B2 (en) Timed cryptographic system, timed cryptographic method, apparatus, and program using function encryption
KR101932032B1 (en) Polynomial Functional Encryption Method with Linear ciphertext size
JP6949276B2 (en) Re-encrypting device, re-encrypting method, re-encrypting program and cryptosystem
JP5912281B2 (en) Decryption result verification apparatus, method, system, and program
Marron Quantum Attacks on Modern Cryptography and Post-Quantum Cryptosystems
Mittal et al. A retrospective study on NTRU cryptosystem

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17802345

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17802345

Country of ref document: EP

Kind code of ref document: A1