Skip to main content

Parallelized Software Implementation of Elliptic Curve Scalar Multiplication

  • Conference paper
  • First Online:
Information Security and Cryptology (Inscrypt 2014)

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

Included in the following conference series:

  • 1137 Accesses

Abstract

Recent developments of multicore architectures over various platforms (desktop computers and servers as well as embedded systems) challenge the classical approaches of sequential computation algorithms, in particular elliptic curve cryptography protocols. In this work, we deploy different parallel software implementations of elliptic curve scalar multiplication of point, in order to improve the performances in comparison with the sequential counter parts, taking into account the multi-threading synchronization, scalar recoding and memory management issues. Two thread and four thread algorithms are tested on various curves over prime and binary fields, they provide improvement ratio of around 15 % in comparison with their sequential counterparts.

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

References

  1. Explicit formula database (2014). http://www.hyperelliptic.org/EFD/index.html

  2. Bernstein, D.J.: Curve25519: new Diffie-Hellman speed records. In: Yung, M., Dodis, Y., Kiayias, A., Malkin, T. (eds.) PKC 2006. LNCS, vol. 3958, pp. 207–228. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  3. Bernstein, D.J., Lange, T. (eds): eBACS: ECRYPT Benchmarking of Cryptograhic Systems (2012). http://bench.cr.yp.to/. Accessed 25 May 2014

  4. Billet, O., Joye, M.: The Jacobi model of an elliptic curve and side-channel analysis. In: Fossorier, Marc P.C., Høholdt, Tom, Poli, Alain (eds.) AAECC 2003. LNCS, vol. 2643, pp. 34–42. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  5. Fong, K., Hankerson, D., López, J., Menezes, A.: Field inversion and point halving revisited. IEEE Trans. Comput. 53(8), 1047–1059 (2004)

    Article  Google Scholar 

  6. Granlund, T., The GMP Development Team: GNU MP: The GNU Multiple Precision Arithmetic Library, 5.0.5 edition (2012). http://gmplib.org/

  7. Hamburg, M.: Fast and compact elliptic-curve cryptography. Technical report, Cryptology ePrint Archive, Report 2012/309 (2012). http://eprint.iacr.org/

  8. Hankerson, D., Hernandez, J.L., Menezes, A.: Software implementation of elliptic curve cryptography over binary fields. In: Paar, C., Koç, Ç.K. (eds.) CHES 2000. LNCS, vol. 1965, pp. 1–24. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  9. Hankerson, D., Menezes, A., Vanstone, S.: Guide to Elliptic Curve Cryptography. Springer, New York (2004)

    MATH  Google Scholar 

  10. Itoh, T., Tsujii, S.: A fast algorithm for computing multiplicative inverses in GF(\(2^m\)) using normal bases. Inf. Comput. 78(3), 171–177 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  11. Kim, K.H., Kim, S.I.: A new method for speeding up arithmetic on elliptic curves over binary fields. D.P.R. of Korea, Technical report, National Academy of Science, Pyongyang(2007)

    Google Scholar 

  12. Knudsen, E.W.: Elliptic scalar multiplication using point halving. In: Lam, K.-Y., Okamoto, E., Xing, C. (eds.) ASIACRYPT 1999. LNCS, vol. 1716, pp. 135–149. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  13. Langley, A.: C25519 code (2008). http://code.google.com/p/curve25519-donna/

  14. Longa, P., Gebotys, C.: Efficient techniques for high-speed elliptic curve cryptography. In: Mangard, S., Standaert, F.-X. (eds.) CHES 2010. LNCS, vol. 6225, pp. 80–94. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  15. Moreno, C., Hasan, M.A.: SPA-resistant binary exponentiation with optimal execution time. J. Cryptographic Eng. 1(2), 87–99 (2011)

    Article  Google Scholar 

  16. Mueller, F.: A library implementation of POSIX threads under UNIX. In: USENIX Winter, pp. 29–42 (1993)

    Google Scholar 

  17. Nègre, C., Robert, J.-M.: Impact of optimized field operations AB, AC and AB + CD in scalar multiplication over binary elliptic curve. Technical report hal-00724785, HAL, July 2014

    Google Scholar 

  18. Gallagher, P., Furlani, C.: Digital Signature Standard (DSS). In: FIPS Publications, vol. FIPS 186-3, p. 93. NIST (2009)

    Google Scholar 

  19. Tannenbaum, A.S.: Modern Operating Systems (2009). http://www.freewebs.com/ictft/sisop/Tanenbaum_Chapter2.pdf

  20. Taverne, J., Faz-Hernández, A., Aranha, D.F., Rodríguez-Henríquez, F., Hankerson, D., López, J.: Speeding scalar multiplication over binary elliptic curves using the new carry-less multiplication instruction. J. Cryptographic Eng. 1(3), 187–199 (2011)

    Article  Google Scholar 

Download references

Acknowledgement

We would like to thank Christophe Nègre for his valuable and helpful comments.

