WO2012011455A1 - 暗号化装置、復号装置、暗号化方法、復号方法、および、コンピュータ・プログラム - Google Patents

暗号化装置、復号装置、暗号化方法、復号方法、および、コンピュータ・プログラム Download PDF

Info

Publication number
WO2012011455A1
WO2012011455A1 PCT/JP2011/066301 JP2011066301W WO2012011455A1 WO 2012011455 A1 WO2012011455 A1 WO 2012011455A1 JP 2011066301 W JP2011066301 W JP 2011066301W WO 2012011455 A1 WO2012011455 A1 WO 2012011455A1
Authority
WO
WIPO (PCT)
Prior art keywords
encryption
plaintext
ciphertext
decryption
unit
Prior art date
Application number
PCT/JP2011/066301
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 JP2012525392A priority Critical patent/JPWO2012011455A1/ja
Publication of WO2012011455A1 publication Critical patent/WO2012011455A1/ja

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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]

Definitions

  • the present invention is based on the priority claim of Japanese patent application: Japanese Patent Application No. 2010-162735 (filed on July 20, 2010), the entire description of which is incorporated herein by reference. Shall.
  • the present invention relates to an encryption technique using a common key, and in particular, an encryption device with a random number encryption that performs encryption using a random number in addition to the common key, a decryption device, an encryption method, a decryption method, and It relates to computer programs.
  • Common-key cryptography technologies include encryption with random numbers (Randomized Encryption, REnc), encryption with state variables (Stateful Encryption, SEnc), deterministic encryption (Deterministic Encryption, DEnc), and the like.
  • Encryption with random numbers is an encryption device and a decryption device that secretly share a common key.
  • the encryption device generates a random number for each plaintext to be encrypted, and the plaintext is generated using the generated random number and the common key.
  • This is a technique for encrypting and transmitting a ciphertext and a random number to a decryption device.
  • encryption with random numbers can prevent eavesdropping by a third party who does not know the common key.
  • the common key is also simply referred to as a key.
  • the ciphertext C is expressed by the following equation.
  • C Enc (K, M, U)
  • M plaintext
  • K is a key
  • U is a random number
  • Enc is an encryption function.
  • the encryption device transmits the ciphertext C and the random number U to the decryption device through the communication path.
  • the encryption with state variable is a technology in which the encryption device encrypts plaintext using a state variable such as a counter and a common key, and transmits the ciphertext and the state variable to the decryption device.
  • Deterministic encryption is a technology in which an encryption device encrypts plaintext without using additional information other than plaintext and a key. In the case of deterministic encryption, when the message authentication function is not required, it is desirable to make the plaintext and the ciphertext equal in length from the viewpoint of eliminating redundancy. Deterministic encryption that satisfies this condition is also called equal-length encryption (Length-Preserving Encryption, LPE).
  • Non-Patent Document 1 As a technique proposed as isometric encryption, there is a technique realized as a mode using block cipher such as the HCTR mode described in Non-Patent Document 1, for example. In addition, as another technique proposed as isometric encryption, there is a technique configured from one as a single block cipher, such as Blackjack described in Non-Patent Document 2.
  • Such isometric encryption technology is mainly used for storage encryption.
  • Storage encryption may require independent encryption for each storage unit such as a hard disk sector.
  • As an isometric encryption technique corresponding to such a case there is a technique that uses an additional parameter called tweak in addition to plaintext and ciphertext at the time of encryption and decryption.
  • tweak for example, an address assigned to each storage unit is used.
  • TES TweakableweakEnciphering Scheme
  • Non-Patent Document 3 As another example of such a TES, there is a HEH mode described in Non-Patent Document 3.
  • the encryption device encrypts plain text using two universal hash functions having tweak as a parameter.
  • the universal hash function is a keyed function that guarantees only a collision probability and a difference probability of a two-output series corresponding to two arbitrary inputs.
  • Non-Patent Document 4 describes an EME mode as a TES mode capable of parallel processing.
  • Non-Patent Document 5 describes a technique for constructing an n-bit tweakable block cipher from an n-bit block cipher having no tweak.
  • encryption with random numbers and deterministic encryption that do not use state variables are collectively referred to as stateless encryption.
  • Such encryption without a state variable is different from the encryption with a state variable in that a plurality of encryption devices asynchronously use the same key or the encryption device has a nonvolatile memory for managing the state. It has the merit that it can be used even when it is not.
  • ⁇ ⁇ Encryption with random numbers having such merits is typically realized by additive encryption.
  • additive encryption first, an n-bit random number U is given to an encryption function F of an n-bit input variable length output to obtain an output having the same length as the plaintext M.
  • the ciphertext is obtained by calculating the sum of the output of the encryption function F and the plaintext M.
  • the sum means exclusive OR (exclusive or, XOR).
  • FIG. 1 shows an example in which additive encryption is realized in the XOR mode using block encryption.
  • the random number U is n bits long.
  • the plaintext M is composed of L blocks M [1] to M [L] having an n-bit length.
  • the encryption function F with n-bit input variable length output is realized by updating a given random number U (arithmetic addition of 1) and inputting the updated random number U to the n-bit block cipher Ek. Then, the outputs of the L n-bit block ciphers Ek and the plaintexts M [1] to M [L] are exclusive-ORed to obtain ciphertexts C [1] to C [L].
  • Such additive encryption is described in Patent Document 1, for example.
  • Encryption with random numbers by additive encryption is simple and efficient, but if random numbers match (hereinafter also referred to as collision) in two plaintext encryptions, plaintext information may be leaked. There's a problem.
  • the input to the encryption function F is always unique by updating the state variable without duplication, and the above problem is avoided.
  • the probability that the random number collision occurs is about q 2/2 n for q pieces of plain text. Therefore, if 2 n / 2 plaintexts are encrypted, about one random number collision is expected.
  • the random number with encryption additive encryption, q 2/2 or n is a large n so negligibly small, it is necessary to take small q. That is, the number of plaintexts q processed with one key needs to be sufficiently smaller than 2 n / 2 .
  • q 2/2 n are called birthday bound about n.
  • ENCRX requires a 2n-bit random number to encrypt n-bit plaintext.
  • Non-Patent Document 6 requires a random number twice as long as the plaintext length in order to solve the problem of leakage of plaintext information due to random number collision.
  • Non-Patent Document 6 does not describe a technique for encrypting a longer plaintext. Therefore, when the ENCRX described in Non-Patent Document 6 is simply applied to long plain text, there is a demerit that the overhead in communication greatly increases.
  • Non-Patent Documents 1, 3, 4, and 5 it is possible to realize encryption with random numbers by realizing TES with n-bit block cipher and using random numbers as tweak. At first glance, such encryption with random numbers by TES seems to avoid the problem of leakage of plaintext information due to random number collision.
  • the present invention has been made to solve the above-described problem, and in the encryption with random numbers, information leakage related to plaintext when random number collision occurs without increasing the random number length or introducing a state variable. It aims at improving prevention performance.
  • a random number generation unit that generates a random number, and generates an intermediate ciphertext by performing either isometric encryption or additive encryption on the input plaintext.
  • a ciphertext is generated by performing processing of one encryption unit and the intermediate ciphertext that is not performed by the first encryption unit, which is equal length encryption or additive encryption, on the intermediate ciphertext
  • An encryption device is provided that includes a second encryption unit, and a ciphertext output unit that outputs the ciphertext and a random number used for the additive encryption.
  • an intermediate ciphertext is generated by performing either isometric decryption or additive decryption on the input ciphertext and an input section to which the ciphertext and random numbers are input.
  • a first decryption unit that generates plaintext by performing a process that is not performed by the first decryption unit of equal length decryption or additive decryption on the intermediate ciphertext.
  • a decryption device is provided that includes a decryption unit and a plaintext output unit that outputs the plaintext.
  • a first encryption step for generating an intermediate ciphertext by performing either isometric encryption or additive encryption on the input plaintext, and the intermediate text A second encryption step for generating a ciphertext by performing a process that is not performed by the first encryption unit of isometric encryption or additive encryption on the ciphertext; and And a ciphertext output step for outputting a ciphertext and a random number used for the additive encryption.
  • This method is linked to a specific machine, which is a computer capable of performing the steps described above.
  • a second decryption step for generating a plaintext by performing a process that is not performed by the first decryption unit of the equal-length decryption or the additive decryption and a plaintext output step for outputting the plaintext
  • a decoding method is provided. This method is linked to a specific machine, which is a computer capable of performing the steps described above.
  • a first encryption process for generating an intermediate ciphertext by performing either isometric encryption or additive encryption on an input plaintext, and the intermediate text A second encryption process for generating a ciphertext by performing a process that is not performed by the first encryption unit of isometric encryption or additive encryption on the ciphertext, and
  • a program for causing a computer to execute ciphertext and ciphertext output processing for outputting a random number used for the additive encryption can be recorded on a computer-readable storage medium. That is, the present invention can be embodied as a computer program product.
  • a second decryption process for generating a plaintext by performing a process that is not performed by the first decryption unit of the equal-length decryption or the additive decryption, and a plaintext output process for outputting the plaintext A program for causing a computer to execute is provided. This program can be recorded on a computer-readable storage medium. That is, the present invention can be embodied as a computer program product.
  • the present invention relates to an encryption device and a decryption device capable of improving the performance of preventing leakage of information related to plaintext when random number collision occurs without increasing the random number length or introducing a state variable in encryption with random numbers.
  • An apparatus can be provided.
  • FIG. 2 shows a hardware configuration of the encryption apparatus 10 as the first embodiment of the present invention.
  • an encryption device 10 includes a CPU (Central Processing Unit) 1001, a RAM (Random Access Memory) 1002, a ROM (Read Only Memory) 1003, a storage device 1004 such as a hard disk, and an input device such as a keyboard. 1005, an output device 1006 such as a display, and a network computer 1007, and a general-purpose computer device.
  • a CPU Central Processing Unit
  • RAM Random Access Memory
  • ROM Read Only Memory
  • the ROM 1003 and the storage device 1004 store a computer program for causing the computer device to function as the encryption device 10. That is, the CPU 1001 executes the computer program stored in the ROM 1003 and the storage device 1004 using the RAM 1002 as a work area, so that the computer device functions as the encryption device 10.
  • the encryption device 10 includes a plaintext acquisition unit (input unit) 100, a random number generation unit 101, an offset processing unit 102, an isometric encryption unit 103, an additive encryption unit 104, and a ciphertext output unit 105. It is equipped with.
  • the isometric encryption unit 103 corresponds to the first encryption unit
  • the additive encryption unit 104 in the subsequent stage corresponds to the second encryption unit.
  • the plaintext acquisition unit 100 includes an input device 1005 and a CPU 1001 that executes a computer program.
  • the random number generation unit 101, the offset processing unit 102, the isometric encryption unit 103, and the additive encryption unit 104 are configured by a CPU 1001 that executes a computer program.
  • the ciphertext output unit 105 includes an output device 1006 and a CPU 1001 that executes a computer program.
  • the plaintext acquisition unit 100 acquires plaintext M to be encrypted.
  • the plaintext acquisition unit 100 may acquire plaintext M via an input device 1005 such as a keyboard, for example.
  • the plaintext acquisition unit 100 may acquire plaintext M by reading it from the storage device 1004.
  • the plaintext acquisition unit 100 may acquire plaintext M by receiving it via the network interface 1007.
  • FIG. 1 shows an example in which the minimum length of plaintext M is n bits, and plaintext M is divided into L n-bit blocks M [1] to M [L] and processed by each unit. Show.
  • the random number generation unit 101 generates an n-bit random number U independent of the plaintext M.
  • the random number generation unit 101 may generate a random number U based on a value representing a physical phenomenon such as thermal noise.
  • the random number generation unit 101 generates a random number of information input via an input device 1005 such as a keyboard by using a computer program attached to an OS (Operating System) installed in a general-purpose computer device.
  • Random number U may be generated as a source for use.
  • the random number generator 101 preferably generates a random number U having sufficiently high entropy.
  • the offset processing unit 102 generates an intermediate plaintext MM by performing an offset process on the plaintext M acquired by the plaintext acquisition unit 100 using the random number U generated by the random number generation unit 101.
  • the offset processing unit 102 equalizes the lengths of the plaintext M and the random number U by performing zero padding on the shorter one of the plaintext M and the random number U. After that, the offset processing unit 102 generates an intermediate plaintext MM by calculating an exclusive OR of the plaintext M and the random number U.
  • the offset processing unit 102 exclusively ORs the random number U to the first n bits of the plaintext M.
  • the offset processing unit 102 may generate the intermediate plaintext MM by performing group operations such as arithmetic addition, not limited to exclusive OR, after equalizing the lengths of the plaintext M and the random number U.
  • the isometric encryption unit 103 generates an intermediate ciphertext CC by performing isometric encryption that encrypts the intermediate plaintext MM generated by the offset processing unit 102 without changing the length.
  • the equal length encryption unit 103 does not use an initial vector such as a counter or a random number in the equal length encryption.
  • the equal length encryption function used by the equal length encryption unit 103 is LPE
  • the key space is SetK
  • the plaintext space is SetM
  • the equal length encryption function LPE has a domain of SetK ⁇ SetM and a value range of SetM.
  • Is a function of The isometric encryption function LPE is such that the length of LPE (K, M) is always equal to that of M, and LPE (K, *) is a replacement on SetM for any fixed key K ("X" represents a Cartesian product and "*" represents an arbitrary plaintext M).
  • the isometric encryption function LPE has a security that is difficult to identify in terms of computational complexity and true random substitution against a selected plaintext attack.
  • the isometric encryption function LPE can be configured by an existing n-bit block cipher. If the length of the plaintext M is a variable value of n bits or more, the equal length encryption function LPE can be configured by TES using block cipher. In this case, tweak in TES is fixed to an arbitrary value.
  • the HCTR mode described in Non-Patent Document 1 the HEH mode described in Non-Patent Document 3, or the EME mode described in Non-Patent Document 4 is used. Can be used.
  • the isometric encryption unit 103 may ensure the security against the selected plaintext attack. For this reason, when the equal length encryption unit 103 configures the equal length encryption function LPE using a block cipher TES, the process of ensuring the safety against the selected ciphertext attack in the TES is omitted. It may be simplified.
  • the TES based on block cipher performs block cipher-based encryption on the result of processing plaintext with the first universal hash function, and outputs the result processed with the second universal hash function as ciphertext.
  • the isometric encryption unit 103 can maintain security against the selected plaintext attack even if the processing by the second universal hash function in FIG. 4 is omitted.
  • the HEH mode described in Patent Document 3 uses two universal hash functions ⁇ ⁇ , ⁇ 1 and ⁇ -1 ⁇ , ⁇ 2 in which inverse functions exist with arbitrary ⁇ as a parameter when tweak is ⁇ . is there.
  • the additive encryption unit 104 generates a ciphertext C by performing additive encryption on the intermediate ciphertext CC using the random number U.
  • the additive encryption unit 104 may be configured to execute processing based on the XOR mode using block cipher.
  • the additive encryption unit 104 generates a pseudo-random number sequence having the same length as the intermediate ciphertext CC using the random number U generated by the random number generation unit 101 as an initial vector.
  • the additive encryption unit 104 generates the ciphertext C by taking the exclusive OR of the pseudo-random number sequence and the intermediate ciphertext CC.
  • the generated ciphertext C is expressed by the following equation. Note that F represents a pseudo-random function PRF with an n-bit input variable length output, and KE represents a key.
  • C F (KE, U) + CC
  • the pseudo-random function PRF may be configured by the XOR mode of the n-bit block cipher E as shown in FIG.
  • the additive encryption unit 104 uses CC [1], CC [2], ..., CC [L] obtained by dividing the intermediate ciphertext CC every n bits.
  • inc (A, B) represents the arithmetic addition (mod ⁇ 2 n ) of A and B, where A and B are regarded as integers.
  • inc (U, i + 1) inc (inc (U, i))
  • the additive encryption unit 104 sequentially updates U (arithmetic addition of 1) as shown in FIG. It may be encrypted.
  • the additive encryption unit 104 is not limited to the XOR mode based on the block cipher, but may be realized by other additive encryption techniques.
  • the additive encryption unit 104 may be configured using a stream cipher having an initial vector as a pseudo-random function PRF.
  • the ciphertext output unit 105 outputs the random number U generated by the random number generation unit 101 and the ciphertext C generated by the additive encryption unit 104 to the output device 1006.
  • the ciphertext output unit 105 may output the ciphertext C and the random number U by storing them in the storage device 1004.
  • the ciphertext output unit 105 may output the ciphertext C and the random number U by transmitting them via the network interface 1007.
  • the plaintext acquisition unit 100 acquires plaintext M (step S1).
  • the random number generation unit 101 generates an n-bit random number U (step S2).
  • the offset processing unit 102 generates an intermediate plaintext MM by performing an offset process on the plaintext M using the random number U (step S3).
  • the isometric encryption unit 103 generates an intermediate ciphertext CC by performing isometric encryption on the intermediate plaintext MM (step S4).
  • the additive encryption unit 104 generates ciphertext C by performing additive encryption on the intermediate ciphertext CC using the random number U (step S5).
  • the ciphertext output unit 105 outputs the ciphertext C and the random number U (step S6).
  • the encryption device 10 ends its operation.
  • the length of the plaintext M is assumed to be n bits or more. However, when the length of the plaintext M is shorter than n bits, the encryption device 10 uses the length of the plaintext M by padding processing or the like. Should be n bits or more.
  • the plaintext acquisition unit 100 may guarantee the minimum length n bits of the plaintext M by performing a padding process on the plaintext M shorter than n bits.
  • the encryption apparatus prevents information leakage related to plaintext when random number collision occurs without increasing the random number length or introducing a state variable in encryption with random numbers.
  • the performance can be improved.
  • the encryption device performs additive encryption on the intermediate ciphertext obtained by encrypting the plaintext with the same length. It is only the difference of ciphertext. Therefore, even if there is a collision of random numbers, unless the corresponding two plaintexts are exactly the same information, the ciphertexts do not overlap with each other, and the attacker knows other than the information that “the two plaintexts are different”. It is because it is not possible.
  • the encryption apparatus solves the security problem of encryption with random numbers by general additive encryption without introducing state variables with the same random number length. It can be improved as much as possible.
  • the security of encryption with random numbers can be measured in terms of the difficulty of computationally distinguishing from an ideal TES using random numbers as tweaks.
  • Computational difficulty of discrimination from an ideal TES is expressed by a function such as the number of encryptions.
  • Computational complexity difficulty means that the closer to 0, the safer, the closer to 1, the more dangerous.
  • the random number with encrypted according to a general additive encryption is O (q 2/2 n) in an indication that the computational determination difficulty.
  • encryption with random numbers using an n-bit block cipher in TES such as the HCTR mode described in Non-Patent Document 1, the HEH mode described in Non-Patent Document 3, or the EME mode described in Non-Patent Document 4 is also tweak.
  • the additive encryption unit in the first embodiment of the present invention is realized in the XOR mode using the n-bit block cipher, and the isometric encryption unit is realized in the same TES using the n-bit block cipher (however, tweak is arbitrary) fixed value), the minimum length of the plaintext if n bits, to achieve O (q 4/2 3n) degree in computational determination difficulties described above.
  • O (q 4/2 3n) is, O (q 2/2 n ) is much slower speeds increase for q compared with.
  • encryption with a random number by the encryption apparatus according to the first embodiment of the present invention uses encryption with random numbers by general additive encryption and TES by n-bit block encryption. It can be said that it has higher security compared to encryption with random numbers.
  • the encryption apparatus can more efficiently execute the encryption process for improving the performance of preventing information leakage related to plaintext when a random number collision occurs. .
  • the process executed by the isometric encryption unit and the process executed by the additive encryption unit can be executed in parallel.
  • the encryption device performs the isometric encryption processing on the intermediate plaintext by the equal length encryption unit.
  • the additive encryption unit can execute a process of generating a pseudo-random number sequence.
  • the encryption device 10 may not include the offset processing unit 102.
  • the equal length encryption unit 103 may perform the above-described equal length encryption on the plaintext M that is output from the plaintext acquisition unit 100.
  • the encryption device 10 configured as described above can also achieve the above-described effects.
  • the encryption apparatus includes the offset processing unit, so that it is possible to further improve the information leakage prevention performance regarding plaintext when a random number collision occurs.
  • the encryption apparatus as the first embodiment of the present invention performs encryption using plaintexts M1, M2, M3, M4 and random numbers U1, U2, U3, U4 that satisfy the above-described conditions.
  • the decryption device 20 is a device that decrypts the ciphertext encrypted by the encryption device 10 according to the first embodiment of the present invention.
  • the decryption device 20 is configured by a general-purpose computer device having the hardware configuration shown in FIG. 2, as with the encryption device 10 as the first embodiment of the present invention.
  • the ROM 1003 and the storage device 1004 store a computer program for causing the computer device to function as the decryption device 20. That is, when the CPU 1001 executes the computer program stored in the ROM 1003 and the storage device 1004 using the RAM 1002 as a work area, the computer device functions as the decryption device 20.
  • the decryption device 20 includes a ciphertext acquisition unit 200, an additive decryption unit 204, an equal length decryption unit 203, an offset processing unit 202, and a plaintext output unit 205.
  • the additive decoding unit 204 corresponds to the first decoding unit
  • the equal length decoding unit 203 in the subsequent stage corresponds to the second decoding unit.
  • the ciphertext acquisition unit 200 includes a storage device 1004 and a CPU 1001 that executes a computer program.
  • the additive decoding unit 204, the isometric decoding unit 203, and the offset processing unit 202 are configured by a CPU 1001 that executes a computer program.
  • the plaintext output unit 205 includes an output device 1006 and a CPU 1001 that executes a computer program.
  • the ciphertext acquisition unit 200 acquires the ciphertext C and the random number U to be decrypted.
  • the ciphertext acquisition unit 200 may acquire the ciphertext C and the random number U stored in the storage device 1004.
  • the ciphertext acquisition unit 200 may acquire the ciphertext C and the random number U by receiving the ciphertext C and the random number U via the network interface 1007.
  • the additive decryption unit 204 obtains the intermediate ciphertext CC by performing additive decryption of the ciphertext C using the random number U.
  • the additive decryption unit 204 may be configured to execute processing based on the XOR mode using block cipher.
  • the additive decryption unit 204 sends the ciphertext C to the additive encryption unit 104 in the first embodiment of the present invention instead of using the intermediate ciphertext CC as an input and the ciphertext C as an output. Is the same as the additive encryption unit 104 except that the intermediate ciphertext CC is output. That is, the additive decryption unit 204 obtains an intermediate ciphertext CC for the ciphertext C by the following equation.
  • the equal-length decryption unit 203 obtains an intermediate plaintext MM having the same length as the intermediate ciphertext by performing equal-length decryption on the intermediate ciphertext CC obtained by the additive decryption unit 204.
  • the isometric decryption unit 203 may be configured to execute processing based on TES using block cipher.
  • the equal length encryption unit 103 of the encryption device 10 according to the first embodiment of the present invention omits the processing of the second universal hash function
  • the equal length decryption unit 203 The intermediate plaintext MM for the sentence CC is obtained by the following equation.
  • the offset processing unit 202 acquires plaintext M by performing offset processing using the random number U on the intermediate plaintext MM acquired by the equal length decoding unit 203.
  • the offset processing unit 202 receives the plaintext M as an input and outputs the plaintext M as an input to the offset processing unit 102 according to the first exemplary embodiment of the present invention, instead of using the plaintext M as an input and the intermediate plaintext MM as an output.
  • the configuration is the same as that of the offset processing unit 102 except that it is different.
  • the plaintext output unit 205 outputs the plaintext M acquired by the offset processing unit 202 to the output device 1006.
  • the plaintext output unit 205 may output the plaintext M by storing it in the storage device 1004.
  • the plaintext output unit 205 may output the plaintext M by transmitting it via the network interface 1007.
  • the ciphertext acquisition unit 200 acquires the ciphertext C and the random number U to be decrypted (step S11).
  • the additive decryption unit 204 obtains the intermediate ciphertext CC by performing additive decryption of the ciphertext C using the random number U (step S12).
  • the equal length decryption unit 203 generates an intermediate plaintext MM having the same length as the intermediate ciphertext CC by performing equal length decryption on the intermediate ciphertext CC (step S13).
  • the offset processing unit 202 generates plaintext M by performing offset processing on the intermediate plaintext MM using the random number U (step S14).
  • the plaintext output unit 205 outputs plaintext M (step S15).
  • the decoding device 20 ends the operation.
  • the decryption device has the capability of preventing information leakage related to plaintext when a random number collision occurs without increasing the random number length or introducing a state variable in encryption with random numbers.
  • the encrypted ciphertext can be decrypted so as to improve.
  • the decryption device 20 uses the offset processing unit 202 when the encryption device 10 according to the first embodiment of the present invention does not include the offset processing unit 102. It may not have. In that case, the plaintext output unit 205 may output the output from the equal length decoding unit 203 as plaintext M.
  • the encryption apparatus 30 as the third embodiment of the present invention is a general-purpose computer having the hardware configuration shown in FIG. 2, as with the encryption apparatus 10 as the first embodiment of the present invention. It is composed of devices.
  • the ROM 1003 and the storage device 1004 store a computer program for causing the computer device to function as the encryption device 30. That is, the CPU 1001 executes the computer program stored in the ROM 1003 and the storage device 1004 using the RAM 1002 as a work area, whereby the computer device functions as the encryption device 30.
  • the encryption device 30 includes a plaintext acquisition unit 100, a random number generation unit 101, an additive encryption unit 304, an isometric encryption unit 303, and a ciphertext output unit 105.
  • the additive encryption unit 304 corresponds to the first encryption unit
  • the isometric encryption unit 303 in the subsequent stage corresponds to the second encryption unit.
  • the additive encryption unit 304 and the isometric encryption unit 303 are constituted by a CPU 1001 that executes a computer program.
  • the plaintext acquisition unit 100 is configured in the same manner as in the first embodiment of the present invention, but from the viewpoint of safety, when the length of the random number U generated by the random number generation unit 101 is n bits, 2n bits It is preferable to acquire the plaintext M having the above length.
  • the plaintext acquisition unit 100 may guarantee the minimum length 2n bits of the plaintext M by performing padding processing or the like.
  • the additive encryption unit 304 generates an intermediate plaintext MM by performing additive encryption on the plaintext M using the random number U.
  • the additive encryption unit 304 uses the plaintext M as an input to the additive encryption unit 104 according to the first embodiment of the present invention, instead of outputting the intermediate ciphertext CC and outputting the ciphertext C.
  • the configuration is the same as that of the additive encryption unit 104 except that plaintext MM is output.
  • the additive encryption unit 304 generates a pseudo-random number sequence having the same length as the plaintext M acquired by the plaintext acquisition unit 100 using the random number U generated by the random number generation unit 101 as an initial vector.
  • the additive encryption unit 304 may generate the intermediate plaintext MM by taking an exclusive OR of the generated pseudorandom number sequence and the plaintext M. That is, the additive encryption unit 304 may be configured to execute processing based on the XOR mode using block cipher.
  • Tweakable blockcipher described in Non-Patent Document 6 a universal hash function is used as a process corresponding to an encryption function used for additive encryption.
  • the additive encryption unit 304 uses an encryption function having sufficient security as a cipher to guarantee theoretical security.
  • the additive encryption unit 304 does not use multiplication on the Galois field that is frequently used in the universal hash function.
  • the isometric encryption unit 303 generates the ciphertext C by encrypting the intermediate plaintext MM generated by the additive encryption unit 304 without changing the length.
  • the equal length encryption unit 303 outputs the intermediate plaintext MM to the equal length encryption unit 103 in the first exemplary embodiment of the present invention instead of outputting the intermediate ciphertext CC with the intermediate plaintext MM as an input.
  • the configuration is the same as that of the isometric encryption unit 103 except that the ciphertext C is output as an input.
  • the plaintext acquisition unit 100 acquires plaintext M to be encrypted (step S21).
  • the random number generation unit 101 generates an n-bit random number U (step S22).
  • the additive encryption unit 304 generates an intermediate plaintext MM by performing additive encryption on the plaintext M using the random number U (step S23).
  • the isometric encryption unit 303 generates ciphertext C by performing isometric encryption of the intermediate plaintext MM (step S24).
  • the ciphertext output unit 105 outputs the ciphertext C and the random number U (step S25).
  • the encryption device 30 ends the operation.
  • the encryption apparatus prevents information leakage related to plaintext when random number collision occurs without increasing the random number length or introducing a state variable in encryption with random numbers.
  • the performance can be improved.
  • the encryption apparatus when the minimum length of the plaintext is 2n bits, it is O (q 2/2 2n) degree in computational determination difficulty, the present invention This is because the safety can be further improved with respect to the first embodiment.
  • the encryption device when the minimum length of the plaintext is n bits, the encryption device according to a third embodiment of the present invention will become O (q 4/2 2n) in computational determination difficulty.
  • the encryption apparatus as the third embodiment of the present invention is not as general as the first embodiment of the present invention when the plaintext minimum length is n bits, but is not as general as the first embodiment of the present invention. It is possible to further increase the security of encryption with random numbers by means of encryption and encryption with random numbers using TES.
  • the decryption device 40 according to the fourth embodiment of the present invention is a device for decrypting the ciphertext encrypted by the encryption device 30 according to the third embodiment of the present invention.
  • the decryption device 40 is configured by a general-purpose computer device having the hardware configuration shown in FIG. 2, similarly to the encryption device 10 as the first embodiment of the present invention.
  • the ROM 1003 and the storage device 1004 store a computer program for causing the computer device to function as the decoding device 40. That is, when the CPU 1001 executes the computer program stored in the ROM 1003 and the storage device 1004 using the RAM 1002 as a work area, the computer device functions as the decryption device 40.
  • the decryption device 40 includes a ciphertext acquisition unit 200, an equal length decryption unit 403, an additive decryption unit 404, and a plaintext output unit 205.
  • the equal-length decoding unit 403 corresponds to the first decoding unit
  • the additive decoding unit 404 in the subsequent stage corresponds to the second decoding unit.
  • the equal-length decoding unit 403 and the additive decoding unit 404 are configured by a CPU 1001 that executes a computer program.
  • the isometric decryption unit 403 obtains an intermediate plaintext MM having the same length as the ciphertext C by performing isometric decryption on the ciphertext C acquired by the ciphertext acquisition unit 200.
  • the equal length decryption unit 403 receives, as an input, the ciphertext C instead of the intermediate ciphertext CC as an input and the intermediate plaintext MM as an input to the equal length decryption unit 203 in the second embodiment of the present invention.
  • the configuration is the same as that of the equal length decoding unit 203 except that the intermediate plaintext MM is output.
  • the additive decryption unit 404 acquires plaintext M by performing additive decryption on the intermediate plaintext MM acquired by the isometric decryption unit 203 using the random number U acquired by the ciphertext acquisition unit 200.
  • the additive decryption unit 404 receives the intermediate plaintext MM as an input instead of outputting the intermediate ciphertext CC with the ciphertext C as an input to the additive decryption unit 204 according to the second embodiment of the present invention.
  • the configuration is the same as that of the additive decryption unit 204 except that plaintext M is output.
  • the ciphertext acquisition unit 200 acquires the ciphertext C and the random number U (step S31).
  • the isometric decryption unit 403 obtains an intermediate plaintext MM having the same length as the ciphertext C by performing isometric decryption on the ciphertext C (step S32).
  • the additive decryption unit 404 acquires plaintext M by performing additive decryption on the intermediate plaintext MM using the random number U (step S33).
  • the plaintext output unit 205 outputs plaintext M (step S34).
  • the decoding device 40 ends the operation.
  • the decryption device has the capability of preventing information leakage related to plaintext when a random number collision occurs without increasing the random number length or introducing a state variable in encryption with random numbers. It is possible to decrypt a ciphertext with a higher
  • the reason is that the obtained plaintext is first obtained by performing isometric decryption on the obtained ciphertext, and the plaintext is obtained by performing additive decryption on the obtained intermediate plaintext using a random number. is there.
  • the decryption apparatus can more efficiently execute the decryption process of ciphertext that further enhances the information leakage prevention performance regarding plaintext when a random number collision occurs. it can.
  • the process executed by the isometric decoder and the process executed by the additive decoder can be executed in parallel.
  • the decryption device performs the addition in parallel with the process of performing the equal length decryption process on the ciphertext by the equal length decryption unit. This is because the process of generating a pseudo-random number sequence can be executed by the automatic decoding unit.
  • the isometric encryption unit and the additive encryption unit use independent keys, but the same key can be used.
  • the operations of the encryption device and the decryption device described with reference to the respective flowcharts are stored in the storage device (storage medium) of the encryption device and the decryption device as the computer program of the present invention.
  • the computer program may be read and executed by the CPU.
  • the present invention is constituted by the code of the computer program or a storage medium.
  • (Appendix 1) A plaintext acquisition unit for acquiring plaintext; A random number generator for generating random numbers; An isometric encryption unit that generates an intermediate ciphertext having the same length as the plaintext by performing isometric encryption on the plaintext; An additive encryption unit that generates ciphertext by performing additive encryption on the intermediate ciphertext using the random number; A ciphertext output unit for outputting the ciphertext and the random number;
  • An encryption device comprising: (Appendix 2) A ciphertext acquisition unit for acquiring a ciphertext and a random number; An additive decryption unit for obtaining an intermediate ciphertext by performing an additive decryption of the ciphertext using the random number; An isometric decryption unit that obtains a plaintext having the same length as the intermediate ciphertext by performing isometric decryption on the intermediate ciphertext;
  • a plaintext output unit for
  • the equal length decryption unit obtains an intermediate plaintext obtained by performing equal length decryption on the intermediate ciphertext,
  • the decoding apparatus according to appendix 2 further comprising an offset processing unit that acquires the plaintext by performing offset processing on the intermediate plaintext using the random number.
  • (Appendix 5) A plaintext acquisition unit for acquiring plaintext; A random number generator for generating random numbers; An additive encryption unit that generates intermediate plaintext by performing additive encryption on the plaintext using the random number; An isometric encryption unit that generates ciphertext having the same length as the intermediate plaintext by performing isometric encryption on the intermediate plaintext; A ciphertext output unit for outputting the ciphertext and the random number;
  • An encryption device comprising: (Appendix 6) A ciphertext acquisition unit for acquiring a ciphertext and a random number; An isometric decryption unit that obtains an intermediate plaintext having the same length as the ciphertext by performing isometric decryption on the ciphertext; An additive decryption unit that obtains plaintext by performing additive decryption on the intermediate plaintext using the random number; A plaintext output unit for outputting the plaintext;
  • a decoding device comprising: (Appendix 7) The encryption apparatus according to any one of Supplementary Note 1, Supplementary Note 3,
  • Appendix 8 The decryption apparatus according to any one of appendix 2, appendix 4, and appendix 6, wherein the additive decryption unit performs the additive decryption in an XOR mode based on block cipher.
  • Appendix 9 The encryption according to any one of appendix 1, appendix 3, appendix 5 and appendix 7, wherein the isometric encryption unit performs the isometric encryption based on a TES (Tweakable Enciphering Scheme) based on block cipher Device.
  • TES Strongable Enciphering Scheme
  • the decryption device according to any one of appendix 2, appendix 4, appendix 6, and appendix 8, wherein the equal length decryption unit performs the isometric decryption based on a TES based on a block cipher.
  • the encryption device Get plaintext, Generate random numbers, By performing isometric encryption on the plaintext, an intermediate ciphertext having the same length as the plaintext is generated, By performing additive encryption on the intermediate ciphertext using the random number, a ciphertext is generated, An encryption method for outputting the ciphertext and the random number.
  • the decryption device Get the ciphertext and random number, An intermediate ciphertext is obtained by performing additive decryption of the ciphertext using the random number, By performing isometric decryption on the intermediate ciphertext, a plaintext having the same length as the intermediate ciphertext is obtained, A decryption method for outputting the plaintext.
  • the encryption device is Before performing the isometric encryption, an intermediate plaintext is generated by performing an offset process using the random number on the plaintext, The encryption method according to appendix 11, wherein the intermediate ciphertext is generated by performing isometric encryption on the intermediate plaintext.
  • the decoding device is Obtaining the intermediate ciphertext as isencryption obtained by performing isometric decryption, The decryption method according to appendix 12, wherein the plaintext is obtained by performing offset processing on the intermediate plaintext using the random number.
  • the encryption device Get plaintext, Generate random numbers, An intermediate plaintext is generated by performing additive encryption on the plaintext using the random number, By performing isometric encryption on the intermediate plaintext, a ciphertext having the same length as the intermediate plaintext is generated, An encryption method for outputting the ciphertext and the random number.
  • the decryption device Get the ciphertext and random number, By performing isometric decryption on the ciphertext, an intermediate plaintext having the same length as the ciphertext is obtained, The plaintext is obtained by performing additive decryption on the intermediate plaintext using the random number, A decryption method for outputting the plaintext.
  • (Appendix 18) A ciphertext acquisition step of acquiring a ciphertext and a random number; An additive decryption step of obtaining an intermediate ciphertext by performing an additive decryption of the ciphertext using the random number; An isometric decryption step of obtaining a plaintext having the same length as the intermediate ciphertext by performing isometric decryption on the intermediate ciphertext; A plaintext output step for outputting the plaintext; A computer program that causes a computer to execute. (Appendix 19) Before the isometric encryption step, the computer further executes an offset processing step for generating an intermediate plaintext by performing an offset processing using the random number on the plaintext, 18.

