Abstract
Popular public key algorithms such as RSA and Diffie-Hellman key exchange, and more advanced cryptographic schemes such as Paillier’s and Damgård-Jurik’s algorithms (with applications in private information retrieval), require efficient modular multiplication with large integers of size at least 1024 bits. Montgomery multiplication algorithm has proven successful for modular multiplication of large integers. While general purpose multi-core processors have become the mainstream on desktop as well as portable computers, utilization of their computing resources have been largely overlooked when it comes to performing computationally intensive cryptographic operations. In this work, we propose a new parallel Montgomery multiplication algorithm which exhibits up to 39 % better performance than the known best serial Montgomery multiplication variant for the bit-lengths of 2048 or larger. Furthermore, for bit-lengths of 4096 or larger, the proposed algorithm exhibits better performance by utilizing multiple cores available. It achieves speedups of up to 81 %, 3.37 times and 4.87 times for the used general-purpose microprocessors with 2, 4 and 6 cores, respectively. To our knowledge, this is the first work that shows with actual implementation results that Montgomery multiplication can be practically and scalably parallelized on general-purpose multi-core processors.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Recommendation for Key Management, Special Publication 800-57 Part 1 Rev. 3, NIST, 05/2011.
- 2.
OpenMP Tutorial at Supercomputing 2008, http://openmp.org/wp/2008/10/openmp-tutorial-at-supercomputing-2008/ (Last accessed on 26 February 2012).
References
Chen, Z., Schaumont, P.: A parallel implementation of montgomery multiplication on multicore systems: algorithm, analysis, and prototype. IEEE Trans. Comput. 60, 1692–1703 (2011)
Damgård, I., Jurik, M.: A generalisation, a simplification and some applications of paillier’s probabilistic public-key system. In: Proceedings of the 4th International Workshop on Practice and Theory in Public Key Cryptography: Public Key Cryptography, PKC ’01, pp. 119–136, London. Springer, London (2001)
Diffie, W., Hellman, M.E.: New directions in cryptography. IEEE Trans. Inf. Theory IT-22, 644–654 (1976)
Fan, J., Sakiyama, K., Verbauwhede, I.: Montgomery modular multiplication algorithm on multi-core systems. 2007 IEEE Workshop Signal Process. Syst. 10, 261–266 (2007)
Gentry, C., Halevi, S., Vaikuntanathan, V.: i-hop homomorphic encryption and rerandomizable yao circuits. In: Rabin, T. (ed.) CRYPTO Lecture Notes in Computer Science, vol. 6223, pp. 155–172. Springer, Heidelberg (2010)
Kaihara, M.E., Takagi, N.: Bipartite modular multiplication. In: Proceedings of Cryptographic Hardware and Embedded Systems—CHES 2005 Lecture notes in Computer Science, vol. 3659, pp. 201–210. Springer, Heidelberg (2005)
Kaihara, M.E., Takagi, N.: Bipartite modular multiplication method. IEEE Trans. Comput. 57(2), 157–164 (2008)
Karatsuba, A., Ofman, Y.: Multiplication of multidigit numbers on automata. Sov. Phys. Dokl. (Engl. Transl.) 7(7), 595–596 (1963)
Koç, Ç.K., Acar, T.: Montgomery multiplication in \(GF(2^k)\). Des. Codes Cryptogr. 14(1), 57–69 (1998)
Koç, Ç.K., Acar, T., Kaliski, B.: Analyzing and comparing montgomery multiplication algorithms. IEEE Micro 16, 26–33 (1996)
Lipmaa, H.: First CPIR protocol with data-dependent computation. In: Proceedings of the 12th International Conference on Information Security and Cryptology, ICISC’09, pp. 193–210, Berlin. Springer, Heidelberg (2010)
Montgomery, P.L.: Modular multiplication without trial division. Math. Comput. 44(170), 519–521 (1985)
Paillier, P.: Public-key cryptosystems based on composite degree residuosity classes. In: Advances in Cryptology—EUROCRYPT 1999, pp. 223–238. Springer, Heidelberg (1999)
Rivest, R.L., Shamir, A., Adleman, L.: A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM 21(2), 120–126 (1978)
Sakiyama, K., Batina, L., Preneel, B., Verbauwhede, I.: Multicore curve-based cryptoprocessor with reconfigurable modular arithmetic logic units over \(GF(2^n)\). IEEE Trans. Comput. 56, 1269–1282 (2007)
Sakiyama, K., Knezevic, M., Fan, J., Preneel, B., Verbauwhede, I.: Tripartite modular multiplication. Integration 44(4), 259–269 (2011)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag London
About this paper
Cite this paper
Baktir, S., Savaş, E. (2013). Highly-Parallel Montgomery Multiplication for Multi-Core General-Purpose Microprocessors. In: Gelenbe, E., Lent, R. (eds) Computer and Information Sciences III. Springer, London. https://doi.org/10.1007/978-1-4471-4594-3_48
Download citation
DOI: https://doi.org/10.1007/978-1-4471-4594-3_48
Published:
Publisher Name: Springer, London
Print ISBN: 978-1-4471-4593-6
Online ISBN: 978-1-4471-4594-3
eBook Packages: EngineeringEngineering (R0)