1. Field of the Invention
The present invention relates to an encryption/decryption apparatus using an advanced encryption standard (AES) Rijndael algorithm, and more particularly, to an apparatus and method for improving an encryption/decryption rate using an AES Rijndael algorithm.
2. Discussion of Related Art
Due to the widespread application of electronic payment methods using the Internet and mobile communication networks, the security of private information is very important. The ongoing development of Internet and mobile communication network technology is shadowed by the development of hacking technology for the malicious purpose of stealing private information, etc.
An encryption/decryption process is needed to secure private information, and an AES Rijndael algorithm is used to improve security.
The Rijndael algorithm was designed by Joan Daemen and Vincent Rijmen. Details of its design are described in an AES proposal document submitted to the NIST (National Institute of Standards and Technology). The U.S. government has adopted the Rijndael encryption algorithm as a standard through NIST. The AES algorithm was announced by FIPS (Federal Information Processing Standards) 197 as a NIST published document. The AES Rijndael algorithm is now used worldwide. A large amount of research is aimed at efficiently implementing the AES Rijndael algorithm.
FIG. 1 shows a configuration of a conventional encryption/decryption apparatus using an AES Rijndael algorithm.
Referring to FIG. 1, a conventional encryption/decryption apparatus 100 includes a round key generator 110, a round key memory 120, and a round executor 130.
The round key generator 110 generates round keys for performing first to last rounds using an input key. For example, when the AES algorithm uses a 128-bit round key, the round key generator 110 divides the 128-bit round key into four 32-bit partial round keys.
The round key memory 120 stores the round keys generated in the round key generator 110. For example, the round keys stored in the round key memory 120 may be round keys for first to last rounds including first to fourth partial round keys 201a to 201d, 202a to 202d, - - - , 203a to 203d as indicated by reference numerals 201, 202, - - - , 203 shown in FIG. 2.
The round executor 130 performs the first to last rounds for encrypting plaintext, or decrypting ciphertext, using the round keys stored in the round key memory 120. The round executor 130 includes first to fourth registers and performs a function for loading the 32-bit partial round keys to the first to fourth registers by accessing the round key memory 120 four times.
The round executor 130 performs the first to last rounds using the loaded round keys and outputs generated ciphertext or plaintext.
When the above-described AES Rijndael algorithm performs the first to last rounds using the 128-bit round key, the round executor 130 should load the partial round keys to the first to fourth registers by accessing the round key memory 120 four times per round. To perform the first to last rounds, the round executor 130 should access the round key memory 120 (N+1)*4 times, which makes encryption/decryption time-consuming.