Abstract

 乱数長を増加したり状態変数を導入することなく、乱数の衝突が起きたときの平文に関する情報漏洩の防止性能を向上することができる暗号化装置を提供すること。暗号化装置は、乱数を生成する乱数生成部と、入力された平文に対し、等長暗号化または加法的暗号化のいずれか一方を行って中間暗号文を生成する第1の暗号化部と、前記中間暗号文に対し、等長暗号化または加法的暗号化のうち、前記第1の暗号化部で行わなかった方の処理を行うことにより、暗号文を生成する第2の暗号化部と、前記暗号文および前記加法的暗号化に用いた乱数を出力する暗号文出力部と、を備える。

Description

暗号化装置、復号装置、暗号化方法、復号方法、および、コンピュータ・プログラム
 (関連出願についての記載)
 本発明は、日本国特許出願:特願2010-162735号(2010年7月20日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
 本発明は、共通鍵を用いた暗号化技術に関し、特に、共通鍵に加えて乱数を用いて暗号化を行う乱数付き暗号化による暗号化装置、復号装置、暗号化方法、復号方法、および、コンピュータ・プログラムに関する。
 共通鍵暗号の技術としては、乱数付き暗号化(Randomized Encryption, REnc)、状態変数付き暗号化(Stateful Encryption, SEnc)、および、決定的暗号化(Deterministic Encryption, DEnc)等が知られている。
 乱数付き暗号化とは、秘密に共通鍵を共有する暗号化装置および復号装置において、暗号化装置が、暗号化対象の平文ごとに乱数を生成し、生成した乱数および共通鍵を用いて平文を暗号化し、暗号文および乱数を復号装置に対して送信する技術である。これにより、乱数付き暗号化は、共通鍵を知らない第三者による盗聴を防ぐことができる。なお、以下では、共通鍵のことを単に鍵とも記載する。
 乱数付き暗号化では、暗号文Cは次式で表される。
C=Enc(K,M,U)
ここで、Mは平文、Kは鍵、Uは乱数、Encは暗号化関数を表す。また、暗号化装置は、暗号文Cおよび乱数Uを、通信路を通じて復号装置に送信する。
 状態変数付き暗号化とは、暗号化装置が、カウンター等の状態変数および共通鍵を用いて平文を暗号化し、暗号文および状態変数を復号装置に対して送信する技術である。
 決定的暗号化とは、暗号化装置が、平文と鍵以外の付加的情報を用いずに平文の暗号化を行う技術である。決定的暗号化では、メッセージ認証の機能を求めない場合には、平文と暗号文との長さを等しくすることが、冗長性排除の観点から望ましいとされる。この条件を満たす決定的暗号化は、等長暗号化(Length-Preserving Encryption, LPE)とも呼ばれる。
 等長暗号化として提案されている技術としては、例えば非特許文献1に記載のHCTRモードのように、ブロック暗号を利用したモードとして実現されるものがある。また、等長暗号化として提案されている他の技術としては、非特許文献2に記載されたMercyのように、単体のブロック暗号として一から構成されるものもある。
 このような等長暗号化の技術は、主としてストレージの暗号化に用いられる。ストレージの暗号化では、ハードディスクのセクタ等といったストレージの単位ごとに独立な暗号化が必要となることがある。このような場合に対応する等長暗号化の技術として、暗号化および復号の際に、平文および暗号文に加えて、tweakと呼ばれる付加的パラメータを用いるものがある。tweakとしては、例えば、ストレージの単位ごとに振られたアドレスが用いられる。
 このようなtweakを用いた等長暗号化は、Tweakable Enciphering Scheme(TES)と呼ばれる。非特許文献1に記載されたHCTRモードは、TESの一例である。TESは、等長暗号化を拡張した技術であり、TESにおいてtweakを固定することにより、等長暗号化が実現される。
 このようなTESの他の一例として、非特許文献3に記載されたHEHモードがある。HCTRモードやHEHモードでは、暗号化装置は、tweakをパラメータとする2つのユニバーサルハッシュ関数を用いて平文を暗号化する。ここで、ユニバーサルハッシュ関数は、任意の2入力に対応した2出力系列の衝突確率や差分確率のみを小さく保証する鍵付き関数である。
 また、非特許文献4には、並列処理可能なTESのモードとしてEMEモードが記載されている。
 また、非特許文献5には、tweakを持たないnビットブロック暗号からnビットのtweakableなブロック暗号を構成する技術が記載されている。
 なお、状態変数付き暗号化や乱数付き暗号化で用いられるカウンターや乱数は、初期ベクトル(Initial Vector, IV)とも呼ばれる。このため、状態変数付き暗号化および乱数付き暗号化は、総称してIVベース暗号化とも呼ばれる。
 また、状態変数を用いない乱数付き暗号化および決定的暗号化は、総称して状態変数無し暗号化(Stateless Encryption)とも呼ばれる。
 このような状態変数無し暗号化は、状態変数付き暗号化に対して、複数の暗号化装置が同じ鍵を非同期的に利用する場合や暗号化装置が状態を管理するための不揮発性メモリを有していない場合等でも使用可能である、というメリットを有する。
 このようなメリットを持つ乱数付き暗号化は、典型的には、加法的暗号化で実現される。加法的暗号化では、まず、nビット入力可変長出力の暗号化関数Fにnビット乱数Uを与えて平文Mと同じ長さの出力を得る。そして、暗号化関数Fの出力と、平文Mとの和をとることにより、暗号文を得る。ここで、和とは、排他的論理和(exclusive or, XOR)を意味する。
 このような加法的暗号化について、図1を参照して説明する。図1は、ブロック暗号によるXORモードで加法的暗号化を実現する例である。図1において、乱数Uはnビット長である。また、平文Mは、nビット長のL個のブロックM[1]~M[L]によって構成される。nビット入力可変長出力の暗号化関数Fは、与えられた乱数Uを更新(1を算術加算)し、更新した乱数Uをnビットブロック暗号Ekに入力することにより実現される。そして、L個のnビットブロック暗号Ekの出力と、平文M[1]~M[L]とが排他的論理和されることにより、暗号文C[1]~C[L]が得られる。このような加法的暗号化については、例えば、特許文献1に記載されている。
 加法的暗号化による乱数付き暗号化は、簡素で効率がよい反面、もし、異なる2平文の暗号化において乱数が一致(以下、衝突ともいう)した場合、平文情報が漏洩する可能性があるという問題がある。
 これは、2つの暗号文C=Enc(M,U,K)=F(K,U)+Mと、C'=Enc(M',U',K)=F(K,U')+M'とにおいて、U=U'であれば、常にC+C'=M+M'が成立するためである。なお、“+”は、ビットごとの排他的論理和を指す。このことは、乱数衝突を観測した攻撃者は、対応する2平文の差分を知ることを意味する。一般的に、このような平文情報の漏洩は重大である。
 一方、加法的暗号化による状態変数付き暗号化では、状態変数を重複無く更新することにより常に暗号化関数Fへの入力がユニークとなり、上記の問題は回避される。
 加法的暗号化による乱数付き暗号化において、乱数衝突が起きる確率は、q個の平文について約q2/2nである。このため、2n/2個の平文について暗号化を行えば、約1回の乱数衝突が期待される。したがって、加法的暗号化による乱数付き暗号化では、q2/2nが無視できるほど小さくなるようにnを大きくとるか、qを小さくとる必要がある。すなわち、一つの鍵で処理する平文の数qを、2n/2より十分小さくする必要がある。なお、q2/2nは、nに関するバースデーバウンドと呼ばれる。
 ブロック暗号によるXORモードでは、nを大きくとる場合、使用するブロック暗号のブロックサイズを大きくする必要があり、一般的にはブロック暗号自体の変更を必要とする。これを不要とする技術が、非特許文献6に記載されているENCRXである。ENCRXは、nビット長の平文を暗号化する際に、2nビット長の乱数を必要としている。
