Abstract
We show the fastest implementation result of RSA on Itanium 2. For realizing the fast implementation, we improved the implementation algorithm of Montgomery multiplication proposed by Itoh et al. By using our implementation algorithm, pilepine delay is decreased than previous one on Itanium 2. And we implemented this algorithm with highly optimized for parallel processing. Our code can execute 4 instructions per cycle (At maximum, 6 instructions are executed per cycle on Itanium 2), and its probability of pipeline stalling is just only 5%. Our RSA implementation using this code performs 32 times per second of 4096-bit RSA decryption with CRT on Itanium 2 at 900MHz. As a result, our implementation of RSA is the fastest on Itanium2. This is 3.1 times faster than IPP, a software library developed by Intel, in the best case.
Chapter PDF
References
Montgomery, P.L.: Modular Multiplication without Trial Division. Mathematics of Computation 44(170), 519–521 (1985)
Koc, C.K., Acar, T., Kaliski Jr., B.S.: Analyzing and Comparing Montgomery Multiplication Algorithms. IEEE Macro 16(3), 26–33 (1996)
Itoh, K., Takenaka, M., Torii, N., Temma, S., Kurihara, Y.: Fast Implementation of Public-Key Cryptography on a DSP TMS320C6201. In: Koç, Ç.K., Paar, C. (eds.) CHES 1999. LNCS, vol. 1717, pp. 61–72. Springer, Heidelberg (1999)
Itanium 2 Processor Reference Manual for Software Development and Optimization, Intel (2002)
Intel Itanium Architecture Software Developer’s Manuals, Intel (2005)
Intel C++ Compiler for Linux Reference, Intel (2005)
Tenca, A.F., Todorov, G., Koc, C.K.: High-Radix Design of a Scrable Modular Muitiplier. In: Koç, Ç.K., Naccache, D., Paar, C. (eds.) CHES 2001. LNCS, vol. 2162, pp. 185–201. Springer, Heidelberg (2001)
Walter, C.D.: Systolic Modular Multiplication. IEEE Trans. Computers 42(3), 376–378 (1993)
Orlando, G., Paar, C.: A Scalable GF(p) Elliptic Curve Processor Archtechture for Programable Hardware. In: Koç, Ç.K., Naccache, D., Paar, C. (eds.) CHES 2001. LNCS, vol. 2162, pp. 348–363. Springer, Heidelberg (2001)
Eldridge, S.E., Walter, C.D.: Hardware Implementation of Montgomery’s Modular Multiplication Algorithm. IEEE Transactions on Computers 42(6), 693–699 (1993)
Walter, C.D.: Montgomery’s Multiplication Technique: How to Make It Smaller and Faster. In: Koç, Ç.K., Paar, C. (eds.) CHES 1999. LNCS, vol. 1717, pp. 80–93. Springer, Heidelberg (1999)
Tenca, A.F., Koc, C.K.: A Scalable Archtecture for Montgomery Multiplication. In: Koç, Ç.K., Paar, C. (eds.) CHES 1999. LNCS, vol. 1717, pp. 94–108. Springer, Heidelberg (1999)
Rivest, R.L., Shamir, A., Adleman, L.: A Method of obtaining digital signature and public key cryptosystems. Comm. of ACM 21(2), 120–126 (1978)
Barrett, P.: Implementing the Rivest, Shamir, and Adleman Public-Key Encryption Algorithm on a Standard Digital Signal Processor. In: Odlyzko, A.M. (ed.) CRYPTO 1986. LNCS, vol. 263, pp. 311–323. Springer, Heidelberg (1987)
Kaihara, M.E., Takagi, N.: Bipartite Modular Multiplication. In: Rao, J.R., Sunar, B. (eds.) CHES 2005. LNCS, vol. 3659, pp. 201–210. Springer, Heidelberg (2005)
National Institute for Standards and Technology (NIST), SP 800-57: Recommendation on Key Management (2005)
National Institute for Standards and Technology (NIST), SP 800-78: Cryptographic Algorithms and Key Sizes for Personal Identity Verification (2005)
Dusse, S.R., Kaliski Jr., B.S.: A Crytographic Library for the Motorola DSP56000. In: Damgård, I.B. (ed.) EUROCRYPT 1990. LNCS, vol. 473, pp. 230–244. Springer, Heidelberg (1991)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Furukawa, K., Takenaka, M., Itoh, K. (2006). A Fast RSA Implementation on Itanium 2 Processor. In: Ning, P., Qing, S., Li, N. (eds) Information and Communications Security. ICICS 2006. Lecture Notes in Computer Science, vol 4307. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11935308_36
Download citation
DOI: https://doi.org/10.1007/11935308_36
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-49496-6
Online ISBN: 978-3-540-49497-3
eBook Packages: Computer ScienceComputer Science (R0)