A Faster Software Implementation of the Supersingular Isogeny Diffie-Hellman Key Exchange Protocol

# A Faster Software Implementation of the Supersingular Isogeny Diffie-Hellman Key Exchange Protocol

Nov 1, 2018·,,,·
0 min read

Armando Faz-Hernández

Julio López

Eduardo Ochoa-Jiménez

Francisco Rodríguez-Henríquez

Abstract

Since its introduction by Jao and De Feo in 2011, the supersingular isogeny Diffie-Hellman (SIDH) key exchange protocol has positioned itself as a promising candidate for post-quantum cryptography. One salient feature of the SIDH protocol is that it requires exceptionally short key sizes. However, the latency associated to SIDH is higher than the ones reported for other post-quantum cryptosystem proposals. Aiming to accelerate the SIDH runtime performance, we present in this work several algorithmic optimizations targeting both elliptic-curve and field arithmetic operations. We introduce in the context of the SIDH protocol a more efficient approach for calculating the elliptic curve operation $P+[k]Q$. Our strategy achieves a factor 1.4 speedup compared with the popular variable-three-point ladder algorithm regularly used in the SIDH shared secret phase. Moreover, profiting from pre-computation techniques our algorithm yields a factor 1.7 acceleration for the computation of this operation in the SIDH key generation phase. We also present an optimized evaluation of the point tripling formula, and discuss several algorithmic and implementation techniques that lead to faster field arithmetic computations. A software implementation of the above improvements on an Intel Skylake Core i7-6700 processor gives a factor 1.33 speedup against the state-of-the-art software implementation of the SIDH protocol reported by Costello-Longa-Naehrig in CRYPTO 2016.

Type

Publication

*IEEE Transactions on Computers*

Diffie-Hellman
Scalar Multiplication
Elliptic Curves
Montgomery Reduction
Montgomery Ladder
Isogeny
Post-Quantum Cryptography

### Related

- High-performance Implementation of Elliptic Curve Cryptography Using Vector Instructions
- Generation of Elliptic Curve Points in Tandem
- Implementing and Measuring KEMTLS
- ZKAttest: Ring and Group Signatures for existing ECDSA keys
- High-Performance Elliptic Curve Cryptography: A SIMD Approach to Modern Curves