- Research Article
- Open access
- Published:
Applications of Fast Truncated Multiplication in Cryptography
EURASIP Journal on Embedded Systems volume 2007, Article number: 061721 (2006)
Abstract
Truncated multiplications compute truncated products, contiguous subsequences of the digits of integer products. For an n-digit multiplication algorithm of time complexity O(nα), with 1<α≤2, there is a truncated multiplication algorithm, which is constant times faster when computing a short enough truncated product. Applying these fast truncated multiplications, several cryptographic long integer arithmetic algorithms are improved, including integer reciprocals, divisions, Barrett and Montgomery multiplications, 2n-digit modular multiplication on hardware for n-digit half products. For example, Montgomery multiplication is performed in 2.6 Karatsuba multiplication time.
References
Menezes A, van Oorschot P, Vanstone S: Handbook of Applied Cryptography. CRC Press, Boca Raton, Fla, USA; 1996.
GNU multiple precision arithmetic library manual http://www.swox.com/gmp/
Karp AH, Markstein P: High-precision division and square root. ACM Transactions on Mathematical Software 1997,23(4):561-589. 10.1145/279232.279237
Bernstein DJ: Fast Multiplication and its Applications. http://cr.yp.to/papers.html#multapps
Hors L: Fast truncated multiplication for cryptographic applications. Proceedings of the 7th International Workshop on Cryptographic Hardware and Embedded Systems (CHES '05), August 2005, Edinburgh, UK, Lecture Notes in Computer Science 3659: 211-225.
Koblitz N: Introduction to Elliptic Curves and Modular Forms. Springer, New York, NY, USA; 1984.
Knuth DE: The Art of Computer Programming. Volume 2: Seminumerical Algorithms. Addison-Wesley, Reading, Mass, USA; 1981.
Hars L: Multiplications for Cryptographic Operand Lengths: Analytic and Experimental Comparisons. manuscript
Hanrot G, Quercia M, Zimmermann P: The middle product algorithm, I. In Rapport de Recherche 4664. l'Institut National de Recherche en Informatique et en Automatique, Lorraine, France; 2002. http://www.inria.fr/rrrt/rr-4664.html
Burnikel C, Ziegler J: Fast recursive division. In MPI Research Report I-98-1-022. Max-Planck-Institut für Informatik, 1998.
Bosselaers A, Govaerts R, Vandewalle J: Comparison of three modular reduction functions. Proceedings of the 13th Annual International Cryptology Conference on Advances in Cryptology (CRYPTO '93), August 1994, Santa Barbara, Calif, USA, Lecture Notes in Computer Science 773: 175-186.
Barrett P: Implementing the Rivest Shamir and Adleman public key encryption algorithm on a standard digital signal processor. Proceedings of International Cryptology Conference on Advances in Cryptology (CRYPTO '86), 1987, Santa Barbara, Calif, USA 311-323.
Montgomery PL: Modular multiplication without trial division. Mathematics of Computation 1985,44(170):519-521. 10.1090/S0025-5718-1985-0777282-X
Hensel K: Theorie der Algebraischen Zahlen. Teubner, Leipzig, Germany; 1908.
Hars L: Long modular multiplication for cryptographic applications. Proceedings of the 6th International Workshop on Cryptographic Hardware and Embedded Systems (CHES '04), August 2004, Cambridge, Mass, USA 45-61.
Shamus Software Ltd : MIRACL users manual. version 5.0, December 2005, ftp://ftp.computing.dcu.ie/pub/crypto/manual.zip
Fischer W, Seifert J-P: Increasing the bitlength of a crypto-coprocessor via smart hardware/software co-design. Proceedings of 4th International Workshop on Cryptographic Hardware and Embedded Systems (CHES '02), August 2002, Redwood Shores, Calif, USA, Lecture Notes in Computer Science 2523: 71-81.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
About this article
Cite this article
Hars, L. Applications of Fast Truncated Multiplication in Cryptography. J Embedded Systems 2007, 061721 (2006). https://doi.org/10.1155/2007/61721
Received:
Revised:
Accepted:
Published:
DOI: https://doi.org/10.1155/2007/61721