Speeding up elliptic curve arithmetic on ARM processors using NEON instructions

Raudel Cuiman Márquez, Alejandro José Cabrera Sarmiento, Santiago Sánchez-Solano


This article studies the use of NEON instructions for the implementation of elliptic curve cryptographic primitives on ARM Cortex-A processors. Starting from the analysis of point arithmetic formulas in different coordinate systems it was possible to identify several operations with no data dependency. Then, it is shown how these operations can be conveniently grouped in pairs to perform them in parallel using the NEON engine. Following this approach, dual NEON-based multiplications and squarings in the finite field Fp are proposed. Furthermore, these dual Fp operations are also used to speed up multiplications and squarings over field extension Fp2. Finally, after integrating them into the point addition and point doubling formulas, we measure their impact on the execution time of scalar multiplications on elliptic curves defined over both finite fields. Experiments were conducted on the ARM Cortex-A9 processing system embedded in the Xilinx XC7Z020 device. The NEON-based elliptic curve scalar point multiplication reported a performance improvement of up to 30% over a conventional implementation of the same operation when instantiated on 256-bit elliptic curves over either Fp or Fp2.

Palabras clave

elliptic curve cryptography, scalar point multiplication, ARM Cortex-A processors, NEON instruction set

Texto completo:

PDF (English)

Facultad de Ingeniería Automática y Biomédica, Universidad Tecnológica de La Habana  José Antonio Echeverría, Cujae, Calle 114 No. 11901. e/ Ciclovía y Rotonda. Marianao 15.
La Habana, Cuba. CP 19390. Telf: (537) 266 3476
E-mail: rielac@tesla.cujae.edu.cu | URL: http://rielac.cujae.edu.cu
ISSN: 1815-5928

Todo el contenido de la revista se encuentra bajo la licencia https://creativecommons.org/licenses/by/4.0/deed.es_ES. La revista en línea tiene acceso abierto y gratuito