For mathematical definitions see the top-level Addition Chains.
Field and scalar inversions and square roots in elliptic curve cryptography are often computed in constant time as a fixed power \(x^n\), using a fixed addition chain for \(n\). The chain length is the number of field squarings plus multiplications. This page lists short chains for several standard exponents, including contributions from other searchers. Best known means best known to this page; it does not assert optimality. Every chain can be downloaded and checked.
Preliminary results; updated 2 November 2026.
The squarings and multiplications column gives the operation counts when the chain is used for exponentiation. The column \(s\) is the number of small steps in the new chain, so \(l(n)\le\lambda(n)+s\) and \(s(n)\le s\). The number of multiplications can exceed \(s\), because an addition that increases \(\lambda\) counts as a multiplication but not as a small step. The column \(s(n)\ge\) is the best known lower bound (currently from an older program called crouton).
| Exponent | \(n\) | Previous best | New length | Squarings + mults | \(s\) | \(s(n)\ge\) | Chain |
|---|---|---|---|---|---|---|---|
| secp256k1 field inversion | \(p-3 = 2^{256}-2^{32}-980\) | 269 [1,2] | 268 | 255 + 13 | 13 | 9 | download |
| NIST P-192 field inversion | \(p-2 = 2^{192}-2^{64}-3\) | 203 [2] | 202 | 190 + 12 | 11 | 9 | download |
| M-221 field inversion | \(p-2 = 2^{221}-5\) | 231 [2] | 230 | 220 + 10 | 10 | 9 | download |
| E-222 field inversion | \(p-2 = 2^{222}-119\) | 233 [2,3] | 232 | 220 + 12 | 11 | 9 | download |
| Curve1174 field inversion | \(p-2 = 2^{251}-11\) | 263 [2] | 261 | 250 + 11 | 11 | 9 | download |
| E-382 field inversion | \(p-2 = 2^{382}-107\) | 395 [2,3] | 393 | 381 + 12 | 12 | 9 | download |
| M-383 / Curve383187 field inversion | \(p-2 = 2^{383}-189\) | 396 [2] | 395 | 381 + 14 | 13 | 9 | download |
| Curve41417 field inversion | \(p-2 = 2^{414}-19\) | 426 [2] | 424 | 413 + 11 | 11 | 9 | download |
| M-511 field inversion | \(p-2 = 2^{511}-189\) | 525 [2,3] | 524 | 509 + 15 | 14 | 10 | download |
| NIST P-521 field inversion | \(p-2 = 2^{521}-3\) | 533 [3,4] | 532 | 520 + 12 | 12 | 10 | download |
| NIST P-384 square root | \((p+1)/4\) | 395 [4] | 394 | 381 + 13 | 13 | 9 | download |
[1] B. Smith, The Most Efficient Known Addition Chains for Field Element & Scalar Inversion. [2] M. McLoughlin, addchain results. [3] M. Scott, On inversion modulo pseudo-Mersenne primes, ePrint 2018/1038 (Table 1, counted as \(k-1\) squarings plus the multiplications listed). [4] Length from running the addchain ensemble; no published figure was found.
Brian Smith supplied the following chains on 1 November 2026. They are the best known to this page for the scalar inversion exponents \(n=q-2\), where \(q\) is the group order. All 1,013 supplied chains have been independently checked using exact integers: each begins at 1, every later element is the sum of two earlier elements, and each ends at the appropriate group order minus two. All chains in each collection are distinct by their numerical entries.
The operation counts describe a cheapest example within each supplied collection under Smith's illustrative cost model: one squaring costs 0.8 multiplications, giving cost \(0.8S+M\). Actual relative costs depend on the implementation. None of these lengths is proved optimal.
| Exponent | Length | \(s\) | \(s(n)\ge\) | Squarings + multiplications | Cost | Found by | Chain |
|---|---|---|---|---|---|---|---|
| NIST P-256 scalar inversion | 281 | 26 | 9 | 252 + 29 | 230.6 | Brian Smith (2026) | download |
| Curve25519 scalar inversion | 275 | 23 | 8 | 243 + 32 | 226.4 | Brian Smith (2026) | download |
| secp256k1 scalar inversion | 282 | 27 | 9 | 251 + 31 | 231.8 | Brian Smith (2026) | download |
| NIST P-384 scalar inversion | 419 | 36 | 9 | 377 + 42 | 343.6 | Brian Smith (2026) | download |
| NIST P-521 scalar inversion | 568 | 48 | 9 | 511 + 57 | 465.8 | Brian Smith (2026) | download |
Each download contains one chain in the one-integer-per-line format below. The selected example has the lowest weighted cost among the supplied chains of the shortest supplied length for that curve.
Smith reports using evolutionary search and a dynamic programming approach to tail addends, with promising heads handled separately. These are search methods, not proofs of global optimality. His P-256 and P-384 results supersede the dictionary-method chains previously found here (lengths 286 and 431). The earlier published scalar lengths on Smith's 2017 page were 292 (P-256), 283 (Curve25519), 290 (secp256k1), and 433 (P-384).
Source: personal communications from Brian Smith and his chain collection dated 1 November 2026; validation performed 2 November 2026. The P-384 result updates the previously reported length 420 to 419. The previously recorded small-step lower bounds remain 9 for P-256 and P-384; no new lower-bound computation is claimed here.
The column \(s=\text{length}-\lfloor\log_2 n\rfloor\) gives the number of small steps in the displayed chain, so \(s(n)\le s\). The column \(s(n)\ge\) records lower bounds on the minimum number of small steps, where \(s(n)=\ell(n)-\lfloor\log_2 n\rfloor\). A dash indicates that no lower bound is recorded here. These bounds can be updated independently of the example chains.
Each file lists the chain one element per line in increasing order, starting at 1 and ending at \(n\). Each element after the first is the sum of two earlier elements (possibly the same element twice). The number of lines minus one is the chain length.
Field exponents. Most field exponents have the form \(2^k-c\) or consist of a few long runs of ones. Typical chains build \(2^m-1\) with an exponent chain for \(m\) and append the remaining bits. The new chains choose the opening of the chain (the head) so that it produces both a seed \(2^a-1\) and the constant needed for the low bits, at no extra cost. For example, the Curve1174 chain starts 1, 2, 4, 8, 16, 20, 21, 42, 63, which gives \(2^6-1\) and 21 together. It then builds \(2^{246}-1\) from \(2^6-1\), and finishes with \((2^{246}-1)\cdot 2^5+21\). Every head below 512 and every minimal exponent chain was searched exhaustively within this structure.
Learning from truncated exponents. To find structures the run model misses, each exponent was shrunk to a family of 64-bit numbers with the same low bits and a shorter top run. Optimal chains for these were computed exactly with ac2fastfg. Where the optimal small instances beat the best constructed chain consistently as the run grew, the optimal chains were decoded and the mechanism rebuilt at full size. This is how the P-192 chain was found. With \(a=t-1\) and \(n=2^{3t}-2^t-3\) (P-192 has \(t=64\)):
\(P = 4(2^a-1)+1,\quad T = (2^a-1)\cdot 2^{t+1}+P = 2^{2t}-3,\quad n = T\cdot 2^t + P.\)
Only \(2^{63}-1\) has to be built. The second long run comes from a carry instead of a second exponent chain.
Scalar exponents. The low halves of scalar exponents are essentially random. The superseded chains (P-256: 286, P-384: 431) came from a dictionary method: \(n\) was written as a sum of terms \(d_i 2^{e_i}\), all the \(d_i\) were built with one addition sequence, and the decomposition was optimised by simulated annealing. The truncation method does not help for exponents of this kind.
None of these lengths is proved optimal. The size of the exponent is not the obstacle. Exact search handles exponents of several hundred bits when the number of small steps is small (fewer than about 9), and possibly more when the exponent's Hamming weight is large. These chains need 10 to 14 small steps for the field exponents, and the best scalar chains need 26 (P-256), 36 (P-384) and 27 (secp256k1). Both are beyond what exact search can currently settle. The truncation experiments give evidence for some of them:
Exponents where this work only matched the best known: Curve25519 field inversion (265), P-256 field inversion (266), P-384 field inversion (396), P-224 (234), Goldilocks (460), secp192k1 (205), secp224k1 (238), the Curve25519 \(2^{252}-3\) exponent (262), the secp256k1, P-256, Goldilocks and P-521 square roots, and the former Curve25519 scalar inversion result (283, now superseded by Smith's 275-step chain above).
Neill Clift, neillclift@live.com