WO2009081975A1 - Encryption device, decryption device, encryption method, decryption method, and program - Google Patents

Encryption device, decryption device, encryption method, decryption method, and program Download PDF

Info

Publication number
WO2009081975A1
WO2009081975A1 PCT/JP2008/073560 JP2008073560W WO2009081975A1 WO 2009081975 A1 WO2009081975 A1 WO 2009081975A1 JP 2008073560 W JP2008073560 W JP 2008073560W WO 2009081975 A1 WO2009081975 A1 WO 2009081975A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
bit
sum
generate
encryption
Prior art date
Application number
PCT/JP2008/073560
Other languages
French (fr)
Japanese (ja)
Inventor
Kazuhiko Minematsu
Original Assignee
Nec Corporation
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 Nec Corporation filed Critical Nec Corporation
Priority to JP2009547129A priority Critical patent/JP5293612B2/en
Publication of WO2009081975A1 publication Critical patent/WO2009081975A1/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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Definitions

  • the present invention relates to a common key block encryption system, and relates to an encryption device, a decryption device, an encryption method, a decryption method, and a program for causing a computer to execute these methods using a block cipher having a large block size.
  • a block cipher with a standard block size (such as 128 bits) is used to support the sector size.
  • Research is being conducted to construct block ciphers with larger block sizes (512 bits, etc.).
  • the security required here is the security against the selected ciphertext attack.
  • a block cipher that theoretically has security against selective ciphertext attacks is called strong pseudorandom substitution.
  • the actual block cipher is a strong pseudo-random replacement.
  • a strong pseudo-random replacement of 2n-bit block size can be configured using strong pseudo-random replacement of n-bit blocks (this is called a double pseudo-random strong pseudo-random replacement). Since a strong pseudo-random permutation with an arbitrarily large block size can be constructed by repeating the above, the construction method of the double block length is particularly important.
  • the NR method is configured by arranging strong pseudorandom permutations E of n-bit blocks in parallel and sandwiching the top and bottom by permutation using a keyed function called a universal hash function. Therefore, the number of calls of strong pseudorandom permutation E per input block is one.
  • the double block length block cipher configuration method using the NR mode or the like that relies on the universal hash function has no advantage over the 4-stage random Feistel cipher. Furthermore, since it is necessary to separately implement a product operation of a finite field, there is an influence such as an increase in program size.
  • the weak pseudorandom function is a cryptographic function that guarantees only security against a known plaintext attack (an attack that uses random plaintext), and is generally a weaker function than strong pseudorandom substitution.
  • a weak function is considered to be faster than a potentially strong function, so if a strong pseudo-random replacement is replaced with a weak pseudo-random function, it is considered that it contributes to speeding up.
  • the two-stage random Feistel cipher is WPRF (weak pseudorandom function family), which is about 30% more efficient than the three-stage random Feistel cipher becomes PRF (pseudorandom function family).
  • Document 3 shows a method for converting arbitrary strong pseudo-random substitution into strong pseudo-random substitution with additional parameters. This method is provided by Phillip Rogaway, “Efficient Installations of Tweakable Blockciphers and Refinements to Modes, OCB and PMAC, Advances in Cryptology-ASIACRYPT 2004, 10th International Conference on the Information and pt. -9, 2004, Proceedings. Lecture Notes in Computer Science 3329 Springer 2004: pp. 16-31 ”(hereinafter referred to as Reference 4).
  • An example of an object of the present invention is to execute an encryption device, a decryption device, an encryption method, a decryption method, and a method thereof on a computer that can safely and rapidly execute a process related to a double block length block cipher. It is to provide a program for making it happen.
  • the encryption device encrypts an ML block when a 2n-bit plaintext to be encrypted is input in which the first n bits are an ML block and the remaining n bits are an MR block.
  • a first strong pseudorandom encryption unit that generates an n-bit SL block
  • a first weak pseudorandom encryption unit that encrypts the sum of the ML block and the SL block to generate an n-bit TL block
  • a second strong pseudo-random encryption unit that encrypts the sum of the TL block and the MR block to generate an n-bit CR block
  • an n-bit TR block that encrypts the sum of the TL block, the MR block, and the CR block
  • a 2n-bit ciphertext is generated by concatenating a second weak pseudo-random encryption unit that generates a CL block and a CR block, which is the sum of an SL block and a TR block.
  • a ciphertext generating unit that is configured to have a.
  • the decryption device decrypts a CR block when a 2n-bit ciphertext to be decrypted is input, in which the first n bits are CR blocks and the remaining n bits are CL blocks.
  • a first strong pseudorandom decoding unit that generates an n-bit SR block; a first weak pseudorandom encryption unit that encrypts the sum of the CR block and the SR block to generate an n-bit TR block; A second strong pseudo-random decoder that decrypts the sum of the TR block and the CL block to generate an n-bit ML block; and encrypts the sum of the TR block, the CL block, and the ML block to generate an n-bit TL block
  • a 2n-bit plaintext is generated by concatenating the second weak pseudo-random encryption unit to be generated and the MR block and ML block, which are the sum of the SR block and the TL block.
  • sentence generation unit is configured to have a.
  • An encryption method is a 2n-bit plaintext encryption method in which the first n bits are an ML block and the remaining n bits are an MR block, the first strong pseudo-random encryption
  • the encryption block encrypts the ML block to generate an n-bit SL block
  • the first weak pseudo-random encryption unit encrypts the sum of the ML block and the SL block to generate an n-bit TL block.
  • the strong pseudo-random encryption unit 2 encrypts the sum of the TL block and the MR block to generate an n-bit CR block
  • the second weak pseudo-random encryption unit adds the TL block, the MR block, and the CR block. Is encrypted to generate an n-bit TR block, and a CL block and a CR block, which is the sum of the SL block and the TR block, are concatenated to generate a 2n-bit encryption It is intended to generate a.
  • the decryption method is a decryption method of 2n-bit ciphertext in which the first n bits are CR blocks and the remaining n bits are CL blocks, and the first strong pseudo-random decryption unit
  • the CR block is decrypted to generate an n-bit SR block
  • the first weak pseudorandom encryption unit encrypts the sum of the CR block and the SR block to generate an n-bit TR block.
  • the strong pseudorandom decoding unit decrypts the sum of the TR block and the CL block to generate an n-bit ML block
  • the second weak pseudorandom encryption unit encrypts the sum of the TR block, the CL block, and the ML block.
  • To generate an n-bit TL block and generate a 2n-bit plaintext by concatenating the MR block and ML block, which is the sum of the SR block and the TL block. It is intended.
  • FIG. 1 is a block diagram illustrating a configuration example of the encryption apparatus according to the first embodiment.
  • FIG. 2 is a diagram for explaining the operation of the encryption apparatus according to the first embodiment.
  • FIG. 3 is a flowchart showing an operation procedure of the encryption apparatus according to the first embodiment.
  • FIG. 4 is a block diagram illustrating a configuration example of the encryption apparatus according to the second embodiment.
  • FIG. 5 is a diagram for explaining the operation of the encryption apparatus according to the second embodiment.
  • FIG. 6 is a flowchart showing an operation procedure of the encryption apparatus according to the second embodiment.
  • FIG. 7 is a block diagram illustrating a configuration example of the decoding device according to the third embodiment.
  • FIG. 8 is a diagram for explaining the operation of the decoding apparatus according to the third embodiment.
  • FIG. 1 is a block diagram illustrating a configuration example of the encryption apparatus according to the first embodiment.
  • FIG. 2 is a diagram for explaining the operation of the encryption apparatus according to the first embodiment.
  • FIG. 3 is a
  • FIG. 9 is a flowchart showing an operation procedure of the decoding apparatus according to the third embodiment.
  • FIG. 10 is a block diagram illustrating a configuration example of the decoding device according to the fourth embodiment.
  • FIG. 11 is a diagram for explaining the operation of the decoding device according to the fourth embodiment.
  • FIG. 12 is a flowchart showing an operation procedure of the decoding apparatus according to the fourth embodiment.
  • Control unit 110 210 Encryption device 310, 410 Decryption device
  • FIG. 1 is a block diagram showing a configuration example of the encryption apparatus according to the present embodiment.
  • the encryption device 110 is an information processing device including an input unit 101, a control unit 107, and an output unit 108.
  • the control unit 107 is provided with a CPU (Central Processing Unit) (not shown) for executing processing according to a program and a memory (not shown) for storing the program.
  • CPU Central Processing Unit
  • the control unit 107 includes a first strong pseudo-random encryption unit 102, a first weak pseudo-random encryption unit 103, a second strong pseudo-random encryption unit 104, and a second weak pseudo-random encryption unit. 105 and a ciphertext generation unit 106.
  • each unit in the control unit 107 is virtually configured in the encryption apparatus.
  • the input unit 101 plain text to be encrypted is input.
  • the plaintext to be encrypted includes an ML block and an MR block.
  • the input unit 101 is an interface such as a keyboard, a magnetic reading device, or a communication unit.
  • the block cipher E needs to be a strong pseudo-random cipher that is safe against the selected ciphertext attack. This can be realized by using a block cipher that has been widely verified for security against selected ciphertext attacks such as AES (Advanced Encryption Standard).
  • AES Advanced Encryption Standard
  • the first weak pseudorandom encryption unit 103 encrypts the sum of the ML block and the SL block with the n-bit block cipher F, and generates an n-bit TL block.
  • the sum operation may be a bitwise exclusive OR, or an arbitrary group operation such as an arithmetic sum of mod2 n .
  • the calculation of the sum is executed by the control unit 107.
  • the block cipher F is required to be a weak pseudorandom cipher that is safe against known plaintext attacks. That is, when an attacker obtains a ciphertext (here, a TL block) while randomly giving plaintext (here, the sum of an ML block and an SL block), the TL block is discriminated from a true random number. Satisfy what is difficult.
  • the block cipher E used by the first strong pseudo-random encryption unit 102 already satisfies this condition, and the known plaintext attack is a weaker class attack than the selected ciphertext attack. Therefore, even if simplification such as omission of a part of the block cipher E is performed, it can be considered that in reality it has high security against known plaintext attacks. Therefore, the block cipher F can be obtained as a part of the block cipher E.
  • block cipher F may be a function having, as an input, an initial vector of a stream cipher with an initial vector, for example, since it is not necessary to be a replacement.
  • the sum operation may be a bitwise exclusive OR, or an arbitrary group operation such as an arithmetic sum of mod2 n .
  • the block cipher E ′ needs to be a strong pseudorandom cipher and may use the same algorithm as the block cipher E used by the first strong pseudorandom encryption unit 102. In that case, the key K ′ of the block cipher E ′ may be the same as or different from the key K used by the block cipher E.
  • the second weak pseudorandom encryption unit 105 encrypts the sum of the TL block, the MR block, and the CR block with the n-bit block cipher F ′, and generates an n-bit TR block.
  • the sum operation may be a bitwise exclusive OR, or an arbitrary group operation such as an arithmetic sum of mod2 n .
  • the equation TR F ′ [L ′] (TL + MR + CR) is established.
  • the block cipher F ′ is required to be a weak pseudorandom cipher.
  • the block cipher F ′ may be the same algorithm as the n-bit block cipher F used by the first weak pseudorandom encryption unit 103.
  • the key L ′ of the block cipher F ′ may be the same as or different from the key L of the block cipher F.
  • the ciphertext generating unit 106 generates a ciphertext by connecting the CR block to the CL block that is the sum of the TR block and the SL block.
  • the generated ciphertext is output via the output unit 108.
  • the output unit 108 is an output device such as a display device or a printer.
  • FIG. 2 is a diagram for explaining the operation of the encryption apparatus according to the present embodiment.
  • FIG. 3 is a flowchart showing the operation procedure of the encryption apparatus of this embodiment. The sum calculation shown in FIG. 2 is executed in the control unit 107.
  • the first strong pseudo-random encryption unit 102 encrypts the ML block to generate an SL block (step 1002).
  • the first weak pseudo-random encryption unit 103 encrypts the sum of the ML block and the SL block to generate a TL block (step 1003).
  • the second strong pseudorandom encryption unit 104 encrypts the sum of the TL block and the MR block to generate a CR block (step 1004).
  • the second weak pseudorandom encryption unit 105 encrypts the sum of the TL block, MR block, and CR block to generate a TR block (step 1005).
  • the ciphertext generation unit 106 generates a ciphertext by connecting the CL block, which is the sum of the SL block and the TR block, to the CR block, and outputs the ciphertext to the output unit 108 (step 1006).
  • the security is ensured only for the n-bit block cipher E that is safe against the selected ciphertext attack and the known plaintext attack that is a weaker attack, and instead, the n-bit block cipher F that is faster than the block cipher E Are combined.
  • the combination is such that the sum of the input and output of the block cipher E is always the input of the block cipher F, and the resulting 2n-bit input n-bit output processing (input (x1, x2), output (E (x1), x2 + F (x1 + E (x1))))) is performed twice with the message left and right interchanged.
  • the n-bit block strong pseudo-random cipher is called twice, and the n-bit block weak pseudo-random cipher is called twice to construct the double block-length strong pseudo-random cipher, Random replacement can be done efficiently without universal hash function.
  • the block cipher E may be used twice, but the n-bit input / output universal hash function needs to be called twice.
  • Both the universal hash function and the weak pseudorandom cipher are strictly weaker functions than the strong pseudorandom cipher, and there is no mutual relationship. In other words, there are examples in which a universal hash function is not a weak pseudorandom cipher, and vice versa. Therefore, whether the universal hash function or the weak pseudorandom cipher is suitable for practical use depends on the premise of the implementation platform and what kind of cryptographic algorithm implementation can be used.
  • a universal hash function is known to have an algebraic construction method such as a product over a finite field, but it is known that a simple implementation may be slower than a highly optimized block cipher. .
  • implementation costs such as program size increase.
  • the weak pseudo-random cipher may be obtained by shortening the strong pseudo-random cipher or the like, and in some cases, the implementation can be implemented while suppressing an increase in the program size as compared with the case where the universal hash function is used.
  • FIG. 4 is a block diagram showing a configuration example of the encryption apparatus according to the present embodiment.
  • symbol is attached
  • the encryption device 210 is an information processing device including an input unit 101, a control unit 207, and an output unit 108.
  • the control unit 207 is provided with a CPU (Central Processing Unit) (not shown) for executing processing according to a program and a memory (not shown) for storing the program.
  • CPU Central Processing Unit
  • the control unit 207 includes an encryption unit 202 with a first strong pseudorandom additional parameter, a first weak pseudorandom encryption unit 103, an encryption unit 204 with a second strong pseudorandom additional parameter, a second A weak pseudorandom encryption unit 105 and a ciphertext generation unit 106 are included.
  • each unit in the control unit 207 is virtually configured in the encryption apparatus.
  • the plaintext to be encrypted is a plaintext including an ML block and an MR block, as in the first embodiment.
  • the plain text and the additional parameter TW are input via the input unit 101.
  • the cipher Q with additional parameters must be a cipher with strong pseudo-random additional parameters that is safe against selected ciphertext attacks. This can be realized by converting a block cipher such as AES, which has been widely verified to be safe against a selected ciphertext attack, into a cipher with an additional parameter using the XEX mode disclosed in Document 4.
  • the sum operation may be a bitwise exclusive OR, or an arbitrary group operation such as an arithmetic sum of mod2 n . The calculation of the sum is executed by the control unit 207.
  • the cipher Q ′ with additional parameter needs to be a cipher with strong pseudo-random additional parameter, and the same algorithm as the cipher Q with additional parameter used by the first strong pseudo-random additional parameter encryption unit 202 may be used. .
  • the key K ′ of the encryption Q ′ with additional parameter may be the same as or different from the key K used by the encryption Q with additional parameter.
  • FIG. 5 is a diagram for explaining the operation of the encryption apparatus of the present embodiment.
  • FIG. 6 is a flowchart showing the operation procedure of the encryption apparatus of this embodiment. The sum calculation shown in FIG. 5 is executed in the control unit 207.
  • the first strong pseudo-random additional parameter-containing encryption unit 202 uses the additional parameter TW to perform ML.
  • the block is encrypted to generate an SL block (step 1012).
  • the first weak pseudo-random encryption unit 103 encrypts the sum of the ML block and the SL block to generate a TL block (step 1013).
  • the second strong pseudo-random additional parameter-attached encryption unit 204 encrypts the sum of the TL block and the MR block using the additional parameter TW to generate a CR block (step 1014).
  • the second weak pseudo-random encryption unit 105 encrypts the sum of the TL block, MR block, and CR block to generate a TR block (step 1015).
  • the ciphertext generation unit 106 generates a ciphertext by connecting the CL block, which is the sum of the SL block and the TR block, to the CR block, and outputs the ciphertext to the output unit 108 (step 1016).
  • the same effect as that of the first embodiment can be obtained even when there is an additional parameter in the plaintext having a double block length.
  • the first and second strong pseudorandom encryption units use the block cipher E by repetition of a round function, and the first and second weak pseudorandom encryption units.
  • the block cipher E ′ obtained by reducing the number of repetitions of the round function of the block cipher E may be used. In this case, safety is improved by repeating the round function.
  • the two strong pseudo-random encryption units use the common block cipher E and the two weak pseudo-random encryption units use the common block cipher E ′, the size of the program executed by the CPU can be reduced.
  • FIG. 7 is a block diagram illustrating a configuration example of the decoding device according to the present embodiment.
  • the decoding device 310 of this embodiment is an information processing device including an input unit 301, a control unit 307, and an output unit 308.
  • the control unit 307 is provided with a CPU (Central Processing Unit) (not shown) for executing processing according to a program and a memory (not shown) for storing the program.
  • CPU Central Processing Unit
  • the control unit 307 includes a first strong pseudorandom decryption unit 302, a first weak pseudorandom encryption unit 303, a second strong pseudorandom decryption unit 304, and a second weak pseudorandom encryption unit 305. And a plaintext generation unit 306.
  • each unit in the control unit 307 is virtually configured in the encryption apparatus.
  • a ciphertext to be decrypted is input.
  • the ciphertext to be decrypted includes a CR block and a CL block.
  • the input unit 301 is an interface such as a keyboard, a magnetic reading device, or a communication unit.
  • the block cipher E needs to be a strong pseudo-random cipher that is safe against the selected ciphertext attack. This can be realized by using a block cipher that has been widely verified for security against a selected ciphertext attack such as AES.
  • the first weak pseudo-random encryption unit 303 encrypts the sum of the CR block and the SR block with the n-bit block cipher F to generate an n-bit TR block.
  • the sum operation may be a bitwise exclusive OR, or an arbitrary group operation such as an arithmetic sum of mod2 n .
  • the calculation of the sum is executed by the control unit 307.
  • block cipher F may be a function having, as an input, an initial vector of a stream cipher with an initial vector, for example, since it is not necessary to be a replacement.
  • the block cipher F is required to be a weak pseudorandom cipher that is safe against known plaintext attacks.
  • the block cipher E used by the first strong pseudorandom decryption unit 302 already satisfies this condition, and the known plaintext attack is a weaker class attack than the selected ciphertext attack. Therefore, even if simplification such as omission of a part of the block cipher E is performed, it can be considered that in reality it has high security against known plaintext attacks. Therefore, the block cipher F can be obtained as a part of the block cipher E.
  • the sum operation may be a bitwise exclusive OR, or an arbitrary group operation such as an arithmetic sum of mod2 n .
  • the block cipher E ′ needs to be a strong pseudorandom cipher, and the same algorithm as the block cipher E used by the first strong pseudorandom decryption unit 302 may be used. In that case, the key K ′ of the block cipher E ′ may be the same as or different from the key K used by the block cipher E.
  • the second weak pseudo-random encryption unit 305 encrypts the sum of the TR block, the CL block, and the ML block with the n-bit block cipher F ′, and generates an n-bit TL block.
  • the sum operation may be a bitwise exclusive OR, or an arbitrary group operation such as an arithmetic sum of mod2 n .
  • the equation TR F ′ [L ′] (TL + MR + CR) is established.
  • the block cipher F ′ is required to be a weak pseudorandom cipher.
  • the block cipher F ′ may be the same algorithm as the n-bit block cipher F used by the first weak pseudorandom encryption unit 303.
  • the key L ′ of the block cipher F ′ may be the same as or different from the key L of the block cipher F.
  • the plaintext generation unit 306 generates plaintext by connecting the ML block to the MR block that is the sum of the TL block and the SR block.
  • the generated plaintext is output via the output unit 308.
  • the output unit 308 is an output device such as a display device or a printer.
  • FIG. 8 is a diagram for explaining the operation of the decoding apparatus according to the present embodiment.
  • FIG. 9 is a flowchart showing the operation procedure of the decoding apparatus of this embodiment. The sum calculation shown in FIG. 8 is executed in the control unit 307.
  • the first strong pseudo-random decoding unit 302 decrypts the CR block and generates an SR block (step 1022).
  • the first weak pseudo-random encryption unit 303 encrypts the sum of the CR block and the SR block to generate a TR block (step 1023).
  • the second strong pseudorandom decoding unit 304 decodes the sum of the TR block and the CL block to generate an ML block (step 1024).
  • the second weak pseudorandom encryption unit 305 encrypts the sum of the TR block, CL block, and ML block to generate a TL block (step 1025).
  • the plaintext generation unit 306 generates a plaintext by connecting the MR block, which is the sum of the SR block and the TL block, to the ML block, and outputs the plaintext to the output unit 308 (step 1026).
  • the same effect as that of the first embodiment can be obtained even when the process opposite to the process described in the first embodiment is performed.
  • FIG. 10 is a block diagram showing an example of the configuration of the decoding apparatus according to this embodiment.
  • symbol is attached
  • the decoding device 410 is an information processing device including an input unit 301, a control unit 407, and an output unit 308.
  • the control unit 407 is provided with a CPU (Central Processing Unit) (not shown) that executes processing according to a program and a memory (not shown) for storing the program.
  • CPU Central Processing Unit
  • the control unit 407 includes a first strong pseudo-random additional parameter-added decrypting unit 402, a first weak pseudo-random encryption unit 303, a second strong pseudo-random additional parameter-containing decrypting unit 404, and a second weak pseudo-random parameter.
  • a random encryption unit 305 and a plaintext generation unit 306 are included.
  • the ciphertext to be decrypted is a ciphertext including a CR block and a CL block, as in the third embodiment.
  • the ciphertext and the additional parameter TW are input via the input unit 301.
  • the first strong pseudorandom additional parameter-added decrypting unit 402 decrypts the CR block using the additional parameter TW and the encryption Q with the additional parameter of the n-bit block.
  • An SR block is generated.
  • Qinv is an inverse function of Q
  • the key of the encryption Q with additional parameter is K
  • decryption using the additional parameter TW and the key K is expressed by Qinv [K, TW]
  • SR Qinv [K, TW] (CR ) Holds.
  • the cipher Q with additional parameters must be a cipher with strong pseudo-random additional parameters that is safe against selected ciphertext attacks. This can be realized by converting a block cipher such as AES, which has been widely verified to be safe against a selected ciphertext attack, into a cipher with an additional parameter using the XEX mode disclosed in Document 4.
  • the sum operation may be a bitwise exclusive OR, or an arbitrary group operation such as an arithmetic sum of mod2 n . The calculation of the sum is executed by the control unit 407.
  • the cipher with additional parameter Q ′ needs to be a cipher with strong pseudo-random additional parameter, and the same algorithm as the cipher with additional parameter Q used by the first strong pseudo-random additional parameter-decrypting unit 402 may be used.
  • the key K ′ of the encryption Q ′ with additional parameter may be the same as or different from the key K used by the encryption Q with additional parameter.
  • FIG. 11 is a diagram for explaining the operation of the decoding apparatus according to the present embodiment.
  • FIG. 12 is a flowchart showing the operation procedure of the decoding apparatus of this embodiment. The sum calculation shown in FIG. 11 is executed in the control unit 407.
  • the first strong pseudo-random additional parameter decryption unit 402 uses the additional parameter TW to perform CR
  • the block is decoded to generate an SR block (step 1032).
  • the first weak pseudo-random encryption unit 303 encrypts the sum of the CR block and the SR block to generate a TR block (step 1033).
  • the second strong pseudo-random additional parameter added decoding unit 404 decodes the sum of the TR block and the CL block using the additional parameter TW to generate an ML block (step 1034).
  • the second weak pseudorandom encryption unit 305 encrypts the sum of the TR block, CL block, and ML block to generate a TL block (step 1035).
  • the plaintext generation unit 306 generates a plaintext by connecting the MR block, which is the sum of the SR block and the TL block, to the ML block, and outputs the plaintext to the output unit 308 (step 1036).
  • the same effect as that of the third embodiment can be obtained even when the double block length ciphertext has an additional parameter.
  • the first and second strong pseudorandom decoding units use a block cipher E based on repetition of a round function
  • the first and second weak pseudorandom encryption units use A block cipher E ′ obtained by reducing the number of repetitions of the round function of the block cipher E may be used.
  • the size of the program to be executed by the CPU can be reduced by using the common block cipher E for the two strong pseudo-random decryption units and the common block cipher E ′ for the two weak pseudo-random encryption units.
  • the present invention can be applied to a system that performs encrypted communication between two parties.
  • a telephone or a message is exchanged between two parties via a network such as the Internet
  • an information terminal that can execute the encryption method and the decryption method of the present invention is provided.
  • One information terminal encrypts data before transmitting data.
  • the other information terminal decodes the received data. In this way, if data is exchanged between the two parties, information leakage can be prevented.
  • the present invention can also be applied to a content distribution system.
  • the communication speed is increasing year by year. For this reason, it has become possible to exchange large-capacity information such as movies and music with personal information terminals via a network.
  • copyrighted works such as movies and music are easily copied illegally. This problem can be prevented by applying the present invention to a system for safely distributing contents such as movies and music.
  • the encryption device of the present invention is provided in a server that provides content such as movies and music, and the decryption device of the present invention is provided in each client information terminal that receives the content.
  • the server When the server encrypts the content using the encryption device and distributes the content to the information terminal of each client, the information terminal on each client side decrypts the encrypted content using the decryption device. In this way, only those who have the right to receive content can be prevented from leaking and can be provided with high-speed processing.
  • the present invention can be applied to a system for safely operating data on a computer server as follows.
  • Data to be concealed is encrypted by the encryption method of the present invention and stored in the server.
  • the decryption device of the present invention is provided in advance only in an information terminal of a person who is permitted to browse data to be kept secret.
  • the person who is permitted to browse can operate the information terminal to execute the decryption method of the present invention on the data received from the server and view the target data if the data to be kept secret is necessary.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