特開2003-324424号公報
P. Wang, D. Feng, and W. Wu. HCTR: A Variable-Input-Length Enciphering Mode. Information Security and Cryptology, First SKLOIS Conference, CISC 2005, LNCS 3822, pp. 175-188, 2005. P. Crowley. Mercy: A Fast Large Block Cipher for Disk Sector Encryption. Fast Software Encryption- FSE'00, LNCS 1978, pp. 49-63, 2000. P. Sarkar. Improving Upon the TET Mode of Operation, K.-H. Nam and G. Rhee (Eds.): ICISC 2007, LNCS 4817, pp. 180-192, 2007. S. Halevi and P. Rogaway. A Parallelizable Enciphering Mode, Proceeding of RSA Conference 2004, Cryptographer's Track, pp. 292-304. M. Liskov, R. Rivest, D. Wagner, Tweakable Block Ciphers, Advances in Cryptology - CRYPTO 2002, 22nd Annual International Cryptology Conference, Santa Barbara, California, USA, August 18-22, 2002, Proceedings. Lecture Notes in Computer Science 2442 Springer 2002, pp. 31-46. M. Bellare, O. Goldreich, and H. Krawczyk, Stateless evaluation of pseudorandom functions: Security beyond the birthday barrier, Advances in Cryptology - CRYPTO '99, 19th Annual International Cryptology Conference, Santa Barbara, California, USA, August 15-19, 1999, Proceedings. Lecture Notes in Computer Science 1666 Springer 1999, pp. 270-287.
 なお、上記特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。
 以下の分析は、本発明者によってなされたものである。
 しかしながら、一般的な加法的暗号化による乱数付き暗号化では、上述のように、乱数衝突により平文の差分が漏洩する可能性が高いという課題があった。乱数長を伸ばすことや状態変数を導入することにより、この問題を解決することは可能である。しかしながら、そのような解決策は、通信メッセージのフォーマット変更、通信のオーバーヘッドの増加、あるいは暗号化デバイスの状態変数管理等、システム上の大きな変更を必要とする。このような変更は、システムの制約上不可能な場合もある。したがって、乱数長を伸ばすことや状態変数を導入することは、回避されることが望ましい。
 また、非特許文献6に記載されたものは、上述のように、乱数衝突による平文情報の漏洩の問題を解決するために、平文の長さの2倍の長さの乱数を必要とする。また、非特許文献6には、さらに長い平文を暗号化する技術については述べられていない。したがって、非特許文献6に記載されたENCRXを、長い平文に対して単純に適用すると、通信におけるオーバーヘッドが大きく増加するというデメリットがある。
 また、非特許文献1、3、4、5に記載されたものでは、TESをnビットブロック暗号で実現し、乱数をtweakとして用いることにより乱数付き暗号化を実現可能である。このようなTESによる乱数付き暗号化は、一見、乱数衝突による平文情報の漏洩の課題を回避しているように見える。
 しかしながら、一般に、TESをnビットブロック暗号で実現した場合、2n/2回程度の暗号化処理を行うと内部変数の衝突等により鍵の一部が漏洩することが知られている。このため、TESによる乱数付き暗号化においても、乱数衝突が期待されるほどの大量の暗号化を行った場合には、平文情報が漏洩する可能性が高い。したがって、乱数付き暗号化をTESを用いて実現することは、上述の課題の解決策とならない。
 本発明は、上述の課題を解決するためになされたもので、乱数付き暗号化において、乱数長を増加したり状態変数を導入することなく、乱数の衝突が起きたときの平文に関する情報漏洩の防止性能を向上することを目的とする。
 本発明の第1の視点によれば、乱数を生成する乱数生成部と、入力された平文に対し、等長暗号化または加法的暗号化のいずれか一方を行って中間暗号文を生成する第1の暗号化部と、前記中間暗号文に対し、等長暗号化または加法的暗号化のうち、前記第1の暗号化部で行わなかった方の処理を行うことにより、暗号文を生成する第2の暗号化部と、前記暗号文および前記加法的暗号化に用いた乱数を出力する暗号文出力部と、を備える暗号化装置が提供される。
 本発明の第2の視点によれば、暗号文および乱数が入力される入力部と、入力された暗号文に対し、等長復号または加法的復号のいずれか一方を行って中間暗号文を生成する第1の復号部と、前記中間暗号文に対し、等長復号または加法的復号のうち、前記第1の復号部で行わなかった方の処理を行うことにより、平文を生成する第2の復号部と、前記平文を出力する平文出力部と、を備える復号装置が提供される。
 本発明の第3の視点によれば、入力された平文に対し、等長暗号化または加法的暗号化のいずれか一方を行って中間暗号文を生成する第1の暗号化ステップと、前記中間暗号文に対し、等長暗号化または加法的暗号化のうち、前記第1の暗号化部で行わなかった方の処理を行うことにより、暗号文を生成する第2の暗号化ステップと、前記暗号文および前記加法的暗号化に用いた乱数を出力する暗号文出力ステップと、を含む暗号化方法が提供される。本方法は、上述した各ステップを実施可能なコンピュータという、特定の機械に結びつけられている。
 本発明の第4の視点によれば、入力された暗号文に対し、等長復号または加法的復号のいずれか一方を行って中間暗号文を生成する第1の復号ステップと、前記中間暗号文に対し、等長復号または加法的復号のうち、前記第1の復号部で行わなかった方の処理を行うことにより、平文を生成する第2の復号ステップと、前記平文を出力する平文出力ステップと、含む復号方法が提供される。本方法は、上述した各ステップを実施可能なコンピュータという、特定の機械に結びつけられている。
 本発明の第5の視点によれば、入力された平文に対し、等長暗号化または加法的暗号化のいずれか一方を行って中間暗号文を生成する第1の暗号化処理と、前記中間暗号文に対し、等長暗号化または加法的暗号化のうち、前記第1の暗号化部で行わなかった方の処理を行うことにより、暗号文を生成する第2の暗号化処理と、前記暗号文および前記加法的暗号化に用いた乱数を出力する暗号文出力処理と、をコンピュータに実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
 本発明の第6の視点によれば、入力された暗号文に対し、等長復号または加法的復号のいずれか一方を行って中間暗号文を生成する第1の復号処理と、前記中間暗号文に対し、等長復号または加法的復号のうち、前記第1の復号部で行わなかった方の処理を行うことにより、平文を生成する第2の復号処理と、前記平文を出力する平文出力処理と、をコンピュータに実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
 本発明は、乱数付き暗号化において、乱数長を増加したり状態変数を導入することなく、乱数の衝突が起きたときの平文に関する情報漏洩の防止性能を向上することができる暗号化装置および復号装置を提供することができる。
