Patent ID: 7447311

Claim:
An encryption apparatus configured to generate a first ciphertext of length 2 n by firstly encrypting a first plaintext of length 2 n and generating a second ciphertext of length m by secondly encrypting the first ciphertext with a second plaintext of length m comprising, a function block configured to produce the first ciphertext of length 2 n by encrypting the first plaintext of length 2 n with an encryption code of length 4 n generated from a key scheduler; a memory storing the second plaintext of length m; and a main controller configured to read the second plaintext of length m from the memory, controlling the second ciphertext of length m to be generated by encrypting the first ciphertext with the second plaintext, and storing the second ciphertext in the memory, wherein the main controller controls the memory to output a first sub-bit string of a predetermined length in the second plaintext of length m from a predetermined address by applying a control signal to the memory, controls the function block to generate a second subciphertext of the predetermined length by encrypting the first sub-bit string with the first ciphertext, and controls the memory to store the second sub-ciphertext in the predetermined address; wherein the function block comprises: a first function block configured to produce a first ciphertext of length n by encrypting the first sub-bit string with first encryption codes KL( 1 , 1 ) and KL( 1 , 2 ) or a third ciphertext of length n by encrypting a second ciphertext with the first encryption codes KL( 1 , 1 ) and KL( 1 , 2 ); a second function block configured to produce a fourth ciphertext of length n by encrypting the first ciphertext with second encryption codes KO( 1 , 1 ), KO( 1 , 2 ) and KO( 1 , 3 ) and third encryption codes KI( 1 , 1 ), KI( 1 , 2 ) and KI( 1 , 3 ) or the second ciphertext by encrypting the first sub-bit string with the second encryption codes KO( 1 , 1 ), KO( 1 , 2 ) and KO( 1 , 2 ) and the third encryption codes KI( 1 , 1 ), KI( 1 , 2 ) and KI( 1 , 3 ); a key scheduler configured to provide the first encryption codes KL( 1 , 1 ), and KL( 1 , 2 ) the second encryption codes KO( 1 , 1 ), KO( 1 , 2 ) and KO( 1 , 3 ), and the third encryption codes KL( 1 , 1 ), KI( 1 , 2 ) and KI( 1 , 3 ) for the first sub-bit string, the first ciphertext, and the second ciphertext, the encryption codes being length n; and a function block controller configured to control a plurality of multiplexers to feed the first sub-bit string to the first or second function block and controlling the first and second function blocks to encrypt the received sub-bit string with the first encryption codes KL( 1 , 1 ) and KL( 1 , 2 ), the second encryption codes KO( 1 , 1 ), KO( 1 , 2 ) and KO( 1 , 3 ), and the third encryption codes KI( 1 , 1 ), KI( 1 , 2 ) and KI( 1 , 3 ).