WO2024201635A1 - 秘匿情報処理システム、秘匿情報処理方法、および秘匿情報処理プログラム - Google Patents
秘匿情報処理システム、秘匿情報処理方法、および秘匿情報処理プログラム Download PDFInfo
- Publication number
- WO2024201635A1 WO2024201635A1 PCT/JP2023/012095 JP2023012095W WO2024201635A1 WO 2024201635 A1 WO2024201635 A1 WO 2024201635A1 JP 2023012095 W JP2023012095 W JP 2023012095W WO 2024201635 A1 WO2024201635 A1 WO 2024201635A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- key
- homomorphic
- encryption
- data
- decryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Definitions
- This disclosure relates to a confidential information processing system, a confidential information processing method, and a confidential information processing program.
- Homomorphic encryption is an encryption technology that allows data to be analyzed and processed while remaining encrypted.
- the use of cloud services has become more widespread in recent years, but concerns about cracking and the reliability of the cloud mean that data may be encrypted before being stored on the cloud.
- Homomorphic encryption is a technology that allows calculations to be performed on encrypted data without decrypting it, making it possible to use cloud services without compromising security.
- deniability is a function that prevents the forced disclosure of data encrypted in the ciphertext by a privileged user, such as a government.
- An encryption algorithm in a general public key cryptography technique uses public key data and random number data to encrypt plaintext data. Since the public key data is public information, once the plaintext data and the random number data are determined, the ciphertext data is uniquely determined.
- Repudiability is a property that allows random number data to be generated for encrypting data different from the plaintext data actually encrypted into certain ciphertext data. This property allows a user to generate random number data for encrypting false data into ciphertext data stored by the user in order to entrust analysis processing to a cloud service. This makes it possible to avoid forced disclosure of plaintext data when the user is forced to disclose the data by a privileged user.
- Non-Patent Document 1 describes the first example of a homomorphic encryption configuration that satisfies repudiation.
- the homomorphic encryption with repudiation described in Non-Patent Document 1 can only analyze ciphertext data encrypted under the same key. Therefore, when performing analysis using data from various users in a cloud service using the homomorphic encryption with repudiation described in Non-Patent Document 1, the users must share keys with each other, and the confidentiality of the data between users cannot be guaranteed.
- the objective of this disclosure is to realize homomorphic deniable encryption, which allows each user to encrypt data using a different key.
- the secret information processing system includes: a key generation device that generates an encryption key PK, a decryption key SK, and a homomorphic operation key EVK; an encryption device that generates encrypted data C DPK (m) by encrypting plaintext data m with the encryption key PK; a repudiation random number generation device that receives the encryption key PK and the ciphertext data C DPK (m) as input and generates repudiation random number data r * for repudiating the disclosure of the plaintext data m; a homomorphic computation device that generates post-homomorphic-computation ciphertext data CMPK (M) by performing a homomorphic computation on a result of computation of plaintext data using the homomorphic computation key EVK; and a decryption device that decrypts the ciphertext data after the homomorphic operation.
- a key generation device that generates an encryption key PK, a decryption key SK, and a homomorphic operation key EVK
- the confidential information processing system disclosed herein allows the subject to continuously process confidential information unconsciously, making it possible to detect replacement or impersonation of the subject.
- FIG. 1 is a diagram showing an example of a system configuration of a secret information processing system according to a first embodiment.
- 1 is a block diagram showing a configuration of a key generating device according to a first embodiment;
- 1 is a block diagram showing a configuration of an encryption device according to a first embodiment;
- 1 is a block diagram showing a configuration of a denial random number generation device according to a first embodiment;
- FIG. 1 is a block diagram showing a configuration of a homomorphic arithmetic device according to a first embodiment.
- FIG. 1 is a block diagram showing a configuration of a decoding device according to a first embodiment.
- 4 is a flowchart showing the operation of each device in the secret information processing system according to the first embodiment.
- FIG. 1 is a flowchart showing a homomorphic operation of the secret information processing system according to the first embodiment.
- 1 is a flowchart showing a homomorphic operation of the secret information processing system according to the first embodiment.
- FIG. 2 is a diagram showing an example of the hardware configuration of each device in the secret information processing system according to the first embodiment.
- FIG. 13 is a diagram showing an example of the hardware configuration of each device of the secret information processing system according to a modification of the first embodiment.
- FIG. 1 is a diagram showing an example of a system configuration of a secret information processing system 100 according to the present embodiment.
- the secret information processing system 100 includes a key generation device 200 , an encryption device 300 , a denial random number generation device 400 , a homomorphic arithmetic device 500 , and a decryption device 600 .
- the Internet 101 is a communication path that connects the key generation device 200, the multiple encryption devices 300, the denial random number generation device 400, the homomorphic arithmetic device 500, and the decryption device 600.
- the Internet 101 is an example of a network. Other types of networks may be used instead of the Internet 101.
- the key generating device 200 is, for example, a PC.
- PC is an abbreviation for Personal Computer.
- the key generating device 200 creates an encryption key used for encryption, a homomorphic operation key used for homomorphic operation, and a decryption key used for decrypting ciphertext data.
- the key generating device 200 transmits the encryption key to the encryption device 300 and the repudiation random number generating device 400, the homomorphic operation key to the homomorphic operation device 500, and the decryption key to the decryption device 600 via the Internet 101. These keys may be transmitted directly by mail or the like. Since the decryption key is confidential information, it is stored inside the key generating device 200 and the decryption device 600 to prevent leakage.
- the encryption device 300 generates encrypted data by encrypting plaintext data with an encryption key.
- the encryption device 300 generates encrypted data by encrypting plaintext data with a single encryption key.
- the encryption device 300 is, for example, a PC.
- the encryption device 300 generates ciphertext data by encrypting plaintext data obtained from a factory sensor or the like with a stored encryption key.
- the encryption device 300 transmits the ciphertext data to the homomorphic computing device 500.
- the repudiation random number generation device 400 receives an encryption key and ciphertext data as input, and generates repudiation random number data for denying disclosure of plaintext data.
- the repudiation random number generation device 400 is, for example, a PC.
- the repudiation random number generation device 400 also functions as an encryption key storage device that receives an encryption key sent from the key generation device 200 and stores the encryption key.
- the repudiation random number generation device 400 generates repudiation random number data from the ciphertext data, plaintext data, and random number data sent from the encryption device 300, and stores the generated data.
- the homomorphic computing device 500 receives a homomorphic computation key and encrypted data as input, and performs a homomorphic computation on the computation result of plaintext data to generate homomorphically computed ciphertext data.
- the homomorphic computing device 500 is, for example, a computer having a large-capacity storage medium.
- the homomorphic computing device 500 also functions as a data storage device. That is, when a storage request for ciphertext data is received from the encryption device 300, the homomorphic computing device 500 stores the ciphertext data.
- the homomorphic computing device 500 also functions as a device that performs homomorphic computation on the stored ciphertext data.
- the homomorphic computing device 500 generates ciphertext data (ciphertext data after homomorphic computation) that is a computation result on the plaintext data of the ciphertext data from the stored homomorphic computation key and the stored ciphertext data, and transmits it to the decryption device 600.
- the stored homomorphic computation key is a homomorphic computation key stored in the homomorphic computing device 500.
- the stored ciphertext data is ciphertext data stored in the homomorphic computing device 500.
- the decryption device 600 decrypts the ciphertext data after the homomorphic computation.
- the decryption device 600 is, for example, a PC.
- the decryption device 600 receives the decryption key sent from the key generation device 200 and also functions as a decryption key storage device that stores the decryption key.
- the decryption device 600 is also a PC that operates as a ciphertext data decryption device that receives ciphertext data (ciphertext data after homomorphic operation) sent from the homomorphic operation device 500 and obtains the operation result by decrypting it with a stored decryption key.
- any of the key generation device 200, encryption device 300, denial random number generation device 400, homomorphic arithmetic device 500, and decryption device 600 may be included simultaneously in the same PC.
- the secret information processing system 100 includes a key generation device 200, an encryption device 300, a repudiation random number generation device 400, a homomorphic arithmetic device 500, and a decryption device 600.
- a key generation device 200 the configuration of the key generation device 200, the configuration of the encryption device 300, the configuration of the repudiation random number generation device 400, the configuration of the homomorphic arithmetic device 500, and the configuration of the decryption device 600 will be described in order.
- FIG. 2 is a block diagram showing a configuration of a key generating device 200 according to this embodiment.
- the key generation device 200 includes, as functional elements, an input unit 201, a denialable decryption key generation unit 202, a denialable encryption key generation unit 203, a multi-key homomorphic decryption key generation unit 204, a multi-key homomorphic encryption key generation unit 205, a homomorphic computation key generation unit 206, and a transmission unit 207.
- the key generating device 200 also includes a storage unit that stores data used in each unit of the key generating device 200 .
- the input unit 201 receives a security parameter ⁇ , and sends the security parameter ⁇ to a denial-of-encryption key generation unit 202 and a multi-key homomorphic decryption key generation unit 204 .
- the denialable decryption key generation unit 202 generates a denialable decryption key DSK using the security parameter ⁇ received from the input unit 201 as an input. Furthermore, the denialable decryption key generation unit 202 transmits the denialable decryption key DSK to the denialable encryption key generation unit 203, the homomorphic operation key generation unit 206, and the transmission unit 207.
- the denialable encryption key generation unit 203 generates a denialable encryption key DPK using the denialable decryption key DSK received from the denialable decryption key generation unit 202 as an input. Furthermore, the denialable encryption key generation unit 203 transmits the denialable encryption key DPK to the transmission unit 207.
- the multi-key homomorphic decryption key generation unit 204 generates a multi-key homomorphic decryption key MSK using the security parameter ⁇ received from the input unit 201 as an input. Furthermore, the multi-key homomorphic decryption key generation unit 204 transmits the multi-key homomorphic decryption key MSK to the multi-key homomorphic encryption key generation unit 205 and the transmission unit 207.
- the multi-key homomorphic encryption key generation unit 205 generates a multi-key homomorphic encryption key MPK using as input the multi-key homomorphic decryption key MSK received from the multi-key homomorphic decryption key generation unit 204. Furthermore, the multi-key homomorphic encryption key generation unit 205 transmits the multi-key homomorphic encryption key MPK to the homomorphic computation key generation unit 206 and the transmission unit 207.
- the homomorphic computation key generation unit 206 generates a homomorphic computation key EVK using the denial-proof decryption key DSK received from the denial-proof decryption key generation unit 202 and the multi-key homomorphic encryption key MPK received from the multi-key homomorphic encryption key generation unit 205 as input. Furthermore, the homomorphic computation key generation unit 206 sends the homomorphic computation key EVK to the transmission unit 207.
- it generates an encryption key PK from the denial encryption key DPK generated by the denial encryption key generation unit 203 and the multi-key homomorphic encryption key MPK generated by the multi-key homomorphic encryption key generation unit 205, and transmits it to the encryption device 300 and the denial random number generation device 400.
- FIG. 3 is a block diagram showing a configuration of an encryption device 300 according to the present embodiment.
- the encryption device 300 includes, as functional elements, an input unit 301, an encryption key storage unit 302, a plaintext storage unit 303, a random number generation unit 304, an encryption unit 305, a random number storage unit 306, and a transmission unit 307.
- the encryption device 300 also includes a storage unit that stores data used by each unit of the encryption device 300 .
- the input unit 301 receives the encryption key PK transmitted from the key generating device 200, and transmits it to the encryption key storage unit 302.
- the input unit 301 receives plaintext data m, and transmits the plaintext data m to the plaintext storage unit 303.
- the encryption key storage unit 302 stores the encryption key PK received from the input unit 301 .
- the plaintext storage unit 303 stores the plaintext data m received from the input unit 301 .
- the random number generation unit 304 generates random number data r from the encryption key PK stored in the encryption key storage unit 302 , and transmits the data r to the encryption unit 305 and the random number storage unit 306 .
- the encryption unit 305 receives the encryption key PK sent from the encryption key storage unit 302, the plaintext data m sent from the plaintext storage unit 303, and the random number data r from the random number generation unit 304, and generates ciphertext data C PK (m) of the plaintext data m. Then, the encryption unit 305 transmits the ciphertext data C PK (m) to the transmission unit 307.
- C PK (m) represents the ciphertext data obtained by encrypting the plaintext data m with the encryption key PK.
- the random number storage unit 306 stores the random number data r received from the random number generation unit 304 .
- the transmission unit 307 receives the ciphertext data C PK (m) from the encryption unit 305 , and transmits it to the denial random number generation device 400 and the homomorphic calculation device 500 .
- FIG. 4 is a block diagram showing a configuration of a denial random number generation device 400 according to this embodiment.
- the denial random number generation device 400 includes, as functional elements, an input unit 401, an encryption key storage unit 402, a denial random number generation unit 403, and a denial random number storage unit 404.
- the denial random number generation device 400 includes a storage unit that stores data used in each part of the denial random number generation device 400 .
- the input unit 401 receives the encryption key PK transmitted from the key generating device 200, and sends it to the encryption key storage unit 402. Alternatively, the input unit 401 receives the ciphertext data C PK (m) and the random number data r transmitted from the encryption device 300, and sends it to the repudiation random number generation unit 403.
- the encryption key storage unit 402 stores the encryption key PK received from the input unit 401 of the repudiation random number generation device 400 .
- the denial random number generation unit 403 generates denial random number data r * from the ciphertext data C PK (m) and random number data r received from the input unit 401 and the encryption key PK stored in the encryption key storage unit 402 , and sends it to the denial random number storage unit 404 .
- the negated random number storage unit 404 stores the negated random number data r * received from the negated random number generation unit 403 .
- FIG. 5 is a block diagram showing the configuration of a homomorphic arithmetic device 500 according to this embodiment.
- the homomorphic computing device 500 includes, as functional elements, an input unit 501, a homomorphic computation key storage unit 502, a ciphertext storage unit 503, a computation processing configuration unit 504, a homomorphic computation unit 505, and a transmission unit 506.
- the homomorphic arithmetic device 500 also includes a storage unit that stores data used in each unit of the homomorphic arithmetic device 500 .
- the input unit 501 receives the homomorphic operational keys EVK1 and EVK2 transmitted from the key generating device 200, and sends them to the homomorphic operational key storage unit 502. Alternatively, it receives the ciphertext data C PK1 (m1) and C PK2 (m2) transmitted from the encryption device 300, and sends them to the ciphertext storage unit 503. Alternatively, it receives the operational circuit f, and sends it to the operational processing configuration unit 504.
- the homomorphic operational key storage unit 502 stores the homomorphic operational keys EVK1 and EVK2 received from the input unit 501.
- the ciphertext storage unit 503 stores the ciphertext data C PK1 (m1) and the ciphertext data C PK2 (m2) received from the input unit 501.
- the arithmetic processing configuration unit 504 generates a homomorphic arithmetic circuit C using the arithmetic circuit f received from the input unit 501 and the ciphertext data C PK1 (m1) and C PK2 (m2) received from the ciphertext storage unit 503 as input.
- f(m1, m2) represents the result of computing the computation circuit f using two plaintext data m1 and m2 as input
- PK represents a set ⁇ PK1, PK2 ⁇ consisting of encryption keys PK1 and PK2.
- the operation result data M can be decrypted by using the decryption keys SK1 and SK2.
- the transmitting unit 506 transmits the post-homomorphic-operation ciphertext data C PK (M) received from the homomorphic operation unit 505 to the decryption device 600 .
- FIG. 6 is a block diagram showing a configuration of a decoding device 600 according to this embodiment.
- the decryption device 600 includes, as functional elements, an input unit 601, a decryption key storage unit 602, a decryption processing unit 603, and a decryption result storage unit 604.
- the decoding device 600 also includes a storage unit that stores data used in each unit of the decoding device 600 .
- the decryption key storage unit 602 stores the decryption keys SK1 and SK2 received from the input unit 601.
- the decryption processing unit 603 receives the post-homomorphic-operation ciphertext data C PK (M) from the input unit 601 and the decryption keys SK1 and SK2 from the decryption key storage unit 602.
- the decryption processing unit 603 decrypts the post-homomorphic-operation ciphertext data C PK (M) with the decryption keys SK1 and SK2 to obtain the encrypted operation result data M, and sends the decryption result data M to the decryption result storage unit 604.
- the decryption result storage unit 604 receives the computation result data M from the decryption processing unit 603 and stores it.
- the operation procedure of the secret information processing system 100 corresponds to a secret information processing method.
- a program for realizing the operation of the secret information processing system 100 corresponds to a secret information processing program.
- FIG. 7 is a flowchart showing the operation of each device in the secret information processing system 100 according to this embodiment.
- the flowchart in FIG. 7 shows the generation and storage process of an encryption key, a decryption key, and a homomorphic computation key.
- Steps S701 to S713 in FIG. 7 are processes executed by the key generation device 200, the encryption device 300, the denial random number generation device 400, the homomorphic arithmetic device 500, and the decryption device 600.
- Steps S701 to S705 are executed by the key generating device 200.
- Steps S706 and S707 are executed by the encryption device 300.
- Steps S708 to S709 are executed by the denial random number generation device 400.
- Steps S710 and S711 are executed by the homomorphic arithmetic device 500.
- Steps S712 and S713 are executed by the decoding device 600.
- step S701 the input unit 201 of the key generating device 200 receives the security parameter ⁇ .
- step S702 the denialable decryption key generation unit 202 of the key generation device 200 generates a denialable decryption key DSK using the security parameter ⁇ received by the input unit 201 of the key generation device 200 in step S701 as an input.
- the multi-key homomorphic decryption key generation unit 204 of the key generation device 200 generates a multi-key homomorphic decryption key MSK using the security parameter ⁇ received by the input unit 201 of the key generation device 200 in step S701 as an input.
- the denialable decryption key DSK is generated using the key generation algorithm described in Non-Patent Document 1.
- the multi-key homomorphic decryption key MSK is generated using the key generation algorithm described in Non-Patent Document 2.
- step S703 the denializable encryption key generation unit 203 of the key generation device 200 uses the denializable decryption key DSK as an input to generate the denializable encryption key DPK. Furthermore, the multi-key homomorphic encryption key generation unit 205 of the key generation device 200 uses the multi-key homomorphic decryption key MSK as an input to generate the multi-key homomorphic encryption key MPK.
- the denializable encryption key DPK is generated using the key generation algorithm described in Non-Patent Document 1.
- the multi-key homomorphic encryption key MPK is generated using the key generation algorithm described in Non-Patent Document 2.
- step S704 the homomorphic operation key generation unit 206 of the key generation device 200 outputs, as the homomorphic operation key EVK, a multi-key homomorphic ciphertext obtained by encrypting the denial decryption key DSK with the multi-key homomorphic encryption.
- the homomorphic operation key generation unit 206 receives the denial decryption key DSK and the multi-key homomorphic encryption key MPK as input, and generates the homomorphic operation key EVK in the format of the following (Equation 1).
- EVK Enc(MPK, DSK) (Math. 1)
- Enc is the encryption algorithm described in Non-Patent Document 2.
- step S705 the transmission unit 207 of the key generation device 200 generates a decryption key SK expressed in the format of the following (Equation 2) from the denializable decryption key DSK and the multi-key homomorphic decryption key MSK. Furthermore, the transmission unit 207 of the key generation device 200 generates an encryption key PK expressed in the format of the following (Equation 3) from the denializable encryption key DPK and the multi-key homomorphic encryption key MPK.
- SK (DSK, MSK) (Math. 2)
- PK (DPK, MPK) (Math. 3)
- the transmission unit 207 of the key generation device 200 transmits the encryption key PK to the encryption device 300 and the repudiation random number generation device 400.
- the transmission unit 207 of the key generation device 200 also transmits the homomorphic computation key EVK generated by the homomorphic computation key generation unit 206 of the key generation device 200 to the homomorphic computation device 500.
- the transmission unit 207 of the key generation device 200 also transmits the decryption key SK to the decryption device 600.
- step S706 the input unit 301 of the encryption device 300 receives the encryption key PK transmitted by the transmission unit 207 of the key generation device 200 in step S705.
- step S707 the encryption key storage unit 302 of the encryption device 300 stores the encryption key PK received by the input unit 301 of the encryption device 300 in step S706.
- step S708 the input unit 401 of the repudiation random number generation device 400 receives the encryption key PK transmitted by the transmission unit 207 of the key generation device 200 in step S705.
- step S709 the encryption key storage unit 402 of the repudiation random number generation device 400 stores the encryption key PK received by the input unit 401 of the repudiation random number generation device 400 in step S708.
- step S710 the input unit 501 of the homomorphic computation device 500 receives the homomorphic computation key EVK transmitted by the transmission unit 207 of the key generation device 200 in step S705.
- step S711 the homomorphic computation key storage unit 502 of the homomorphic computation device 500 stores the homomorphic computation key EVK received by the input unit 501 of the homomorphic computation device 500 in step S710.
- step S712 the input unit 601 of the decryption device 600 receives the decryption key SK transmitted by the transmission unit 207 of the key generation device 200 in step S705.
- step S713 the decryption key storage unit 602 of the decryption device 600 stores the decryption key SK received by the input unit 601 of the decryption device 600 in step S712.
- FIG. 8 is a flowchart showing homomorphic operations of the secret information processing system 100 according to this embodiment.
- Steps S801 to S815 in FIG. 8 are processes executed by the encryption device 300, the homomorphic arithmetic device 500, and the decryption device 600.
- Steps S801 to S806 are processes executed by the encryption device 300.
- Steps S807 to S812 are processes executed by the homomorphic arithmetic device 500.
- Steps S807 to S815 are processes executed by the decoding device 600.
- step S801 the input unit 301 of the encryption device 300 receives plaintext data m1 and m2 collected from, for example, a sensor, and sends the plaintext data m1 and m2 to the plaintext storage unit 303.
- step S802 the plaintext storage unit 303 of the encryption device 300 stores the plaintext data m1 and m2 received from the input unit 301 of the encryption device 300.
- step S 803 the random number generation unit 304 of the encryption device 300 generates random number data r 1 and r 2 , and sends them to the random number storage unit 306 of the encryption device 300 .
- step S804 the random number storage unit 306 of the encryption device 300 stores the random number data r1 and r2 received from the random number generation unit 304 of the encryption device 300.
- step S805 the encryption unit 305 of the encryption device 300 generates ciphertext data C DPK1 (m1) from the denial encryption key DPK1 stored in the encryption key storage unit 302 of the encryption device 300, the random number data r1 stored in the random number storage unit 306, and the plaintext data m1 stored in the plaintext storage unit 303. Furthermore, the encryption unit 305 of the encryption device 300 generates ciphertext data C DPK2 (m2) from the denial encryption key DPK2 stored in the encryption key storage unit 302 of the encryption device 300, the random number data r2 stored in the random number storage unit 306, and the plaintext data m2 stored in the plaintext storage unit 303.
- the encryption unit 305 of the encryption device 300 transmits the ciphertext data C DPK1 (m1) and C DPK2 (m2) to the transmission unit 307 of the encryption device 300 .
- the transmission unit 307 of the encryption device 300 receives the ciphertext data C DPK1 (m 1 ) and C DPK2 (m 2 ) sent by the encryption unit 305 in step S 805 , and transmits it to the homomorphic arithmetic device 500 .
- step S807 the input unit 501 of the homomorphic arithmetic device 500 receives the ciphertext data C DPK1 (m1) and C DPK2 (m2) sent from the transmission unit 307 of the encryption device 300, and sends it to the ciphertext storage unit 503.
- step S808 the ciphertext storage unit 503 of the homomorphic arithmetic device 500 receives and stores the ciphertext data C DPK1 (m1) and C DPK2 (m2) sent from the input unit 501 of the homomorphic arithmetic device 500 in step S807.
- step S 809 the input unit 501 of the homomorphic arithmetic device 500 receives the arithmetic circuit f input from a keyboard, a mouse, a storage device, or the like, and sends it to the arithmetic processing configuration unit 504 .
- step S810 the arithmetic processing configuration unit 504 of the homomorphic arithmetic device 500 generates a homomorphic arithmetic processing circuit F expressed in the form of the following (Equation 4) using as input the ciphertext data C DPK1 (m1) and C DPK2 (m2) stored in the ciphertext storage unit 503 of the homomorphic arithmetic device 500 in step S808 and the arithmetic circuit f sent from the input unit 501 of the homomorphic arithmetic device 500 in step S809.
- the homomorphic arithmetic processing circuit F is transmitted to the homomorphic arithmetic unit 505 of the homomorphic arithmetic device 500.
- step S811 the homomorphic computation unit 505 of the homomorphic computation device 500 uses the homomorphic computation key EVK and the homomorphic computation processing circuit F as input, generates post-homomorphic computation ciphertext data C MPK (M) by using the homomorphic computation algorithm described in non-patent document 2, and sends the post-homomorphic computation ciphertext data C MPK (M) to the transmission unit 506.
- step S812 the transmission unit 506 of the homomorphic arithmetic device 500 transmits the post-homomorphic-operation ciphertext data C MPK (M) to the decryption device 600.
- step S 813 the input unit 601 of the decryption device 600 receives the homomorphic-computation-subject ciphertext data C MPK (M) sent from the transmission unit 506 of the homomorphic computation device 500 in step S 812 , and sends it to the decryption processing unit 603 .
- step S814 the decryption processing unit 603 of the decryption device 600 performs decryption processing using the post-homomorphic-operation ciphertext data C MPK (M) sent from the input unit 601 of the decryption device 600 in step S813 and the decryption keys MSK1 and MSK2 stored in the decryption key storage unit 602 of the decryption device 600, to obtain the decryption result M.
- the decryption processing unit 603 sends the decryption result M to the decryption result storage unit 604 .
- step S815 the decoded result storage unit 604 of the decode device 600 stores the decoded result M sent from the decode processing unit 603 of the decode device 600 in step S814.
- the decryption device 600 only accepts the homomorphic operation ciphertext as input.
- the decryption device 600 is requested to perform a homomorphic operation for an operation that outputs the same value as the input, and the obtained homomorphic operation post-ciphertext is decrypted in the same manner as in step S814, thereby making it possible to decrypt the plaintext data of the homomorphic operation pre-ciphertext.
- step S815 the homomorphic computation process of the secret information processing system 100 ends.
- FIG. 9 is a flowchart showing homomorphic operations of the secret information processing system 100 according to this embodiment.
- Steps S901 to S904 in FIG. 9 are processes executed by the encryption device 300 and the denial random number generation device 400.
- Step S 901 is a process executed by the encryption device 300 .
- Steps S902 to S904 are processes executed by the denial random number generation device 400.
- step S901 the transmission unit 307 of the encryption device 300 sends the plaintext data m1 and m2 stored in the plaintext storage unit 303 of the encryption device 300, and the random number data r1 and r2 stored in the random number storage unit 306 of the encryption device 300 to the denial random number generation device 400.
- step S902 the input unit 401 of the denial random number generation device 400 receives the plaintext data m1 and m2 and the random number data r1 and r2 sent from the transmission unit 307 of the encryption device 300 in step S901, and sends them to the denial random number generation unit 403 of the denial random number generation device 400.
- step S903 the denial random number generation unit 403 of the denial random number generation device 400 receives the plaintext data m1 and random number data r1 received from the input unit 401 of the denial random number generation device 400 in step S902, and generates denial random number data r1 * .
- the denial random number generation unit 403 of the denial random number generation device 400 receives the plaintext data m2 and random number data r2 received from the input unit 401 of the denial random number generation device 400 in step S902, and generates denial random number data r2 * .
- the denial random number data r1 * and r2 * are sent to the denial random number storage unit 404 of the denial random number generation device 400.
- the denial random number storage unit 404 of the denial random number generation device 400 stores the denial random number data r1 * and r2 * received from the denial random number generation unit 403 of the denial random number generation device 400 in S903.
- the key generating device 200 generates a first deniable encryption key and a first deniable decryption key, and a second deniable encryption key and a second deniable decryption key, which are used for deniable encryption.
- Each set of the first deniable encryption key and the first deniable decryption key, and the second deniable encryption key and the second deniable decryption key are individual keys generated by different users.
- the key generating device 200 also generates a first multiple-key homomorphic encryption key and a first multiple-key homomorphic decryption key, and a second multiple-key homomorphic encryption key and a second multiple-key homomorphic decryption key, which are used for multiple-key homomorphic encryption.
- the key generating device 200 also generates a first homomorphic operation key from the first deniable decryption key and the first multiple-key homomorphic encryption key.
- the key generating device 200 also generates a second homomorphic operation key from the second deniable decryption key and the second multiple-key homomorphic encryption key.
- the encryption device 300 encrypts the first plaintext data with the first deniable encryption key to obtain first encrypted data, and also encrypts the second plaintext data with the second deniable encryption key to obtain second encrypted data.
- the repudiation random number generation device 400 receives the first repudiable encryption key and the first ciphertext data as input, and generates first repudiation random number data for repudiating the disclosure of the first plaintext data.
- the repudiation random number generation device 400 receives the second repudiable encryption key and the second ciphertext data as input, and generates second repudiation random number data for repudiating the disclosure of the second plaintext data.
- the homomorphic computing device 500 receives as input a first homomorphic computation key, a second homomorphic computation key, and the first encrypted data and the second encrypted data, and generates post-homomorphic computation ciphertext data by performing a homomorphic computation on the calculation results of the first plaintext data and the second plaintext data.
- the decryption device 600 decrypts the post-homomorphic-operation ciphertext data using the first denial-proof decryption key and the second denial-proof decryption key.
- FIG. 10 is a diagram showing an example of the hardware configuration of each device of the secret information processing system 100 according to the present embodiment.
- the key generation device 200, the encryption device 300, the denial random number generation device 400, the homomorphic arithmetic device 500, and the decryption device 600 may be referred to as each device of the secret information processing system 100.
- Each device in the confidential information processing system 100 is a computer.
- Each device in the confidential information processing system 100 includes a processor 910, as well as other hardware such as a memory 921, an auxiliary storage device 922, an input interface 930, an output interface 940, and a communication device 950.
- the processor 910 is connected to the other hardware via signal lines and controls the other hardware.
- each device of the secret information processing system 100 has functional elements.
- the functional elements of each device in the secret information processing system 100 are realized by software.
- the storage unit of each device in the secret information processing system 100 is provided in a memory 921. Note that the storage unit may be provided in an auxiliary storage device 922, or may be provided separately in the memory 921 and the auxiliary storage device 922.
- the processor 910 is a device that executes a secret information processing program.
- the secret information processing program is a program that realizes the functional elements of each device of the secret information processing system 100.
- the processor 910 is an IC that performs arithmetic processing. Specific examples of the processor 910 are a CPU, a DSP, and a GPU.
- IC is an abbreviation for Integrated Circuit.
- CPU is an abbreviation for Central Processing Unit.
- DSP is an abbreviation for Digital Signal Processor.
- GPU is an abbreviation for Graphics Processing Unit.
- the memory 921 is a storage device that temporarily stores data. Specific examples of the memory 921 are SRAM and DRAM. SRAM is an abbreviation for Static Random Access Memory. DRAM is an abbreviation for Dynamic Random Access Memory.
- the auxiliary storage device 922 is a storage device that stores data. A specific example of the auxiliary storage device 922 is a HDD.
- the auxiliary storage device 922 may also be a portable storage medium such as an SD (registered trademark) memory card, a CF, a NAND flash, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, or a DVD. Note that HDD is an abbreviation for Hard Disk Drive. SD (registered trademark) is an abbreviation for Secure Digital. CF is an abbreviation for CompactFlash (registered trademark). DVD is an abbreviation for Digital Versatile Disk.
- the input interface 930 is a port that is connected to an input device such as a mouse, keyboard, or touch panel. Specifically, the input interface 930 is a USB terminal. The input interface 930 may also be a port that is connected to a LAN.
- USB is an abbreviation for Universal Serial Bus.
- LAN is an abbreviation for Local Area Network.
- the output interface 940 is a port to which a cable of an output device such as a display is connected.
- the output interface 940 is a USB terminal or an HDMI (registered trademark) terminal.
- the display is an LCD.
- the output interface 940 is also called a display interface.
- HDMI (registered trademark) is an abbreviation for High Definition Multimedia Interface.
- LCD is an abbreviation for Liquid Crystal Display.
- the communication device 950 has a receiver and a transmitter.
- the communication device 950 is connected to a communication network such as a LAN, the Internet, a telephone line, or Wi-Fi (registered trademark).
- the communication device 950 is a communication chip or NIC.
- NIC is an abbreviation for Network Interface Card.
- the secret information processing program is executed in the secret information processing system 100.
- the secret information processing program is loaded into the processor 910 and executed by the processor 910.
- the memory 921 stores not only the secret information processing program but also the OS.
- OS is an abbreviation for Operating System.
- the processor 910 executes the secret information processing program while executing the OS.
- the secret information processing program and the OS may be stored in the auxiliary storage device 922.
- the secret information processing program and the OS stored in the auxiliary storage device 922 are loaded into the memory 921 and executed by the processor 910. Note that a part or all of the secret information processing program may be incorporated into the OS.
- the secret information processing system 100 may include multiple processors that replace the processor 910. These multiple processors share the task of executing the secret information processing program. Each processor is a device that executes the secret information processing program, just like the processor 910.
- the data, information, signal values, and variable values used, processed, or output by the confidential information processing program are stored in the memory 921, the auxiliary storage device 922, or in a register or cache memory within the processor 910.
- the "parts" of the functional elements of each device of the secret information processing system 100 may be read as “circuits,""steps,"”procedures,"”processing," or “circuitry.”
- the secret information processing program causes a computer to execute processing in which the "parts" of the functional elements of each device of the secret information processing system 100 are read as “processing.”
- the "parts” of the functional elements of each device of the secret information processing system 100 may be read as "programs,””programproducts,""computer-readable storage media storing a program,” or “computer-readable recording media recording a program.”
- the secret information processing method is a method performed by the secret information processing system 100 executing the secret information processing program.
- the secret information processing program may be provided in a state stored in a computer-readable recording medium. Also, the secret information processing program may be provided as a program product.
- each device in the secret information processing system 100 are realized by software.
- the functional elements of each device in the secret information processing system 100 may be realized by hardware.
- each device of the secret information processing system 100 includes an electronic circuit 909 instead of a processor 910 .
- FIG. 11 is a diagram showing an example of the hardware configuration of each device of the secret information processing system 100 according to a modified example of the present embodiment.
- the electronic circuit 909 is a dedicated electronic circuit that realizes the functional elements of each device of the secret information processing system 100.
- the electronic circuit 909 is a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA, an ASIC, or an FPGA.
- GA is an abbreviation for Gate Array.
- ASIC is an abbreviation for Application Specific Integrated Circuit.
- FPGA is an abbreviation for Field-Programmable Gate Array.
- each device in the confidential information processing system 100 may be realized by a single electronic circuit, or may be distributed across multiple electronic circuits.
- some of the functions of the functional elements of each device in the secret information processing system 100 may be realized by electronic circuits, and the remaining functions may be realized by software. Also, some or all of the functions of the functional elements of each device in the secret information processing system 100 may be realized by firmware.
- Each of the processors and electronic circuits is also called processing circuitry.
- the functional elements of each device in the confidential information processing system 100 are realized by processing circuitry.
- the secret information processing system provides the following advantages, for example. Typically, when considering outsourcing analytical processing to a cloud using homomorphic encryption, it is sufficient for deniability to be true for the ciphertext before the analytical processing, and the ciphertext after the analytical processing does not need to be a homomorphic encryption ciphertext with deniability.
- the secret information processing system of this embodiment by combining homomorphic encryption with repudiation with multi-key homomorphic encryption, the system is endowed with the functionality to analyze and process data encrypted with different keys while ensuring repudiation.
- a special analysis processing circuit is designed that performs analysis processing while converting the ciphertext of homomorphic encryption with denialibility into ciphertext of multi-key homomorphic encryption, making it possible to perform analysis processing between data encrypted with different keys while maintaining denialibility.
- This provides homomorphic encryption that allows analysis of data encrypted with different keys.
- encrypted data only needs to be encrypted with the key of the encrypted data generator, which contributes to improving efficiency.
- homomorphic encryption which allows homomorphic operations only between data encrypted internally under the same key, is used to encrypt plaintext data, so homomorphic operations cannot be performed between data encrypted under different keys.
- homomorphic operations can be performed between ciphertext data generated under different encryption keys.
- homomorphic operations can be performed between ciphertext data generated under different encryption keys, so that analysis processing can be entrusted to a cloud server with smaller ciphertext data sizes.
- homomorphic operations can only be performed between data encrypted under the same key, so the ciphertext data creator needs to encrypt his/her own plaintext data under the key of another ciphertext data generator, which results in a very large ciphertext data size.
- the secret information processing system of this embodiment there is no need to generate ciphertext data under the key of such another ciphertext data generator, which has the effect of contributing to improved efficiency.
- the secret information processing system effectively combines two types of encryption technology, namely denializable encryption and multi-key homomorphic encryption, to provide homomorphic encryption that can analyze data encrypted with different keys.
- each unit of each device of the secret information processing system has been described as an independent functional block.
- the configuration of each device of the secret information processing system does not have to be the configuration as in the above-mentioned embodiment.
- the functional block of each device of the secret information processing system may have any configuration as long as it can realize the functions described in the above-mentioned embodiment.
- each device of the secret information processing system may be a system composed of multiple devices, rather than a single device.
- a plurality of parts of the first embodiment may be combined to be implemented.
- one part of this embodiment may be implemented.
- this embodiment may be combined in any manner as a whole or in part to be implemented. That is, in the first embodiment, the embodiments can be freely combined, or any of the components in each embodiment can be modified, or any of the components in each embodiment can be omitted.
- 100: confidential information processing system 101: Internet
- 203 denializable encryption key generation unit
- 207, 307, 506 transmission unit
- 400 repudiation random number generation device 403 repudiation random number generation unit
- 500 homomorphic arithmetic device 502 homomorphic arithmetic key storage unit
- 503 ciphertext storage unit 504 arithmetic processing configuration unit
- 505 homomorphic arithmetic unit 600 decryption device
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)
- Storage Device Security (AREA)
Abstract
Description
一般的な公開鍵暗号技術における暗号化アルゴリズムは、平文データを暗号化するために公開鍵データと乱数データを用いる。公開鍵データは公開情報なので、平文データと乱数データが決まれば暗号文データは一意に定まる。否認可能性は、ある暗号文データに実際に暗号化されている平文データとは異なるデータをその暗号文データに暗号化するための乱数データを生成することができる性質である。この性質により、クラウドサービスに分析処理を委託するためにユーザが保存している暗号文データに対して、ユーザは偽のデータをその暗号文データに暗号化できる乱数データを生成することできる。これにより、特権的なユーザから平文データの開示を強制されたときに、データの強制開示から逃れることができる。
暗号化鍵PKと復号鍵SKと準同型演算鍵EVKを生成する鍵生成装置と、
前記暗号化鍵PKで平文データmを暗号化した暗号化データCDPK(m)を生成する暗号化装置と、
前記暗号化鍵PKと暗号文データCDPK(m)とを入力とし、平文データmの開示の否認のための否認乱数データr*を生成する否認乱数生成装置と、
前記準同型演算鍵EVKで平文データの計算結果を準同型演算した準同型演算後暗号文データCMPK(M)を生成する準同型演算装置と、
準同型演算後暗号文データを復号する復号装置とを備える。
***構成の説明***
図1は、本実施の形態に係る秘匿情報処理システム100のシステム構成例を示す図である。
秘匿情報処理システム100は、鍵生成装置200と、暗号化装置300と、否認乱数生成装置400と、準同型演算装置500と、復号装置600とを有する。
インターネット101は、鍵生成装置200と、複数の暗号化装置300と、否認乱数生成装置400と、準同型演算装置500と、復号装置600とを接続する通信路である。インターネット101は、ネットワークの例である。インターネット101の代わりに、他の種類のネットワークが用いられてもよい。
鍵生成装置200は、暗号化に利用する暗号化鍵と、準同型演算に利用する準同型演算鍵と、暗号文データの復号に利用する復号鍵を作成する。鍵生成装置200は、インターネット101を介して、暗号化装置300と否認乱数生成装置400へ暗号化鍵を、準同型演算装置500へ準同型演算鍵を送信し、復号装置600へ復号鍵を送信する。なお、これらの鍵は、郵送などで直接的に送信してもよい。復号鍵は秘密の情報であるため、漏えいしないよう鍵生成装置200と復号装置600の内部に保管される。
否認乱数生成装置400は、暗号化装置300から送られてきた、暗号文データと、平文データと、乱数データから、否認乱数データを生成し、保管する。
準同型演算装置500は、保管暗号文データに対して準同型演算を行う装置としても機能する。すなわち、準同型演算装置500は、保管準同型演算鍵と、保管暗号文データから、暗号文データの平文データに対する演算結果の暗号文データ(準同型演算後暗号文データ)を生成し、復号装置600に送信する。保管準同型演算鍵は準同型演算装置500に保管されている準同型演算鍵である。保管暗号文データは準同型演算装置500に保管されている暗号文データである。
復号装置600は、準同型演算装置500から送られてきた、暗号文データ(準同型演算後暗号文データ)を受け取り、保管されている復号鍵で復号することで演算結果を取得する暗号文データ復号装置として動作するPCでもある。
図1に示したように、秘匿情報処理システム100は、鍵生成装置200と、暗号化装置300と、否認乱数生成装置400と、準同型演算装置500と、復号装置600とを備える。以下では、鍵生成装置200の構成、暗号化装置300の構成、否認乱数生成装置400の構成、準同型演算装置500の構成、復号装置600の構成について順番に説明する。
図2に示すように、鍵生成装置200は、機能要素として、入力部201と、否認可能復号鍵生成部202と、否認可能暗号化鍵生成部203と、複数鍵準同型復号鍵生成部204と、複数鍵準同型暗号化鍵生成部205と、準同型演算鍵生成部206と、送信部207とを備える。
また、図示していないが、鍵生成装置200は、鍵生成装置200の各部で使用されるデータを記憶する記憶部を備える。
否認可能復号鍵生成部202は、入力部201から受け取ったセキュリティパラメータλを入力として、否認可能復号鍵DSKを生成する。さらに、否認可能復号鍵生成部202は、否認可能復号鍵DSKを否認可能暗号化鍵生成部203と準同型演算鍵生成部206と送信部207へ送る。
否認可能暗号化鍵生成部203は、否認可能復号鍵生成部202から受け取った否認可能復号鍵DSKを入力として、否認可能暗号化鍵DPKを生成する。さらに、否認可能暗号化鍵生成部203は、否認可能暗号化鍵DPKを送信部207へ送る。
複数鍵準同型暗号化鍵生成部205は、複数鍵準同型復号鍵生成部204から受け取った複数鍵準同型復号鍵MSKを入力として、複数鍵準同型暗号化鍵MPKを生成する。さらに、複数鍵準同型暗号化鍵生成部205は、複数鍵準同型暗号化鍵MPKを準同型演算鍵生成部206と送信部207へ送る。
図3に示すように、暗号化装置300は、機能要素として、入力部301と、暗号化鍵保管部302と、平文保管部303と、乱数生成部304と、暗号化部305と、乱数保管部306と、送信部307とを備える。
また、図示していないが、暗号化装置300は、暗号化装置300の各部で使用されるデータを記憶する記憶部を備える。
暗号化鍵保管部302は、入力部301から受け取った暗号化鍵PKを保管する。
平文保管部303は、入力部301から受け取った平文データmを保管する。
乱数生成部304は、暗号化鍵保管部302に保存されている暗号化鍵PKから乱数データrを生成し暗号化部305と乱数保管部306へ送信する。
乱数保管部306は、乱数生成部304から受け取った乱数データrを保管する。
送信部307は、暗号化部305から暗号文データCPK(m)を受け取り、否認乱数生成装置400と準同型演算装置500へ送信する。
図4に示すように、否認乱数生成装置400は、機能要素として、入力部401と、暗号化鍵保管部402と、否認乱数生成部403と、否認乱数保管部404とを備える。
また、図示していないが、否認乱数生成装置400は、否認乱数生成装置400の各部で使用されるデータを記憶する記憶部を備える。
暗号化鍵保管部402は、否認乱数生成装置400の入力部401から受け取った暗号化鍵PKを保管する。
否認乱数生成部403は、入力部401から受け取った暗号文データCPK(m)と乱数データrと、暗号化鍵保管部402に保管されている暗号化鍵PKから、否認乱数データr*を生成し、否認乱数保管部404へ送る。
否認乱数保管部404は、否認乱数生成部403から受け取った否認乱数データr*を保管する。
図5に示すように、準同型演算装置500は、機能要素として、入力部501と、準同型演算鍵保管部502と、暗号文保管部503と、演算処理構成部504と、準同型演算部505と、送信部506とを備える。
また、図示していないが、準同型演算装置500は、準同型演算装置500の各部で使用されるデータを記憶する記憶部を備える。
暗号文保管部503は、入力部501から受け取った暗号文データCPK1(m1)と暗号文データCPK2(m2)を保管する。
演算処理構成部504は、入力部501から受け取った演算回路fと、暗号文保管部503から受け取った暗号文データCPK1(m1)とCPK2(m2)を入力として、準同型演算回路Cを生成する。
送信部506は、準同型演算部505から受け取った準同型演算後暗号文データCPK(M)を復号装置600に送信する。
図6に示すように、復号装置600は、機能要素として、入力部601と、復号鍵保管部602と、復号処理部603と、復号結果保管部604とを備える。
また、図示していないが、復号装置600は、復号装置600の各部で使用されるデータを記憶する記憶部を備える。
復号鍵保管部602は、入力部601から受け取った復号鍵SK1とSK2とを保管する。
復号処理部603は、入力部601から準同型演算後暗号文データCPK(M)と、復号鍵保管部602から復号鍵SK1とSK2とを受け取る。復号処理部603は、準同型演算後暗号文データCPK(M)を復号鍵SK1とSK2とで、暗号化されていた演算結果データMを復号し、復号結果保管部604へ送る。
復号結果保管部604は、復号処理部603から演算結果データMを受け取り、保管する。
次に、本実施の形態に係る秘匿情報処理システム100の動作について説明する。秘匿情報処理システム100の動作手順は、秘匿情報処理方法に相当する。また、秘匿情報処理システム100の動作を実現するプログラムは、秘匿情報処理プログラムに相当する。
図7のフローチャートでは、暗号化鍵・復号鍵・準同型演算鍵の生成・保管処理を示している。
ステップS701からステップS705は、鍵生成装置200によって実行される。
ステップS706からステップS707は、暗号化装置300によって実行される。
ステップS708からステップS709は、否認乱数生成装置400によって実行される。
ステップS710からステップS711は、準同型演算装置500によって実行される。
ステップS712からステップS713は、復号装置600によって実行される。
ステップS702において、鍵生成装置200の否認可能復号鍵生成部202は、ステップS701において鍵生成装置200の入力部201が受信したセキュリティパラメータλを入力として、否認可能復号鍵DSKを生成する。さらに、鍵生成装置200の複数鍵準同型復号鍵生成部204は、ステップS701において鍵生成装置200の入力部201が受信したセキュリティパラメータλを入力として、複数鍵準同型復号鍵MSKを生成する。ここで、否認可能復号鍵DSKは、非特許文献1記載の鍵生成アルゴリズムを用いて生成される。また、複数鍵準同型復号鍵MSKは非特許文献2記載の鍵生成アルゴリズムを用いて生成される。
ここで、アルゴリズムEncは非特許文献2記載の暗号化アルゴリズムである。
PK=(DPK,MPK) (数3)
ステップS707において、暗号化装置300の暗号化鍵保管部302は、ステップS706において暗号化装置300の入力部301が受信した暗号化鍵PKを保管する。
ステップS709において、否認乱数生成装置400の暗号化鍵保管部402は、ステップS708において否認乱数生成装置400の入力部401が受信した暗号化鍵PKを保管する。
ステップS711において、準同型演算装置500の準同型演算鍵保管部502は、ステップS710において準同型演算装置500の入力部501が受信した準同型演算鍵EVKを保管する。
ステップS713において、復号装置600の復号鍵保管部602において、ステップS712において復号装置600の入力部601が受信した復号鍵SKを保管する。
図8のステップS801からステップS815は、暗号化装置300と準同型演算装置500と復号装置600とが実行する処理である。
ステップS801からステップS806は、暗号化装置300によって実行される処理である。
ステップS807からステップS812は、準同型演算装置500によって実行される処理である。
ステップS807からステップS815は、復号装置600によって実行される処理である。
ステップS802において、暗号化装置300の平文保管部303は、暗号化装置300の入力部301から受け取った平文データm1とm2を保管する。
ステップS803において、暗号化装置300の乱数生成部304は、乱数データr1とr2を生成し、暗号化装置300の乱数保管部306へ送る。
ステップS804において、暗号化装置300の乱数保管部306は、暗号化装置300の乱数生成部304から受け取った乱数データr1とr2を保管する。
ステップS806において、暗号化装置300の送信部307は、ステップS805において暗号化部305によって送られた暗号文データCDPK1(m1)とCDPK2(m2)を受け取り、準同型演算装置500へ送信する。
ステップS808において、準同型演算装置500の暗号文保管部503は、ステップS807において準同型演算装置500の入力部501から送られた暗号文データCDPK1(m1)とCDPK2(m2)を受け取り、保管する。
ステップS809において、準同型演算装置500の入力部501は、キーボードあるいはマウス、記憶装置などから入力された演算回路fを受け取り、演算処理構成部504へ送る。
ステップS810において、準同型演算装置500の演算処理構成部504は、ステップS808において準同型演算装置500の暗号文保管部503に保管されている暗号文データCDPK1(m1)とCDPK2(m2)と、ステップS809において準同型演算装置500の入力部501から送られてきた演算回路fを入力として、以下の(数4)の形式で表される準同型演算処理回路Fを生成する。準同型演算処理回路Fを、準同型演算装置500の準同型演算部505へ送信する。
ここで、アルゴリズムDecは非特許文献1記載の復号アルゴリズムである。
準同型演算装置500では、準同型演算時に、暗号化したまま否認可能準同型暗号の復号処理を計算することで、暗号化データを否認可能暗号文から複数鍵準同型暗号文に変換する。
ステップS812において、準同型演算装置500の送信部506は、準同型演算後暗号文データCMPK(M)を復号装置600へ送る。
ステップS814において、復号装置600の復号処理部603は、ステップS813において復号装置600の入力部601から送られてきた準同型演算後暗号文データCMPK(M)と、復号装置600の復号鍵保管部602に保管されている復号鍵MSK1とMSK2とを用いて復号処理を行い、復号結果Mを得る。ここで、準同型演算後暗号文データCMPK(M)の暗号化鍵集合MPK={MPK1,MPK2}に対して、複数鍵準同型暗号化鍵MPK1が複数鍵準同型復号鍵MSK1を入力として複数鍵準同型暗号化鍵生成部205で生成されており、複数鍵準同型暗号化鍵MPK2が複数鍵準同型復号鍵MSK2を入力として複数鍵準同型暗号化鍵生成部205で生成されている時に限り、復号結果M=f(m1,m2)を復号することができる。復号処理部603は復号結果Mを復号結果保管部604に送る。
なお、復号装置600は、入力として準同型演算後暗号文だけを受け付ける。しかし、準同型演算前暗号文を復号したい場合は、準同型演算装置500に、入力と同じ値をそのまま出力する演算について準同型演算を要求し、得られた準同型演算後暗号文をステップS814における処理と同様にして復号することで、準同型演算前暗号文の平文データを復号することができる。
ステップS815により、秘匿情報処理システム100の準同型演算処理は終了する。
図9のステップS901からステップS904は、暗号化装置300と否認乱数生成装置400とが実行する処理である。
ステップS901は、暗号化装置300によって実行される処理である。
ステップS902からS904は、否認乱数生成装置400によって実行される処理である。
ステップS903において、否認乱数生成装置400の否認乱数生成部403は、ステップS902において否認乱数生成装置400の入力部401から受け取った平文データm1と乱数データr1を受け取り、否認乱数データr1*を生成する。さらに、否認乱数生成装置400の否認乱数生成部403は、ステップS902において否認乱数生成装置400の入力部401から受け取った平文データm2と乱数データr2を受け取り、否認乱数データr2*を生成する。否認乱数データr1*とr2*を、否認乱数生成装置400の否認乱数保管部404に送る。
ステップS904において、否認乱数生成装置400の否認乱数保管部404は、S903において否認乱数生成装置400の否認乱数生成部403から受け取った否認乱数データr1*とr2*を保管する。
鍵生成装置200は、否認可能暗号に用いられる第1否認可能暗号化鍵と第1否認可能復号鍵、および第2否認可能暗号化鍵と第2否認可能復号鍵を生成する。第1否認可能暗号化鍵と第1否認可能復号鍵、および第2否認可能暗号化鍵と第2否認可能復号鍵の各々の組は、異なるユーザにより生成される個別の鍵である。また、鍵生成装置200は、複数鍵準同型暗号に用いられる第1複数鍵準同型暗号化鍵と第1複数鍵準同型復号鍵、および第2複数鍵準同型暗号化鍵と第2複数鍵準同型復号鍵を生成する。また、鍵生成装置200は、第1否認可能復号鍵と第1複数鍵準同型暗号化鍵とから第1準同型演算鍵を生成する。また、鍵生成装置200は、第2否認可能復号鍵と第2複数鍵準同型暗号化鍵とから第2準同型演算鍵を生成する。
暗号化装置300は、第1否認可能暗号化鍵で第1平文データを暗号化し、第1暗号化データとする。また、暗号化装置300は、第2否認可能暗号化鍵で第2平文データを暗号化し、第2暗号化データとする。
否認乱数生成装置400は、第1否認可能暗号化鍵と第1暗号文データとを入力とし、第1平文データの開示の否認のための第1否認乱数データを生成する。また、否認乱数生成装置400は、第2否認可能暗号化鍵と第2暗号文データとを入力とし、第2平文データの開示の否認のための第2否認乱数データを生成する。
準同型演算装置500は、第1準同型演算鍵と第2準同型演算鍵、および第1暗号化データと第2暗号化データを入力とし、第1平文データと第2平文データとの計算結果を準同型演算した準同型演算後暗号文データを生成する。
復号装置600は、第1否認可能復号鍵および第2否認可能復号鍵を用いて、準同型演算後暗号文データを復号する。
図10は、本実施の形態に係る秘匿情報処理システム100の各装置のハードウェア構成例を示す図である。
以下において、鍵生成装置200と暗号化装置300と否認乱数生成装置400と準同型演算装置500と復号装置600との各装置を、秘匿情報処理システム100の各装置と呼ぶ場合がある。
秘匿情報処理システム100の各装置の機能要素は、ソフトウェアにより実現される。また、秘匿情報処理システム100の各装置の記憶部は、メモリ921に備えられる。なお、記憶部は、補助記憶装置922に備えられていてもよいし、メモリ921と補助記憶装置922に分散して備えられていてもよい。
プロセッサ910は、演算処理を行うICである。プロセッサ910の具体例は、CPU、DSP、GPUである。ICは、Integrated Circuitの略語である。CPUは、Central Processing Unitの略語である。DSPは、Digital Signal Processorの略語である。GPUは、Graphics Processing Unitの略語である。
補助記憶装置922は、データを保管する記憶装置である。補助記憶装置922の具体例は、HDDである。また、補助記憶装置922は、SD(登録商標)メモリカード、CF、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬の記憶媒体であってもよい。なお、HDDは、Hard Disk Driveの略語である。SD(登録商標)は、Secure Digitalの略語である。CFは、CompactFlash(登録商標)の略語である。DVDは、Digital Versatile Diskの略語である。
秘匿情報処理プログラムは、コンピュータ読取可能な記録媒体に格納されて提供されてもよい。また、秘匿情報処理プログラムは、プログラムプロダクトとして提供されてもよい。
本実施の形態では、秘匿情報処理システム100の各装置の機能要素がソフトウェアで実現される。変形例として、秘匿情報処理システム100の各装置の機能要素がハードウェアで実現されてもよい。
具体的には、秘匿情報処理システム100の各装置は、プロセッサ910に替えて電子回路909を備える。
電子回路909は、秘匿情報処理システム100の各装置の機能要素を実現する専用の電子回路である。電子回路909は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、または、FPGAである。GAは、Gate Arrayの略語である。ASICは、Application Specific Integrated Circuitの略語である。FPGAは、Field-Programmable Gate Arrayの略語である。
本実施の形態に係る秘匿情報処理システムでは、例えば、以下のような効果を奏する。
通常、準同型暗号を用いたクラウドへの分析処理の委託を想定する場合、否認可能性は分析処理前の暗号文に対して成り立てば十分であり、分析処理後の暗号文は否認可能性を持つ準同型暗号の暗号文である必要はない。
本実施の形態に係る秘匿情報処理システムでは、否認可能性を持つ準同型暗号に複数鍵準同型暗号を組み合わせることで、否認可能性を担保したまま異なる鍵で暗号化されたデータ同士でも分析処理できる機能を付与する。
本実施の形態に係る秘匿情報処理システムでは、否認可能性を持つ準同型暗号と複数鍵準同型暗号を組み合わせるために、否認可能性を持つ準同型暗号の暗号文から複数鍵準同型暗号の暗号文に変換しつつ分析処理を行う特殊な分析処理回路を設計することで、否認可能性を保ったまま異なる鍵で暗号化されたデータ同士での分析処理を可能にする。
これにより、異なる鍵で暗号化されたデータ同士で分析処理できる準同型暗号を提供できる。また、暗号化データは暗号化データ生成者の鍵だけで暗号化すれば十分であり、効率性の改善にも寄与するという効果がある。
また、実施の形態1のうち、複数の部分を組み合わせて実施しても構わない。あるいは、この実施の形態のうち、1つの部分を実施しても構わない。その他、この実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
すなわち、実施の形態1では、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
Claims (7)
- 暗号化鍵と復号鍵と準同型演算鍵を生成する鍵生成装置と、
暗号化鍵で平文データを暗号化した暗号化データを生成する暗号化装置と、
暗号化鍵と暗号文データとを入力とし、平文データの開示の否認のための否認乱数データを生成する否認乱数生成装置と、
準同型演算鍵と暗号化データとを入力とし、平文データの計算結果を準同型演算した準同型演算後暗号文データを生成する準同型演算装置と、
準同型演算後暗号文データを復号する復号装置と
を備えた秘匿情報処理システム。 - 前記鍵生成装置は、
前記暗号化鍵として、否認可能暗号に用いる否認可能暗号化鍵と複数鍵準同型暗号に用いる複数鍵準同型暗号化鍵とを出力する請求項1に記載の秘匿情報処理システム。 - 前記鍵生成装置は、
前記復号鍵として、否認可能暗号に用いる否認可能復号鍵と複数鍵準同型暗号に用いる複数鍵準同型復号鍵を出力する請求項2に記載の秘匿情報処理システム。 - 前記鍵生成装置は、
前記準同型演算鍵として、前記否認可能復号鍵を複数鍵準同型暗号で暗号化した複数鍵準同型暗号文を出力する請求項3に記載の秘匿情報処理システム。 - 前記準同型演算装置は、
準同型演算時に、暗号化したまま否認可能準同型暗号の復号処理を計算することで、暗号化データを否認可能暗号文から複数鍵準同型暗号文に変換する請求項4に記載の秘匿情報処理システム。 - 鍵生成装置が、暗号化鍵と復号鍵と準同型演算鍵を生成し、
暗号化装置が、暗号化鍵で平文データを暗号化した暗号化データを生成し、
否認乱数生成装置が、暗号化鍵と暗号文データとを入力とし、平文データの開示の否認のための否認乱数データを生成し、
準同型演算装置が、準同型演算鍵と暗号化データとを入力とし、平文データの計算結果を準同型演算した準同型演算後暗号文データを生成し、
復号装置が、準同型演算後暗号文データを復号する秘匿情報処理システムに用いられる秘匿情報処理方法。 - 暗号化鍵と復号鍵と準同型演算鍵を生成する鍵生成処理と、
暗号化鍵で平文データを暗号化した暗号化データを生成する暗号化処理と、
暗号化鍵と暗号文データとを入力とし、平文データの開示の否認のための否認乱数データを生成する否認乱数生成処理と、
準同型演算鍵と暗号化データとを入力とし、平文データの計算結果を準同型演算した準同型演算後暗号文データを生成する準同型演算処理と、
準同型演算後暗号文データを復号する復号処理と
をコンピュータに実行させる秘匿情報処理プログラム。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2024566358A JP7614469B1 (ja) | 2023-03-27 | 2023-03-27 | 秘匿情報処理システム、秘匿情報処理方法、および秘匿情報処理プログラム |
| CN202380096062.4A CN120898238A (zh) | 2023-03-27 | 2023-03-27 | 隐匿信息处理系统、隐匿信息处理方法和隐匿信息处理程序 |
| DE112023005663.3T DE112023005663T5 (de) | 2023-03-27 | 2023-03-27 | Vertrauliche-informationen-verarbeitungseinrichtung, vertrauliche-informationen-verarbeitungsverfahren und vertrauliche-informationen-verarbeitungsprogramm |
| PCT/JP2023/012095 WO2024201635A1 (ja) | 2023-03-27 | 2023-03-27 | 秘匿情報処理システム、秘匿情報処理方法、および秘匿情報処理プログラム |
| US19/288,410 US20250365127A1 (en) | 2023-03-27 | 2025-08-01 | Confidential information processing system, confidential information processing method and computer readable medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2023/012095 WO2024201635A1 (ja) | 2023-03-27 | 2023-03-27 | 秘匿情報処理システム、秘匿情報処理方法、および秘匿情報処理プログラム |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US19/288,410 Continuation US20250365127A1 (en) | 2023-03-27 | 2025-08-01 | Confidential information processing system, confidential information processing method and computer readable medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024201635A1 true WO2024201635A1 (ja) | 2024-10-03 |
Family
ID=92904141
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2023/012095 Ceased WO2024201635A1 (ja) | 2023-03-27 | 2023-03-27 | 秘匿情報処理システム、秘匿情報処理方法、および秘匿情報処理プログラム |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20250365127A1 (ja) |
| JP (1) | JP7614469B1 (ja) |
| CN (1) | CN120898238A (ja) |
| DE (1) | DE112023005663T5 (ja) |
| WO (1) | WO2024201635A1 (ja) |
-
2023
- 2023-03-27 JP JP2024566358A patent/JP7614469B1/ja active Active
- 2023-03-27 DE DE112023005663.3T patent/DE112023005663T5/de active Pending
- 2023-03-27 CN CN202380096062.4A patent/CN120898238A/zh active Pending
- 2023-03-27 WO PCT/JP2023/012095 patent/WO2024201635A1/ja not_active Ceased
-
2025
- 2025-08-01 US US19/288,410 patent/US20250365127A1/en active Pending
Non-Patent Citations (4)
| Title |
|---|
| ADRIANA LÓPEZ-ALT, ERAN TROMER, VINOD VAIKUNTANATHAN: "On-the-fly multiparty computation on the cloud via multikey fully homomorphic encryption", PROCEEDINGS OF THE 44TH SYMPOSIUM ON THEORY OF COMPUTING, 1 January 2012 (2012-01-01) - 22 May 2012 (2012-05-22), New York, New York, USA , pages 1219 - 1234, XP055125512, ISBN: 9781450312455, DOI: 10.1145/2213977.2214086 * |
| LEE, SEONG-WHAN ; LI, STAN Z: "SAT 2015 18th International Conference", vol. 11060 Chap.18, 15 August 2018, SPRINGER , Berlin, Heidelberg , ISBN: 3540745491, article YASUDA SATOSHI; KOSEKI YOSHIHIRO; HIROMASA RYO; KAWAI YUTAKA: "Multi-key Homomorphic Proxy Re-Encryption", pages: 328 - 346, XP047484322, 032548, DOI: 10.1007/978-3-319-99136-8_18 * |
| SHWETA AGRAWAL ; SHAFI GOLDWASSER ; SALEET MOSSEL: "Deniable Fully Homomorphic Encryption from LWE", IACR, vol. 20211112:234815, 12 November 2021 (2021-11-12), pages 1 - 45, XP061069316 * |
| vol. 8, 21 July 2016, SPRINGER, article BRAKERSKI ZVIKA; PERLMAN RENEN: "Lattice-Based Fully Dynamic Multi-key FHE with Short Ciphertexts", pages: 1 - 23, XP047557285, DOI: 10.1007/978-3-662-53018-4_8 * |
Also Published As
| Publication number | Publication date |
|---|---|
| JP7614469B1 (ja) | 2025-01-15 |
| DE112023005663T5 (de) | 2025-11-27 |
| CN120898238A (zh) | 2025-11-04 |
| US20250365127A1 (en) | 2025-11-27 |
| JPWO2024201635A1 (ja) | 2024-10-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6732141B2 (ja) | 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム | |
| JP6058237B1 (ja) | 暗号文変換装置、暗号文変換プログラム及び暗号文変換方法 | |
| WO2019102624A1 (ja) | 準同型推論装置、準同型推論方法、準同型推論プログラム及び秘匿情報処理システム | |
| JP7325689B2 (ja) | 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム | |
| JP6556955B2 (ja) | 通信端末、サーバ装置、プログラム | |
| WO2018043049A1 (ja) | 暗号システム、暗号方法及び暗号プログラム | |
| JP7098091B2 (ja) | 秘匿情報処理システム、暗号化装置、暗号化方法及び暗号化プログラム | |
| JP7520255B2 (ja) | 秘匿情報処理システム、秘匿情報処理方法、及び秘匿情報処理プログラム | |
| JP7614469B1 (ja) | 秘匿情報処理システム、秘匿情報処理方法、および秘匿情報処理プログラム | |
| WO2022137447A1 (ja) | 秘匿情報処理システムおよび秘匿情報処理方法 | |
| JP6203387B2 (ja) | 暗号装置及び記憶システム及び復号装置及び暗号方法及び復号方法及び暗号プログラム及び復号プログラム | |
| JP2022053676A (ja) | 情報処理システム及び情報処理方法 | |
| JP6452910B1 (ja) | 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム | |
| JP6949276B2 (ja) | 再暗号化装置、再暗号化方法、再暗号化プログラム及び暗号システム | |
| JP7317261B2 (ja) | 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム | |
| Abdul Hussien | An Integrated Cryptographic Approach Using Elliptic Curve Cryptography, Triple Data Encryption Standard and Hash-based Message Authentication Code. | |
| JP7625168B1 (ja) | 準同型演算装置、準同型演算方法、準同型演算プログラム及び秘匿情報処理システム | |
| WO2021144842A1 (ja) | 秘匿情報処理システム、準同型演算装置、復号装置、秘匿情報処理方法、および、秘匿情報処理プログラム | |
| WO2025262959A1 (ja) | 再暗号化鍵生成装置、再暗号化装置、暗号文変換システム、再暗号化方法、及び再暗号化プログラム | |
| JP2025184230A (ja) | クライアント装置、サーバ装置、パラメータ秘匿化システム、パラメータ秘匿化方法、及びパラメータ秘匿化プログラム | |
| WO2025262960A1 (ja) | 暗号文変換システム、再暗号化検証方法、及び再暗号化検証プログラム | |
| CN110955883B (zh) | 一种用户密钥生成的方法、装置、设备及存储介质 | |
| Singh et al. | Security of Data with 3DES & Watermarking Algorithm | |
| WO2025210930A1 (ja) | 準同型演算装置、準同型演算方法、準同型演算プログラム及び秘匿情報処理システム | |
| WO2020075224A1 (ja) | 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 2024566358 Country of ref document: JP |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23930275 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202380096062.4 Country of ref document: CN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 112023005663 Country of ref document: DE |
|
| WWP | Wipo information: published in national office |
Ref document number: 202380096062.4 Country of ref document: CN |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 23930275 Country of ref document: EP Kind code of ref document: A1 |