一般的な加法的暗号化を説明する図である。 本発明の第1の実施の形態としての暗号化装置のハードウェア構成を示すブロック図である。 本発明の第1の実施の形態としての暗号化装置の機能ブロック図である。 本発明の第1の実施の形態における等長暗号化部が用いるTESの構成を説明する図である。 本発明の第1の実施の形態としての暗号化装置の動作を説明するフローチャートである。 本発明の第2の実施の形態としての復号装置の機能ブロック図である。 本発明の第2の実施の形態としての復号装置の動作を説明するフローチャートである。 本発明の第3の実施の形態としての暗号化装置の機能ブロック図である。 本発明の第3の実施の形態としての暗号化装置の動作を説明するフローチャートである。 本発明の第4の実施の形態としての復号装置の機能ブロック図である。 本発明の第4の実施の形態としての復号装置の動作を説明するフローチャートである。
 以下、本発明の実施の形態について、図面を参照して説明する。なお、以下では、とくに断りのない限り、“+”は、ビットごとの排他的論理和を表すものとする。
 (第1の実施の形態)
 本発明の第1の実施の形態としての暗号化装置10のハードウェア構成を図2に示す。図2において、暗号化装置10は、CPU(Central Processing Unit)1001と、RAM(Random Access Memory)1002と、ROM(Read Only Memory)1003と、ハードディスク等の記憶装置1004と、キーボード等の入力装置1005と、ディスプレイ等の出力装置1006と、ネットワークインタフェース1007とを備えた汎用的なコンピュータ装置によって構成されている。
 ROM1003および記憶装置1004には、コンピュータ装置を暗号化装置10として機能させるためのコンピュータ・プログラムが記憶されている。すなわち、CPU1001がRAM1002を作業領域としてROM1003および記憶装置1004に記憶されたコンピュータ・プログラムを実行することにより、コンピュータ装置は、暗号化装置10として機能する。
 次に、暗号化装置10の機能ブロック構成について、図3を参照して説明する。
 暗号化装置10は、平文取得部(入力部)100と、乱数生成部101と、オフセット処理部102と、等長暗号化部103と、加法的暗号化部104と、暗号文出力部105と、を備えている。なお、本実施形態では、等長暗号化部103が、第1の暗号化部に相当し、その後段にある加法的暗号化部104が、第2の暗号化部に相当する。
 ここで、平文取得部100は、入力装置1005、および、コンピュータプログラムを実行するCPU1001によって構成される。また、乱数生成部101、オフセット処理部102、等長暗号化部103および加法的暗号化部104は、コンピュータプログラムを実行するCPU1001によって構成される。暗号文出力部105は、出力装置1006、および、コンピュータプログラムを実行するCPU1001によって構成される。
 平文取得部100は、暗号化の対象となる平文Mを取得する。平文取得部100は、例えば、キーボード等の入力装置1005を介して平文Mを取得してもよい。また、平文取得部100は、平文Mを、記憶装置1004から読み込むことにより取得してもよい。また、平文取得部100は、平文Mを、ネットワークインタフェース1007を介して受信することにより取得してもよい。
 なお、図1は、平文Mの最小長がnビットの例を示しており、平文MがL個のnビットブロックM[1]~M[L]に分割されて各部によって処理されることを示している。
 乱数生成部101は、平文Mとは独立にnビットの乱数Uを生成する。乱数生成部101は、熱雑音等の物理現象を表す値に基づいて乱数Uを生成してもよい。また、乱数生成部101は、汎用的なコンピュータ装置に搭載されるOS(Operating System)に付属するコンピュータ・プログラムを利用することにより、キーボード等の入力装置1005を介して入力される情報を乱数発生用のソースとして乱数Uを生成してもよい。いずれにせよ、乱数生成部101は、十分高いエントロピーを持つ乱数Uを生成することが好ましい。
 オフセット処理部102は、平文取得部100によって取得された平文Mに対して、乱数生成部101によって生成された乱数Uを用いてオフセット処理を行うことにより、中間平文MMを生成する。
 具体的には、オフセット処理部102は、平文Mおよび乱数Uのうち長さが短い方に対してゼロパディングを行うことにより平文Mおよび乱数Uの長さを等しくする。そののち、オフセット処理部102は、平文Mおよび乱数Uの排他的論理和を計算することにより中間平文MMを生成する。
 すなわち、オフセット処理部102は、平文Mの最小長がnビットである場合には、平文Mの先頭nビットへ乱数Uを排他的論理和する。
 なお、オフセット処理部102は、平文Mおよび乱数Uの長さを等しくした後、排他的論理和に限らず、算術加算等の群演算を行うことより中間平文MMを生成してもよい。
 等長暗号化部103は、オフセット処理部102によって生成された中間平文MMに対して、長さを変えずに暗号化する等長暗号化を行うことにより、中間暗号文CCを生成する。等長暗号化部103は、等長暗号化においてカウンターや乱数等の初期ベクトルを用いない。
 ここで、等長暗号化部103が用いる等長暗号化関数をLPE、鍵の空間をSetK、平文の空間をSetMとすると、等長暗号化関数LPEは定義域がSetK×SetM、値域がSetMの関数である。また、等長暗号化関数LPEは、LPE(K,M)の長さが常にMのそれと等しく、任意の固定された鍵KについてLPE(K,*)がSetM上の置換となるものである(“×”は直積を表し、“*”は任意の平文Mを表す)。
 また、等長暗号化関数LPEは、選択平文攻撃に対して真のランダム置換と計算量的に識別困難な安全性を有することが好ましい。例えば、平文Mの長さが常にnビットの場合、等長暗号化関数LPEは、既存のnビットブロック暗号によって構成可能である。もし、平文Mの長さがnビット以上の可変値の場合、等長暗号化関数LPEは、ブロック暗号によるTESによって構成可能である。なお、この場合、TESにおけるtweakは任意の値に固定される。
 等長暗号化関数LPEを実現するブロック暗号によるTESとしては、例えば、非特許文献1に記載のHCTRモード、非特許文献3に記載のHEHモード、あるいは非特許文献4に記載のEMEモード等を用いることができる。
 また、等長暗号化部103は、選択平文攻撃に対する安全性を保証すればよい。このため、等長暗号化部103は、等長暗号化関数LPEをブロック暗号によるTESを用いて構成する場合、TESにおいて選択暗号文攻撃に対する安全性を保証する処理を省略することにより、処理を簡略化してもよい。
 ここで、HCTRモードおよびHEHモード等の、ブロック暗号によるTESの大域的構成を図4に示す。ブロック暗号によるTESは、平文を第1のユニバーサルハッシュ関数によって処理した結果に対して、ブロック暗号ベースの暗号化を行い、さらに、第2のユニバーサルハッシュ関数によって処理した結果を暗号文として出力する。
 等長暗号化部103は、図4における第2のユニバーサルハッシュ関数による処理を省略しても、選択平文攻撃への安全性を保つことができる。
 例えば、特許文献3に記載のHEHモードは、tweakをτとしたとき、任意のτをパラメータとして逆関数が存在する2つのユニバーサルハッシュ関数ψτ,β1およびψ-1 τ,β2を用いるものである。HEHモードは、ψτ,β1で平文Xを処理(ただし出力長は平文長と同じ)したのち、ブロック暗号のECBモードへ処理結果を与え、さらにψ-1 τ,β2を適用して暗号文Yを求める。すなわち、HEHモードでは、平文X、tweakτに対する暗号文Yは、
