Duality between Multiplication and Modular Reduction

This paper presents a duality between the classical optimally speeded up multiplication algorithm and some “fast” reduction algorithm. For this, the multiplier is represented by the unique signed digit representation with minimal Hamming weight using Reitwiesner’s multiplier recoding algorithm. In fact, the present paper proves that this optimal multiplier recoding technique naturally translates into a canonical modular reduction technique. Thus, the resulting reduction algorithm is optimal with respect to its average-time complexity as well. Besides these two new results, our proof of the transfer-theorem serves another interesting purpose: The reason that the considered reduction algorithm from [Sed] is so unknown might lie in the fact that it is rather un-intuitive and no proper understanding was available so far. Therefore, our proper mathematical derivation/explanation solves this lack of understanding.

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

[2]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[3]  Helena Handschuh,et al.  Smart Card Crypto-Coprocessors for Public-Key Cryptography , 1998, CARDIS.

[4]  O. L. Macsorley High-Speed Arithmetic in Binary Computers , 1961, Proceedings of the IRE.

[5]  David Thomas,et al.  The Art in Computer Programming , 2001 .

[6]  Christof Paar,et al.  Cryptographic Hardware and Embedded Systems - CHES 2006, 8th International Workshop, Yokohama, Japan, October 10-13, 2006, Proceedings , 2006, CHES.

[7]  W. Edwin Clark,et al.  On arithmetic weight for a general radix representation of integers (Corresp.) , 1973, IEEE Trans. Inf. Theory.

[8]  P. L. Montgomery Modular multiplication without trial division , 1985 .

[9]  M. Anwar Hasan,et al.  Closed-Form Expression for the Average Weight of Signed-Digit Representations , 1999, IEEE Trans. Computers.

[10]  Christof Paar,et al.  Cryptographic Hardware and Embedded Systems: First InternationalWorkshop, CHES’99 Worcester, MA, USA, August 12–13, 1999 Proceedings , 1999, Lecture Notes in Computer Science.

[11]  David Naccache,et al.  Cryptographic Hardware and Embedded Systems - CHES 2001: Third International Workshop, Paris, France, May 14-16, 2001 Proceedings , 2001 .

[12]  Marc Joye,et al.  Normalisation in diminished-radix modulus transformation , 1997 .

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

[14]  Ferrell S. Wheeler,et al.  Signed Digit Representations of Minimal Hamming Weight , 1993, IEEE Trans. Computers.

[15]  David M'Raïhi,et al.  Arithmetic co-processors for public-key cryptography: The state of the art , 1996, CARDIS.

[16]  Israel Koren Computer arithmetic algorithms , 1993 .

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

[18]  Andrew D. Booth,et al.  A SIGNED BINARY MULTIPLICATION TECHNIQUE , 1951 .

[19]  Paul Barrett,et al.  Implementing the Rivest Shamir and Adleman Public Key Encryption Algorithm on a Standard Digital Signal Processor , 1986, CRYPTO.

[20]  Jean-Jacques Quisquater,et al.  Recent Results on Modular Multiplications for Smart Cards , 1998, CARDIS.

[21]  Alfred Menezes,et al.  Handbook of Applied Cryptography , 2018 .

[22]  Jean-Jacques Quisquater,et al.  CORSAIR: A SMART Card for Public Key Cryptosystems , 1990, CRYPTO.

[23]  Henk L. Muller,et al.  Cryptographic Hardware and Embedded Systems — CHES 2001 , 2001, Lecture Notes in Computer Science.

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

[25]  George W. Reitwiesner,et al.  Binary Arithmetic , 1960, Adv. Comput..

[26]  Christof Paar,et al.  Cryptographic Hardware and Embedded Systems - CHES 2002: 4th International Workshop, Redwood Shores, CA, USA, August 13-15, 2002, Revised Papers , 2003 .

[27]  Marc Joye,et al.  Optimal Left-to-Right Binary Signed-Digit Recoding , 2000, IEEE Trans. Computers.

[28]  Christof Paar,et al.  Cryptographic Hardware and Embedded Systems - CHES 2002 , 2003, Lecture Notes in Computer Science.