An encryption device comprises a first super-pseudorandom encryption section (102) which defines a first n bit as an MR block and the remaining n bits as an MR block and which encrypts the ML block to generate an n-bit SL block when 2n-bit plaintext to be encrypted is inputted, a first weak-pseudorandom encryption section (103) for encrypting the sum of the ML block and SL block to generate an n-bit TL block, a second super-pseudorandom encryption section (104) for encrypting the sum of the TL block and MR block to generate an n-bit CR block, a second weak-pseudorandom encryption section (105) for encrypting the sum of the TL block, MR block, and CR block to generate an n-bit TR block, and a cipher text generating section (106) for linking a CL block which are the sum of the SL block and TR block and the CR block to generate 2n-bit cipher text.

Description

暗号化装置、復号装置、暗号化方法、復号方法およびプログラムENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD, DECRYPTION METHOD, AND PROGRAM
 本発明は、共通鍵ブロック暗号化システムに関連し、大きいブロックサイズのブロック暗号による暗号化装置、復号装置、暗号化方法、復号方法、およびそれらの方法をコンピュータに実行させるためのプログラムに関する。 The present invention relates to a common key block encryption system, and relates to an encryption device, a decryption device, an encryption method, a decryption method, and a program for causing a computer to execute these methods using a block cipher having a large block size.
 ブロック暗号やハッシュ関数などの暗号処理を部品とし、新たな暗号を構成するアプローチが数多く知られている。 There are many known approaches for constructing new ciphers using cryptographic processing such as block ciphers and hash functions as components.
 例えば、ハードディスクなどのストレージの暗号化においては、暗号化データのセクタ単位での処理を容易とするために、標準的なブロックサイズ(128bitなど)のブロック暗号を用いて、セクタのサイズに対応した、より大きなブロックサイズ(512bitなど)のブロック暗号を構成する研究が行われている。 For example, in encryption of storage such as a hard disk, in order to facilitate processing of encrypted data in units of sectors, a block cipher with a standard block size (such as 128 bits) is used to support the sector size. Research is being conducted to construct block ciphers with larger block sizes (512 bits, etc.).
 ここで求められる安全性とは、選択暗号文攻撃に対する安全性である。理論的に選択暗号文攻撃に対する安全性を有するブロック暗号は強擬似ランダム置換と呼ばれる。実際には、現実のブロック暗号を強擬似ランダム置換と仮定する。また、この研究においては、nビットブロックの強擬似ランダム置換を用いて2nビットブロックサイズの強擬似ランダム置換を構成することができれば(これを倍ブロック長の強擬似ランダム置換という)、この構成方法の繰り返しにより、任意の大きいブロックサイズの強擬似ランダム置換が構成できるため、倍ブロック長の構成方法は特に重要である。 The security required here is the security against the selected ciphertext attack. A block cipher that theoretically has security against selective ciphertext attacks is called strong pseudorandom substitution. In practice, it is assumed that the actual block cipher is a strong pseudo-random replacement. Also, in this research, if a strong pseudo-random replacement of 2n-bit block size can be configured using strong pseudo-random replacement of n-bit blocks (this is called a double pseudo-random strong pseudo-random replacement). Since a strong pseudo-random permutation with an arbitrarily large block size can be constructed by repeating the above, the construction method of the double block length is particularly important.
 部品として用いるブロック暗号が強擬似ランダム置換であった場合に、大きなブロックサイズの強擬似ランダム置換を構成する方法が、Moni NaorとOmer Reingoldによって、“On the Construction of Pseudo-Random Permutations: Luby-Rackoff Revisited, Electronic Colloquium on Computational Complexity (ECCC) 4(5): (1997)”(以下では、文献1と称する)に開示されている。以下では、この文献に開示された方法を、NRの方法と称する。 When the block cipher used as a component is strong pseudo-random replacement, a method of constructing strong pseudo-random replacement with a large block size is “On the Construction of Pseudo-Random Permutations: Luby-Rackoff” by Moni Naor and Omer Reingold. Revisited, Electronic Colloquium on Computational Complexity (ECCC) 4 (5): (1997) ”(hereinafter referred to as Reference 1). Hereinafter, the method disclosed in this document is referred to as an NR method.
 NRの方法は、nビットブロックの強擬似ランダム置換Eを並列に並べ、その上下をユニバーサルハッシュ関数と呼ばれる鍵付き関数を用いた置換ではさむことにより構成されている。したがって、入力1ブロックあたりの強擬似ランダム置換Eのコール回数は1回である。 The NR method is configured by arranging strong pseudorandom permutations E of n-bit blocks in parallel and sandwiching the top and bottom by permutation using a keyed function called a universal hash function. Therefore, the number of calls of strong pseudorandom permutation E per input block is one.
 しかし、ユニバーサルハッシュ関数を用いない場合には、nビットブロックの強擬似ランダム置換Eを、1ブロックあたりほぼ2回コールする必要がある。Luby and Rackoffにより、倍ブロック長の強擬似ランダム置換をEにより構成する場合、強擬似ランダム置換EをFeistel暗号のラウンド関数として4回コールする方式が示されている。この方式を4段ランダムFeistel暗号と呼ぶ。これは、例えば、上記文献1に記載されている。このように、強擬似ランダム置換Eのコール回数をブロックあたり2回より減らすためには、ユニバーサルハッシュ関数を導入する必要がある。 However, when the universal hash function is not used, it is necessary to call the strong pseudo-random replacement E of the n-bit block almost twice per block. According to Luby and Rackoff, when a strong pseudorandom permutation of double block length is composed of E, a system is shown in which strong pseudorandom permutation E is called four times as a Feistel cipher round function. This method is called 4-stage random Feistel encryption. This is described, for example, in Document 1 above. Thus, in order to reduce the number of calls of strong pseudo-random replacement E from two per block, it is necessary to introduce a universal hash function.
 ユニバーサルハッシュ関数は代数的構成方法がよく知られており、例えば、有限体GF(2)上の積演算により構成可能である。しかし、モダンなブロック暗号の実装を高度に最適化した場合、有限体での積よりも高速になることがしばしば起きる。 An algebraic construction method is well known for the universal hash function, and can be constructed by, for example, a product operation on a finite field GF (2 n ). However, when a modern block cipher implementation is highly optimized, it often happens that it is faster than a finite field product.
 このような場合、ユニバーサルハッシュ関数に頼ったNRモードなどによる倍ブロック長のブロック暗号構成方法は、4段ランダムFeistel暗号と比べて利点がないことになる。さらに、有限体の積演算を別に実装する必要が生じるため、プログラムサイズ増大などの影響が出る。 In such a case, the double block length block cipher configuration method using the NR mode or the like that relies on the universal hash function has no advantage over the 4-stage random Feistel cipher. Furthermore, since it is necessary to separately implement a product operation of a finite field, there is an influence such as an increase in program size.
 この問題に対し、ユニバーサルハッシュ関数ではなく弱擬似ランダム関数を使うアプローチが考えられる。弱擬似ランダム関数とは既知平文攻撃(ランダムな平文を使う攻撃)に対する安全性のみを保証する暗号関数であり、一般に強擬似ランダム置換より弱い関数である。弱い関数は潜在的に強い関数よりも高速であると考えられるため、強擬似ランダム置換を弱擬似ランダム関数で置き換えられれば、高速化に寄与すると考えられる。 ∙ An approach that uses weak pseudo-random functions instead of universal hash functions can be considered for this problem. The weak pseudorandom function is a cryptographic function that guarantees only security against a known plaintext attack (an attack that uses random plaintext), and is generally a weaker function than strong pseudorandom substitution. A weak function is considered to be faster than a potentially strong function, so if a strong pseudo-random replacement is replaced with a weak pseudo-random function, it is considered that it contributes to speeding up.
 例えば、2段ランダムFeistel暗号はWPRF(weak pseudorandom function family)であり、3段ランダムFeistel暗号がPRF(pseudorandom function family)となることと比べると30%ほど効率がよいことになる。 For example, the two-stage random Feistel cipher is WPRF (weak pseudorandom function family), which is about 30% more efficient than the three-stage random Feistel cipher becomes PRF (pseudorandom function family).
 強擬似ランダム置換と弱擬似ランダム関数を組み合わせて倍ブロック長の置換を構成する方法が、“Hybrid Symmetric Encryption Using Known-Plaintext Attack-Secure Components, Information Security and Cryptology - ICISC 2005, 8th International Conference, Seoul, Korea, December 1-2, 2005, Revised Selected Papers. Lecture Notes in Computer Science 3935 Springer 2006, pp.242-260”(以下では、文献2と称する)に開示されている。しかし、常にユニバーサルハッシュ関数を必要とする点では、NRモードなどと同じ問題を持っている。 The method of constructing double block length substitution by combining strong pseudorandom substitution and weak pseudorandom function is “Hybrid Symmetric Encryption Using Known-Plaintext Attack-Secure Components, Information Security and Cryptology-ICISC 2005, 8th International Conference, Seoul, Korea, December 1-2, 2005, Revised Selected Papers. Lecture Notes in Computer Science 3935 Springer 2006, pp.242-260 ”(hereinafter referred to as Reference 2). However, it has the same problem as the NR mode in that a universal hash function is always required.
 上記の研究とは別に、付加パラメータ(tweakと呼ばれる)をもつブロック暗号が、Liskovらによって、“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”(以下では、文献3と称する)に開示されている。これは、付加パラメータを変えることにより、同じ鍵、同じ平文を用いたブロック暗号でも独立な暗号文が得られるようにすることが目的である。 Apart from the above research, a block cipher with an additional parameter (called tweak) was developed by Liskov et al., “Tweakable Block Ciphers, Advances in Cryptology-CRYPTO 2002, 22nd Annual International Cryptology Conference, Santa Barbara, California, California, 18-22, 2002, Proceedings. Lecture Notes in Computer Science 2442 Springer 2002: pp.31-46 ”(hereinafter referred to as Reference 3). The purpose of this is to make it possible to obtain independent ciphertexts even with block ciphers using the same key and the same plaintext by changing the additional parameters.
 文献3は、任意の強擬似ランダム置換を付加パラメータ付きの強擬似ランダム置換に変換する方法を示している。この方法は、Phillip Rogawayによって、“Efficient Instantiations of Tweakable Blockciphers and Refinements to Modes OCB and PMAC, Advances in Cryptology - ASIACRYPT 2004, 10th International Conference on the Theory and Application of Cryptology and Information Security, Jeju Island, Korea, December 5-9, 2004, Proceedings. Lecture Notes in Computer Science 3329 Springer 2004: pp. 16-31”(以下では、文献4と称する)にも開示されている。 Document 3 shows a method for converting arbitrary strong pseudo-random substitution into strong pseudo-random substitution with additional parameters. This method is provided by Phillip Rogaway, “Efficient Installations of Tweakable Blockciphers and Refinements to Modes, OCB and PMAC, Advances in Cryptology-ASIACRYPT 2004, 10th International Conference on the Information and pt. -9, 2004, Proceedings. Lecture Notes in Computer Science 3329 Springer 2004: pp. 16-31 ”(hereinafter referred to as Reference 4).
 付加パラメータをもつ、大きなブロックサイズの強擬似ランダム置換は、ディスクセクタ暗号化などのストレージ暗号化に適している。ディスクセクタ暗号化の場合、セクタ番号を付加パラメータとおき、セクタ単位で暗号化することで、異なるセクタ間での暗号化の結果を独立とし、攻撃者が観測しても、平文に関する何らかの情報を得ることを困難とすることができる。 強 Strong pseudo-random replacement of large block size with additional parameters is suitable for storage encryption such as disk sector encryption. In the case of disk sector encryption, the sector number is set as an additional parameter, and encryption is performed on a sector-by-sector basis. It can be difficult to obtain.
 nビットの強擬似ランダム置換であるブロック暗号Eを用いて倍ブロック長(2nビット)の強擬似ランダム置換を構成する際、ブロック暗号Eを4回使用する4段ランダムFeistel暗号よりも効率を上げるには、ユニバーサルハッシュ関数を用いる必要がある。しかし、上述したように、ユニバーサルハッシュ関数を用いても必ずしも効率が上がるとは限らない場合がある。 When constructing double block length (2n bits) strong pseudo-random permutation using block cipher E which is n-bit strong pseudo-random permutation, efficiency is higher than that of 4-stage random Feistel cipher that uses block cipher E four times Needs to use a universal hash function. However, as described above, using a universal hash function may not always increase the efficiency.
 本発明の目的の一例は、倍ブロック長のブロック暗号に関する処理を、安全に、かつ、高速に実行可能にした暗号化装置、復号装置、暗号化方法、復号方法、およびその方法をコンピュータに実行させるためのプログラムを提供することである。 An example of an object of the present invention is to execute an encryption device, a decryption device, an encryption method, a decryption method, and a method thereof on a computer that can safely and rapidly execute a process related to a double block length block cipher. It is to provide a program for making it happen.
 本発明の一側面の暗号化装置は、最初のnビットをMLブロックとし、残りのnビットをMRブロックとする、暗号化対象の2nビットの平文が入力されると、MLブロックを暗号化してnビットのSLブロックを生成する第1の強擬似ランダム暗号化部と、MLブロックとSLブロックとの和を暗号化してnビットのTLブロックを生成する第1の弱擬似ランダム暗号化部と、TLブロックとMRブロックとの和を暗号化してnビットのCRブロックを生成する第2の強擬似ランダム暗号化部と、TLブロックとMRブロックとCRブロックの和を暗号化してnビットのTRブロックを生成する第2の弱擬似ランダム暗号化部と、SLブロックとTRブロックの和であるCLブロックとCRブロックとを連結して2nビットの暗号文を生成する暗号文生成部と、を有する構成である。 The encryption device according to one aspect of the present invention encrypts an ML block when a 2n-bit plaintext to be encrypted is input in which the first n bits are an ML block and the remaining n bits are an MR block. a first strong pseudorandom encryption unit that generates an n-bit SL block; a first weak pseudorandom encryption unit that encrypts the sum of the ML block and the SL block to generate an n-bit TL block; A second strong pseudo-random encryption unit that encrypts the sum of the TL block and the MR block to generate an n-bit CR block; and an n-bit TR block that encrypts the sum of the TL block, the MR block, and the CR block A 2n-bit ciphertext is generated by concatenating a second weak pseudo-random encryption unit that generates a CL block and a CR block, which is the sum of an SL block and a TR block. A ciphertext generating unit that is configured to have a.
 一方、本発明の一側面の復号装置は、最初のnビットをCRブロックとし、残りのnビットをCLブロックとする、復号対象の2nビットの暗号文が入力されると、CRブロックを復号してnビットのSRブロックを生成する第1の強擬似ランダム復号部と、CRブロックとSRブロックとの和を暗号化してnビットのTRブロックを生成する第1の弱擬似ランダム暗号化部と、TRブロックとCLブロックとの和を復号してnビットのMLブロックを生成する第2の強擬似ランダム復号部と、TRブロックとCLブロックとMLブロックの和を暗号化してnビットのTLブロックを生成する第2の弱擬似ランダム暗号化部と、SRブロックとTLブロックの和であるMRブロックとMLブロックとを連結して2nビットの平文を生成する平文生成部と、を有する構成である。 On the other hand, the decryption device according to one aspect of the present invention decrypts a CR block when a 2n-bit ciphertext to be decrypted is input, in which the first n bits are CR blocks and the remaining n bits are CL blocks. A first strong pseudorandom decoding unit that generates an n-bit SR block; a first weak pseudorandom encryption unit that encrypts the sum of the CR block and the SR block to generate an n-bit TR block; A second strong pseudo-random decoder that decrypts the sum of the TR block and the CL block to generate an n-bit ML block; and encrypts the sum of the TR block, the CL block, and the ML block to generate an n-bit TL block A 2n-bit plaintext is generated by concatenating the second weak pseudo-random encryption unit to be generated and the MR block and ML block, which are the sum of the SR block and the TL block. And sentence generation unit is configured to have a.
 また、本発明の一側面の暗号化方法は、最初のnビットをMLブロックとし、残りのnビットをMRブロックとする2nビットの平文の暗号化方法であって、第1の強擬似ランダム暗号化部によりMLブロックを暗号化してnビットのSLブロックを生成し、第1の弱擬似ランダム暗号化部によりMLブロックとSLブロックとの和を暗号化してnビットのTLブロックを生成し、第2の強擬似ランダム暗号化部によりTLブロックとMRブロックとの和を暗号化してnビットのCRブロックを生成し、第2の弱擬似ランダム暗号化部によりTLブロックとMRブロックとCRブロックの和を暗号化してnビットのTRブロックを生成し、SLブロックとTRブロックの和であるCLブロックとCRブロックとを連結して2nビットの暗号文を生成するものである。 An encryption method according to an aspect of the present invention is a 2n-bit plaintext encryption method in which the first n bits are an ML block and the remaining n bits are an MR block, the first strong pseudo-random encryption The encryption block encrypts the ML block to generate an n-bit SL block, and the first weak pseudo-random encryption unit encrypts the sum of the ML block and the SL block to generate an n-bit TL block. The strong pseudo-random encryption unit 2 encrypts the sum of the TL block and the MR block to generate an n-bit CR block, and the second weak pseudo-random encryption unit adds the TL block, the MR block, and the CR block. Is encrypted to generate an n-bit TR block, and a CL block and a CR block, which is the sum of the SL block and the TR block, are concatenated to generate a 2n-bit encryption It is intended to generate a.
 さらに、本発明の一側面の復号方法は、最初のnビットをCRブロックとし、残りのnビットをCLブロックとする2nビットの暗号文の復号方法であって、第1の強擬似ランダム復号部によりCRブロックを復号してnビットのSRブロックを生成し、第1の弱擬似ランダム暗号化部によりCRブロックとSRブロックとの和を暗号化してnビットのTRブロックを生成し、第2の強擬似ランダム復号部によりTRブロックとCLブロックとの和を復号してnビットのMLブロックを生成し、第2の弱擬似ランダム暗号化部によりTRブロックとCLブロックとMLブロックの和を暗号化してnビットのTLブロックを生成し、SRブロックとTLブロックの和であるMRブロックとMLブロックとを連結して2nビットの平文を生成するものである。 Furthermore, the decryption method according to one aspect of the present invention is a decryption method of 2n-bit ciphertext in which the first n bits are CR blocks and the remaining n bits are CL blocks, and the first strong pseudo-random decryption unit The CR block is decrypted to generate an n-bit SR block, and the first weak pseudorandom encryption unit encrypts the sum of the CR block and the SR block to generate an n-bit TR block. The strong pseudorandom decoding unit decrypts the sum of the TR block and the CL block to generate an n-bit ML block, and the second weak pseudorandom encryption unit encrypts the sum of the TR block, the CL block, and the ML block. To generate an n-bit TL block, and generate a 2n-bit plaintext by concatenating the MR block and ML block, which is the sum of the SR block and the TL block. It is intended.