Y=ψ-1 τ,β2 (ECB(ψτ,β1 (X)))
と表される。
 このとき、ψ-1 τ,β2を省略しても、選択平文攻撃への安全性が保たれる。したがって、等長暗号化部103は、ユニバーサルハッシュ関数ψτ,β1およびECBモードの合成によって構成されてもよい。この場合、等長暗号化部103は、次式によって中間平文MMから中間暗号文CCを生成する。
CC=ECB(ψτ,β1(MM))
 なお、等長暗号化部103は、ブロック暗号によるTESに限らず、等長暗号化を行うその他の技術を用いて実現されてもよい。
 加法的暗号化部104は、乱数Uを用いて中間暗号文CCに対する加法的暗号化を行うことにより、暗号文Cを生成する。
 例えば、加法的暗号化部104は、ブロック暗号によるXORモードに基づく処理を実行するよう構成されていてもよい。この場合、加法的暗号化部104は、乱数生成部101によって生成される乱数Uを初期ベクトルとして、中間暗号文CCと同じ長さの疑似乱数系列を生成する。そして、加法的暗号化部104は、疑似乱数系列と中間暗号文CCとの排他的論理和をとることで暗号文Cを生成する。生成される暗号文Cは次式で表される。なお、Fは、nビット入力可変長出力の疑似ランダム関数PRFを表し、KEは鍵を表す。
C=F(KE,U)+CC
 ここで、疑似ランダム関数PRFは、図1に示したような、nビットブロック暗号EのXORモードによって構成してもよい。この場合、加法的暗号化部104は、中間暗号文CCがnビットごとに分割されたCC[1],CC[2],...,CC[L]について、
