Bit-level systolic arrays for modular multiplication

This paper presents bit-level cellular arrays implementing Blakley's algorithm for multiplication of twon-bit integers modulo anothern-bit integer. The semi-systolic version uses 3n(n+3) single-bit carry save adders and 2n copies of 3-bit carry look-ahead logic, and computes a pair of binary numbers (C, S) in 3n clock cycles such thatC+Sε[0, 2N). The carry look-ahead logic is used to estimate the sign of the partial product, which is needed during the reduction process. The final result in the correct range [0,N) can easily be obtained by computingC+S andC+S−N, and selecting the latter if it is positive; otherwise, the former is selected. We construct a localized process dependence graph of this algorithm, and introduce a systolic array containing 3nw simple adder cells. The latency of the systolic array is 6n+w−2, wherew=⌈n/2⌉. The systolic version does not require broadcast and can be used to efficiently compute several modular multiplications in a pipelined fashion, producing a result in every clock cycle.

[1]  K KoçÇetin,et al.  Bit-level systolic arrays for modular multiplication , 1991 .

[2]  Earl E. Swartzlander,et al.  Computer Arithmetic , 1980 .

[3]  S. S. Dlay,et al.  Carry delayed save adders for computing the product A [middle dot] B modulo N in log2 N steps , 1990 .

[4]  Ernest A. Brickell A survey of hardware implementations of RSA (abstract) , 1989, CRYPTO 1989.

[5]  C. N. Zhang,et al.  Parallel algorithms and systolic array designs for RSA cryptosystem , 1988, [1988] Proceedings. International Conference on Systolic Arrays.

[6]  Çetin Kaya Koç,et al.  Carry-save adders for computing the product AB modulo N , 1990 .

[7]  N. Koblitz A Course in Number Theory and Cryptography , 1987 .

[8]  Alan G. Konheim Cryptography, a primer , 1981 .

[9]  G. R. Blakley,et al.  A Computer Algorithm for Calculating the Product AB Modulo M , 1983, IEEE Trans. Computers.

[10]  S. Kung,et al.  VLSI Array processors , 1985, IEEE ASSP Magazine.

[11]  Blakely A Computer Algorithm for Calculating the Product AB Modulo M , 1983, IEEE Transactions on Computers.

[12]  Shirley Dex,et al.  JR 旅客販売総合システム(マルス)における運用及び管理について , 1991 .

[13]  P. W. Baker Fast computation of A * B modulo N , 1987 .

[14]  Adi Shamir,et al.  A method for obtaining digital signatures and public-key cryptosystems , 1978, CACM.

[15]  J. Cosgrove,et al.  Array processors , 1980, IEEE Acoustics, Speech, and Signal Processing Newsletter.

[16]  Donald E. Knuth,et al.  The art of computer programming. Vol.2: Seminumerical algorithms , 1981 .

[17]  Michael A. Soderstrand,et al.  Residue number system arithmetic: modern applications in digital signal processing , 1986 .

[18]  Ernest F. Brickell,et al.  A Fast Modular Multiplication Algorithm With Application To Two Key Cryptography , 1982, CRYPTO.

[19]  Kai Hwang,et al.  Computer arithmetic: Principles, architecture, and design , 1979 .

[20]  Çetin Kaya Koç,et al.  Multi-operand modulo addition using carry save adders , 1990 .

[21]  Kenneth R. Sloan Comments on "A Computer Algorithm for Calculating the Product AB Modulo M" , 1985, IEEE Trans. Computers.

[22]  Ernest F. Brickell,et al.  A Survey of Hardware Implementation of RSA (Abstract) , 1989, CRYPTO.