Abstract
This paper describes a new multiplication algorithm, particularly suited to lightweight microprocessors when one of the operands is known in advance. The method uses backtracking to find a multiplication-friendly encoding of the operand known in advance. A 68hc05 microprocessor implementation shows that the new algorithm indeed yields a twofold speed improvement over classical multiplication for 128-byte numbers.
Similar content being viewed by others
Notes
An acronym standing for “M ultiply A dd D ivide”.
When repeated recursively.
These linear relations are unknown to the attacker.
References
Avižienis, A.: Signed-digit number representations for fast parallel arithmetic. IRE Trans. Electron. Comput. EC-10(3):389–400. https://doi.org/10.1109/TEC.1961.5219227 (1961)
Barrett, P.: Implementing the Rivest Shamir and Adleman public key encryption algorithm on a standard digital signal processor. In: Odlyzko, A M (ed.) Advances in Cryptology—CRYPTO’86, volume 263 of Lecture Notes in Computer Science, Santa Barbara, CA, USA, August 1987, pp 311–323. Springer, Heidelberg (1987)
Bernstein, R.: Multiplication by integer constants. Softw. Pract. Exp. 16(7), 641–652 (1986)
Cappello, P.R., Steiglitz, K.: Some complexity issues in digital signal processing. IEEE Trans. Acoust. Speech Signal Process. 32(5), 1037–1041 (1984)
Certivox. The MIRACL big number library. See https://www.certivox.com/miracl
Cook, S.A.: On the minimum computation time of functions. PhD thesis (1966)
Dempster, A.G., Macleod, M.D.: Constant integer multiplication using minimum adders. IEE Proc.—Circ. Dev. Syst. 141(5), 407–413 (1994)
Dempster, A.G., Macleod, M.D.: Use of Multiplier Blocks to Reduce Filter Complexity. In: 1994 IEEE International Symposium on Circuits and Systems, ISCAS, 1994, pp. 263-266. London, England (1994). https://doi.org/10.1109/ISCAS.1994.409247
Diffie, W., Hellman, M.E.: New directions in cryptography. IEEE Trans. Inf. Theory 22(6), 644–654 (1976)
ElGamal, T.: On computing logarithms over finite fields. In: Williams, H.C. (ed.) Advances in Cryptology—CRYPTO’85, volume 218 of Lecture Notes in Computer Science, Santa Barbara, CA, USA, August 18–22, 1986, pp 396–402. Springer, Heidelberg (1986)
Feige, U., Fiat, A., Shamir, A.: Zero knowledge proofs of identity. In: Aho, A. (ed.) 19th Annual ACM Symposium on Theory of Computing, pp. 210–217, New York City, NY, USA, May 25–27, 1987. ACM Press (1987)
Feige, U., Fiat, A., Shamir, A.: Zero-knowledge proofs of identity. J. Cryptol. 1(2), 77–94 (1988)
Fürer, M.: Faster integer multiplication. SIAM J. Comput. 39(3), 979–1005 (2009)
Harvey, D., Van Der Hoeven, J., Lecerf, G.: Even faster integer multiplication. arXiv preprint arXiv:1407.3360 (2014)
Karatsuba, A., Ofman, Y.: Multiplication of many-digital numbers by automatic computers. Doklady Akad. Nauk SSSR 145, 293–294 (1962)
Knuth, D.: The Art of Computer Programming (1968)
Montgomery, P.L.: Modular multiplication without trial division. Math. Comput. 44(170), 519–521 (1985)
Schönhage, A., Strassen, V.: Schnelle Multiplikation grosser Zahlen. Computing 7(3–4), 281–292 (1971)
Toom, A.L.: The complexity of a scheme of functional elements realizing the multiplication of integers. Soviet Math. Dokl. 3, 714–716 (1963)
Wu, H., Hasan, M.A.: Closed-form expression for the average weight of signed-digit representations. IEEE Trans. Comput. 48(8), 848–851 (1999)
Author information
Authors and Affiliations
Corresponding author
Additional information
This article is part of the Topical Collection on Recent Trends in Cryptography
Appendix: Source code
Appendix: Source code
Rights and permissions
About this article
Cite this article
Ferradi, H., Géraud, R., Maimuţ, D. et al. Backtracking-assisted multiplication. Cryptogr. Commun. 10, 17–26 (2018). https://doi.org/10.1007/s12095-017-0254-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12095-017-0254-5