Patent ID: 7933403

Claim:
An ARIA (Academy, Research Institute, and Agency) encryption/decryption apparatus for encrypting and decrypting input data by repeating a plurality of rounds, the ARIA encryption/decryption apparatus comprising: a first register storing input data or an intermediate calculation value according to a first control signal; a second register storing an input round key for every round; an exclusive OR operation unit performing an exclusive OR operation on values stored in the first and second registers; a substitution unit substituting a result of the exclusive OR operation on a basis of an ARIA substitution algorithm; a diffusion unit diffusing a result of the substitution in the substitution unit on a basis of an ARIA diffusion algorithm if a current round is not a final round; a control unit outputting the first control signal so that an output of the diffusion unit is used as the intermediate calculation value if the current round is not the final round or an output of the substitution unit is used as the intermediate calculation value if the current round is the final round, and outputting an output of the exclusive OR operation unit as a result of the ARIA encryption/decryption; a third register storing the initialization keys, wherein, in order to generate and output the initialization keys to the round key generation unit, the key generation key and the output of the diffusion unit are stored in the first register according to the first control signal, key initialization constants and initialization keys calculated in a previous round are stored in the second register according to a second control signal, the exclusive OR operation unit performs an exclusive OR operation on values stored in the first and second registers, the substitution unit performs a substitution process for the output of the exclusive OR operation, the diffusion unit performs a diffusion process the output of the substitution unit, and the control unit performs a process of repeatedly outputting the first and second control signals as many times as a number of key initialization constants, stores the output of the exclusive OR operation unit in the third register as the initialization keys and outputs the initialization keys stored in the third register to the round key generation unit when the repeatedly outputting of the first and second control signals is terminated.