Patent ID: 7639797

Claim:
An encryption and decryption apparatus, comprising: a round key generator generating at least one round key for iterative operations in each of a plurality of rounds using an input key for one of the encryption or decryption; an initial round key adder receiving a plurality of divided parts of an input data, consecutively receiving a plurality of parts of the at least one round key which is output from the round key generator for an initial round and corresponds to each of the divided parts of the input data, and adding the divided parts of the input data and the corresponding part of the at least one round key; a first operator receiving a first data which is output from the initial round key adder and a second part of the at least one round key which is output from the round key generator and performing operations for the one of the encryption or decryption; a second operator receiving a second data which is output from the initial round key adder and a third part of the round key which is output from the round key generator, and performing operations for the one of the encryption or decryption; and a register part temporarily storing the first data which is output from the first operator and the second data which is output from the second operator, inputting the first and second data to the first and second operators, respectively, for operations of a next round among the plurality of the rounds, and outputting an encrypted or decrypted data when the plurality of the rounds are completed, wherein the first operator and the second operator perform the one of the encryption or decryption in parallel, and wherein the first operator comprises: a first byte substitution part receiving any one of output data from the initial round key adder or the register part and performing one of a Rijndael byte substitution operation or a Rijndael inverse byte substitution operation for the one of the encryption or decryption, respectively; a first column mixer receiving an output data from the first byte substitution part and performing on of a Rijndael mixed columns operation or a Rijndael inverse mixed columns operation for the encryption and decryption, respectively; a first round key adder receiving any one of output data from the first column mixer or the first byte substitution part, receiving a fourth part of the at least one round key from the round key generator, and performing a round key addition operation; and a third selector which selectively receives output data from the first column mixer and the first byte substitution part and selectively inputs the output data to the first round key adder or the second operator.