図1は第1の実施形態の暗号化装置の一構成例を示すブロック図である。FIG. 1 is a block diagram illustrating a configuration example of the encryption apparatus according to the first embodiment. 図2は第1の実施形態の暗号化装置の動作を説明するための図である。FIG. 2 is a diagram for explaining the operation of the encryption apparatus according to the first embodiment. 図3は第1の実施形態の暗号化装置の動作手順を示すフローチャートである。FIG. 3 is a flowchart showing an operation procedure of the encryption apparatus according to the first embodiment. 図4は第2の実施形態の暗号化装置の一構成例を示すブロック図である。FIG. 4 is a block diagram illustrating a configuration example of the encryption apparatus according to the second embodiment. 図5は第2の実施形態の暗号化装置の動作を説明するための図である。FIG. 5 is a diagram for explaining the operation of the encryption apparatus according to the second embodiment. 図6は第2の実施形態の暗号化装置の動作手順を示すフローチャートである。FIG. 6 is a flowchart showing an operation procedure of the encryption apparatus according to the second embodiment. 図7は第3の実施形態の復号装置の一構成例を示すブロック図である。FIG. 7 is a block diagram illustrating a configuration example of the decoding device according to the third embodiment. 図8は第3の実施形態の復号装置の動作を説明するための図である。FIG. 8 is a diagram for explaining the operation of the decoding apparatus according to the third embodiment. 図9は第3の実施形態の復号装置の動作手順を示すフローチャートである。FIG. 9 is a flowchart showing an operation procedure of the decoding apparatus according to the third embodiment. 図10は第4の実施形態の復号装置の一構成例を示すブロック図である。FIG. 10 is a block diagram illustrating a configuration example of the decoding device according to the fourth embodiment. 図11は第4の実施形態の復号装置の動作を説明するための図である。FIG. 11 is a diagram for explaining the operation of the decoding device according to the fourth embodiment. 図12は第4の実施形態の復号装置の動作手順を示すフローチャートである。FIG. 12 is a flowchart showing an operation procedure of the decoding apparatus according to the fourth embodiment.
符号の説明Explanation of symbols
 107、207、307、407  制御部
 110、210  暗号化装置
 310、410  復号装置
