# American Institute of Mathematical Sciences

August  2017, 11(3): 453-469. doi: 10.3934/amc.2017038

## Computing elliptic curve discrete logarithms with improved baby-step giant-step algorithm

 1 Mathematics Department, University of Auckland, New Zealand 2 College of Information Engineering, Shenzhen University, Shenzhen 518060, China 3 School of Data and Computer Science, Sun Yat-sen University, Guangzhou 510006, China

* Corresponding author

Received  June 2015 Revised  February 2016 Published  August 2017

Fund Project: This work was supported by the National Natural Science Foundation of China (No. 61672550,61402293).

The negation map can be used to speed up the computation of elliptic curve discrete logarithms using either the baby-step giant-step algorithm (BSGS) or Pollard rho. Montgomery's simultaneous modular inversion can also be used to speed up Pollard rho when running many walks in parallel. We generalize these ideas and exploit the fact that for any two elliptic curve points X and Y, we can efficiently get X-Y when we compute X+Y. We apply these ideas to speed up the baby-step giant-step algorithm. Compared to the previous methods, the new methods can achieve a significant speedup for computing elliptic curve discrete logarithms in small groups or small intervals.

Another contribution of our paper is to give an analysis of the average-case running time of Bernstein and Lange's "grumpy giants and a baby" algorithm, and also to consider this algorithm in the case of groups with efficient inversion.

Our conclusion is that, in the fully-optimised context, both the interleaved BSGS and grumpy-giants algorithms have superior average-case running time compared with Pollard rho. Furthermore, for the discrete logarithm problem in an interval, the interleaved BSGS algorithm is considerably faster than the Pollard kangaroo or Gaudry-Schost methods.

Citation: Steven D. Galbraith, Ping Wang, Fangguo Zhang. Computing elliptic curve discrete logarithms with improved baby-step giant-step algorithm. Advances in Mathematics of Communications, 2017, 11 (3) : 453-469. doi: 10.3934/amc.2017038
##### References:

show all references

##### References:
Graph of $c(t) t^2$ for $t \in [0,1]$ obtained by simulations for the three values $M = \sqrt{N/2}, M = \sqrt{N}$ and $M = \tfrac{1}{2}\sqrt{N}$. The multiple lines denote the results for different experiments coming from different choices of $N$
Graph of $c(t) t^2$ for $t \in [0,1]$ obtained by simulations, for grumpy giants method using $x$-coordinates, with $M = \sqrt{N/2}$ and $M = \sqrt{N}$
Size of set $\mathcal{L}_L$ written as $c(t) L^2$ where $t = L/\sqrt{N}$.
 $t$ 0 0.12 0.24 0.37 0.49 0.61 0.73 0.85 0.97 $c(t)$ 3 3 3 2.99 2.79 2.3 1.77 1.35 1.06
 $t$ 0 0.12 0.24 0.37 0.49 0.61 0.73 0.85 0.97 $c(t)$ 3 3 3 2.99 2.79 2.3 1.77 1.35 1.06
Results of experiments with the grumpy-giants algorithm without negation
 Bits #Elliptic Curves #DLPs per Curve average value for c standard deviation 28 100 10000 1.2579 0.0083 29 100 10000 1.2533 0.0064 30 100 10000 1.2484 0.0062 31 100 10000 1.2517 0.0067 32 100 10000 1.2736 0.0054
 Bits #Elliptic Curves #DLPs per Curve average value for c standard deviation 28 100 10000 1.2579 0.0083 29 100 10000 1.2533 0.0064 30 100 10000 1.2484 0.0062 31 100 10000 1.2517 0.0067 32 100 10000 1.2736 0.0054
