Speeding up elliptic curve arithmetic on ARM processors using NEON instructions


Palabras clave:

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


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.







Artículos más leídos del mismo autor/a