A new algorithm, Square-and-Multiply for Modular Exponentiation (SMME), is proposed to calculate a modular exponentiation that is the core arithmetic function in RSA cryptography. The SMME scans the exponent from its MSB and pre-computes a set of exponents to the maximum bit length of 1. These pre-computed exponents are stored in a look-up table. By using the look-up table, the number of multiplications required for modular exponentiation can be reduced. Modular multiplications are performed using a modified Montgomery's algorithm. The SMME takes in the order of n2(1+ 1/(21)) cycles to execute one n-bit modular exponentiation. The memory size to accommodate the pre-computed exponents is a 2'' (n+1)-bit RAM.The SMME, with its regularity and local connections in a systolic array, makes it suitable for VLSI implementation.A 64-bit modular exponentiation chip is being designed using a 0.8 m CMOS standard cell library from AMS. The simulation results show that at 25 MHz, the throughput is approximately 236 KBps; and an estimation of 40 KBps for a 512-bit exponent.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.