{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,7]],"date-time":"2026-04-07T17:14:42Z","timestamp":1775582082680,"version":"3.50.1"},"reference-count":25,"publisher":"MDPI AG","issue":"3","license":[{"start":{"date-parts":[[2024,2,5]],"date-time":"2024-02-05T00:00:00Z","timestamp":1707091200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/100012331","name":"Vlaio TETRA Project RustIEC","doi-asserted-by":"publisher","award":["HBC.2021.0066"],"award-info":[{"award-number":["HBC.2021.0066"]}],"id":[{"id":"10.13039\/100012331","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Sensors"],"abstract":"<jats:p>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 \u201ccurve25519-dalek\u201d. 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.<\/jats:p>","DOI":"10.3390\/s24031030","type":"journal-article","created":{"date-parts":[[2024,2,5]],"date-time":"2024-02-05T05:22:44Z","timestamp":1707110564000},"page":"1030","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Armed with Faster Crypto: Optimizing Elliptic Curve Cryptography for ARM Processors"],"prefix":"10.3390","volume":"24","author":[{"given":"Ruben","family":"De Smet","sequence":"first","affiliation":[{"name":"Department of Electronics and Informatics (ETRO), Vrije Universiteit Brussel, Pleinlaan 2, B-1050 Brussels, Belgium"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0555-7794","authenticated-orcid":false,"given":"Robrecht","family":"Blancquaert","sequence":"additional","affiliation":[{"name":"Department of Engineering Technology (INDI), Vrije Universiteit Brussel, Pleinlaan 2, B-1050 Brussels, Belgium"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tom","family":"Godden","sequence":"additional","affiliation":[{"name":"Department of Engineering Technology (INDI), Vrije Universiteit Brussel, Pleinlaan 2, B-1050 Brussels, Belgium"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Kris","family":"Steenhaut","sequence":"additional","affiliation":[{"name":"Department of Electronics and Informatics (ETRO), Vrije Universiteit Brussel, Pleinlaan 2, B-1050 Brussels, Belgium"},{"name":"Department of Engineering Technology (INDI), Vrije Universiteit Brussel, Pleinlaan 2, B-1050 Brussels, Belgium"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"An","family":"Braeken","sequence":"additional","affiliation":[{"name":"Department of Engineering Technology (INDI), Vrije Universiteit Brussel, Pleinlaan 2, B-1050 Brussels, Belgium"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2024,2,5]]},"reference":[{"key":"ref_1","unstructured":"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."},{"key":"ref_2","unstructured":"Sarafa, R. (2021, April 27). New Features Coming to Signal Groups. Available online: https:\/\/signal.org\/blog\/new-groups\/."},{"key":"ref_3","unstructured":"Lund, J. (2021, April 27). Technology Preview: Sealed Sender for Signal. Available online: https:\/\/signal.org\/blog\/sealed-sender\/."},{"key":"ref_4","doi-asserted-by":"crossref","unstructured":"B\u00fcnz, B., Bootle, J., Boneh, D., Poelstra, A., Wuille, P., and Maxwell, G. (2018, January 20\u201324). Bulletproofs: Short Proofs for Confidential Transactions and More. Proceedings of the 2018 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA.","DOI":"10.1109\/SP.2018.00020"},{"key":"ref_5","doi-asserted-by":"crossref","unstructured":"Yung, M., Dodis, Y., Kiayias, A., and Malkin, T. (2006, January 24\u201326). Curve25519: New Diffie-Hellman Speed Records. Proceedings of the International Workshop on Public Key Cryptography, New York, NY, USA.","DOI":"10.1007\/11745853"},{"key":"ref_6","doi-asserted-by":"crossref","first-page":"326","DOI":"10.1007\/978-3-540-89255-7_20","article-title":"Twisted Edwards Curves Revisited","volume":"Volume 5350","author":"Pieprzyk","year":"2008","journal-title":"Advances in Cryptology\u2014ASIACRYPT 2008"},{"key":"ref_7","unstructured":"de Valence, H., and Lovecruft, I. (2018, June 17). Curve25519-Dalek: A Pure-Rust Implementation of Group Operations on Ristretto and Curve25519. Available online: https:\/\/github.com\/dalek-cryptography\/curve25519-dalek."},{"key":"ref_8","unstructured":"Rust Team (2023, October 06). Rust Programming Language. Available online: https:\/\/www.rust-lang.org\/."},{"key":"ref_9","doi-asserted-by":"crossref","unstructured":"Prouff, E., and Schaumont, P. (2012, January 9\u201312). NEON Crypto. Proceedings of the Cryptographic Hardware and Embedded Systems\u2014CHES 2012, Leuven, Belgium. Lecture Notes in Computer Science.","DOI":"10.1007\/978-3-642-33027-8"},{"key":"ref_10","unstructured":"Blancquaert, R. (2022). Elliptic Curve Field Arithmetic Speed-up Using SIMD Instructions. [Master\u2019s Thesis, Vrije Universiteit Brussel]."},{"key":"ref_11","doi-asserted-by":"crossref","unstructured":"Bos, J.W., Kleinjung, T., and Page, D. (2021). Computational Cryptography: Algorithmic Aspects of Cryptology, Cambridge University Press. Available online: www.cambridge.org\/9781108795937.","DOI":"10.1017\/9781108854207"},{"key":"ref_12","unstructured":"Hamburg, M. (2022, November 30). Fast and Compact Elliptic-Curve Cryptography. Available online: https:\/\/eprint.iacr.org\/2012\/309."},{"key":"ref_13","first-page":"1","article-title":"High-Performance Implementation of Elliptic Curve Cryptography Using Vector Instructions","volume":"45","author":"Dahab","year":"2019","journal-title":"ACM Trans. Math. Softw."},{"key":"ref_14","doi-asserted-by":"crossref","first-page":"698","DOI":"10.1007\/978-3-030-81652-0_27","article-title":"High-Throughput Elliptic Curve Cryptography Using AVX2 Vector Instructions","volume":"Volume 12804","author":"Dunkelman","year":"2021","journal-title":"Proceedings of the Selected Areas in Cryptography"},{"key":"ref_15","unstructured":"Goetschmann, P., Moser, F., Streun, F., and Tobler, L. (2020). Fast Implementations of Curve25519 on Intel Skylake, Department of Computer Science, ETH Z\u00fcrich. Available online: https:\/\/www.semanticscholar.org\/paper\/FAST-IMPLEMENTATIONS-OF-CURVE25519-ON-INTEL-SKYLAKE-Goetschmann-Moser\/6609e99a4164630fd8301a068f06a4b6e56ae00b."},{"key":"ref_16","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/3492734","article-title":"EC-ECC: Accelerating Elliptic Curve Cryptography for Edge Computing on Embedded GPU TX2","volume":"21","author":"Dong","year":"2022","journal-title":"ACM Trans. Embed. Comput. Syst."},{"key":"ref_17","first-page":"364","article-title":"Improving the Efficiency of Point Arithmetic on Elliptic Curves Using ARM Processors and NEON","volume":"24","author":"Luc","year":"2022","journal-title":"Int. J. Netw. Secur."},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Avanzi, R., and Heys, H. (2016, January 10\u201312). FourQNEON: Faster Elliptic Curve Scalar Multiplications on ARM Processors. Proceedings of the Selected Areas in Cryptography\u2014SAC 2016, St. John\u2019s, NL, Canada. Lecture Notes in Computer Science.","DOI":"10.1007\/978-3-319-69453-5"},{"key":"ref_19","doi-asserted-by":"crossref","unstructured":"Naccache, D., and Paillier, P. (2002, January 12\u201314). Weierstra\u00df Elliptic Curves and Side-Channel Attacks. Proceedings of the Public Key Cryptography, Paris, France. Lecture Notes in Computer Science.","DOI":"10.1007\/3-540-45664-3"},{"key":"ref_20","doi-asserted-by":"crossref","first-page":"705","DOI":"10.1007\/978-3-662-47989-6_34","article-title":"Decaf: Eliminating Cofactors Through Point Compression","volume":"Volume 9215","author":"Gennaro","year":"2015","journal-title":"Advances in Cryptology\u2014CRYPTO 2015"},{"key":"ref_21","unstructured":"Hamburg, M., de Valence, H., Lovecruft, I., and Arcieri, T. (2019, May 03). The Ristretto Group. Available online: https:\/\/ristretto.group."},{"key":"ref_22","doi-asserted-by":"crossref","unstructured":"Fan, J., Guo, X., De Mulder, E., Schaumont, P., Preneel, B., and Verbauwhede, I. (2010, January 13\u201314). State-of-the-art of secure ECC implementations: A survey on known side-channel attacks and countermeasures. Proceedings of the 2010 IEEE International Symposium on Hardware-Oriented Security and Trust (HOST), Anaheim, CA, USA.","DOI":"10.1109\/HST.2010.5513110"},{"key":"ref_23","unstructured":"Abarz\u00faa, R., Valencia, C., and L\u00f3pez, J. (2024, February 04). Survey for Performance & Security Problems of Passive Side-Channel Attacks Countermeasures in ECC. Cryptology ePrint Archive, Paper 2019\/010. Available online: https:\/\/eprint.iacr.org\/2019\/010."},{"key":"ref_24","unstructured":"Rust Foundation (2023, November 21). Packed_simd. The Rust Programming Language. Available online: https:\/\/github.com\/rust-lang\/packed_simd."},{"key":"ref_25","unstructured":"Heisler, B. (2023, November 21). Criterion.Rs: Statistics-Driven Microbenchmarking in Rust. Available online: https:\/\/github.com\/bheisler\/criterion.rs."}],"container-title":["Sensors"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1424-8220\/24\/3\/1030\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,10]],"date-time":"2025-10-10T13:55:13Z","timestamp":1760104513000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1424-8220\/24\/3\/1030"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,2,5]]},"references-count":25,"journal-issue":{"issue":"3","published-online":{"date-parts":[[2024,2]]}},"alternative-id":["s24031030"],"URL":"https:\/\/doi.org\/10.3390\/s24031030","relation":{},"ISSN":["1424-8220"],"issn-type":[{"value":"1424-8220","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,2,5]]}}}