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...
Main Authors: | , , , , |
---|---|
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 |