107, 207, 307, 407 Control unit 110, 210 Encryption device 310, 410 Decryption device
 本発明の実施形態を説明する。本実施形態は、倍ブロック長暗号化技術に関するものである。
(第1の実施形態)
 本実施形態の暗号化装置の構成を説明する。図1は本実施形態の暗号化装置の一構成例を示すブロック図である。
An embodiment of the present invention will be described. This embodiment relates to a double block length encryption technique.
(First embodiment)
The configuration of the encryption apparatus according to this embodiment will be described. FIG. 1 is a block diagram showing a configuration example of the encryption apparatus according to the present embodiment.
 図1に示すように、本実施形態の暗号化装置110は、入力部101と、制御部107と、出力部108とを有する情報処理装置である。制御部107には、プログラムにしたがって処理を実行するCPU(Central Processing Unit)(不図示)と、プログラムを格納するためのメモリ(不図示)とが設けられている。 As shown in FIG. 1, the encryption device 110 according to the present embodiment is an information processing device including an input unit 101, a control unit 107, and an output unit 108. The control unit 107 is provided with a CPU (Central Processing Unit) (not shown) for executing processing according to a program and a memory (not shown) for storing the program.
 制御部107は、第1の強擬似ランダム暗号化部102と、第1の弱擬似ランダム暗号化部103と、第2の強擬似ランダム暗号化部104と、第2の弱擬似ランダム暗号化部105と、暗号文生成部106とを有する。CPUがプログラムを実行することで、制御部107内の各部が暗号化装置内に仮想的に構成される。 The control unit 107 includes a first strong pseudo-random encryption unit 102, a first weak pseudo-random encryption unit 103, a second strong pseudo-random encryption unit 104, and a second weak pseudo-random encryption unit. 105 and a ciphertext generation unit 106. When the CPU executes the program, each unit in the control unit 107 is virtually configured in the encryption apparatus.
 入力部101には、暗号化される対象となる平文が入力される。ここでは、暗号化対象の平文がMLブロックとMRブロックを含むものとする。入力部101は、キーボード、磁気読み取り装置、通信部などのインタフェースである。 In the input unit 101, plain text to be encrypted is input. Here, it is assumed that the plaintext to be encrypted includes an ML block and an MR block. The input unit 101 is an interface such as a keyboard, a magnetic reading device, or a communication unit.
 第1の強擬似ランダム暗号化部102は、入力部101からMLブロックを受け取ると、nビットのブロック暗号Eにより暗号化してSLブロックを生成する。ブロック暗号Eの鍵をKとし、Kを用いた暗号化をE[K]とすると、SL=E[K](ML)の式が成り立つ。 When the first strong pseudo-random encryption unit 102 receives the ML block from the input unit 101, the first strong pseudo-random encryption unit 102 encrypts with the n-bit block cipher E and generates an SL block. If the key of the block cipher E is K and the encryption using K is E [K], the equation SL = E [K] (ML) is established.
 ここで、ブロック暗号Eは、選択暗号文攻撃に対して安全な、強擬似ランダム暗号であることが必要である。これは、AES(Advanced Encryption Standard)など選択暗号文攻撃への安全性が広く検証されているブロック暗号を用いることで実現可能である。 Here, the block cipher E needs to be a strong pseudo-random cipher that is safe against the selected ciphertext attack. This can be realized by using a block cipher that has been widely verified for security against selected ciphertext attacks such as AES (Advanced Encryption Standard).
 第1の弱擬似ランダム暗号化部103は、MLブロックとSLブロックとの和をnビットのブロック暗号Fにより暗号化し、nビットのTLブロックを生成する。和の演算はビット単位の排他的論理和でもよく、mod2の算術和など任意の群演算でもよい。和の演算は制御部107で実行される。 The first weak pseudorandom encryption unit 103 encrypts the sum of the ML block and the SL block with the n-bit block cipher F, and generates an n-bit TL block. The sum operation may be a bitwise exclusive OR, or an arbitrary group operation such as an arithmetic sum of mod2 n . The calculation of the sum is executed by the control unit 107.
 ブロック暗号Fの鍵をLとすると、TL=F[L](ML+SL)の式が成り立つ。ここで、ブロック暗号Fは、既知平文攻撃に対して安全な、弱擬似ランダム暗号であることが要求される。すなわち、攻撃者がランダムに平文(ここでは、MLブロックとSLブロックとの和)を与えるもとで、暗号文(ここではTLブロック)を得たときに、TLブロックと真の乱数との判別が困難であることを満たせばよい。 Suppose that the key of the block cipher F is L, the equation TL = F [L] (ML + SL) is established. Here, the block cipher F is required to be a weak pseudorandom cipher that is safe against known plaintext attacks. That is, when an attacker obtains a ciphertext (here, a TL block) while randomly giving plaintext (here, the sum of an ML block and an SL block), the TL block is discriminated from a true random number. Satisfy what is difficult.
 第1の強擬似ランダム暗号化部102が用いるブロック暗号Eはこの条件を既に満たしている上に、選択暗号文攻撃よりも既知平文攻撃は弱いクラスの攻撃である。そのため、ブロック暗号Eの一部分を省略するなどの簡略化を施しても、現実には既知平文攻撃への高い安全性を有することが考えられる。したがって、ブロック暗号Fはブロック暗号Eの一部分として得ることが可能である。 The block cipher E used by the first strong pseudo-random encryption unit 102 already satisfies this condition, and the known plaintext attack is a weaker class attack than the selected ciphertext attack. Therefore, even if simplification such as omission of a part of the block cipher E is performed, it can be considered that in reality it has high security against known plaintext attacks. Therefore, the block cipher F can be obtained as a part of the block cipher E.
 なお、置換である必要がないため、ブロック暗号Fは、例えば、初期ベクトル付きのストリーム暗号の初期ベクトルを入力とした関数でもよい。 It should be noted that the block cipher F may be a function having, as an input, an initial vector of a stream cipher with an initial vector, for example, since it is not necessary to be a replacement.
 第2の強擬似ランダム暗号化部104は、TLブロックとMRブロックとの和をnビットのブロック暗号E’により暗号化し、nビットのCRブロックを生成する。ブロック暗号E’の鍵をK’とすると、CR=E’[K’](TL+MR)の式が成り立つ。和の演算はビット単位の排他的論理和でもよく、mod2の算術和など任意の群演算でもよい。 The second strong pseudo-random encryption unit 104 encrypts the sum of the TL block and the MR block with the n-bit block cipher E ′ to generate an n-bit CR block. If the key of the block cipher E ′ is K ′, the equation CR = E ′ [K ′] (TL + MR) is established. The sum operation may be a bitwise exclusive OR, or an arbitrary group operation such as an arithmetic sum of mod2 n .
 ブロック暗号E’は、強擬似ランダム暗号であることが必要であり、第1の強擬似ランダム暗号化部102が用いるブロック暗号Eと同じアルゴリズムを用いるものであってもよい。その場合、ブロック暗号E’の鍵K’はブロック暗号Eが用いる鍵Kと同じでもよく、異なっていてもよい。 The block cipher E ′ needs to be a strong pseudorandom cipher and may use the same algorithm as the block cipher E used by the first strong pseudorandom encryption unit 102. In that case, the key K ′ of the block cipher E ′ may be the same as or different from the key K used by the block cipher E.
 第2の弱擬似ランダム暗号化部105は、TLブロック、MRブロックおよびCRブロックの和をnビットのブロック暗号F’により暗号化し、nビットのTRブロックを生成する。和の演算はビット単位の排他的論理和でもよく、mod2の算術和など任意の群演算でもよい。 The second weak pseudorandom encryption unit 105 encrypts the sum of the TL block, the MR block, and the CR block with the n-bit block cipher F ′, and generates an n-bit TR block. The sum operation may be a bitwise exclusive OR, or an arbitrary group operation such as an arithmetic sum of mod2 n .
 ブロック暗号F’が用いる鍵をL’とすると、TR=F’[L’](TL+MR+CR)の式が成り立つ。ブロック暗号F’は、弱擬似ランダム暗号であることが要求される。ブロック暗号F’は第1の弱擬似ランダム暗号化部103が用いるnビットのブロック暗号Fと同じアルゴリズムでもよい。また、ブロック暗号F’の鍵L’はブロック暗号Fの鍵Lと同じでもよく、異なっていてもよい。 If the key used by the block cipher F ′ is L ′, the equation TR = F ′ [L ′] (TL + MR + CR) is established. The block cipher F ′ is required to be a weak pseudorandom cipher. The block cipher F ′ may be the same algorithm as the n-bit block cipher F used by the first weak pseudorandom encryption unit 103. The key L ′ of the block cipher F ′ may be the same as or different from the key L of the block cipher F.
 暗号文生成部106は、TRブロックとSLブロックの和であるCLブロックにCRブロックを連結して暗号文を生成する。生成した暗号文を出力部108を介して出力する。出力部108は、ディスプレイ装置やプリンタなどの出力装置である。 The ciphertext generating unit 106 generates a ciphertext by connecting the CR block to the CL block that is the sum of the TR block and the SL block. The generated ciphertext is output via the output unit 108. The output unit 108 is an output device such as a display device or a printer.
 次に、本実施形態の暗号化装置の動作手順を説明する。 Next, the operation procedure of the encryption apparatus according to this embodiment will be described.
 図2は本実施形態の暗号化装置の動作を説明するための図である。図3は本実施形態の暗号化装置の動作手順を示すフローチャートである。図2に示す和の演算は制御部107内で実行される。 FIG. 2 is a diagram for explaining the operation of the encryption apparatus according to the present embodiment. FIG. 3 is a flowchart showing the operation procedure of the encryption apparatus of this embodiment. The sum calculation shown in FIG. 2 is executed in the control unit 107.
 MLブロックおよびMRブロックを含む平文が入力部101を介して入力されると(ステップ1001)、第1の強擬似ランダム暗号化部102がMLブロックを暗号化してSLブロックを生成する(ステップ1002)。続いて、第1の弱擬似ランダム暗号化部103が、MLブロックとSLブロックの和を暗号化してTLブロックを生成する(ステップ1003)。 When plain text including the ML block and the MR block is input via the input unit 101 (step 1001), the first strong pseudo-random encryption unit 102 encrypts the ML block to generate an SL block (step 1002). . Subsequently, the first weak pseudo-random encryption unit 103 encrypts the sum of the ML block and the SL block to generate a TL block (step 1003).
 第2の強擬似ランダム暗号化部104が、TLブロックとMRブロックの和を暗号化してCRブロックを生成する(ステップ1004)。第2の弱擬似ランダム暗号化部105が、TLブロック、MRブロックおよびCRブロックの和を暗号化してTRブロックを生成する(ステップ1005)。さらに、暗号文生成部106が、SLブロックとTRブロックの和であるCLブロックをCRブロックに連結して暗号文を生成し、暗号文を出力部108に出力する(ステップ1006)。 The second strong pseudorandom encryption unit 104 encrypts the sum of the TL block and the MR block to generate a CR block (step 1004). The second weak pseudorandom encryption unit 105 encrypts the sum of the TL block, MR block, and CR block to generate a TR block (step 1005). Further, the ciphertext generation unit 106 generates a ciphertext by connecting the CL block, which is the sum of the SL block and the TR block, to the CR block, and outputs the ciphertext to the output unit 108 (step 1006).
 本実施形態では、選択暗号文攻撃に安全なnビットのブロック暗号Eと、より弱い攻撃である既知平文攻撃にのみ安全性を保証し、その代わりブロック暗号Eより高速なnビットのブロック暗号Fを組み合わせている。組み合わせ方は、ブロック暗号Eの入出力の和が常にブロック暗号Fの入力となるようにし、できあがる2nビット入力nビット出力の処理(入力(x1,x2)に対して出力(E(x1),x2+F(x1+E(x1))))を、メッセージの左右入れ替えをはさんで2回行うものである。 In the present embodiment, the security is ensured only for the n-bit block cipher E that is safe against the selected ciphertext attack and the known plaintext attack that is a weaker attack, and instead, the n-bit block cipher F that is faster than the block cipher E Are combined. The combination is such that the sum of the input and output of the block cipher E is always the input of the block cipher F, and the resulting 2n-bit input n-bit output processing (input (x1, x2), output (E (x1), x2 + F (x1 + E (x1)))) is performed twice with the message left and right interchanged.
 上述したように、nビットブロック強擬似ランダム暗号を2回コールし、nビットブロック弱擬似ランダム暗号を2回コールすることで倍ブロック長の強擬似ランダム暗号を構成し、倍ブロック長の強擬似ランダム置換をユニバーサルハッシュ関数なしで効率よくできる。 As described above, the n-bit block strong pseudo-random cipher is called twice, and the n-bit block weak pseudo-random cipher is called twice to construct the double block-length strong pseudo-random cipher, Random replacement can be done efficiently without universal hash function.
 背景技術で述べたように、倍ブロック長の暗号化技術に関しては、4段のランダムFeistel暗号やNRモードがある。しかし、4段のランダムFeistel暗号はラウンド関数Eを4回コールする必要がある。これに対して、本実施形態では、ブロック暗号Eよりブロック暗号Fの方が要求される安全性のレベルが下がっているため、結果的に、4段のランダムFeistel暗号をブロック暗号Eで構築するよりも高速化が期待できる。 As described in the background art, there are four-stage random Feistel encryption and NR mode for double block length encryption technology. However, the four-stage random Feistel cipher needs to call the round function E four times. On the other hand, in this embodiment, since the level of security required for the block cipher F is lower than that for the block cipher E, a four-stage random Feistel cipher is constructed with the block cipher E as a result. Can be expected to be faster.
 また、NRモードは、ブロック暗号Eは2回でよいが、nビット入出力のユニバーサルハッシュ関数を2回コールする必要がある。ユニバーサルハッシュ関数と弱擬似ランダム暗号はどちらも強擬似ランダム暗号より厳密に弱い関数であり、また相互関係はない。つまり、ユニバーサルハッシュ関数であっても弱擬似ランダム暗号とはならない例があり、またその逆の例も存在する。したがって、ユニバーサルハッシュ関数と弱擬似ランダム暗号のどちらが実用に適しているかは、実装するプラットフォームやどのような暗号アルゴリズムの実装を使えるかという前提条件に依存することになる。 In the NR mode, the block cipher E may be used twice, but the n-bit input / output universal hash function needs to be called twice. Both the universal hash function and the weak pseudorandom cipher are strictly weaker functions than the strong pseudorandom cipher, and there is no mutual relationship. In other words, there are examples in which a universal hash function is not a weak pseudorandom cipher, and vice versa. Therefore, whether the universal hash function or the weak pseudorandom cipher is suitable for practical use depends on the premise of the implementation platform and what kind of cryptographic algorithm implementation can be used.
 例えば、ユニバーサルハッシュ関数は有限体上の積などの代数的な構成方法が知られているが、シンプルな実装では高度に最適化されたブロック暗号より速度で劣る場合もあることが知られている。また、代数的構成方法を用いる場合には、一般にブロック暗号との共通部分がないために、プログラムサイズなど実装のコストが増大する。一方、弱擬似ランダム暗号は強擬似ランダム暗号の短縮段などで得られる場合もあり、ユニバーサルハッシュ関数を用いる場合と比較すると、プログラムサイズの増大を抑えた実装が可能な場合もある。 For example, a universal hash function is known to have an algebraic construction method such as a product over a finite field, but it is known that a simple implementation may be slower than a highly optimized block cipher. . Also, when using an algebraic configuration method, since there is generally no common part with block ciphers, implementation costs such as program size increase. On the other hand, the weak pseudo-random cipher may be obtained by shortening the strong pseudo-random cipher or the like, and in some cases, the implementation can be implemented while suppressing an increase in the program size as compared with the case where the universal hash function is used.