C[i]=E(KE,inc(U,i-1))+CC[i]
をi=1,...,Lについて求め、C[1],...,C[L]を連結することにより暗号文Cを生成する。なお、inc(A,B)はA,Bを整数とみたAとBの算術加算(mod・2n)を表す。ここで、inc(U,i+1)=inc(inc(U,i))であるため、加法的暗号化部104は、図1のようにUを逐次更新(1の算術加算)しながら暗号化してもよい。
 なお、加法的暗号化部104は、ブロック暗号によるXORモードに限らず、その他の加法的暗号化の技術によって実現されてもよい。例えば、加法的暗号化部104は、初期ベクトルを持つストリーム暗号を疑似ランダム関数PRFとして用いて構成されていてもよい。
 暗号文出力部105は、乱数生成部101によって生成される乱数Uと、加法的暗号化部104によって生成される暗号文Cを、出力装置1006に出力する。なお、暗号文出力部105は、暗号文Cおよび乱数Uを、記憶装置1004に記憶することにより出力してもよい。また、暗号文出力部105は、暗号文Cおよび乱数Uを、ネットワークインタフェース1007を介して送信することにより出力してもよい。
 以上のように構成された暗号化装置10の動作について、図5を参照して説明する。
 まず、平文取得部100は、平文Mを取得する(ステップS1)。
 次に、乱数生成部101は、nビットの乱数Uを生成する(ステップS2)。
 次に、オフセット処理部102は、平文Mに対して、乱数Uを用いてオフセット処理を行うことにより、中間平文MMを生成する(ステップS3)。
 次に、等長暗号化部103は、中間平文MMに対して等長暗号化を行うことにより、中間暗号文CCを生成する(ステップS4)。
 次に、加法的暗号化部104は、中間暗号文CCに対して乱数Uを用いて加法的暗号化を行うことにより、暗号文Cを生成する(ステップS5)。
 次に、暗号文出力部105は、暗号文Cおよび乱数Uを出力する(ステップS6)。
 以上で、暗号化装置10は動作を終了する。
 なお、上述の説明において、平文Mの長さがnビット以上であるものとしているが、平文Mの長さがnビットより短い場合、暗号化装置10は、パディング処理等により平文Mの長さをnビット以上とすればよい。例えば、平文取得部100が、nビットより短い平文Mに対してパディング処理を行うことにより、平文Mの最小長nビットを保証するようにしてもよい。
 次に、本発明の第1の実施の形態の効果について述べる。
 本発明の第1の実施の形態としての暗号化装置は、乱数付き暗号化において、乱数長を増加したり状態変数を導入することなく、乱数の衝突が起きたときの平文に関する情報漏洩の防止性能を向上することができる。
 その理由は、暗号化装置が、平文を等長暗号化した中間暗号文に対して加法的暗号化を行うため、乱数の衝突がおきた場合にも、暗号文の差分から知られるのは中間暗号文の差分でしかない。したがって、乱数の衝突がおきた場合にも、対応する2つの平文がまったく同じ情報でない限り、暗号文同士が重複しない乱数となり、攻撃者には、「2つの平文が異なる」という情報以外に知られないためである。
 一方、一般的な加法的暗号化による乱数付き暗号化の場合、乱数の衝突がおきたときには、2つの平文の差分が、暗号文の差分から知られるという重大な情報漏洩が起きる。
 なお、もし乱数衝突において対応する2つの平文がまったく同じ場合には、本発明の実施の形態としての暗号化装置でも、「2つの平文が同じ」という情報が攻撃者に知られる。
 しかしながら、これは、あらゆる乱数付き暗号化における不可避の事象である。したがって、本発明の第1の実施の形態としての暗号化装置は、一般的な加法的暗号化による乱数付き暗号化の安全性の課題を、同じ乱数長のままで状態変数を導入することなく可能な限り改善することができる。
 形式的には、乱数付き暗号化の安全性は、乱数をtweakとして用いた理想的なTESとの計算量的判別困難性において計ることが可能である。理想的なTESとの計算量的判別困難性は、暗号化の回数等の関数で表現される。計算量的判別困難性は、0に近いほど、安全であることを意味し、1に近いほど、危険であることを意味する。また、暗号化の回数に対して、計算量的判別困難性が1に近づく速度が遅いほど、安全であるといえる。
 暗号化の回数をq、乱数長をnとした場合、一般的な加法的暗号化による乱数付き暗号化は、この計算量的判別困難性という指標においてO(q2/2n)である。
 また、非特許文献1に記載のHCTRモード、非特許文献3に記載のHEHモード、または非特許文献4に記載のEMEモード等のTESでnビットブロック暗号を用いた乱数付き暗号化も、tweakを乱数とした理想的なTESとの計算量的判別困難性においてO(q2/2n)である。したがって、nビットブロック暗号によるTESを用いた乱数付き暗号化の安全性は、一般的な加法的暗号化による乱数付き暗号化と同等となる。
 一方、本発明の第1の実施の形態における加法的暗号化部をnビットブロック暗号によるXORモードで実現し、等長暗号化部を同じくnビットブロック暗号によるTESで実現した(ただしtweakは任意の固定値)場合、平文の最小長がnビットであれば、上述の計算量的判別困難性においてO(q4/23n)程度を達成する。O(q4/23n)は、O(q2/2n)と比べてqに対する増加のスピードが大幅に遅い。
 したがって、理論的な意味でも、本発明の第1の実施の形態としての暗号化装置による乱数付き暗号化は、一般的な加法的暗号化による乱数付き暗号化およびnビットブロック暗号によるTESを用いた乱数付き暗号化に比べてより高い安全性を持つといえる。
 また、本発明の第1の実施の形態としての暗号化装置は、乱数の衝突が起きたときの平文に関する情報漏洩の防止性能を向上する暗号化処理を、より効率的に実行することができる。
 その理由は、本発明の第1の実施の形態としての暗号化装置において、等長暗号化部が実行する処理および加法的暗号化部が実行する処理を並列に実行可能なためである。具体的には、例えば、加法的暗号化部がブロック暗号によるXORモードに基づく処理を実行する場合、暗号化装置は、等長暗号化部が中間平文に対する等長暗号化処理を実行するのと並列に、加法的暗号化部が疑似乱数系列を生成する処理を実行することができるからである。
 なお、本発明の第1の実施の形態としての暗号化装置10は、オフセット処理部102を有していなくてもよい。その場合、等長暗号化部103は、平文取得部100からの出力である平文Mに対して上述の等長暗号化を行えばよい。
 このように構成された暗号化装置10も、上述の効果を奏することができる。
 しかしながら、本実施の形態としての暗号化装置は、オフセット処理部を有することにより、乱数の衝突が起きたときの平文に関する情報漏洩の防止性能をさらに向上することができる。
 その理由について、4つの同じ長さの平文M1, M2, M3, M4 を暗号化する場合を例に説明する。平文M1, M2, M3, M4が、M1 = M2, M3 = M4 (M1 ≠ M3)という条件を満たし、これらを暗号化するのに用いる乱数U1, U2, U3, U4が、U1 = U2、および、U3 = U4 (U1 ≠ U3)という条件を満たす場合、C1 = C2, C3 = C4 となる。
 このために、平文を知らない攻撃者にもM1 = M2, M3 = M4であるという情報が漏洩する。このとき、等長暗号化処理の前にオフセット処理を実行していないと、C1+C3 = C2+C4となることから、平文M1およびM3の差分が平文M2および平文M4の差分に等しいという情報がさらに漏洩する。
 一方、本発明の第1の実施の形態としての暗号化装置が、上述の条件を満たす平文M1, M2, M3, M4および乱数U1, U2, U3, U4を用いて暗号化を行う場合について考える。この場合、オフセット処理部を有することにより、C1+C3 = C2+C4であることから漏洩するのは、中間平文MM1およびMM3の差分が中間平文MM2およびMM4の差分に等しいという情報に過ぎない。したがって、本発明の実施の形態としての暗号化装置は、オフセット処理部を有することにより、乱数の衝突が起きたときの平文に関する情報漏洩の防止性能をさらに向上することができる。
 (第2の実施の形態)
 次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。本発明の第2の実施の形態としての復号装置20は、本発明の第1の実施の形態としての暗号化装置10によって暗号化された暗号文を復号する装置である。
 復号装置20は、本発明の第1の実施の形態としての暗号化装置10と同様に、図2に示したハードウェア構成を備えた汎用的なコンピュータ装置によって構成されている。
 ROM1003および記憶装置1004には、コンピュータ装置を復号装置20として機能させるためのコンピュータ・プログラムが記憶されている。すなわち、CPU1001がRAM1002を作業領域としてROM1003および記憶装置1004に記憶されたコンピュータ・プログラムを実行することにより、コンピュータ装置は、復号装置20として機能する。
 次に、復号装置20の機能ブロック構成について、図6を参照して説明する。図6において、復号装置20は、暗号文取得部200と、加法的復号部204と、等長復号部203と、オフセット処理部202と、平文出力部205とを備えている。なお、本実施形態では、加法的復号部204が、第1の復号部に相当し、その後段にある等長復号部203が、第2の復号部に相当する。
 ここで、暗号文取得部200は、記憶装置1004、および、コンピュータ・プログラムを実行するCPU1001によって構成される。また、加法的復号部204、等長復号部203およびオフセット処理部202は、コンピュータ・プログラムを実行するCPU1001によって構成される。平文出力部205は、出力装置1006、および、コンピュータ・プログラムを実行するCPU1001によって構成される。
 暗号文取得部200は、復号の対象となる暗号文Cおよび乱数Uを取得する。例えば、暗号文取得部200は、記憶装置1004に記憶された暗号文Cおよび乱数Uを取得してもよい。また、暗号文取得部200は、暗号文Cおよび乱数Uを、ネットワークインタフェース1007を介して受信することにより取得してもよい。
 加法的復号部204は、乱数Uを用いて暗号文Cの加法的復号を行うことにより、中間暗号文CCを取得する。例えば、加法的復号部204は、ブロック暗号によるXORモードに基づく処理を実行するよう構成されていてもよい。この場合、加法的復号部204は、本発明の第1の実施の形態における加法的暗号化部104に対して、中間暗号文CCを入力として暗号文Cを出力とする代わりに、暗号文Cを入力として中間暗号文CCを出力とする点が異なる以外は、加法的暗号化部104と同様に構成される。すなわち、加法的復号部204は、暗号文Cに対する中間暗号文CCを次式によって求める。
CC= F(KE,U)+C
 等長復号部203は、加法的復号部204によって取得された中間暗号文CCに対する等長復号を行うことにより、中間暗号文と同じ長さの中間平文MMを取得する。
 例えば、等長復号部203は、ブロック暗号によるTESに基づく処理を実行するよう構成されていてもよい。例えば、等長復号部203を、非特許文献3に記載のHEHモードで構成する場合、中間暗号文CCに対する中間平文MMは次式で表される。
MM=ψ-1 τ,β1 (ECB-1τ,β2(CC)))
 もし、本発明の第1の実施の形態としての暗号化装置10の等長暗号化部103が、第2のユニバーサルハッシュ関数の処理を省略している場合、等長復号部203は、中間暗号文CCに対する中間平文MMを、次式によって求める。
