Four-Dimensional Gallant-Lambert-Vanstone Scalar Multiplication - Longa, Patrick; Sica, Francesco (Advances in Cryptology - ASIACRYPT 2012, 2012)
The GLV method of Gallant, Lambert and Vanstone (CRYPTO 2001) computes any multiple kP of a point P of prime order n lying on an elliptic curve with a low-degree endomorphism Φ (called GLV curve) over GF(p) as kP = k1 P + k2 Φ(P), with max|k1|,|k2| 0. Recently, Galbraith, Lin and Scott (EUROCRYPT 2009) extended this method to all curves over GF(p2) which are twists of curves defined over GF(p). We show in this work how to merge the two approaches in order to get, for twists of any GLV curve over GF(p2), a four-dimensional decomposition together with fast endomorphisms Φ, Ψ over GF(p2) acting on the group generated by a point P of prime order n, resulting in a proven decomposition for any scalar k ∈ [1,n] given by kP = k1 P+ k2 Φ(P) + k3 Ψ(P) + k4 ΨΦ(P), with maxi (|ki|) 0. Remarkably, taking the best C1, C2, we obtain C2/C1 < 412, independently of the curve, ensuring in theory an almost constant relative speedup. In practice, our experiments reveal that the use of the merged GLV-GLS approach supports a scalar multiplication that runs up to 50% faster than the original GLV method. We then improve this performance even further by exploiting the Twisted Edwards model and show that curves originally slower may become extremely efficient on this model. In addition, we analyze the performance of the method on a multicore setting and describe how to efficiently protect GLV-based scalar multiplication against several side-channel attacks. Our implementations improve the state-of-the-art performance of point multiplication for a variety of scenarios including side-channel protected and unprotected cases with sequential and multicore execution.