WO2006064763A1 - 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラム - Google Patents

共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラム Download PDF

Info

Publication number
WO2006064763A1
WO2006064763A1 PCT/JP2005/022773 JP2005022773W WO2006064763A1 WO 2006064763 A1 WO2006064763 A1 WO 2006064763A1 JP 2005022773 W JP2005022773 W JP 2005022773W WO 2006064763 A1 WO2006064763 A1 WO 2006064763A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
unit block
random number
cipher
ciphertext
Prior art date
Application number
PCT/JP2005/022773
Other languages
English (en)
French (fr)
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 JP2006548825A priority Critical patent/JP4793268B2/ja
Priority to US11/721,372 priority patent/US20080253561A1/en
Publication of WO2006064763A1 publication Critical patent/WO2006064763A1/ja

Links

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/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • 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/30Compression, e.g. Merkle-Damgard construction

Definitions

  • the present invention relates to a common key block encryption device, a common key block encryption method, and a common key block encryption program, and in particular, a combination of highly secure encryption processing and high-speed encryption processing.
  • the present invention relates to a common key block encryption device, a common key block encryption method, and a common key block encryption program that perform block encryption for a large block size.
  • a block cipher with a standard block size (such as 128 bits) is used and a larger size corresponding to the sector size is used.
  • Research is being conducted to construct block ciphers with block sizes (such as 512 bits).
  • Patent Document 1 and Non-Patent Document 1 constitute a stream cipher by expanding the output of the block cipher with a Noh, Shush function or stream cipher.
  • Patent Document 1 if a block cipher that is safe for a selected plaintext attack and a hash function or stream cipher that is safe for a known plaintext attack are used, the newly constructed stream cipher is safe. Is disclosed.
  • the known plaintext attack is a weaker class attack than the selected plaintext attack.
  • Cryptographic parts that are safe against known plaintext attacks are expected to operate faster than cryptographic parts that are safe against selective plaintext attacks, because security requirements are weak.
  • the throughput of the newly constructed cipher can be increased. It is possible to achieve almost the same throughput as that of secure cryptographic components.
  • a cryptographic component secure against a selected plaintext attack is Pl and a cryptographic component secure against a known plaintext attack is P2.
  • the key of the cryptographic component P1 secure against the selected plaintext attack is K1
  • t keys independent of each other of the cryptographic component P2 secure against the known plaintext attack are K2_l, K2_2, ..., K2_t, respectively.
  • Y represents PI output Pl [Kl] (c) when the initial input is c and the key is K1.
  • G_ [i, 2 "Xi-l)] is 2 ⁇ ⁇ 1) block input 2 0 block output, applying G — [i] to all input blocks and concatenating each result
  • the overall output is the concatenation of the outputs of each G_ [i, 2 ⁇ (il)], and Figure 8 shows the case where four P2 keys are used.
  • An operator that expresses composition of functions. For two functions F and G, FOG represents a composition function of F ⁇ G (X) G (F (X).
  • t Since the output Y of P1 is multiplied by t, t is hereinafter referred to as an enlargement factor.
  • the initial value is 1, and the variable to be counted up is c every time a key stream for one block is generated.
  • a force-similar process relating to an encryption process for outputting t blocks with respect to an input of one block can be performed using only P1.
  • This can be achieved by using the modified counter mode disclosed in Non-Patent Document 3 or the modified OFB (Output Feed Back) mode.
  • the modified counter mode using P1 is shown in (Equation 2)
  • the modified OFB mode using P1 is shown in (Equation 3).
  • the modified counter mode and modified OFB mode use PI-only cryptographic components and do not require an additional cryptographic component called P2, which can be simplified, but instead, modified counter mode and The throughput of the modified OFB mode will not be faster than the throughput of the cryptographic component of P1.
  • the encryption stage of the input data is composed of at least two stages, and the encryption block is divided into blocks each having a predetermined byte length in each encryption stage. In the first encryption stage, a fixed initialization vector that does not depend on the input data is used, and after the next encryption stage, one block of the previous encryption stage is used. There are block cipher methods and composite methods that can make it difficult to guess the original data when encrypting encrypted data using the encryption result as an initialization vector (for example, , See Patent Document 2).
  • the plaintext M is divided into r (r is an integer of 2 or more) divided plaintexts, and n (n ⁇ r) divided plaintexts out of r divided plaintexts are converted into n ciphertexts.
  • the remaining (r ⁇ n) divided plaintexts and the n ciphertexts are output as output ciphertexts to form a high-speed and simple encryption system (for example, Patent Documents). 3).
  • Patent Document 1 US Pat.
  • Patent Document 2 JP 2002-108205 A
  • Patent Document 3 Japanese Patent Laid-Open No. 2002-175008
  • Non-Patent Document 1 Aiello, Layagopalan, Andvencatesan, High Speed Sudland Dam Number Generation with Small Memory, March 1999, Fast Soft Wear Encryption, Six International Workshop, F-99, Lecture In Computer Science Volume 1636 (W. Aiello, R. Raj agopalan and V. Venkatesan, High— Speed Pseudorandom Number Generation With S Mall Memory, Fast Software Encryption, 6th International Workshop, FSE'99, Lectu re Notes in Computer Science; Vol 1636, Mar. 1999)
  • Non-Patent Document 2 Ivan Dungard and Jesper Booth Nielsen, August 2002, “Etaspanding Sued Random Functions; Plaintext Security Toe Chosun-Plaintext Security ", 2002, Advances in Cryptology, Cliff. '02, Lecture Knockin Combed ⁇ Guscience Vol ⁇ Mu 2442 (Ivan Damgard and Jusper Buus Nielsen, Expandin g Pseudorandom Functions; or: From Known-Plaintext Security to Chosen-Plaintext Security, Advances in Cryptology- CRYPTO'02 , LNCS 2442, 2002.)
  • Non-Patent Document 3 Henri Gilbert, The Security of "One Block to Me” Mode of Operation, February 2003, Fast Software Enterprise, Tens International Workshop, Fs 03, Lecture Noy Computer Science Volume 2887 (H. Gilbert, The Security of "One-Bloc k— to— Many Modes of Operation, Fast Software Encryption, 10th International Workshop, FSE '03, Lecture Notes in Computer Science; Vol. 2887, Feb 2003)
  • Non-Patent Document 4 Shy Hallebi and Yugo Claus, Emmeche: Soft Air Message Authentication in the Gigabit Par Second Race, February 1997, Fast Software Encryption, Force International Workshop, FSE 97 , Kucharnoin Computer Science Vol. 1267 (S. Haievi and H. Krawczyk, MMH: 3 ⁇ 4oftware Message Authentication in t he Gbit / second rates, Fast Software Encryption, 4th International Workshop, FSE 97, Lecture Notes in Computer Science; Vol 1267, Feb. 1997)
  • Non-Patent Document 5 Demon and Lyman, A.S. Proposal: Rheindale, A.S. submission, 1998. (J. Daemen, V. Rijmen, "AES Proposal: Rij ndael", AES submission, 1998.)
  • Non-Patent Document 6 Phil Kouway and Dan Katspersmith, Software Optimized Encryption Algorithm, February 1993, Fast Software Enterprise, First International Workshop, SF 97, Lecture One Know Computer Science Volume 809 (P Rogaway and D. Coppers mith, A Software-Optimized Encryption Algorithm, Fast Software Encryption, 1st In ternatioanl Workshop, FSE '93, Lecture Notes in Computer science; Vol. 809, Feb. 1993.) Disclosure of the invention
  • Patent Document 1 discloses that a stream cipher is configured by expanding the output of a block cipher with a no-shush function or a stream cipher, which is safe from the power selection plaintext attack disclosed.
  • the construction method of a secure block cipher that combines a cryptographic part and a cryptographic part that is safe against known plaintext attacks is not considered at all.
  • the present invention has been made in view of the above circumstances, and a combination of a cryptographic component safe for a selected plaintext attack and a cryptographic component safe for a known plaintext attack, or a selected plaintext Z ciphertext attack.
  • a common key block encryption device, a common key block encryption method, and a common key block encryption program that provide secure block ciphers by combining a safe cryptographic component with a known plaintext attack safe cryptographic component. It is intended to provide.
  • the present invention has the following features.
  • the common key block cipher encryption device divides the plaintext to be encrypted into a first block and a second block, and the divided first block is divided into the first block and the second block. Compressed by a hash function, adds the compressed first block and second block to generate a unit block intermediate sentence, and outputs the generated unit block intermediate sentence and the first block.
  • the first Faither-type hash means that encrypts the unit block intermediate text, generates the unit block intermediate cipher text, and generates an intermediate random number based on the unit block intermediate cipher text.
  • a pseudo-random number generation means, an intermediate random number, and the first block are added, an addition means for outputting the addition result, the addition result is compressed by a hash function, the compressed addition result, and a unit block intermediate cipher Add the sentence and A second addition result is generated, and the generated second It is characterized by having second Faither-type hash means for outputting an output result obtained by adding the addition result and the addition result, and ciphertext output means for outputting the output result as ciphertext. It is.
  • the common key block encryption apparatus divides the plaintext to be encrypted into a first block and a second block, and hashes the divided first block. Compress by function, add the compressed first block and the second block to generate a unit block intermediate sentence, and output the generated unit block intermediate sentence and the first block Generates an intermediate random number based on the first block hash means, the unit block cipher means for encrypting the unit block intermediate text and generating the unit block intermediate cipher text, and the unit block intermediate cipher text.
  • the pseudo-random number generation means, the intermediate random number, and the first block are added, and the addition means that outputs the addition result, the addition result, and the unit block intermediate ciphertext are concatenated and output as ciphertext.
  • the unit block encryption means encrypts the unit block intermediate text using the block cipher, and the unit block intermediate cipher.
  • the pseudorandom number generator generates multiple blocks obtained by inputting unit block intermediate ciphertexts into an ordered tree mode based on block ciphers and simplified block ciphers obtained by simplifying block ciphers. It is characterized by generating intermediate random numbers by concatenating the ciphertexts.
  • the unit block encryption means encrypts the unit block intermediate text using the block cipher, and the unit block intermediate cipher.
  • the pseudo-random number generation means generates a sentence, and the PRT mode or ERT mode, or ordered tree mode and PRT mode and ERT mode based on the block cipher and the simplified block cipher obtained by simplifying the block cipher.
  • an intermediate random number is generated by concatenating ciphertexts of multiple blocks obtained by inputting unit block intermediate ciphertexts.
  • the unit block encryption means encrypts the unit block intermediate text using the block cipher, and the unit block intermediate cipher.
  • the pseudo-random number generator means simply enters the modified counter mode using block cipher. It is characterized in that an intermediate random number is generated by concatenating ciphertexts of a plurality of blocks obtained by inputting higher-order block intermediate ciphertexts.
  • the unit block encryption means encrypts the unit block intermediate text using the block cipher, and the unit block intermediate cipher.
  • a pseudo-random number generator generates a random number by concatenating ciphertexts of multiple blocks obtained by inputting unit-block intermediate ciphertexts into the modified OFB mode using block ciphers. It is what.
  • the unit block encryption unit encrypts the unit block intermediate text using the block cipher, and the unit block intermediate cipher.
  • the pseudo-random number generator generates a sentence, and the unit block intermediate mode is changed to a mode in which the first encryption process of the ordered tree mode using the block cipher and the simplified block cipher obtained by simplifying the block cipher is omitted.
  • a feature is that an intermediate random number is generated by concatenating a plurality of ciphertexts obtained by inputting ciphertexts.
  • the unit block encryption means encrypts the unit block intermediate text using the block cipher, and the unit block intermediate cipher.
  • the pseudo-random number generation means generates a sentence, and the PRT mode or ERT mode, or ordered tree mode and PRT mode and ERT mode based on the block cipher and the simplified block cipher obtained by simplifying the block cipher. It is characterized in that it generates intermediate random numbers by concatenating multiple ciphertexts obtained by inputting unit block intermediate ciphertexts into a mode that omits the initial encryption processing of the mode by combining is there.
  • the unit block encryption means encrypts the unit block intermediate text using the block cipher, and the unit block intermediate cipher.
  • the pseudo-random number generation means concatenates multiple blocks of ciphertext obtained by inputting the unit block intermediate ciphertext into a mode that omits the first encryption processing in the modified counter mode using block cipher. An intermediate random number is generated.
  • the unit block encryption means encrypts the unit block intermediate text using the block cipher, and the unit block intermediate cipher.
  • the pseudo random number generation means generates the first encryption of the modified OFB mode using block cipher. This mode is characterized in that intermediate random numbers are generated by concatenating ciphertexts of a plurality of blocks obtained by inputting unit block intermediate ciphertexts into a mode in which the sign-i processing is omitted.
  • the unit block encryption means encrypts the unit block intermediate text using the block cipher, and the unit block intermediate cipher.
  • the pseudo-random number generation means generates a random number by inputting the unit block intermediate ciphertext as an initial vector to a stream cipher that accepts the initial vector as an additional input. is there.
  • the common key block encryption method is a common key block encryption method performed on the information processing apparatus.
  • the block is divided into a second block, the divided first block is compressed with a hash function, the compressed first block and the second block are added, and the unit block intermediate A first Faither-type hash process for generating a sentence, outputting the generated unit block intermediate sentence and the first block, and encrypting the unit block intermediate sentence,
  • the unit block ciphering process to be generated, the pseudo random number generating process for generating an intermediate random number based on the unit block intermediate ciphertext, the intermediate random number and the first block are added, and the addition result is output.
  • the information processing apparatus performs a Faithel-type hash process, a second addition result, and a ciphertext output process that outputs ciphertext based on the addition result.
  • the common key block encryption method is a common key block encryption method performed on the information processing apparatus.
  • the block is divided into a second block, the divided first block is compressed with a hash function, the compressed first block and the second block are added, and the unit block intermediate A first Faither-type hash process for generating a sentence, outputting the generated unit block intermediate sentence and the first block, and encrypting the unit block intermediate sentence,
  • the unit block ciphering process to be generated, the pseudo random number generating process for generating an intermediate random number based on the unit block intermediate ciphertext, the intermediate random number and the first block are added, and the addition result is output.
  • the unit block cipher cipher encrypts the unit block intermediate sentence using the block cipher and converts the unit block intermediate ciphertext into the unit block intermediate ciphertext.
  • the pseudo-random number generation process generates multiple block ciphers obtained by inputting unit block intermediate ciphertexts into an ordered tree mode based on block ciphers and simplified block ciphers obtained by simplifying block ciphers. It is characterized by generating intermediate random numbers by concatenating sentences.
  • the unit block cipher cipher encrypts the unit block intermediate sentence using the block cipher and converts the unit block intermediate ciphertext into the unit block intermediate ciphertext.
  • a random number is generated by concatenating ciphertexts of multiple blocks obtained by inputting unit block intermediate ciphertexts.
  • the unit block cipher cipher encrypts the unit block intermediate sentence using the block cipher and converts the unit block intermediate ciphertext into the unit block intermediate ciphertext.
  • the pseudo random number generation step generates an intermediate random number by concatenating ciphertexts of multiple blocks obtained by inputting unit block intermediate ciphertexts into a modified counter mode using block ciphers. It is.
  • the unit block cipher process encrypts the unit block intermediate sentence using the block cipher and converts the unit block intermediate ciphertext into the unit block intermediate ciphertext.
  • the pseudo-random number generation step generates intermediate random numbers by concatenating ciphertexts of multiple blocks obtained by inputting unit block intermediate ciphertexts into the modified OFB mode using block ciphers. Is.
  • the unit block cipher cipher encrypts the unit block intermediate sentence using the block cipher and converts the unit block intermediate ciphertext into the unit block intermediate ciphertext.
  • the pseudo-random number generation process is generated by simplifying the block cipher and the block cipher. To generate an intermediate random number by concatenating multiple ciphertexts obtained by entering unit block intermediate ciphertexts in a mode that omits the initial encryption processing in ordered tree mode using It is characterized by.
  • the unit block cipher process encrypts the unit block intermediate sentence using the block cipher and converts the unit block intermediate ciphertext into the unit block intermediate ciphertext.
  • Generate and pseudo-random number generation process, PRT mode or ERT mode by block cipher and simplified block cipher obtained by simplifying block cipher, or combination of ordered tree mode, PRT mode and ERT mode It is characterized in that an intermediate random number is generated by concatenating a plurality of ciphertexts obtained by inputting a unit block intermediate ciphertext to a mode in which the first encryption processing of the mode according to is omitted.
  • the unit block cipher cipher encrypts the unit block intermediate sentence using the block cipher and converts the unit block intermediate ciphertext into the unit block intermediate ciphertext.
  • the pseudo-random number generation step generates intermediate random numbers by concatenating ciphertexts of multiple blocks obtained by inputting unit block intermediate ciphertexts into a mode that omits the initial encryption processing in the modified counter mode using block ciphers. Is generated.
  • the unit block cipher cipher encrypts the unit block intermediate sentence using the block cipher and converts the unit block intermediate ciphertext into the unit block intermediate ciphertext.
  • the ciphertext of multiple blocks obtained by inputting the unit block intermediate ciphertext is concatenated to the mode that omits the first encryption process in the modified OFB mode using block cipher. An intermediate random number is generated.
  • the unit block cipher cipher encrypts the unit block intermediate sentence using the block cipher and converts the unit block intermediate ciphertext into the unit block intermediate ciphertext.
  • the generating and pseudo-random number generation step is characterized in that an intermediate random number is generated by inputting a unit block intermediate ciphertext as an initial vector to a stream cipher that accepts the initial vector as an additional input.
  • the common key block encryption program according to the present invention is a common key block encryption program which is executed by the information processing apparatus, and the plaintext to be encrypted is converted to the first block.
  • the lock is divided into a second block, and the first block is divided by a hash function.
  • the first block that is compressed, the compressed first block and the second block are added to generate a unit block intermediate sentence, and the generated unit block intermediate sentence and the first block are output.
  • a pseudo-random number generation process that generates an intermediate random number based on the unit block intermediate ciphertext, and a unit block cipher process that generates a unit block intermediate ciphertext.
  • Output as ciphertext Ciphertext output process to the, is characterized in that to execute the information processing apparatus.
  • the common key block encryption program is a common key block encryption program to be executed by the information processing apparatus, and the plaintext to be encrypted is converted to the first block.
  • the lock is divided into the second block, the divided first block is compressed with a hash function, the compressed first block and the second block are added, and the unit block intermediate sentence is Generating and outputting the generated unit block intermediate text and the first block, the first type hash processing, and the unit block intermediate text to generate a unit block intermediate cipher text by encrypting the unit block intermediate text ⁇ processing, pseudo random number generation processing that generates intermediate random numbers based on unit block intermediate ciphertext, addition processing that adds the intermediate random numbers and the first block, and outputs the addition result, and the addition result , Position and the block intermediate ciphertext, and ligated ciphertext output processing for outputting the ciphertext, and is characterized in that to execute the information processing apparatus.
  • the unit block encryption process encrypts the unit block intermediate sentence using the block cipher to generate the unit block intermediate encrypted sentence.
  • the pseudo-random number generation process uses a block cipher and a simple block cipher obtained by simplifying the block cipher to obtain a ciphertext of a plurality of blocks obtained by inputting a unit block intermediate ciphertext in an ordered tree mode. It is characterized by generating intermediate random numbers by concatenation.
  • the unit block cipher The encryption process encrypts the unit block intermediate text using the block cipher to generate the unit block intermediate cipher text, and the pseudo-random number generation process uses the block cipher and the simplified block cipher obtained by simplifying the block cipher.
  • the unit block encryption process encrypts the unit block intermediate sentence using the block cipher to generate the unit block intermediate encrypted sentence.
  • the pseudo-random number generation process is characterized in that an intermediate random number is generated by concatenating ciphertexts of a plurality of blocks obtained by inputting unit block intermediate ciphertexts in a modified counter mode using block ciphers.
  • the unit block encryption process encrypts the unit block intermediate sentence using the block cipher to generate the unit block intermediate encrypted sentence.
  • the pseudo-random number generation process is characterized by generating an intermediate random number by concatenating ciphertexts of multiple blocks obtained by inputting unit block intermediate ciphertexts into the modified OFB mode using block ciphers. is there.
  • the unit block encryption process generates a unit block intermediate ciphertext by encrypting the unit block intermediate text using the block cipher.
  • the pseudo-random number generation process inputs the unit block intermediate ciphertext in a mode that omits the first encryption process in the ordered tree mode using the block cipher and the simplified block cipher obtained by simplifying the block cipher. It is characterized by generating an intermediate random number by concatenating a plurality of ciphertexts obtained by doing so.
  • the unit block encryption process generates a unit block intermediate ciphertext by encrypting the unit block intermediate text using the block cipher.
  • the pseudo-random number generation process is a PRT mode based on block cipher and simplified block cipher obtained by simplifying block cipher, or ERT mode, or a mode based on a combination of ordered tree mode, PRT mode, and ERT mode. Multiple units obtained by entering the unit block intermediate ciphertext in a mode that omits the initial encryption processing of The ciphertexts are concatenated to generate an intermediate random number.
  • the unit block encryption process generates a unit block intermediate ciphertext by encrypting the unit block intermediate text using the block cipher.
  • pseudo random number generation processing generates intermediate random numbers by concatenating ciphertexts of multiple blocks obtained by inputting unit block intermediate ciphertexts into a mode that omits the initial encryption processing of the modified counter mode using block ciphers. It is characterized by doing.
  • the unit block encryption process generates a unit block intermediate ciphertext by encrypting the unit block intermediate text using the block cipher.
  • the pseudo-random number generation process is a mode that omits the initial encryption process in the modified OFB mode using block cipher, and concatenates the ciphertext of multiple blocks obtained by inputting the unit block intermediate ciphertext to generate the intermediate random number. It is characterized by generating.
  • the unit block encryption process generates a unit block intermediate ciphertext by encrypting the unit block intermediate text using the block cipher.
  • the pseudo-random number generation process is characterized in that an intermediate random number is generated by inputting a unit block intermediate ciphertext as an initial vector to a stream cipher that accepts an initial vector as an additional input.
  • a common key block encryption apparatus, a common key block encryption method, and a common key block encryption program according to the present invention include a plaintext to be encrypted, a first block, a second block, The divided first block is compressed with a hash function, the compressed first block and the second block are added to generate a unit block intermediate sentence, and the generated unit block intermediate Print the statement and the first block. Then, the unit block intermediate text is encrypted to generate a unit block intermediate cipher text. Then, an intermediate random number is generated based on the unit block intermediate ciphertext, the generated intermediate random number and the first block are added, and the addition result is output.
  • the addition result is compressed by a hash function, the compressed addition result and the unit block intermediate ciphertext are added, a second addition result is generated, and the generated second addition result and the addition are added. Output the result. Then, the ciphertext is output based on the second addition result and the addition result. As a result, it is safe for selected plaintext Z ciphertext attacks. It becomes possible to do everything.
  • the plaintext to be encrypted is divided into a first block and a second block, the divided first block is compressed by a hash function, and the compressed first block And the second block are added to generate a unit block intermediate sentence, and the generated unit block intermediate sentence and the first block are output.
  • the unit block intermediate text is encrypted to generate a unit block intermediate cipher text.
  • an intermediate random number is generated based on the unit block intermediate ciphertext, the generated intermediate random number and the first block are added, and the addition result is output.
  • the addition result and the unit block intermediate ciphertext are concatenated and output as ciphertext. This makes it possible to secure against selected plaintext attacks.
  • FIG. 1 is a block diagram showing a configuration of a common key block encryption device in a first exemplary embodiment.
  • FIG. 2 is a flowchart showing a processing operation of the common key block cipher apparatus in the first embodiment.
  • FIG. 3 is a block diagram showing a configuration of a common key block cipher apparatus according to a second embodiment.
  • FIG. 4 is a flowchart showing the processing operation of the common key block cipher apparatus in the second embodiment.
  • FIG. 5 is a flowchart showing the processing operation of the ordered tree mode in the pseudorandom number generation means (104) included in the common key block encryption device in the third exemplary embodiment.
  • FIG. 7 is a block diagram showing the configuration of the ERT mode when four P2 keys are used.
  • FIG. 8 is a block diagram showing the configuration of the PRT mode when four P2 keys are used.
  • the first common key block encryption apparatus in the present embodiment includes a plaintext input means (101) for inputting plaintext to be encrypted, a plaintext, a PA block, and a PB block. And the divided PB block is compressed by a hash function, and the compressed PB block and the PA block are added to generate a unit block intermediate sentence, and the generated unit block intermediate sentence and The first Faistel hash means (102) for outputting the PB block, and the unit block encryption means (103) for encrypting the unit block intermediate text and generating the unit block intermediate cipher text ), Pseudo random number generating means (104) for generating an intermediate random number based on the unit block intermediate ciphertext, and an adding means (105) for adding the intermediate random number and the PB block and outputting the addition result , Compress the addition result with a hash function
  • the compressed addition result and the unit block intermediate ciphertext are added to generate a second addition result, and an output result obtained by combining the generated second addition result and the addition result is output
  • a secure block cipher by combining a cryptographic component that is safe against a selected plaintext Z ciphertext attack and a cryptographic component that is safe against a known plaintext attack.
  • the second common key block encryption apparatus divides the plaintext into the PA block and the PB block, the plaintext input means (201) for inputting the plaintext to be encrypted.
  • the divided PB block is compressed by a hash function, and the compressed PB block and the PA block are added to generate a unit block intermediate sentence.
  • a pseudo-generator that generates intermediate random numbers based on ciphertext
  • the similar random number generation means (204), the intermediate random number, and the first block are added together, and the addition means (205) that outputs the addition result, the addition result, and the unit block intermediate ciphertext are concatenated and encrypted.
  • ciphertext output means (206) for outputting as a text.
  • the first common key block encryption device uses the unit block encryption unit (103) that is secure against the selected plaintext Z ciphertext attack, and the pseudorandom number generator (104) selects the selected plaintext. If it is safe against attacks, it will be possible to secure against selected plaintext Z ciphertext attacks.
  • the second common key block encryption device can be secured against a selected plaintext attack.
  • FIG. 1 is a block diagram showing the configuration of the common key block encryption apparatus according to the first embodiment.
  • the common key block encryption device in the first exemplary embodiment includes a plaintext input means (101), a first Faithel-type hash means (102), a unit block encryption means (103), and a pseudo-random number. Generating means (104), adding means (105), and second Faithel-type hash means (106
  • the common key block encryption device in the present embodiment can be realized by a CPU, a memory, and a disk.
  • Each means of the common key block encryption device is realized by storing a program for executing each of the above steps on a disk and executing the stored program by the CPU.
  • the plaintext input means (101) is for inputting a plaintext to be encrypted.
  • a character input device such as a keyboard.
  • the first Faithel-type hash means (102) divides the plaintext input from the plaintext input means (101) into a PA block and a PB block, compresses the divided PB block with a hash function, and The compressed PB block and PA block are added. Then, the first Faithel-type hash means (102) calculates the sum of the PB block compressed by the hash function and the PA block not compressed by the hash function, and the PB block before being compressed by the hash function. And are output together.
  • the first Faithel-type hash means ( 102) compresses a part (PB) of the plaintext input from the plaintext input means (101) by the hash function H (x), and the compressed part of the plaintext H (PB) and the plaintext input means
  • the other part of plaintext (PA) input from (101) and the sum (PA + H (PB)) and the plaintext (PB) before compression by the hash function H (X) are concatenated. Output to the outside.
  • the first face-telling hash means (102) outputs the output sentence of (PA + H (PB), PB) to the outside.
  • PA + H (PB) which outputs the first Faithel-type hash means (102)
  • PA + H (PB) which outputs the first Faithel-type hash means (102)
  • PA + H (PB) which outputs the first Faithel-type hash means (102)
  • PA + H (PB) which outputs the first Faithel-type hash means (102)
  • the + symbol represents addition, and if PA and PB are both power-of-two space elements, + matches the exclusive-OR processing.
  • the hash function H must be almost universal XOR. This means that for two different inputs to the Nosch function H, the sum of the output of the hash function H for each is distributed almost uniformly.
  • Such a hash function H is generally called a universal hash function, and can be realized by using, for example, the Multimodular Hash Function disclosed in Non-Patent Document 4.
  • the unit block encryption means (103) generates a unit block intermediate ciphertext that is a ciphertext of the unit block intermediate text input from the first Faither-type hash means (102).
  • the unit block intermediate ciphertext is a block that is safe against selected plaintext Z ciphertext attacks such as AES (Advanced Encryption Standard) disclosed in Non-Patent Document 5. It is possible to generate by
  • the pseudo random number generation means (104) generates an intermediate random number based on the unit block intermediate ciphertext output from the unit block cipher key means (103).
  • the pseudorandom number generation means (104) in the first embodiment is required to be safe against a selected plaintext attack. That is, when an attacker arbitrarily selects a unit block intermediate ciphertext and generates an intermediate random number based on the selected unit block intermediate ciphertext, the generated intermediate random number and a true random number It only has to be difficult to discriminate.
  • the pseudo-random number generation means (104) in the first embodiment uses the technique disclosed in the above-mentioned Patent Document 1, and performs cryptographic processing that is secure against a selected plaintext attack and cryptographic processing that is secure against a known plaintext attack. By combining, it is possible to generate intermediate random numbers. If the selected plaintext Z is safe against the ciphertext attack, it is safer to the selected plaintext attack. Therefore, the block cipher used in the unit block encryption means (103) is used as the encryption component safe for the selected plaintext attack. Can be applied.
  • the adding means (105) adds the intermediate random number generated by the pseudo-random number generating means (104) and a part of the plaintext (PB block) output from the first Faithel-type hash means (102). And the added value after the addition process is output.
  • the second Faithel-type hash means (106) inputs the addition value output from the addition means (105) to the hash function to obtain a hash value, and the obtained hash value and unit block encryption means means ( The unit block intermediate ciphertext output from (103) is added, and the addition result and the added value output from the adding means (105) are concatenated to output an output result.
  • the second Faithtel-type hash means (106) can be realized in the same manner as the first Faithell-type hash means (102).
  • the ciphertext output means (107) outputs the output result inputted by the second Faither-type hash means (102) as ciphertext.
  • This ciphertext output means (107) It can be realized by a computer display or a printer.
  • the plaintext input means (101) inputs the plaintext (PA block, PB block) to be encrypted to the first Faithel hash means (102) (step Al).
  • the first Faithel-type hash means (102) divides the plaintext (PA block, PB block) input from the plaintext input means (101) into a PA block and a PB block, and The PB block is compressed with the Matth function, and the compressed PB block (H (PB)) and PA block (PA) are added (PA + H (PB)) to create a unit block intermediate statement (Step A2). Then, the first Faithel-type hash means (102) concatenates and outputs the unit block intermediate sentence and the PB block before being compressed by the no-shush function. The first Faithel-type hash means (102) outputs the unit block intermediate text to the unit block encryption means (103), and adds the PB block before being compressed by the no-shush function. This is output to the means (105).
  • the unit block encryption means (103) encrypts the unit block intermediate text input from the first Faither-type hash means (102) to generate a unit block intermediate ciphertext
  • the generated unit block intermediate ciphertext is output to the pseudo-random number generating means (104) and the second face hash type means (106) (step A3).
  • the pseudo-random number generation means (104) generates an intermediate random number based on the unit block intermediate ciphertext input by the unit block encryption means (103), and adds the generated intermediate random number to the means (10 5) (Step A4).
  • the adding means (105) performs an adding process of the intermediate random number input from the pseudo-random number generating means (104) and the first Faither-type hash means (102) input PB block.
  • the added value that has been subjected to the addition processing is output to the second Faithel hash means (102) (step A5).
  • the second Faithel-type hash means (106) substitutes the addition value of the intermediate random number input from the addition means (105) and the PB block into the hash function, and obtains the hash value H2 of the addition value. (Step A6).
  • the second Faithel-type hash means (106) adds the calculated hash value H2 and the unit block encryption means (103) input unit block intermediate ciphertext.
  • the ciphertext is generated (step A7), and the generated ciphertext is output to the ciphertext output means (107).
  • the ciphertext output means (107) outputs the ciphertext input from the second Faither-type hash means (106) (step A8).
  • the common key block encryption apparatus inputs the plaintext to be encrypted, divides the input plaintext into the PA block and the PB block, and the division
  • the compressed PB block is compressed by a hash function, and the compressed PB block (H (PB)) and PA block (PA) are added to generate a unit block intermediate sentence (PA + H (PB ) o
  • the unit block intermediate text (PA + H (PB)) generated by the above process is encrypted to generate a unit block intermediate cipher text, and the intermediate block cipher text based on the generated unit block intermediate cipher text is generated.
  • the intermediate random number generated above and the PB block are added together to calculate the addition result, and the calculated addition result is compressed by a hash function, The compressed addition result, the unit block intermediate ciphertext, The second addition result obtained by adding and is calculated, and the ciphertext is output based on the calculated second addition result and the addition result.
  • the common key block encryption apparatus combines the selected plaintext Z ciphertext attack-safe encryption component and the known plaintext attack-safe encryption component, and provides a high-speed and secure block cipher. Can be realized with respect to the block size.
  • the common key block encryption device in the present embodiment is large because the number of calls of the encryption component that is safe for the plaintext Z ciphertext attack selected per block encryption is two times regardless of the block size. With the block size, the throughput of the encryption key is almost the same as the throughput of the encryption component that is safe against known plaintext attacks.
  • the cryptographic components that are safe against the known plaintext attack generally operate faster than the cryptographic components that are safe against the selected plaintext Z ciphertext attack. become. Therefore, it is possible to construct a block cipher that is faster than the cipher operation mode that uses only cipher components that are safe against the selected plaintext Z ciphertext attack.
  • the first Faither-type hash means (102) force plaintext input means (101) plaintext that is also input force is divided into a PA block and a PB block.
  • the plaintext input means (101) divides the plaintext into a PA block and a PB block, and outputs the divided PA block and PB block to the first Faithel hash means (102). Is also possible.
  • the common key block encryption apparatus divides a plaintext into a PA block and a PB block by inputting a plaintext input means (201) for inputting the plaintext to be encrypted, and the divided PB.
  • Tell-type hash means (202) unit block encryption means (203) that encrypts unit block intermediate text and generates unit block intermediate cipher text, and pseudo-random number that generates intermediate random numbers based on unit block intermediate cipher text
  • Addition means (205) that adds the random number generation means (204), the intermediate random number, and the PB block, and outputs the addition result, and the addition result and the unit block intermediate ciphertext are concatenated and output as ciphertext Encryption And output means (20 6), is characterized in that it has a.
  • the common key block encryption apparatus according to the second
  • FIG. 3 is a block diagram showing the configuration of the common key block encryption apparatus according to the second embodiment.
  • the common key block encryption apparatus includes a plaintext input means (201), a first Faithel-type hash means (202), a unit block encryption means (203), and a pseudo-random number.
  • a generation unit (204), an addition unit (205), and a ciphertext output unit (206) are included.
  • the common key block encryption device in the second exemplary embodiment can be realized by a CPU, a memory, and a disk, as in the first exemplary embodiment.
  • Each means of the common key block encryption device stores a program for executing each of the above means on a disk, and This is achieved by the CPU executing the stored program.
  • each means constituting the common key block encryption device in the second exemplary embodiment will be described.
  • the plaintext input means (201), the first Faithel hash means (202), and the unit block encryption means (203) constituting the common key block encryption apparatus in the second embodiment are added.
  • the means (205) is configured with the same function as each means (101, 102, 103, 105) constituting the common key block encryption apparatus in the first embodiment.
  • the unit block encryption means (203) is sufficient if it is safe against the selected plaintext attack.
  • the pseudo random number generation means (204) in the second embodiment generates an intermediate random number based on the unit block intermediate ciphertext, and the pseudo random number generation means (204) in the second embodiment (
  • the pseudo random number generation means (204) in the second embodiment generates the intermediate random number and the true random number when generating the intermediate random number based on the random unit block intermediate ciphertext. It is sufficient if it is difficult to discriminate between the two, and security (security against selective plaintext attacks) is not required in the case that an attacker can arbitrarily select a unit block intermediate ciphertext.
  • the ciphertext output means (206) concatenates the value output from the addition means (105) and the unit block intermediate ciphertext output from the unit block encryption means (103), and outputs the result as ciphertext. That's true.
  • the plaintext input means (201) inputs the plaintext (PA block, PB block) to be encrypted to the first Faithel-type hash means (202) (step Bl).
  • the first Faithel-type hash means (202) divides the plaintext (PA block, PB block) input from the plaintext input means (201) into a PA block and a PB block,
  • the divided PB block is compressed by a hash function, and the compressed PB block (H (PB)) and P A block (PA) is added (PA + H (PB)) to create a unit block intermediate sentence, and the generated unit block intermediate sentence is output to the unit block cipher key means (203).
  • the first Faithel-type hash means (202) outputs the plaintext (PB block) to which the plaintext input means (201) is also input to the addition means (205).
  • the unit block encryption means (203) encrypts the unit block intermediate text input from the first Faithel hash means (202), creates a unit block intermediate ciphertext, The created unit block intermediate ciphertext is output (step B3).
  • the pseudo random number generation means (204) creates an intermediate random number based on the unit block intermediate ciphertext input from the unit block encryption means (203), and adds the created intermediate random number. (205) is output (step B4).
  • the adding means (205) includes the intermediate random number input from the pseudo-random number generating means (204) and the plain text PB block input from the first Faither-type hash means (202). Addition processing is performed, and the addition result is output to the ciphertext output means (206) (step B5).
  • the ciphertext output means (206) concatenates the unit block intermediate ciphertext input from the unit block encryption means (203) and the addition result input from the addition means (205) to obtain a ciphertext. (Step B6).
  • the block encryption device inputs the plaintext to be encrypted, divides the input plaintext into the PA block and the PB block, and performs the division.
  • the PB block is compressed by the Matth function, and the compressed PB block (H (PB)) and the PA block (PA) are added to generate a unit block intermediate sentence (PA + H ( PB)).
  • the unit block intermediate text (PA + H (PB)) generated by the above process is encrypted to generate a unit block intermediate cipher text, and an intermediate random number is generated based on the generated unit block intermediate cipher text.
  • the intermediate random number generated above and the PB block are added to calculate the addition result, and the calculated addition result and the unit block intermediate ciphertext are concatenated. And output as ciphertext.
  • the common key block encryption apparatus combines a cryptographic component that is safe against a selected plaintext attack and a cryptographic component that is safe against a known plaintext attack, thereby providing a fast and secure block.
  • the lock cipher can be realized for a large block size.
  • the number of calls of the encryption component that is safe for the selected plaintext attack per block encryption is only one, regardless of the block size.
  • the throughput of cryptography is almost the same as the throughput of cryptographic components that are safe against known plaintext attacks.
  • a cryptographic component that is safe against the known plaintext attack generally operates faster than a cryptographic component that is safe against the selected plaintext attack. Therefore, it is possible to construct a block cipher that is faster than the cipher operation mode that uses only cipher components that are safe for selected plaintext attacks.
  • the first Faither-type hash means (202) force plaintext input means (201) plaintext that is also input is divided into a PA block and a PB block.
  • the plaintext input means (201) divides the plaintext into a PA block and a PB block, and outputs the divided PA block and PB block to the first Faithel-type hash means (202). Is also possible.
  • the common key block encryption apparatus is the same as the common key block encryption apparatus according to the first embodiment, using the unit block encryption means (103) force block cipher.
  • the block intermediate plaintext is converted into unit block intermediate ciphertext, and the pseudorandom number generation means (104) converts the unit block intermediate ciphertext into an ordered tree mode with a block cipher and a simple block cipher obtained by simplifying the block cipher. It is characterized by concatenating ciphertexts of multiple blocks obtained by inputting, into intermediate random numbers.
  • the common key block encryption apparatus in the third embodiment is configured by the same means as the common key block encryption apparatus in the first embodiment shown in FIG.
  • FIG. 5 is a flowchart showing the processing operation of the pseudo-random number generation means (104) in the present embodiment.
  • the block cipher is PI
  • a simple block cipher of a simplified version obtained by reducing the number of stages of the block cipher P1 or simplifying some of the internal functions is P2.
  • the block cipher P1 is AES disclosed in Non-Patent Document 5
  • the simple block cipher P2 is a seven-stage version of AES. It becomes possible.
  • the pseudorandom number generation means (104) in the third embodiment first generates a key for the block cipher P1 and t (t is an arbitrary positive integer) number of simple block cipher P2 keys. (Step CD o) Next, the pseudo-random number generating means (104) encrypts the unit block intermediate ciphertext input from the unit block cipher means (103) with the block cipher P1 (step C2).
  • the pseudo-random number generation means (104) uses at least r (r is the r) of the simple block cipher P2 with t keys different from the unit block intermediate ciphertext encrypted in step C2.
  • a set D of all cascades that is a positive integer less than t) is created (step C3), and the unit block intermediate ciphertext encrypted in step C2 above is input to each element of the created set D.
  • the output result is calculated (step C4).
  • the output result of the other is calculated using the output result of one. Finally, the output results of those elements are concatenated (step C5).
  • the mode of the block cipher P1 and the simple block cipher P2 described above is called an ordered tree mode.
  • the common key block encryption apparatus converts the unit block intermediate plaintext into unit block intermediate ciphertext using the unit block encryption means (103) 1S block cipher,
  • the pseudo-random number generator (104) uses a block cipher and a simple block cipher obtained by simplifying the block cipher in an ordered tree mode.
  • the key length can be shortened to the log order of the number of output blocks in ordered tree mode, reducing key scheduling time
  • a block cipher key is usually generated by key scheduling using a master key.
  • the short key means that key scheduling using a master key for generating the key is short. This is because the time can be shortened.
  • the pseudo random number generation means (104) included in the common key block encryption device in the third exemplary embodiment uses the PRT described in (Equation 1 ′) described above. It is characterized by the generation of intermediate random numbers based on the mode, or ERT mode, or a combination of ordered tree mode, PRT mode, and ERT mode.
  • the ERT mode is a mode obtained by extending the PRT mode described in (Equation 1 ') as shown in the following (Equation 1 ").
  • is the unit block intermediate ciphertext
  • the input width of G is the sum of the output width of F and the width of the entire input X.
  • the case where Y is a ciphertext with P1 is called the extended PRT (Extended PRT, ERT) mode.
  • the ERT mode has the feature that the key length is smaller than the PRT mode Specifically, when the expansion ratio is large, the ERT mode requires a key length that is approximately 60% of the key length of the PRT mode, as shown in Fig. 7. An example of the mode is shown.
  • the mode with this combination requires a key length of approximately 30% of the key length of the PRT mode when the expansion rate is large! /.
  • Ordered tree mode is the best mode over PRT mode and ERT mode in terms of key length.
  • disadvantages in implementation such as an increase in program size at a large expansion rate.
  • this combination it is possible to achieve a mode that is more efficient in terms of key length than the basic ERT mode described in (Equation 1 "), while avoiding the extreme complexity of the program.
  • Various other combinations of patterns are possible, and the required key length and ease of implementation will change depending on each pattern.
  • the common key block encryption apparatus is the pseudo random number generation means (104) i included in the common key block encryption apparatus according to the first embodiment. This is characterized by the generation of intermediate random numbers based on the modified counter mode.
  • the pseudo-random number generation means (104) generates intermediate random numbers based on the modified counter mode of the above (Equation 2) using a single block cipher, thereby simplifying the key. It becomes possible.
  • the common key block encryption apparatus is the pseudo random number generation means (104) i included in the common key block encryption apparatus according to the first embodiment. Based on the modified OFB mode, an intermediate random number is generated.
  • the pseudo-random number generation means (104) simplifies the key by generating intermediate random numbers based on the modified OFB mode of the above (Equation 3) using a single block cipher. It becomes possible.
  • the common key block encryption apparatus in the seventh embodiment is a unit block encryption means (203) provided in the common key block encryption apparatus in the second embodiment.
  • a plurality of ciphertexts obtained by inputting unit block intermediate ciphertexts are concatenated into intermediate random numbers.
  • the pseudo random number generation means (204) included in the common key block encryption apparatus in the second embodiment uses the unit block intermediate ciphertext as This is characterized in that intermediate random number generation is performed by entering the mode in which the block cipher P1 encryption (step C2 in FIG. 5) is omitted from the ordered tree mode shown in FIG.
  • the common key block encryption apparatus converts the unit block intermediate plaintext into the unit block intermediate ciphertext using the unit block encryption means (203) 1S block cipher,
  • the pseudo-random number generation means (204) switches the unit block intermediate ciphertext to a mode in which the first cipher processing in the ordered tree mode by the block cipher and the simplified block cipher obtained by simplifying the block cipher is omitted.
  • the key length can be shortened to the log order of the number of output blocks in ordered tree mode by concatenating multiple ciphertexts obtained by inputting In addition, it is possible to reduce the overhead time until the encrypted text is output.
  • a block cipher key is usually generated by key scheduling using a master key.
  • the short key means that key scheduling using a master key for generating the key is short. This is because the time can be shortened.
  • the common key block encryption device is the same as the common key block encryption device according to the seventh embodiment.
  • the pseudo-random number generation means (204) included in the key-block encryption device uses the block cipher and the simple block cipher obtained by simplifying the block cipher as described in the above-mentioned PRT as described in (Equation 1 ′). Mode, or the ERT mode described in (Equation 1 ") above, or the mode that combines ordered tree mode, PRT mode, and ERT mode, such as the mode described in (Equation 2") above.
  • the first block cipher P1 encryption process is omitted, and a plurality of ciphertexts obtained by inputting unit block intermediate ciphertexts are concatenated to obtain intermediate random numbers.
  • the common key block encryption device in the ninth embodiment is the pseudo random number generation means (204) i provided in the common key block encryption device in the second embodiment.
  • this modified counter mode intermediate random numbers are generated using the mode that omits only the first encryption performed on the input.
  • the pseudo-random number generation means (204) has a mode in which only the first encryption key is omitted for the input in the modified counter mode of the above (Equation 2) using a single block cipher. It is possible to simplify the key by generating an intermediate random number.
  • the pseudo random number generation means (204) included in the common key block encryption device according to the second embodiment has the above-described (Equation 3) using a single block encryption.
  • the intermediate random number is generated.
  • the pseudo-random number generation means (204) is used in the modified OFB mode of (Equation 3) above with a single block cipher, in which only the cipher key that is first performed on the input is omitted.
  • the key it is possible to simplify the key by generating the intermediate random number.
  • the pseudo random number generation means (104, 204) included in the common key block encryption apparatus in the first and second embodiments is attached as an initial vector.
  • the key stream generated by using the unit block intermediate ciphertext as an input is output as an intermediate random number.
  • Such a stream cipher can be realized by the stream cipher SEAL disclosed in Non-Patent Document 6, for example. It can also be realized by encrypting the unit block intermediate ciphertext with the block cipher and inputting the encrypted result into the stream cipher that accepts the initial vector as an input.
  • the unit block intermediate plaintext is converted into the unit block intermediate using the unit block encryption means (103, 203) force block cipher.
  • the processing operation in the common key block encryption apparatus of each of the above embodiments can be executed by a computer program, and the above program is an optical recording medium, a magnetic recording medium, a magneto-optical recording medium.
  • the information processing apparatus can execute the processing operation described above by recording on a recording medium such as a semiconductor and causing the information processing apparatus to read the recording medium power program. It is also possible to cause the information processing apparatus to execute the processing operations described above by causing the information processing apparatus to read a program from an external device connected via a predetermined network.
  • a common key block encryption apparatus, a common key block encryption method, and a common key block encryption program according to the present invention include a system for performing cryptographic communication between two parties, a movie, music, and the like. It can be applied to a system for safely distributing contents such as a file encryption file for safely operating data on a computer server.

Landscapes

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

Abstract

 安全なブロック暗号を提供する共通鍵ブロック暗号化装置を提供する。平文をPAブロックとPBブロックとに分割し、ハッシュ関数により圧縮したPBブロックと、PAブロックと、を加算し単位ブロック中間文を生成する第1のフェイステル型ハッシュ手段(102)と、単位ブロック中間文を暗号化し単位ブロック中間暗号文を生成する単位ブロック暗号化手段(103)と、単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成手段(104)と、中間乱数とPBブロックとを加算し加算結果を出力する加算手段(105)と、ハッシュ関数により圧縮した加算結果と、単位ブロック中間暗号文と、を基に生成した第2の加算結果と、加算結果と、を合わせた結果を出力する第2のフェイステル型ハッシュ手段(106)と、出力結果を暗号文として出力する暗号文出力手段(107)と、を有する。

Description

明 細 書
共通鍵ブロック暗号ィヒ装置、共通鍵ブロック暗号化方法及び共通鍵プロ ック暗号ィ匕プログラム
技術分野
[0001] 本発明は、共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブ ロック暗号ィ匕プログラムに関し、特に、安全性の高い暗号処理と、高速な暗号処理と 、の組み合せを用いて、大きなブロックサイズに対するブロック暗号を行う共通鍵ブロ ック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラムに 関するものである。
背景技術
[0002] 近年、ブロック暗号やハッシュ関数などの暗号処理を暗号部品とし、新たな暗号を 構成するアプローチが数多く知られて 、る。
[0003] 例えば、ファイル暗号では、暗号化データのセクタ単位での処理を容易とするため に、標準的なブロックサイズ(128bitなど)のブロック暗号を用いて、セクタのサイズに 対応した、より大きなブロックサイズ (512bitなど)のブロック暗号を構成する研究が行 われている。
[0004] 通常、このような暗号部品の組み合せは、該暗号部品の選択平文攻撃(Chosen PI ain text Attack;CPA)への安全性力 該暗号部品により新たに構成される暗号の十 分な安全性を確保するために必要とされてきた。なお、新たに構成される暗号の十分 な安全性とは、新たに構成される暗号がブロック暗号の場合には、選択平文攻撃へ の安全性、もしくは、選択平文 Z暗号文攻撃への安全性を示し、新たに構成される 暗号がストリーム暗号の場合には、(初期ベクトルを攻撃者が選択できるというモデル のもとでの)選択平文攻撃への安全性を示して!/ヽる。
[0005] なお、選択平文攻撃に安全な暗号部品のみを用いた方法の場合には、新たに構 成される暗号のスループット(単位時間当たりの処理量)力 暗号部品のスループット を上回ることはできない。
[0006] これに対し、選択平文攻撃に安全な暗号部品のみを用いるのではなぐ選択平文 攻撃に安全な暗号部品と既知平文攻撃 (Known Plain text Attack;KPA)に安全な暗 号部品とを組み合わせる方法がある (例えば、特許文献 1、非特許文献 1参照)。
[0007] なお、上記特許文献 1、上記非特許文献 1は、ブロック暗号の出力を、ノ、ッシュ関数 やストリーム暗号で拡大することによりストリーム暗号を構成するものである。なお、上 記特許文献 1には、選択平文攻撃に安全なブロック暗号と、既知平文攻撃に安全な ハッシュ関数やストリーム暗号と、を用いれば、新たに構成されるストリーム暗号は安 全である旨が開示されて 、る。
[0008] 既知平文攻撃は、選択平文攻撃より弱いクラスの攻撃である。既知平文攻撃に安 全な暗号部品は、安全性への要求が弱いため、選択平文攻撃に安全な暗号部品よ りも高速に動作することが期待できる。さらに、上記特許文献 1の手法において、選択 平文攻撃に安全なブロック暗号と、既知平文攻撃に安全なハッシュ関数やストリーム 暗号と、を用いれば、新たに構成される暗号のスループットを、既知平文攻撃に安全 な暗号部品のスループットとほぼ同等にすることが可能となる。
[0009] なお、選択平文攻撃に対して安全な暗号部品を Pl、既知平文攻撃に対して安全 な暗号部品を P2とする。
[0010] また、選択平文攻撃に対して安全な暗号部品 P1の鍵を K1とし、既知平文攻撃に 対して安全な暗号部品 P2の互いに独立な t個の鍵 (tは、任意の正の整数)をそれぞ れ K2_l, K2_2, ...,K2_tとする。
[0011] また、暗号 Pi (iは 1または 2)で鍵 Kを用いて平文 mを暗号ィ匕するとき、 mの暗号文 を Pi[k] (m)で表すとする。
[0012] この条件にて上記特許文献 1の方式におけるストリーム暗号では、 1ブロック分の鍵 ストリーム Gは、以下の(式 1)にて表されることになる。
[0013] G= (P2[K2_l](Y),P2[K2_2](Y),...,P2[K2_t](Y)) · · · (式 1)
但し、 Yは、初期入力が c、鍵が K1のとき PIの出力 Pl[Kl](c)を表す。
[0014] また、上記 (式 1)の代わりに、非特許文献 2に開示されている方式を適用することも 可能である。これは以下の(式 1 ' )にて表されることになる。
[0015] G_{ 1, 1 }〇(G— [2,2]〇(G— [3,4 "G— [(1,2飞(1- 1)])...)(Υ) · · · (式 1')
[0016] ただし、 dは log_[2](t)— 1以上の最小の正整数であり、 1= 1,2,...,(1にっぃて0 ]は、 P2の 2つの鍵を用いた 1ブロック入力 2ブロック出力であり、 G_[i](X)=(P2[K2_2i-l](X), P2[K2— 2i](X》と!、う処理を行う。
[0017] G_[i,2"Xi-l)]は、 2飞卜1)ブロック入力 2 0ブロック出力であり、全ての入力ブロックへ G — [i]を適用し、それぞれの結果を連結して出力する処理である。全体の出力は、各 G_[ i,2~(i-l)]の出力を連結する。なお、図 8に P2の鍵を 4つ使用した場合を示す。また、 〇は関数の合成を表す演算子であり、ある 2つの関数 Fと Gとについて、 FOGは、 F 〇G(X)=G(F(X》という合成関数を表す。ここでは、(式 1)と同様に(式 1')の Yを P1[K1 ](c)としたモードを、擬似ランダムツリーモード(Pseudorandom Tree mode,PRTモード と略す)と呼ぶ。
[0018] P1の出力 Yを t倍にしていることから、以後は tを拡大率と呼ぶ。なお、初期入力じの 生成方法はいくつか考えられる力 例えば、初期値を 1とし、 1ブロック分の鍵ストリー ム生成の度に、カウントアップする変数を cとする方法がある。
[0019] 上記特許文献 1の方式は、 1ブロック分の入力に対して tブロック分の出力を行う暗 号処理に関するものである力 同様の処理は P1のみを用いて行うことも可能である。 これは非特許文献 3に開示されている修正カウンターモード、もしくは、修正 OFB(Ou tput Feed Back)モードを使えばよいことになる。なお、 P1を用いた修正カウンターモ ードを (式 2)に示し、 P1を用いた修正 OFBモードを (式 3)に示す。
[0020] (式 2)
入力 Xについて、(Pl(Pl(x)+c— l),Pl(Pl(x)+c— 2),...,Pl(Pl(x)+c— t》)、を出力。 但し、 c_l,...,c_tは、 t個のそれぞれ互いに異なる定数とする。
[0021] (式 3)
入力 Xについて、 (Pl(Pl(x)),Pl(Pl(x)+y_l),...,Pl(Pl(x)+y_t-l),を出力。
但し、 y— l=Pl(Pl(x)),y— 2=Pl(Pl(x)+y— l),...,y— t- l=Pl(Pl(x)+y— t- 2)を満たすものとする
[0022] なお、修正カウンターモードや修正 OFBモードは PIのみの暗号部品を用いて、 P2 という追加の暗号部品を必要としないため簡素化を図れることになるが、その代わり に、修正カウンターモードや修正 OFBモードのスループットは、 P1の暗号部品のス ループットよりも高速にはならないことになる。 [0023] なお、本発明より先に出願された他の技術文献として、入力データの暗号化段階を 少なくとも 2つの段階で構成し、各暗号ィ匕段階で所定バイト長のブロック単位で暗号 分ブロック連鎖モードを用いて暗号ィ匕し、かつ最初の暗号化段階では入力データに 依存しない固定の初期化ベクトルを用い、次の暗号ィヒ段階以降では前の暗号ィ匕手 段における 1つのブロックの暗号結果を初期化ベクトルとして用い、大きなデータをブ ロック化して暗号ィ匕する際に、元のデータが推測されるのを困難にすることを可能と するブロック暗号方法及び複合方法がある(例えば、特許文献 2参照)。
[0024] また、平文 Mを r (rは 2以上の整数)個の分割平文に分割し、 r個の分割平文のうち の n個(n<r)の分割平文を n個の暗号文に暗号ィ匕し、残りの (r—n)個の分割平文と 前記 n個の暗号文とを出力暗号文として出力し、高速で簡易な暗号系を構成できるも のがある (例えば、特許文献 3参照)。
[0025] また、ハッシュ関数にっ 、て開示されたものがある(例えば、非特許文献 4参照)。
[0026] また、 AES (Advanced Encryption Standard)などの選択平文 Z暗号文攻撃に安全 なブロック暗号につ!ヽて開示されたものがある(例えば、非特許文献 5参照)。
[0027] また、ストリーム暗号 SEALについて開示されたものがある(例えば、非特許文献 6 参照)。
特許文献 1 :米国特許第 6104811号明細書
特許文献 2 :特開 2002— 108205号公報
特許文献 3:特開 2002— 175008号公報
非特許文献 1 :アイエロ、ラャゴパラン、アンドベンカテサン、ハイスピードスードラン ダムナンバージェネレーションウイズスモーノレメモリー、 1999年 3月、ファストソフト ウェアェンクリプシヨン、シックスインターナショナノレワークショップ、エフエスィー 99 、レクチャーノーッインコンピュータサイエンスボリューム 1636 (W. Aiello, R. Raj agopalan and V. Venkatesan, High— Speed Pseudorandom Number Generation With S mall Memory, Fast Software Encryption, 6th International Workshop, FSE'99, Lectu re Notes in Computer Science; Vol. 1636, Mar. 1999)
非特許文献 2 :ィバン ダンガード、アンド ジエスパー ブース ニールセン、 2002年 8 月、 「エタスパンディング スードランダム ファンクションズ; ォヮ: フロム ノウン一 プレインテキスト セキュリティ トウ チョーズンープレインテキスト セキュリティ」、 200 2年、アドバンシズ イン クリプトロジー、クリフ。ト' 02、レクチャーノーッインコンビュ ~~グサイエンス ボリュ ~~ム 2442 (Ivan Damgard and Jusper Buus Nielsen, Expandin g Pseudorandom Functions; or: From Known-Plaintext Security to Chosen-Plaintext Security, Advances in Cryptology- CRYPTO'02, LNCS 2442, 2002.)
非特許文献 3 :アンリ ギルバート、ザ セキュリティー ォブ "ワン ブロック トゥー メ-一"モーズ ォブ オペレーション、 2003年 2月、ファストソフトウェアェンタリプショ ン、テンスインターナショナノレワークショップ、エフエスィー 03、レクチャーノーッィ ンコンピュータサイエンスボリューム 2887 (H. Gilbert, The Security of "One-Bloc k— to— Many Modes of Operation, Fast Software Encryption, 10th International Wor kshop, FSE '03, Lecture Notes in Computer Science; Vol. 2887, Feb. 2003) 非特許文献 4 :シャイ ハレビ アンド ユーゴ クラウジック、ェムェムェイチ:ソフトゥ エア メッセージ ォゥセンティケイシヨン イン ザ ギガビット パー セコンド レーッ 、 1997年 2月、ファストソフトウェアェンクリプシヨン、フォースインターナショナルヮ ークショップ、エフエスィー 97、レクチャーノーッインコンピュータサイエンスボリュ ~~ム 1267 (S. Haievi and H. Krawczyk, MMH:¾oftware Message Authentication in t he Gbit/ second rates, Fast Software Encryption, 4th International Workshop, FSE 97, Lecture Notes in Computer Science; Vol. 1267, Feb. 1997)
非特許文献 5 :デーモン アンド ライマン、エーィーエス プロポーザル:ラインデー ル、エーィーエス サブミッション、 1998. (J. Daemen, V. Rijmen, "AES Proposal: Rij ndael", AES submission, 1998.)
非特許文献 6 :フィル 口ガウエイ アンド ダン カツパースミス、ァ ソフトウェア一ォ プティマイズド ェンクリプシヨン アルゴリズム、 1993年 2月、ファストソフトウェアェン タリプシヨン、ファーストインターナショナノレワークショップ、エフエスィー 97、レクチャ 一ノーッインコンピュータサイエンスボリューム 809 (P. Rogaway and D. Coppers mith, A Software-Optimized Encryption Algorithm, Fast Software Encryption, 1st In ternatioanl Workshop, FSE '93, Lecture Notes in Computer science; Vol. 809, Feb. 1993.) 発明の開示
発明が解決しょうとする課題
[0028] なお、上記特許文献 1には、ブロック暗号の出力を、ノ、ッシュ関数やストリーム暗号 で拡大することによりストリーム暗号を構成することについては開示されている力 選 択平文攻撃に安全な暗号部品と、既知平文攻撃に安全な暗号部品と、を組み合せ た安全なブロック暗号の構築方法にっ 、ては何ら考慮されたものではな 、。
[0029] また、上記特許文献 1に記載されて!ヽる方式では、拡大率を大きく設定したときの 実装面の負担が大きくなる虞がある。その理由は、上記特許文献 1に記載されている 方式は、拡大率に応じて線形に鍵が長くなるからである。このような場合、適当な鍵ス ケジユーリングを採用し、短い秘密鍵を拡大して力も使うことになる力 これは鍵スケ ジユーリングによる事前処理の計算量増加を意味することになる。また、暗号化の際 に必要とするメモリ量も増加することになる。
[0030] 本発明は上記事情に鑑みてなされたものであり、選択平文攻撃に安全な暗号部品 と、既知平文攻撃に安全な暗号部品と、を組み合わせるか、もしくは、選択平文 Z暗 号文攻撃に安全な暗号部品と、既知平文攻撃に安全な暗号部品と、を組み合わせ、 安全なブロック暗号を提供する共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方 法及び共通鍵ブロック暗号ィ匕プログラムを提供することを目的とするものである。 課題を解決するための手段
[0031] かかる目的を達成するために、本発明は以下の特徴を有することとする。
[0032] 本発明にカゝかる共通鍵ブロック暗号ィ匕装置は、暗号化される平文を、第 1のブロッ クと、第 2のブロックと、に分割し、該分割した第 1のブロックをハッシュ関数により圧縮 し、該圧縮した第 1のブロックと、第 2のブロックと、を加算し単位ブロック中間文を生 成し、該生成した単位ブロック中間文と、第 1のブロックと、を出力する第 1のフェイス テル型ハッシュ手段と、単位ブロック中間文を暗号ィ匕し、単位ブロック中間暗号文を 生成する単位ブロック暗号化手段と、単位ブロック中間暗号文を基に中間乱数を生 成する擬似乱数生成手段と、中間乱数と、第 1のブロックと、を加算し、加算結果を出 力する加算手段と、加算結果をハッシュ関数により圧縮し、該圧縮した加算結果と、 単位ブロック中間暗号文と、を加算し、第 2の加算結果を生成し、該生成した第 2の 加算結果と、加算結果と、を合わせた出力結果を出力する第 2のフェイステル型ハツ シュ手段と、出力結果を暗号文として出力する暗号文出力手段と、を有することを特 徴とするちのである。
[0033] また、本発明にかかる共通鍵ブロック暗号ィ匕装置は、暗号化される平文を、第 1の ブロックと、第 2のブロックと、に分割し、該分割した第 1のブロックをハッシュ関数によ り圧縮し、該圧縮した第 1のブロックと、第 2のブロックと、を加算し単位ブロック中間文 を生成し、該生成した単位ブロック中間文と、第 1のブロックと、を出力する第 1のフエ イステル型ハッシュ手段と、単位ブロック中間文を暗号ィ匕し、単位ブロック中間暗号 文を生成する単位ブロック暗号ィ匕手段と、単位ブロック中間暗号文を基に中間乱数 を生成する擬似乱数生成手段と、中間乱数と、第 1のブロックと、を加算し、加算結果 を出力する加算手段と、加算結果と、単位ブロック中間暗号文と、を連結し暗号文と して出力する暗号文出力手段と、を有することを特徴とするものである。
[0034] また、本発明にカゝかる共通鍵ブロック暗号ィ匕装置にぉ 、て、単位ブロック暗号化手 段は、ブロック暗号を用いて単位ブロック中間文を暗号ィ匕し、単位ブロック中間暗号 文を生成し、疑似乱数生成手段は、ブロック暗号と、ブロック暗号を簡略化して得ら れる簡易ブロック暗号と、による順序つきツリーモードに対し、単位ブロック中間暗号 文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成することを特 徴とするちのである。
[0035] また、本発明にカゝかる共通鍵ブロック暗号ィ匕装置にぉ 、て、単位ブロック暗号化手 段は、ブロック暗号を用いて単位ブロック中間文を暗号ィ匕し、単位ブロック中間暗号 文を生成し、疑似乱数生成手段は、ブロック暗号と、ブロック暗号を簡略化して得ら れる簡易ブロック暗号と、による PRTモード、もしくは ERTモード、もしくは順序つきッ リーモードと PRTモードと ERTモードとの組み合わせによるモードに対し、単位ブロッ ク中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成 することを特徴とするものである。
[0036] また、本発明にカゝかる共通鍵ブロック暗号ィ匕装置にぉ 、て、単位ブロック暗号化手 段は、ブロック暗号を用いて単位ブロック中間文を暗号ィ匕し、単位ブロック中間暗号 文を生成し、疑似乱数生成手段は、ブロック暗号による修正カウンターモードに、単 位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱 数を生成することを特徴とするものである。
[0037] また、本発明にカゝかる共通鍵ブロック暗号ィ匕装置にぉ 、て、単位ブロック暗号化手 段は、ブロック暗号を用いて単位ブロック中間文を暗号ィ匕し、単位ブロック中間暗号 文を生成し、疑似乱数生成手段は、ブロック暗号による修正 OFBモードに、単位プロ ック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生 成することを特徴とするものである。
[0038] また、本発明にカゝかる共通鍵ブロック暗号ィ匕装置にぉ 、て、単位ブロック暗号化手 段は、ブロック暗号を用いて単位ブロック中間文を暗号ィ匕し、単位ブロック中間暗号 文を生成し、疑似乱数生成手段は、ブロック暗号と、ブロック暗号を簡略化して得ら れる簡易ブロック暗号と、による順序つきツリーモードの最初の暗号化処理を省略し たモードに、単位ブロック中間暗号文を入力することで得られる複数の暗号文を連結 して中間乱数を生成することを特徴とするものである。
[0039] また、本発明にカゝかる共通鍵ブロック暗号ィ匕装置にぉ 、て、単位ブロック暗号化手 段は、ブロック暗号を用いて単位ブロック中間文を暗号ィ匕し、単位ブロック中間暗号 文を生成し、疑似乱数生成手段は、ブロック暗号と、ブロック暗号を簡略化して得ら れる簡易ブロック暗号と、による PRTモード、もしくは ERTモード、もしくは順序つきッ リーモードと PRTモードと ERTモードとの組み合わせによるモードの最初の暗号化処 理を省略したモードに、単位ブロック中間暗号文を入力することで得られる複数の暗 号文を連結して中間乱数を生成することを特徴とするものである。
[0040] また、本発明にカゝかる共通鍵ブロック暗号ィ匕装置にぉ 、て、単位ブロック暗号化手 段は、ブロック暗号を用いて単位ブロック中間文を暗号ィ匕し、単位ブロック中間暗号 文を生成し、疑似乱数生成手段は、ブロック暗号による修正カウンターモードの最初 の暗号化処理を省 ヽたモードに、単位ブロック中間暗号文を入力して得られる複数 ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
[0041] また、本発明にカゝかる共通鍵ブロック暗号ィ匕装置にぉ 、て、単位ブロック暗号化手 段は、ブロック暗号を用いて単位ブロック中間文を暗号ィ匕し、単位ブロック中間暗号 文を生成し、疑似乱数生成手段は、ブロック暗号による修正 OFBモードの最初の暗 号ィ匕処理を省いたモードに、単位ブロック中間暗号文を入力して得られる複数ブロッ クの暗号文を連結して中間乱数を生成することを特徴とするものである。
[0042] また、本発明にカゝかる共通鍵ブロック暗号ィ匕装置にぉ 、て、単位ブロック暗号化手 段は、ブロック暗号を用いて単位ブロック中間文を暗号ィ匕し、単位ブロック中間暗号 文を生成し、疑似乱数生成手段は、初期ベクトルを付加的な入力として受け付けるス トリーム暗号へ、単位ブロック中間暗号文を初期ベクトルとして入力し、中間乱数を生 成することを特徴とするものである。
[0043] また、本発明に力かる共通鍵ブロック暗号ィ匕方法は、情報処理装置にお!、て行う共 通鍵ブロック暗号ィ匕方法であって、暗号化される平文を、第 1のブロックと、第 2のブロ ックと、に分割し、該分割した第 1のブロックをハッシュ関数により圧縮し、該圧縮した 第 1のブロックと、第 2のブロックと、を加算し単位ブロック中間文を生成し、該生成し た単位ブロック中間文と、第 1のブロックと、を出力する第 1のフェイステル型ハッシュ 工程と、単位ブロック中間文を暗号ィ匕し、単位ブロック中間暗号文を生成する単位ブ ロック暗号ィ匕工程と、単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数 生成工程と、中間乱数と、第 1のブロックと、を加算し、加算結果を出力する加算工程 と、加算結果をハッシュ関数により圧縮し、該圧縮した加算結果と、単位ブロック中間 暗号文と、を加算し、第 2の加算結果を生成し、該生成した第 2の加算結果と、加算 結果と、を出力する第 2のフェイステル型ハッシュ工程と、第 2の加算結果と、加算結 果と、を基に暗号文として出力する暗号文出力工程と、を、情報処理装置が行うこと を特徴とするものである。
[0044] また、本発明に力かる共通鍵ブロック暗号ィ匕方法は、情報処理装置にお!、て行う共 通鍵ブロック暗号ィ匕方法であって、暗号化される平文を、第 1のブロックと、第 2のブロ ックと、に分割し、該分割した第 1のブロックをハッシュ関数により圧縮し、該圧縮した 第 1のブロックと、第 2のブロックと、を加算し単位ブロック中間文を生成し、該生成し た単位ブロック中間文と、第 1のブロックと、を出力する第 1のフェイステル型ハッシュ 工程と、単位ブロック中間文を暗号ィ匕し、単位ブロック中間暗号文を生成する単位ブ ロック暗号ィ匕工程と、単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数 生成工程と、中間乱数と、第 1のブロックと、を加算し、加算結果を出力する加算工程 と、加算結果と、単位ブロック中間暗号文と、を連結し暗号文として出力する暗号文 出力工程と、を、情報処理装置が行うことを特徴とするものである。
[0045] また、本発明に力かる共通鍵ブロック暗号ィ匕方法にぉ 、て、単位ブロック暗号ィ匕ェ 程は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号 文を生成し、疑似乱数生成工程は、ブロック暗号と、ブロック暗号を簡略化して得ら れる簡易ブロック暗号と、による順序つきツリーモードに対し、単位ブロック中間暗号 文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成することを特 徴とするちのである。
[0046] また、本発明に力かる共通鍵ブロック暗号ィ匕方法にぉ 、て、単位ブロック暗号ィ匕ェ 程は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号 文を生成し、疑似乱数生成工程は、ブロック暗号と、ブロック暗号を簡略化して得ら れる簡易ブロック暗号と、による PRTモード、もしくは ERTモード、もしくは順序つきッ リーモードと PRTモードと ERTモードとの組み合わせによるモードに対し、単位ブロッ ク中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成 することを特徴とするものである。
[0047] また、本発明に力かる共通鍵ブロック暗号ィ匕方法にぉ 、て、単位ブロック暗号ィ匕ェ 程は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号 文を生成し、疑似乱数生成工程は、ブロック暗号による修正カウンターモードに、単 位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱 数を生成することを特徴とするものである。
[0048] また、本発明に力かる共通鍵ブロック暗号ィ匕方法にぉ 、て、単位ブロック暗号ィ匕ェ 程は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号 文を生成し、疑似乱数生成工程は、ブロック暗号による修正 OFBモードに、単位プロ ック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生 成することを特徴とするものである。
[0049] また、本発明に力かる共通鍵ブロック暗号ィ匕方法にぉ 、て、単位ブロック暗号ィ匕ェ 程は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号 文を生成し、疑似乱数生成工程は、ブロック暗号と、ブロック暗号を簡略化して得ら れる簡易ブロック暗号と、による順序つきツリーモードの最初の暗号化処理を省略し たモードに、単位ブロック中間暗号文を入力することで得られる複数の暗号文を連結 して中間乱数を生成することを特徴とするものである。
[0050] また、本発明に力かる共通鍵ブロック暗号ィ匕方法にぉ 、て、単位ブロック暗号ィ匕ェ 程は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号 文を生成し、疑似乱数生成工程は、ブロック暗号と、ブロック暗号を簡略化して得ら れる簡易ブロック暗号と、による PRTモード、もしくは ERTモード、もしくは順序つきッ リーモードと PRTモードと ERTモードとの組み合わせによるモードの最初の暗号化処 理を省略したモードに、単位ブロック中間暗号文を入力することで得られる複数の暗 号文を連結して中間乱数を生成することを特徴とするものである。
[0051] また、本発明に力かる共通鍵ブロック暗号ィ匕方法にぉ 、て、単位ブロック暗号ィ匕ェ 程は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号 文を生成し、疑似乱数生成工程は、ブロック暗号による修正カウンターモードの最初 の暗号化処理を省 ヽたモードに、単位ブロック中間暗号文を入力して得られる複数 ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
[0052] また、本発明に力かる共通鍵ブロック暗号ィ匕方法にぉ 、て、単位ブロック暗号ィ匕ェ 程は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号 文を生成し、疑似乱数生成工程は、ブロック暗号による修正 OFBモードの最初の暗 号ィ匕処理を省いたモードに、単位ブロック中間暗号文を入力して得られる複数ブロッ クの暗号文を連結して中間乱数を生成することを特徴とするものである。
[0053] また、本発明に力かる共通鍵ブロック暗号ィ匕方法にぉ 、て、単位ブロック暗号ィ匕ェ 程は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間暗号 文を生成し、疑似乱数生成工程は、初期ベクトルを付加的な入力として受け付けるス トリーム暗号へ、単位ブロック中間暗号文を初期ベクトルとして入力し、中間乱数を生 成することを特徴とするものである。
[0054] また、本発明に力かる共通鍵ブロック暗号ィ匕プログラムは、情報処理装置にお!、て 実行させる共通鍵ブロック暗号化プログラムであって、暗号化される平文を、第 1のブ ロックと、第 2のブロックと、に分割し、該分割した第 1のブロックをハッシュ関数により 圧縮し、該圧縮した第 1のブロックと、第 2のブロックと、を加算し単位ブロック中間文 を生成し、該生成した単位ブロック中間文と、第 1のブロックと、を出力する第 1のフエ イステル型ハッシュ処理と、単位ブロック中間文を暗号化し、単位ブロック中間暗号 文を生成する単位ブロック暗号ィ匕処理と、単位ブロック中間暗号文を基に中間乱数 を生成する擬似乱数生成処理と、中間乱数と、第 1のブロックと、を加算し、加算結果 を出力する加算処理と、加算結果をハッシュ関数により圧縮し、該圧縮した加算結果 と、単位ブロック中間暗号文と、を加算し、第 2の加算結果を生成し、該生成した第 2 の加算結果と、加算結果と、を出力する第 2のフェイステル型ハッシュ処理と、第 2の 加算結果と、加算結果と、を基に暗号文として出力する暗号文出力処理と、を、情報 処理装置において実行させることを特徴とするものである。
[0055] また、本発明に力かる共通鍵ブロック暗号ィ匕プログラムは、情報処理装置にお!、て 実行させる共通鍵ブロック暗号化プログラムであって、暗号化される平文を、第 1のブ ロックと、第 2のブロックと、に分割し、該分割した第 1のブロックをハッシュ関数により 圧縮し、該圧縮した第 1のブロックと、第 2のブロックと、を加算し単位ブロック中間文 を生成し、該生成した単位ブロック中間文と、第 1のブロックと、を出力する第 1のフエ イステル型ハッシュ処理と、単位ブロック中間文を暗号化し、単位ブロック中間暗号 文を生成する単位ブロック暗号ィ匕処理と、単位ブロック中間暗号文を基に中間乱数 を生成する擬似乱数生成処理と、中間乱数と、第 1のブロックと、を加算し、加算結果 を出力する加算処理と、加算結果と、単位ブロック中間暗号文と、を連結し暗号文と して出力する暗号文出力処理と、を、情報処理装置において実行させることを特徴と するものである。
[0056] また、本発明に力かる共通鍵ブロック暗号化プログラムにお!/、て、単位ブロック暗号 化処理は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間 暗号文を生成し、疑似乱数生成処理は、ブロック暗号と、ブロック暗号を簡略化して 得られる簡易ブロック暗号と、による順序つきツリーモードに対し、単位ブロック中間 暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数を生成すること を特徴とするものである。
[0057] また、本発明に力かる共通鍵ブロック暗号ィ匕プログラムにお 、て、単位ブロック暗号 化処理は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間 暗号文を生成し、疑似乱数生成処理は、ブロック暗号と、ブロック暗号を簡略化して 得られる簡易ブロック暗号と、による PRTモード、もしくは ERTモード、もしくは順序つ きツリーモード、もしくは順序つきツリーモードと PRTモードと ERTモードとの組み合 わせによるモードに対し、単位ブロック中間暗号文を入力して得られる複数ブロック の暗号文を連結して中間乱数を生成することを特徴とするものである。
[0058] また、本発明に力かる共通鍵ブロック暗号化プログラムにお!/、て、単位ブロック暗号 化処理は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間 暗号文を生成し、疑似乱数生成処理は、ブロック暗号による修正カウンターモードに 、単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間 乱数を生成することを特徴とするものである。
[0059] また、本発明に力かる共通鍵ブロック暗号化プログラムにお!/、て、単位ブロック暗号 化処理は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間 暗号文を生成し、疑似乱数生成処理は、ブロック暗号による修正 OFBモードに、単 位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱 数を生成することを特徴とするものである。
[0060] また、本発明に力かる共通鍵ブロック暗号化プログラムにお!/、て、単位ブロック暗号 化処理は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間 暗号文を生成し、疑似乱数生成処理は、ブロック暗号と、ブロック暗号を簡略化して 得られる簡易ブロック暗号と、による順序つきツリーモードの最初の暗号化処理を省 略したモードに、単位ブロック中間暗号文を入力することで得られる複数の暗号文を 連結して中間乱数を生成することを特徴とするものである。
[0061] また、本発明に力かる共通鍵ブロック暗号化プログラムにお!/、て、単位ブロック暗号 化処理は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間 暗号文を生成し、疑似乱数生成処理は、ブロック暗号と、ブロック暗号を簡略化して 得られる簡易ブロック暗号と、による PRTモード、もしくは ERTモード、もしくは順序つ きツリーモードと PRTモードと ERTモードとの組み合わせによるモードの最初の暗号 化処理を省略したモードに、単位ブロック中間暗号文を入力することで得られる複数 の暗号文を連結して中間乱数を生成することを特徴とするものである。
[0062] また、本発明に力かる共通鍵ブロック暗号化プログラムにお!/、て、単位ブロック暗号 化処理は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間 暗号文を生成し、疑似乱数生成処理は、ブロック暗号による修正カウンターモードの 最初の暗号化処理を省いたモードに、単位ブロック中間暗号文を入力して得られる 複数ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
[0063] また、本発明に力かる共通鍵ブロック暗号化プログラムにお!/、て、単位ブロック暗号 化処理は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間 暗号文を生成し、疑似乱数生成処理は、ブロック暗号による修正 OFBモードの最初 の暗号化処理を省 ヽたモードに、単位ブロック中間暗号文を入力して得られる複数 ブロックの暗号文を連結して中間乱数を生成することを特徴とするものである。
[0064] また、本発明に力かる共通鍵ブロック暗号化プログラムにお!/、て、単位ブロック暗号 化処理は、ブロック暗号を用いて単位ブロック中間文を暗号化し、単位ブロック中間 暗号文を生成し、疑似乱数生成処理は、初期ベクトルを付加的な入力として受け付 けるストリーム暗号へ、単位ブロック中間暗号文を初期ベクトルとして入力し、中間乱 数を生成することを特徴とするものである。
発明の効果
[0065] 本発明にかかる共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通 鍵ブロック暗号ィ匕プログラムは、暗号化される平文を、第 1のブロックと、第 2のブロッ クと、に分割し、該分割した第 1のブロックをハッシュ関数により圧縮し、該圧縮した第 1のブロックと、第 2のブロックと、を加算し単位ブロック中間文を生成し、該生成した 単位ブロック中間文と、第 1のブロックと、を出力する。そして、単位ブロック中間文を 暗号化し、単位ブロック中間暗号文を生成する。そして、単位ブロック中間暗号文を 基に中間乱数を生成し、該生成した中間乱数と、第 1のブロックと、を加算し、加算結 果を出力する。そして、その加算結果をハッシュ関数により圧縮し、該圧縮した加算 結果と、単位ブロック中間暗号文と、を加算し、第 2の加算結果を生成し、該生成した 第 2の加算結果と、加算結果と、を出力する。そして、第 2の加算結果と、加算結果と 、を基に暗号文として出力することになる。これにより、選択平文 Z暗号文攻撃に安 全にすることが可能となる。
[0066] また、暗号化される平文を、第 1のブロックと、第 2のブロックと、に分割し、該分割し た第 1のブロックをハッシュ関数により圧縮し、該圧縮した第 1のブロックと、第 2のプロ ックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、第 1 のブロックと、を出力する。そして、単位ブロック中間文を暗号化し、単位ブロック中間 暗号文を生成する。そして、単位ブロック中間暗号文を基に中間乱数を生成し、該生 成した中間乱数と、第 1のブロックと、を加算し、加算結果を出力する。そして、その加 算結果と、単位ブロック中間暗号文と、を連結し暗号文として出力することになる。こ れにより、選択平文攻撃に安全にすることが可能となる。
図面の簡単な説明
[0067] [図 1]第 1の実施形態における共通鍵ブロック暗号化装置の構成を示すブロック図で ある。
[図 2]第 1の実施形態における共通鍵ブロック暗号ィ匕装置の処理動作を示すフロチャ ートである。
[図 3]第 2の実施形態における共通鍵ブロック暗号ィ匕装置の構成を示すブロック図で ある。
[図 4]第 2の実施形態における共通鍵ブロック暗号ィ匕装置の処理動作を示すフロチャ ートである。
[図 5]第 3の実施形態における共通鍵ブロック暗号化装置の具備する疑似乱数生成 手段(104)における順序つきツリーモードの処理動作を示すフロチャートである。
[図 6]t= 3、r= 3とした場合の疑似乱数生成手段(104)の構成を示すブロック図であ る。
[図 7]P2の鍵を 4つ使う場合の ERTモードの構成を示すブロック図である。
[図 8]P2の鍵を 4つ使う場合の PRTモードの構成を示すブロック図である。
符号の説明
[0068] 101、 201 平文入力手段
102、 202 第 1のフェイステル型ハッシュ手段
103、 203 単位ブロック暗号化手段 104、 204 擬似乱数生成手段
105、 205 カロ算手段
106 第 2のフェイステル型ハッシュ手段
107、 206 暗号文出力手段
発明を実施するための最良の形態
[0069] まず、図 1、図 3を参照しながら、本実施形態における共通鍵ブロック暗号化装置に ついて説明する。
[0070] 本実施形態における第 1の共通鍵ブロック暗号化装置は、図 1に示すように、暗号 化される平文を入力する平文入力手段(101)と、平文を、 PAブロックと、 PBブロック と、に分割し、該分割した PBブロックをハッシュ関数により圧縮し、該圧縮した PBプロ ックと、 PAブロックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック 中間文と、 PBブロックと、を出力する第 1のフェイステル (Feistel)型ハッシュ手段(102 )と、単位ブロック中間文を暗号ィ匕し、単位ブロック中間暗号文を生成する単位ブロッ ク暗号化手段(103)と、単位ブロック中間暗号文を基に中間乱数を生成する擬似乱 数生成手段(104)と、中間乱数と、 PBブロックと、を加算し、加算結果を出力する加 算手段(105)と、加算結果をハッシュ関数により圧縮し、該圧縮した加算結果と、単 位ブロック中間暗号文と、を加算し、第 2の加算結果を生成し、該生成した第 2の加 算結果と、加算結果と、を合わせた出力結果を出力する第 2のフェイステル型ハツシ ュ手段(106)と、出力結果を暗号文として出力する暗号文出力手段(107)と、を有 することを特徴とするものである。これにより、選択平文 Z暗号文攻撃に安全な暗号 部品と、既知平文攻撃に安全な暗号部品と、を組み合わせ、安全なブロック暗号を 提供することが可能となる。また、第 2の共通鍵ブロック暗号化装置は、図 3に示すよ うに、暗号化される平文を入力する平文入力手段(201)と、平文を、 PAブロックと、 P Bブロックと、に分割し、該分割した PBブロックをハッシュ関数により圧縮し、該圧縮し た PBブロックと、 PAブロックと、を加算し単位ブロック中間文を生成し、該生成した単 位ブロック中間文と、 PBブロックと、を出力する第 1のフェイステル型ハッシュ手段(2 02)と、単位ブロック中間文を暗号ィ匕し、単位ブロック中間暗号文を生成する単位ブ ロック暗号ィ匕手段 (203)と、単位ブロック中間暗号文を基に中間乱数を生成する擬 似乱数生成手段 (204)と、中間乱数と、第 1のブロックと、を加算し、加算結果を出力 する加算手段 (205)と、加算結果と、単位ブロック中間暗号文と、を連結し暗号文と して出力する暗号文出力手段(206)と、を有することを特徴とするものである。これに より、選択平文攻撃に安全な暗号部品と、既知平文攻撃に安全な暗号部品と、を組 み合わせ、安全なブロック暗号を提供することが可能となる。なお、ブロック暗号に求 められる安全性とは、選択平文攻撃への安全性か、選択平文攻撃と選択暗号文攻 撃とを組み合わせた選択平文 Z暗号文攻撃への安全性であり、どちらが必要かは利 用目的により異なるが、第 1の共通鍵ブロック暗号化装置は、単位ブロック暗号化手 段(103)が選択平文 Z暗号文攻撃に安全で、疑似乱数生成手段(104)が選択平 文攻撃に安全であれば、選択平文 Z暗号文攻撃に安全にすることが可能となる。ま た、第 2の共通鍵ブロック暗号化装置は、選択平文攻撃に安全にすることが可能とな る。以下、添付図面を参照しながら、本実施形態における共通鍵ブロック暗号化装置 について詳細に説明する。
[0071] (第 1の実施形態)
まず、図 1を参照しながら、第 1の実施形態における共通鍵ブロック暗号化装置の 構成について説明する。なお、図 1は、第 1の実施形態における共通鍵ブロック暗号 化装置の構成を示すブロック図である。
[0072] 第 1の実施形態における共通鍵ブロック暗号化装置は、平文入力手段(101)と、 第 1のフェイステル型ハッシュ手段(102)と、単位ブロック暗号化手段(103)と、擬似 乱数生成手段(104)と、加算手段(105)と、第 2のフェイステル型ハッシュ手段(106
)と、暗号文出力手段(107)と、を有して構成される。
[0073] なお、本実施形態における共通鍵ブロック暗号化装置は、 CPUとメモリとディスクと により実現することは可能である。共通鍵ブロック暗号化装置の各手段は、上記各手 段を実行するためのプログラムをディスクに格納し、該格納したプログラムを CPUが 実行することで実現することになる。
[0074] 次に、共通鍵ブロック暗号化装置を構成する各手段について説明する。
[0075] <平文入力手段 101 >
平文入力手段(101)は、暗号ィ匕される対象となる平文を入力するものである。例え ば、キーボードなどの文字入力装置により実現されることになる。
[0076] <第 1のフェイステル型ハッシュ手段 102 >
第 1のフェイステル型ハッシュ手段(102)は、平文入力手段(101)から入力された 平文を P Aブロックと、 PBブロックと、に分割し、該分割した PBブロックをハッシュ関数 により圧縮し、該圧縮した PBブロックと、 PAブロックと、を加算することになる。そして 、第 1のフェイステル型ハッシュ手段(102)は、ノ、ッシュ関数により圧縮した PBブロッ クと、ハッシュ関数により圧縮していない PAブロックとの和と、ハッシュ関数により圧縮 する前の PBブロックと、を連結して出力することになる。
[0077] 例えば、平文入力手段(101)から入力された平文を、二つのブロック(PA, PB)で 表し、ハッシュ関数を H (x)と表した場合、第 1のフェイステル型ハッシュ手段(102) は、平文入力手段(101)から入力された平文の一部(PB)をハッシュ関数 H (x)によ り圧縮し、該圧縮した一部の平文 H (PB)と、平文入力手段(101)から入力された他 の部分の平文(PA)と、の和(PA+H (PB) )と、ハッシュ関数 H (X)により圧縮する前 の平文 (PB)と、を連結して外部に出力することになる。これにより、第 1のフェイステ ル型ハッシュ手段(102)は、(PA+H (PB) , PB)の出力文を外部に出力することに なる。なお、第 1のフェイステル型ハッシュ手段(102)力 出力する PA + H (PB)を 単位ブロック中間文と称す。また、 +記号は加算を表し、 PA、 PBとも 2のべき乗の空 間の要素ならば、 +は、排他的論理和処理と一致することになる。但し、ハッシュ関 数 Hは、 almost universal XORであることが必要となる。これは、ノヽッシュ関数 H への異なる 2つの入力について、それぞれに対するハッシュ関数 Hの出力の和がほ ぼ一様に分布することを意味する。このようなハッシュ関数 Hは、一般にュ-バーサ ルハッシュ関数と呼ばれ、例えば、非特許文献 4に開示されている Multimodular Hash Functionを用いることで実現することが可能となる。
[0078] <単位ブロック暗号化手段 103 >
単位ブロック暗号化手段(103)は、第 1のフェイステル型ハッシュ手段(102)から 入力された単位ブロック中間文の暗号文である単位ブロック中間暗号文を生成する ことになる。なお、単位ブロック中間暗号文は、非特許文献 5に開示されている AES ( Advanced Encryption Standard)などの選択平文 Z暗号文攻撃に安全なブロック喑 号により生成することが可能である。
[0079] <疑似乱数生成手段 104 >
擬似乱数生成手段(104)は、単位ブロック暗号ィ匕手段(103)から出力される単位 ブロック中間暗号文を基に、中間乱数を生成することになる。
[0080] 第 1の実施形態における擬似乱数生成手段(104)は、選択平文攻撃に安全である ことが求められる。すなわち、攻撃者が任意に単位ブロック中間暗号文を選択し、該 選択した単位ブロック中間暗号文を基に、中間乱数を生成した際に、該生成した中 間乱数と、真の乱数と、の判別が困難となればよい。なお、第 1の実施形態における 疑似乱数生成手段(104)は、上記特許文献 1に開示された手法を使用し、選択平 文攻撃に安全な暗号処理と、既知平文攻撃に安全な暗号処理と、を組み合わせるこ とで中間乱数を生成することが可能となる。選択平文 Z暗号文攻撃に安全ならば、 選択平文攻撃に安全なので、単位ブロック暗号化手段(103)で用いるブロック暗号 を選択平文攻撃に安全な暗号部品として上記特許文献 1に開示された手法におい て適用することが可能となる。
[0081] <加算手段 105 >
加算手段(105)は、疑似乱数生成手段(104)において生成された中間乱数と、第 1のフェイステル型ハッシュ手段(102)から出力される平文の一部(PBブロック)と、 の加算処理を行い、該加算処理を行った加算値を出力することになる。
[0082] <第 2のフェイステル型ハッシュ手段 106 >
第 2のフェイステル型ハッシュ手段(106)は、加算手段(105)から出力された加算 値をハッシュ関数に入力し、ハッシュ値を求め、該求めたハッシュ値と、単位ブロック 暗号ィ匕手段(103)から出力される単位ブロック中間暗号文と、を加算し、その加算結 果と、加算手段(105)から出力された加算値と、を連結して出力結果を出力すること になる。なお、第 2のフェイステル型ハッシュ手段(106)は、第 1のフェイステル型ハツ シュ手段(102)と同様に実現することは可能である。
[0083] <暗号文出力手段 107 >
暗号文出力手段(107)は、第 2のフェイステル型ハッシュ手段(102)力 入力され た出力結果を暗号文として出力するものである。この暗号文出力手段(107)は、コン ピュータディスプレイやプリンタなどで実現することが可能である。
[0084] (共通鍵ブロック暗号化装置における動作の説明)
次に、図 2を参照しながら、図 1に示す第 1の実施形態における共通鍵ブロック暗号 化装置の処理動作につ!、て説明する。
[0085] まず、平文入力手段(101)は、暗号化される平文 (PAブロック、 PBブロック)を第 1 のフェイステル型ハッシュ手段(102)に入力することになる(ステップ Al)。
[0086] 第 1のフェイステル型ハッシュ手段(102)は、平文入力手段(101)から入力された 平文(PAブロック、 PBブロック)を P Aブロックと、 PBブロックと、に分割し、該分割した PBブロックをノヽッシュ関数により圧縮し、該圧縮した PBブロック(H (PB) )と、 PAブロ ック (PA)と、を加算し (PA+H (PB) )、単位ブロック中間文を作成することになる (ス テツプ A2)。そして、第 1のフェイステル型ハッシュ手段(102)は、単位ブロック中間 文と、ノ、ッシュ関数により圧縮する前の PBブロックと、を連結して出力することになる。 なお、第 1のフェイステル型ハッシュ手段(102)は、単位ブロック中間文を、単位ブロ ック暗号化手段(103)に出力し、ノ、ッシュ関数により圧縮する前の PBブロックを、加 算手段(105)に出力することになる。
[0087] 次に、単位ブロック暗号化手段(103)は、第 1のフェイステル型ハッシュ手段(102) カゝら入力された単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成し、 該生成した単位ブロック中間暗号文を、疑似乱数生成手段(104)と、第 2のフェイス テル型ハッシュ手段(106)と、に出力することになる (ステップ A3)。
[0088] 疑似乱数生成手段(104)は、単位ブロック暗号化手段(103)力 入力された単位 ブロック中間暗号文を基に中間乱数を生成し、該生成した中間乱数を加算手段(10 5)に出力する (ステップ A4)。
[0089] 加算手段(105)は、疑似乱数生成手段(104)から入力された中間乱数と、第 1の フェイステル型ハッシュ手段(102)力 入力された PBブロックと、の加算処理を行い 、該加算処理を行った加算値を第 2のフェイステル型ハッシュ手段(102)に出力する ことになる(ステップ A5)。
[0090] 第 2のフェイステル型ハッシュ手段(106)は、加算手段(105)から入力された中間 乱数と、 PBブロックと、の加算値を、ハッシュ関数に代入し、加算値のハッシュ値 H2 の計算を行う(ステップ A6)。
[0091] 次に、第 2のフェイステル型ハッシュ手段(106)は、上記計算したハッシュ値 H2と、 単位ブロック暗号化手段(103)力 入力された単位ブロック中間暗号文と、の加算処 理を行い、暗号文を生成し (ステップ A7)、該生成した暗号文を暗号文出力手段(10 7)に出力することになる。暗号文出力手段(107)は、第 2のフェイステル型ハッシュ 手段(106)から入力された暗号文を出力することになる (ステップ A8)。
[0092] このように、第 1の実施形態における共通鍵ブロック暗号化装置は、暗号化される 平文を入力し、該入力された平文を PAブロックと、 PBブロックと、に分割し、該分割 した PBブロックをハッシュ関数により圧縮し、該圧縮した PBブロック(H (PB) )と、 PA ブロック (PA)と、を加算し、単位ブロック中間文を生成することになる(PA + H (PB) ) oそして、上記処理により生成した単位ブロック中間文 (PA+H (PB)に暗号化を施 し、単位ブロック中間暗号文を生成し、該生成した単位ブロック中間暗号文を基に中 間乱数を生成することになる。次に、上記生成した中間乱数と、 PBブロックと、を加算 し、加算結果を算出することになる。そして、その算出した加算結果をハッシュ関数に より圧縮し、該圧縮した加算結果と、単位ブロック中間暗号文と、を加算した第 2の加 算結果を算出し、その算出した第 2の加算結果と、加算結果と、を基に暗号文を出力 すること〖こなる。
[0093] これにより、本実施形態における共通鍵ブロック暗号化装置は、選択平文 Z暗号文 攻撃に安全な暗号部品と、既知平文攻撃に安全な暗号部品と、を組み合わせ、高速 で安全なブロック暗号を大き 、ブロックサイズに対して実現することが可能となる。本 実施形態における共通鍵ブロック暗号化装置は、 1ブロックの暗号化につき選択平 文 Z暗号文攻撃に安全な暗号部品の呼び出し回数は、ブロックサイズに関わらず 2 回で済むことになるため、大きいブロックサイズでは暗号ィ匕のスループットは、既知平 文攻撃に安全な暗号部品のスループットにほぼ一致することになる。既知平文攻撃 は、選択平文 Z暗号文攻撃よりも弱いクラスの攻撃であるため、既知平文攻撃に安 全な暗号部品は一般に選択平文 Z暗号文攻撃に安全な暗号部品よりも高速に動作 することになる。従って、選択平文 Z暗号文攻撃に安全な暗号部品のみを用いた暗 号運用モードよりも高速なブロック暗号を構築できることが可能となる。 [0094] なお、上記実施形態は、第 1のフェイステル型ハッシュ手段(102)力 平文入力手 段(101)力も入力された平文を、 PAブロックと、 PBブロックと、に分割することとした 力 平文入力手段(101)において平文を、 PAブロックと、 PBブロックと、に分割し、 該分割した PAブロックと、 PBブロックと、を第 1のフェイステル型ハッシュ手段(102) に出力することも可能である。
[0095] (第 2の実施形態)
次に、第 2の実施形態について説明する。
第 2の実施形態における共通鍵ブロック暗号化装置は、暗号化される平文を入力 する平文入力手段(201)と、平文を、 PAブロックと、 PBブロックと、に分割し、該分 割した PBブロックをハッシュ関数により圧縮し、該圧縮した PBブロックと PAブロックと 、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、 PBブロッ クと、を出力する第 1のフェイステル型ハッシュ手段(202)と、単位ブロック中間文を 暗号化し、単位ブロック中間暗号文を生成する単位ブロック暗号化手段(203)と、単 位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成手段 (204)と、中間 乱数と、 PBブロックと、を加算し、加算結果を出力する加算手段 (205)と、加算結果 と、単位ブロック中間暗号文と、を連結し暗号文として出力する暗号文出力手段(20 6)と、を有することを特徴とするものである。以下、図 3、図 4を参照しながら、第 2の 実施形態における共通鍵ブロック暗号化装置について説明する。
[0096] まず、図 3を参照しながら、第 2の実施形態における共通鍵ブロック暗号化装置の 構成について説明する。なお、図 3は、第 2の実施形態における共通鍵ブロック暗号 化装置の構成を示すブロック図である。
[0097] 第 2の実施形態における共通鍵ブロック暗号化装置は、平文入力手段(201)と、 第 1のフェイステル型ハッシュ手段(202)と、単位ブロック暗号化手段(203)と、擬似 乱数生成手段 (204)と、加算手段 (205)と、暗号文出力手段 (206)と、を有して構 成される。
[0098] なお、第 2の実施形態における共通鍵ブロック暗号化装置は、第 1の実施形態と同 様に、 CPUとメモリとディスクとにより実現することは可能である。共通鍵ブロック暗号 化装置の各手段は、上記各手段を実行するためのプログラムをディスクに格納し、該 格納したプログラムを CPUが実行することで実現することになる。
[0099] 次に、第 2の実施形態における共通鍵ブロック暗号化装置を構成する各手段につ いて説明する。なお、第 2の実施形態における共通鍵ブロック暗号化装置を構成する 平文入力手段(201)と、第 1のフェイステル型ハッシュ手段(202)と、単位ブロック暗 号化手段(203)と、加算手段(205)と、は、第 1の実施形態における共通鍵ブロック 暗号化装置を構成する各手段(101、 102、 103、 105、)と同様の機能にて構成さ れる。ただし、単位ブロック暗号化手段(203)は、選択平文攻撃に安全であれば十 分である。
[0100] <疑似乱数生成手段 204 >
第 2の実施形態における擬似乱数生成手段(204)は、単位ブロック中間暗号文を 基に、中間乱数を生成するものであり、第 2の実施形態における擬似乱数生成手段(
204)は、既知平文攻撃に安全であることが求められる。
[0101] 即ち、第 2の実施形態における疑似乱数生成手段(204)は、ランダムな単位ブロッ ク中間暗号文を基に、中間乱数を生成した際に、該生成した中間乱数と、真の乱数 と、の判別が困難となれば十分であり、単位ブロック中間暗号文を攻撃者が任意に選 択できるもとでの安全性 (選択平文攻撃への安全性)は必要としな ヽ。
[0102] <暗号文出力手段 206 >
暗号文出力手段 (206)は、加算手段(105)から出力された値と、単位ブロック暗号 化手段(103)から出力される単位ブロック中間暗号文と、を連結し、暗号文として出 力すること〖こなる。
[0103] (共通鍵ブロック暗号ィ匕装置における動作の説明)
次に、図 4を参照しながら、第 2の実施形態における共通鍵ブロック暗号化装置の 処理動作につ!、て説明する。
[0104] まず、平文入力手段(201)は、暗号化される平文 (PAブロック、 PBブロック)を第 1 のフェイステル型ハッシュ手段(202)に入力することになる(ステップ Bl)。
[0105] 次に、第 1のフェイステル型ハッシュ手段(202)は、平文入力手段(201)から入力 された平文(PAブロック、 PBブロック)を P Aブロックと、 PBブロックと、に分割し、該分 割した PBブロックをハッシュ関数により圧縮し、該圧縮した PBブロック (H (PB) )と、 P Aブロック(PA)と、を加算し (PA + H (PB) )、単位ブロック中間文を作成し、該作成 した単位ブロック中間文を単位ブロック暗号ィ匕手段(203)に出力することになる (ステ ップ B2)。また、第 1のフェイステル型ハッシュ手段(202)は、平文入力手段(201) 力も入力された平文 (PBブロック)を加算手段(205)に出力することになる。
[0106] 次に、単位ブロック暗号化手段(203)は、第 1のフェイステル型ハッシュ手段(202) カゝら入力された単位ブロック中間文を暗号化し、単位ブロック中間暗号文を作成し、 該作成した単位ブロック中間暗号文を出力することになる (ステップ B3)。
[0107] 次に、擬似乱数生成手段(204)は、単位ブロック暗号化手段(203)から入力され た単位ブロック中間暗号文を基に中間乱数を作成し、該作成した中間乱数を加算手 段(205)に出力することになる (ステップ B4)。
[0108] 次に、加算手段 (205)は、疑似乱数生成手段 (204)から入力された中間乱数と、 第 1のフェイステル型ハッシュ手段(202)力 入力された平文の PBブロックと、の加 算処理を行い、加算結果を暗号文出力手段(206)に出力することになる (ステップ B 5)。
[0109] 暗号文出力手段(206)は、単位ブロック暗号化手段(203)から入力された単位ブ ロック中間暗号文と、加算手段 (205)から入力された加算結果と、を連結し暗号文と して出力することになる (ステップ B6)。
[0110] このように、第 2の実施形態におけるブロック暗号化装置は、暗号化される平文を入 力し、該入力された平文を PAブロックと、 PBブロックと、に分割し、該分割した PBブ ロックをノヽッシュ関数により圧縮し、該圧縮した PBブロック(H (PB) )と、 PAブロック( PA)と、を加算し、単位ブロック中間文を生成することになる(PA+H (PB) )。そして 、上記処理により生成した単位ブロック中間文 (PA+H (PB)に暗号化を施し、単位 ブロック中間暗号文を生成し、該生成した単位ブロック中間暗号文を基に中間乱数 を生成することになる。次に、上記生成した中間乱数と、 PBブロックと、を加算し、加 算結果を算出することになる。そして、その算出した加算結果と、単位ブロック中間暗 号文と、を連結し暗号文として出力することになる。
[0111] これにより、本実施形態における共通鍵ブロック暗号化装置は、選択平文攻撃に安 全な暗号部品と、既知平文攻撃に安全な暗号部品と、を組み合せ、高速で安全なブ ロック暗号を大き 、ブロックサイズに対して実現することが可能となる。本実施形態に おける共通鍵ブロック暗号化装置は、 1ブロックの暗号化につき選択平文攻撃に安 全な暗号部品の呼び出し回数は、ブロックサイズに関わらず 1回で済むことになるた め、大きいブロックサイズでは暗号ィ匕のスループットは、既知平文攻撃に安全な暗号 部品のスループットにほぼ一致することになる。既知平文攻撃は、選択平文攻撃より も弱いクラスの攻撃であるため、既知平文攻撃に安全な暗号部品は一般に選択平文 攻撃に安全な暗号部品よりも高速に動作することになる。従って、選択平文攻撃に安 全な暗号部品のみを用いた暗号運用モードよりも高速なブロック暗号を構築できるこ とが可能となる。
[0112] なお、上記実施形態は、第 1のフェイステル型ハッシュ手段(202)力 平文入力手 段(201)力も入力された平文を、 PAブロックと、 PBブロックと、に分割することとした 力 平文入力手段(201)において平文を、 PAブロックと、 PBブロックと、に分割し、 該分割した PAブロックと、 PBブロックと、を第 1のフェイステル型ハッシュ手段(202) に出力することも可能である。
[0113] (第 3の実施形態)
次に、第 3の実施形態について説明する。
[0114] 第 3の実施形態における共通鍵ブロック暗号化装置は、第 1の実施形態における共 通鍵ブロック暗号ィ匕装置において、単位ブロック暗号ィ匕手段(103)力 ブロック暗号 を用 ヽて単位ブロック中間平文を単位ブロック中間暗号文に変換し、擬似乱数生成 手段(104)が、ブロック暗号と、ブロック暗号を簡略化して得られる簡易ブロック暗号 と、による順序つきツリーモードに単位ブロック中間暗号文を入力して得られる複数 ブロックの暗号文を連結して中間乱数とすることを特徴とするものである。以下、第 3 の実施形態における共通鍵ブロック暗号化装置について説明する。なお、第 3の実 施形態における共通鍵ブロック暗号化装置は、図 1に示す第 1の実施形態における 共通鍵ブロック暗号ィ匕装置と同様の手段にて構成されることになる。
[0115] 次に、図 5を参照しながら、第 3の実施形態における共通鍵ブロック暗号化装置の 疑似乱数生成手段(104)における処理動作について説明する。なお、図 5は、本実 施形態における擬似乱数生成手段(104)の処理動作を示すフロチャートを示す。 [0116] なお、ブロック暗号を PIとし、このブロック暗号 P1の段数を削減したり、内部関数の 一部を簡素化したりすることで得られる簡略ィ匕バージョンの簡易ブロック暗号を P2と する。例えば、ブロック暗号 P1を非特許文献 5に開示されている AESとし、簡易プロ ック暗号 P2を AESの 7段バージョンとすることで本実施形態における共通鍵ブロック 暗号ィ匕装置を実現することが可能となる。
[0117] 第 3の実施形態における擬似乱数生成手段(104)は、まず、ブロック暗号 P1の鍵 と、 t (tは、任意の正の整数)個の簡易ブロック暗号 P2の鍵と、を生成する (ステップ C D o次に、疑似乱数生成手段(104)は、単位ブロック暗号ィ匕手段(103)から入力さ れた単位ブロック中間暗号文をブロック暗号 P1により暗号化する(ステップ C2)。
[0118] 次に、疑似乱数生成手段(104)は、上記ステップ C2において暗号ィ匕した単位プロ ック中間暗号文を更に異なる t個の鍵による簡易ブロック暗号 P2の、高々 r(rは、 t以 下の正の整数)回のあらゆるカスケードの集合 Dを作成し (ステップ C3)、該作成した 集合 Dの各要素に対し、上記ステップ C2において暗号ィ匕した単位ブロック中間暗号 文を入力し、出力結果を算出することになる (ステップ C4)。
[0119] このとき、集合 Dの要素のうち、語頭が等しい 2つのカスケードについては、一方の 出力結果を利用して他方の出力結果を算出することになる。そして、最後に、それら の要素の出力結果を連結することになる (ステップ C5)。なお、上述したブロック暗号 P1と、簡易ブロック暗号 P2と、のモードを、順序付きツリーモードと呼ぶ。
[0120] なお、図 6は、 t= 3、 r= 3とした場合の擬似乱数生成手段(104)のブロック図であ る。 rを 1とした場合、上述した (式 1)の方式と一致することになる。順序付きツリーモ ードの出力ブロック数を nとすると、(式 1)の方式 (即ち、 r= lの時)では、鍵の長さは nの線形オーダになるのに対して、 r=tとすれば、鍵の長さは nのログオーダになる。 なお、 rを増加させることで、鍵の数あたりの生成できる出力結果の長さが増えること になるが、暗号の安全性がその分低下することになる。
[0121] このように、第 3の実施形態における共通鍵ブロック暗号化装置は、単位ブロック暗 号化手段(103) 1S ブロック暗号を用いて単位ブロック中間平文を単位ブロック中間 暗号文に変換し、擬似乱数生成手段(104)が、ブロック暗号と、ブロック暗号を簡略 化して得られる簡易ブロック暗号と、による順序つきツリーモードに単位ブロック中間 暗号文を入力して得られる複数ブロックの暗号文を連結して中間乱数とすることで、 鍵の長さは順序付きツリーモードの出力ブロック数のログオーダまで短くできるため、 鍵スケジューリングの時間を削減し、暗号文を出力するまでのオーバーヘッドの時間 を短縮することが可能となる。
[0122] 即ち、ブロック暗号の鍵は、通常マスター鍵を用いた鍵スケジューリングにより生成 されることになるが、この鍵が短いということは、それを生成するためのマスター鍵を用 いた鍵スケジューリングの時間も短縮することが可能となるためである。
[0123] (第 4の実施形態)
次に、第 4の実施形態について説明する。
第 4の実施形態における共通鍵ブロック暗号化装置は、第 3の実施形態における共 通鍵ブロック暗号化装置の具備する擬似乱数生成手段(104)が、上述した (式 1 ' ) に記載の PRTモード、もしくは ERTモード、もしくは順序つきツリーモードと PRTモー ドと ERTモードとの組み合わせによるモードを基に、中間乱数の生成を行うことを特 徴とするちのである。
[0124] ここで、 ERTモードとは、上述した(式 1')に記載の PRTモードを以下の(式 1")の ように拡張して得られるモードである。
[0125] (...(G— [1,1]AG— [2,3])AG— [3,9 "G— [(1,3飞(1- 1)])(Υ) · · · (式 1")
ただし、 Υは単位ブロック中間暗号文であり、△は 2つの関数 Fと Gとについて、 G(x) = (F(x), G(x, F(x)》という合成を行う演算子である。
[0126] ここで、 Gの入力幅は Fの出力幅と全体の入力 Xの幅との和である。上記(式 1")に おいて Yが P1による暗号文である場合を拡張 PRT (Extended PRT, ERT)モードと呼 ぶ。 ERTモードは、 PRTモードよりも鍵長が少なくて済むという特徴がある。具体的 には、拡大率が大きい場合、 ERTモードは PRTモードの鍵長の約 60%の鍵長を必 要とする。なお、図 7に、 P2の鍵を 4つ使用した場合の ERTモードの例を示す。
[0127] また、疑似乱数生成手段(104)は、 PRTと ERTと順序付きツリーモードとの 、ずれ かを組み合わせて使用することも可能である。例えば、 i=l,2,…について G_[i]を 2つの 鍵による順序付きツリーモードとすると、これは 1ブロック入力 4ブロック出力となり、こ れを ERTモードと組み合わせると以下の(式 2")のようになる。 [0128] (...(G— [1,1]AG— [2,5])AG— [3,25 "G— [c d- 1)])(Υ) · · · (式 2")
[0129] この組み合わせによるモードは、拡大率が大き!/、場合、 PRTモードの鍵長の約 30 %の鍵長を必要とする。順序付きツリーモードは鍵長の点では PRTモードや ERTモ ードを上回る最良のモードである力 大きい拡大率のときにプログラムサイズが大きく なるなど、実装上の不利が生じる。し力しこのような組み合わせにより、上記 (式 1")に 記載の基本的な ERTモードよりもさらに鍵長の点で効率の良いモードを、プログラム の極端な複雑ィ匕を避けつつ実現することが可能である。この他にも様々な組み合わ せのパターンが考えられ、それぞれのパターンにより、必要とする鍵長や実装の容易 性は変化することになる。
[0130] (第 5の実施形態)
次に、第 5の実施形態について説明する。
第 5の実施形態における共通鍵ブロック暗号化装置は、第 1の実施形態における共 通鍵ブロック暗号化装置の具備する擬似乱数生成手段(104) i 単一のブロック暗 号による上記 (式 2)の修正カウンターモードを基に、中間乱数の生成を行うことを特 徴とするちのである。
[0131] このように、疑似乱数生成手段(104)が、単一のブロック暗号による上記 (式 2)の 修正カウンターモードを基に、中間乱数の生成を行うことで、鍵の簡素化を図ることが 可能となる。
[0132] (第 6の実施形態)
次に、第 6の実施形態について説明する。
第 6の実施形態における共通鍵ブロック暗号化装置は、第 1の実施形態における共 通鍵ブロック暗号化装置の具備する擬似乱数生成手段(104) i 単一のブロック暗 号による上記 (式 3)の修正 OFBモードを基に、中間乱数の生成を行うことを特徴とす るものである。
[0133] このように、擬似乱数生成手段(104)が、単一のブロック暗号による上記 (式 3)の 修正 OFBモードを基に、中間乱数の生成を行うことで、鍵の簡素化を図ることが可能 となる。
[0134] (第 7の実施形態) 次に、第 7の実施形態について説明する。
第 7の実施形態における共通鍵ブロック暗号化装置は、第 2の実施形態における共 通鍵ブロック暗号化装置の具備する単位ブロック暗号化手段(203) ブロック暗号 を用 ヽて単位ブロック中間平文を単位ブロック中間暗号文に変換し、擬似乱数生成 手段(204)が、ブロック暗号と、ブロック暗号を簡略化して得られる簡易ブロック暗号 と、による順序つきツリーモードの最初の暗号ィ匕処理を省略したモードに、単位ブロッ ク中間暗号文を入力することで得られる複数の暗号文を連結して中間乱数とすること を特徴とするものである。以下、第 7の実施形態における共通鍵ブロック暗号化装置 について説明する。
[0135] 第 7の実施形態における共通鍵ブロック暗号化装置は、第 2の実施形態における共 通鍵ブロック暗号ィ匕装置の具備する擬似乱数生成手段 (204)が、単位ブロック中間 暗号文を、図 5に示す順序付きツリーモードからブロック暗号 P1による暗号化(図 5ス テツプ C2)を省略したモードに入力し、中間乱数の生成を行うことを特徴とするもので ある。
[0136] このように、第 7の実施形態における共通鍵ブロック暗号化装置は、単位ブロック暗 号化手段(203) 1S ブロック暗号を用いて単位ブロック中間平文を単位ブロック中間 暗号文に変換し、擬似乱数生成手段(204)が、ブロック暗号と、ブロック暗号を簡略 化して得られる簡易ブロック暗号と、による順序つきツリーモードの最初の暗号ィ匕処 理を省略したモードに、単位ブロック中間暗号文を入力することで得られる複数の暗 号文を連結して中間乱数を生成することで、鍵の長さは順序付きツリーモードの出力 ブロック数のログオーダまで短くできるため、鍵スケジューリングの時間を削減し、暗 号文を出力するまでのオーバーヘッドの時間を短縮することが可能となる。
[0137] 即ち、ブロック暗号の鍵は、通常マスター鍵を用いた鍵スケジューリングにより生成 されることになるが、この鍵が短いということは、それを生成するためのマスター鍵を用 いた鍵スケジューリングの時間も短縮することが可能となるためである。
[0138] (第 8の実施形態)
次に、第 8の実施形態について説明する。
第 8の実施形態における共通鍵ブロック暗号化装置は、第 7の実施形態における共 通鍵ブロック暗号化装置の具備する擬似乱数生成手段(204)が、ブロック暗号と、ブ ロック暗号を簡略ィ匕して得られる簡易ブロック暗号と、による上述した (式 1 ' )に記載 の PRTモード、もしくは上述した (式 1")に記載の ERTモード、もしくは、上述した (式 2")に記載されたモードのように、順序つきツリーモードと PRTモードと ERTモードと の組み合わせによるモードから、最初のブロック暗号 P1による暗号化処理を省略し たモードに、単位ブロック中間暗号文を入力することで得られる複数の暗号文を連結 して中間乱数とすることを特徴とするものである。
[0139] (第 9の実施形態)
次に、第 9の実施形態について説明する。
第 9の実施形態における共通鍵ブロック暗号化装置は、第 2の実施形態における共 通鍵ブロック暗号化装置の具備する擬似乱数生成手段(204) i 単一のブロック暗 号による上記(式 2)の修正カウンターモードの、入力に対して最初に行われる暗号 化のみを省略したモードを用いて、中間乱数の生成を行うことを特徴とするものであ る。
[0140] このように、擬似乱数生成手段(204)力 単一のブロック暗号による上記 (式 2)の 修正カウンターモードの、入力に対して最初に行われる暗号ィ匕のみを省略したモー ドを用いて、中間乱数の生成を行うことで、鍵の簡素化を図ることが可能となる。
[0141] (第 10の実施形態)
次に、第 10の実施形態について説明する。
第 10の実施形態における共通鍵ブロック暗号化装置は、第 2の実施形態における 共通鍵ブロック暗号化装置の具備する擬似乱数生成手段(204)が、単一のブロック 暗号による上記(式 3)の修正 OFBモードの、入力に対して最初に行われる暗号化の みを省略したモードを用いて、中間乱数の生成を行うことを特徴とするものである。
[0142] このように、擬似乱数生成手段(204)力 単一のブロック暗号による上記 (式 3)の 修正 OFBモードの、入力に対して最初に行われる暗号ィ匕のみを省略したモードを用 いて、中間乱数の生成を行うことで、鍵の簡素化を図ることが可能となる。
[0143] (第 11の実施形態)
次に、第 11の実施形態について説明する。 第 11の実施形態における共通鍵ブロック暗号化装置は、第 1、第 2の実施形態に おける共通鍵ブロック暗号化装置の具備する擬似乱数生成手段(104、 204)が、初 期ベクトルと呼ばれる付カ卩的な値を鍵ストリーム生成のための入力として受け入れる ストリーム暗号を用いて、単位ブロック中間暗号文を入力として生成した鍵ストリーム を中間乱数として出力することを特徴とするものである。
[0144] このようなストリーム暗号は、例えば、非特許文献 6に開示されているストリーム暗号 SEALにより実現することが可能となる。また、ブロック暗号で単位ブロック中間暗号 文を暗号化し、該暗号ィ匕した結果を、初期ベクトルを入力として受け付けるストリーム 暗号に入力することでも実現することは可能となる。
[0145] このように、第 1と第 2の実施形態の共通鍵ブロック暗号化装置において、単位プロ ック暗号化手段(103、 203)力 ブロック暗号を用いて単位ブロック中間平文を単位 ブロック中間暗号文に変換し、擬似乱数生成手段(104、 204)が、初期ベクトルを付 加的な入力として受け付けるストリーム暗号に、該単位ブロック中間暗号文を初期べ タトルとして入力して得られる鍵ストリームを中間乱数として生成することで、鍵の簡素 化を図ることが可能となる。
[0146] なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみ に本発明の範囲を限定するものではなぐ本発明の要旨を逸脱しない範囲において 種々の変更を施した形態での実施が可能である。例えば、上記各実施形態の共通 鍵ブロック暗号ィ匕装置における処理動作は、コンピュータプログラムにより実行するこ とも可能であり、また、上記のプログラムは、光記録媒体、磁気記録媒体、光磁気記 録媒体、または半導体等の記録媒体に記録し、その記録媒体力 プログラムを情報 処理装置に読み込ませることで、上述した処理動作を情報処理装置にぉ 、て実行さ せることも可能である。また、所定のネットワークを介して接続されている外部機器か らプログラムを情報処理装置に読み込ませることで、上述した処理動作を情報処理 装置において実行させることも可能である。
産業上の利用可能性
[0147] 本発明にカゝかる共通鍵ブロック暗号ィ匕装置、共通鍵ブロック暗号化方法及び共通 鍵ブロック暗号ィ匕プログラムは、 2者間で暗号ィ匕通信を行うシステムや、映画や音楽 などのコンテンツを安全に配信するシステム、また、コンピュータサーバ上のデータを 安全に運用するためのファイル暗号ィ匕の用途に適用可能である。

Claims

請求の範囲
[1] 暗号化される平文を、第 1のブロックと、第 2のブロックと、に分割し、該分割した第 1 のブロックをハッシュ関数により圧縮し、該圧縮した第 1のブロックと、前記第 2のプロ ックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、前 記第 1のブロックと、を出力する第 1のフェイステル型ハッシュ手段と、
前記単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位プロ ック暗号化手段と、
前記単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成手段と、 前記中間乱数と、前記第 1のブロックと、を加算し、加算結果を出力する加算手段と 、 前記加算結果をハッシュ関数により圧縮し、該圧縮した加算結果と、前記単位ブ ロック中間暗号文と、を加算し、第 2の加算結果を生成し、該生成した第 2の加算結 果と、前記加算結果と、を合わせた出力結果を出力する第 2のフェイステル型ハツシ ュ手段と、
前記出力結果を暗号文として出力する暗号文出力手段と、
を有することを特徴とする共通鍵ブロック暗号ィ匕装置。
[2] 暗号化される平文を、第 1のブロックと、第 2のブロックと、に分割し、該分割した第 1 のブロックをハッシュ関数により圧縮し、該圧縮した第 1のブロックと、前記第 2のプロ ックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、前 記第 1のブロックと、を出力する第 1のフェイステル型ハッシュ手段と、
前記単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位プロ ック暗号化手段と、
前記単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成手段と、 前記中間乱数と、前記第 1のブロックと、を加算し、加算結果を出力する加算手段と
、 前記加算結果と、前記単位ブロック中間暗号文と、を連結し暗号文として出力す る暗号文出力手段と、
を有することを特徴とする共通鍵ブロック暗号ィ匕装置。
[3] 前記単位ブロック暗号化手段は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、 前記疑似乱数生成手段は、前記ブロック暗号と、前記ブロック暗号を簡略化して得 られる簡易ブロック暗号と、による順序つきツリーモードに対し、前記単位ブロック中 間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成 することを特徴とする請求項 1記載の共通鍵ブロック暗号化装置。
[4] 前記単位ブロック暗号化手段は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成手段は、前記ブロック暗号と、前記ブロック暗号を簡略化して得 られる簡易ブロック暗号と、による PRTモード、もしくは ERTモード、もしくは順序つき ツリーモードと PRTモードと ERTモードとの組み合わせによるモードに対し、前記単 位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中 間乱数を生成することを特徴とする請求項 1記載の共通鍵ブロック暗号化装置。
[5] 前記単位ブロック暗号化手段は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成手段は、前記ブロック暗号による修正カウンターモードに、前記 単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記 中間乱数を生成することを特徴とする請求項 1記載の共通鍵ブロック暗号化装置。
[6] 前記単位ブロック暗号化手段は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成手段は、前記ブロック暗号による修正 OFBモードに、前記単位 ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間 乱数を生成することを特徴とする請求項 1記載の共通鍵ブロック暗号化装置。
[7] 前記単位ブロック暗号化手段は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成手段は、前記ブロック暗号と、前記ブロック暗号を簡略化して得 られる簡易ブロック暗号と、による順序つきツリーモードの最初の暗号化処理を省略 したモードに、前記単位ブロック中間暗号文を入力することで得られる複数の暗号文 を連結して前記中間乱数を生成することを特徴とする請求項 2記載の共通鍵ブロック 暗号化装置。
[8] 前記単位ブロック暗号化手段は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成手段は、前記ブロック暗号と、前記ブロック暗号を簡略化して得 られる簡易ブロック暗号と、による PRTモード、もしくは ERTモード、もしくは順序つき ツリーモードと PRTモードと ERTモードとの組み合わせによるモードの最初の暗号化 処理を省略したモードに、前記単位ブロック中間暗号文を入力することで得られる複 数の暗号文を連結して前記中間乱数を生成することを特徴とする請求項 2記載の共 通鍵ブロック暗号化装置。
[9] 前記単位ブロック暗号化手段は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成手段は、前記ブロック暗号による修正カウンターモードの最初の 暗号化処理を省いたモードに、前記単位ブロック中間暗号文を入力して得られる複 数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項 2記 載の共通鍵ブロック暗号化装置。
[10] 前記単位ブロック暗号化手段は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成手段は、前記ブロック暗号による修正 OFBモードの最初の暗号 化処理を省いたモードに、前記単位ブロック中間暗号文を入力して得られる複数ブ ロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項 2記載の 共通鍵ブロック暗号化装置。
[11] 前記単位ブロック暗号化手段は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成手段は、初期ベクトルを付加的な入力として受け付けるストリー ム暗号へ、前記単位ブロック中間暗号文を初期ベクトルとして入力し、前記中間乱数 を生成することを特徴とする請求項 1または 2記載の共通鍵ブロック暗号ィ匕装置。
[12] 情報処理装置にお!、て行う共通鍵ブロック暗号ィ匕方法であって、
暗号化される平文を、第 1のブロックと、第 2のブロックと、に分割し、該分割した第 1 のブロックをハッシュ関数により圧縮し、該圧縮した第 1のブロックと、前記第 2のプロ ックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、前 記第 1のブロックと、を出力する第 1のフェイステル型ハッシュ工程と、
前記単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位プロ ック暗号化工程と、
前記単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成工程と、 前記中間乱数と、前記第 1のブロックと、を加算し、加算結果を出力する加算工程と
、 前記加算結果をハッシュ関数により圧縮し、該圧縮した加算結果と、前記単位ブ ロック中間暗号文と、を加算し、第 2の加算結果を生成し、該生成した第 2の加算結 果と、前記加算結果と、を出力する第 2のフェイステル型ハッシュ工程と、
前記第 2の加算結果と、前記加算結果と、を基に暗号文として出力する暗号文出力 工程と、
を、前記情報処理装置が行うことを特徴とする共通鍵ブロック暗号ィ匕方法。
[13] 情報処理装置にお!、て行う共通鍵ブロック暗号ィ匕方法であって、
暗号化される平文を、第 1のブロックと、第 2のブロックと、に分割し、該分割した第 1 のブロックをハッシュ関数により圧縮し、該圧縮した第 1のブロックと、前記第 2のプロ ックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、前 記第 1のブロックと、を出力する第 1のフェイステル型ハッシュ工程と、
前記単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位プロ ック暗号化工程と、
前記単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成工程と、 前記中間乱数と、前記第 1のブロックと、を加算し、加算結果を出力する加算工程と 、 前記加算結果と、前記単位ブロック中間暗号文と、を連結し暗号文として出力す る暗号文出力工程と、
を、前記情報処理装置が行うことを特徴とする共通鍵ブロック暗号ィ匕方法。
[14] 前記単位ブロック暗号化工程は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成工程は、前記ブロック暗号と、前記ブロック暗号を簡略化して得 られる簡易ブロック暗号と、による順序つきツリーモードに対し、前記単位ブロック中 間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成 することを特徴とする請求項 12記載の共通鍵ブロック暗号ィ匕方法。
[15] 前記単位ブロック暗号化工程は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成工程は、前記ブロック暗号と、前記ブロック暗号を簡略化して得 られる簡易ブロック暗号と、による PRTモード、もしくは ERTモード、もしくは順序つき ツリーモードと PRTモードと ERTモードとの組み合わせによるモードに対し、前記単 位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中 間乱数を生成することを特徴とする請求項 12記載の共通鍵ブロック暗号ィ匕方法。
[16] 前記単位ブロック暗号化工程は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成工程は、前記ブロック暗号による修正カウンターモードに、前記 単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記 中間乱数を生成することを特徴とする請求項 12記載の共通鍵ブロック暗号ィ匕方法。
[17] 前記単位ブロック暗号化工程は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成工程は、前記ブロック暗号による修正 OFBモードに、前記単位 ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間 乱数を生成することを特徴とする請求項 12記載の共通鍵ブロック暗号ィ匕方法。
[18] 前記単位ブロック暗号化工程は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成工程は、前記ブロック暗号と、前記ブロック暗号を簡略化して得 られる簡易ブロック暗号と、による順序つきツリーモードの最初の暗号化処理を省略 したモードに、前記単位ブロック中間暗号文を入力することで得られる複数の暗号文 を連結して前記中間乱数を生成することを特徴とする請求項 13記載の共通鍵ブロッ ク暗号化方法。
[19] 前記単位ブロック暗号化工程は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、 前記疑似乱数生成工程は、前記ブロック暗号と、前記ブロック暗号を簡略化して得 られる簡易ブロック暗号と、による PRTモード、もしくは ERTモード、もしくは順序つき ツリーモードと PRTモードと ERTモードとの組み合わせによるモードの最初の暗号化 処理を省略したモードに、前記単位ブロック中間暗号文を入力することで得られる複 数の暗号文を連結して前記中間乱数を生成することを特徴とする請求項 13記載の 共通鍵ブロック暗号化方法。
[20] 前記単位ブロック暗号化工程は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成工程は、前記ブロック暗号による修正カウンターモードの最初の 暗号化処理を省いたモードに、前記単位ブロック中間暗号文を入力して得られる複 数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項 13 記載の共通鍵ブロック暗号化方法。
[21] 前記単位ブロック暗号化工程は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成工程は、前記ブロック暗号による修正 OFBモードの最初の暗号 化処理を省いたモードに、前記単位ブロック中間暗号文を入力して得られる複数ブ ロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項 13記載 の共通鍵ブロック暗号化方法。
[22] 前記単位ブロック暗号化工程は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成工程は、初期ベクトルを付加的な入力として受け付けるストリー ム暗号へ、前記単位ブロック中間暗号文を初期ベクトルとして入力し、前記中間乱数 を生成することを特徴とする請求項 12または 13記載の共通鍵ブロック暗号ィ匕方法。
[23] 情報処理装置にお!、て実行させる共通鍵ブロック暗号ィ匕プログラムであって、 暗号化される平文を、第 1のブロックと、第 2のブロックと、に分割し、該分割した第 1 のブロックをハッシュ関数により圧縮し、該圧縮した第 1のブロックと、前記第 2のプロ ックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、前 記第 1のブロックと、を出力する第 1のフェイステル型ハッシュ処理と、 前記単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位プロ ック暗号化処理と、
前記単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成処理と、 前記中間乱数と、前記第 1のブロックと、を加算し、加算結果を出力する加算処理と
、 前記加算結果をハッシュ関数により圧縮し、該圧縮した加算結果と、前記単位ブ ロック中間暗号文と、を加算し、第 2の加算結果を生成し、該生成した第 2の加算結 果と、前記加算結果と、を出力する第 2のフェイステル型ハッシュ処理と、
前記第 2の加算結果と、前記加算結果と、を基に暗号文として出力する暗号文出力 処理と、
を、前記情報処理装置にぉ 、て実行させることを特徴とする共通鍵ブロック暗号ィ匕 プログラム。
[24] 情報処理装置にお!、て実行させる共通鍵ブロック暗号ィ匕プログラムであって、 暗号化される平文を、第 1のブロックと、第 2のブロックと、に分割し、該分割した第 1 のブロックをハッシュ関数により圧縮し、該圧縮した第 1のブロックと、前記第 2のプロ ックと、を加算し単位ブロック中間文を生成し、該生成した単位ブロック中間文と、前 記第 1のブロックと、を出力する第 1のフェイステル型ハッシュ処理と、
前記単位ブロック中間文を暗号化し、単位ブロック中間暗号文を生成する単位プロ ック暗号化処理と、
前記単位ブロック中間暗号文を基に中間乱数を生成する擬似乱数生成処理と、 前記中間乱数と、前記第 1のブロックと、を加算し、加算結果を出力する加算処理と
、 前記加算結果と、前記単位ブロック中間暗号文と、を連結し暗号文として出力す る暗号文出力処理と、
を、前記情報処理装置にぉ 、て実行させることを特徴とする共通鍵ブロック暗号ィ匕 プログラム。
[25] 前記単位ブロック暗号化処理は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成処理は、前記ブロック暗号と、前記ブロック暗号を簡略化して得 られる簡易ブロック暗号と、による順序つきツリーモードに対し、前記単位ブロック中 間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間乱数を生成 することを特徴とする請求項 23記載の共通鍵ブロック暗号ィ匕プログラム。
[26] 前記単位ブロック暗号化処理は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成処理は、前記ブロック暗号と、前記ブロック暗号を簡略化して得 られる簡易ブロック暗号と、による PRTモード、もしくは ERTモード、もしくは順序つき ツリーモード、もしくは順序つきツリーモードと PRTモードと ERTモードとの組み合わ せによるモードに対し、前記単位ブロック中間暗号文を入力して得られる複数ブロッ クの暗号文を連結して前記中間乱数を生成することを特徴とする請求項 23記載の共 通鍵ブロック暗号化プログラム。
[27] 前記単位ブロック暗号化処理は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成処理は、前記ブロック暗号による修正カウンターモードに、前記 単位ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記 中間乱数を生成することを特徴とする請求項 23記載の共通鍵ブロック暗号ィ匕プログ ラム。
[28] 前記単位ブロック暗号化処理は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成処理は、前記ブロック暗号による修正 OFBモードに、前記単位 ブロック中間暗号文を入力して得られる複数ブロックの暗号文を連結して前記中間 乱数を生成することを特徴とする請求項 23記載の共通鍵ブロック暗号ィ匕プログラム。
[29] 前記単位ブロック暗号化処理は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成処理は、前記ブロック暗号と、前記ブロック暗号を簡略化して得 られる簡易ブロック暗号と、による順序つきツリーモードの最初の暗号化処理を省略 したモードに、前記単位ブロック中間暗号文を入力することで得られる複数の暗号文 を連結して前記中間乱数を生成することを特徴とする請求項 24記載の共通鍵ブロッ ク暗号化プログラム。
[30] 前記単位ブロック暗号化処理は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成処理は、前記ブロック暗号と、前記ブロック暗号を簡略化して得 られる簡易ブロック暗号と、による PRTモード、もしくは ERTモード、もしくは順序つき ツリーモードと PRTモードと ERTモードとの組み合わせによるモードの最初の暗号化 処理を省略したモードに、前記単位ブロック中間暗号文を入力することで得られる複 数の暗号文を連結して前記中間乱数を生成することを特徴とする請求項 24記載の 共通鍵ブロック暗号ィ匕プログラム。
[31] 前記単位ブロック暗号化処理は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成処理は、前記ブロック暗号による修正カウンターモードの最初の 暗号化処理を省いたモードに、前記単位ブロック中間暗号文を入力して得られる複 数ブロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項 24 記載の共通鍵ブロック暗号ィ匕プログラム。
[32] 前記単位ブロック暗号化処理は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成処理は、前記ブロック暗号による修正 OFBモードの最初の暗号 化処理を省いたモードに、前記単位ブロック中間暗号文を入力して得られる複数ブ ロックの暗号文を連結して前記中間乱数を生成することを特徴とする請求項 24記載 の共通鍵ブロック暗号化プログラム。
[33] 前記単位ブロック暗号化処理は、ブロック暗号を用いて前記単位ブロック中間文を 暗号化し、前記単位ブロック中間暗号文を生成し、
前記疑似乱数生成処理は、初期ベクトルを付加的な入力として受け付けるストリー ム暗号へ、前記単位ブロック中間暗号文を初期ベクトルとして入力し、前記中間乱数 を生成することを特徴とする請求項 23または 24記載の共通鍵ブロック暗号ィ匕プログ ラム。
[34] 平分入力手段から平文を受けて 2分割するか、又は、前記平分入力手段側で前記 平文を 2分割してなる、第 1及び第 2のブロックに関して、前記第 1のブロックをハツシ ュ関数に入力し第 1のハッシュ値を計算する手段と、前記第 1のハッシュ値と前記第 2 のブロックとを加算し加算結果を単位ブロック中間文として出力する手段と、を含む第 1のフェイステル型ハッシュ手段と、
前記第 1のフェイステル型ハッシュ手段から出力される前記単位ブロック中間文を 受けて暗号ィ匕し、前記暗号化した単位ブロック中間文を単位ブロック中間暗号文とし て出力する単位ブロック暗号ィ匕手段と、
前記単位ブロック暗号化手段から出力される前記単位ブロック中間暗号文を受け、 前記単位ブロック中間暗号文に基づき、中間乱数を生成して出力する擬似乱数生成 手段と、
前記擬似乱数生成手段から出力される前記中間乱数と、前記第 1のフェイステル 型ハッシュ手段のハッシュ関数に入力する前の前記第 1のブロックとを受け、前記中 間乱数と前記第 1のブロックとを加算し加算結果を出力する加算手段と、
前記加算手段から出力される、前記中間乱数と前記第 1のブロックとの加算結果を 受け前記加算結果をハッシュ関数に入力し第 2のハッシュ値を計算する手段と、前記 第 2のノ、ッシュ値と前記単位ブロック暗号ィ匕手段から出力される前記単位ブロック中 間暗号文と受けこれらを加算し加算結果を出力する手段と、前記第 2のハッシュ値と 前記単位ブロック中間暗号文との加算結果と、前記加算手段から出力される、前記 中間乱数と前記第 1のブロックとの加算結果とを加算し加算結果を暗号文として出力 する手段と、を含む第 2のフェイステル型ハッシュ手段と、
前記第 2のフェイステル型ハッシュ手段から出力された暗号文を出力する暗号文出 力手段と、
を含む、ことを特徴とする共通鍵ブロック暗号ィ匕装置。
平分入力手段から平文を受けて 2分割するか、又は、前記平分入力手段側で前記 平文を 2分割してなる、第 1及び第 2のブロックに関して、前記第 1のブロックをハツシ ュ関数に入力し第 1のハッシュ値を計算する手段と、前記第 1のハッシュ値と前記第 2 のブロックとを加算し加算結果を単位ブロック中間文として出力する手段と、を含む第 1のフェイステル型ハッシュ手段と、
前記第 1のフェイステル型ハッシュ手段から出力される前記単位ブロック中間文を 受けて暗号ィ匕し、前記暗号化した単位ブロック中間文を単位ブロック中間暗号文とし て出力する単位ブロック暗号ィ匕手段と、
前記単位ブロック暗号化手段から出力される前記単位ブロック中間暗号文を受け、 前記単位ブロック中間暗号文に基づき、中間乱数を生成して出力する擬似乱数生成 手段と、
前記擬似乱数生成手段から出力される前記中間乱数と、前記第 1のフェイステル 型ハッシュ手段のハッシュ関数に入力する前の前記第 1のブロックとを受け、前記中 間乱数と前記第 1のブロックとを加算し加算結果を出力する加算手段と、
前記加算手段から出力される、前記中間乱数と前記第 1のブロックとの加算結果と
、前記単位ブロック暗号ィヒ手段から出力される前記単位ブロック中間暗号文とを受け 、これらを連結したものを暗号文として出力する暗号文出力手段と、
を含む、ことを特徴とする共通鍵ブロック暗号ィ匕装置。
PCT/JP2005/022773 2004-12-17 2005-12-12 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラム WO2006064763A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006548825A JP4793268B2 (ja) 2004-12-17 2005-12-12 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラム
US11/721,372 US20080253561A1 (en) 2004-12-17 2005-12-12 Common-Key Block Encryption Device Common-Key Block Encryption Method, and Common-Key Block Encryption Program

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004-366363 2004-12-17
JP2004366363 2004-12-17
JP2005-200188 2005-07-08
JP2005200188 2005-07-08

Publications (1)

Publication Number Publication Date
WO2006064763A1 true WO2006064763A1 (ja) 2006-06-22

Family

ID=36587818

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/022773 WO2006064763A1 (ja) 2004-12-17 2005-12-12 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラム

Country Status (3)

Country Link
US (1) US20080253561A1 (ja)
JP (1) JP4793268B2 (ja)
WO (1) WO2006064763A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009020060A1 (ja) * 2007-08-06 2009-02-12 Nec Corporation 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
WO2009081975A1 (ja) * 2007-12-26 2009-07-02 Nec Corporation 暗号化装置、復号装置、暗号化方法、復号方法およびプログラム
WO2010024003A1 (ja) * 2008-08-29 2010-03-04 日本電気株式会社 倍ブロック長ブロック暗号化装置、復号装置、暗号化方法及び復号方法、及びそのプログラム
JP2015022318A (ja) * 2013-07-16 2015-02-02 日本電気株式会社 暗号化装置、復号装置、暗号化方法および暗号化プログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8687800B2 (en) * 2006-08-15 2014-04-01 Alcatel Lucent Encryption method for message authentication
US8892887B2 (en) * 2006-10-10 2014-11-18 Qualcomm Incorporated Method and apparatus for mutual authentication
US8745411B2 (en) * 2008-11-07 2014-06-03 Broadcom Corporation Protecting external volatile memories using low latency encryption/decryption
IL199616A0 (en) * 2009-06-28 2010-05-17 Chaim Shen Orr Pattern-free encryption
US10454674B1 (en) * 2009-11-16 2019-10-22 Arm Limited System, method, and device of authenticated encryption of messages
US8948376B2 (en) * 2010-05-11 2015-02-03 Ca, Inc. Format-preserving encryption via rotating block encryption
US11811938B2 (en) * 2019-12-20 2023-11-07 Micro Focus Llc Tokenization of arbitrary data types

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003241656A (ja) * 2002-02-19 2003-08-29 Sony Corp 暗号化装置および暗号化方法
JP2004531778A (ja) * 2001-06-29 2004-10-14 ハリス コーポレイション データ暗号化のための方法および装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6104811A (en) * 1996-08-16 2000-08-15 Telcordia Technologies, Inc. Cryptographically secure pseudo-random bit generator for fast and secure encryption
US5949884A (en) * 1996-11-07 1999-09-07 Entrust Technologies, Ltd. Design principles of the shade cipher
US6192129B1 (en) * 1998-02-04 2001-02-20 International Business Machines Corporation Method and apparatus for advanced byte-oriented symmetric key block cipher with variable length key and block

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004531778A (ja) * 2001-06-29 2004-10-14 ハリス コーポレイション データ暗号化のための方法および装置
JP2003241656A (ja) * 2002-02-19 2003-08-29 Sony Corp 暗号化装置および暗号化方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009020060A1 (ja) * 2007-08-06 2009-02-12 Nec Corporation 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
US8577032B2 (en) 2007-08-06 2013-11-05 Nec Corporation Common key block encryption device, common key block encryption method, and program
JP5402632B2 (ja) * 2007-08-06 2014-01-29 日本電気株式会社 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
WO2009081975A1 (ja) * 2007-12-26 2009-07-02 Nec Corporation 暗号化装置、復号装置、暗号化方法、復号方法およびプログラム
JP5293612B2 (ja) * 2007-12-26 2013-09-18 日本電気株式会社 暗号化装置、復号装置、暗号化方法、復号方法およびプログラム
WO2010024003A1 (ja) * 2008-08-29 2010-03-04 日本電気株式会社 倍ブロック長ブロック暗号化装置、復号装置、暗号化方法及び復号方法、及びそのプログラム
JPWO2010024003A1 (ja) * 2008-08-29 2012-01-26 日本電気株式会社 倍ブロック長ブロック暗号化装置、復号装置、暗号化方法及び復号方法、及びそのプログラム
JP2015022318A (ja) * 2013-07-16 2015-02-02 日本電気株式会社 暗号化装置、復号装置、暗号化方法および暗号化プログラム

Also Published As

Publication number Publication date
US20080253561A1 (en) 2008-10-16
JP4793268B2 (ja) 2011-10-12
JPWO2006064763A1 (ja) 2008-06-12

Similar Documents

Publication Publication Date Title
JP4793268B2 (ja) 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラム
US8577032B2 (en) Common key block encryption device, common key block encryption method, and program
JP3864675B2 (ja) 共通鍵暗号装置
Jakimoski et al. Chaos and cryptography: block encryption ciphers based on chaotic maps
JP5141558B2 (ja) 共通鍵ブロック暗号化装置、その方法、そのプログラム、及び記録媒体
US9363074B2 (en) Encryption processing apparatus, encryption processing method, and computer program
Benadjila et al. Sha-3 proposal: ECHO
US8605897B2 (en) Symmetric-key encryption method and cryptographic system employing the method
JPH10171350A (ja) ハッシュ値生成方法および装置
KR19990084419A (ko) 블록 데이터 암호화 장치
JP2004502965A (ja) 対称キー暗号用の置換ボックス
JP7031580B2 (ja) 暗号化装置、暗号化方法、復号化装置、及び復号化方法
CN109714154B (zh) 一种代码体积困难白盒安全模型下的白盒密码算法的实现方法
JP7367860B2 (ja) 認証暗号化装置、認証復号装置、認証暗号システム、方法及びプログラム
KR20080072345A (ko) 암호화 장치 및 그 방법
EP3996321A1 (en) Method for processing encrypted data
JP4752239B2 (ja) 共通鍵暗号方法及び装置
JP3864798B2 (ja) 共通鍵暗号の復号装置
Cook et al. Elastic aes
Feng et al. LOL: A Highly Flexible Framework for Designing Stream Ciphers
CN114124354A (zh) 确定性鉴别加解密装置及方法
Siddavaatam et al. A New Adaptive Security Architecture with Extensible Computation Complexity for Generic Ciphers
Mihailescu et al. Block Ciphers: DES and AES
JP2023152133A (ja) 暗号化装置、暗号化方法及び暗号化プログラム
Chen et al. Authenticated Encryption Modes of Block Ciphers, Their Security and Implementation Properties

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KN KP KR KZ LC LK LR LS LT LU LV LY MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006548825

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 11721372

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 05814463

Country of ref document: EP

Kind code of ref document: A1