Skip to main content
Log in

Efficient Hardware Implementation Architectures for Long Integer Modular Multiplication over General Solinas Prime

  • Published:
Journal of Signal Processing Systems Aims and scope Submit manuscript

Abstract

Modular multiplication of long integers is a key component of elliptic curve cryptography and homomorphic encryption. The multiplication complexity can be reduced by applying the Karatsuba algorithm that decomposes the operands into shorter segments. Nevertheless, for long numbers, it takes many clock cycles in previous designs to calculate the final result by adding the segment products and then carrying out modular reduction. This paper considers Solinas prime moduli and proposes to integrate modular reduction into the segment products computed in the Karatsuba multiplication process. Accordingly, the intermediate results become much shorter and they can be added simultaneously using a Wallace-tree-based multi-input adder with small area overhead. Moduli of different formats are investigated in this paper. In addition, various optimization schemes are proposed to further reduce the latency and area requirement. Complexity analysis shows that, for 2, 3 and 4 decomposed multiplication with an example modulus, our design on average achieves 18.5% reduction on the latency with 5.5% increase in the area compared to the design that carries out modular reduction after final result of the multiplication is computed.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10

Similar content being viewed by others

References

  1. Solinas, J. (1999). Generalized Mersenne numbers. Center for Applied Cryptographic Research: University of Waterloo.

    Google Scholar 

  2. National Institute of Standards and Technology (NIST). (2000). Federal Information Processing Standard (FIPS) 186-4. Digital Signature Standard.

  3. Angel, J., & Morales-Luna, G. (2010). Solinas primes of small weight for fixed sizes. IACR Cryptol, ePrint Arch.

  4. Montgomery, P. L. (1985). Modular multiplication without trial division. Mathematics of Computation, 44, 519–521.

    Article  MathSciNet  Google Scholar 

  5. Schönhage, A., & Strassen, V. (1971). Schnelle multiplikation großer Zahlen. Computing, 7(3), 281–292.

    Article  MathSciNet  Google Scholar 

  6. Karatsuba, A., & Ofman, Y. (1962). Multiplication of many-digital numbers by automatic computers. Proc. of the USSR Academy of Sciences, 145, pp. 293-294.

  7. Yazaki, S., & Abe, K. (2009). VLSI design of Karatsuba integer multipliers and its evaluation. Electronics and Communications in Japan, 92(4).

  8. Weimerskirch A., & Paar, C. (2003). Generalizations of the Karatsuba algorithm for efficient implementations. Technical Report, Ruhr-Universität-Bochum, Germany.

  9. Rebeiro, C., & Mukhopadhyay, D. (2008). High speed compact elliptic curve cryptoprocessor for FPGA platforms. Proceeding International Conference on Cryptology in India, Springer, pp. 376-388.

  10. Parhi, K. K. (1999). VLSI Digital Signal Processing Systems: Design and Implementations. Wiley.

    Google Scholar 

  11. Langhammer, M., & Pasca, B. (2021). Folded integer multiplication for FPGAs (pp. 160–170). New York, USA: Proc. ACM/SIGDA Intl. Symp. on Field-Programmable Gate Arrays.

    Google Scholar 

  12. Chung, J., & Hasan, A. (2003). More generalized Mersenne numbers. Proc. Intl Workshop on Selected Areas in Cryptography, pp. 335-347.

  13. Bluemel, R., Laue, R., & Huss, S. A. (2005). A highly efficient modular multiplication algorithm for finite field arithmetic in GF(P). Proc. of ECRYPT Workshop, Cryptographic Advances in Secure Hardware.

  14. Gu, Z., & Li, S. (2020). A novel method of modular multiplication based on Karatsuba-like multiplication. Proc: IEEE Symp. on Computer Arithmetic.

    Book  Google Scholar 

  15. Tan, W., et al. (2021) High-speed modular multiplier for lattice-based cryptosystems. IEEE Transactions on Circuits and Systems II: Express Briefs, 68(8), pp. 2927-2931.

  16. Zhang, X., & Parhi, K. K. (2021). Reduced-complexity modular polynomial multiplication for R-LWE cryptosystems. Speech and Signal Processing: Proc. of Intl. Conf. on Acoustics.

    Book  Google Scholar 

  17. Huai, Z., Parhi, K. K., & Zhang, X. (2021). Efficient architecture for long integer modular multiplication over Solinas prime. IEEE Workshop on Signal Processing Syst: Proc.

    Book  Google Scholar 

  18. Liu, R., & Li, S. (2019). A design and implementation of Montgomery modular multiplier. Sapporo, Japan: Proceeding of IEEE International Symposium on Circuits and Systems.

    Book  Google Scholar 

Download references

Funding

This work is supported in part by Semiconductor Research Corporation under contract number 2020-HW-2988.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xinmiao Zhang.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Huai, Z., Zhou, J. & Zhang, X. Efficient Hardware Implementation Architectures for Long Integer Modular Multiplication over General Solinas Prime. J Sign Process Syst 94, 1067–1082 (2022). https://doi.org/10.1007/s11265-022-01794-z

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-022-01794-z

Keywords

Navigation