WO2015008607A1 - 復号装置、復号能力提供装置、それらの方法、およびプログラム - Google Patents

復号装置、復号能力提供装置、それらの方法、およびプログラム Download PDF

Info

Publication number
WO2015008607A1
WO2015008607A1 PCT/JP2014/067352 JP2014067352W WO2015008607A1 WO 2015008607 A1 WO2015008607 A1 WO 2015008607A1 JP 2014067352 W JP2014067352 W JP 2014067352W WO 2015008607 A1 WO2015008607 A1 WO 2015008607A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
ciphertext
decryption
derived
decoding
Prior art date
Application number
PCT/JP2014/067352
Other languages
English (en)
French (fr)
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 日本電信電話株式会社
Priority to JP2015527239A priority Critical patent/JP6059347B2/ja
Priority to CN201480034506.2A priority patent/CN105339995B/zh
Priority to US14/900,517 priority patent/US10163370B2/en
Priority to EP14826053.2A priority patent/EP3001401A4/en
Publication of WO2015008607A1 publication Critical patent/WO2015008607A1/ja

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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Definitions

  • the present invention relates to a cloud key management type decryption technique.
  • a specific decryption key is required to decrypt a ciphertext encrypted by an encryption method such as a public key encryption method or a common key encryption method.
  • An encryption method such as a public key encryption method or a common key encryption method.
  • One conventional method for a decryption device that does not have a decryption key to obtain a decryption result of a ciphertext is that an external device that retains the decryption key provides the decryption device with the decryption key, and the decryption device decrypts the decryption key.
  • a ciphertext is decrypted using a key.
  • Another conventional method for the decryption device to obtain the decryption result of the ciphertext is a method in which the decryption device provides the ciphertext to the external device, and the external device decrypts the ciphertext and provides the decryption result to the decryption device. is there.
  • the former method has a security problem because the decryption key itself is provided to the decryption device.
  • the decoding device cannot verify the correctness of the decoding result.
  • Self-correction technology means that the correct calculation results are always output using a computer or system that does not necessarily output the correct calculation results (when using a computer that outputs the correct calculation results, the correct calculation results are output, and the correct results are not always output.
  • a computer that does not always output is used, a correct calculation result is obtained or a result indicating that the calculation cannot be obtained is obtained).
  • the decryption device that decrypts only the information for the decryption device to decrypt the ciphertext without the decryption capability providing device holding the decryption key giving the decryption key to the decryption device To give.
  • the decoding device can always perform a correct decoding operation using this information.
  • the decryption device performs a self-correction process with a decryption capability providing device that holds a decryption key for decrypting the first ciphertext that can be decrypted by the homomorphism operation, and obtains a decryption value of the first ciphertext, A non-homomorphic operation using the value corresponding to or derived from the decrypted value of the first ciphertext and the additional value is performed, and plaintext is output.
  • the self-correction process is used only for the decryption process of the first ciphertext that can be decrypted by the homomorphic operation, even if the decryption process includes a homomorphic operation and a non-homogeneous operation, Cloud key management type decryption using self-correction technology can be performed.
  • FIG. 1 is a block diagram of a security system according to an embodiment.
  • FIG. 2 is a block diagram of the encryption apparatus according to the first embodiment.
  • FIG. 3A is a block diagram of the decoding device and the decoding capability providing device of the first embodiment.
  • FIG. 3B is a block diagram illustrating details of the self-correction processing unit and the decoding capability providing unit 142 according to the first embodiment.
  • FIG. 4 is a diagram for explaining the decoding process of the first embodiment.
  • FIG. 5 is a block diagram of an encryption apparatus according to the second embodiment.
  • FIG. 6 is a block diagram of the decoding device and the decoding capability providing device of the second embodiment.
  • FIG. 7 is a diagram for explaining the decoding process of the second embodiment.
  • FIG. 1 is a block diagram of a security system according to an embodiment.
  • FIG. 2 is a block diagram of the encryption apparatus according to the first embodiment.
  • FIG. 3A is a block diagram of the decoding device and the decoding capability providing device
  • FIG. 8 is a block diagram of an encryption apparatus according to the third embodiment.
  • FIG. 9 is a block diagram of a decoding device and a decoding capability providing device according to the third embodiment.
  • FIG. 10 is a diagram for explaining a decoding process according to the third embodiment.
  • the decryption device performs a self-correction process with the decryption capability providing device that holds the decryption key for decrypting the first ciphertext that can be decrypted by the homomorphism operation, and the first ciphertext A decrypted value is obtained, a non-homogeneous operation using the value corresponding to or derived from the decrypted value of the first ciphertext and the additional value is performed, and plaintext is output.
  • the plaintext is a decrypted value of the second ciphertext corresponding to information including the first ciphertext.
  • Value B derived from A means (1) A or a part of information of A, or (2) a function value of A or a part of information, or (3) A or A A function value of information including a part of information of A and other information.
  • An example of “value B derived from A” is “B corresponding to A”.
  • Another example of “value B derived from A” is “B based on A”.
  • “B including A” means (1) B is A, (2) B includes A as an element, or (3) a part of B is A (for example, B That some of the bits represent A).
  • the second ciphertext is, for example, a ciphertext (for example, a first ciphertext and a ciphertext corresponding to the first ciphertext that can be decrypted by the homomorphic operation and an additional value that becomes an operand of the non-homogeneous operation at the time of decryption. Ciphertext including an additional value).
  • a decryption device that decrypts the second ciphertext performs self-correction processing with a decryption capability providing device that holds a decryption key for decrypting the first ciphertext, and the decrypted value of the first ciphertext Get.
  • the first ciphertext can be decrypted by a homomorphic operation, and such decryption of the first ciphertext can be executed by a known cloud key management type decryption method using a self-correction technique (for example, Patent Document 1). (See ⁇ 3 etc.) Further, the decryption device performs a non-homogeneous operation using the decrypted value and the additional value of the first ciphertext, and outputs the decrypted value of the second ciphertext.
  • the self-correction process is used only for the decryption process of the first ciphertext that can be decrypted by the homomorphism operation
  • the second ciphertext has an additional value that becomes an operand of the non-homogeneity operation at the time of the decryption. Even if it is included, cloud key management type decryption using self-correction technology can be performed.
  • the example of the first ciphertext includes a value obtained by encrypting a value derived from a random value (for example, a value obtained by encrypting a value corresponding to a random value), and an example of an additional value in this case Is a value including a value corresponding to information including a plaintext and a random value (for example, a value corresponding to a plaintext and a random value).
  • a value including a value corresponding to information including a plaintext and a random value for example, a value corresponding to a plaintext and a random value.
  • “It is difficult to obtain a decoded value” means, for example, that a decoded value cannot be obtained within a polynomial time.
  • “Polynomial time” means, for example, a time (calculation time) that can be expressed by a polynomial of the size (length) of the decryption key.
  • “polynomial time” means, for example, a time (calculation time) that can be expressed by an arbitrary polynomial for ⁇ when the length (for example, bit length) of the decryption key is ⁇ .
  • the first ciphertext is a value including a value obtained by encrypting a value derived from information including plaintext (for example, a value obtained by encrypting a value corresponding to plaintext).
  • the additional value is a value including a value derived from information including the first ciphertext and a random value (for example, a value corresponding to the first ciphertext and the random value).
  • values corresponding to the value ⁇ include information representing the value ⁇ or a map thereof, information representing a part of the information representing the value ⁇ or a map thereof, and information representing the value ⁇ .
  • Information or its mapping information including information representing a part of the information representing the value ⁇ or its mapping, another mapping of the mapping to obtain the value ⁇ , and the mapping of the mapping to obtain the value ⁇ It is another mapping of information including information.
  • the first ciphertext includes a value obtained by encrypting a value derived from a random value (for example, a value obtained by encrypting a value corresponding to the random value), and an additional value is a plaintext and a random value.
  • the decrypted value of the second ciphertext is difficult to obtain from only the decrypted value of the first ciphertext, the value including the value corresponding to the information including (for example, the value corresponding to the plaintext and the random value) In some cases (for example, when this is not possible), even if the information of the first ciphertext is given to the decryption capability providing device, the decryption of the second ciphertext is not performed unless the additional value information is given to the decryption capability providing device. The value information is not leaked to the decoding capability providing apparatus.
  • the decryption device gives the information of the first ciphertext to the decryption capability providing device without disturbing it (for example, the decryption device gives the information indicating the first ciphertext to the decryption capability providing device).
  • the information for obtaining the decrypted value of the first ciphertext may be obtained from the decryption capability providing device without obtaining the decryption key information from the decryption capability providing device. Thereby, the amount of calculation for the decryption apparatus to disturb the information of the first ciphertext can be reduced.
  • the decryption device may give information that disturbs the first ciphertext to the decryption capability providing device, and information for obtaining a decrypted value may be obtained from the decryption capability providing device. Good.
  • the decryption device gives the decryption capability providing device with information that disturbs the first ciphertext, and the decryption key It is desirable that the information for obtaining the decrypted value of the first ciphertext is obtained from the decryption capability providing device without obtaining the information from the decryption capability providing device.
  • a specific example of the first ciphertext is a ciphertext of an OW-CPA secure encryption method having homomorphism (OW-CPA secure ciphertext for the decrypted value of the first ciphertext), which is added to the first ciphertext.
  • a specific example of the second ciphertext corresponding to the value is an IND-CCA secure ciphertext that does not have homomorphism (IND-CCA secure ciphertext for plaintext).
  • IND-CCA secure ciphertext for plaintext The following is an example of an OW-CPA secure encryption scheme and an IND-CCA secure encryption scheme based thereon.
  • Method example 1 is a method based on a public key encryption method.
  • ⁇ OW-CPA secure encryption method 1-1 Key generation algorithm: KeyGen (1 ⁇ ) ⁇ (pk, sk)
  • represents a security parameter that is an integer of 1 or more
  • 1 ⁇ represents a column of 1 ⁇
  • pk represents a public key (encryption key) of a public key cryptosystem
  • sk corresponds to it. Represents a secret key (decryption key).
  • KeyGen (1 ⁇ ) ⁇ (pk, sk) represents an operation to obtain (pk, sk) using 1 ⁇
  • Enc (pk, M 1 ) ⁇ C 0 is in accordance with the public key cryptosystem using pk.
  • Dec (sk, C 0 ) ⁇ M 1 ′ is obtained by decrypting C 0 according to the public key cryptosystem using sk.
  • Examples of the OW-CPA secure encryption method 1-1 include RSA encryption, ElGamal encryption, modified-ElGamal encryption, and Palier encryption.
  • ⁇ IND-CCA secure encryption method 1-2 based on OW-CPA secure encryption method 1-1
  • r represents a random value
  • ⁇ and k represent values derived from r (for example, values corresponding to r).
  • Enc_FO (pk) ⁇ C represents the operation of obtaining a ciphertext C corresponding to the random value r with pk
  • Enc (pk, alpha) ⁇ C 1 is ciphertext C 1 encrypts alpha with pk
  • FO (Q, r) ⁇ C 2 represents an operation of non-homogeneity that obtains a value C 2 derived from information including Q and r.
  • Q is a value derived from ⁇ . Since ⁇ and k are values derived from r, Q is a value corresponding to plaintext k.
  • Dec_FO (sk, C) ⁇ k represents an operation of non-homogeneity that obtains k by decoding C using sk.
  • the Dec_FO (sk, C) is a homomorphic operation Dec (sk, C 1 ) ⁇ Q obtained by decrypting the ciphertext C 1 by using the secret key sk and an inverse operation of FO.
  • a certain homomorphic operation FO ⁇ 1 (Q, C 2 ) ⁇ r is included.
  • the first ciphertext is C 1
  • the additional value is C 2
  • the second ciphertext (C 1 , C 2 ).
  • the plaintext is k, for example, a common key. However, the plaintext k may be a message.
  • a specific example of method example 1 is the PSEC-KEM method (see references 1, 2, etc.).
  • Reference 1 PSEC-KEM specification, Nippon Telegraph and Telephone Corporation, NTT Information Platform Research Laboratories, April 14, 2008
  • Reference 2 INTERNATIONAL STANDARD ISO / IEC 18033-2 “Information technology-Security techniques-Encryption algorithms -Part 2: Asymmetric ciphers ”
  • Method example 2 is an example based on an ID-based encryption method.
  • ⁇ OW-CPA secure encryption method 2-1 Setting algorithm: Setup (1 ⁇ ) ⁇ (PK, msk) Key generation algorithm: KeyGen (PK, id, msk) ⁇ sk id Encryption algorithm: Enc (PK, id, M) ⁇ c 0 Decoding algorithm: Dec (PK, sk id , c 0 ) ⁇ M ′ Encapsulation algorithm: Setup EC (1 ⁇ ) ⁇ pub S ( 1 ⁇ , pub) ⁇ (r, com, dec) R (pub, com, dec) ⁇ r'or ⁇
  • PK represents the public key (public parameter) of the ID-based encryption method
  • msk represents the master secret key
  • id represents the identifier
  • sk id represents the secret key corresponding to the identifier id.
  • pub represents an encapsulated public parameter
  • r, com, and dec represent random values
  • represents an error.
  • Setup (1 ⁇ ) ⁇ (PK, msk) represents an operation to obtain (PK, msk) using 1 ⁇
  • KeyGen (PK, id, msk) ⁇ sk id uses PK, id, msk.
  • Enc (PK, id, M) ⁇ c 0 represents a homomorphic operation for encrypting M according to an ID-based encryption method using PK, id to obtain c 0.
  • Dec (PK, sk id , c 0 ) ⁇ M ′ represents a homomorphic operation that obtains M ′ by decrypting c 0 according to the ID-based encryption method using PK, sk id .
  • Setup EC (1 ⁇ ) ⁇ pub represents an operation for obtaining a pub with 1 ⁇ , S (1 ⁇ , pub) ⁇ (r, com, dec) , using (1 ⁇ , pub) (r , Com, dec) represents an operation for obtaining R ′ (pub, com, dec) ⁇ r′or ⁇ or ⁇ represents an operation for obtaining r ′ or ⁇ using (pub, com, dec).
  • Reference Document 3 An example of the ID-based encryption method is disclosed in Reference Document 3, for example.
  • Reference 3 D. Boneh and M. Franklin, “Identity-Based Encryption from the Weil Pairing,” Adv. In Cryptology
  • ⁇ IND-CCA secure encryption method 2-2 based on OW-CPA secure encryption method 2-1
  • dec) ⁇ c 0 MAC (r, c 0 ) ⁇ tag C (com, c 0 , tag)
  • dec represents a concatenated value of information representing M and information representing dec
  • MAC (r, c 0 ) ⁇ tag represents an operation for obtaining a message authenticator tag for (r, c 0 )
  • Vefy (r ′, c 0 , tag) represents the verification result of the message authenticator tag for (r ′, c 0 ).
  • the first ciphertext is a value c 0 obtained by encrypting a value derived from the plaintext M (a value corresponding to the plaintext M) M
  • the additional value is the first ciphertext c 0 (corresponding to the first ciphertext c 0 and a random value r) derived from the information including the random value r is a message authentication code tag.
  • a specific example of Method Example 2 is a method in which an ID-based encryption method is BK-converted (Reference Document 4). In the case of the method of Reference 4, the plain text M is a message.
  • the second ciphertext includes a first ciphertext that can be decrypted by homomorphic operation (for example, the second ciphertext is the first ciphertext, but the plaintext is not decrypted only by the decryption process of the first ciphertext).
  • the plaintext may be reconstructed by a non-homogeneous operation using a value derived from the decrypted value of the first ciphertext and an additional value derived from the decrypted value of the first ciphertext.
  • Such a decryption device that decrypts the second ciphertext performs self-correction processing with a decryption capability providing device that holds a decryption key for decrypting the first ciphertext, and the decrypted value of the first ciphertext Get.
  • the first ciphertext can be decrypted by a homomorphic operation, and such decryption of the first ciphertext can be executed by a known cloud key management type decryption method using a self-correction technique (for example, Patent Document 1).
  • the decryption device performs non-homogeneity calculation using the value derived from the decrypted value of the first ciphertext and the additional value derived from the decrypted value of the first ciphertext, and obtains and outputs the plaintext.
  • the self-correction process is used only for the decryption process of the first ciphertext that can be decrypted by the homomorphism operation, it is assumed that an additional value that becomes an operand of the non-homomorphism operation is included when the plaintext is restored.
  • cloud key management type decryption using self-correction technology can be performed.
  • the first ciphertext is an OW-CPA secure ciphertext with homomorphism (OW-CPA secure ciphertext for the decryption value of the first ciphertext). is there.
  • the second ciphertext is an IND-CCA secure ciphertext for plaintext.
  • the following is an example of the IND-CCA secure encryption method in Example 2 of the second ciphertext (see Reference 5). This example is also based on the above-described OW-CPA secure encryption method 1-1.
  • Reference 5 RSAES-OAEP Encryption Scheme: Algorithm specification and supporting documentation, RSA Laboratories, RSA Security Inc.
  • ⁇ IND-CCA secure encryption method 3-1 based on OW-CPA secure encryption method 1-1 >> Key generation algorithm: KeyGen (1 ⁇ ) ⁇ (pk, sk) Encryption algorithm: Enc (pk, Encode (M 3 , P)) ⁇ C 31 Decoding algorithm: Decode (Dec (sk, C 31 ), P) ⁇ M 3 ′ However, M 3 is a plain text, P is the encoding parameters. P may be empty. Enc (pk, Encode (M 3 , P)) ⁇ C 31 represents a homomorphic operation that encrypts Encode (M 3 , P) using pk to obtain ciphertext C 31 .
  • a specific example of the non-homomorphic operation Encode is an operation including EME-OAEP-Encode in Reference 5.
  • the additional value seed ′ matches the random value seed.
  • a specific example of the non-homogeneous operation Decode is an operation including EME-OAEP-Decode in Reference 5.
  • the first ciphertext C 31 is a value obtained by encrypting the value MS derived from the plaintext M 3 and information including seed that is a random value.
  • the additional value seed ′ is a value derived from information including the random value seed.
  • Second ciphertext of this example is first ciphertext C 31.
  • the first embodiment is an example of decoding the second cipher text C 10 of PSEC-KEM method described in reference 1.
  • the first ciphertext is a value C 11 obtained by encrypting the ⁇ value derived from a random value r (a value corresponding to r)
  • the additional value is the plaintext (common key) k (the random value r value) corresponding to the value ⁇ is a value C 12 corresponding to the information including the random value r.
  • the additional value C 12 is information derived from information including ⁇ and r.
  • the decoded value of the second ciphertext C 10 is common key k obtained from the random value r. That is, only from decoded value Q of the first ciphertext C 11, it is difficult to obtain a common key k is a decoded value of the second ciphertext C 10.
  • the security system 1 includes a key generation device 11, an encryption device 12, a decryption device 13, and a decryption capability providing device 14, which exchange information via a network. It is configured as possible.
  • FIG. 1 illustrates one key generation device 11, one encryption device 12, one decryption device 13, and one decryption capability providing device 14, but at least some of these devices. There may be more than one.
  • the encryption device 12 includes a storage unit 121, a random value generation unit 122, a corresponding value generation unit 123, a homomorphic encryption unit 124, a non-homomorphic processing unit 125, a synthesis Unit 126, encryption unit 127, and output unit 128.
  • the decoding device 13 includes an input unit 131, a storage unit 132, a decomposition unit 133, a self-correction processing unit 134, a non-homogeneity processing unit 135, and a decoding unit 136. As illustrated in FIG.
  • the decoding capability providing apparatus 14 includes a storage unit 141 and a decoding capability providing unit 142.
  • the key generation device 11, the encryption device 12, the decryption device 13, and the decryption capability providing device 14 are respectively a processor (hardware processor) such as a CPU (central processing unit) or a RAM (random-access memory).
  • a general-purpose or dedicated computer having a memory such as a ROM (read-only memory) is configured to execute a predetermined program.
  • the computer may include a single processor or memory, or may include a plurality of processors or memories. This program may be installed in a computer, or may be recorded in a ROM or the like in advance.
  • processing units may be configured using an electronic circuit that realizes a processing function independently instead of an electronic circuit (circuitry) that realizes a functional configuration by reading a program like a CPU.
  • an electronic circuit constituting one device may include a plurality of CPUs. Information output from each processing unit is stored in a temporary memory (not shown), read out as necessary, and used for processing of each processing unit.
  • the key generation device 11 executes a key generation algorithm KeyGen (1 ⁇ ) to obtain a public key pk and a secret key sk.
  • the public key pk is stored in the storage unit 121 of the encryption device 12 (FIG. 2). Furthermore, the public key pk is set in other devices.
  • the secret key sk is securely stored in the storage unit 141 of the decryption capability providing device 14 (FIG. 3).
  • the random value generation unit 122 of the encryption device 12 generates and outputs a random value r (step S101).
  • the corresponding value generator 123 receives the random value r, generates values (values corresponding to r) ⁇ , k derived from the random value r, and outputs them (step S102).
  • H is a bit string representing a hash value of information including information representing a random value r
  • H t
  • is a function value of t.
  • k is a common key.
  • B represents concatenation of the bit strings A and B. Which position of H is defined as t and k is determined in advance.
  • Added value C 12 is a value that serves as the operator of the non homomorphism operation at the time of decoding.
  • C 10 is information including the information representing the information and C 12 representing the C 11, for example, connection information (e.g., bit sequence) the information representative of the C 11 (e.g., bit sequence) to represent C 12 Value.
  • connection information e.g., bit sequence
  • Encryption unit 127 receives as input an input message m and the common key k, and encrypts the input message m with the common key k in accordance with the common key encryption scheme, and outputs the common key cipher text C 13 (step S106).
  • Examples of the common key cryptosystem are AES and Cameria (registered trademark).
  • the output unit 128, a second ciphertext C 10 and the common key cipher text C 13 as input ciphertext C 1 including these (C 10, C 13) outputs a (step S107).
  • Ciphertext C 1 is sent to the decoder 13 via the network.
  • Ciphertext C 1 is input to the input unit 131 of the decoding device 13 (FIG. 3) is stored in the storage unit 132 (step S108).
  • the self-correction processing unit 134 receives the first ciphertext C 11 and the decryption capability of the decryption capability providing apparatus 14 that holds the secret key (decryption key) sk for decrypting the first ciphertext C 11 in the storage unit 141.
  • the cloud key management type decryption process using the self-correction technique is a known technique described in Patent Documents 1 to 3 and the like. The outline is shown below.
  • the self-correction processing unit 134 provides information corresponding to the first ciphertext C 11 to the decryption capability providing unit 142 of the decryption capability providing apparatus 14 and provides information on the secret key (decryption key) sk from the decryption capability providing apparatus 14. Without obtaining the information, the self-correction processing unit 134 obtains information for obtaining the decrypted value Q of the first ciphertext C 11 from the decryption capability providing apparatus 14.
  • the decoding capability providing unit 142 of the decoding capability providing apparatus 14 the information corresponding to the first ciphertext C 11 from the self-correction processing unit 134 gives the information of the private key (decryption key) sk to the decoder 13 it not, and outputs the information for self-correction processing unit 134 to obtain the decoded value Q of the first ciphertext C 11 by the self-correction process against self-correction processing unit 134.
  • the self-correction processing unit 134 obtains the decoded value Q using the information given from the decoding capability providing unit 142.
  • the “information corresponding to the first ciphertext C 11 ” given to the decryption capability providing unit 142 disturbs the first ciphertext C 11 .
  • it is difficult to obtain a common key k is a decoded value of the second ciphertext to C 10 only decoded value Q. Therefore, even if the decrypted value Q leaks to the decryption capability providing device 14, the information on the common key k does not leak to the decryption capability providing device 14.
  • the self-correction processing unit 134 may obtain information for obtaining the decoded value Q from the decoding capability providing unit 142.
  • G, H is the group (e.g., a finite-friendly ⁇ such cyclic groups)
  • f (x) is decoded
  • X 1 and X 2 are random variables having values in group G
  • x 1 is an actual value of random variable X 1
  • x 2 is an actual value of random variable X 2
  • A, b are natural numbers that are relatively prime.
  • the following examples do not limit the present invention, and other self-correction techniques may be used.
  • the group H is a cyclic group
  • the generation source of the cyclic group H is ⁇ h
  • r1 and r2 are random natural numbers of 0 or more
  • ⁇ 1 ⁇ h r1 x b
  • ⁇ 2 ⁇ h r2 x a
  • One of a and b may be a constant such as 1.
  • the natural numbers r1 and r2 are constants, processing for generating the natural numbers r1 and r2 at random is unnecessary.
  • the first input information ⁇ 1 and the second input information ⁇ 2 are sent to the decoding capability providing unit 142.
  • the “certain probability” is a probability of less than 100% and 0% or more.
  • the example of “certain probability” is a probability that cannot be ignored, and the example of “probability that cannot be ignored” is a case where a polynomial ⁇ (k) is a polynomial that is a broad monotone increasing function for the security parameter k. Of 1 / ⁇ (k) or more.
  • the first output information z 1 is sent to the self-correction processing unit 134.
  • Step 111b The processing unit 142b of the decryption capability providing unit 142 uses the sent second input information ⁇ 2 and the secret key sk stored in the storage unit 141, and uses f ( ⁇ 2 ) with a probability larger than a certain probability. correctly calculated, a calculation result obtained as the second output information z 2.
  • the decoding capability providing unit 142 can calculate f ( ⁇ 2 ), but may output a calculation result including an intentional or unintentional error.
  • the second output information z 2 is sent to the self-correction processing unit 134.
  • b and r1 are the same as those used in the processing unit 134a.
  • the calculation result u is stored in the storage unit 134e.
  • the self-correction processing unit 134 indicates error information indicating that decoding is impossible. Is output.
  • the process of step 110d may be performed between step 110b and step 110c.
  • the homomorphism processing unit 135 performs an exclusive OR of a bit string representing a hash value of information including information representing C 11 and information representing the decoded value Q and a bit string representing the additional value C 12 . Obtained as a bit string representing the random value r.
  • Decoding unit 136 receives as input a common key cipher text C 13 and the common key k, decrypts the common key cipher text C 13 with the common key k in accordance with the common key encryption scheme, and outputs the obtained decoded value m ' (Step S113).
  • the second embodiment is an example of decrypting a second ciphertext of a method obtained by performing BK conversion on the ID-based encryption method described in Reference Document 4.
  • message is a value C 21 obtained by encrypting the dec, additional value corresponds to the random value r first ciphertext C 21 authenticator tag.
  • the security system 2 of the second embodiment includes a key generation device 21, an encryption device 22, a decryption device 23, and a decryption capability providing device 24, which exchange information via a network. It is configured as possible.
  • FIG. 1 illustrates one key generation device 21, one encryption device 22, one decryption device 23, and one decryption capability providing device 24, but at least some of these devices. There may be more than one.
  • the encryption device 22 includes a storage unit 221, a random value generation unit 222, a homomorphic encryption unit 224, a non-homomorphic processing unit 225, and an output unit 228.
  • the decoding device 23 includes an input unit 231, a storage unit 232, a self-correction processing unit 234, a non-homogeneity processing unit 235, and an output unit 236.
  • the decryption capability providing apparatus 24 includes a storage unit 241, a decryption capability providing unit 242, and a secret key acquisition unit 243. As illustrated in FIG.
  • the key generation device 21 of this embodiment includes a storage unit 211, a secret key generation unit 212, and a setting unit 213.
  • the key generation device 21, the encryption device 22, the decryption device 23, and the decryption capability providing device 24 are each configured by, for example, a predetermined program being read into the above-described computer. Information output from each processing unit is stored in a temporary memory (not shown), read out as necessary, and used for processing of each processing unit.
  • the setting unit 213 of the key generation device 21 executes a setting algorithm Setup (1 ⁇ ) and Setup EC (1 ⁇ ) to obtain a public key (PK, pub) and a master secret key msk.
  • the public key (PK, pub) is stored in the storage unit 221 of the encryption device 22 (FIG. 5). Furthermore, the public key (PK, pub) is also set in other devices.
  • the master secret key msk is securely stored in the storage unit 211 of the key generation device 21.
  • the random value generation unit 222 of the encryption device 22 generates a random value (r, com, dec) by S (1 ⁇ , pub) ⁇ (r, com, dec) and outputs it. (Step S201). com functions as an identifier.
  • Homomorphism encryption unit 224 inputs the public key PK and a random value dec identifier com and the plaintext m, Enc (PK, com, m
  • the first ciphertext C 21 is a ciphertext that can be decrypted by a homomorphic operation.
  • the non-homomorphism processing unit 225 receives the random value r and the first ciphertext C 21 as input, and MAC (r, C 21 ) ⁇ tag to authenticate the random value r and the first ciphertext C 21.
  • tag is obtained as an additional value and output (step S204).
  • the additional value tag is a value that becomes an operand of non-homogeneous calculation at the time of decoding.
  • the second ciphertext C 2 is information including the information indicating the additional value tag information and the information representative of the first ciphertext C 21 representing the identifier com, for example, information representing the identity com (e.g., bit string ) And information (for example, bit string) representing the first ciphertext C 21 and information (for example, bit string) representing the additional value tag.
  • Second ciphertext C 2 is sent to the decoder 23 via the network.
  • the second ciphertext C 2 is input to the input unit 231 of the decoding device 23 (FIG. 6) is stored in the storage unit 232 (step S208).
  • the identifier “com” is input to the secret key acquisition unit 243 of the decryption capability providing device 24.
  • the secret key acquisition unit 243 outputs the identifier com to the key generation device 21 (step S209b).
  • the secret key generation unit 212 of the key generation device 21 receives the identifier com and the master secret key msk, obtains and outputs the secret key sk com corresponding to the identifier com by KeyGen (PK, com, msk) ⁇ sk com . To do.
  • the secret key sk com is input to the secret key acquisition unit 243, and is securely stored in the storage unit 241 (step S209c).
  • Self-correction processing (cloud key management type decryption processing using self-correction technology) is performed with the decryption capability providing unit 242 of the decryption capability providing apparatus 24 that holds sk com , and the first ciphertext C 21
  • the self-correction processing unit 234 provides information corresponding to the first ciphertext C 21 to the decryption capability providing unit 242 of the decryption capability providing apparatus 24 and provides the decryption capability with information on the secret key (decryption key) sk com. Without obtaining from the device 24, the self-correction processing unit 234 obtains information for obtaining the decrypted value m ′
  • the decryption capability providing unit 242 of the decryption capability providing device 24 obtains information corresponding to the first ciphertext C 21 from the self-correction processing unit 234, and does not give the information of the secret key sk com to the decryption device 23.
  • the self-correction processing unit 234 outputs information for obtaining the decrypted value m ′
  • the self-correction processing unit 234 obtains a decoded value m ′
  • the non-homomorphism processing unit 235 performs a non-homomorphic operation using the decrypted value m ′
  • dec ′, the identifier com included in the second ciphertext C 2 (com, C 21 , tag), and the additional value tag, and R ( pub, com, dec ′) ⁇ r ′ to obtain r ′.
  • the security system 3 includes a key generation device 31, an encryption device 32, a decryption device 33, and a decryption capability providing device 34, which exchange information via a network. It is configured as possible.
  • FIG. 1 illustrates one key generation device 31, one encryption device 32, one decryption device 33, and one decryption capability providing device 34, but at least some of these devices. There may be more than one.
  • the encryption device 32 includes a storage unit 321, a random value generation unit 322, a homomorphic encryption unit 324, a non-homomorphic processing unit 325, a conversion unit 326, and an output unit. 328.
  • the decoding device 33 includes an input unit 331, a storage unit 332, a restoration unit 333, a self-correction processing unit 334, an inhomogeneity processing unit 335, an output unit 236, and a conversion unit 337.
  • the decoding capability providing apparatus 34 includes a storage unit 341 and a decoding capability providing unit 342.
  • the key generation device 31, the encryption device 32, the decryption device 33, and the decryption capability providing device 34 are devices configured by, for example, reading a predetermined program into the above-described computer. Information output from each processing unit is stored in a temporary memory (not shown), read out as necessary, and used for processing of each processing unit.
  • the key generation device 31 executes a key generation algorithm KeyGen (1 ⁇ ) to obtain a public key pk and a secret key sk.
  • the public key pk is stored in the storage unit 321 of the encryption device 32 (FIG. 8). Furthermore, the public key pk is set in other devices.
  • the secret key sk is securely stored in the storage unit 341 of the decryption capability providing device 34 (FIG. 9).
  • the public key pk is an RSA public key (e, n)
  • the secret key sk is an RSA secret key (n, d) corresponding to the RSA public key (e, n).
  • the key generation device 31 outputs the encoding parameter P.
  • the encoding parameter P is stored in the storage unit 321 of the encryption device 32 and the storage unit 341 of the decryption capability providing device 34.
  • the homomorphic encryption unit 324 receives the MS (value derived from the plaintext m and information including the random value seed) and the public key pk read from the storage unit 321 as input, and Enc (pk, MS) ⁇ C 31 to obtain a first ciphertext C 31 encrypts the MS output by (step S303).
  • the first ciphertext C 31 is a ciphertext that can be decrypted by a homomorphic operation.
  • Ciphertext C 3 are input to the input unit 331 of the decoding device 33 (FIG. 3) is stored in the storage unit 332 (step S306).
  • the self-correction processing unit 334 gives information corresponding to the first ciphertext C 31 to the decryption capability providing unit 342 of the decryption capability providing apparatus 34 and also provides information on the secret key (decryption key) sk. Without obtaining from 34, the self-correction processing unit 334 obtains information for obtaining the decrypted value MS of the first ciphertext C 31 from the decryption capability providing apparatus 34. In other words, the decryption capability providing unit 342 of the decryption capability providing apparatus 34 obtains information corresponding to the first ciphertext C 31 from the self-correction processing unit 334, and does not give the information of the secret key sk to the decryption apparatus 33.
  • the correction processing unit 334 outputs information for obtaining the decrypted value MS of the first ciphertext C 31 to the self-correction processing unit 334 by self-correction processing.
  • the self-correction processing unit 334 obtains the decoded value MS using the information given from the decoding capability providing unit 342.
  • "information corresponding to the first ciphertext C 31" given to the decoding capability providing unit 342 to disrupt the first ciphertext C 31 Information is desirable.
  • the restoration unit 333 and the non-homomorphism processing unit 335 receive the decoded value MS and the encoding parameter P read from the storage unit 332 as inputs, and restore the plain text m by the homomorphism operation Decode (MS, P) ⁇ m. Output. That is, the restoration unit 333 restores the value maskedDB and the random value seed corresponding to the plaintext m from the MS (step S312), the non-homogeneity processing unit 335 restores and outputs the plaintext m from them, and the output unit 336 outputs the plaintext m (step S313). These processes are non-homogeneous operations.
  • m is obtained, and the output unit 336 outputs the plaintext m (step S313).
  • the present invention is not limited to the embodiment described above.
  • at least some of the devices may exchange information via a portable recording medium.
  • at least some of the devices may exchange information via a non-portable recording medium. That is, the combination which consists of a part of these apparatuses may be the same apparatus.
  • the self-correction technique is not limited to that described above.
  • the group H is a direct product group G ⁇ G of the group G
  • the group G is a cyclic group
  • the generation source of the cyclic group G is ⁇ g
  • the first ciphertext x (c 1 , c 2 )
  • is r4 ⁇ r7 0 or a natural number of random numbers
  • tau 1 Yes in (c 2 b W r4, c 1 b V r4 ⁇ g r5)
  • tau 2 a (c 2 a W r6, c 1 a V r6 ⁇ g r7)
  • the encoding parameter P may be empty. In this case, the encoding parameter P is not generated and P is processed as empty.
  • the bit string may be an octet string.
  • a computer-readable recording medium is a non-transitory recording medium. Examples of such a recording medium are a magnetic recording device, an optical disk, a magneto-optical recording medium, a semiconductor memory, and the like.
  • This program is distributed, for example, by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
  • a computer that executes such a program first stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, this computer reads a program stored in its own recording device and executes a process according to the read program. As another execution form of the program, the computer may read the program directly from the portable recording medium and execute processing according to the program, and each time the program is transferred from the server computer to the computer. The processing according to the received program may be executed sequentially.
  • the processing functions of the apparatus are realized by executing a predetermined program on a computer, but at least a part of these processing functions may be realized by hardware.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 復号装置13は、準同型性演算によって復号可能な第1暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、第1暗号文の復号値を得、第1暗号文の復号値に対応する又は由来する値と付加値とを用いた非準同型性演算を行い、平文を出力する。

Description

復号装置、復号能力提供装置、それらの方法、およびプログラム
 本発明は、クラウド鍵管理型の復号技術に関する。
 公開鍵暗号方式や共通鍵暗号方式などの暗号方式で暗号化された暗号文を復号するためには、特定の復号鍵が必要である。復号鍵を保持していない復号装置が暗号文の復号結果を得るための従来方法の一つは、復号鍵を保持している外部装置が復号装置に復号鍵を提供し、復号装置がその復号鍵を用いて暗号文の復号を行う方法である。復号装置が暗号文の復号結果を得るための他の従来方法は、復号装置が暗号文を外部装置に提供し、外部装置が暗号文を復号してその復号結果を復号装置に提供する方法である。
 しかしながら、前者の方法では、復号鍵そのものが復号装置に提供されるため、安全性の問題がある。一方、後者の方法では、復号装置が復号結果の正しさを検証できない。
 このような問題を解決する技術として、自己訂正(Self-Correcting)技術を用いたクラウド鍵管理型の復号技術がある(例えば、特許文献1~3等参照)。自己訂正技術とは、必ずしも正しい計算結果を出力するとは限らない計算機やシステムを用いて常に正しい計算を行う(正しい計算結果を出力する計算機を用いた場合に正しい計算結果を出力し、必ずしも正しい結果を出力するとは限らない計算機を用いた場合に、正しい計算結果を得るか、または計算できない旨の結果を得る)技術である。自己訂正技術を用いたクラウド鍵管理型の復号技術では、復号鍵を保持する復号能力提供装置が復号鍵を復号装置に与えることなく、復号装置が暗号文を復号するための情報のみを復号装置に与える。復号装置は、この情報を用いて常に正しい復号演算を行うことができる。
国際公開WO/2012/057134号公報 国際公開WO/2011/086992号公報 国際公開WO/2012/121152号公報
 しかしながら、準同型性演算と非準同型性演算とを含む復号処理の場合、自己訂正技術を用いたクラウド鍵管理型の復号を行うことができない。
 復号装置は、準同型性演算によって復号可能な第1暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、第1暗号文の復号値を得、第1暗号文の復号値に対応する又は由来する値と、付加値と、を用いた非準同型性演算を行い、平文を出力する。
 本発明では、準同型性演算によって復号可能な第1暗号文の復号処理のみに自己訂正処理を用いるため、復号処理が準同型性演算と非準同型性演算とを含む場合であっても、自己訂正技術を用いたクラウド鍵管理型の復号を行うことができる。
図1は、実施形態のセキュリティシステムのブロック図である。 図2は、第1実施形態の暗号化装置のブロック図である。 図3Aは、第1実施形態の復号装置および復号能力提供装置のブロック図である。図3Bは、第1実施形態の自己訂正処理部および復号能力提供部142の詳細を例示するブロック図である。 図4は、第1実施形態の復号処理を説明するための図である。 図5は、第2実施形態の暗号化装置のブロック図である。 図6は、第2実施形態の復号装置および復号能力提供装置のブロック図である。 図7は、第2実施形態の復号処理を説明するための図である。 図8は、第3実施形態の暗号化装置のブロック図である。 図9は、第3実施形態の復号装置および復号能力提供装置のブロック図である。 図10は、第3実施形態の復号処理を説明するための図である。
 以下、本発明の実施形態を説明する。
 [原理]
 各実施形態では、復号装置が、準同型性演算によって復号可能な第1暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、第1暗号文の復号値を得、第1暗号文の復号値に対応する又は由来する値と、付加値と、を用いた非準同型性演算を行い、平文を出力する。平文は、第1暗号文を含む情報に対応する第2暗号文の復号値である。「Aに由来(derive)する値B」とは、(1)AもしくはAの一部の情報、または、(2)AもしくはAの一部の情報の関数値、または、(3)AもしくはAの一部の情報およびその他の情報を含む情報の関数値を意味する。「Aに由来する値B」の例は「Aに対応するB」である。「Aに由来する値B」の他の例は「Aに基づくB」である。また「Aを含むB」とは、(1)BがAであること、または、(2)BがAを要素に含むこと、または、(3)Bの一部分がAである(例えば、Bの一部のビットがAを表している)ことを意味する。
 <第2暗号文の例1>
 第2暗号文は、例えば、準同型性演算によって復号可能な第1暗号文と復号時に非準同型性演算の被演算子となる付加値とに対応する暗号文(例えば、第1暗号文と付加値とを含む暗号文)である。このような第2暗号文の復号を行う復号装置は、第1暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、第1暗号文の復号値を得る。第1暗号文は準同型性演算によって復号可能であり、このような第1暗号文の復号は、自己訂正技術を用いた公知のクラウド鍵管理型の復号方式によって実行できる(例えば、特許文献1~3等参照)。さらに復号装置は、この第1暗号文の復号値と付加値とを用いた非準同型性演算を行い、第2暗号文の復号値を出力する。このように、準同型性演算によって復号可能な第1暗号文の復号処理のみに自己訂正処理を用いるため、第2暗号文がその復号時に非準同型性演算の被演算子となる付加値を含んでいたとしても、自己訂正技術を用いたクラウド鍵管理型の復号を行うことができる。
 第1暗号文の例は、ランダム値に由来する値を暗号化して得られる値を含み(例えば、ランダム値に対応する値を暗号化して得られる値であり)、この場合の付加値の例は、平文とランダム値とを含む情報に対応する値を含む値(例えば、平文とランダム値とに対応する値)である。この第1暗号文の例において、好ましくは、第1暗号文の復号値のみから第2暗号文の復号値を得ることが困難(例えば不可能)である。「復号値を得ることが困難」とは、例えば、多項式時間内に復号値を得ることができないことを意味する。「多項式時間」とは、例えば、復号鍵のサイズ(長さ)の多項式で表現可能な時間(計算時間)を意味する。言い換えると、「多項式時間」とは、例えば、復号鍵の長さ(例えばビット長)をχとした場合のχについての任意の多項式で表現可能な時間(計算時間)を意味する。第1暗号文の他の例は、平文を含む情報に由来する値を暗号化して得られる値を含む値(例えば、平文に対応する値を暗号化して得られる値)であり、この場合の付加値は、第1暗号文とランダム値とを含む情報に由来する値を含む値(例えば、第1暗号文とランダム値とに対応する値)である。値θ(例えば、ランダム値や平文等)に対応する値の例は、値θを表す情報またはその写像、値θを表す情報の一部を表す情報またはその写像、値θを表す情報を含む情報またはその写像、値θを表す情報の一部を表す情報を含む情報またはその写像、値θを得るための写像の逆像の他の写像、値θを得るための写像の逆像を表す情報を含む情報の他の写像である。
 ここで、第1暗号文がランダム値に由来する値を暗号化して得られる値を含み(例えば、ランダム値に対応する値を暗号化して得られる値であり)、付加値が平文とランダム値とを含む情報に対応する値を含む値(例えば、平文とランダム値とに対応する値であり)、第1暗号文の復号値のみから第2暗号文の復号値を得ることが困難である場合(例えば、それが不可能な場合)、第1暗号文の情報が復号能力提供装置に与えられても、付加値の情報が復号能力提供装置に与えられない限り、第2暗号文の復号値の情報は復号能力提供装置に漏洩しない。よって、このような場合には、復号装置が第1暗号文の情報をかく乱することなく復号能力提供装置に与え(例えば、復号装置が第1暗号文を表す情報を復号能力提供装置に与え)、かつ、復号鍵の情報を復号能力提供装置から得ることなく、第1暗号文の復号値を得るための情報を復号能力提供装置から得てもよい。これにより、復号装置が第1暗号文の情報をかく乱するための演算量を削減できる。ただし、これは一例であって、このような場合に、復号装置が第1暗号文をかく乱した情報を復号能力提供装置に与え、復号値を得るための情報を復号能力提供装置から得てもよい。
 一方、第1暗号文の復号値から第2暗号文の復号値の情報が得られる場合には、復号装置が、第1暗号文をかく乱した情報を復号能力提供装置に与え、かつ、復号鍵の情報を復号能力提供装置から得ることなく、第1暗号文の復号値を得るための情報を復号能力提供装置から得る構成であることが望ましい。
 第1暗号文の具体例は、準同型性を持つOW-CPA安全な暗号方式の暗号文(第1暗号文の復号値についてOW-CPA安全な暗号文)であり、第1暗号文と付加値とに対応する第2暗号文の具体例は、準同型性を持たないIND-CCA安全な暗号方式の暗号文(平文についてIND-CCA安全な暗号文)である。以下に、OW-CPA安全な暗号方式と、これに基づくIND-CCA安全な暗号方式を例示する。
 <方式例1>
 方式例1は、公開鍵暗号方式に基づく方式である。
 《OW-CPA安全な暗号方式1-1》
 鍵生成アルゴリズム:KeyGen(1λ)→(pk,sk)
 暗号化アルゴリズム:Enc(pk,M)→C
 復号アルゴリズム:Dec(sk,C)→M
 ただし、λは1以上の整数であるセキュリティパラメータを表し、1λはλ個の1からなる列を表し、pkは公開鍵暗号方式の公開鍵(暗号化鍵)を表し、skはそれに対応する秘密鍵(復号鍵)を表す。KeyGen(1λ)→(pk,sk)は、1λを用いて(pk,sk)を得る演算を表し、Enc(pk,M)→Cはpkを用いて公開鍵暗号方式に則ってMを暗号化してCを得る準同型性の演算を表し、Dec(sk,C)→M’は、skを用いて公開鍵暗号方式に則ってCを復号してM’を得る準同型性の演算を表す。OW-CPA安全な暗号方式1-1の例は、RSA暗号、ElGamal暗号、modified-ElGamal暗号、Paillier暗号などである。
 《OW-CPA安全な暗号方式1-1に基づくIND-CCA安全な暗号方式1-2》
 鍵生成アルゴリズム:KeyGen(1λ)→(pk,sk)
 暗号化アルゴリズム:Enc_FO(pk)→C=(C,C)=(Enc(pk,α),FO(Q,r))
 復号アルゴリズム:Dec_FO(sk,C)→k
 ただし、rはランダム値を表し、αおよびkはrに由来する値(例えば、rに対応する値)を表す。Enc_FO(pk)→Cはpkを用いてランダム値rに対応する暗号文Cを得る演算を表し、Enc(pk,α)→Cは、pkを用いてαを暗号化して暗号文Cを得る準同型性の演算を表す。FO(Q,r)→Cは、Qとrとを含む情報に由来する値Cを得る非準同型性の演算を表す。ただし、Qはαに由来する値である。αおよびkはrに由来する値であるため、Qは平文kに対応する値である。Dec_FO(sk,C)→kはskを用いてCを復号してkを得る非準同型性の演算を表す。このDec_FO(sk,C)は、秘密鍵skを用いて暗号文Cを復号して復元値Qを得る準同型性の演算Dec(sk,C)→Q、および、FOの逆演算である非準同型性の演算FO-1(Q,C)→rを含む。方式例1の場合、第1暗号文はCであり、付加値はCであり、第2暗号文はC=(C,C)である。平文はkであり、例えば共通鍵である。ただし、平文kがメッセージであってもよい。方式例1の具体例は、PSEC-KEM方式である(参考文献1,2等参照)。
 参考文献1:PSEC-KEM仕様書、日本電信電話株式会社、NTT情報プラットフォーム研究所、平成20年4月14日
 参考文献2:INTERNATIONAL STANDARD ISO/IEC 18033-2“Information technology - Security techniques - Encryption algorithms -Part 2:Asymmetric ciphers”
 <方式例2>
 方式例2は、IDベース暗号方式に基づく例である。
 《OW-CPA安全な暗号方式2-1》
 設定アルゴリズム:Setup(1λ)→(PK,msk)
 鍵生成アルゴリズム:KeyGen(PK,id,msk)→skid
 暗号化アルゴリズム:Enc(PK,id,M)→c
 復号アルゴリズム:Dec(PK,skid,c)→M’
 カプセル化アルゴリズム:
  SetupEC(1λ)→pub
  S(1λ,pub)→(r,com,dec)
  R(pub,com,dec)→r’ or {⊥}
 ただし、PKはIDベース暗号方式の公開鍵(公開パラメータ)を表し、mskはそのマスター秘密鍵を表し、idは識別子を表し、skidは識別子idに対応する秘密鍵を表す。pubはカプセル化の公開パラメータを表し、r,com,decはそれぞれランダム値を表し、{⊥}はエラーを表す。Setup(1λ)→(PK,msk)は、1λを用いて(PK,msk)を得る演算を表し、KeyGen(PK,id,msk)→skidは、PK,id,mskを用いてskidを得る演算を表し、Enc(PK,id,M)→cは、PK,idを用いてIDベース暗号方式に則ってMを暗号化してcを得る準同型性の演算を表し、Dec(PK,skid,c)→M’は、PK,skidを用いてIDベース暗号方式に則ってcを復号してM’を得る準同型性の演算を表す。SetupEC(1λ)→pubは、1λを用いてpubを得る演算を表し、S(1λ,pub)→(r,com,dec)は、(1λ,pub)を用いて(r,com,dec)を得る演算を表し、R(pub,com,dec)→r’or{⊥}は、(pub,com,dec)を用いてr’または{⊥}を得る演算を表す。IDベース暗号方式の一例については、例えば、参考文献3に開示されている。
 参考文献3:D. Boneh and M. Franklin, “Identity-Based Encryption from the Weil Pairing,” Adv. in Cryptology | Crypto 2001, LNCS vol. 2139, Springer-Verlag, pp. 213-229, 2001. Full version in SIAM J. Computing 32(3): 586-615, 2003.
 《OW-CPA安全な暗号方式2-1に基づくIND-CCA安全な暗号方式2-2》
 設定アルゴリズム:
  Setup(1λ)→(PK,msk)
  SetupEC(1λ)→pub
 暗号化アルゴリズム:
  S(1λ,pub)→(r,com,dec)
  Enc(PK,com,M|dec)→c
  MAC(r,c)→tag
  C=(com,c,tag)
 復号アルゴリズム:
  KeyGen(PK,com,msk)→skcom
  Dec(PK,skcom,c)→M’|dec’
  R(pub,com,dec’)→r’
  r’≠{⊥}であればVefy(r’,c,tag)
  Vefy(r’,c,tag)≠{⊥}であればM’出力。
 ただし、M|decはMを表す情報とdecを表す情報との連結値を表し、MAC(r,c)→tagは、(r,c)に対するメッセージ認証子tagを得る演算を表し、Vefy(r’,c,tag)は、(r’,c)に対するメッセージ認証子tagの検証結果を表す。
 方式例2の場合、第1暗号文は平文Mに由来する値(平文Mに対応する値)M|decを暗号化して得られる値cであり、付加値は第1暗号文cとランダム値rとを含む情報に由来する(第1暗号文cとランダム値rとに対応する)メッセージ認証子tagである。第2暗号文はC=(com,c,tag)である。方式例2の具体例は、IDベース暗号方式をBK変換した方式である(参考文献4)。参考文献4の方式の場合、平文Mはメッセージである。
 参考文献4:Dan Boneh1, Jonathan Katz, “Improved Efficiency for CCA-Secure Cryptosystems Built Using Identity-Based Encryption,” In proceedings of RSA-CT '05, LNCS 3376, pp. 87-103, 2005.
 <第2暗号文の例2>
 第2暗号文が、準同型性演算によって復号可能な第1暗号文を含み(例えば、第2暗号文は第1暗号文であるが、第1暗号文の復号処理のみでは平文が復号されない)、第1暗号文の復号値に由来する値と当該第1暗号文の復号値に由来する付加値とを用いた非準同型性演算によって平文が復元可能なものであってもよい。このような第2暗号文の復号を行う復号装置は、第1暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、第1暗号文の復号値を得る。第1暗号文は準同型性演算によって復号可能であり、このような第1暗号文の復号は、自己訂正技術を用いた公知のクラウド鍵管理型の復号方式によって実行できる(例えば、特許文献1~3等参照)。さらに復号装置は、この第1暗号文の復号値に由来する値と当該第1暗号文の復号値に由来する付加値とを用いた非準同型性演算を行い、平文を得て出力する。このように、準同型性演算によって復号可能な第1暗号文の復号処理のみに自己訂正処理を用いるため、平文の復元時に非準同型性演算の被演算子となる付加値を含んでいたとしても、自己訂正技術を用いたクラウド鍵管理型の復号を行うことができる。
 第2暗号文の例2の場合も、第1暗号文は、準同型性を持つOW-CPA安全な暗号方式の暗号文(第1暗号文の復号値についてOW-CPA安全な暗号文)である。第2暗号文は、平文についてIND-CCA安全な暗号文である。以下に、第2暗号文の例2でのIND-CCA安全な暗号方式を例示する(参考文献5参照)。この例も前述のOW-CPA安全な暗号方式1-1に基づくものである。
 参考文献5:RSAES-OAEP Encryption Scheme:Algorithm specification and supporting documentation, RSA Laboratories, RSA Security Inc.
 《OW-CPA安全な暗号方式1-1に基づくIND-CCA安全な暗号方式3-1》
 鍵生成アルゴリズム:KeyGen(1λ)→(pk,sk)
 暗号化アルゴリズム:Enc(pk,Encode(M,P))→C31
 復号アルゴリズム: Decode(Dec(sk,C31),P)→M
 ただし、Mは平文であり、Pはエンコーディングパラメータである。Pが空(Empty)であってもよい。Enc(pk,Encode(M,P))→C31はpkを用いてEncode(M,P)を暗号化して暗号文C31を得る準同型性の演算を表す。Encode(M,P)は、MおよびPを入力とし、ランダム値であるseedを内部生成し、M,P,seedを含む情報に由来する値MS=Encode(M,P)を得る非準同型性の演算を表す。非準同型性の演算Encodeの具体例は、参考文献5のEME-OAEP-Encodeを含む演算である。Decode(Dec(sk,C31),P)→M’は、skを用いた準同型性の演算DecによってC31の復号値MS’=Dec(sk,C31)を得、C31の復号値MS’とMS’に由来する付加値seed’とPを用いた非準同型性の演算Decode(MS’,P)によって平文M’を得る演算を表す。付加値seed’はランダム値seedに一致する。非準同型性の演算Decodeの具体例は、参考文献5のEME-OAEP-Decodeを含む演算である。第1暗号文C31は、平文Mとランダム値であるseedを含む情報とに由来する値MSを暗号化して得られる値である。付加値seed’は、ランダム値seedを含む情報に由来する値である。この例の第2暗号文は第1暗号文C31である。
 以下、図面を参照して各実施形態を説明する。
 [第1実施形態]
 第1実施形態を説明する。第1実施形態は、参考文献1に記載されたPSEC-KEM方式の第2暗号文C10を復号する例である。本形態では、第1暗号文がランダム値rに由来する値(rに対応する値)αを暗号化して得られる値C11であり、付加値が平文(共通鍵)k(ランダム値rと値αとに対応する値)とランダム値rとを含む情報に対応する値C12である。言い換えると、付加値C12はαおよびrを含む情報に由来する情報である。第1暗号文C11の復号値Qのみからランダム値rを得ることは困難であり、第2暗号文C10の復号値がランダム値rから得られる共通鍵kである。つまり、第1暗号文C11の復号値Qのみから、第2暗号文C10の復号値である共通鍵kを得ることは困難である。
 <構成>
 図1に例示するように、第1実施形態のセキュリティシステム1は、鍵生成装置11、暗号化装置12、復号装置13、および復号能力提供装置14を有し、これらはネットワークを通じて情報のやり取りが可能なように構成されている。なお、説明の簡略化のため、図1では、鍵生成装置11、暗号化装置12、復号装置13、および復号能力提供装置14を1個ずつ図示しているが、これらの少なくとも一部の装置が複数個存在していてもよい。
 図2に例示するように、本形態の暗号化装置12は、記憶部121、ランダム値生成部122、対応値生成部123、準同型性暗号化部124、非準同型性処理部125、合成部126、暗号化部127、および出力部128を有する。図3に例示するように、本形態の復号装置13は、入力部131、記憶部132、分解部133、自己訂正処理部134、非準同型性処理部135、および復号部136を有する。図3に例示するように、本形態の復号能力提供装置14は、記憶部141、および復号能力提供部142を有する。鍵生成装置11、暗号化装置12、復号装置13、および復号能力提供装置14は、それぞれ、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。コンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、単独で処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。各処理部から出力された情報は、図示していない一時メモリに格納され、必要に応じて読み出されて各処理部の処理に用いられる。
 <処理>
 鍵生成装置11が、鍵生成アルゴリズムKeyGen(1λ)を実行し、公開鍵pkと秘密鍵skとを得る。公開鍵pkは暗号化装置12(図2)の記憶部121に格納される。さらに公開鍵pkはその他の装置にも設定される。秘密鍵skは復号能力提供装置14(図3)の記憶部141に安全に格納される。
 その後、図4に例示するように、暗号化装置12のランダム値生成部122がランダム値rを生成して出力する(ステップS101)。対応値生成部123は、ランダム値rを入力とし、ランダム値rに由来する値(rに対応する値)α,kを生成して出力する(ステップS102)。例えば、Hがランダム値rを表す情報を含む情報のハッシュ値を表すビット列であり、H=t|kであり、αはtの関数値である。kは共通鍵である。ただし、A|Bはビット列AとBとの連結(concatenation)を表す。Hのどの位置をtおよびkとするかは事前に定められている。
 準同型性暗号化部124は、値αと公開鍵pkを入力とし、第1暗号文C11=Enc(pk,α)を得て出力する(ステップS103)。第1暗号文C11は、準同型性演算によって復号可能な暗号文である。例えば、楕円曲線E上の点Pに対してpk=sk・P∈Eを満たし、α∈Eであり、C11=Enc(pk,α)=α・P∈Eである。
 非準同型性処理部125は、ランダム値r、第1暗号文C11、および値αを入力とし、付加値C12=FO(α,r)を得て出力する(ステップS104)。付加値C12は、復号時に非準同型性演算の被演算子となる値である。例えば、C12=FO(α,r)は、C11を表す情報およびQ=α・pk=α・sk・P∈Eを表す情報を含む情報のハッシュ値を表すビット列と、ランダム値rを表すビット列との排他的論理和である。なお、値αおよび平文kはランダム値rに対応する。よって付加値C12=FO(α,r)は平文kとランダム値rとに対応する。
 合成部126は、第1暗号文C11と付加値C12とを入力とし、これらに対応する第2暗号文C10を得て出力する(ステップS105)。例えば、C10は、C11を表す情報とC12を表す情報とを含む情報であり、例えば、C11を表す情報(例えば、ビット列)とC12を表す情報(例えば、ビット列)との連結値である。
 暗号化部127は、入力メッセージmと共通鍵kとを入力とし、共通鍵暗号方式に則って共通鍵kで入力メッセージmを暗号化し、共通鍵暗号文C13を出力する(ステップS106)。共通鍵暗号方式の例は、AESやCameria(登録商標)である。
 出力部128は、第2暗号文C10と共通鍵暗号文C13とを入力とし、これらを含む暗号文C=(C10,C13)を出力する(ステップS107)。暗号文Cはネットワークを通じて復号装置13に送られる。
 暗号文Cは復号装置13(図3)の入力部131に入力され、記憶部132に格納される(ステップS108)。分解部133は、暗号文C=(C10,C13)に含まれる第2暗号文C10を入力とし、第2暗号文C10から第1暗号文C11と付加値C12とを得て、第1暗号文C11と付加値C12とを出力する(ステップS109)。
 自己訂正処理部134は、第1暗号文C11を入力とし、第1暗号文C11を復号するための秘密鍵(復号鍵)skを記憶部141に保持する復号能力提供装置14の復号能力提供部142との間で自己訂正処理(自己訂正技術を用いたクラウド鍵管理型の復号処理)を行い、第1暗号文C11の復号値Q=Dec(sk,C11)を得て出力する(ステップS110,S111)。前述のように、第1暗号文C11は準同型性演算によって復号可能である。例えば、楕円曲線E上の点skおよびC11に対するQ=sk・C11∈E(ただし、C11=α・P∈E)である。
 ≪自己訂正技術を用いたクラウド鍵管理型の復号処理≫
 自己訂正技術を用いたクラウド鍵管理型の復号処理は、特許文献1~3等に記載された公知技術である。以下にその概要を示す。
 自己訂正処理部134は、第1暗号文C11に対応する情報を復号能力提供装置14の復号能力提供部142に与え、かつ、秘密鍵(復号鍵)skの情報を復号能力提供装置14から得ることなく、自己訂正処理部134で第1暗号文C11の復号値Qを得るための情報を復号能力提供装置14から得る。言い換えると、復号能力提供装置14の復号能力提供部142は、第1暗号文C11に対応する情報を自己訂正処理部134から得、秘密鍵(復号鍵)skの情報を復号装置13に与えることなく、自己訂正処理部134が自己訂正処理によって第1暗号文C11の復号値Qを得るための情報を自己訂正処理部134に対して出力する。自己訂正処理部134は、復号能力提供部142から与えられた情報を用いて復号値Qを得る。ここで、復号能力提供装置14への復号値Qの漏洩を避けるためには、復号能力提供部142に与えられる「第1暗号文C11に対応する情報」が第1暗号文C11をかく乱した情報でなければならない。しかしながら、本形態では、復号値Qのみから第2暗号文C10の復号値である共通鍵kを得ることが困難である。そのため、たとえ復号値Qが復号能力提供装置14へ漏洩したとしても、共通鍵kの情報は復号能力提供装置14に漏洩しない。このような場合、自己訂正処理部134は、第1暗号文C11の情報をかく乱することなく復号能力提供部142に与え(かく乱されていない第1暗号文C11の情報を復号能力提供部142に与え)、自己訂正処理部134で復号値Qを得るための情報を復号能力提供部142から得てもよい。
 自己訂正技術を用いたクラウド鍵管理型の復号処理の具体例:
 以下に自己訂正技術を用いたクラウド鍵管理型の復号処理を例示する。以下の例では、G,Hが群(例えば、巡回群などの有限可換群)、f(x)が群Hの元である第1暗号文x=C11を秘密鍵skで復号して群Gの元を得るための準同型性復号関数、X,Xが群Gに値を持つ確率変数、xが確率変数Xの実現値、xが確率変数Xの実現値、a,bが互いに素である自然数である。ただし、以下の例は本発明を限定するものではなく、その他の自己訂正技術が用いられてもよい。
 ステップ110a:自己訂正処理部134の処理部134aは、第1暗号文x=C11に対応する、群Hの元である第一入力情報τ及び第二入力情報τを出力する。例えば、群Hが巡回群、巡回群Hの生成元がμ、r1,r2が0以上のランダムな自然数、τ=μ r1、τ=μ r2である。a,bの一方が1などの定数であってもよい。なお、自己訂正処理部134の処理部134aが、第1暗号文C11の情報をかく乱することなく復号能力提供部142に与える場合、自然数r1,r2は1以上の定数であり、例えばτ=μ、τ=μである。自然数r1,r2が定数の場合、自然数r1,r2をランダムに生成する処理は不要である。第一入力情報τ及び第二入力情報τは復号能力提供部142に送られる。
 ステップ111a:復号能力提供部142の処理部142aは、送られた第一入力情報τおよび記憶部141に格納された秘密鍵skを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた計算結果を第一出力情報zとする。すなわち、z=f(τ)である場合もあれば、z≠f(τ)である場合もある。言い換えると、復号能力提供部142は、f(τ)を計算可能であるが、意図的又は意図的ではない誤差を含んだ計算結果を出力する可能性がある。「或る確率」は100%未満であり0%以上の確率である。「或る確率」の例は無視することができない確率であり、「無視することができない確率」の例は、セキュリティパラメータkについての広義単調増加関数である多項式を多項式ψ(k)とした場合の1/ψ(k)以上の確率である。第一出力情報zは自己訂正処理部134に送られる。
 ステップ111b:復号能力提供部142の処理部142bは、送られた第二入力情報τおよび記憶部141に格納された秘密鍵skを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた計算結果を第二出力情報zとする。すなわち、z=f(τ)である場合もあれば、z≠f(τ)である場合もある。言い換えると、復号能力提供部142は、f(τ)を計算可能であるが、意図的又は意図的ではない誤差を含んだ計算結果を出力する可能性がある。第二出力情報zは自己訂正処理部134に送られる。
 ステップ110b:自己訂正処理部134の処理部134bは、送られた第一出力情報zから計算結果u=f(x)を生成する。例えば、ν=f(μ)であり、u=zν-r1である。bおよびr1は処理部134aで用いられたものと同じである。計算結果uは記憶部134eに格納される。
 ステップ110c:自己訂正処理部134の処理部134cは、送られた第二出力情報zから計算結果v=f(x)を生成する。例えば、v=zν-r2である。aおよびr2は処理部134aで用いられたものと同じである。計算結果vは記憶部134eに格納される。
 ステップ110d:自己訂正処理部134の処理部134dは、記憶部134eに格納されている何れかのu及びvの組がu=vを満たすかを判定し、満たした場合に、u=vを満たすu及びvの組およびa’a+b’b=1を満たす整数a’,b’についてのub’a’を復号値Qとして出力する。
 ステップ110a~110d,111a,111bの処理を所定回数繰り返しても計算結果u及びvがu=vを満たさなかった場合、自己訂正処理部134は、復号が不可能である旨のエラー情報を出力する。なお、記憶部134eに1個以上のvが格納されている場合には、ステップ110bとステップ110cとの間でもステップ110dの処理が行われてもよい。(≪自己訂正技術を用いたクラウド鍵管理型の復号処理≫の説明終わり)。
 非準同型性処理部135は、復号値Qと付加値C12とを入力とし、復号値Qと付加値C12とを用いた非準同型性演算FO-1(Q,C12)を行ってrを得、それから第2暗号文C10の復号値(平文)kを得て出力する(ステップS112)。例えば、非準同型性処理部135は、復号値Qと付加値C12とを用いてランダム値r=FO-1(Q,C12)を得、ランダム値rに対応する共通鍵kを出力する。例えば、まず非準同型性処理部135は、C11を表す情報および復号値Qを表す情報を含む情報のハッシュ値を表すビット列と、付加値C12を表すビット列との排他的論理和を、ランダム値rを表すビット列として得る。次に、非準同型性処理部135は、ランダム値rを表す情報を含む情報のハッシュ値を表すビット列hを得、h=t|kを満たす共通鍵kを得る。さらに、非準同型性処理部135は、tの関数値αを用いてC11=α・P∈Eを満たすか確認し、これを満たせば共通鍵kを出力し、満たさなければエラーを出力する。
 復号部136は、共通鍵暗号文C13と共通鍵kとを入力とし、共通鍵暗号方式に則って共通鍵kで共通鍵暗号文C13を復号し、復号値m’を得て出力する(ステップS113)。
 [第2実施形態]
 第2実施形態を説明する。第2実施形態は、参考文献4に記載されたIDベース暗号方式をBK変換した方式の第2暗号文を復号する例である。本形態では、第1暗号文が平文mに対応する値m|decを暗号化して得られる値C21であり、付加値が第1暗号文C21とランダム値rとに対応するメッセージ認証子tagである。
 <構成>
 図1に例示するように、第2実施形態のセキュリティシステム2は、鍵生成装置21、暗号化装置22、復号装置23、および復号能力提供装置24を有し、これらはネットワークを通じて情報のやり取りが可能なように構成されている。なお、説明の簡略化のため、図1では、鍵生成装置21、暗号化装置22、復号装置23、および復号能力提供装置24を1個ずつ図示しているが、これらの少なくとも一部の装置が複数個存在していてもよい。
 図5に例示するように、本形態の暗号化装置22は、記憶部221、ランダム値生成部222、準同型性暗号化部224、非準同型性処理部225、および出力部228を有する。図6に例示するように、本形態の復号装置23は、入力部231、記憶部232、自己訂正処理部234、非準同型性処理部235、および出力部236を有する。図6に例示するように、本形態の復号能力提供装置24は、記憶部241、復号能力提供部242、および秘密鍵取得部243を有する。図6に例示するように、本形態の鍵生成装置21は、記憶部211、秘密鍵生成部212、および設定部213を有する。鍵生成装置21、暗号化装置22、復号装置23、および復号能力提供装置24は、それぞれ、例えば、前述のコンピュータに所定のプログラムが読み込まれることで構成された装置である。各処理部から出力された情報は、図示していない一時メモリに格納され、必要に応じて読み出されて各処理部の処理に用いられる。
 <処理>
 鍵生成装置21の設定部213が、設定アルゴリズムSetup(1λ)およびSetupEC(1λ)を実行し、公開鍵(PK,pub)とマスター秘密鍵mskとを得る。公開鍵(PK,pub)は、暗号化装置22(図5)の記憶部221に格納される。さらに公開鍵(PK,pub)は、その他の装置にも設定される。マスター秘密鍵mskは、鍵生成装置21の記憶部211に安全に格納される。
 図7に例示するように、暗号化装置22のランダム値生成部222が、S(1λ,pub)→(r,com,dec)によってランダム値(r,com,dec)を生成して出力する(ステップS201)。comは識別子として機能する。
 準同型性暗号化部224は、公開鍵PKとランダム値decと識別子comと平文mとを入力とし、Enc(PK,com,m|dec)→C21によって、平文mに対応する値m|decを暗号化して第1暗号文C21を得て出力する(ステップS203)。第1暗号文C21は、準同型性演算によって復号可能な暗号文である。
 非準同型性処理部225は、ランダム値rと第1暗号文C21とを入力とし、MAC(r,C21)→tagによって、ランダム値rと第1暗号文C21とに対するメッセージ認証子tagを付加値として得て出力する(ステップS204)。付加値tagは、復号時に非準同型性演算の被演算子となる値である。
 出力部228は、識別子comと第1暗号文C21と付加値tagとを入力とし、これらに対応する第2暗号文C=(com,C21,tag)を出力する(ステップS207)。例えば、第2暗号文Cは、識別子comを表す情報と第1暗号文C21を表す情報と付加値tagを表す情報とを含む情報であり、例えば、識別子comを表す情報(例えば、ビット列)と第1暗号文C21を表す情報(例えば、ビット列)と付加値tagを表す情報(例えば、ビット列)との連結値である。第2暗号文Cはネットワークを通じて復号装置23に送られる。
 第2暗号文Cは復号装置23(図6)の入力部231に入力され、記憶部232に格納される(ステップS208)。出力部236は、第2暗号文C=(com,C21,tag)が含む識別子comを出力する(ステップS209a)。識別子comは復号能力提供装置24の秘密鍵取得部243に入力される。秘密鍵取得部243は、識別子comを鍵生成装置21に対して出力する(ステップS209b)。鍵生成装置21の秘密鍵生成部212は、識別子comとマスター秘密鍵mskとを入力とし、KeyGen(PK,com,msk)→skcomによって、識別子comに対応する秘密鍵skcomを得て出力する。秘密鍵skcomは秘密鍵取得部243に入力され、記憶部241に安全に格納される(ステップS209c)。
 自己訂正処理部234は、第2暗号文C=(com,C21,tag)に含まれる第1暗号文C21を入力とし、第1暗号文C21を復号するための秘密鍵(復号鍵)skcomを保持する復号能力提供装置24の復号能力提供部242との間で自己訂正処理(自己訂正技術を用いたクラウド鍵管理型の復号処理)を行い、第1暗号文C21の復号値m’|dec’=Dec(PK,skcom,C21)を得て出力する(ステップS210,S211)。
 すなわち、自己訂正処理部234は、第1暗号文C21に対応する情報を復号能力提供装置24の復号能力提供部242に与え、かつ、秘密鍵(復号鍵)skcomの情報を復号能力提供装置24から得ることなく、自己訂正処理部234で第1暗号文C21の復号値m’|dec’を得るための情報を復号能力提供装置24から得る。言い換えると、復号能力提供装置24の復号能力提供部242は、第1暗号文C21に対応する情報を自己訂正処理部234から得、秘密鍵skcomの情報を復号装置23に与えることなく、自己訂正処理部234が自己訂正処理によって第1暗号文C21の復号値m’|dec’を得るための情報を自己訂正処理部234に対して出力する。自己訂正処理部234は、復号能力提供部242から与えられた情報を用いて復号値m’|dec’を得る。ここで、復号能力提供装置24への復号値m’|dec’の漏洩を避けるために、復号能力提供部242に与えられる「第1暗号文C21に対応する情報」は第1暗号文C21をかく乱した情報であることが望ましい。なお、ステップS210,S211の具体例は、x=C21とし、秘密鍵sk=skcomとし、自己訂正処理部134を自己訂正処理部234に置換し、復号能力提供部142を復号能力提供部242に置換して行われる、前述の「自己訂正技術を用いたクラウド鍵管理型の復号処理の具体例」である。
 非準同型性処理部235は、第1暗号文C21の復号値m’|dec’と付加値tagとを用いた非準同型性演算を行い、第2暗号文Cの復号値m’を出力する(ステップS212)。例えば、非準同型性処理部235は、復号値m’|dec’と第2暗号文C=(com,C21,tag)に含まれる識別子comと付加値tagとを入力とし、R(pub,com,dec’)→r’によってr’を得、r’≠{⊥}であればVefy(r’,C21,tag)≠{⊥}であるかを判定し、Vefy(r’,C21,tag)≠{⊥}であればm’を出力する。その他の場合にはエラー終了する。
 [第3実施形態]
 第3実施形態を説明する。第3実施形態は、前述の<第2暗号文の例2>に基づくものである。本形態の第1暗号文は、平文mとランダム値seedを含む情報とに由来する値MS=Encode(m,P)を暗号化して得られる値C31であり、付加値はランダム値seedである。
 <構成>
 図1に例示するように、第3実施形態のセキュリティシステム3は、鍵生成装置31、暗号化装置32、復号装置33、および復号能力提供装置34を有し、これらはネットワークを通じて情報のやり取りが可能なように構成されている。なお、説明の簡略化のため、図1では、鍵生成装置31、暗号化装置32、復号装置33、および復号能力提供装置34を1個ずつ図示しているが、これらの少なくとも一部の装置が複数個存在していてもよい。
 図8に例示するように、本形態の暗号化装置32は、記憶部321、ランダム値生成部322、準同型性暗号化部324、非準同型性処理部325、変換部326、および出力部328を有する。図9に例示するように、本形態の復号装置33は、入力部331、記憶部332、復元部333、自己訂正処理部334、非準同型性処理部335、出力部236、および変換部337を有する。図9に例示するように、本形態の復号能力提供装置34は、記憶部341、および復号能力提供部342を有する。鍵生成装置31、暗号化装置32、復号装置33、および復号能力提供装置34は、それぞれ、例えば、前述のコンピュータに所定のプログラムが読み込まれることで構成された装置である。各処理部から出力された情報は、図示していない一時メモリに格納され、必要に応じて読み出されて各処理部の処理に用いられる。
 <処理>
 鍵生成装置31が、鍵生成アルゴリズムKeyGen(1λ)を実行し、公開鍵pkと秘密鍵skとを得る。公開鍵pkは暗号化装置32(図8)の記憶部321に格納される。さらに公開鍵pkはその他の装置にも設定される。秘密鍵skは復号能力提供装置34(図9)の記憶部341に安全に格納される。参考文献5の例では、公開鍵pkはRSA公開鍵(e,n)であり、秘密鍵skはRSA公開鍵(e,n)に対応するRSA秘密鍵(n,d)である。また、鍵生成装置31はエンコーディングパラメータPを出力する。エンコーディングパラメータPは、暗号化装置32の記憶部321および復号能力提供装置34の記憶部341に格納される。
 その後、図10に例示するように、暗号化装置32のランダム値生成部322および非準同型性処理部325が、平文m、および記憶部321から読み出したエンコーディングパラメータPを入力とし、非準同型性演算Encode(m,P)→MSを行ってMSを得る。すなわち、ランダム値生成部322がランダム値seedを生成し(ステップS301)、非準同型性処理部325が、平文m、ランダム値seed、エンコーディングパラメータPに対応する非準同型性演算を行ってMS=Encode(m,P)を得る。例えば、非準同型性処理部325は、以下のようにMSを得る。
 pHash=Hash(P)
 DB=pHash|PS|01|m
 dbMask=MGF(seed)
 makedDB=DB(+)dbMask
 seedMask=MGF(makedDB)
 maskedSeed=seed(+)seedMask
 EM=maskedSeed|maskedDB
 MS=OS2IP(EM)
ただし、HashはPのハッシュ関数を表し、PSは零ビット列であり、MGFはマスク生成関数であり、A(+)BはAとBとの排他的論理和を表し、OS2IPは変換関数である(ステップS302)。
 準同型性暗号化部324は、MS(平文mとランダム値seedを含む情報とに由来する値)、および記憶部321から読み出した公開鍵pkを入力とし、Enc(pk,MS)→C31によってMSを暗号化して第1暗号文C31を得て出力する(ステップS303)。第1暗号文C31は、準同型性演算によって復号可能な暗号文である。
 変換部326は第1暗号文C31を入力として、それを変換関数ISOSPに入力して暗号文C=I2OSP(C31)を得て出力する(ステップS305)。暗号文Cはネットワークを通じて復号装置33に送られる。
 暗号文Cは復号装置33(図3)の入力部331に入力され、記憶部332に格納される(ステップS306)。変換部337は、記憶部332から暗号文Cを読み出し、それをI2OSPの逆変換関数OS2IPに入力して第1暗号文C31=OS2IP(C)を得て出力する(ステップS307)。
 自己訂正処理部334は、第1暗号文C31を入力とし、第1暗号文C31を復号するための秘密鍵(復号鍵)skを保持する復号能力提供装置34の復号能力提供部342との間で自己訂正処理(自己訂正技術を用いたクラウド鍵管理型の復号処理)を行い、第1暗号文C31の復号値MS=Dec(sk,C31)を得て出力する(ステップS310,S311)。
 すなわち、自己訂正処理部334は、第1暗号文C31に対応する情報を復号能力提供装置34の復号能力提供部342に与え、かつ、秘密鍵(復号鍵)skの情報を復号能力提供装置34から得ることなく、自己訂正処理部334で第1暗号文C31の復号値MSを得るための情報を復号能力提供装置34から得る。言い換えると、復号能力提供装置34の復号能力提供部342は、第1暗号文C31に対応する情報を自己訂正処理部334から得、秘密鍵skの情報を復号装置33に与えることなく、自己訂正処理部334が自己訂正処理によって第1暗号文C31の復号値MSを得るための情報を自己訂正処理部334に対して出力する。自己訂正処理部334は、復号能力提供部342から与えられた情報を用いて復号値MSを得る。ここで、復号能力提供装置34への復号値MSの漏洩を避けるために、復号能力提供部342に与えられる「第1暗号文C31に対応する情報」は第1暗号文C31をかく乱した情報であることが望ましい。なお、ステップS310,S311の具体例は、x=C31とし、自己訂正処理部134を自己訂正処理部334に置換し、復号能力提供部142を復号能力提供部342に置換して行われる、前述の「自己訂正技術を用いたクラウド鍵管理型の復号処理の具体例」である。
 復元部333および非準同型性処理部335は、復号値MS、および記憶部332から読み出したエンコーディングパラメータPを入力とし、準同型性演算Decode(MS,P)→mによって平文mを復元して出力する。すなわち、復元部333が、MSから平文mに対応する値maskedDBとランダム値seedとを復元し(ステップS312)、非準同型性処理部335がそれらから平文mを復元して出力し、出力部336が平文mを出力する(ステップS313)。これらの処理は非準同型性演算である。例えば、復元部333は、OS2IPの逆変換関数IS0SPを用いてEM=IS0SP(MS)を得、EMをEM=maskedSeed|maskedDBを満たすmaskedSeedとmaskedDBとに分離し、seedMask=MGF(makedDB)を得、seed=maskedSeed(+)seedMaskを得える(ステップS312)。非準同型性処理部335は、得られたmaskedDBおよびseedを用い、dbMask=MGF(seed)を得、DB=makedDB(+)dbMaskを得、pHash=Hash(P)を得、DB=pHash|PS|01|mを満たす平文mを得、出力部336が平文mを出力する(ステップS313)。
 [その他の変形例等]
 なお、本発明は上述の実施の形態に限定されるものではない。例えば、各装置がネットワークを通じて情報をやり取りするのではなく、少なくとも一部の組の装置が可搬型記録媒体を介して情報をやり取りしてもよい。或いは、少なくとも一部の組の装置が非可搬型の記録媒体を介して情報をやり取りしてもよい。すなわち、これらの装置の一部からなる組み合わせが、同一の装置であってもよい。
 また自己訂正技術は前述したものに限定されない。例えば、群Hが群Gの直積群G×G、群Gが巡回群、巡回群Gの生成元がμ、第1暗号文x=(c,c),(V,W)が群Hの元、f(V,W)=Yであり、r4~r7が0以上の自然数の乱数であり、τ=(c r4,c r4μ r5)であり、τ=(c r6,c r6μ r7)であり、u=z-r4μ -r5、v=z-r6μ -r7であってもよい。
 第3実施形態においてエンコーディングパラメータPが空であってもよい。この場合には、エンコーディングパラメータPは生成されず、Pは空として処理される。また、各実施形態においてビット列がオクテット列であってもよい。
 上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
 上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
 このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。
 上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
1,2,3 セキュリティシステム
11,21,31 鍵生成装置
12,22,32 暗号化装置
13,23,33 復号装置
14,24,34 復号能力提供装置

Claims (14)

  1.  準同型性演算によって復号可能な第1暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、前記第1暗号文の復号値を得る自己訂正処理部と、
     前記第1暗号文の復号値に対応する又は由来する値と、付加値と、を用いた非準同型性演算を行い、平文を出力する非準同型性処理部と、
    を有する復号装置。
  2.  請求項1の復号装置であって、
     前記平文は、前記第1暗号文を含む情報に対応する又は由来する第2暗号文の復号値であり、
     前記第1暗号文は、前記第1暗号文の復号値についてOW-CPA安全であり、
     前記第2暗号文は、前記平文についてIND-CCA安全である、復号装置。
  3.  請求項1または2の復号装置であって、
     前記第1暗号文は、ランダム値に対応する又は由来する値、を暗号化して得られる値を含み、
     前記付加値は、前記平文と前記ランダム値とを含む情報に対応するまたは由来する値を含む、復号装置。
  4.  請求項1または2の復号装置であって、
     前記第1暗号文は、前記平文を含む情報に対応する又は由来する値、を暗号化して得られる値を含み、
     前記付加値は、前記第1暗号文とランダム値とを含む情報に対応する又は由来する値を含む、復号装置。
  5.  請求項1または2の復号装置であって、
     前記第1暗号文は、前記平文とランダム値を含む情報とに対応する又は由来する値、を暗号化して得られる値であり、
     前記付加値は、前記ランダム値を含む情報に対応する又は由来する値である、復号装置。
  6.  準同型性演算によって復号可能な第1暗号文を復号するための復号鍵を保持する記憶部と、
     前記第1暗号文の復号値に対応する又は由来する値と、付加値と、を用いた非準同型性演算を行って平文を出力する復号装置から前記第1暗号文に対応する又は由来する情報を得、前記復号鍵を用い、前記復号装置に前記復号鍵の情報を与えることなく、前記復号装置が自己訂正処理によって前記第1暗号文の復号値を得るための情報を、前記復号装置に対して出力する復号能力提供部と、
    を有する復号能力提供装置。
  7.  請求項6の復号能力提供装置であって、
     前記平文は、前記第1暗号文を含む情報に対応する又は由来する第2暗号文、の復号値であり、
     前記第1暗号文は、前記第1暗号文の復号値についてOW-CPA安全であり、
     前記第2暗号文は、前記平文についてIND-CCA安全である、復号能力提供装置。
  8.  請求項6または7の復号能力提供装置であって、
     前記第1暗号文は、ランダム値に対応する又は由来する値、を暗号化して得られる値を含み、
     前記付加値は、前記平文と前記ランダム値とを含む情報に対応する又は由来する値を含む、復号能力提供装置。
  9.  請求項6または7の復号能力提供装置であって、
     前記第1暗号文は、前記平文を含む情報に対応する又は由来する値を暗号化して得られる値を含み、
     前記付加値は、前記第1暗号文とランダム値とを含む情報に対応する又は由来する値を含む、復号能力提供装置。
  10.  請求項6または7の復号能力提供装置であって、
     前記第1暗号文は、前記平文とランダム値を含む情報とに対応する又は由来する値、を暗号化して得られる値を含み、
     前記付加値は、前記ランダム値を含む情報に対応する又は由来する値を含む、復号能力提供装置。
  11.  自己訂正処理部が、準同型性演算によって復号可能な第1暗号文を復号するための復号鍵を保持する復号能力提供装置との間で自己訂正処理を行い、前記第1暗号文の復号値を得るステップと、
     非準同型性処理部が、前記第1暗号文の復号値に対応する又は由来する値と、付加値と、を用いた非準同型性演算を行い、平文を出力するステップと、
    を有する復号方法。
  12.  復号能力提供部が、準同型性演算によって復号可能な第1暗号文の復号値に対応する又は由来する値と、付加値と、を用いた非準同型性演算を行って平文を出力する復号装置から前記第1暗号文に対応する情報を得るステップと、
     前記復号能力提供部が、前記第1暗号文を復号するための復号鍵を用い、前記復号装置に前記復号鍵の情報を与えることなく、前記復号装置が自己訂正処理によって前記第1暗号文の復号値を得るための情報を、前記復号装置に対して出力するステップと、
    を有する復号能力提供方法。
  13.  請求項1または2の復号装置としてコンピュータを機能させるためのプログラム。
  14.  請求項6または7の復号能力提供装置としてコンピュータを機能させるためのプログラム。
PCT/JP2014/067352 2013-07-18 2014-06-30 復号装置、復号能力提供装置、それらの方法、およびプログラム WO2015008607A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015527239A JP6059347B2 (ja) 2013-07-18 2014-06-30 復号装置、復号能力提供装置、それらの方法、およびプログラム
CN201480034506.2A CN105339995B (zh) 2013-07-18 2014-06-30 解密装置、解密能力提供装置、其方法、以及记录介质
US14/900,517 US10163370B2 (en) 2013-07-18 2014-06-30 Decoding apparatus, decoding capability providing apparatus, method thereof and program
EP14826053.2A EP3001401A4 (en) 2013-07-18 2014-06-30 Decoding device, decoding ability providing device, method thereof, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-149156 2013-07-18
JP2013149156 2013-07-18

Publications (1)

Publication Number Publication Date
WO2015008607A1 true WO2015008607A1 (ja) 2015-01-22

Family

ID=52346078

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/067352 WO2015008607A1 (ja) 2013-07-18 2014-06-30 復号装置、復号能力提供装置、それらの方法、およびプログラム

Country Status (5)

Country Link
US (1) US10163370B2 (ja)
EP (1) EP3001401A4 (ja)
JP (1) JP6059347B2 (ja)
CN (1) CN105339995B (ja)
WO (1) WO2015008607A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3048102A1 (fr) * 2016-02-24 2017-08-25 Commissariat Energie Atomique Methode d'execution confidentielle d'un programme operant sur des donnees chiffrees par un chiffrement homomorphe
WO2022259494A1 (ja) * 2021-06-10 2022-12-15 日本電信電話株式会社 通信システム、ユーザ端末、通信方法および通信プログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105337736B (zh) * 2014-06-30 2018-10-30 华为技术有限公司 全同态消息认证方法、装置及系统
CN110089071B (zh) * 2016-11-04 2023-02-17 诺基亚技术有限公司 安全的分布式数据处理
JP7024666B2 (ja) * 2018-08-28 2022-02-24 日本電信電話株式会社 Idベースハッシュ証明系構成装置、idベース暗号装置及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050066174A1 (en) * 2003-09-18 2005-03-24 Perlman Radia J. Blinded encryption and decryption
WO2011086992A1 (ja) 2010-01-12 2011-07-21 日本電信電話株式会社 代理計算システム、方法、依頼装置、プログラム及びその記録媒体
WO2012057134A1 (ja) 2010-10-26 2012-05-03 日本電信電話株式会社 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体
WO2012121152A1 (ja) 2011-03-04 2012-09-13 日本電信電話株式会社 代理計算システム、方法、依頼装置及びプログラム
JP2012212031A (ja) * 2011-03-31 2012-11-01 Nippon Telegr & Teleph Corp <Ntt> 復号結果検証装置、方法及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11161164A (ja) * 1997-11-26 1999-06-18 Masao Kasahara 公開鍵暗号方式と暗号化装置および復号装置
US8544089B2 (en) * 2009-08-17 2013-09-24 Fatskunk, Inc. Auditing a device
CN102594570A (zh) * 2012-04-11 2012-07-18 福建师范大学 基于等级身份加密的密钥门限算法
JP5954030B2 (ja) * 2012-08-02 2016-07-20 富士通株式会社 暗号処理装置および方法
JP6173904B2 (ja) * 2013-12-13 2017-08-02 株式会社東芝 共通鍵暗号装置及びプログラム、並びに、共通鍵復号装置及びプログラム
CN106160995B (zh) * 2015-04-21 2019-04-16 郑珂威 基于系数映射变换的多项式完全同态加密方法及系统
US10129029B2 (en) * 2016-06-16 2018-11-13 International Business Machines Corporation Proofs of plaintext knowledge and group signatures incorporating same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050066174A1 (en) * 2003-09-18 2005-03-24 Perlman Radia J. Blinded encryption and decryption
WO2011086992A1 (ja) 2010-01-12 2011-07-21 日本電信電話株式会社 代理計算システム、方法、依頼装置、プログラム及びその記録媒体
WO2012057134A1 (ja) 2010-10-26 2012-05-03 日本電信電話株式会社 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体
WO2012121152A1 (ja) 2011-03-04 2012-09-13 日本電信電話株式会社 代理計算システム、方法、依頼装置及びプログラム
JP2012212031A (ja) * 2011-03-31 2012-11-01 Nippon Telegr & Teleph Corp <Ntt> 復号結果検証装置、方法及びプログラム

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
"Information technology - Security techniques - Encryption algorithms -Part 2:Asymmetric ciphers", INTERNATIONAL STANDARD ISO/IEC 18033-2
"PSEC-KEM specifications, Nippon telegraph and telephone corporation", NTT INFORMATION PLATFORM LABORATORIES, 14 April 2008 (2008-04-14)
D. BONEH; M. FRANLDIN: "Adv. in Cryptology | Crypto 2001, LNCS", vol. 2139, 2001, SPRINGER-VERLAG, article "Identity-Based Encryption from the Weil Pairing", pages: 213 - 229
DAN BONEHL; JONATHAN KATZ: "Improved Efficiency for CCA-Secure Cryptosystems Built Using Identity-Based Encryption", PROCEEDINGS OFRSA-CT '05, LNCS, vol. 3376, 2005, pages 87 - 103
See also references of EP3001401A4 *
SIAM J. COMPUTING, vol. 32, no. 3, 2003, pages 586 - 615
YUTO KAWAHARA ET AL.: "Pairing Ango System ni Okeru Jiko Teisei o Mochiita Fukugo Module no Kosei Oyobi Jisso", 2011 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY (SCIS2011, 25 January 2011 (2011-01-25), pages 2F1 - 2, XP008172390 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3048102A1 (fr) * 2016-02-24 2017-08-25 Commissariat Energie Atomique Methode d'execution confidentielle d'un programme operant sur des donnees chiffrees par un chiffrement homomorphe
EP3211823A1 (fr) * 2016-02-24 2017-08-30 Commissariat à l'Energie Atomique et aux Energies Alternatives Méthode d'exécution confidentielle d'un programme opérant sur des données chiffrées par un chiffrement homomorphe
US10439798B2 (en) 2016-02-24 2019-10-08 Commissariat A L'energie Atomique Et Aux Energies Alternatives Method for confidential execution of a program operating on data encrypted by a homomorphic encryption
WO2022259494A1 (ja) * 2021-06-10 2022-12-15 日本電信電話株式会社 通信システム、ユーザ端末、通信方法および通信プログラム

Also Published As

Publication number Publication date
JP6059347B2 (ja) 2017-01-11
JPWO2015008607A1 (ja) 2017-03-02
CN105339995B (zh) 2018-04-06
EP3001401A4 (en) 2017-03-22
US20160133164A1 (en) 2016-05-12
CN105339995A (zh) 2016-02-17
US10163370B2 (en) 2018-12-25
EP3001401A1 (en) 2016-03-30

Similar Documents

Publication Publication Date Title
US9973334B2 (en) Homomorphically-created symmetric key
EP2526505B1 (en) Device and method for obtaining a cryptographic key
US10880100B2 (en) Apparatus and method for certificate enrollment
KR101478766B1 (ko) 암호화 장치, 복호 장치, 암호화 방법, 복호 방법, 프로그램, 및 기록 매체
US9762560B2 (en) Method for generating cryptographic “one-time pads” and keys for secure network communications
JP6059347B2 (ja) 復号装置、復号能力提供装置、それらの方法、およびプログラム
US20150043735A1 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
CN107078906A (zh) 公钥加密系统
JP2018502320A (ja) 公開鍵暗号化システム
JP5852518B2 (ja) 認証暗号化装置、認証復号装置、およびプログラム
Hahn et al. Trustworthy delegation toward securing mobile healthcare cyber-physical systems
CN116830523A (zh) 阈值密钥交换
WO2014030706A1 (ja) 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム
WO2018043049A1 (ja) 暗号システム、暗号方法及び暗号プログラム
US10230532B2 (en) Entity authentication in network
JP6294882B2 (ja) 鍵保管装置、鍵保管方法、及びそのプログラム
JP2011091517A (ja) サインクリプションシステムおよびサインクリプション生成方法
US20230132163A1 (en) Memory processing apparatus, memory verification apparatus, memory updating apparatus, memory protection system, method, and computer readable medium
WO2021245931A1 (ja) 秘匿情報処理システム、暗号化装置、暗号化方法及び暗号化プログラム
JP2017038336A (ja) 復号方法
JP2011109510A (ja) 原本性保証装置、原本性保証プログラム、及びこのプログラムを記録する記録媒体
CN109617876A (zh) 基于Http协议的数据加密、解密方法及系统
WO2017203743A1 (ja) 暗号化装置、復号装置及び暗号システム
CN114844643A (zh) 一种基于双线性映射获取适配器签名的方法和电子设备
JP5480788B2 (ja) 公開鍵暗号システム、方法、暗号化装置、復号装置及びこれらのプログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201480034506.2

Country of ref document: CN

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

Ref document number: 14826053

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015527239

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14900517

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2014826053

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE