NordSec 2015: Secure IT Systems pp 91-105 | Cite as
Faster Binary Curve Software: A Case Study
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 OpenSSLPreview
Unable to display preview. Download preview PDF.
References
- 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.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.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.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.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.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.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.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.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.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.Hankerson, D., Menezes, A., Vanstone, S.: Guide to elliptic curve cryptography. Springer, New York (2004). Springer Professional Computing MATHGoogle Scholar
- 12.IEEE: Standard specifications for public key cryptography. P1363 (1999)Google Scholar
- 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.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.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.Koç, Ç.K., Paar, C. (eds.): CHES1999. LNCS, vol. 1717. Springer, Heidelberg (1999) MATHGoogle Scholar
- 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.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.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.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.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