Armed with Faster Crypto: Optimizing Elliptic Curve Cryptography for ARM Processors

Research output: Contribution to journalArticlepeer-review

Abstract

Elliptic curve cryptography is a widely deployed technology for securing digital communication. It is the basis of many cryptographic primitives such as key agreement protocols, digital signatures, and zero-knowledge proofs. Fast elliptic curve cryptography relies on heavily optimised modular arithmetic operations, which are often tailored to specific micro-architectures. In this article, we study and evaluate optimisations of the popular elliptic curve Curve25519 for ARM processors. We specifically target the ARM NEON single instruction, multiple data (SIMD) architecture, which is a popular architecture for modern smartphones. We introduce a novel representation for 128-bit NEON SIMD vectors, optimised for SIMD parallelisation, to accelerate elliptic curve operations significantly. Leveraging this representation, we implement an extended twisted Edwards curve Curve25519 back-end within the popular Rust library “curve25519-dalek”. We extensively evaluate our implementation across multiple ARM devices using both cryptographic benchmarks and the benchmark suite available for the Signal protocol. Our findings demonstrate a substantial back-end speed-up of at least 20% for ARM NEON, along with a noteworthy speed improvement of at least 15% for benchmarked Signal functions.
Original languageEnglish
Article number1030
Number of pages15
JournalSensors
Volume24
Issue number3
DOIs
Publication statusPublished - 5 Feb 2024

Bibliographical note

Funding Information:
This work was in part supported by the Vlaio TETRA Project RustIEC (HBC.2021.0066).

Publisher Copyright:
© 2024 by the authors.

Keywords

  • extended twisted Edwards curve
  • Curve25519
  • single instruction, multiple data (SIMD)
  • Rust
  • ARM NEON

Fingerprint

Dive into the research topics of 'Armed with Faster Crypto: Optimizing Elliptic Curve Cryptography for ARM Processors'. Together they form a unique fingerprint.

Cite this