Abstract
Multiprecision multiplication and squaring are fundamental operations used heavily in fielded public key cryptosystems. The method called product scanning for both multiplication and squaring requires fewer memory accesses than the competing approach called operand scanning. A correctness proof for product scanning loop logic will assure that the method works as intended (beyond engineering testing) and will improve understanding of it. However, no proofs of correctness for product scanning multiplication loop logic nor product scanning squaring loop logic has been provided before, to our knowledge. To this end, in this note we provide exact combinatorial characterizations of the loop structure for both product scanning multiplication and product scanning squaring and then use these characterizations to present the first proofs of correctness for the iterative loops of these methods. Specifically, we identify the two combinatorial families that are inherently present in the loop structures. We give closed form expressions that count the size of these families and show successor algorithms for them. The combinatorial families we present may help shed light on the structure of similar methods. We also present loop control code that leverages these two successor algorithms. This has applications to implementations of cryptography and multiprecision libraries.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Programmer’s note: if j is erroneously implemented using an unsigned type then the check \(j \ge 0\) would be flagged by a good compiler as superfluous and even worse the output would not be correct.
- 2.
Programmer’s note: if i is erroneously implemented using an unsigned type then the check \(i \ge 0\) would be flagged by a good compiler as superfluous and even worse the output would not be correct.
References
Comba, P.: Exponentiation cryptosystems on the IBM PC. IBM Syst. J. 29, 526–538 (1990)
Cook, S.A.: On the minimum computation time of functions. Ph.D. thesis, Harvard University (1966)
Großschädl, J., Avanzi, R.M., Savaş, E., Tillich, S.: Energy-efficient software implementation of long integer modular arithmetic. In: Rao, J.R., Sunar, B. (eds.) CHES 2005. LNCS, vol. 3659, pp. 75–90. Springer, Heidelberg (2005). doi:10.1007/11545262_6
Hankerson, D., Menezes, A., Vanstone, S.: Guide to Elliptic Curve Cryptography. Springer, New York (2004)
Kaliski, Jr., B.S.: The Z80180 and big-number arithmetic. Dr. Dobb’s J. 50–58, September 1993. https://www.linkedin.com/in/burtkaliskijr
Karatsuba, A., Ofman, Y.: Multiplication of multidigit numbers on automata. Dokl. Akad. Nauk SSSR 145, 293–294 (1962)
Kreher, D.L., Stinson, D.R.: Combinatorial Algorithms-Generation, Enumeration, and Search. CRC Press, Boca Raton (1999)
Nijenhuis, A., Wilf, H.S.: Combinatorial Algorithms for Computers and Calculators, 2nd edn. Academic Press, Inc., New York (1978)
Schönhage, A., Strassen, V.: Schnelle Multiplikation großer Zahlen. Computing 7, 281–292 (1971)
Toom, A.L.: The complexity of a scheme of functional elements realizing the multiplication of integers. Dokl. Akad. Nauk SSSR 150(3), 496–498 (1963)
Tuckerman, B.: The 24th Mersenne prime. Proc. Nat. Acad. Sci. 68(10), 2319–2320 (1971)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Integer Squaring
Integer Squaring
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Young, A.L., Yung, M. (2017). The Combinatorics of Product Scanning Multiplication and Squaring. In: Dolev, S., Lodha, S. (eds) Cyber Security Cryptography and Machine Learning. CSCML 2017. Lecture Notes in Computer Science(), vol 10332. Springer, Cham. https://doi.org/10.1007/978-3-319-60080-2_8
Download citation
DOI: https://doi.org/10.1007/978-3-319-60080-2_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-60079-6
Online ISBN: 978-3-319-60080-2
eBook Packages: Computer ScienceComputer Science (R0)