MM=ψ-1 τ,β1 (ECB-1(CC))
 オフセット処理部202は、等長復号部203によって取得された中間平文MMに対して乱数Uを用いてオフセット処理を行うことにより、平文Mを取得する。オフセット処理部202は、本発明の第1の実施の形態におけるオフセット処理部102に対して、平文Mを入力として中間平文MMを出力とする代わりに、中間平文MMを入力として平文Mを出力とする点が異なる以外は、オフセット処理部102と同様に構成される。
 平文出力部205は、オフセット処理部202によって取得された平文Mを、出力装置1006に出力する。なお、平文出力部205は、平文Mを、記憶装置1004に記憶することにより出力してもよい。また、平文出力部205は、平文Mを、ネットワークインタフェース1007を介して送信することにより出力してもよい。
 以上のように構成された復号装置20の動作について、図7を参照して説明する。
 まず、暗号文取得部200は、復号の対象となる暗号文Cおよび乱数Uを取得する(ステップS11)。
 次に、加法的復号部204は、乱数Uを用いて、暗号文Cの加法的復号を行うことにより、中間暗号文CCを取得する(ステップS12)。
 次に、等長復号部203は、中間暗号文CCに対する等長復号を行うことにより、中間暗号文CCと同じ長さの中間平文MMを生成する(ステップS13)。
 次に、オフセット処理部202は、中間平文MMに対して、乱数Uを用いてオフセット処理を行うことにより、平文Mを生成する(ステップS14)。
 次に、平文出力部205は、平文Mを出力する(ステップS15)。
 以上で、復号装置20は動作を終了する。
 次に、本発明の第2の実施の形態の効果について述べる。
 本発明の第2の実施の形態としての復号装置は、乱数付き暗号化において、乱数長を増加したり状態変数を導入することなく、乱数の衝突が起きたときの平文に関する情報漏洩の防止性能を向上するよう暗号化された暗号文を復号することができる。
 その理由は、取得した暗号文に対して乱数を用いた加法的復号を行うだけでなく、加法的復号を行った結果の中間平文に対して等長復号を行うことにより平文を取得するからである。
 なお、本発明の第2の実施の形態としての復号装置20は、本発明の第1の実施の形態としての暗号化装置10がオフセット処理部102を有していない場合、オフセット処理部202を有していなくてもよい。その場合、平文出力部205は、等長復号部203からの出力を平文Mとして出力すればよい。
 (第3の実施の形態)
 次に、本発明の第3の実施の形態について、図面を参照して詳細に説明する。
 本発明の第3の実施の形態としての暗号化装置30は、本発明の第1の実施の形態としての暗号化装置10と同様に、図2に示したハードウェア構成を備える汎用的なコンピュータ装置によって構成されている。
 ROM1003および記憶装置1004には、コンピュータ装置を暗号化装置30として機能させるためのコンピュータ・プログラムが記憶されている。すなわち、CPU1001がRAM1002を作業領域としてROM1003および記憶装置1004に記憶されたコンピュータ・プログラムを実行することにより、コンピュータ装置は、暗号化装置30として機能する。
 次に、暗号化装置30の機能ブロック構成について、図8を参照して説明する。なお、図8において、本発明の第1の実施の形態と同一の構成には同一の符号を付して本実施の形態における詳細な説明を省略する。暗号化装置30は、平文取得部100と、乱数生成部101と、加法的暗号化部304と、等長暗号化部303と、暗号文出力部105と、を備えている。なお、本実施形態では、加法的暗号化部304が、第1の暗号化部に相当し、その後段にある等長暗号化部303が、第2の暗号化部に相当する。
 ここで、加法的暗号化部304および等長暗号化部303は、コンピュータ・プログラムを実行するCPU1001によって構成される。
 平文取得部100は、本発明の第1の実施の形態と同様に構成されるが、安全性の観点から、乱数生成部101によって生成される乱数Uの長さがnビットのとき、2nビット以上の長さの平文Mを取得するのが好ましい。
 例えば、平文取得部100は、平文Mの長さが2nビットより短い場合、パディング処理等を行うことにより、平文Mの最小長2nビットを保証するようにしてもよい。
 加法的暗号化部304は、乱数Uを用いて平文Mに対する加法的暗号化を行うことにより、中間平文MMを生成する。
 加法的暗号化部304は、本発明の第1の実施の形態における加法的暗号化部104に対して、中間暗号文CCを入力として暗号文Cを出力する代わりに、平文Mを入力として中間平文MMを出力する点が異なる以外は、加法的暗号化部104と同様に構成される。
 例えば、加法的暗号化部304は、乱数生成部101によって生成される乱数Uを初期ベクトルとして、平文取得部100により取得された平文Mと同じ長さの疑似乱数系列を生成する。そして、加法的暗号化部304は、生成した疑似乱数系列と平文Mとの排他的論理和をとることで中間平文MMを生成してもよい。すなわち、加法的暗号化部304は、ブロック暗号によるXORモードに基づく処理を実行するよう構成されてもよい。
 なお、非特許文献6に記載のTweakable blockcipherでは、加法的暗号化に用いる暗号化関数に相当する処理として、ユニバーサルハッシュ関数を用いている。
 これに対して、加法的暗号化部304は、理論的安全性保証のために、暗号として十分な安全性を持った暗号化関数を用いることが好ましい。例えば、加法的暗号化部304は、ユニバーサルハッシュ関数で頻繁に用いられるガロア体上の乗算等を用いないことが好ましい。
 等長暗号化部303は、加法的暗号化部304によって生成された中間平文MMを、長さを変えずに暗号化することにより暗号文Cを生成する。
 また、等長暗号化部303は、本発明の第1の実施の形態における等長暗号化部103に対して、中間平文MMを入力として中間暗号文CCを出力する代わりに、中間平文MMを入力として暗号文Cを出力する点が異なる以外は、等長暗号化部103と同様に構成される。
 以上のように構成された暗号化装置30の動作について図9を参照して説明する。
 まず、平文取得部100は、暗号化対象の平文Mを取得する(ステップS21)。
 次に、乱数生成部101は、nビットの乱数Uを生成する(ステップS22)。
 次に、加法的暗号化部304は、平文Mに対して乱数Uを用いて加法的暗号化を行うことにより中間平文MMを生成する(ステップS23)。
 次に、等長暗号化部303は、中間平文MMを等長暗号化することにより暗号文Cを生成する(ステップS24)。
 次に、暗号文出力部105は、暗号文Cおよび乱数Uを出力する(ステップS25)。
 以上で、暗号化装置30は動作を終了する。
 次に、本発明の第3の実施の形態の効果について述べる。
 本発明の第3の実施の形態としての暗号化装置は、乱数付き暗号化において、乱数長を増加したり状態変数を導入することなく、乱数の衝突が起きたときの平文に関する情報漏洩の防止性能を向上することができる。
 その理由は、本発明の第3の実施の形態としての暗号化装置は、平文の最小長が2nビットの場合、計算量的判別困難性においてO(q2/22n)程度となり、本発明の第1の実施の形態に対して、さらに安全性を向上できるからである。
 なお、平文の最小長がnビットの場合、本発明の第3の実施の形態としての暗号化装置は、計算量的判別困難性においてO(q4/22n)となる。このため、本発明の第3の実施の形態としての暗号化装置は、平文の最小長がnビットの場合、本発明の第1の実施の形態ほどではないが、一般的な加法的暗号化による乱数付き暗号化やTESを用いた乱数付き暗号化に対して、より安全性を高めることができる。
 (第4の実施の形態)
 次に、本発明の第4の実施の形態について、図面を参照して詳細に説明する。
 本発明の第4の実施の形態としての復号装置40は、本発明の第3の実施の形態としての暗号化装置30によって暗号化された暗号文を復号する装置である。
 復号装置40は、本発明の第1の実施の形態としての暗号化装置10と同様に、図2に示すハードウェア構成を備えた汎用的なコンピュータ装置によって構成されている。
 ROM1003および記憶装置1004には、コンピュータ装置を復号装置40として機能させるためのコンピュータ・プログラムが記憶されている。すなわち、CPU1001がRAM1002を作業領域としてROM1003および記憶装置1004に記憶されたコンピュータ・プログラムを実行することにより、コンピュータ装置は、復号装置40として機能する。
 次に、復号装置40の機能ブロック構成について、図10を参照して説明する。なお、図10において、本発明の第2の実施の形態と同一の構成には同一の符号を付して本実施の形態における詳細な説明を省略する。図10において、復号装置40は、暗号文取得部200と、等長復号部403と、加法的復号部404と、平文出力部205と、を備えている。なお、本実施形態では、等長復号部403が、第1の復号部に相当し、その後段にある加法的復号部404が、第2の復号部に相当する。
 ここで、等長復号部403および加法的復号部404は、コンピュータ・プログラムを実行するCPU1001によって構成される。
 等長復号部403は、暗号文取得部200によって取得された暗号文Cに対する等長復号を行うことにより、暗号文Cと同じ長さの中間平文MMを取得する。
 また、等長復号部403は、本発明の第2の実施の形態における等長復号部203に対して、中間暗号文CCを入力として中間平文MMを出力する代わりに、暗号文Cを入力として中間平文MMを出力する点が異なる以外は、等長復号部203と同様に構成される。
 加法的復号部404は、暗号文取得部200によって取得された乱数Uを用いて、等長復号部203によって取得された中間平文MMに対する加法的復号を行うことにより平文Mを取得する。
 また、加法的復号部404は、本発明の第2の実施の形態における加法的復号部204に対して、暗号文Cを入力として中間暗号文CCを出力する代わりに、中間平文MMを入力として平文Mを出力する点が異なる以外は、加法的復号部204と同様に構成される。
 以上のように構成された復号装置40の動作について、図11を参照して説明する。
 まず、暗号文取得部200は、暗号文Cおよび乱数Uを取得する(ステップS31)。
 次に、等長復号部403は、暗号文Cに対する等長復号を行うことにより、暗号文Cと同じ長さの中間平文MMを取得する(ステップS32)。
 次に、加法的復号部404は、乱数Uを用いて、中間平文MMに対する加法的復号を行うことにより平文Mを取得する(ステップS33)。
 次に、平文出力部205は、平文Mを出力する(ステップS34)。
 以上で、復号装置40は動作を終了する。
 次に、本発明の第4の実施の形態の効果について述べる。
 本発明の第4の実施の形態としての復号装置は、乱数付き暗号化において、乱数長を増加したり状態変数を導入することなく、乱数の衝突が起きたときの平文に関する情報漏洩の防止性能をさらに高めた暗号文を復号することができる。
 その理由は、取得した暗号文に対してまず等長復号を行うことにより中間平文を取得し、取得した中間平文に対して乱数を用いて加法的復号を行うことにより、平文を取得するからである。
 また、本発明の第4の実施の形態としての復号装置は、乱数の衝突が起きたときの平文に関する情報漏洩の防止性能をさらに高めた暗号文の復号処理をより効率的に実行することができる。
 その理由は、本発明の第4の実施の形態としての復号装置において、等長復号部が実行する処理および加法的復号部が実行する処理を並列に実行可能なためである。具体的には、例えば、加法的復号部がブロック暗号によるXORモードに基づく処理を実行する場合、復号装置は、等長復号部によって暗号文に対する等長復号処理を実行する処理と並列に、加法的復号部によって疑似乱数系列を生成する処理を実行することができるからである。
 なお、上述した本発明の各実施の形態において、等長暗号化部および加法的暗号化部は、互いに独立した鍵を用いることが好ましいが、同一の鍵を流用することも可能である。
 なお、上述した本発明の各実施の形態において、各フローチャートを参照して説明した暗号化装置および復号装置の動作を、本発明のコンピュータ・プログラムとして暗号化装置および復号装置の記憶装置(記憶媒体)に格納しておき、係るコンピュータ・プログラムを当該CPUが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコード或いは記憶媒体によって構成される。
 また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
 また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
 また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
 平文を取得する平文取得部と、
 乱数を生成する乱数生成部と、
 前記平文に対する等長暗号化を行うことにより、前記平文と同じ長さの中間暗号文を生成する等長暗号化部と、
 前記乱数を用いて前記中間暗号文に対する加法的暗号化を行うことにより、暗号文を生成する加法的暗号化部と、
 前記暗号文および前記乱数を出力する暗号文出力部と、
 を備えた暗号化装置。
(付記2)
 暗号文および乱数を取得する暗号文取得部と、
 前記乱数を用いて前記暗号文の加法的復号を行うことにより、中間暗号文を取得する加法的復号部と、
 前記中間暗号文に対する等長復号を行うことにより、前記中間暗号文と同じ長さの平文を取得する等長復号部と、
 前記平文を出力する平文出力部と、
 を備えた復号装置。
(付記3)
 前記平文に対して前記乱数を用いてオフセット処理を行うことにより、中間平文を生成するオフセット処理部をさらに備え、
 前記等長暗号化部は、前記中間平文に対する等長暗号化を行うことにより、前記中間暗号文を生成することを特徴とする付記1に記載の暗号化装置。
(付記4)
 前記等長復号部は、前記中間暗号文に対して等長復号を行ったものを中間平文として取得し、
 前記中間平文に対して前記乱数を用いてオフセット処理を行うことにより、前記平文を取得するオフセット処理部をさらに備えることを特徴とする付記2に記載の復号装置。
(付記5)
 平文を取得する平文取得部と、
 乱数を生成する乱数生成部と、
 前記乱数を用いて前記平文に対する加法的暗号化を行うことにより、中間平文を生成する加法的暗号化部と、
 前記中間平文に対する等長暗号化を行うことにより、前記中間平文と同じ長さの暗号文を生成する等長暗号化部と、
 前記暗号文および前記乱数を出力する暗号文出力部と、
 を備えた暗号化装置。
(付記6)
 暗号文および乱数を取得する暗号文取得部と、
 前記暗号文に対する等長復号を行うことにより、前記暗号文と同じ長さの中間平文を取得する等長復号部と、
 前記乱数を用いて前記中間平文に対する加法的復号を行うことにより平文を取得する加法的復号部と、
 前記平文を出力する平文出力部と、
 を備えた復号装置。
(付記7)
 前記加法的暗号化部は、ブロック暗号によるXORモードで前記加法的暗号化を実行することを特徴とする付記1、付記3および付記5のいずれかに記載の暗号化装置。
(付記8)
 前記加法的復号部は、ブロック暗号によるXORモードで前記加法的復号を実行することを特徴とする付記2、付記4および付記6のいずれかに記載の復号装置。
(付記9)
 前記等長暗号化部は、ブロック暗号によるTES(Tweakable Enciphering Scheme)に基づき前記等長暗号化を実行することを特徴とする付記1、付記3、付記5および付記7のいずれかに記載の暗号化装置。
(付記10)
 前記等長復号部は、ブロック暗号によるTESに基づき前記等長復号を実行することを特徴とする付記2、付記4、付記6および付記8のいずれかに記載の復号装置。
(付記11)
 暗号化装置が、
 平文を取得し、
 乱数を生成し、
 前記平文に対する等長暗号化を行うことにより、前記平文と同じ長さの中間暗号文を生成し、
 前記乱数を用いて前記中間暗号文に対する加法的暗号化を行うことにより、暗号文を生成し、
 前記暗号文および前記乱数を出力する、暗号化方法。
(付記12)
 復号装置が、
 暗号文および乱数を取得し、
 前記乱数を用いて前記暗号文の加法的復号を行うことにより、中間暗号文を取得し、
 前記中間暗号文に対する等長復号を行うことにより、前記中間暗号文と同じ長さの平文を取得し、
 前記平文を出力する、復号方法。
(付記13)
 前記暗号化装置が、
 前記等長暗号化を行う前に、前記平文に対して前記乱数を用いてオフセット処理を行うことにより、中間平文を生成しておき、
 前記中間平文に対する等長暗号化を行うことにより、前記中間暗号文を生成することを特徴とする付記11に記載の暗号化方法。
(付記14)
 前記復号装置が、
 前記中間暗号文に対して等長復号を行ったものを中間平文として取得し、
 前記中間平文に対して前記乱数を用いてオフセット処理を行うことにより、前記平文を取得することを特徴とする付記12に記載の復号方法。
(付記15)
 暗号化装置が、
 平文を取得し、
 乱数を生成し、
 前記乱数を用いて前記平文に対する加法的暗号化を行うことにより、中間平文を生成し、
 前記中間平文に対する等長暗号化を行うことにより、前記中間平文と同じ長さの暗号文を生成し、
 前記暗号文および前記乱数を出力する、暗号化方法。
