WO2021156959A1 - 暗号システム、暗号化データ変換装置及び変換プログラム - Google Patents

暗号システム、暗号化データ変換装置及び変換プログラム Download PDF

Info

Publication number
WO2021156959A1
WO2021156959A1 PCT/JP2020/004262 JP2020004262W WO2021156959A1 WO 2021156959 A1 WO2021156959 A1 WO 2021156959A1 JP 2020004262 W JP2020004262 W JP 2020004262W WO 2021156959 A1 WO2021156959 A1 WO 2021156959A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
encryption
conversion
encrypted data
tag
Prior art date
Application number
PCT/JP2020/004262
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 CN202080093054.0A priority Critical patent/CN115004284A/zh
Priority to EP20918088.4A priority patent/EP4099309A4/en
Priority to JP2020537793A priority patent/JP6865899B1/ja
Priority to PCT/JP2020/004262 priority patent/WO2021156959A1/ja
Publication of WO2021156959A1 publication Critical patent/WO2021156959A1/ja
Priority to US17/835,417 priority patent/US20220303132A1/en

Links

Images

Classifications

    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Definitions

  • the present invention relates to a deduplication system that excludes one encrypted data when two encrypted data are duplicated.
  • a cryptosystem that can exclude duplicate encrypted data can determine whether the encrypted plaintext matches or does not match between the encrypted data without decrypting the encrypted data.
  • Patent Document 1 and Non-Patent Document 1 A cryptosystem that can exclude duplicate encrypted data can determine whether the encrypted plaintext matches or does not match between the encrypted data without decrypting the encrypted data.
  • Patent Document 1 and Non-Patent Document 1 The core idea of ordinary deduplicatable encryption such as Patent Document 1 and Non-Patent Document 1 is to convert plaintext into a fixed-length bit string by a hash function, use it as an encryption key, and encrypt with the encryption key. Implement the conversion. As a result, if the plaintext is the same, the encryption keys generated from the same plaintext will be the same key, and if a deterministic encryption such as AES (Advanced Encryption Standard) is used, the same plaintext will be the ciphertext of the same value. .. On the other hand, if the plaintext is different even by one bit, a completely different key is generated, and the value of the generated ciphertext is also different. Such a system allows the user to use a cipher that can exclude duplicate ciphertext without having a key.
  • AES Advanced Encryption Standard
  • the ciphertext does not have the de facto standard security of indistinguishability.
  • the key for each user does not exist and the ciphertext for each user cannot be distinguished, in combination with the above-mentioned indistinguishability, the ciphertext such as the conventional technology can be used by other users. There is a risk that the plaintext information of the ciphertext will be leaked.
  • An object of the present invention is to provide a cryptographic system capable of the following (1), (2) and (3).
  • An encryption key can be set for each user.
  • the ciphertext cannot be deduplicated.
  • the ciphertext satisfies the indistinguishability.
  • the ciphertext generated by the encryption key can be converted into a ciphertext that can be deduplicated.
  • the cryptosystem of the present invention An encryption unit that uses the first key and plaintext to generate the first encrypted data in which the plaintext is encrypted, and A third key generator that generates a third key using the first key and the second key, By applying the third key to the first encrypted data, the value of the first key used for the first encrypted data can be obtained from the first encrypted data in which the same plaintext is used.
  • An encrypted data conversion unit that converts to the second encrypted data that has the same value regardless of To be equipped.
  • the encryption system of the present invention can provide the following possible encryption systems (1), (2), and (3).
  • An encryption key can be set for each user.
  • the ciphertext cannot be deduplicated.
  • the ciphertext satisfies the indistinguishability.
  • the ciphertext generated by the encryption key is changed to a ciphertext that can be deduplicated.
  • FIG. 6 is a block diagram showing a configuration of an encryption device 400 in the figure of the first embodiment.
  • FIG. 6 is a block diagram showing a configuration of a conversion key generation device 500 in the figure of the first embodiment.
  • FIG. 6 is a block diagram showing a configuration of a tag conversion device 600 in the figure of the first embodiment.
  • FIG. 6 is a block diagram showing a configuration of a match determination device 700 in the figure of the first embodiment.
  • FIG. 5 is a flowchart showing the operation of the common parameter generation device 200 in the figure of the first embodiment.
  • the flowchart which shows the operation of the user key generation apparatus 300 in the figure of Embodiment 1.
  • FIG. FIG. 5 is a flowchart showing the operation of the encryption device 400 in the figure of the first embodiment.
  • FIG. 5 is a flowchart showing the operation of the conversion key generation device 500 in the figure of the first embodiment.
  • FIG. 5 is a flowchart showing the operation of the tag conversion device 600 in the figure of the first embodiment.
  • FIG. 5 is a flowchart showing the operation of the match determination device 700 in the figure of the first embodiment.
  • the figure which shows the operation of the deduplication system 100 the figure which shows the operation of the deduplication system 100.
  • FIG. 2 is a block diagram showing a configuration of a common parameter generation device 200 in the figure of the second embodiment.
  • FIG. 2 is a flowchart showing the operation of the user key generator 300 in the figure of the second embodiment.
  • FIG. 2 is a flowchart showing the operation of the encryption device 400 in the figure of the second embodiment.
  • FIG. 2 is a flowchart showing the operation of the conversion key generation device 500 in the figure of the second embodiment.
  • FIG. 2 is a flowchart showing the operation of the tag conversion device 600 in the figure of the second embodiment.
  • FIG. 5 is a flowchart showing the operation of the match determination device 700 in the figure of the second embodiment.
  • FIG. 2 is a diagram showing hardware resources of each device included in the deduplication system 100 in the figure of the second embodiment.
  • FIG. 2 is a diagram of the second embodiment, which supplements the hardware resources of each device included in the deduplication system 100.
  • the deduplication system 100 of the first embodiment will be described.
  • the deduplication system 100 is a cipher system that excludes ciphertexts having duplicate ciphertexts.
  • FIG. 1 shows the system configuration of the deduplication system 100.
  • the deduplication system 100 includes a common parameter generation device 200, a plurality of user key generation devices 300, a plurality of encryption devices 400, a conversion key generation device 500, a tag conversion device 600, and a match determination device 700.
  • the tag conversion device 600 converts the encryption tag ETag into the encryption tag T.
  • the encryption tag ETag is the first encrypted data
  • the encryption tag T is the second encrypted data.
  • the encryption device 400 corresponds to the encryption unit
  • the conversion key generation device 500 corresponds to the third key generation unit
  • the tag conversion device 600 corresponds to the encrypted data conversion unit
  • the match determination device 700 corresponds to the match determination unit. Equivalent to.
  • the common parameter generation device 200, the plurality of user key generation devices 300, the plurality of encryption devices 400, the conversion key generation device 500, the tag conversion device 600, and the match determination device 700 are computers.
  • the common parameter generation device 200, the plurality of user key generation devices 300, the plurality of encryption devices 400, the conversion key generation device 500, the tag conversion device 600, and the match determination device 700 are connected to the network 101.
  • the network 101 may be the Internet or a LAN (Local, Area, Network) installed in the company.
  • the network 101 is a communication that connects a common parameter generation device 200, a plurality of user key generation devices 300, a plurality of encryption devices 400, a conversion key generation device 500, a tag conversion device 600, and a match determination device 700.
  • the road is a communication that connects a common parameter generation device 200, a plurality of user key generation devices 300, a plurality of encryption devices 400, a conversion key generation device 500, a tag conversion device 600, and a match determination device 700.
  • the common parameter generation device 200 creates common parameters used in the deduplication system 100, and via the network 101, a plurality of user key generation devices 300, a plurality of encryption devices 400, a conversion key generation device 500, and a tag. Common parameters are transmitted to the conversion device 600. It should be noted that this common parameter may be directly transmitted to the persons concerned with the deduplication system 100 by means such as mailing without going through the network 101.
  • the user key generation device 300 generates a user key and transmits the user key to the encryption device 400 and the conversion key generation device 500.
  • the encryption device 400 generates an encryption tag ETag by inputting the plaintext M and the user key transmitted from the user key generation device 300, and transmits the ETtag to the tag conversion device 600.
  • the conversion key generation device 500 receives the user key from the user key generation device 300 and generates the conversion key ck from the user key.
  • the tag conversion device 600 receives the conversion key ck from the conversion key generation device 500, and receives the encryption tag ETag from the encryption device 400.
  • the tag conversion device 600 uses the conversion key ck to convert the encryption tag ETag, which is the first encrypted data, into the encryption tag T, which is the second encrypted data and can be deduplicated.
  • the tag conversion device 600 transmits the encryption tag T to the match determination device 700.
  • the match determination device 700 receives a plurality of encryption tags T from the tag conversion device 600, determines whether or not the encryption tags T match each other, and outputs
  • one computer can be used by any two of the user key generation device 300, the encryption device 400, the conversion key generation device 500, and the tag conversion device 600, any three devices, or four devices. It may be realized.
  • FIG. 2 is a block diagram showing the configuration of the common parameter generation device 200.
  • the common parameter generation device 200 includes an input unit 201, a common parameter generation unit 202, and a transmission unit 203.
  • the common parameter generation device 200 includes a recording medium for storing data used in each part of the common parameter generation device 200.
  • the bit length k of the key used in the deduplication system 100 is input to the input unit 201.
  • the common parameter generation unit 202 generates common parameters that are the basis of operations executed by the deduplication system 100.
  • the common parameter generation unit 202 may have a random number generation function in order to generate common parameters.
  • the transmission unit 203 transmits the common parameters generated by the common parameter generation unit 202 to the plurality of user key generation devices 300.
  • FIG. 3 is a block diagram showing the configuration of the user key generator 300.
  • the user key generation device 300 includes a parameter receiving unit 301, a key generating unit 302, and a key transmitting unit 303.
  • the user key generation device 300 includes a recording medium for storing data used in each part of the user key generation device 300.
  • the parameter receiving unit 301 receives the common parameters.
  • the key generation unit 302 generates an encryption key ek and a conversion key generation key tk. Although not shown, the key generation unit 302 may have a random number generation function in order to generate these keys.
  • the key transmission unit 303 transmits the encryption key ek to the encryption device 400, and transmits the encryption key ek and the conversion key generation key tk to the conversion key generation device 500.
  • FIG. 4 is a block diagram showing the configuration of the encryption device 400.
  • the encryption device 400 includes an input unit 401, a reception unit 402, a tag generation unit 403, and a tag transmission unit 404.
  • the encryption device 400 includes a recording medium for storing data used in each part of the encryption device 400.
  • Plaintext M is input to the input unit 401.
  • the receiving unit 402 receives the encryption key ek.
  • the tag generation unit 403 generates an encryption tag ETag.
  • the tag generation unit 403 may have a random number generation function in order to generate the encrypted ETag.
  • the tag transmission unit 404 transmits the encrypted tag ETag generated by the tag generation unit 403 to the tag conversion device 600.
  • FIG. 5 is a block diagram showing the configuration of the conversion key generator 500.
  • the conversion key generation device 500 includes a key reception unit 501, a conversion key generation unit 502, and a transmission unit 503. Although not shown, the conversion key generation device 500 includes a recording medium for storing data used in each part of the conversion key generation device 500.
  • the key receiving unit 501 receives the encryption key ek and the conversion key generation key tk.
  • the conversion key generation unit 502 generates a conversion key ck from the encryption key ek and the conversion key generation key tk.
  • the conversion key generation unit 502 may have a random number generation function in order to generate the conversion key ck.
  • the transmission unit 503 transmits the conversion key ck to the tag conversion device 600.
  • FIG. 6 is a block diagram showing the configuration of the tag conversion device 600.
  • the tag conversion device 600 is an encrypted data conversion device.
  • the tag conversion device 600 includes a reception unit 601, an input unit 602, a key storage unit 603, a conversion unit 604, and a transmission unit 605.
  • the tag conversion device 600 includes a recording medium for storing data used in each part of the tag conversion device 600.
  • the receiving unit 601 receives the conversion key ck.
  • the input unit 602 receives the encryption tag Etag.
  • the key storage unit 603 stores the conversion key ck.
  • the conversion unit 604 uses the conversion key ck stored in the key storage unit 603 to convert the encryption ETag input by the input unit 602 into an encryption tag T that can be deduplicated.
  • the conversion unit 604 may include a random number generation function in order to convert the encryption tag ETag into the encryption tag T.
  • the transmission unit 605 transmits the encryption tag T, which is the encryption data that can be deduplicated, to the match determination device 700.
  • FIG. 7 is a block diagram showing the configuration of the match determination device 700.
  • the match determination device 700 includes a tag input unit 701, a determination unit 702, and a transmission unit 703. Although not shown, the match determination device 700 includes a recording medium for storing data used in each part of the match determination device 700.
  • An encrypted encryption tag T1 that can be deduplicated and an encrypted encryption tag T2 that can be deduplicated are input to the tag input unit 701.
  • the determination unit 702 determines whether or not the values of the encryption tag T1 and the encryption tag T2 match.
  • the transmission unit 703 outputs a determination result of whether or not they match.
  • FIG. 8 is a flowchart showing the operation of the common parameter generation device 200.
  • FIG. 9 is a flowchart showing the operation of the user key generation device 300.
  • FIG. 10 is a flowchart showing the operation of the encryption device 400.
  • the encryption device 400 uses the encryption key ek and the plaintext M to generate an encryption tag ETag in which the plaintext M is encrypted.
  • FIG. 11 is a flowchart showing the operation of the conversion key generator 500.
  • the conversion key generation device 500 uses the encryption key ek and the conversion key generation key tk to generate the conversion key ck.
  • FIG. 12 is a flowchart showing the operation of the tag conversion device 600.
  • FIG. 13 is a flowchart showing the operation of the match determination device 700.
  • the match determination device 700 determines whether or not the values of the two second encrypted data T match.
  • FIG. 14 is a diagram showing the flowcharts of FIGS. 8 to 12 as a sequence. The operation of each device of the deduplication system 100 will be described with reference to FIGS. 14 and 13.
  • the outline of the operation of the deduplication system 100 shown in FIG. 14 is as follows.
  • the encryption device 400 calculates the exclusive OR of the encryption key ek and the plaintext M as the encryption tag ETag.
  • the conversion key generation device 500 calculates the exclusive OR of the encryption key ek and the conversion key generation key tk, and generates the calculation result as the conversion key ck.
  • the tag conversion device 600 converts the encryption tag ETag into the encryption tag T which is the second encryption data by applying the conversion key ck to the encryption tag ETag which is the first encryption data.
  • step S201 the bit length k is input to the input unit 201.
  • step S202 the common parameter generation unit 202 generates a random value sk of k bits as a common parameter.
  • step S203 the transmission unit 203 transmits the bit length k and the common parameter sk to the user key generation device 300.
  • step S301 the parameter receiving unit 301 receives the bit length k and the common parameter sk from the common parameter generation device 200.
  • step S302 the key generation unit 302 generates a random value skA of k bits as an encryption key ek. Further, the key generation unit 302 sets the conversion key generation key tk as the encryption key sk.
  • step S303 the key transmission unit 303 transmits the encryption key ek to the encryption device 400, and transmits the encryption key ek and the conversion key generation key tk to the conversion key generation device 500.
  • step S401 plaintext M is input to the input unit 401.
  • step S402 receives the encryption key ek from the user key generation device 300.
  • Hash refers to a cryptographic hash function, for example SHA256.
  • ⁇ XOR> represents the exclusive OR.
  • step S404 the tag transmission unit 404 transmits the encrypted ETag to the tag conversion device 600.
  • step S501 the key receiving unit 501 receives the encryption key ek and the conversion key generation key tk from the user key generation device 300.
  • step S503 the transmission unit 503 transmits the conversion key ck to the tag conversion device 600.
  • step S601 the receiving unit 601 which is the third key acquisition unit acquires the conversion key ck which is the third key generated by using the encryption key ek and the conversion key generation key tk which is the second key.
  • step S602 the input unit 602, which is the acquisition unit, acquires the encryption tag ETag, which is the first encrypted data in which the plaintext M is encrypted by using the encryption key ek, which is the first key, and the plaintext M. ..
  • step S603 the conversion unit 604 second-encrypts the encryption tag ETag in which the same plaintext M is used to have the same value regardless of the value of the encryption key ek used in the encryption tag ETag. It is converted into the encryption tag T which is data.
  • the encryption tag ETag in which the same plaintext M is used has the same value regardless of the value of the encryption key ek used in the encryption tag ETag. It is converted to the encryption tag T.
  • T ck ⁇ XOR>
  • the transmission unit 605 which is a transmission control unit, transmits the encryption tag T to the match determination device 700 that determines whether or not the values of the two encryption tags T match.
  • step S701 two encryption tags T1 and an encryption tag T2 are input to the tag input unit 701.
  • step S702 the determination unit 702 verifies whether or not the bit strings of the encryption tag T1 and the encryption tag T2 are equal.
  • the result transmission unit 703 outputs 1 in step S703, and the bit strings of the encryption tag T1 and the encryption tag T2 are changed. If it is determined that they are different, 0 is output in step S704.
  • the encryption tag ETag generated by using the encryption key ek different for each individual can be converted into the encryption tag T by using the conversion key ck.
  • the encryption tag ETag cannot be deduplicated, it has the de facto standard security of cryptography.
  • the encryption tag T converted from the encryption tag ETag can be deduplicated.
  • Embodiment 2 The deduplication system 100 of the second embodiment will be described with reference to FIGS. 15 to 23.
  • the encryption tag ETa is generated by the exclusive OR of the hash value of the plaintext M and the encryption key ek.
  • the encryption tag ETa is generated by using a pairing operation.
  • the configuration of the deduplication system 100 is the same as that of FIG. 1 of the first embodiment. Further, the configurations of the common parameter generation device 200, the user key generation device 300, the encryption device 400, the conversion key generation device 500, the tag conversion device 600, and the match determination device 700 are the same as those of FIGS. 2 to 7 of the first embodiment. Is.
  • FIG. 15 is a flowchart showing the operation of the common parameter generation device 200.
  • FIG. 16 is a flowchart showing the operation of the user key generation device 300.
  • FIG. 17 is a flowchart showing the operation of the encryption device 400.
  • FIG. 18 is a flowchart showing the operation of the conversion key generation device 500.
  • FIG. 19 is a flowchart showing the operation of the tag conversion device 600.
  • FIG. 20 is a flowchart showing the operation of the match determination device 700.
  • FIG. 21 is a diagram showing the flowcharts of FIGS. 15 to 21 as a sequence. The operation of each device of the deduplication system 100 will be described with reference to FIGS. 21 and 20.
  • step S801 the bit length k is input to the input unit 201.
  • step S802 the common parameter generation unit 202 is an element capable of pairing calculation based on the bit length k.
  • BG (p, G, G T, e) ( Equation 4)
  • p is representative of the order of the group G and the group G T.
  • e is a bilinear mapping with the mapping of G ⁇ G ⁇ G T.
  • a bilinear map is for all g ⁇ G and a, b ⁇ Z p .
  • e (g a, g b) e (g, g) ab ⁇ G T ( Equation 5) It is a map that becomes.
  • step S803 the transmission unit 203 transmits the bit lengths k and g and the element BG to the user key generation device 300.
  • step S901 the parameter receiving unit 301 receives the bit lengths k, g, and BG from the common parameter generating device 200.
  • the encryption key ek which is the first key, includes a first element, a second element, and a third element.
  • step S903 the key transmission unit 303 transmits the encryption key ek to the encryption device 400, and transmits the encryption key ek and the conversion key generation key tk to the conversion key generation device 500.
  • step S1001 plaintext M is input to the input unit 401.
  • step S1002 receives the encryption key ek from the user key generation device 300.
  • Hash refers to a cryptographic hash function, for example SHA256.
  • step S1004 transmits the encrypted ETag to the tag conversion device 600.
  • the encryption device 400 which is an encryption unit, is the first encrypted data.
  • the ETag the first element g and the second element y are used to encrypt the plaintext M, and the plaintext M generates encrypted data.
  • step S1101 the key receiving unit 501 receives the key receiving unit 501 from the user key generating device 300.
  • step S1103 Conversion key ck (ck', ek) Is transmitted to the tag conversion device 600.
  • the conversion key generation device 500 which is the third key generation unit, applies the conversion key generation key tk, which is the second key, to the third element Y, and applies the conversion key generation key tk.
  • step S1203 the conversion unit 604 second-encrypts the encryption tag ETag in which the same plaintext M is used to have the same value regardless of the value of the encryption key ek used in the encryption tag ETag. It is converted into the encryption tag T which is data. Specifically, it is as follows.
  • the same values are set for g selected in step S802 and Y selected in step S902 for different users. Therefore, according to the following (Equation 11), the encryption tag ETag in which the same plaintext M is used has the same value regardless of the value of the encryption key ek used in the encryption tag ETag. It is converted to the encryption tag T.
  • e represents a pairing operation.
  • the transmission unit 605 transmits the encryption tag T converted from the encryption tag ETag to the match determination device 700.
  • step S1301 two encryption tags T1 and an encryption tag T2 are input to the tag input unit 701.
  • step S1302 the determination unit 702 verifies whether or not the bit strings of the encryption tag T1 and the encryption tag T2 are equal. If the determination unit 702 determines in step S1303 that the bit strings of the encryption tag T1 and the encryption tag T2 are equal, the result transmission unit 703 outputs 1 in step S1303, and the encryption tag T1 and the encryption tag T2 are output. If it is determined that the bit strings of and are different, 0 is output in step S1304.
  • the public key cryptosystem can be a cryptosystem having high security without losing the convenience of deduplication.
  • FIG. 22 shows the common parameter generation device 200, the plurality of user key generation devices 300, the encryption device 400, the conversion key generation device 500, the tag conversion device 600, and the match determination device 700 of the first and second embodiments. It is a figure which shows the hardware configuration.
  • the common parameter generation device 200, the plurality of user key generation devices 300, the encryption device 400, the conversion key generation device 500, the tag conversion device 600, and the match determination device 700 are computers.
  • FIG. 22 is a hardware configuration of the common parameter generation device 200 to the match determination device 700, which are computers. Since the hardware configurations of the common parameter generation device 200 to the match determination device 700 are the same, the encryption device 400 will be described as a representative.
  • the encryption device 400 includes a CPU 1101 (Central Processing Unit).
  • the CPU 1101 is connected to hardware devices such as a ROM 1003, a RAM 1104, a communication board 1105, a display 1111, a keyboard 1112, a mouse 1113, a drive 1114, and a magnetic disk device 1120 via a bus 1002, and controls these hardware devices.
  • the drive 1114 is a device for reading and writing a storage medium such as an FD (Flexible Disk Drive), a CD (Compact Disk), or a DVD (Digital Versaille Disk).
  • the ROM 1103, RAM 1104, magnetic disk device 1120, and drive 1114 are examples of storage devices.
  • the keyboard 1112, mouse 1113, and communication board 1105 are examples of input devices.
  • the display 1111 and the communication board 105 are examples of output devices.
  • the communication board 1105 is connected to a communication network such as a LAN, the Internet, or a telephone line by wire or wirelessly.
  • the operating system 1121, the program group 1122, and the file group 1123 are stored in the magnetic disk device 1120.
  • the operating system 1121 is described as OS 1121.
  • the program group 1122 includes a program that executes the functions described as "... parts" in the first and second embodiments.
  • the program is read and executed by the CPU 1101. That is, the program causes the computer to function as a "-part” and causes the computer to execute the procedure or method of the "-part".
  • the file group 1123 includes various data such as input data, output data, determination result, calculation result, and processing result used in the "-part" described in the first and second embodiments.
  • the arrows included in the configuration diagram and the flowchart in the first and second embodiments mainly indicate the input / output of data and signals.
  • the processes of the first and second embodiments described based on the flowchart and the like are executed by using hardware such as a CPU 1101, a storage device, an input device, and an output device.
  • a CPU 1101 a storage device
  • an input device and an output device.
  • what is described as “-part” may be "-circuit", “-device”, “-equipment”, or “-step”, "-procedure", "-process”. May be. That is, what is described as "-part” may be implemented by firmware, software, hardware, or a combination thereof.
  • FIG. 22 shows a configuration in which the function of the encryption device 400 is realized by hardware.
  • the electronic circuit 910 of FIG. 23 is a dedicated electronic circuit that realizes the functions of the input unit 401, the reception unit 402, the tag generation unit 403, and the tag transmission unit 404 of the encryption device 400.
  • the electronic circuit 910 is connected to the signal line 911.
  • the electronic circuit 910 is specifically 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 Special Integrated Circuit.
  • FPGA is an abbreviation for Field-Programmable Gate Array.
  • the functions of the components of the encryption device 400 may be realized by one electronic circuit, or may be distributed and realized by a plurality of electronic circuits. Further, some functions of the components of the encryption device 400 may be realized by an electronic circuit, and the remaining functions may be realized by software.
  • Each of the CPU 1101 and the electronic circuit 910 is also called a processing circuit.
  • the functions of the input unit 401, the reception unit 402, the tag generation unit 403, and the tag transmission unit 404 may be realized by the processing circuit.
  • the function of the "-part" shown in FIG. 2 or 7 may be realized by the processing circuit.
  • ck conversion key ETag encryption tag, ET encryption tag, ek encryption key, M plain text, tk conversion key generation key, 100 deduplication system, 101 network, 200 common parameter generator, 201 input unit, 202 common parameter generator , 203 transmitter, 300 user key generator, 301 parameter receiver, 302 key generator, 303 key transmitter, 400 encryption device, 401 input unit, 402 receiver, 403 tag generator, 404 tag transmitter, 500 Conversion key generator, 501 key receiver, 502 conversion key generator, 503 transmitter, 600 tag converter, 601 receiver, 602 input unit, 603 key storage unit, 604 conversion unit, 605 transmitter, 700 match judgment device , 701 tag input unit, 702 judgment unit, 703 transmitter unit, 910 electronic circuit, 911 signal line.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

重複除外システム(100)は、暗号化装置(400)、変換鍵生成装置(500)、タグ変換装置(600)及び一致判定装置(700)を備えている。暗号化装置(400)は、暗号鍵(ek)と平文(M)とを使用して暗号化(ETag)を生成する。変換鍵生成装置(500)は、暗号鍵(ek)と変換鍵生成鍵(tk)とを使用して、変換鍵(ck)を生成する。タグ変換装置(600)は、変換鍵(ck)を暗号化タグ(ETag)に適用することで、同一の平文(M)が使用されている暗号化タグ(ETag)を、暗号化タグ(ETag)に使用されている暗号鍵(ek)の値によらず同一の値となる暗号化タグ(T)に変換する。一致判定装置(700)は、2つの暗号化タグ(T)どうしの値が一致するかどうかを判定する。

Description

暗号システム、暗号化データ変換装置及び変換プログラム
 本発明は、2つの暗号化データが重複する際に、一方の暗号化データを除外する、重複除外システムに関する。
 重複する暗号化データを除外することができる暗号システムは、暗号化データを復号することなく、暗号化されている平文が、暗号化データどうしで、一致しているか、いないかを判定可能である(例えば、特許文献1及び非特許文献1)。
 特許文献1、非特許文献1のような、通常の重複除外可能な暗号の核となるアイディアは、平文をハッシュ関数により固定長のビット列へ変換し、それを暗号鍵とし、その暗号鍵で暗号化を実施する。これにより、もし同じ平文であれば、同じ平文から生成された暗号鍵どうしは同じ鍵となり、AES(Advanced Encryption Standard)のような確定的暗号を用いれば、同じ平文は同じ値の暗号文となる。
 一方で、平文が1ビットでも異なるのならば全く異なる鍵が生成され、生成される暗号文の値も異なる。このようなシステムによって、ユーザは鍵を持つことなく、暗号文の重複を除外可能な暗号を利用できる。
 このような重複除外可能な暗号では、暗号文は識別不可能性という、暗号におけるデファクトスタンダードの安全性を持たないことが知られている。
 また、ユーザごとの鍵が存在せず、ユーザごとの暗号文の区別がつかないため、前述の識別不可能性を持たないことと組み合わせて、従来技術のような暗号では、ほかのユーザから自身の暗号文の平文情報が、漏洩する危険性がある。
特表2014-507841号公報
Mihir Bellare, Sriram Keelveedhi, Thomas Ristenpart:"Message-Locked Encryption and Secure Deduplication". EUROCRYPT 2013: 296-312
 この発明は、以下の(1)(2)(3)の可能な暗号システムの提供を目的とする。
(1)ユーザごとに暗号鍵が設定できる。
(2)ユーザが暗号鍵で暗号文を生成した時点では暗号文は重複除外不可能である。しかし、暗号文は識別不可能性を満たす。
(3)ユーザが許可した場合のみ、暗号鍵で生成された暗号文を、重複除外可能な暗号文に変換できる。
 この発明の暗号システムは、
 第1鍵と平文とを使用して、前記平文が暗号化された第1暗号化データを生成する暗号化部と、
 前記第1鍵と第2鍵とを使用して、第3鍵を生成する第3鍵生成部と、
 前記第3鍵を前記第1暗号化データに適用することで、同一の平文が使用されている前記第1暗号化データを、前記第1暗号化データに使用されている前記第1鍵の値によらず同一の値となる第2暗号化データに変換する暗号化データ変換部と、
を備える。
 この発明の暗号システムにより、以下の(1)(2)(3)の可能な暗号システムを提供できる。
(1)ユーザごとに暗号鍵が設定できる。
(2)ユーザが暗号鍵で暗号文を生成した時点では暗号文は重複除外不可能である。しかし、暗号文は識別不可能性を満たす。
(3)ユーザが許可した場合のみ、暗号鍵で生成された暗号文を、重複除外可能な暗号文に変
実施の形態1の図で、重複除外システム100の構成を示すブロック図。 実施の形態1の図で、共通パラメータ生成装置200の構成を示すブロック図。 実施の形態1の図で、ユーザ鍵生成装置300の構成を示すブロック図。 実施の形態1の図で、暗号化装置400の構成を示すブロック図。 実施の形態1の図で、変換鍵生成装置500の構成を示すブロック図。 実施の形態1の図で、タグ変換装置600の構成を示すブロック図。 実施の形態1の図で、一致判定装置700の構成を示すブロック図。 実施の形態1の図で、共通パラメータ生成装置200の動作を示すフローチャート。 実施の形態1の図で、ユーザ鍵生成装置300の動作を示すフローチャート。 実施の形態1の図で、暗号化装置400の動作を示すフローチャート。 実施の形態1の図で、変換鍵生成装置500の動作を示すフローチャート。 実施の形態1の図で、タグ変換装置600の動作を示すフローチャート。 実施の形態1の図で、一致判定装置700の動作を示すフローチャート。 実施の形態1の図で、重複除外システム100の動作を示す図。 実施の形態2の図で、共通パラメータ生成装置200の構成を示すブロック図。 実施の形態2の図で、ユーザ鍵生成装置300の動作を示すフローチャート。 実施の形態2の図で、暗号化装置400の動作を示すフローチャート。 実施の形態2の図で、変換鍵生成装置500の動作を示すフローチャート。 実施の形態2の図で、タグ変換装置600の動作を示すフローチャート。 実施の形態2の図で、一致判定装置700の動作を示すフローチャート。 実施の形態2の図で、重複除外システム100の動作を示す図。 実施の形態2の図で、重複除外システム100の備える各装置のハードウェア資源を示す図。 実施の形態2の図で、重複除外システム100の備える各装置のハードウェア資源を補足する図。
 以下、実施の形態について、図を用いて説明する。なお、各図中、同一又は相当する部分には、同一符号を付している。実施の形態の説明において、同一又は相当する部分については、その説明を適宜省略又は簡略化する。
 実施の形態1.
 実施の形態1の重複除外システム100を説明する。重複除外システム100は、暗号文が重複する暗号文を除外する暗号システムである。
 図1は、重複除外システム100のシステム構成を示す。
図1に示すように、重複除外システム100は、共通パラメータ生成装置200、複数のユーザ鍵生成装置300、複数の暗号化装置400、変換鍵生成装置500、タグ変換装置600及び一致判定装置700を備える。タグ変換装置600は、暗号化タグETagを暗号化タグTに変換する。暗号化タグETagは第1暗号化データであり暗号化タグTは第2暗号化データである。暗号化装置400は暗号化部に相当し、変換鍵生成装置500は第3鍵生成部に相当し、タグ変換装置600は暗号化データ変換部に相当し、一致判定装置700は一致判定部に相当する。
 共通パラメータ生成装置200、複数のユーザ鍵生成装置300、複数の暗号化装置400、変換鍵生成装置500、タグ変換装置600及び一致判定装置700は、コンピュータである。
 重複除外システム100では、共通パラメータ生成装置200、複数のユーザ鍵生成装置300、複数の暗号化装置400、変換鍵生成装置500、タグ変換装置600及び一致判定装置700は、ネットワーク101に接続している。ネットワーク101はインターネットでも良いし、企業内に敷設されたLAN(Local・Area・Network)でも良い。
 ネットワーク101は、共通パラメータ生成装置200と、複数のユーザ鍵生成装置300と、複数の暗号化装置400と、変換鍵生成装置500と、タグ変換装置600と、一致判定装置700とを接続する通信路である。
 共通パラメータ生成装置200は、重複除外システム100で用いる共通のパラメータを作成し、ネットワーク101を介して、複数のユーザ鍵生成装置300と、複数の暗号化装置400と、変換鍵生成装置500とタグ変換装置600へ、共通パラメータを送信する。なお、この共通パラメータは、ネットワーク101を介さず、郵送のような手段で、直接的に重複除外システム100の関係者に送信してもよい。
 ユーザ鍵生成装置300は、ユーザ鍵を生成し、ユーザ鍵を暗号化装置400及び変換鍵生成装置500に送信する。暗号化装置400は、平文Mと、ユーザ鍵生成装置300から送信されたユーザ鍵を入力として暗号化タグETagを生成し、ETtagをタグ変換装置600へ送信する。変換鍵生成装置500は、ユーザ鍵生成装置300からユーザ鍵を受信し、ユーザ鍵から変換鍵ckを生成する。タグ変換装置600は、変換鍵生成装置500から変換鍵ckを受信し、暗号化装置400から暗号化タグETagを受信する。タグ変換装置600は、変換鍵ckを用いて、第1暗号化データである暗号化タグETagを、第2暗号化データである、重複除外可能な暗号化タグTに変換する。タグ変換装置600は、暗号化タグTを一致判定装置700へ送信する。一致判定装置700は、タグ変換装置600から、複数の暗号化タグTを受信し、暗号化タグTどうしが一致するかどうかを判定し、判定結果を出力する。
 なお、一台のコンピュータによって、ユーザ鍵生成装置300、暗号化装置400、変換鍵生成装置500、タグ変換装置600のいずれか二台の装置、いずれか三台の装置、あるいは四台の装置が実現されても良い。
 図2は、共通パラメータ生成装置200の構成を示すブロック図である。共通パラメータ生成装置200は、入力部201、共通パラメータ生成部202及び送信部203を備えている。図示していないが、共通パラメータ生成装置200は、共通パラメータ生成装置200の各部で使用されるデータを記憶する記録媒体を備えている。入力部201には、重複除外システム100で用いる鍵のビット長kが入力される。共通パラメータ生成部202は、重複除外システム100で実行される演算の基本となる共通パラメータを生成する。図示していないが、共通パラメータを生成するために、共通パラメータ生成部202は乱数生成機能を備えてもよい。送信部203は、共通パラメータ生成部202で生成された共通パラメータを、複数のユーザ鍵生成装置300へ送信する。
 図3は、ユーザ鍵生成装置300の構成を示すブロック図である。ユーザ鍵生成装置300は、パラメータ受信部301、鍵生成部302及び鍵送信部303を備えている。図示していないが、ユーザ鍵生成装置300は、ユーザ鍵生成装置300の各部で使用されるデータを記憶する記録媒体を備えている。パラメータ受信部301は、共通パラメータを受信する。鍵生成部302は、暗号鍵ek及び変換鍵生成鍵tkを生成する。図示していないが、これらの鍵を生成するために、鍵生成部302は乱数生成機能を備えてもよい。鍵送信部303は、暗号鍵ekを暗号化装置400へ送信し、暗号鍵ek及び変換鍵生成鍵tkを変換鍵生成装置500へ送信する。
 図4は、暗号化装置400の構成を示すブロック図である。図4に示すように、暗号化装置400は、入力部401と、受信部402と、タグ生成部403と、タグ送信部404とを備える。図示していないが、暗号化装置400は、暗号化装置400の各部で使用されるデータを記憶する記録媒体を備えている。入力部401には、平文Mが入力される。受信部402は、暗号鍵ekを受信する。タグ生成部403は暗号化タグETagを生成する。図示していないが、暗号ETagを生成するために、タグ生成部403は乱数生成機能を備えてもよい。タグ送信部404は、タグ生成部403で生成され暗号化タグETagを、タグ変換装置600へ送信する。
 図5は、変換鍵生成装置500の構成を示すブロック図である。変換鍵生成装置500は、鍵受信部501と、変換鍵生成部502と、送信部503を備えている。図示していないが、変換鍵生成装置500は、変換鍵生成装置500の各部で使用されるデータを記憶する記録媒体を備えている。鍵受信部501は、暗号鍵ek及び変換鍵生成鍵tkを受信する。変換鍵生成部502は、暗号鍵ekと変換鍵生成鍵tkとから変換鍵ckを生成する。図示していないが、変換鍵ckを生成するために、変換鍵生成部502は乱数生成機能を備えてもよい。送信部503は、変換鍵ckをタグ変換装置600へ送信する。
 図6は、タグ変換装置600の構成を示すブロック図である。タグ変換装置600は、暗号化データ変換装置である。
 タグ変換装置600は、受信部601、入力部602、鍵保管部603、変換部604及び送信部605を備えている。図示していないが、タグ変換装置600は、タグ変換装置600の各部で使用されるデータを記憶する記録媒体を備えている。
受信部601は、変換鍵ckを受信する。入力部602は暗号化タグEtagを受信する。鍵保管部603は、変換鍵ckを保管している。変換部604は、鍵保管部603に保管されている変換鍵ckを用いて、入力部602で入力された暗号ETagを、重複除外可能な暗号化タグTに変換する。図示していないが、暗号化タグETagを暗号化タグTに変換するために、変換部604は乱数生成機能を備えてもよい。送信部605は、重複除外可能な暗号データである暗号化タグTを一致判定装置700へ送信する。
 図7は、一致判定装置700の構成を示すブロック図である。一致判定装置700は、タグ入力部701、判定部702及び送信部703を備えている。図示していないが、一致判定装置700は、一致判定装置700の各部で使用されるデータを記憶する記録媒体を備えている。タグ入力部701には、重複除外可能な暗号化された暗号化タグT1と、重複除外可能な暗号化された暗号化タグT2とが入力される。判定部702は、暗号化タグT1と暗号化タグT2との値が一致するかどうかを判定する。送信部703は、一致するかどうかの判定結果を出力する。
 以下では、重複除外システム100の各装置の動作を説明する。
図8は、共通パラメータ生成装置200の動作を示すフローチャートである。
図9は、ユーザ鍵生成装置300の動作を示すフローチャートである。
図10は、暗号化装置400の動作を示すフローチャートである。暗号化装置400は、暗号鍵ekと平文Mとを使用して、平文Mが暗号化された暗号化タグETagを生成する。
図11は、変換鍵生成装置500動作を示すフローチャートである。変換鍵生成装置500は、暗号鍵ekと変換鍵生成鍵tkとを使用して、変換鍵ckを生成する。
図12は、タグ変換装置600の動作を示すフローチャートである。タグ変換装置600は、変換鍵ckを暗号化タグETagに適用することで、同一の平文Mが使用されている暗号化タグETagを、暗号化タグETagに使用されている暗号鍵ekの値によらず同一の値となる暗号化タグTに変換する。
図13は、一致判定装置700の動作を示すフローチャートである。一致判定装置700は、2つの第2暗号化データTどうしの値が一致するかどうかを判定する。
図14は、図8から図12のフローチャートをシーケンスとして示す図である。
図14と図13を参照して重複除外システム100の各装置の動作を説明する。
 図14に示す重複除外システム100の動作概要は以下のようである。暗号化装置400は、暗号化タグETagとして、暗号鍵ekと平文Mとの排他的論理和を計算する。変換鍵生成装置500は、暗号鍵ekと変換鍵生成鍵tkとの排他的論理和を計算し、計算結果を変換鍵ckとして生成する。タグ変換装置600は、変換鍵ckを第1暗号化データである暗号化タグETagに適用することで、暗号化タグETagを、第2暗号化データである暗号化タグTに変換する。
<共通パラメータ生成装置200>
 ステップS201において、入力部201にはビット長kが入力される。
 ステップS202において、共通パラメータ生成部202は、kビットのランダムな値skを、共通パラメータとして生成する。
 ステップS203において、送信部203は、ビット長kと共通パラメータskをユーザ鍵生成装置300へと送信する。
<ユーザ鍵生成装置300>
 ステップS301において、パラメータ受信部301は、共通パラメータ生成装置200から、ビット長kと共通パラメータskを受信する。
 ステップS302において、鍵生成部302は、kビットのランダムな値skAを暗号鍵ekとして生成する。また、鍵生成部302は、変換鍵生成鍵tkを暗号鍵skとして設定する。
 ステップS303において、鍵送信部303は、暗号鍵ekを暗号化装置400へ送信し、暗号鍵ek及び変換鍵生成鍵tkを変換鍵生成装置500へと送信する。
<暗号化装置400>
 ステップS401において、入力部401には、平文Mが入力される。
 ステップS402において、受信部402は、ユーザ鍵生成装置300から、暗号鍵ekを受信する。
 ステップS403において、タグ生成部403は、
ETag=Hash(M)<XOR>skA   (式1)
を計算する。ここでHashは暗号学的ハッシュ関数を指し、例えばSHA256である。<XOR>は排他的論理和を表す。
 ステップS404において、タグ送信部404は、暗号ETagをタグ変換装置600へ送信する。
<変換鍵生成装置500>
 ステップS501において、鍵受信部501は、ユーザ鍵生成装置300から、暗号鍵ek及び変換鍵生成鍵tkを受信する。
 ステップS502において、変換鍵生成部502は、
ck=ek<XOR>tk=skA<XOR>sk   (式2)
を計算する。
 ステップS503において、送信部503は、変換鍵ckを、タグ変換装置600へ送信する。
<タグ変換装置600>
 ステップS601において、第3鍵取得部である受信部601は、暗号鍵ekと第2鍵である変換鍵生成鍵tkとを使用して生成された第3鍵である変換鍵ckを取得する。
 ステップS602において、取得部である入力部602は、第1鍵である暗号鍵ekと平文Mとを使用して平文Mが暗号化された第1暗号化データである暗号化タグETagを取得する。
 ステップS603において、変換部604は、同一の平文Mが使用されている暗号化タグETagを、暗号化タグETagに使用されている暗号鍵ekの値によらず同一の値となる第2暗号化データである暗号化タグTに変換する。具体的には、以下のようである。
 実施の形態1の重複除外システム100では、ステップS902で設定される変換鍵生成鍵tk=Skは、異なるユーザに同じ鍵が設定される。よって、以下の(式3)によれば、同一の平文Mが使用されている暗号化タグETagは、暗号化タグETagに使用されている暗号鍵ekの値によらず同一の値となる暗号化タグTに変換される。
T=ck<XOR>ETag
={ek<XOR>tk}<XOR>{Hash(M)<XOR>ek}
=tk<XOR>Hash(M)   (式3)
を計算する。
 ステップS604において、送信制御部である送信部605は、2つの暗号化タグTどうしの値が一致するかどうかを判定する一致判定装置700に、暗号化タグTを送信する。
 ステップS701において、タグ入力部701には、2つの暗号化タグT1、暗号化タグT2が入力される。
 ステップS702において、判定部702は、暗号化タグT1と暗号化タグT2とのビット列が等しいかどうかを検証する。判定部702によって暗号化タグT1と暗号化タグT2とのビット列が等しいと判定された場合、ステップS703において結果送信部703は1を出力し、暗号化タグT1と暗号化タグT2とのビット列が異なると判定された場合はステップS704において0を出力する。
***実施の形態1の効果***
 実施の形態1では、個人ごとに異なる暗号鍵ekを用いて生成された暗号化タグETagは、変換鍵ckを用いることによって、暗号化タグTに変換可能である。
 暗号化タグETagは重複除外不可能であるけれども、暗号のデファクトスタンダードな安全性を持つ。また、暗号化タグETagから変換された暗号化タグTは、重複除外が可能である。これにより、実施の形態1によれば、重複除外の利便性を失うことなく高い安全性を持つ暗号システムを提供することができる。
実施の形態2.
 図15から図23を参照して実施の形態2の重複除外システム100を説明する。実施の形態1ではステップS403において、暗号化タグETaは平文Mのハッシュ値と、暗号鍵ekとの排他的論理和で生成された。実施の形態2では、暗号化タグETaはペアリング演算を用いて生成される。
 重複除外システム100の構成は実施の形態1の図1と同じである。また、共通パラメータ生成装置200、ユーザ鍵生成装置300、暗号化装置400、変換鍵生成装置500、タグ変換装置600及び一致判定装置700の構成は、実施の形態1の図2から図7と同じである。
図15は、共通パラメータ生成装置200の動作を示すフローチャートである。
図16は、ユーザ鍵生成装置300の動作を示すフローチャートである。
図17は、暗号化装置400の動作を示すフローチャートである。
図18は、変換鍵生成装置500の動作を示すフローチャートである。
図19は、タグ変換装置600の動作を示すフローチャートである。
図20は、一致判定装置700の動作を示すフローチャートである。
図21は、図15から図21のフローチャートをシーケンスとして示す図である。
図21と図20を参照して重複除外システム100の各装置の動作を説明する。
<共通パラメータ生成装置200>
 ステップS801において、入力部201にはビット長kが入力される。
 ステップS802において、共通パラメータ生成部202は、ビット長kをもとに、ペアリング演算可能な要素、
BG=(p、G、G、e)   (式4)
を生成する。
ここで、pは、群Gと群Gの位数を表す。
eは、G×G→Gの写像を持つ双線形写像とする。
双線形写像とは、全てのg∈G、及びa、b∈Zに対して、
e(g、g)=e(g、g)ab∈G   (式5)
となる写像である。このeを用いた演算を、ペアリング演算と呼ぶ。
なお、Zはmod=pの整数の集合である。
g∈Gをランダムに選ぶ。
 ステップS803において、送信部203は、ビット長kとgと要素BGをユーザ鍵生成装置300へと送信する。
<ユーザ鍵生成装置300>
 ステップS901において、パラメータ受信部301は、共通パラメータ生成装置200から、ビット長k、g及びBGを受信する。
 ステップS902において、鍵生成部302が、x∈Zをランダムに選び、
y=g
を計算する。
また、鍵生成部302は、Y∈Gを選ぶ。
鍵生成部302は、
暗号鍵ek=(g,y,Y)   (式6)
、及び
変換鍵生成鍵tk=x   (式7)
を設定する。
 第1鍵である暗号鍵ekは、第1要素、第2要素及び第3要素を含む。暗号鍵ekにおいて、gは第1要素であり、yは第2要素であり、Yは第3要素である。
 ステップS903において、鍵送信部303は、暗号化装置400に暗号鍵ekを送信し、変換鍵生成装置500へ暗号鍵ek及び変換鍵生成鍵tkを送信する。
<暗号化装置400>
 ステップS1001において、入力部401には、平文Mが入力される。
 ステップS1002において、受信部402は、ユーザ鍵生成装置300から暗号鍵ekを受信する。
 ステップS1003において、タグ生成部403は、
=g、C=yr+Hash(g、M)   (式8)
を計算し、
ETag=(C、C
=(g x{r+Hash(g、M)})   (式9)
と暗号ETagを設定する。
ここでHashは暗号学的ハッシュ関数を指し、例えばSHA256である。
 ステップS1004において、タグ送信部404は、暗号ETagをタグ変換装置600へ送信する。
 式9に示すように、暗号化部である暗号化装置400は、第1暗号化データである。
ETagとして、第1要素gと第2要素yとを使用して平文Mを暗号化し、平文Mが暗号化されたデータを生成する。
<変換鍵生成装置500>
 ステップS1101において、鍵受信部501は、ユーザ鍵生成装置300から、
暗号鍵ek=(g,y,Y)=(g,g,Y)
、及び変換鍵生成鍵tk=xを受信する。
 ステップS1102において、変換鍵生成部502は、
ck’=Y1/x   (式10)
を計算する。
 ステップS1103において、送信部503は、
変換鍵ck=(ck’,ek)
を、タグ変換装置600へ送信する。
 式10及び上記の変換鍵ckの式のように、第3鍵生成部である変換鍵生成装置500は、第3要素Yに第2鍵である変換鍵生成鍵tkを適用し、適用して得られた値ck’と、第1鍵である暗号鍵ekとの組を、第3鍵である変換鍵ckとして生成する。
<タグ変換装置600>
 ステップS1201において、受信部601は、変換鍵生成装置500から
変換鍵ck=(ck’,ek)==(Y1/x,g,g,Y)
を受信する。
 ステップS1202において、入力部602には、暗号化タグ
ETag=(C,C)=(g x{r+Hash(g、M)}
が入力される。
 ステップS1203において、変換部604は、同一の平文Mが使用されている暗号化タグETagを、暗号化タグETagに使用されている暗号鍵ekの値によらず同一の値となる第2暗号化データである暗号化タグTに変換する。具体的には、以下のようである。
 実施の形態2の重複除外システム100では、ステップS802で選択されるg及びステップS902で選択されるYは、異なるユーザに同じ値が設定される。よって、以下の(式11)によれば、同一の平文Mが使用されている暗号化タグETagは、暗号化タグETagに使用されている暗号鍵ekの値によらず同一の値となる暗号化タグTに変換される。
変換部604は、
T=e(C,ck’)/e(C,Y)   (式11)
=e(gx{r+Hash(g、M)},Y1/x)/e(g,Y)
=e(g,Y)x{r+Hash(g、M)}*1/x/e(g,Y)
=e(g,Y){r+Hash(g、M)}/e(g,Y)
=e(g,Y)Hash(g、M)
を計算する。
eはペアリング演算を表す。
 ステップS1204において、送信部605は、暗号化タグETagから変換された暗号化タグTを一致判定装置700に送信する。
<一致判定装置700>
 ステップS1301において、タグ入力部701には、2つの暗号化タグT1、暗号化タグT2が入力される。
 ステップS1302において、判定部702は、暗号化タグT1と暗号化タグT2とのビット列が等しいかどうかを検証する。
 ステップS1303において、判定部702によって暗号化タグT1と暗号化タグT2とのビット列が等しいと判定された場合、ステップS1303で結果送信部703は1を出力し、暗号化タグT1と暗号化タグT2とのビット列が異なると判定された場合はステップS1304で0を出力する。
***実施の形態2の効果***
 実施の形態2によれば、公開鍵方式の暗号システムを、重複除外の利便性を失うことなく高い安全性を持つ暗号システムとすることができる。
図22は、実施の形態1及び実施の形態2の、共通パラメータ生成装置200、複数のユーザ鍵生成装置300、暗号化装置400、変換鍵生成装置500、タグ変換装置600及び一致判定装置700のハードウェア構成を示す図である。
 共通パラメータ生成装置200、複数のユーザ鍵生成装置300、暗号化装置400、変換鍵生成装置500、タグ変換装置600及び一致判定装置700は、コンピュータである。図22は、コンピュータである、共通パラメータ生成装置200から一致判定装置700の、ハードウェア構成である。
 共通パラメータ生成装置200から一致判定装置700のハードウェア構成は同じであるので、暗号化装置400を代表として説明する。
 図22において、
暗号化装置400は、CPU1101(Central Processing Unit)を備えている。
CPU1101は、バス1002を介してROM1003、RAM1104、通信ボード1105、ディスプレイ1111、キーボード1112、マウス1113、ドライブ1114、磁気ディスク装置1120などのハードウェアデバイスと接続され、これらのハードウェアデバイスを制御する。
ドライブ1114は、FD(Flexible Disk Drive)、CD(Compact Disc)、DVD(Digital Versatile Disc)などの記憶媒体を読み書きする装置である。
 ROM1103、RAM1104、磁気ディスク装置1120およびドライブ1114は記憶装置の一例である。
キーボード1112、マウス1113および通信ボード1105は入力装置の一例である。ディスプレイ1111および通信ボード105は出力装置の一例である。
 通信ボード1105は、有線または無線で、LAN、インターネット、電話回線などの通信網に接続している。
 磁気ディスク装置1120には、オペレーティングシステム1121、プログラム群1122、ファイル群1123が記憶されている。
なお図22ではオペレーティングシステム1121はOS1121と表記している。
 プログラム群1122には、実施の形態1、2において「~部」として説明する機能を実行するプログラムが含まれる。
プログラムは、CPU1101により読み出され実行される。
すなわち、プログラムは、「~部」としてコンピュータを機能させるものであり、また「~部」の手順や方法をコンピュータに実行させる。
 ファイル群1123には、実施の形態1,2において説明する「~部」で使用される入力データ、出力データ、判定結果、計算結果、処理結果のような各種のデータが含まれる。
 実施の形態1,2において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
 フローチャートなどに基づいて説明する実施の形態1,2の処理は、CPU1101、記憶装置、入力装置、出力装置などのハードウェアを用いて実行される。
 実施の形態1,2において「~部」として説明するものは「~回路」、「~装置」、「~機器」であってもよく、また「~ステップ」、「~手順」、「~処理」であってもよい。すなわち、「~部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
<ハードウェア構成の補足>
 図22に示すハードウェア構成では各装置の機能がソフトウェアで実現される。しかし、各装置の機能がハードウェアで実現されてもよい。
図22と同様に暗号化装置400を代表として説明する。
 図23は、暗号化装置400の機能がハードウェアで実現される構成を示す。図23の電子回路910は、暗号化装置400の、入力部401、受信部402、タグ生成部403、タグ送信部404の機能を実現する専用の電子回路である。電子回路910は、信号線911に接続している。電子回路910は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、または、FPGAである。GAは、Gate Arrayの略語である。ASICは、Application Specific Integrated Circuitの略語である。FPGAは、Field-Programmable Gate Arrayの略語である。暗号化装置400の構成要素の機能は、1つの電子回路で実現されてもよいし、複数の電子回路に分散して実現されてもよい。また、暗号化装置400の構成要素の一部の機能が電子回路で実現され、残りの機能がソフトウェアで実現されてもよい。
 CPU1101と電子回路910との各々は、プロセッシングサーキットリとも呼ばれる。暗号化装置400において、入力部401、受信部402、タグ生成部403及びタグ送信部404の機能がプロセッシングサーキットリにより実現されてもよい。あるいは、図2か図7に示す「~部」の機能が、プロセッシングサーキットリにより実現されてもよい。
 ck 変換鍵、ETag 暗号化タグ、ET 暗号化タグ、ek 暗号鍵、M 平文、tk 変換鍵生成鍵、100 重複除外システム、101 ネットワーク、200 共通パラメータ生成装置、201 入力部、202 共通パラメータ生成部、203 送信部、300 ユーザ鍵生成装置、301 パラメータ受信部、302 鍵生成部、303 鍵送信部、400 暗号化装置、401 入力部、402 受信部、403 タグ生成部、404 タグ送信部、500 変換鍵生成装置、501 鍵受信部、502 変換鍵生成部、503 送信部、600 タグ変換装置、601 受信部、602 入力部、603 鍵保管部、604 変換部、605 送信部、700 一致判定装置、701 タグ入力部、702 判定部、703 送信部、910 電子回路、911 信号線。

Claims (6)

  1.  第1鍵と平文とを使用して、前記平文が暗号化された第1暗号化データを生成する暗号化部と、
     前記第1鍵と第2鍵とを使用して、第3鍵を生成する第3鍵生成部と、
     前記第3鍵を前記第1暗号化データに適用することで、同一の平文が使用されている前記第1暗号化データを、前記第1暗号化データに使用されている前記第1鍵の値によらず同一の値となる第2暗号化データに変換する暗号化データ変換部と、
    を備える暗号システム。
  2.  前記暗号システムは、さらに、
     2つの前記第2暗号化データどうしの前記値が一致するかどうかを判定する一致判定部を備える請求項1に記載の暗号システム。
  3.  前記暗号化部は、
     前記第1暗号化データとして、
     前記第1鍵と前記平文との排他的論理和を計算し、
     前記第3鍵生成部は、
     前記第1鍵と前記第2鍵との排他的論理和を計算し、計算結果を前記第3鍵として生成する請求項1または請求項2に記載の暗号システム。
  4.  前記第1鍵は、
     第1要素と、第2要素と、第3要素とを含み、
     前記暗号化部は、
     前記第1暗号化データとして、
     前記第1要素と前記第2要素とを使用して前記平文を暗号化し、前記平文が暗号化されたデータを生成し、
     前記第3鍵生成部は、
     前記第3要素に前記第2鍵を適用し、適用して得られた値と、前記第1鍵との組を、前記第3鍵として生成する請求項1または請求項2に記載の暗号システム。
  5.  第1鍵と平文を使用して前記平文が暗号化された第1暗号化データを取得する取得部と、
     前記第1鍵と第2鍵とを使用して生成された第3鍵を取得する第3鍵取得部と、
     同一の平文が使用されている前記第1暗号化データを、前記第1暗号化データに使用されている前記第1鍵の値によらず同一の値となる第2暗号化データに変換する変換部と、
     2つの前記第2暗号化データどうしの前記値が一致するかどうかを判定する一致判定装置に、前記第2暗号化データを送信する送信制御部と
    を備える暗号化データ変換装置。
  6.  コンピュータに、
     第1鍵と平文とを使用して暗号化された暗号化された第1暗号化データを取得する取得処理と、
     前記第1鍵と第2鍵とを使用して生成された第3鍵を取得する第3鍵取得処理と、
     同一の平文が使用されている前記第1暗号化データを、前記第1暗号化データに使用されている前記第1鍵の値によらず同一の値となる第2暗号化データに変換する変換処理と、
     2つの前記第2暗号化データどうしの前記値が一致するかどうかを判定する一致判定装置に、前記第2暗号化データを送信する送信制御処理と、
    を実行させる変換プログラム。
PCT/JP2020/004262 2020-02-05 2020-02-05 暗号システム、暗号化データ変換装置及び変換プログラム WO2021156959A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202080093054.0A CN115004284A (zh) 2020-02-05 2020-02-05 加密系统、加密数据转换装置以及转换程序
EP20918088.4A EP4099309A4 (en) 2020-02-05 2020-02-05 CRYPTOSYSTEM, ENCRYPTED DATA CONVERSION DEVICE AND CONVERSION PROGRAM
JP2020537793A JP6865899B1 (ja) 2020-02-05 2020-02-05 暗号システム、暗号化データ変換装置及び変換プログラム
PCT/JP2020/004262 WO2021156959A1 (ja) 2020-02-05 2020-02-05 暗号システム、暗号化データ変換装置及び変換プログラム
US17/835,417 US20220303132A1 (en) 2020-02-05 2022-06-08 Cryptographic system, encrypted data conversion apparatus, and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/004262 WO2021156959A1 (ja) 2020-02-05 2020-02-05 暗号システム、暗号化データ変換装置及び変換プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/835,417 Continuation US20220303132A1 (en) 2020-02-05 2022-06-08 Cryptographic system, encrypted data conversion apparatus, and computer readable medium

Publications (1)

Publication Number Publication Date
WO2021156959A1 true WO2021156959A1 (ja) 2021-08-12

Family

ID=75638871

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/004262 WO2021156959A1 (ja) 2020-02-05 2020-02-05 暗号システム、暗号化データ変換装置及び変換プログラム

Country Status (5)

Country Link
US (1) US20220303132A1 (ja)
EP (1) EP4099309A4 (ja)
JP (1) JP6865899B1 (ja)
CN (1) CN115004284A (ja)
WO (1) WO2021156959A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014507841A (ja) 2011-01-07 2014-03-27 トムソン ライセンシング オンラインストレージのための装置及び方法、送信装置及び方法並びに受信装置及び方法
JP2016158189A (ja) * 2015-02-26 2016-09-01 株式会社日立情報通信エンジニアリング 鍵付替え方向制御システムおよび鍵付替え方向制御方法
US20180270069A1 (en) * 2014-12-18 2018-09-20 Nokia Technologies Oy De-duplication of encrypted data
US20190026476A1 (en) * 2017-07-21 2019-01-24 Red Hat, Inc. Re-duplication of de-duplicated encrypted memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014507841A (ja) 2011-01-07 2014-03-27 トムソン ライセンシング オンラインストレージのための装置及び方法、送信装置及び方法並びに受信装置及び方法
US20180270069A1 (en) * 2014-12-18 2018-09-20 Nokia Technologies Oy De-duplication of encrypted data
JP2016158189A (ja) * 2015-02-26 2016-09-01 株式会社日立情報通信エンジニアリング 鍵付替え方向制御システムおよび鍵付替え方向制御方法
US20190026476A1 (en) * 2017-07-21 2019-01-24 Red Hat, Inc. Re-duplication of de-duplicated encrypted memory

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MIHIR BELLARESRIRAM KEELVEEDHITHOMAS RISTENPART: "Message-Locked Encryption and Secure Deduplication", EUROCRYPT, 2013, pages 296 - 312, XP047411748, DOI: 10.1007/978-3-642-38348-9_18
See also references of EP4099309A4

Also Published As

Publication number Publication date
EP4099309A4 (en) 2023-02-22
JP6865899B1 (ja) 2021-04-28
EP4099309A1 (en) 2022-12-07
CN115004284A (zh) 2022-09-02
JPWO2021156959A1 (ja) 2021-08-12
US20220303132A1 (en) 2022-09-22

Similar Documents

Publication Publication Date Title
US7711113B2 (en) ID-based signature, encryption system and encryption method
US7826619B2 (en) Key-updating method, encryption processing method, key-insulated cryptosystem and terminal device
JP5905128B2 (ja) 暗号システム、再暗号化装置及び暗号方法
WO2017126001A1 (ja) 暗号化装置、暗号文変換装置、暗号化プログラム、暗号文変換プログラム、暗号化方法及び暗号文変換方法
KR102153317B1 (ko) 양자 난수열 기반의 암호 장치
JPWO2015107620A1 (ja) 暗号システム及び再暗号化装置
CN107086912B (zh) 一种异构存储系统中的密文转换方法、解密方法及系统
US20140334623A1 (en) Rapid data encryption and decryption for secure communication over open channels with plausible deniability
CN105637799B (zh) 加密系统、加密装置、重加密密钥生成装置以及重加密装置
US7760872B2 (en) Public key cryptographic methods and systems
JP6033741B2 (ja) 暗号化鍵更新システム及びその方法
JP5135070B2 (ja) 暗号文復号権限委譲システム
KR20040009766A (ko) 암호 시스템에서 송수신 장치 및 방법
US20240048377A1 (en) Ciphertext conversion system, conversion key generation method, and non-transitory computer readable medium
KR101533950B1 (ko) 브로드캐스트 암호화 방법 및 시스템
JP6865899B1 (ja) 暗号システム、暗号化データ変換装置及び変換プログラム
WO2019220900A1 (ja) 暗号化システム、暗号化装置、復号装置、暗号化方法、復号方法、及びプログラム
JP5134555B2 (ja) 鍵生成装置、暗号化装置、復号化装置、暗号化システム、鍵生成方法、暗号化方法、復号化方法、プログラム、および記録媒体
JP4664692B2 (ja) 暗号化方法、復号方法、暗号化装置、復号装置、暗号装置、およびプログラム
JP2010272899A (ja) 鍵生成システム及び鍵生成方法及びブラインドサーバ装置及びプログラム
WO2023199436A1 (ja) 暗号文変換システム、暗号文変換方法、及び暗号文変換プログラム
WO2023199435A1 (ja) 暗号文変換システム、暗号文変換方法、及び暗号文変換プログラム
JP4150328B2 (ja) ハイブリッド暗号装置およびハイブリッド暗号・復号方法
WO2021144842A1 (ja) 秘匿情報処理システム、準同型演算装置、復号装置、秘匿情報処理方法、および、秘匿情報処理プログラム
JP6000207B2 (ja) 暗号化システム、システムパラメータ生成装置、暗号化装置、復号装置、及びその方法、プログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2020537793

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 20918088

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020918088

Country of ref document: EP

Effective date: 20220829

NENP Non-entry into the national phase

Ref country code: DE