(第2の実施形態)
 本実施形態の暗号化装置の構成を説明する。
(Second Embodiment)
The configuration of the encryption apparatus according to this embodiment will be described.
 図4は本実施形態の暗号化装置の一構成例を示すブロック図である。なお、第1の実施形態と同様な構成については同一の符号を付し、その詳細な説明を省略する。 FIG. 4 is a block diagram showing a configuration example of the encryption apparatus according to the present embodiment. In addition, about the structure similar to 1st Embodiment, the same code | symbol is attached | subjected and the detailed description is abbreviate | omitted.
 図4に示すように、本実施形態の暗号化装置210は、入力部101と、制御部207と、出力部108とを有する情報処理装置である。制御部207には、プログラムにしたがって処理を実行するCPU(Central Processing Unit)(不図示)と、プログラムを格納するためのメモリ(不図示)とが設けられている。 As illustrated in FIG. 4, the encryption device 210 according to the present embodiment is an information processing device including an input unit 101, a control unit 207, and an output unit 108. The control unit 207 is provided with a CPU (Central Processing Unit) (not shown) for executing processing according to a program and a memory (not shown) for storing the program.
 制御部207は、第1の強擬似ランダム付加パラメータ付き暗号化部202と、第1の弱擬似ランダム暗号化部103と、第2の強擬似ランダム付加パラメータ付き暗号化部204と、第2の弱擬似ランダム暗号化部105と、暗号文生成部106とを有する。CPUがプログラムを実行することで、制御部207内の各部が暗号化装置内に仮想的に構成される。 The control unit 207 includes an encryption unit 202 with a first strong pseudorandom additional parameter, a first weak pseudorandom encryption unit 103, an encryption unit 204 with a second strong pseudorandom additional parameter, a second A weak pseudorandom encryption unit 105 and a ciphertext generation unit 106 are included. When the CPU executes the program, each unit in the control unit 207 is virtually configured in the encryption apparatus.
 暗号化対象の平文は、第1の実施形態と同様に、MLブロックおよびMRブロックを含む平文とする。入力部101を介して平文と付加パラメータTWが入力される。 The plaintext to be encrypted is a plaintext including an ML block and an MR block, as in the first embodiment. The plain text and the additional parameter TW are input via the input unit 101.
 第1の強擬似ランダム付加パラメータ付き暗号化部202は、入力部101からMLブロックおよび付加パラメータTWを受け取ると、付加パラメータTWを用いてMLブロックをnビットブロックの付加パラメータ付き暗号Qにより暗号化してSLブロックを生成する。付加パラメータ付き暗号Qの鍵をKとし、付加パラメータTWと鍵Kを用いた暗号化をE[K,TW]で表すと、SL=Q[K,TW](ML)の式が成り立つ。 Upon receiving the ML block and the additional parameter TW from the input unit 101, the first strong pseudo-random additional parameter-attached encryption unit 202 encrypts the ML block using the additional parameter TW and the encryption Q with the additional parameter of the n-bit block. To generate an SL block. If the key of the encryption parameter-added encryption Q is K, and encryption using the additional parameter TW and the key K is represented by E [K, TW], the equation SL = Q [K, TW] (ML) is established.
 付加パラメータ付き暗号Qは、選択暗号文攻撃に対して安全な、強擬似ランダム付加パラメータ付き暗号であることが必要である。これは、AESなど、選択暗号文攻撃への安全性が広く検証されているブロック暗号を、文献4に開示されたXEXモードなどを用いて付加パラメータ付き暗号へ変換することで実現可能である。 The cipher Q with additional parameters must be a cipher with strong pseudo-random additional parameters that is safe against selected ciphertext attacks. This can be realized by converting a block cipher such as AES, which has been widely verified to be safe against a selected ciphertext attack, into a cipher with an additional parameter using the XEX mode disclosed in Document 4.
 第2の強擬似ランダム付加パラメータ付き暗号化部204は、付加パラメータTWを用いて、TLブロックとMRブロックとの和をnビットブロックの付加パラメータ付き暗号Q’により暗号化し、nビットのCRブロックを生成する。鍵をK’とすると、CR=Q’[K’,TW](TL+MR)の式が成り立つ。和の演算はビット単位の排他的論理和でもよく、mod2の算術和など任意の群演算でもよい。和の演算は制御部207で実行される。 The second strong pseudo-random additional parameter-attached encryption unit 204 encrypts the sum of the TL block and the MR block using the additional parameter TW using the encryption Q ′ with the additional parameter of the n-bit block, and the n-bit CR block Is generated. If the key is K ′, the equation CR = Q ′ [K ′, TW] (TL + MR) holds. The sum operation may be a bitwise exclusive OR, or an arbitrary group operation such as an arithmetic sum of mod2 n . The calculation of the sum is executed by the control unit 207.
 付加パラメータ付き暗号Q’は強擬似ランダム付加パラメータ付き暗号であることが必要であり、第1の強擬似ランダム付加パラメータ付き暗号化部202が用いる付加パラメータ付き暗号Qと同じアルゴリズムを用いてもよい。その場合、付加パラメータ付き暗号Q’の鍵K’は付加パラメータ付き暗号Qが用いる鍵Kと同じでもよく、異なっていてもよい。 The cipher Q ′ with additional parameter needs to be a cipher with strong pseudo-random additional parameter, and the same algorithm as the cipher Q with additional parameter used by the first strong pseudo-random additional parameter encryption unit 202 may be used. . In this case, the key K ′ of the encryption Q ′ with additional parameter may be the same as or different from the key K used by the encryption Q with additional parameter.
 次に、本実施形態の暗号化装置の動作手順を説明する。 Next, the operation procedure of the encryption apparatus according to this embodiment will be described.
 図5は本実施形態の暗号化装置の動作を説明するための図である。図6は本実施形態の暗号化装置の動作手順を示すフローチャートである。図5に示す和の演算は制御部207内で実行される。 FIG. 5 is a diagram for explaining the operation of the encryption apparatus of the present embodiment. FIG. 6 is a flowchart showing the operation procedure of the encryption apparatus of this embodiment. The sum calculation shown in FIG. 5 is executed in the control unit 207.
 MLブロックおよびMRブロックを含む平文と付加パラメータTWが入力部101を介して入力されると(ステップ1011)、第1の強擬似ランダム付加パラメータ付き暗号化部202は、付加パラメータTWを用いてMLブロックを暗号化してSLブロックを生成する(ステップ1012)。続いて、第1の弱擬似ランダム暗号化部103が、MLブロックとSLブロックの和を暗号化してTLブロックを生成する(ステップ1013)。 When the plaintext including the ML block and the MR block and the additional parameter TW are input via the input unit 101 (step 1011), the first strong pseudo-random additional parameter-containing encryption unit 202 uses the additional parameter TW to perform ML. The block is encrypted to generate an SL block (step 1012). Subsequently, the first weak pseudo-random encryption unit 103 encrypts the sum of the ML block and the SL block to generate a TL block (step 1013).
 第2の強擬似ランダム付加パラメータ付き暗号化部204が、付加パラメータTWを用いて、TLブロックとMRブロックの和を暗号化してCRブロックを生成する(ステップ1014)。第2の弱擬似ランダム暗号化部105が、TLブロック、MRブロックおよびCRブロックの和を暗号化してTRブロックを生成する(ステップ1015)。さらに、暗号文生成部106が、SLブロックとTRブロックの和であるCLブロックをCRブロックに連結して暗号文を生成し、暗号文を出力部108に出力する(ステップ1016)。 The second strong pseudo-random additional parameter-attached encryption unit 204 encrypts the sum of the TL block and the MR block using the additional parameter TW to generate a CR block (step 1014). The second weak pseudo-random encryption unit 105 encrypts the sum of the TL block, MR block, and CR block to generate a TR block (step 1015). Further, the ciphertext generation unit 106 generates a ciphertext by connecting the CL block, which is the sum of the SL block and the TR block, to the CR block, and outputs the ciphertext to the output unit 108 (step 1016).
 本実施形態によれば、倍ブロック長の平文に付加パラメータがある場合でも第1の実施形態と同様な効果が得られる。 According to the present embodiment, the same effect as that of the first embodiment can be obtained even when there is an additional parameter in the plaintext having a double block length.
 なお、第1および第2の実施形態のそれぞれにおいて、第1および第2の強擬似ランダム暗号化部にラウンド関数の繰り返しによるブロック暗号Eを用い、第1および第2の弱擬似ランダム暗号化部にブロック暗号Eのラウンド関数の繰り返し回数を減らして得られるブロック暗号E’を用いるものとしてもよい。この場合、ラウンド関数の繰り返しにより安全性が向上する。また、2つの強擬似ランダム暗号化部が共通のブロック暗号Eを用い、2つの弱擬似ランダム暗号化部が共通のブロック暗号E’を用いることで、CPUに実行させるプログラムのサイズを低減できる。 Note that, in each of the first and second embodiments, the first and second strong pseudorandom encryption units use the block cipher E by repetition of a round function, and the first and second weak pseudorandom encryption units. Alternatively, the block cipher E ′ obtained by reducing the number of repetitions of the round function of the block cipher E may be used. In this case, safety is improved by repeating the round function. In addition, since the two strong pseudo-random encryption units use the common block cipher E and the two weak pseudo-random encryption units use the common block cipher E ′, the size of the program executed by the CPU can be reduced.
(第3の実施形態)
 本実施形態の復号装置の構成を説明する。図7は本実施形態の復号装置の一構成例を示すブロック図である。
