1 Introduction
Cryptographic modules are now mounted on many embedded systems, such as smart-cards and mobile phones, and used to ensure the protection of privacy and confidential information in communications. The encryption/decryption process usually requires a large amount of arithmetic operations with very large operands. For example, public-key cryptosystems such as RSA perform modular exponentiation operations using more than 1, 000-bit operands, which can be done by a set of modular multiplication operations. Therefore, the hardware implementation of cryptographic algorithm (i.e., cryptographic hardware) is essential for achieving high-performance cryptographic modules in the embedded systems with limited computational capability.