Paper 2019/331
Optimized Supersingular Isogeny Key Encapsulation on ARMv8 Processors
Amir Jalali, Reza Azarderakhsh, Mehran Mozaffari Kermani, Matthew Campagna, and David Jao
Abstract
In this work, we present highly-optimized constant-time software libraries for Supersingular Isogeny Key Encapsulation (SIKE) protocol on ARMv8 processors. Our optimized hand-crafted assembly libraries provide the most efficient timing results on 64-bit ARM-powered devices. Moreover, the presented libraries can be integrated into any other cryptography primitives targeting the same finite field size. We design a new mixed implementation of field arithmetic on 64-bit ARM processors by exploiting the A64 and Advanced SIMD processing units working in parallel. Using these techniques, we are able to improve the performance of the entire protocol by the factor of 5 times compared to optimized C implementations on 64-bit ARM high-performance cores, providing 83-, 124-, and 159-bit quantum-security levels. Furthermore, we compare the performance of our proposed library with the previous highly-optimized ARMv8 assembly library available in the literature. The implementation results illustrate the overall 10% performance improvement in comparison with previous work, highlighting the benefit of using mixed implementation over relatively-large finite field size.
Metadata
- Available format(s)
- Category
- Public-key cryptography
- Publication info
- Preprint. MINOR revision.
- Keywords
- ARM assemblyfinite fieldisogeny-based cryptosystemskey encapsulation mechanismpost-quantum cryptography
- Contact author(s)
-
ajalali2016 @ fau edu
razarderakhsh @ fau edu
djao @ uwaterloo ca
mehran2 @ usf edu
campagna @ amazon com - History
- 2019-04-03: received
- Short URL
- https://ia.cr/2019/331
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2019/331, author = {Amir Jalali and Reza Azarderakhsh and Mehran Mozaffari Kermani and Matthew Campagna and David Jao}, title = {Optimized Supersingular Isogeny Key Encapsulation on {ARMv8} Processors}, howpublished = {Cryptology {ePrint} Archive, Paper 2019/331}, year = {2019}, url = {https://eprint.iacr.org/2019/331} }