(Third embodiment)
The configuration of the decoding device of this embodiment will be described. FIG. 7 is a block diagram illustrating a configuration example of the decoding device according to the present embodiment.
 図7に示すように、本実施形態の復号装置310は、入力部301と、制御部307と、出力部308とを有する情報処理装置である。制御部307には、プログラムにしたがって処理を実行するCPU(Central Processing Unit)(不図示)と、プログラムを格納するためのメモリ(不図示)とが設けられている。 As shown in FIG. 7, the decoding device 310 of this embodiment is an information processing device including an input unit 301, a control unit 307, and an output unit 308. The control unit 307 is provided with a CPU (Central Processing Unit) (not shown) for executing processing according to a program and a memory (not shown) for storing the program.
 制御部307は、第1の強擬似ランダム復号部302と、第1の弱擬似ランダム暗号化部303と、第2の強擬似ランダム復号部304と、第2の弱擬似ランダム暗号化部305と、平文生成部306とを有する。CPUがプログラムを実行することで、制御部307内の各部が暗号化装置内に仮想的に構成される。 The control unit 307 includes a first strong pseudorandom decryption unit 302, a first weak pseudorandom encryption unit 303, a second strong pseudorandom decryption unit 304, and a second weak pseudorandom encryption unit 305. And a plaintext generation unit 306. When the CPU executes the program, each unit in the control unit 307 is virtually configured in the encryption apparatus.
 入力部301には、復号される対象となる暗号文が入力される。ここでは、復号対象の暗号文がCRブロックとCLブロックを含むものとする。入力部301は、キーボード、磁気読み取り装置、通信部などのインタフェースである。 In the input unit 301, a ciphertext to be decrypted is input. Here, it is assumed that the ciphertext to be decrypted includes a CR block and a CL block. The input unit 301 is an interface such as a keyboard, a magnetic reading device, or a communication unit.
 第1の強擬似ランダム復号部302は、入力部301から受け取るCRブロックをnビットのブロック暗号Eにより復号してSRブロックを生成する。ブロック暗号Eの鍵をKとし、鍵Kを用いた復号をEinv[K]で表すと、SR=Einv[K](CR)の式が成り立つ。 The first strong pseudo-random decoding unit 302 generates an SR block by decoding the CR block received from the input unit 301 with the n-bit block cipher E. If the key of the block cipher E is K and the decryption using the key K is represented by Einv [K], the equation SR = Einv [K] (CR) holds.
 ここで、ブロック暗号Eは、選択暗号文攻撃に対して安全な、強擬似ランダム暗号であることが必要である。これは、AESなど選択暗号文攻撃への安全性が広く検証されているブロック暗号を用いることで実現可能である。 Here, the block cipher E needs to be a strong pseudo-random cipher that is safe against the selected ciphertext attack. This can be realized by using a block cipher that has been widely verified for security against a selected ciphertext attack such as AES.
 第1の弱擬似ランダム暗号化部303は、CRブロックとSRブロックとの和をnビットのブロック暗号Fにより暗号化し、nビットのTRブロックを生成する。和の演算はビット単位の排他的論理和でもよく、mod2の算術和など任意の群演算でもよい。和の演算は制御部307で実行される。 The first weak pseudo-random encryption unit 303 encrypts the sum of the CR block and the SR block with the n-bit block cipher F to generate an n-bit TR block. The sum operation may be a bitwise exclusive OR, or an arbitrary group operation such as an arithmetic sum of mod2 n . The calculation of the sum is executed by the control unit 307.
 なお、置換である必要がないため、ブロック暗号Fは、例えば、初期ベクトル付きのストリーム暗号の初期ベクトルを入力とした関数でもよい。 It should be noted that the block cipher F may be a function having, as an input, an initial vector of a stream cipher with an initial vector, for example, since it is not necessary to be a replacement.
 ブロック暗号Fの鍵をLとすると、TL=F[L](ML+SL)の式が成り立つ。ここで、ブロック暗号Fは、既知平文攻撃に対して安全な、弱擬似ランダム暗号であることが要求される。第1の強擬似ランダム復号部302が用いるブロック暗号Eはこの条件を既に満たしている上に、選択暗号文攻撃よりも既知平文攻撃は弱いクラスの攻撃である。そのため、ブロック暗号Eの一部分を省略するなどの簡略化を施しても、現実には既知平文攻撃への高い安全性を有することが考えられる。したがって、ブロック暗号Fはブロック暗号Eの一部分として得ることが可能である。 Suppose that the key of the block cipher F is L, the equation TL = F [L] (ML + SL) is established. Here, the block cipher F is required to be a weak pseudorandom cipher that is safe against known plaintext attacks. The block cipher E used by the first strong pseudorandom decryption unit 302 already satisfies this condition, and the known plaintext attack is a weaker class attack than the selected ciphertext attack. Therefore, even if simplification such as omission of a part of the block cipher E is performed, it can be considered that in reality it has high security against known plaintext attacks. Therefore, the block cipher F can be obtained as a part of the block cipher E.
 第2の強擬似ランダム復号部304は、TRブロックとCLブロックとの和をnビットのブロック暗号E’により復号し、nビットのMLブロックを生成する。E’invをE’の逆関数とし、鍵をK’とすると、CR=E’inv[K’](TL+MR)の式が成り立つ。和の演算はビット単位の排他的論理和でもよく、mod2の算術和など任意の群演算でもよい。 The second strong pseudo-random decoding unit 304 decodes the sum of the TR block and the CL block using the n-bit block cipher E ′ to generate an n-bit ML block. If E′inv is an inverse function of E ′ and the key is K ′, the equation CR = E′inv [K ′] (TL + MR) holds. The sum operation may be a bitwise exclusive OR, or an arbitrary group operation such as an arithmetic sum of mod2 n .
 ブロック暗号E’は強擬似ランダム暗号であることが必要であり、第1の強擬似ランダム復号部302が用いるブロック暗号Eと同じアルゴリズムを用いてもよい。その場合、ブロック暗号E’の鍵K’はブロック暗号Eが用いる鍵Kと同じでもよく、異なっていてもよい。 The block cipher E ′ needs to be a strong pseudorandom cipher, and the same algorithm as the block cipher E used by the first strong pseudorandom decryption unit 302 may be used. In that case, the key K ′ of the block cipher E ′ may be the same as or different from the key K used by the block cipher E.
 第2の弱擬似ランダム暗号化部305は、TRブロック、CLブロックおよびMLブロックの和をnビットのブロック暗号F’により暗号化し、nビットのTLブロックを生成する。和の演算はビット単位の排他的論理和でもよく、mod2の算術和など任意の群演算でもよい。 The second weak pseudo-random encryption unit 305 encrypts the sum of the TR block, the CL block, and the ML block with the n-bit block cipher F ′, and generates an n-bit TL block. The sum operation may be a bitwise exclusive OR, or an arbitrary group operation such as an arithmetic sum of mod2 n .
 ブロック暗号F’が用いる鍵をL’とすると、TR=F’[L’](TL+MR+CR)の式が成り立つ。ブロック暗号F’は、弱擬似ランダム暗号であることが要求される。ブロック暗号F’は第1の弱擬似ランダム暗号化部303が用いるnビットのブロック暗号Fと同じアルゴリズムでもよい。また、ブロック暗号F’の鍵L’はブロック暗号Fの鍵Lと同じでもよく、異なっていてもよい。 If the key used by the block cipher F ′ is L ′, the equation TR = F ′ [L ′] (TL + MR + CR) is established. The block cipher F ′ is required to be a weak pseudorandom cipher. The block cipher F ′ may be the same algorithm as the n-bit block cipher F used by the first weak pseudorandom encryption unit 303. The key L ′ of the block cipher F ′ may be the same as or different from the key L of the block cipher F.
 平文生成部306は、TLブロックとSRブロックの和であるMRブロックにMLブロックを連結して平文を生成する。生成した平文を出力部308を介して出力する。出力部308は、ディスプレイ装置やプリンタなどの出力装置である。 The plaintext generation unit 306 generates plaintext by connecting the ML block to the MR block that is the sum of the TL block and the SR block. The generated plaintext is output via the output unit 308. The output unit 308 is an output device such as a display device or a printer.
 次に、本実施形態の復号装置の動作手順を説明する。 Next, the operation procedure of the decoding device of this embodiment will be described.
 図8は本実施形態の復号装置の動作を説明するための図である。図9は本実施形態の復号装置の動作手順を示すフローチャートである。図8に示す和の演算は制御部307内で実行される。 FIG. 8 is a diagram for explaining the operation of the decoding apparatus according to the present embodiment. FIG. 9 is a flowchart showing the operation procedure of the decoding apparatus of this embodiment. The sum calculation shown in FIG. 8 is executed in the control unit 307.
 CRブロックおよびCLブロックを含む暗号文が入力部301を介して入力されると(ステップ1021)、第1の強擬似ランダム復号部302がCRブロックを復号してSRブロックを生成する(ステップ1022)。続いて、第1の弱擬似ランダム暗号化部303が、CRブロックとSRブロックの和を暗号化してTRブロックを生成する(ステップ1023)。 When the ciphertext including the CR block and the CL block is input via the input unit 301 (step 1021), the first strong pseudo-random decoding unit 302 decrypts the CR block and generates an SR block (step 1022). . Subsequently, the first weak pseudo-random encryption unit 303 encrypts the sum of the CR block and the SR block to generate a TR block (step 1023).
 第2の強擬似ランダム復号部304が、TRブロックとCLブロックの和を復号してMLブロックを生成する(ステップ1024)。第2の弱擬似ランダム暗号化部305が、TRブロック、CLブロックおよびMLブロックの和を暗号化してTLブロックを生成する(ステップ1025)。さらに、平文生成部306が、SRブロックとTLブロックの和であるMRブロックをMLブロックに連結して平文を生成し、平文を出力部308に出力する(ステップ1026)。 The second strong pseudorandom decoding unit 304 decodes the sum of the TR block and the CL block to generate an ML block (step 1024). The second weak pseudorandom encryption unit 305 encrypts the sum of the TR block, CL block, and ML block to generate a TL block (step 1025). Further, the plaintext generation unit 306 generates a plaintext by connecting the MR block, which is the sum of the SR block and the TL block, to the ML block, and outputs the plaintext to the output unit 308 (step 1026).
 本実施形態により、第1の実施形態で説明した処理と逆の処理を行う場合でも、第1の実施形態と同様の効果が得られる。 According to the present embodiment, the same effect as that of the first embodiment can be obtained even when the process opposite to the process described in the first embodiment is performed.
(第4の実施形態)
 本実施形態の復号装置の構成を説明する。
