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

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 arithm...

Full description

Bibliographic Details
Main Authors: Ruben De Smet, Robrecht Blancquaert, Tom Godden, Kris Steenhaut, An Braeken
Format: Article
Language:English
Published: MDPI AG 2024-02-01
Series:Sensors
Subjects:
Online Access:https://www.mdpi.com/1424-8220/24/3/1030
_version_ 1797318223391096832
author Ruben De Smet
Robrecht Blancquaert
Tom Godden
Kris Steenhaut
An Braeken
author_facet Ruben De Smet
Robrecht Blancquaert
Tom Godden
Kris Steenhaut
An Braeken
author_sort Ruben De Smet
collection DOAJ
description 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.
first_indexed 2024-03-08T03:49:17Z
format Article
id doaj.art-ebe1eea7cc184e9bbbbe63918901819c
institution Directory Open Access Journal
issn 1424-8220
language English
last_indexed 2024-03-08T03:49:17Z
publishDate 2024-02-01
publisher MDPI AG
record_format Article
series Sensors
spelling doaj.art-ebe1eea7cc184e9bbbbe63918901819c2024-02-09T15:22:38ZengMDPI AGSensors1424-82202024-02-01243103010.3390/s24031030Armed with Faster Crypto: Optimizing Elliptic Curve Cryptography for ARM ProcessorsRuben De Smet0Robrecht Blancquaert1Tom Godden2Kris Steenhaut3An Braeken4Department of Electronics and Informatics (ETRO), Vrije Universiteit Brussel, Pleinlaan 2, B-1050 Brussels, BelgiumDepartment of Engineering Technology (INDI), Vrije Universiteit Brussel, Pleinlaan 2, B-1050 Brussels, BelgiumDepartment of Engineering Technology (INDI), Vrije Universiteit Brussel, Pleinlaan 2, B-1050 Brussels, BelgiumDepartment of Electronics and Informatics (ETRO), Vrije Universiteit Brussel, Pleinlaan 2, B-1050 Brussels, BelgiumDepartment of Engineering Technology (INDI), Vrije Universiteit Brussel, Pleinlaan 2, B-1050 Brussels, BelgiumElliptic 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.https://www.mdpi.com/1424-8220/24/3/1030extended twisted Edwards curveCurve25519single instruction, multiple data (SIMD)RustARM NEON
spellingShingle Ruben De Smet
Robrecht Blancquaert
Tom Godden
Kris Steenhaut
An Braeken
Armed with Faster Crypto: Optimizing Elliptic Curve Cryptography for ARM Processors
Sensors
extended twisted Edwards curve
Curve25519
single instruction, multiple data (SIMD)
Rust
ARM NEON
title Armed with Faster Crypto: Optimizing Elliptic Curve Cryptography for ARM Processors
title_full Armed with Faster Crypto: Optimizing Elliptic Curve Cryptography for ARM Processors
title_fullStr Armed with Faster Crypto: Optimizing Elliptic Curve Cryptography for ARM Processors
title_full_unstemmed Armed with Faster Crypto: Optimizing Elliptic Curve Cryptography for ARM Processors
title_short Armed with Faster Crypto: Optimizing Elliptic Curve Cryptography for ARM Processors
title_sort armed with faster crypto optimizing elliptic curve cryptography for arm processors
topic extended twisted Edwards curve
Curve25519
single instruction, multiple data (SIMD)
Rust
ARM NEON
url https://www.mdpi.com/1424-8220/24/3/1030
work_keys_str_mv AT rubendesmet armedwithfastercryptooptimizingellipticcurvecryptographyforarmprocessors
AT robrechtblancquaert armedwithfastercryptooptimizingellipticcurvecryptographyforarmprocessors
AT tomgodden armedwithfastercryptooptimizingellipticcurvecryptographyforarmprocessors
AT krissteenhaut armedwithfastercryptooptimizingellipticcurvecryptographyforarmprocessors
AT anbraeken armedwithfastercryptooptimizingellipticcurvecryptographyforarmprocessors