Actas de congresos
Fast Software Polynomial Multiplication On Arm Processors Using The Neon Engine
Registro en:
9783642405877
Lecture Notes In Computer Science (including Subseries Lecture Notes In Artificial Intelligence And Lecture Notes In Bioinformatics). , v. 8128 LNCS, n. , p. 137 - 154, 2013.
3029743
10.1007/978-3-642-40588-4_10
2-s2.0-84892879537
Autor
Camara D.
Gouvea C.P.L.
Lopez J.
Dahab R.
Institución
Resumen
Efficient algorithms for binary field operations are required in several cryptographic operations such as digital signatures over binary elliptic curves and encryption. The main performance-critical operation in these fields is the multiplication, since most processors do not support instructions to carry out a polynomial multiplication. In this paper we describe a novel software multiplier for performing a polynomial multiplication of two 64-bit binary polynomials based on the VMULL instruction included in the NEON engine supported in many ARM processors. This multiplier is then used as a building block to obtain a fast software multiplication in the binary field F2m, which is up to 45% faster compared to the best known algorithm. We also illustrate the performance improvement in point multiplication on binary elliptic curves using the new multiplier, improving the performance of standard NIST curves at the 128-and 256-bit levels of security. The impact on the GCM authenticated encryption scheme is also studied, with new speed records. We present timing results of our software implementation on the ARM Cortex-A8, A9 and A15 processors. © IFIP International Federation for Information Processing 2013. 8128 LNCS
137 154 Aranha, D.F., Gouvêa, C.P.L., RELIC Is An Efficient LIbrary for Cryptography, , http://code.google.com/p/relic-toolkit/ Aranha, D.F., Faz-Hernández, A., López, J., Rodríguez- Henríquez, F., Faster implementation of scalar multiplication on Koblitz curves (2012) LatinCrypt 2012. LNCS, 7533, pp. 177-193. , Hevia, A., Neven, G. (eds.), Springer, Heidelberg (2012) ARMv8 Instruction Set Overview, , ARM Limited Barker, E., Johnson, D., Smid, M., (2007) NIST SP 800-56A: Recommendation for Pairwise Key Establishment Schemes Using Discrete Logarithm Cryptography, , March Bernstein, D.J., Batch binary edwards (2009) CRYPTO 2009. LNCS, 5677, pp. 317-336. , Halevi, S. (ed.), Springer, Heidelberg Bernstein, D.J., Schwabe, P., NEON crypto (2012) CHES 2012. LNCS, 7428, pp. 320-339. , Prouff, E., Schaumont, P. (eds.), Springer, Heidelberg Faz-Hernández, A., Longa, P., Sánchez, A.H., Efficient and secure algorithms for GLV-based scalar multiplication and their implementation on GLV-GLS curves (2013) Cryptology EPrint Archive, Report 2013/158, , http://eprint.iacr.org/ Gallant, R.P., Lambert, R.J., Vanstone, S.A., Faster point multiplication on elliptic curves with efficient endomorphisms (2001) CRYPTO 2001. LNCS, 2139, pp. 190-200. , Kilian, J. (ed.), rftxt Springer, Heidelberg Hamburg, M., Fast and compact elliptic-curve cryptography (2012) Cryptology EPrint Archive, Report 2012/309, , http://eprint.iacr.org/ Itoh, T., Tsujii, S., A fast algorithm for computing multiplicative inverses in GF(2m) using normal bases (1988) Information and Computation, 78 (3), pp. 171-177 Karatsuba, A., Ofman, Y., Multiplication of multidigit numbers on automata (1963) Soviet Physics Doklady, 7, p. 595 Kocher, P.C., Timing attacks on implementations of Diffie-hellman, RSA, DSS, and other systems (1996) CRYPTO 1996. LNCS, 1109, pp. 104-113. , http://dx.doi.org/10.1007/3-540-68697-5_9, Koblitz, N. (ed.), Springer, Heidelberg Krovetz, T., Rogaway, P., The software performance of authenticated-encryption modes (2011) FSE 2011. LNCS, 6733, pp. 306-327. , Joux, A. (ed.), Springer, Heidelberg Käsper, E., Fast elliptic curve cryptography in OpenSSL (2012) FC 2011 Workshops. LNCS, 7126, pp. 27-39. , Danezis, G., Dietrich, S., Sako, K. (eds.), Springer, Heidelberg López, J., Dahab, R., High-speed software multiplication in F2m (2000) INDOCRYPT 2000. LNCS, 1977, pp. 203-212. , Roy, B., Okamoto, E. (eds.), Springer, Heidelberg López, J., Dahab, R., Fast multiplication on elliptic curves over GF(2m) without precomputation (1999) CHES 1999. LNCS, 1717, pp. 316-327. , Koç, C.K., Paar, C. (eds.), Springer, Heidelberg McGrew, D.A., Viega, J., The security and performance of the galois/counter mode (GCM) of operation (2004) INDOCRYPT 2004. LNCS, 3348, pp. 343-355. , Canteaut, A., Viswanathan, K. (eds.), Springer, Heidelberg Möller, B., Algorithms for multi-exponentiation (2001) SAC 2001. LNCS, 2259, pp. 165-180. , Vaudenay, S., Youssef, A.M. (eds.), Springer, Heidelberg Möller, N., Nettle, low-level cryptographics library Nettle Git Repository, 2013. , http://git.lysator.liu.se/nettle/nettle/blobs/ 9422a55130ba65f73a053f063efa6226f945b4f1/sec-modinv.c#line67 Morozov, S., Tergino, C., Schaumont, P., System integration of elliptic curve cryptography on an OMAP platform (2011) 2011 IEEE 9th Symposium on Application Specific Processors (SASP), pp. 52-57. , IEEE (2009) National Institute of Standards and Technology: FIPS 186-3: Digital Signature Standard (DSS), , http://www.itl.nist.gov, June Polyakov, A., The OpenSSL project (2013) OpenSSL Git Repository, , http://git.openssl.org/gitweb/?p=openssl.git;a=blob;f=crypto/modes/asm/ ghash-armv4.pl;h=d91586ee2925bb695899b17bb8a7242aa3bf9150;hb= 9575d1a91ad9dd6eb5c964365dfbb72dbd3d1333#l35 Schnorr, C.P., Efficient signature generation by smart cards (1991) Journal of Cryptology, 4 (3), pp. 161-174 Solinas, J.A., Efficient arithmetic on koblitz curves (2000) Designs, Codes and Cryptography, 19 (2), pp. 195-249