(Fourth embodiment)
The configuration of the decoding device of this embodiment will be described.
 図10は本実施形態の復号装置の一構成例を示すブロック図である。なお、第3の実施形態と同様な構成については同一の符号を付し、その詳細な説明を省略する。 FIG. 10 is a block diagram showing an example of the configuration of the decoding apparatus according to this embodiment. In addition, about the structure similar to 3rd Embodiment, the same code | symbol is attached | subjected and the detailed description is abbreviate | omitted.
 図10に示すように、本実施形態の復号装置410は、入力部301と、制御部407と、出力部308とを有する情報処理装置である。制御部407には、プログラムにしたがって処理を実行するCPU(Central Processing Unit)(不図示)と、プログラムを格納するためのメモリ(不図示)とが設けられている。 As illustrated in FIG. 10, the decoding device 410 according to the present embodiment is an information processing device including an input unit 301, a control unit 407, and an output unit 308. The control unit 407 is provided with a CPU (Central Processing Unit) (not shown) that executes processing according to a program and a memory (not shown) for storing the program.
 制御部407は、第1の強擬似ランダム付加パラメータ付き復号部402と、第1の弱擬似ランダム暗号化部303と、第2の強擬似ランダム付加パラメータ付き復号部404と、第2の弱擬似ランダム暗号化部305と、平文生成部306とを有する。CPUがプログラムを実行することで、制御部407内の各部が暗号化装置内に仮想的に構成される。 The control unit 407 includes a first strong pseudo-random additional parameter-added decrypting unit 402, a first weak pseudo-random encryption unit 303, a second strong pseudo-random additional parameter-containing decrypting unit 404, and a second weak pseudo-random parameter. A random encryption unit 305 and a plaintext generation unit 306 are included. When the CPU executes the program, each unit in the control unit 407 is virtually configured in the encryption apparatus.
 復号対象の暗号文は、第3の実施形態と同様に、CRブロックおよびCLブロックを含む暗号文とする。入力部301を介して暗号文と付加パラメータTWが入力される。 The ciphertext to be decrypted is a ciphertext including a CR block and a CL block, as in the third embodiment. The ciphertext and the additional parameter TW are input via the input unit 301.
 第1の強擬似ランダム付加パラメータ付き復号部402は、入力部301からCRブロックおよび付加パラメータTWを受け取ると、付加パラメータTWを用いてCRブロックをnビットブロックの付加パラメータ付き暗号Qにより復号してSRブロックを生成する。QinvをQの逆関数とし、付加パラメータ付き暗号Qの鍵をKとし、付加パラメータTWと鍵Kを用いた復号をQinv[K,TW]で表すと、SR=Qinv[K,TW](CR)の式が成り立つ。 Upon receiving the CR block and the additional parameter TW from the input unit 301, the first strong pseudorandom additional parameter-added decrypting unit 402 decrypts the CR block using the additional parameter TW and the encryption Q with the additional parameter of the n-bit block. An SR block is generated. When Qinv is an inverse function of Q, the key of the encryption Q with additional parameter is K, and decryption using the additional parameter TW and the key K is expressed by Qinv [K, TW], SR = Qinv [K, TW] (CR ) Holds.
 付加パラメータ付き暗号Qは、選択暗号文攻撃に対して安全な、強擬似ランダム付加パラメータ付き暗号であることが必要である。これは、AESなど、選択暗号文攻撃への安全性が広く検証されているブロック暗号を、文献4に開示されたXEXモードなどを用いて付加パラメータ付き暗号へ変換することで実現可能である。 The cipher Q with additional parameters must be a cipher with strong pseudo-random additional parameters that is safe against selected ciphertext attacks. This can be realized by converting a block cipher such as AES, which has been widely verified to be safe against a selected ciphertext attack, into a cipher with an additional parameter using the XEX mode disclosed in Document 4.
 第2の強擬似ランダム付加パラメータ付き復号部404は、付加パラメータTWを用いて、TRブロックとCLブロックとの和をnビットブロックの付加パラメータ付き暗号Q’により復号し、nビットのMLブロックを生成する。鍵をK’とすると、CR=Q’inv[K’,TW](TL+MR)の式が成り立つ。和の演算はビット単位の排他的論理和でもよく、mod2の算術和など任意の群演算でもよい。和の演算は制御部407で実行される。 The second strong pseudo-random additional parameter decryption unit 404 decrypts the sum of the TR block and the CL block with the additional parameter TW using the encryption Q ′ with the additional parameter of the n-bit block, and the n-bit ML block Generate. If the key is K ′, the equation CR = Q′inv [K ′, TW] (TL + MR) holds. The sum operation may be a bitwise exclusive OR, or an arbitrary group operation such as an arithmetic sum of mod2 n . The calculation of the sum is executed by the control unit 407.
 付加パラメータ付き暗号Q’は強擬似ランダム付加パラメータ付き暗号であることが必要であり、第1の強擬似ランダム付加パラメータ付き復号部402が用いる付加パラメータ付き暗号Qと同じアルゴリズムを用いてもよい。その場合、付加パラメータ付き暗号Q’の鍵K’は付加パラメータ付き暗号Qが用いる鍵Kと同じでもよく、異なっていてもよい。 The cipher with additional parameter Q ′ needs to be a cipher with strong pseudo-random additional parameter, and the same algorithm as the cipher with additional parameter Q used by the first strong pseudo-random additional parameter-decrypting unit 402 may be used. In this case, the key K ′ of the encryption Q ′ with additional parameter may be the same as or different from the key K used by the encryption Q with additional parameter.
 次に、本実施形態の復号装置の動作手順を説明する。 Next, the operation procedure of the decoding device of this embodiment will be described.
 図11は本実施形態の復号装置の動作を説明するための図である。図12は本実施形態の復号装置の動作手順を示すフローチャートである。図11に示す和の演算は制御部407内で実行される。 FIG. 11 is a diagram for explaining the operation of the decoding apparatus according to the present embodiment. FIG. 12 is a flowchart showing the operation procedure of the decoding apparatus of this embodiment. The sum calculation shown in FIG. 11 is executed in the control unit 407.
 CRブロックおよびCLブロックを含む暗号文と付加パラメータTWが入力部301を介して入力されると(ステップ1031)、第1の強擬似ランダム付加パラメータ付き復号部402は、付加パラメータTWを用いてCRブロックを復号してSRブロックを生成する(ステップ1032)。続いて、第1の弱擬似ランダム暗号化部303が、CRブロックとSRブロックの和を暗号化してTRブロックを生成する(ステップ1033)。 When the ciphertext including the CR block and the CL block and the additional parameter TW are input via the input unit 301 (step 1031), the first strong pseudo-random additional parameter decryption unit 402 uses the additional parameter TW to perform CR The block is decoded to generate an SR block (step 1032). Subsequently, the first weak pseudo-random encryption unit 303 encrypts the sum of the CR block and the SR block to generate a TR block (step 1033).
 第2の強擬似ランダム付加パラメータ付き復号部404が、付加パラメータTWを用いて、TRブロックとCLブロックの和を復号してMLブロックを生成する(ステップ1034)。第2の弱擬似ランダム暗号化部305が、TRブロック、CLブロックおよびMLブロックの和を暗号化してTLブロックを生成する(ステップ1035)。さらに、平文生成部306が、SRブロックとTLブロックの和であるMRブロックをMLブロックに連結して平文を生成し、平文を出力部308に出力する(ステップ1036)。 The second strong pseudo-random additional parameter added decoding unit 404 decodes the sum of the TR block and the CL block using the additional parameter TW to generate an ML block (step 1034). The second weak pseudorandom encryption unit 305 encrypts the sum of the TR block, CL block, and ML block to generate a TL block (step 1035). Further, the plaintext generation unit 306 generates a plaintext by connecting the MR block, which is the sum of the SR block and the TL block, to the ML block, and outputs the plaintext to the output unit 308 (step 1036).
 本実施形態によれば、倍ブロック長の暗号文に付加パラメータがある場合でも第3の実施形態と同様な効果が得られる。 According to this embodiment, the same effect as that of the third embodiment can be obtained even when the double block length ciphertext has an additional parameter.
 なお、第3および第4の実施形態のそれぞれにおいて、第1および第2の強擬似ランダム復号部にラウンド関数の繰り返しによるブロック暗号Eを用い、第1および第2の弱擬似ランダム暗号化部にブロック暗号Eのラウンド関数の繰り返し回数を減らして得られるブロック暗号E’を用いるものとしてもよい。この場合、2つの強擬似ランダム復号部が共通のブロック暗号Eを用い、2つの弱擬似ランダム暗号化部が共通のブロック暗号E’を用いることで、CPUに実行させるプログラムのサイズを低減できる。 In each of the third and fourth embodiments, the first and second strong pseudorandom decoding units use a block cipher E based on repetition of a round function, and the first and second weak pseudorandom encryption units use A block cipher E ′ obtained by reducing the number of repetitions of the round function of the block cipher E may be used. In this case, the size of the program to be executed by the CPU can be reduced by using the common block cipher E for the two strong pseudo-random decryption units and the common block cipher E ′ for the two weak pseudo-random encryption units.
 本発明の効果の一例として、ユニバーサルハッシュ関数を用いないでも、倍ブロック長の強擬似ランダム置換を効率よくできる。 As an example of the effect of the present invention, strong pseudo-random substitution with a double block length can be efficiently performed without using a universal hash function.
 本発明の応用例を説明する。 An application example of the present invention will be described.
 本発明を2者間で暗号化通信を行うシステムに応用することが可能である。インターネットなどのネットワークを介して、電話やメッセージを2者間でやり取りする際、それぞれに本発明の暗号化方法と復号方法を実行可能にした情報端末を備える。一方の情報端末は、データを送信する際、データを暗号化してから送信する。他方の情報端末は、受信したデータを復号する。このようにして、2者間でデータをやり取りすれば、情報の漏洩を防ぐことができる。 The present invention can be applied to a system that performs encrypted communication between two parties. When a telephone or a message is exchanged between two parties via a network such as the Internet, an information terminal that can execute the encryption method and the decryption method of the present invention is provided. One information terminal encrypts data before transmitting data. The other information terminal decodes the received data. In this way, if data is exchanged between the two parties, information leakage can be prevented.
 本発明をコンテンツの配信システムにも応用可能である。通信技術の発達により、通信速度が年々速くなっている。そのため、映画や音楽などの容量の大きい情報でもネットワークを介して個人の情報端末でやり取りすることが可能になった。しかし、映画や音楽などの著作物が容易に違法にコピーされてしまうという問題がある。本発明を映画や音楽などのコンテンツを安全に配信するシステムに応用して、この問題を防ぐことが可能である。映画や音楽などのコンテンツを提供する側のサーバに本発明の暗号化装置を設け、コンテンツの提供を受ける各クライアントの情報端末に本発明の復号装置を設ける。サーバが暗号化装置を用いてコンテンツを暗号化して各クライアントの情報端末に配信すると、各クライアント側の情報端末は復号装置を用いて、暗号化されたコンテンツを復号する。このようにして、コンテンツの提供を受ける権利がある者にだけ、漏出を防ぎ、かつ、高速処理でコンテンツを提供することが可能となる。 The present invention can also be applied to a content distribution system. With the development of communication technology, the communication speed is increasing year by year. For this reason, it has become possible to exchange large-capacity information such as movies and music with personal information terminals via a network. However, there is a problem that copyrighted works such as movies and music are easily copied illegally. This problem can be prevented by applying the present invention to a system for safely distributing contents such as movies and music. The encryption device of the present invention is provided in a server that provides content such as movies and music, and the decryption device of the present invention is provided in each client information terminal that receives the content. When the server encrypts the content using the encryption device and distributes the content to the information terminal of each client, the information terminal on each client side decrypts the encrypted content using the decryption device. In this way, only those who have the right to receive content can be prevented from leaking and can be provided with high-speed processing.
 さらに、次のようにして、本発明をコンピュータサーバ上のデータを安全に運用するシステムに応用することが可能である。秘匿すべきデータを本発明の暗号化方法で暗号してサーバに保存する。秘匿すべきデータの閲覧が許可された者の情報端末にだけ本発明の復号装置を予め設けておく。閲覧が許可された者は、秘匿すべきデータが必要になれば、情報端末を操作してサーバから受信したデータに対して本発明の復号方法を実行させ、対象のデータを見ることが可能となる。閲覧が許可されていない者は、自分の情報端末で暗号化されたデータを表示することができない。このようにして、閲覧が許可された者にだけ、より安全に、かつ、高速処理で秘匿情報を提供することが可能となる。 Furthermore, the present invention can be applied to a system for safely operating data on a computer server as follows. Data to be concealed is encrypted by the encryption method of the present invention and stored in the server. The decryption device of the present invention is provided in advance only in an information terminal of a person who is permitted to browse data to be kept secret. The person who is permitted to browse can operate the information terminal to execute the decryption method of the present invention on the data received from the server and view the target data if the data to be kept secret is necessary. Become. Those who are not allowed to browse cannot display the encrypted data on their information terminals. In this way, it is possible to provide confidential information more safely and at high speed only to those who are permitted to browse.
 以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 Although the present invention has been described with reference to the embodiments and examples, the present invention is not limited to the above embodiments and examples. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
 この出願は、2007年12月26日に出願された日本出願の特願2007-334443の内容が全て取り込まれており、この日本出願を基礎として優先権を主張するものである。 This application incorporates all the contents of Japanese Patent Application No. 2007-334443 filed on December 26, 2007, and claims priority based on this Japanese application.

