NordSec 2015: Secure IT Systems pp 91-105 | Cite as

Faster Binary Curve Software: A Case Study

  • Billy Bob Brumley
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9417)

Abstract

For decades, elliptic curves over binary fields appear in numerous standards including those mandated by NIST, SECG, and ANSI X9.62. Many popular security protocols such as TLS explicitly support these named curves, along with implementations of those protocols such as OpenSSL and NSS. Over the past few years, research in improving the performance and/or security of these named curve implementations has pushed forward the state-of-the-art: e.g. projective lambda coordinates (Oliveira et al.) and commodity microprocessors featuring carryless multiplication instructions for native polynomial arithmetic (Intel, ARM, Qualcomm). This work aggregates some of these new techniques as well as classical ones to bring an existing library closer to the state-of-the art. Using OpenSSL as a case study to establish the practical impact of these techniques on real systems, results show significant performance improvements while at the same time adhering to the existing software architecture.

Keywords

Applied cryptography Public key cryptography Elliptic Curve Cryptography OpenSSL 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Al-Daoud, E., Mahmod, R., Rushdan, M., Kiliçman, A.: A new addition formula for elliptic curves over GF(2\({}^{\text{n}}\)). IEEE Trans. Computers 51(8), 972–975 (2002). http://doi.ieeecomputersociety.org/10.1109/TC.2002.1024743CrossRefGoogle Scholar
  2. 2.
    Avanzi, R., Brumley, B.B.: Faster 128-EEA3 and 128-EIA3 software. Cryptology ePrint Archive, Report 2013/428 (2013). https://eprint.iacr.org/2013/428
  3. 3.
    Biham, E., Carmeli, Y., Shamir, A.: Bug attacks. In: Wagner, D. (ed.) CRYPTO 2008. LNCS, vol. 5157, pp. 221–240. Springer, Heidelberg (2008) CrossRefGoogle Scholar
  4. 4.
    Bluhm, M., Gueron, S.: Fast software implementation of binary elliptic curve cryptography. J. Cryptographic Engineering 5(3), 215–226 (2015). http://dx.doi.org/10.1007/s13389-015-0094-1CrossRefGoogle Scholar
  5. 5.
    Brumley, B.B.: Faster software for fast endomorphisms. In: Mangard, S., Poschmann, A.Y. (eds.) COSADE 2015. LNCS, vol. 9064, pp. 127–140. Springer, Heidelberg (2015) CrossRefGoogle Scholar
  6. 6.
    Brumley, B.B., Barbosa, M., Page, D., Vercauteren, F.: Practical realisation and elimination of an ecc-related software bug attack. In: Dunkelman, O. (ed.) CT-RSA 2012. LNCS, vol. 7178, pp. 171–186. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  7. 7.
    Brumley, B.B., Hakala, R.M.: Cache-timing template attacks. In: Matsui, M. (ed.) ASIACRYPT 2009. LNCS, vol. 5912, pp. 667–684. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  8. 8.
    Cohen, H., Frey, G., Avanzi, R., Doche, C., Lange, T., Nguyen, K., Vercauteren, F. (eds.): Handbook of Elliptic and Hyperelliptic Curve Cryptography. Discrete Mathematics and its Applications(Boca Raton). Chapman & Hall/CRC, Boca Raton (2006)MATHGoogle Scholar
  9. 9.
    Coron, J.: Resistance against differential power analysis for elliptic curve cryptosystems. In: Koç, Ç.K., Paar, C. (eds.) [16], pp. 292–302. http://dx.doi.org/10.1007/3-540-48059-5_25
  10. 10.
    Gueron, S., Krasnov, V.: Fast prime field elliptic-curve cryptography with 256-bit primes. J. Cryptographic Engineering 5(2), 141–151 (2015). http://dx.doi.org/10.1007/s13389-014-0090-xCrossRefGoogle Scholar
  11. 11.
    Hankerson, D., Menezes, A., Vanstone, S.: Guide to elliptic curve cryptography. Springer, New York (2004). Springer Professional Computing MATHGoogle Scholar
  12. 12.
    IEEE: Standard specifications for public key cryptography. P1363 (1999)Google Scholar
  13. 13.
    Käsper, E.: Fast elliptic curve cryptography in OpenSSL. In: Danezis, G., Dietrich, S., Sako, K. (eds.) FC 2011 Workshops 2011. LNCS, vol. 7126, pp. 27–39. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  14. 14.
    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) CrossRefGoogle Scholar
  15. 15.
    Koblitz, N.: CM-curves with good cryptographic properties. In: Feigenbaum, J. (ed.) CRYPTO 1991. LNCS, vol. 576, pp. 279–287. springer, Heidelberg (1992) Google Scholar
  16. 16.
    Koç, Ç.K., Paar, C. (eds.): CHES1999. LNCS, vol. 1717. Springer, Heidelberg (1999) MATHGoogle Scholar
  17. 17.
    López, J., Dahab, R.: Fast multiplication on elliptic curves over GF(2\({}^{\text{m}}\)) without precomputation. In: Koç, Ç.K., Paar, C. [16], pp. 316–327. http://dx.doi.org/10.1007/3-540-48059-5_27
  18. 18.
    Möller, B.: Algorithms for multi-exponentiation. In: Vaudenay, S., Youssef, A.M. (eds.) SAC 2001. LNCS, vol. 2259, p. 165. Springer, Heidelberg (2001) CrossRefGoogle Scholar
  19. 19.
    Möller, B.: Improved techniques for fast exponentiation. In: Lee, P.J., Lim, C.H. (eds.) ICISC 2002. LNCS, vol. 2587, pp. 298–312. Springer, Heidelberg (2003) CrossRefGoogle Scholar
  20. 20.
    NIST: Digital signature standard (DSS). FIPS 186–4, National Institute of Standards and Technology (2013). http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf
  21. 21.
    Oliveira, T., López, J., Aranha, D.F., Rodríguez-Henríquez, F.: Two is the fastest prime: lambda coordinates for binary elliptic curves. J. Cryptographic Engineering 4(1), 3–17 (2014). http://dx.doi.org/10.1007/s13389-013-0069-zCrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Billy Bob Brumley
    • 1
  1. 1.Department of Pervasive ComputingTampere University of TechnologyTampereFinland

Personalised recommendations