Title :
Cellular-array modular multiplier for fast RSA public-key cryptosystem based on modified Booth´s algorithm
Author :
Hong, Jin-Hua ; Wu, Cheng-Wen
Author_Institution :
Dept. of Electr. Eng., Nat. Univ. of Kaohsiung, Taiwan
fDate :
6/1/2003 12:00:00 AM
Abstract :
We propose a radix-4 modular multiplication algorithm based on Montgomery´s algorithm, and a fast radix-4 modular exponentiation algorithm for Rivest, Shamir, and Adleman (RSA) public-key cryptosystem. By modifying Booth´s algorithm, a radix-4 cellular-array modular multiplier has been designed and simulated. The radix-4 modular multiplier can be used to implement the RSA cryptosystem. Due to reduced number of iterations and pipelining, our modular multiplier is four times faster than a direct radix-2 implementation of Montgomery´s algorithm. The time to calculate a modular exponentiation is about n/sup 2/ clock cycles, where n is the word length, and the clock cycle is roughly the delay time of a full adder. The utilization of the array multiplier is 100% when we interleave consecutive exponentiations. Locality, regularity, and modularity make the proposed architecture suitable for very large scale integration implementation. High-radix modular-array multipliers are also discussed, at both the bit level and digit level. Our analysis shows that, in terms of area-time product, the radix-4 modular multiplier is the best choice.
Keywords :
VLSI; cellular arrays; multiplying circuits; pipeline arithmetic; public key cryptography; Montgomery´s algorithm; area-time product; cellular-array modular multiplier; fast RSA public-key cryptosystem; locality; modified Booth´s algorithm; modular exponentiation; modularity; pipelining; regularity; very large scale integration; Algorithm design and analysis; Clocks; Councils; Data security; Delay effects; Logic arrays; Logic gates; Pipeline processing; Public key cryptography; Very large scale integration;
Journal_Title :
Very Large Scale Integration (VLSI) Systems, IEEE Transactions on
DOI :
10.1109/TVLSI.2003.812308