Armed with Faster Crypto: Optimizing Elliptic Curve Cryptography for ARM Processors
Author:
De Smet Ruben1, Blancquaert Robrecht2ORCID, Godden Tom2, Steenhaut Kris12, Braeken An2
Affiliation:
1. Department of Electronics and Informatics (ETRO), Vrije Universiteit Brussel, Pleinlaan 2, B-1050 Brussels, Belgium 2. Department of Engineering Technology (INDI), Vrije Universiteit Brussel, Pleinlaan 2, B-1050 Brussels, Belgium
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.
Funder
Vlaio TETRA Project RustIEC
Reference25 articles.
1. Rescorla, E. (2022, December 16). The Transport Layer Security (TLS) Protocol Version 1.3. Request for Comments RFC 8446, Internet Engineering Task Force. Available online: https://datatracker.ietf.org/doc/rfc8446. 2. Sarafa, R. (2021, April 27). New Features Coming to Signal Groups. Available online: https://signal.org/blog/new-groups/. 3. Lund, J. (2021, April 27). Technology Preview: Sealed Sender for Signal. Available online: https://signal.org/blog/sealed-sender/. 4. Bünz, B., Bootle, J., Boneh, D., Poelstra, A., Wuille, P., and Maxwell, G. (2018, January 20–24). Bulletproofs: Short Proofs for Confidential Transactions and More. Proceedings of the 2018 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA. 5. Yung, M., Dodis, Y., Kiayias, A., and Malkin, T. (2006, January 24–26). Curve25519: New Diffie-Hellman Speed Records. Proceedings of the International Workshop on Public Key Cryptography, New York, NY, USA.
|
|