Claims (16)

  1.  最初のnビットをMLブロックとし、残りのnビットをMRブロックとする、暗号化対象の2nビットの平文が入力されると、前記MLブロックを暗号化してnビットのSLブロックを生成する第1の強擬似ランダム暗号化部と、
     前記MLブロックと前記SLブロックとの和を暗号化してnビットのTLブロックを生成する第1の弱擬似ランダム暗号化部と、
     前記TLブロックと前記MRブロックとの和を暗号化してnビットのCRブロックを生成する第2の強擬似ランダム暗号化部と、
     前記TLブロックと前記MRブロックと前記CRブロックの和を暗号化してnビットのTRブロックを生成する第2の弱擬似ランダム暗号化部と、
     前記SLブロックと前記TRブロックの和であるCLブロックと前記CRブロックとを連結して2nビットの暗号文を生成する暗号文生成部と、
    を有する暗号化装置。
    When a 2n-bit plaintext to be encrypted is input, with the first n bits being an ML block and the remaining n bits being an MR block, the ML block is encrypted to generate an n-bit SL block. Strong pseudo-random encryption part of
    A first weak pseudorandom encryption unit that encrypts a sum of the ML block and the SL block to generate an n-bit TL block;
    A second strong pseudorandom encryption unit that encrypts the sum of the TL block and the MR block to generate an n-bit CR block;
    A second weak pseudorandom encryption unit that encrypts a sum of the TL block, the MR block, and the CR block to generate an n-bit TR block;
    A ciphertext generation unit that generates a 2n-bit ciphertext by concatenating the CL block, which is the sum of the SL block and the TR block, and the CR block;
    An encryption device.
  2.  前記平文とともに付加パラメータが入力されると、
     前記第1の強擬似ランダム暗号化部は、前記付加パラメータを用いて前記MLブロックを暗号化してnビットの前記SLブロックを生成し、
     前記第2の強擬似ランダム暗号化部は、前記付加パラメータを用いて前記TLブロックと前記MRブロックとの和を暗号化してnビットの前記CRブロックを生成する、請求の範囲第1項記載の暗号化装置。
    When an additional parameter is input together with the plaintext,
    The first strong pseudo-random encryption unit encrypts the ML block using the additional parameter to generate the n-bit SL block,
    The second strong pseudo-random encryption unit encrypts the sum of the TL block and the MR block using the additional parameter to generate the CR block of n bits. Encryption device.
  3.  前記第1および第2の強擬似ランダム暗号化部が、ラウンド関数の繰り返しによる第1のブロック暗号を用いて暗号化し、
     前記第1および第2の弱擬似ランダム暗号化部が、前記第1のブロック暗号のラウンド関数の繰り返し回数を減らして得られる第2のブロック暗号を用いて暗号化する、請求の範囲第1項または第2項記載の暗号化装置。
    The first and second strong pseudo-random encryption units encrypt using a first block cipher by repetition of a round function;
    The first and second weak pseudorandom encryption units perform encryption using a second block cipher obtained by reducing the number of repetitions of the round function of the first block cipher. Or the encryption apparatus of Claim 2.
  4.  前記第1および第2の強擬似ランダム暗号化部がブロック暗号を用いて暗号化し、
     前記第1および第2の弱擬似ランダム暗号化部が初期ベクトル付きストリーム暗号を用いて暗号化する、請求の範囲第1項または第2項記載の暗号化装置。
    The first and second strong pseudo-random encryption units encrypt using a block cipher;
    The encryption apparatus according to claim 1 or 2, wherein the first and second weak pseudorandom encryption units perform encryption using a stream cipher with an initial vector.
  5.  最初のnビットをCRブロックとし、残りのnビットをCLブロックとする、復号対象の2nビットの暗号文が入力されると、前記CRブロックを復号してnビットのSRブロックを生成する第1の強擬似ランダム復号部と、
     前記CRブロックと前記SRブロックとの和を暗号化してnビットのTRブロックを生成する第1の弱擬似ランダム暗号化部と、
     前記TRブロックと前記CLブロックとの和を復号してnビットのMLブロックを生成する第2の強擬似ランダム復号部と、
     前記TRブロックと前記CLブロックと前記MLブロックの和を暗号化してnビットのTLブロックを生成する第2の弱擬似ランダム暗号化部と、
     前記SRブロックと前記TLブロックの和であるMRブロックと前記MLブロックとを連結して2nビットの平文を生成する平文生成部と、
    を有する復号装置。
    When a 2n-bit ciphertext to be decrypted is input, with the first n bits as a CR block and the remaining n bits as a CL block, the CR block is decrypted to generate an n-bit SR block. A strong pseudo-random decoding unit of
    A first weak pseudorandom encryption unit that encrypts a sum of the CR block and the SR block to generate an n-bit TR block;
    A second strong pseudorandom decoding unit that decodes a sum of the TR block and the CL block to generate an n-bit ML block;
    A second weak pseudorandom encryption unit that encrypts a sum of the TR block, the CL block, and the ML block to generate an n-bit TL block;
    A plaintext generator that generates a 2n-bit plaintext by concatenating the MR block, which is the sum of the SR block and the TL block, and the ML block;
    A decoding device.
  6.  前記暗号文とともに付加パラメータが入力されると、
     前記第1の強擬似ランダム復号部は、前記付加パラメータを用いて前記CRブロックを復号してnビットの前記SRブロックを生成し、
     前記第2の強擬似ランダム復号部は、前記付加パラメータを用いて前記TRブロックと前記CLブロックとの和を復号してnビットの前記MLブロックを生成する、請求の範囲第5項記載の復号装置。
    When an additional parameter is input together with the ciphertext,
    The first strong pseudo-random decoding unit generates the n-bit SR block by decoding the CR block using the additional parameter,
    The decoding according to claim 5, wherein the second strong pseudo-random decoding unit decodes a sum of the TR block and the CL block using the additional parameter to generate the n-bit ML block. apparatus.
  7.  前記第1および第2の強擬似ランダム復号部が、ラウンド関数の繰り返しによる第1のブロック暗号を用いて復号し、
     前記第1および第2の弱擬似ランダム暗号化部が、前記第1のブロック暗号のラウンド関数の繰り返し回数を減らして得られる第2のブロック暗号を用いて暗号化する、請求の範囲第5項または第6項記載の復号装置。
    The first and second strong pseudo-random decryption units decrypt using a first block cipher by repetition of a round function;
    The said 1st and 2nd weak pseudorandom encryption part encrypts using the 2nd block cipher obtained by reducing the repetition frequency | count of the round function of a said 1st block cipher. Or the decoding apparatus of Claim 6.
  8.  前記第1および第2の強擬似ランダム復号部がブロック暗号を用いて復号し、
     前記第1および第2の弱擬似ランダム暗号化部が初期ベクトル付きストリーム暗号を用いて暗号化する、請求の範囲第5項または第6項記載の復号装置。
    The first and second strong pseudorandom decryption units decrypt using a block cipher;
    The decryption device according to claim 5 or 6, wherein the first and second weak pseudo-random encryption units perform encryption using a stream cipher with an initial vector.
  9.  最初のnビットをMLブロックとし、残りのnビットをMRブロックとする2nビットの平文の暗号化方法であって、
     第1の強擬似ランダム暗号化部により前記MLブロックを暗号化してnビットのSLブロックを生成し、
     第1の弱擬似ランダム暗号化部により前記MLブロックと前記SLブロックとの和を暗号化してnビットのTLブロックを生成し、
     第2の強擬似ランダム暗号化部により前記TLブロックと前記MRブロックとの和を暗号化してnビットのCRブロックを生成し、
     第2の弱擬似ランダム暗号化部により前記TLブロックと前記MRブロックと前記CRブロックの和を暗号化してnビットのTRブロックを生成し、
     前記SLブロックと前記TRブロックの和であるCLブロックと前記CRブロックとを連結して2nビットの暗号文を生成する、暗号化方法。
    A 2n-bit plaintext encryption method in which the first n bits are ML blocks and the remaining n bits are MR blocks,
    The ML block is encrypted by a first strong pseudo-random encryption unit to generate an n-bit SL block,
    A first weak pseudorandom encryption unit encrypts the sum of the ML block and the SL block to generate an n-bit TL block;
    A second strong pseudo-random encryption unit encrypts the sum of the TL block and the MR block to generate an n-bit CR block;
    A second weak pseudo-random encryption unit encrypts the sum of the TL block, the MR block, and the CR block to generate an n-bit TR block;
    An encryption method for generating a 2n-bit ciphertext by concatenating a CL block, which is the sum of the SL block and the TR block, and the CR block.
  10.  前記平文が付加パラメータを伴っていると、
     前記第1の強擬似ランダム暗号化部では、前記付加パラメータを用いて前記MLブロックを暗号化してnビットの前記SLブロックを生成し、
     前記第2の強擬似ランダム暗号化部では、前記付加パラメータを用いて前記TLブロックと前記MRブロックとの和を暗号化してnビットの前記CRブロックを生成する、請求の範囲第9項記載の暗号化方法。
    If the plaintext is accompanied by additional parameters,
    In the first strong pseudo-random encryption unit, the ML block is encrypted using the additional parameter to generate the n-bit SL block,
    The second strong pseudo-random encryption unit encrypts the sum of the TL block and the MR block using the additional parameter to generate the CR block of n bits. Encryption method.
  11.  最初のnビットをCRブロックとし、残りのnビットをCLブロックとする2nビットの暗号文の復号方法であって、
     第1の強擬似ランダム復号部により前記CRブロックを復号してnビットのSRブロックを生成し、
     第1の弱擬似ランダム暗号化部により前記CRブロックと前記SRブロックとの和を暗号化してnビットのTRブロックを生成し、
     第2の強擬似ランダム復号部により前記TRブロックと前記CLブロックとの和を復号してnビットのMLブロックを生成し、
     第2の弱擬似ランダム暗号化部により前記TRブロックと前記CLブロックと前記MLブロックの和を暗号化してnビットのTLブロックを生成し、
     前記SRブロックと前記TLブロックの和であるMRブロックと前記MLブロックとを連結して2nビットの平文を生成する、復号方法。
    A method of decrypting 2n-bit ciphertext in which the first n bits are CR blocks and the remaining n bits are CL blocks,
    The first strong pseudorandom decoding unit decodes the CR block to generate an n-bit SR block;
    A first weak pseudo-random encryption unit encrypts the sum of the CR block and the SR block to generate an n-bit TR block;
    A second strong pseudorandom decoding unit decodes the sum of the TR block and the CL block to generate an n-bit ML block,
    A second weak pseudorandom encryption unit encrypts the sum of the TR block, the CL block, and the ML block to generate an n-bit TL block;
    A decoding method, wherein an MR block, which is a sum of the SR block and the TL block, and the ML block are connected to generate a 2n-bit plaintext.
  12.  前記暗号文が付加パラメータを伴っていると、
     前記第1の強擬似ランダム復号部では、前記付加パラメータを用いて前記CRブロックを復号してnビットの前記SRブロックを生成し、
     前記第2の強擬似ランダム復号部では、前記付加パラメータを用いて前記TRブロックと前記CLブロックとの和を復号してnビットの前記MLブロックを生成する、請求の範囲第11項記載の復号方法。
    When the ciphertext is accompanied by an additional parameter,
    In the first strong pseudo-random decoding unit, the CR block is decoded using the additional parameter to generate the SR block of n bits,
    The decoding according to claim 11, wherein the second strong pseudo-random decoding unit generates the n-bit ML block by decoding the sum of the TR block and the CL block using the additional parameter. Method.
  13.  最初のnビットをMLブロックとし、残りのnビットをMRブロックとする2nビットの平文の暗号化をコンピュータに実行させるためのプログラムであって、
     第1の強擬似ランダム暗号化部により前記MLブロックを暗号化してnビットのSLブロックを生成し、
     第1の弱擬似ランダム暗号化部により前記MLブロックと前記SLブロックとの和を暗号化してnビットのTLブロックを生成し、
     第2の強擬似ランダム暗号化部により前記TLブロックと前記MRブロックとの和を暗号化してnビットのCRブロックを生成し、
     第2の弱擬似ランダム暗号化部により前記TLブロックと前記MRブロックと前記CRブロックの和を暗号化してnビットのTRブロックを生成し、
     前記SLブロックと前記TRブロックの和であるCLブロックと前記CRブロックとを連結して2nビットの暗号文を生成する処理を前記コンピュータに実行させるためのプログラム。
    A program for causing a computer to execute encryption of 2n-bit plaintext in which the first n bits are ML blocks and the remaining n bits are MR blocks,
    The ML block is encrypted by a first strong pseudo-random encryption unit to generate an n-bit SL block,
    A first weak pseudorandom encryption unit encrypts the sum of the ML block and the SL block to generate an n-bit TL block;
    A second strong pseudo-random encryption unit encrypts the sum of the TL block and the MR block to generate an n-bit CR block;
    A second weak pseudo-random encryption unit encrypts the sum of the TL block, the MR block, and the CR block to generate an n-bit TR block;
    A program for causing the computer to execute a process of generating a 2n-bit ciphertext by concatenating a CL block, which is the sum of the SL block and the TR block, and the CR block.
  14.  前記平文が付加パラメータを伴っていると、
     前記第1の強擬似ランダム暗号化部では、前記付加パラメータを用いて前記MLブロックを暗号化してnビットの前記SLブロックを生成し、
     前記第2の強擬似ランダム暗号化部では、前記付加パラメータを用いて前記TLブロックと前記MRブロックとの和を暗号化してnビットの前記CRブロックを生成する処理をさらに有する請求の範囲第13項記載のプログラム。
    If the plaintext is accompanied by additional parameters,
    In the first strong pseudo-random encryption unit, the ML block is encrypted using the additional parameter to generate the n-bit SL block,
    The second strong pseudorandom encryption unit further includes a process of generating the n-bit CR block by encrypting the sum of the TL block and the MR block using the additional parameter. Program described in the section.
  15.  最初のnビットをCRブロックとし、残りのnビットをCLブロックとする2nビットの暗号文の復号をコンピュータに実行させるためのプログラムであって、
     第1の強擬似ランダム復号部により前記CRブロックを復号してnビットのSRブロックを生成し、
     第1の弱擬似ランダム暗号化部により前記CRブロックと前記SRブロックとの和を暗号化してnビットのTRブロックを生成し、
     第2の強擬似ランダム復号部により前記TRブロックと前記CLブロックとの和を復号してnビットのMLブロックを生成し、
     第2の弱擬似ランダム暗号化部により前記TRブロックと前記CLブロックと前記MLブロックの和を暗号化してnビットのTLブロックを生成し、
     前記SRブロックと前記TLブロックの和であるMRブロックと前記MLブロックとを連結して2nビットの平文を生成する処理を前記コンピュータに実行させるためのプログラム。
    A program for causing a computer to execute decryption of 2n-bit ciphertext in which the first n bits are CR blocks and the remaining n bits are CL blocks,
    The first strong pseudorandom decoding unit decodes the CR block to generate an n-bit SR block;
    A first weak pseudo-random encryption unit encrypts the sum of the CR block and the SR block to generate an n-bit TR block;
    A second strong pseudorandom decoding unit decodes the sum of the TR block and the CL block to generate an n-bit ML block,
    A second weak pseudorandom encryption unit encrypts the sum of the TR block, the CL block, and the ML block to generate an n-bit TL block;
    A program for causing the computer to execute a process of generating a 2n-bit plaintext by connecting the MR block, which is the sum of the SR block and the TL block, and the ML block.
  16.  前記暗号文が付加パラメータを伴っていると、
     前記第1の強擬似ランダム復号部では、前記付加パラメータを用いて前記CRブロックを復号してnビットの前記SRブロックを生成し、
     前記第2の強擬似ランダム復号部では、前記付加パラメータを用いて前記TRブロックと前記CLブロックとの和を復号してnビットの前記MLブロックを生成する処理をさらに有する請求の範囲第15項記載のプログラム。
    When the ciphertext is accompanied by an additional parameter,
    In the first strong pseudo-random decoding unit, the CR block is decoded using the additional parameter to generate the SR block of n bits,
    The second strong pseudorandom decoding unit further includes a process of generating an n-bit ML block by decoding the sum of the TR block and the CL block using the additional parameter. The program described.
PCT/JP2008/073560 2007-12-26 2008-12-25 Encryption device, decryption device, encryption method, decryption method, and program WO2009081975A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009547129A JP5293612B2 (en) 2007-12-26 2008-12-25 ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD, DECRYPTION METHOD, AND PROGRAM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007334443 2007-12-26
JP2007-334443 2007-12-26

Publications (1)

Publication Number Publication Date
WO2009081975A1 true WO2009081975A1 (en) 2009-07-02

Family

ID=40801274

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/073560 WO2009081975A1 (en) 2007-12-26 2008-12-25 Encryption device, decryption device, encryption method, decryption method, and program

Country Status (2)

Country Link
JP (1) JP5293612B2 (en)
WO (1) WO2009081975A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016511620A (en) * 2013-03-14 2016-04-14 クアルコム,インコーポレイテッド Master key encryption function for transmitter and receiver pairing as a countermeasure to thwart key recovery attacks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004102310A (en) * 2003-11-17 2004-04-02 Toshiba Corp Device and method for ciphering
WO2006064763A1 (en) * 2004-12-17 2006-06-22 Nec Corporation Common key block encryption device, common key block encryption method, and common kay block encryption program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7227951B2 (en) * 2001-11-06 2007-06-05 Ntt Docomo, Inc. Enhanced ANSI X9.17 pseudorandom number generators with forward security
JP5402632B2 (en) * 2007-08-06 2014-01-29 日本電気株式会社 Common key block encryption apparatus, common key block encryption method, and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004102310A (en) * 2003-11-17 2004-04-02 Toshiba Corp Device and method for ciphering
WO2006064763A1 (en) * 2004-12-17 2006-06-22 Nec Corporation Common key block encryption device, common key block encryption method, and common kay block encryption program

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"2005 Nen Symposium on Cryptography and Information Security", 25 January 2005, article MINEMATSU: "Kichi Hirabun Kogeki ni Taishite Anzen na Buhin o Kumikonda Hybrid Ango", pages: 1423 - 1428 *
MONI NAOR: "On the Construction of Pseudo-Random Permutations:Luby-Rackoff Revisited", JOURNAL OF CRYPTOLOGY,THE JOURNAL OF THE INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH, 1996, pages 1 - 32, Retrieved from the Internet <URL:http://citeseer.ist.psu.edu/old/724432.html> [retrieved on 20090115] *
MOSES LISKOV: "Tweakable Block Ciphers", PROCEEDINGS OF THE 22ND ANNUAL INTERNATIONAL CRYPTOLOGY CONFERENCE ON ADVANCES IN CRYPTOLOGY, 2002, pages 31 - 46, Retrieved from the Internet <URL:http://www.cs.berkeley.edu/-daw/papers/tweak-crypto02.pdf>> [retrieved on 20090115] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016511620A (en) * 2013-03-14 2016-04-14 クアルコム,インコーポレイテッド Master key encryption function for transmitter and receiver pairing as a countermeasure to thwart key recovery attacks

Also Published As

Publication number Publication date
JPWO2009081975A1 (en) 2011-05-06
JP5293612B2 (en) 2013-09-18

Similar Documents

Publication Publication Date Title
US8259934B2 (en) Methods and devices for a chained encryption mode
Furht et al. Multimedia encryption and watermarking
JP3901909B2 (en) ENCRYPTION DEVICE AND RECORDING MEDIUM CONTAINING PROGRAM
EP2829010B1 (en) Updating key information
EP1876748B1 (en) Privacy-preserving concatenation of strings
TW200828938A (en) Method for securely extending key stream to encrypt high-entropy data
JP2013047822A (en) Encryption method for message authentication
JP7031580B2 (en) Cryptographic device, encryption method, decryption device, and decryption method
WO2011105367A1 (en) Block encryption device, block decryption device, block encryption method, block decryption method and program
Singh Modified Vigenere encryption algorithm and its hybrid implementation with Base64 and AES
WO2016067524A1 (en) Authenticated encryption apparatus, authenticated decryption apparatus, authenticated cryptography system, authenticated encryption method, and program
Reyad et al. Key-based enhancement of data encryption standard for text security
Afzal et al. Cryptographic strength evaluation of key schedule algorithms
Prajwal et al. User defined encryption procedure for IDEA algorithm
MAQABLEH Analysis and design security primitives based on chaotic systems for ecommerce
JP5365750B2 (en) Block encryption device, decryption device, encryption method, decryption method, and program
JP5617845B2 (en) ENCRYPTION DEVICE, ENCRYPTION METHOD, AND PROGRAM
Erondu et al. An encryption and decryption model for data security using vigenere with advanced encryption standard
Lee et al. Design and evaluation of a block encryption algorithm using dynamic-key mechanism
JP5293612B2 (en) ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD, DECRYPTION METHOD, AND PROGRAM
Kadry et al. An improvement of RC4 cipher using vigenère cipher
Gligoroski et al. On the importance of the key separation principle for different modes of operation
Nakahara Jr Lai-Massey Cipher Designs: History, Design Criteria and Cryptanalysis
Charru et al. Improved Cryptography Algorithm to Enhanced Data Security
JP2002023624A (en) Block cipher communication method and device therefor, and recording medium with block cipher communication program recorded thereon

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: 08864293

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2009547129

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08864293

Country of ref document: EP

Kind code of ref document: A1