Fast constant-time gcd computation and modular inversion
Keywords:Euclid’s algorithm, greatest common divisor, gcd, modular reciprocal, modular inversion, constant-time computations, branchless algorithms, algorithm, design, NTRU, Curve25519
This paper introduces streamlined constant-time variants of Euclid’s algorithm, both for polynomial inputs and for integer inputs. As concrete applications, this paper saves time in (1) modular inversion for Curve25519, which was previously believed to be handled much more efficiently by Fermat’s method, and (2) key generation for the ntruhrss701 and sntrup4591761 lattice-based cryptosystems.
How to Cite
Copyright (c) 2019 Daniel J. Bernstein, Bo-Yin Yang
This work is licensed under a Creative Commons Attribution 4.0 International License.