(付記16)
 復号装置が、
 暗号文および乱数を取得し、
 前記暗号文に対する等長復号を行うことにより、前記暗号文と同じ長さの中間平文を取得し、
 前記乱数を用いて前記中間平文に対する加法的復号を行うことにより平文を取得し、
 前記平文を出力する、復号方法。
(付記17)
 平文を取得する平文取得ステップと、
 乱数を生成する乱数生成ステップと、
 前記平文に対する等長暗号化を行うことにより、前記平文と同じ長さの中間暗号文を生成する等長暗号化ステップと、
 前記乱数を用いて前記中間暗号文に対する加法的暗号化を行うことにより、暗号文を生成する加法的暗号化ステップと、
 前記暗号文および前記乱数を出力する暗号文出力ステップと、
 をコンピュータに実行させるコンピュータ・プログラム。
(付記18)
 暗号文および乱数を取得する暗号文取得ステップと、
 前記乱数を用いて前記暗号文の加法的復号を行うことにより、中間暗号文を取得する加法的復号ステップと、
 前記中間暗号文に対する等長復号を行うことにより、前記中間暗号文と同じ長さの平文を取得する等長復号ステップと、
 前記平文を出力する平文出力ステップと、
 をコンピュータに実行させるコンピュータ・プログラム。
(付記19)
 前記等長暗号化ステップの前に、前記平文に対して前記乱数を用いてオフセット処理を行うことにより、中間平文を生成するオフセット処理ステップをさらに前記コンピュータに実行させ、
 前記等長暗号化ステップで、前記中間平文に対する等長暗号化を行うことにより、前記中間暗号文を生成することを特徴とする付記17に記載のコンピュータ・プログラム。
(付記20)
 前記等長復号ステップで、前記中間暗号文に対して等長復号を行ったものを中間平文として取得し、
 前記中間平文に対して前記乱数を用いてオフセット処理を行うことにより、前記平文を取得するオフセット処理ステップをさらに前記コンピュータに実行させることを特徴とする付記18に記載のコンピュータ・プログラム。
(付記21)
 平文を取得する平文取得ステップと、
 乱数を生成する乱数生成ステップと、
 前記乱数を用いて前記平文に対する加法的暗号化を行うことにより、中間平文を生成する加法的暗号化ステップと、
 前記中間平文に対する等長暗号化を行うことにより、前記中間平文と同じ長さの暗号文を生成する等長暗号化ステップと、
 前記暗号文および前記乱数を出力する暗号文出力ステップと、
 をコンピュータに実行させるコンピュータ・プログラム。
(付記22)
 暗号文および乱数を取得する暗号文取得ステップと、
 前記暗号文に対する等長復号を行うことにより、前記暗号文と同じ長さの中間平文を取得する等長復号ステップと、
 前記乱数を用いて前記中間平文に対する加法的復号を行うことにより平文を取得する加法的復号ステップと、
 前記平文を出力する平文取得ステップと、
 をコンピュータに実行させるコンピュータ・プログラム。
 また、上記の非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
 10、30  暗号化装置
 20、40  復号装置
 100  平文取得部
 101  乱数生成部
 102、202  オフセット処理部
 103、303  等長暗号化部
 104、304  加法的暗号化部
 105  暗号文出力部
 200  暗号文取得部
 203、403  等長復号部
 204、404  加法的復号部
 205  平文出力部
 1001  CPU
 1002  RAM
 1003  ROM
 1004  記憶装置
 1005  入力装置
 1006  出力装置
 1007  ネットワークインタフェース

Claims (10)

  1.  乱数を生成する乱数生成部と、
     入力された平文に対し、等長暗号化または加法的暗号化のいずれか一方を行って中間暗号文を生成する第1の暗号化部と、
     前記中間暗号文に対し、等長暗号化または加法的暗号化のうち、前記第1の暗号化部で行わなかった方の処理を行うことにより、暗号文を生成する第2の暗号化部と、
     前記暗号文および前記加法的暗号化に用いた乱数を出力する暗号文出力部と、
     を備える暗号化装置。
  2.  さらに、前記平文に対して前記乱数を用いてオフセット処理を行うことにより、中間平文を生成するオフセット処理部を備え、
     前記第1の暗号化部にて、前記中間平文に対する等長暗号化を行い、前記第2の暗号化部にて、加法的暗号化を行う請求項1の暗号化装置。
  3.  前記第1の暗号化部にて、加法的暗号化を行い、前記第2の暗号化部にて、等長暗号化を行う請求項1の暗号化装置。
  4.  前記加法的暗号化として、ブロック暗号によるXORモードで加法的暗号化を実行する請求項1から3のいずれか一の暗号化装置。
  5.  暗号文および乱数が入力される入力部と、
     入力された暗号文に対し、等長復号または加法的復号のいずれか一方を行って中間暗号文を生成する第1の復号部と、
     前記中間暗号文に対し、等長復号または加法的復号のうち、前記第1の復号部で行わなかった方の処理を行うことにより、平文を生成する第2の復号部と、
     前記平文を出力する平文出力部と、
     を備える復号装置。
  6.  前記第1の復号部にて、加法的復号を行い、前記第2の復号部にて、前記中間暗号文に対して等長復号を行って中間平文を生成し、
     さらに、前記中間平文に対して前記乱数を用いてオフセット処理を行うことにより、平文を生成するオフセット処理部を備える請求項5の復号装置。
  7.  前記第1の復号部にて、等長復号を行い、前記第2の復号部にて、加法的復号を行う請求項5の復号装置。
  8.  前記加法的復号として、ブロック暗号によるXORモードで加法的復号を実行する請求項5から7のいずれか一の復号装置。
  9.  入力された平文に対し、等長暗号化または加法的暗号化のいずれか一方を行って中間暗号文を生成する第1の暗号化ステップと、
     前記中間暗号文に対し、等長暗号化または加法的暗号化のうち、前記第1の暗号化部で行わなかった方の処理を行うことにより、暗号文を生成する第2の暗号化ステップと、
     前記暗号文および前記加法的暗号化に用いた乱数を出力する暗号文出力ステップと、を含む暗号化方法。
  10.  入力された暗号文に対し、等長復号または加法的復号のいずれか一方を行って中間暗号文を生成する第1の復号ステップと、
     前記中間暗号文に対し、等長復号または加法的復号のうち、前記第1の復号部で行わなかった方の処理を行うことにより、平文を生成する第2の復号ステップと、
     前記平文を出力する平文出力ステップと、含む復号方法。
PCT/JP2011/066301 2010-07-20 2011-07-19 暗号化装置、復号装置、暗号化方法、復号方法、および、コンピュータ・プログラム WO2012011455A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012525392A JPWO2012011455A1 (ja) 2010-07-20 2011-07-19 暗号化装置、復号装置、暗号化方法、復号方法、および、コンピュータ・プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010162735 2010-07-20
JP2010-162735 2010-07-20

Publications (1)

Publication Number Publication Date
WO2012011455A1 true WO2012011455A1 (ja) 2012-01-26

Family

ID=45496877

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/066301 WO2012011455A1 (ja) 2010-07-20 2011-07-19 暗号化装置、復号装置、暗号化方法、復号方法、および、コンピュータ・プログラム

Country Status (2)

Country Link
JP (1) JPWO2012011455A1 (ja)
WO (1) WO2012011455A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015158665A (ja) * 2014-02-21 2015-09-03 韓國電子通信研究院Electronics and Telecommunications Research Institute 形態保存暗号化のための可変長ブロック暗号装置および方法
CN106850219A (zh) * 2017-01-16 2017-06-13 宇龙计算机通信科技(深圳)有限公司 一种数据处理方法及终端
CN114666049A (zh) * 2022-03-25 2022-06-24 中金金融认证中心有限公司 一种用于加密明文数据的方法及其相关产品

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007052477A1 (ja) * 2005-11-04 2007-05-10 Nec Corporation メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007052477A1 (ja) * 2005-11-04 2007-05-10 Nec Corporation メッセージ認証装置、メッセージ認証方法、メッセージ認証プログラムとその記録媒体

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
GOLDWASSER, S. ET AL.: "Private key encryption", LECTURE NOTES ON CRYPTOGRAPHY, CHAPTER 5, 1997, pages 56 - 66, Retrieved from the Internet <URL:http://www.cs.berkeley.edu/~luca/crypto-siena/psfiles/gb.ps> [retrieved on 20110810] *
HALEVI, S. ET AL.: "A Tweakable Enciphering Mode", CRYPTOLOGY EPRINT ARCHIVE, 2003/148, 2003, Retrieved from the Internet <URL:http://eprint.iacr.org/2003/148> [retrieved on 20110810] *
HERZBERG, A.: "Folklore, Practice and Theory of Robust Combiners", CRYPTOLOGY EPRINT ARCHIVE, 2002/135, 2008, Retrieved from the Internet <URL:http://eprint.iacr.org/2002/135> [retrieved on 20110810] *
MINEMATSU, K.: "Beyond-birthday-bound Security Based on Tweakable Block Cipher", FAST SOFTWARE ENCRYPTION, LNCS 5665, 2009, pages 308 - 326, XP047343687, Retrieved from the Internet <URL:http://www.iacr.org/archive/fse2009/56650319/56650319.pdf> [retrieved on 20110810], DOI: doi:10.1007/978-3-642-03317-9_19 *
ROGAWAY, P.: "Nonce-Based Symmetric Encryption", FAST SOFTWARE ENCRYPTION, LNCS 3017, 2004, pages 348 - 358, Retrieved from the Internet <URL:http://www.iacr.org/archive/fse2004/30170349/30170349.pdf> [retrieved on 20110810] *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015158665A (ja) * 2014-02-21 2015-09-03 韓國電子通信研究院Electronics and Telecommunications Research Institute 形態保存暗号化のための可変長ブロック暗号装置および方法
CN106850219A (zh) * 2017-01-16 2017-06-13 宇龙计算机通信科技(深圳)有限公司 一种数据处理方法及终端
CN106850219B (zh) * 2017-01-16 2020-06-05 宇龙计算机通信科技(深圳)有限公司 一种数据处理方法及终端
CN114666049A (zh) * 2022-03-25 2022-06-24 中金金融认证中心有限公司 一种用于加密明文数据的方法及其相关产品
CN114666049B (zh) * 2022-03-25 2024-02-20 中金金融认证中心有限公司 一种用于加密明文数据的方法及其相关产品

Also Published As

Publication number Publication date
JPWO2012011455A1 (ja) 2013-09-09

Similar Documents

Publication Publication Date Title
JP5402632B2 (ja) 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
US10333702B2 (en) Updating key information
CN101202623B (zh) 消息验证码产生方法、验证/加密和验证/解密方法
Yegireddi et al. A survey on conventional encryption algorithms of Cryptography
WO2015015702A1 (ja) 認証暗号装置、認証暗号方法および認証暗号用プログラム
JP7031580B2 (ja) 暗号化装置、暗号化方法、復号化装置、及び復号化方法
JP2008122967A (ja) ストリーム暗号を利用したメッセージ認証コード生成方法とストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法
JP2010140026A (ja) 連鎖暗号モードのための方法および装置
JP7323196B2 (ja) 暗号化装置、暗号化方法、プログラム、復号装置、復号方法
WO2010024003A1 (ja) 倍ブロック長ブロック暗号化装置、復号装置、暗号化方法及び復号方法、及びそのプログラム
CN109714154B (zh) 一种代码体积困难白盒安全模型下的白盒密码算法的实现方法
WO2012011455A1 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、および、コンピュータ・プログラム
Hoobi Strong triple data encryption standard algorithm using nth degree truncated polynomial ring unit
Aghajanzadeh et al. Developing a new hybrid cipher using AES, RC4 and SERPENT for encryption and Decryption
KR100388059B1 (ko) 비대칭키 암호 알고리즘을 이용한 데이터 암호화 시스템및 그 방법
Madden Misuse-resistant cryptography for jose/jwt
JP2000004223A (ja) 暗号・認証システム
Shakir Study and Design of an Encryption Algorithm for Data Transmitted Over the Network by the IDEA and RSA
Kölbl Design and analysis of cryptographic algorithms.
Nag et al. DSA security enhancement through efficient nonce generation
Kara et al. A new security relation between information rate and state size of a keystream generator
JP2004347885A (ja) 暗号化装置処理方法、暗号復号装置処理方法、これらの装置及びプログラム
JP2001222218A (ja) 暗号化装置、方法、復号装置、方法、暗号システム及びプログラムを記憶した記憶媒体
Agrawal et al. Analysis of different cryptography algorithms
Singh et al. ENHANCEMENT OF WIRED EQUIVALENT PRIVACY

Legal Events

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

Ref document number: 11809625

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012525392

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11809625

Country of ref document: EP

Kind code of ref document: A1