Abstract
We present a novel technique which allows a virtual increase of the bitlength of a crypto-coprocessor in an efficient and elegant way. The proposed algorithms assume that the coprocessor is equipped with a special modular multiplication instruction. This instruction, called MultModDiv(A,B,N) computes A * B mod N and [(A*B)/N]. In addition to the doubling algorithm, we also present two conceivable economic implementations of the MultModDiv instruction: one hardware and one software realization. The hardware realization of the MultModDiv instruction has the same performance as the modular multiplication presented in the paper. The software realization requires two calls of the modular multiplication instruction. Our most efficient algorithm needs only six calls to an n-bit MultModDiv instruction to compute a modular 2n-bit multiplication. Obviously, special variants of our algorithm, e.g., squaring, require fewer calls.
Chapter PDF
Similar content being viewed by others
Keywords
References
P. Barret, “Implementing the Rivest, Shamir and Adleman public-key encryption algorithm on a standard digital signal processor”, Proc. of CRYPTO’ 86, Springer LNCS, vol. 263, pp. 311–323, 1987.
S. Cavallar et alii, “Factoring a 512 bit RSA modulus”, Proc. of EUROCRYPT’ 00, Springer LNCS, vol. 1807, pp. 1–19, 2000.
C. Couvreur, J.-J. Quisquater, “Fast decipherment algorithm for RSA public-key cryptosystem”, Electronics Letters 18(21):905–907, 1982.
J.-F. Dhem, J.-J. Quisquater, “Recent results on modular multiplication for smart cards”, Proc. of CARDIS’ 98 Springer LNCS vol. 1820, pp. 336–352, 1998.
H. Handschuh, P. Pailler, “Smart Card Crypto-Coprocessors for Public-Key Cryptography”, CryptoBytes 4(1):6–11, 1998.
H. Handschuh, P. Pailler, “Smart Card Crypto-Coprocessors for Public-Key Cryptography”, Proc. of CARDIS’ 98 Springer LNCS vol. 1820, pp. 372–379, 1998.
D. E. Knuth, The Art of Computer Programming, Vol.2: Seminumerical Algorithms, 3rd ed., Addison-Wesley, Reading MA, 1999.
A. J. Menezes, P. van Oorschot, S. Vanstone, Handbook of Applied Cryptography, CRC Press, New York, 1997.
P. L Montgomery, “Modular Multiplication without Trial Division”, Math. of Computation, vol. 44, pp. 519–521, 1985.
D. Naccache, D. M'Raihi, “Arithmetic co-processors for public-key cryptography: The state of the art”, IEEE Micro, pp. 14–24, 1996.
J. Omura, “A public key cell design for smart card chips”, Proc. of IT Workshop, pp. 27–30, 1990.
P. Pailler, “Low-cost double size modular exponentiation or how to stretch your cryptocoprocessor”, Proc. of Public Key Cryptography’ 99, Springer LNCS, vol. 1560, pp. 223–234, 1999.
J.-J. Quisquater, “Encoding system according to the so-called RSA method, by means of a microcontroller and arrangement implementing this system”, U.S. Patent #5,166,979, Nov. 24, 1992.
R. Rivest, A. Shamir, L. Adleman, “A method for obtaining digital signatures and public-key cryptosystems”, Comm. of the ACM 21:120–126, 1978.
H. Sedlak, “The RSA cryptographic Processor: The first High Speed One-Chip Solution”, Proc. of EUROCRYPT’ 87, Springer LNCS, vol. 293, pp. 95–105, 198.
D. de Waleffe, J.-J. Quisquater, “CORSAIR, a smart card for public-key cryptosystems”, Proc. of CRYPTO’ 90, Springer LNCS, vol. 537, pp. 503–513, 1990.
C. Walter, “Techniques for the Hardware Implementation of Modular Multiplication”, Proc. of 2nd IMACS Internat. Conf. on Circuits, Systems and Computers, vol. 2, pp. 945–949, 1998.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Fischer, W., Seifert, JP. (2003). Increasing the Bitlength of a Crypto-Coprocessor. In: Kaliski, B.S., Koç, ç.K., Paar, C. (eds) Cryptographic Hardware and Embedded Systems - CHES 2002. CHES 2002. Lecture Notes in Computer Science, vol 2523. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36400-5_7
Download citation
DOI: https://doi.org/10.1007/3-540-36400-5_7
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00409-7
Online ISBN: 978-3-540-36400-9
eBook Packages: Springer Book Archive