The table lists constants $c$ such that the named algorithm requires $(c + o(1)) \sqrt{N}$ group operations for large enough groups of size $N$. The first block lists algorithms for general groups, and all these results are known (see Section 2). The values for the grumpy-giant algorithm (marked by an asterisk) are conjectural and the values for the rho and Gaudry-Schost algorithm are heuristic. The second block lists algorithms for groups having an efficiently computable inversion (see Section 3). Some of these results are new (the first one appears as an exercise in the first author's textbook). The third block lists algorithms that exploit efficient inversion as well as our main observation, and these results are all new (see Section 5)
 Algorithm Average-case Worst-case Textbook BSGS [19] $1.5$ $2.0$ Textbook BSGS optimised for average-case [18] $1.414$ $2.121$ Pollard interleaving BSGS [17] $1.333$ $2.0$ Grumpy giants [2] $1.25^*$ $\le 3$ Pollard rho using distinguished points [20] $1.253$ $\infty$ Gaudry-Schost [7] $1.661$ $\infty$ BSGS with negation $1.0$ $1.5$ Pollard interleaving BSGS with negation $0.943$ $1.414$ Grumpy giants with negation $0.9^*$ $\le 2.7$ Pollard rho using negation [3,21] $0.886(1 + o(1))$ $\infty$ Gaudry-Schost using negation [8] $1.36$ $\infty$ Interleaved BSGS with block computation $0.38$ $0.57$ Grumpy giants with block computation $0.36^*$ $\le 1.08$ Pollard rho with Montgomery trick $0.47$ $\infty$ Gaudry-Schost with Montgomery trick $0.72$ $\infty$
 Algorithm Average-case Worst-case Textbook BSGS [19] $1.5$ $2.0$ Textbook BSGS optimised for average-case [18] $1.414$ $2.121$ Pollard interleaving BSGS [17] $1.333$ $2.0$ Grumpy giants [2] $1.25^*$ $\le 3$ Pollard rho using distinguished points [20] $1.253$ $\infty$ Gaudry-Schost [7] $1.661$ $\infty$ BSGS with negation $1.0$ $1.5$ Pollard interleaving BSGS with negation $0.943$ $1.414$ Grumpy giants with negation $0.9^*$ $\le 2.7$ Pollard rho using negation [3,21] $0.886(1 + o(1))$ $\infty$ Gaudry-Schost using negation [8] $1.36$ $\infty$ Interleaved BSGS with block computation $0.38$ $0.57$ Grumpy giants with block computation $0.36^*$ $\le 1.08$ Pollard rho with Montgomery trick $0.47$ $\infty$ Gaudry-Schost with Montgomery trick $0.72$ $\infty$
Size of set $\mathcal{L}_L$ written as $c(t) L^2$ where $t = L/\sqrt{N}$
 $t$ 0 0.15 0.3 0.46 0.61 0.76 0.91 $c(t)$ 6 5.76 5.47 4.1 2.56 1.72 1.2
 $t$ 0 0.15 0.3 0.46 0.61 0.76 0.91 $c(t)$ 6 5.76 5.47 4.1 2.56 1.72 1.2
Results of experiments with the grumpy-giants algorithm exploiting efficient inversion
 Bits #Elliptic Curves #DLPs per Curve average value for c standard deviation 28 100 10000 0.8926 0.0077 29 100 10000 0.9053 0.0061 30 100 10000 0.8961 0.0073 31 100 10000 0.9048 0.0068 32 100 10000 0.9207 0.0065
 Bits #Elliptic Curves #DLPs per Curve average value for c standard deviation 28 100 10000 0.8926 0.0077 29 100 10000 0.9053 0.0061 30 100 10000 0.8961 0.0073 31 100 10000 0.9048 0.0068 32 100 10000 0.9207 0.0065
Results of experiments with the 4-giants algorithm without negation
 Bits #Elliptic Curves #DLPs per Curve average value for $c$ 28 100 10000 1.2867 29 100 10000 1.3002 30 100 10000 1.2926 31 100 10000 1.2944 32 100 10000 1.3150
 Bits #Elliptic Curves #DLPs per Curve average value for $c$ 28 100 10000 1.2867 29 100 10000 1.3002 30 100 10000 1.2926 31 100 10000 1.2944 32 100 10000 1.3150
 [1] Lianshuan Shi, Enmin Feng, Huanchun Sun, Zhaosheng Feng. A two-step algorithm for layout optimization of structures with discrete variables. Journal of Industrial & Management Optimization, 2007, 3 (3) : 543-552. doi: 10.3934/jimo.2007.3.543 [2] Behrouz Kheirfam. A full Nesterov-Todd step infeasible interior-point algorithm for symmetric optimization based on a specific kernel function. Numerical Algebra, Control & Optimization, 2013, 3 (4) : 601-614. doi: 10.3934/naco.2013.3.601 [3] Yanqin Bai, Lipu Zhang. A full-Newton step interior-point algorithm for symmetric cone convex quadratic optimization. Journal of Industrial & Management Optimization, 2011, 7 (4) : 891-906. doi: 10.3934/jimo.2011.7.891 [4] Yinghong Xu, Lipu Zhang, Jing Zhang. A full-modified-Newton step infeasible interior-point algorithm for linear optimization. Journal of Industrial & Management Optimization, 2016, 12 (1) : 103-116. doi: 10.3934/jimo.2016.12.103 [5] Xiaoyu Xing, Hailiang Yang. American type geometric step options. Journal of Industrial & Management Optimization, 2013, 9 (3) : 549-560. doi: 10.3934/jimo.2013.9.549 [6] Delphine Boucher. A first step towards the skew duadic codes. Advances in Mathematics of Communications, 2018, 12 (3) : 553-577. doi: 10.3934/amc.2018033 [7] Jon Aaronson, Michael Bromberg, Nishant Chandgotia. Rational ergodicity of step function skew products. Journal of Modern Dynamics, 2018, 13: 1-42. doi: 10.3934/jmd.2018012 [8] Cuixia Miao, Yuzhong Zhang. Scheduling with step-deteriorating jobs to minimize the makespan. Journal of Industrial & Management Optimization, 2019, 15 (4) : 1955-1964. doi: 10.3934/jimo.2018131 [9] Santos González, Llorenç Huguet, Consuelo Martínez, Hugo Villafañe. Discrete logarithm like problems and linear recurring sequences. Advances in Mathematics of Communications, 2013, 7 (2) : 187-195. doi: 10.3934/amc.2013.7.187 [10] Koray Karabina, Berkant Ustaoglu. Invalid-curve attacks on (hyper)elliptic curve cryptosystems. Advances in Mathematics of Communications, 2010, 4 (3) : 307-321. doi: 10.3934/amc.2010.4.307 [11] Andrew J. Steyer, Erik S. Van Vleck. Underlying one-step methods and nonautonomous stability of general linear methods. Discrete & Continuous Dynamical Systems - B, 2018, 23 (7) : 2859-2877. doi: 10.3934/dcdsb.2018108 [12] Peter E. Kloeden, Björn Schmalfuss. Lyapunov functions and attractors under variable time-step discretization. Discrete & Continuous Dynamical Systems - A, 1996, 2 (2) : 163-172. doi: 10.3934/dcds.1996.2.163 [13] Michael A. Saum, Tim Schulze. The role of processing speed in determining step patterns during directional epitaxy. Discrete & Continuous Dynamical Systems - B, 2009, 11 (2) : 443-457. doi: 10.3934/dcdsb.2009.11.443 [14] Lifeng Chen, Jifa Jiang. Stochastic epidemic models driven by stochastic algorithms with constant step. Discrete & Continuous Dynamical Systems - B, 2016, 21 (2) : 721-736. doi: 10.3934/dcdsb.2016.21.721 [15] Yoonsang Lee, Bjorn Engquist. Variable step size multiscale methods for stiff and highly oscillatory dynamical systems. Discrete & Continuous Dynamical Systems - A, 2014, 34 (3) : 1079-1097. doi: 10.3934/dcds.2014.34.1079 [16] Behrouz Kheirfam, Guoqiang Wang. An infeasible full NT-step interior point method for circular optimization. Numerical Algebra, Control & Optimization, 2017, 7 (2) : 171-184. doi: 10.3934/naco.2017011 [17] Tingting Wu, Yufei Yang, Huichao Jing. Two-step methods for image zooming using duality strategies. Numerical Algebra, Control & Optimization, 2014, 4 (3) : 209-225. doi: 10.3934/naco.2014.4.209 [18] Van Hieu Dang. An extension of hybrid method without extrapolation step to equilibrium problems. Journal of Industrial & Management Optimization, 2017, 13 (4) : 1723-1741. doi: 10.3934/jimo.2017015 [19] Angelamaria Cardone, Dajana Conte, Beatrice Paternoster. Two-step collocation methods for fractional differential equations. Discrete & Continuous Dynamical Systems - B, 2018, 23 (7) : 2709-2725. doi: 10.3934/dcdsb.2018088 [20] Marie-Claude Arnaud. A nondifferentiable essential irrational invariant curve for a $C^1$ symplectic twist map. Journal of Modern Dynamics, 2011, 5 (3) : 583-591. doi: 10.3934/jmd.2011.5.583

2018 Impact Factor: 0.879