liveBook · Manning

Complex multiplication

As explained in Elliptic Curve Cryptography for Developers

Complex multiplication is a method for constructing elliptic curves with specified endomorphism properties using complex-analytic or algebraic number theory.

Complex multiplication (CM) constructs an elliptic curve matching selected pairing parameters. After choosing an embedding degree, field prime, subgroup order, and curve cardinality, CM searches for a compatible curve equation through its j-invariant. section 14.1

The simplified CM workflow connects number-theoretic values to curve coefficients:

  • Use the discriminant relation D y² = 4q − t², with q as the field prime and t as the Frobenius trace. section 14.1
  • Use the discriminant to define a Hilbert class polynomial, then factor it to obtain candidate j-invariants. section 14.7
  • Recover curve coefficients from a j-invariant, test the resulting curve or its twist, and verify its cardinality. section 14.7
  • Repeat candidate values because low-embedding-degree algorithms have a low probability of producing acceptable parameters. section 14.7

Pairing parameter targets

For a 128-bit security target, the parameter table lists a 256-bit subgroup, a 3000–5000-bit extension field, and embedding degrees from 12 to 20. section 14.1

Table 14.1 Elliptic curve field sizes for pairings
Security level Subgroup size Extension field Embedding degree
80 160 960–1280 6–8
112 224 2200–3600 10–16
128 256 3000–5000 12–20
192 384 8000–10000 20–26
256 512 14000–18000 28–36

Compare subgroup sizes, extension-field sizes, and embedding-degree ranges across security levels before selecting CM parameters. section 14.1

How Elliptic Curve Cryptography for Developers covers it

How deep it goes
Defines the search workflow through discriminants, j-invariants, Hilbert class polynomials, twists, and verification, while deferring deeper mathematics.
Examples
Uses a discriminant equation and a security-level table relating subgroup size, extension-field size, and embedding degree.
What it assumes
Assumes elliptic-curve pairing parameters and introduces discriminants, Frobenius traces, j-invariants, and Hilbert class polynomials at a functional level.
What you can do after
Evaluate/understand how CM searches for a compatible curve, derives coefficients, handles twists, and verifies the chosen curve.
How it connects
Connects embedding degree, elliptic curves, discriminants, Frobenius traces, j-invariants, Hilbert class polynomials, twists, and curve cardinality.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Elliptic Curve Cryptography for Developers. The section links point to the parts of the book it draws on.