Skip to main content

Double-Speed Barrett Moduli

  • Chapter
  • First Online:
The New Codebreakers

Part of the book series: Lecture Notes in Computer Science ((LNSC,volume 9100))

Abstract

Modular multiplication and modular reduction are the atomic constituents of most public-key cryptosystems. Amongst the numerous algorithms for performing these operations, a particularly elegant method was proposed by Barrett. This method builds the operation \(a \,\text {mod}\,b\) from bit shifts, multiplications and additions in \(\mathbb {Z}\). This allows to build modular reduction at very marginal code or silicon costs by leveraging existing hardware or software multipliers.

This paper presents a method allowing to double the speed of Barrett’s algorithm by using specific composite moduli. This is particularly useful for lightweight devices where such an optimization can make a difference in terms of power consumption, cost and processing time. The generation of composite moduli with a predetermined portion is a well-known technique and the use of such moduli is considered, in statu scientiæ, as safe as using randomly generated composite moduli.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    For the sake of clarity we remove all tests meant to enforce the condition \(\text{ GCD }(e,\phi (n))=1\).

  2. 2.

    A few more complexity bits can be grabbed if the variant described in the note at the end of Sect. 3 is used.

References

  1. Barrett, P.: Implementing the Rivest Shamir and Adleman public key encryption algorithm on a standard digital signal processor. In: Odlyzko, A.M. (ed.) CRYPTO 1986. LNCS, vol. 263, pp. 311–323. Springer, Heidelberg (1987)

    Chapter  Google Scholar 

  2. Bernstein, R.: Multiplication by integer constants. Softw. Pract. Exp. 16(7), 641–652 (1986)

    Article  Google Scholar 

  3. Bosselaers, A., Govaerts, R., Vandewalle, J.: Comparison of three modular reduction functions. In: Stinson, D.R. (ed.) CRYPTO 1993. LNCS, vol. 773, pp. 175–186. Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  4. Brickell, E.F.: A Fast Modular Multiplication Algorithm with Applications to TwoKey Cryptography. Crypto 1982, pp. 51–60. Springer, New York (1983)

    Chapter  Google Scholar 

  5. Douguet, M., Dupaquis, V.: Modular reduction using a special form of the modulus. U.S. Patent Application 12/033,512, filed February 19, Atmel Corporation (2008)

    Google Scholar 

  6. Joye, M.: RSA moduli with a predetermined portion: techniques and applications. In: Chen, L., Mu, Y., Susilo, W. (eds.) ISPEC 2008. LNCS, vol. 4991, pp. 116–130. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  7. Knežević, M., Batina, L., Verbauwhede, I.: Modular reduction without precomputational phase. In: Proceedings of the IEEE International Symposium on Circuits and Systems (ISCAS), pp. 1389–1392. IEEE (2009)

    Google Scholar 

  8. Knobloch, H.-J.: A smart card implementation of the Fiat-Shamir identification scheme. In: Günther, C.G. (ed.) EUROCRYPT 1988. LNCS, vol. 330, pp. 87–95. Springer, Heidelberg (1988)

    Chapter  Google Scholar 

  9. Knuth, D.E.: The Art of Computer Programming. Seminumerical Algorithms, vol. 2, 2nd edn. Addison Wesley, Reading (1981)

    MATH  Google Scholar 

  10. Lenstra, A.K.: Generating RSA moduli with a predetermined portion. In: Ohta, K., Pei, D. (eds.) ASIACRYPT 1998. LNCS, vol. 1514, pp. 1–10. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  11. Meister, G.: On an implementation of the Mohan-Adiga algorithm. In: Damgård, I.B. (ed.) EUROCRYPT 1990. LNCS, vol. 473, pp. 496–500. Springer, Heidelberg (1991)

    Chapter  Google Scholar 

  12. Montgomery, P.L.: Modular multiplication without trial division. Math. Comput. 44(170), 519–521 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  13. National Institute of Standards and Technology (NIST): Digital Signature Standard. FIPS PUB 186–2 (2013)

    Google Scholar 

  14. National Institute of Standards and Technology (NIST): Digital Signature Standard. FIPS PUB 186–4 (2013)

    Google Scholar 

  15. Rivest, R.L., Shamir, A., Adleman, L.M.: A method for obtaining digital signatures and public-key cryptosystems. Commun. Assoc. Comput. Mach. 21(2), 120–126 (1978)

    MathSciNet  MATH  Google Scholar 

  16. Shparlinski, I.E.: On RSA moduli with prescribed bit patterns. Des. Codes Cryptogr. 39(1), 113–122 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  17. Vanstone, S.A., Zuccherato, R.J.: Short RSA keys and their generation. J. Cryptol. 8(2), 101–114 (1995)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to David Naccache .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Géraud, R., Maimuţ, D., Naccache, D. (2016). Double-Speed Barrett Moduli. In: Ryan, P., Naccache, D., Quisquater, JJ. (eds) The New Codebreakers. Lecture Notes in Computer Science(), vol 9100. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-49301-4_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-49301-4_10

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-49300-7

  • Online ISBN: 978-3-662-49301-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics