Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Candidate constructions

ConstructionFieldRepresentation choicesSources
Ordinary binary curves, Extended, unscaled or lambda-projective accumulation; subgroup encodings, by or by Pornin’s [pornin-2022, oliveira-et-al-2013, crrl, pornin-2024]
Binary curves over a quadratic towerDense or subfield (GLS) curve constants; the same accumulators and encodings[galbraith-lin-scott-2009, pornin-2023, oliveira-et-al-2013]
Complete Edwards curves, , or ; , Montgomery affine points, Edwards accumulators, cached addends[bernstein-lange-2007, hisil-et-al-2008, montgomery-1987]
Short Weierstrass curves, The same three fieldsComplete projective or Jacobian accumulation[renes-costello-batina-2016, efd]
Complete twisted Edwards curves, , ; , , or Quotient by the rational 2-torsion subgroup, a construction related to Decaf; canonical 16-byte encoding[bernstein-et-al-2008, hisil-et-al-2008, hamburg-2015, pornin-2024]
ristretto255 (reference), Upstream implementation[rfc9496, bernstein-2006, curve25519-dalek]
secp256k1 (reference), Upstream implementation[certicom-2010, libsecp256k1]

The 107- and 109-bit families give 14-byte encodings. Their nominal rho costs range from to group operations (Security considerations). They show the cost of trading security margin for width. The two 256-bit groups are fixed-curve references at conventional security levels.

Binary Edwards curves [bernstein-lange-farashahi-2008] are excluded on inspected operation counts under equal field arithmetic; they are not implemented or measured. Every ordinary binary curve is birationally equivalent to a complete binary Edwards curve [bernstein-lange-farashahi-2008, Theorem 4.3], so the exclusion is one of cost, not availability. Their complete mixed addition costs , and with the formulas of Kim, Lee and Negre [kim-lee-negre-2014]; the complete unscaled formulas used here [pornin-2022] cost . , and denote a field multiplication, a squaring and a multiplication by a curve constant, counted as a full multiplication for generic dense parameters. Mixed addition is the most frequent operation of the workload (Workload). The binary Edwards formulas with lower operation counts [bernstein-2009] are differential: they compute from , and , as a Montgomery ladder supplies them, and a coded-symbol update adds an independent hashed point with no known difference.

The quadratic extensions fit 16-byte encodings with one-word base arithmetic. Goldilocks [polygon-zero-2022] uses Plonky3’s implementation [plonky3]; its 2-adicity of 32 makes square roots, and so decoding and hashing, slower than over ; the benchmark report’s Goldilocks rows measure the difference. The 31-bit primes of current proof systems, M31 [haboeck-levit-papini-2024] and BabyBear [bruestle-gafni-2023], would need extensions of degree 4 to reach the same group size. Degree-4 extensions admit the heuristic index-calculus asymptotic [gaudry-2009], below the generic , so group size alone does not justify the target security there; these fields are excluded from the comparison.

The variable-curve families hash by try-and-increment [boneh-lynn-shacham-2001]. Alternatives are Elligator 2 [bernstein-et-al-2013] on every Edwards and twisted Edwards family, simplified SWU [rfc9380] on every Weierstrass family, and Pornin’s map [pornin-2023, crrl] on every binary family, each wherever its preconditions hold; curve::h2c tabulates the cells and the reason for each empty one. These are map-level alternatives. A single map is not indifferentiable from a random oracle, which the checksum does not require; the Adversary section states what it does require, and a sufficient condition that is not established for these maps or for try-and-increment. The fixed-curve references use the maps named by their benchmarks. The RIBLT benchmarks hash each family by the construction its run measured cheapest (The RIBLT plan).