This work has been suported by a PHD grant from PAVOIS project (ANR 12 BS02 002 01).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jean-Marc Robert .

Editor information

Editors and Affiliations

A Appendix: Curve Parameters

A Appendix: Curve Parameters

1.1 A.1 Elliptic Curves over Binary Field

The curve equation is:

$$y^2+xy=x^3+x^2+b \text { where } b \in \mathbb {F}_{2^m}. $$

The parameters are for B233:

$$ \begin{array}{rcl} a &{}=&{} 1, \\ h &{}=&{} 2,\\ f(x) &{}=&{} x^{233} + x^{74} + 1, \\ b &{}=&{} \mathtt{0x00000066 ~\mathtt 647ede6c ~\mathtt 332c7f8c ~\mathtt 0923bb58 ~\mathtt 213b333b ~ \mathtt 20e9ce42 ~\mathtt 81fe115f ~\mathtt 7d8f90ad },\\ r &{}=&{} \mathtt{0x00000100 ~\mathtt 00000000 ~\mathtt 00000000 ~\mathtt 00000000 ~\mathtt 0013e974 ~\mathtt e72f8a69 ~\mathtt 22031d26 ~\mathtt 03cfe0d7 }.\\ \end{array} $$

where the order of the curve is \(n \times h\). For B409 we have:

$$ \begin{array}{rcl} a &{}=&{} 1, \\ h &{}=&{} 2, \\ f(x) &{}=&{} x^{409} + x^{87} + 1,\\ b &{}=&{} \mathtt{0x0021a5c2 ~\mathtt c8ee9feb ~\mathtt 5c4b9a75 ~\mathtt 3b7b476b ~\mathtt 7fd6422e ~\mathtt f1f3dd67 ~\mathtt 4761fa99 ~\mathtt d6ac27c8 }\\ &{} &{}\mathtt{a9a197b2 ~\mathtt 72822f6c ~\mathtt d57a55aa ~\mathtt 4f50ae31 ~\mathtt 7b13545f, }\\ r &{}=&{} \mathtt{0x01000000 ~\mathtt 00000000 ~\mathtt 00000000 ~\mathtt 00000000 ~\mathtt 00000000 ~\mathtt 00000000 ~\mathtt 000001e2 ~\mathtt aad6a612 }\\ &{} &{}\mathtt{f33307be ~\mathtt 5fa47c3c ~\mathtt 9e052f83 ~\mathtt 8164cd37 ~\mathtt d9a21173. }\\ \end{array} $$

1.2 A.2 Weierstrass Curve over Prime Field

The curve equation is:

$$y^2=x^3-3x+b \text { where } b \in \mathbb {F}_p. $$

The parameters are:

$$\begin{array}{lcl} p &{}=&{} 2^{255}-19\\ b &{}=&{} \mathtt{0x1d09bac9ffe9e7f8284aed0442552779bcdef2e62b9cb1d568513fa798b94003 }\\ r &{}=&{} \mathtt{0x800000000000000000000000000000012c18945a05ad7f2edf026258ea5288ef } \end{array}$$

\(r\) is the prime order of \(P\).

1.3 A.3 Jacobi Quartic Curve over Prime Field

The curve equation is:

$$y^2=x^4-\frac{3}{2}\theta x^2+1, \theta \in \mathbb {F}_p. $$

The parameters are:

$$\begin{array}{ll} \theta &{}= \mathtt{0x1731beeea2156180446f9e5ab64af78d4ed3e0eb68d5070c10ef2468b910d5f7 }\\ {\text {number}}&{} {\text {of points:}}\\ h\times r &{}= \mathtt{0x800000000000000000000000000000002672bdbb41f31390c5527cab6e282744 }\\ &{}=4\cdot \mathtt{0x20000000000000000000000000000000099caf6ed07cc4e431549f2adb8a09d1 } \end{array}$$

The Jacobi Quartic curve is isomorphic to the following Weierstrass elliptic curve:

$$y^2=x^3+ax+b$$

where: \(a=(-16-3\theta ^2)/4\) and \(b=-\theta ^3-a\theta \). Hence, in our case:

$$\begin{array}{lcl} a &{}=&{} \mathtt{0xc500be2450246d16c114830a5d1aef9c2b80c567b4fd87562c69db659713ad2, }\\ b &{}=&{} \mathtt{0xa38f53e5d27462dcdada9a78b9eac482ef06e855af92ca704060c551a9a5854. } \end{array}$$

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Robert, JM. (2015). Parallelized Software Implementation of Elliptic Curve Scalar Multiplication. In: Lin, D., Yung, M., Zhou, J. (eds) Information Security and Cryptology. Inscrypt 2014. Lecture Notes in Computer Science(), vol 8957. Springer, Cham. https://doi.org/10.1007/978-3-319-16745-9_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-16745-9_24

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-16744-2

  • Online ISBN: 978-3-319-16745-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics