Expand description
§Power-of-two cyclotomic ring R = ℤ[X]/(Xⁿ + 1), n = 2ᵏ
When n is a power of two, Xⁿ + 1 = Φ_{2n}(X) is the 2n-th cyclotomic polynomial, so R is the ring
of integers 𝒪_K of the cyclotomic field K = ℚ(ζ_{2n}) (ζ_{2n} a primitive 2n-th root of unity,
played by X). This is the algebraic substrate of Module-LWE — ML-KEM/Kyber live over R_q with
n = 256. Multiplication is negacyclic (Xⁿ ≡ −1).
The field’s Galois group is Gal(K/ℚ) ≅ (ℤ/2n)^× — the ring automorphisms σ_t : X ↦ X^t for odd
t, of which there are exactly φ(2n) = n. This rigid, fully-known symmetry group is precisely what
structure-exploiting cryptanalysis (the log-unit lattice, the Principal Ideal Problem) rides on: two
generators of an ideal differ by a unit, and the units are governed by these automorphisms. It is the
lattice analogue of the Aut(E₀)-orbit collapse in the isogeny keyspace — symmetry = compression.
This module builds the ring and its Galois action honestly. It does not break Module-LWE: it is the substrate on which the (short-generator) attacks that do work are expressed, and the lens that measures where they stop.
Structs§
- Cyclo
- An element of
R = ℤ[X]/(Xⁿ + 1): the coefficient vector[a₀, …, a_{n−1}]ofΣ aᵢ Xⁱ, withna power of two. - LogUnit
Audit - An audit of the log-unit lattice geometry
Λ = Log(units)that governs CDPR recovery — the decoding scale of the symmetry-quotient.
Functions§
- approximation_
scale - The upstream wall, measured. The approximation scale of the log-unit collapse at dimension
n: the covering radiusμ(Λ)against the shortest basis log-length — a proxy for the factor by which a log-unit-decoded generator can exceed the true shortest vector. To threaten Module-LWE this factor would have to stay polynomial; instead it grows super-polynomially withn(asymptotically2^{Õ(√n)}, Cramer–Ducas–Wesolowski 2017). This is the real wall — not the symmetry-collapse rung (which is cheap, asrecovery_marginshows) but the quality of what the collapse can decode as the field grows. - audit_
log_ unit - Measure the log-unit lattice geometry for
R = ℤ[X]/(Xⁿ+1). - cyclotomic_
units - The cyclotomic units
b_j = 1 + X + ⋯ + X^{j−1} = (Xʲ−1)/(X−1)forjan odd residue in[3, n−1]. These aren/2 − 1independent units — a basis of a finite-index subgroup of the unit group, and the basis of the log-unit lattice used by CDPR. - galois_
group - The
n = φ(2n)Galois automorphisms ofR = ℤ[X]/(Xⁿ+1), as the odd residues mod2nthat index them. - recover_
short_ generator - CDPR short-generator recovery. Given a generator
hof a principal ideal that has an unusually short generatorg(soh = g·ufor a unitu), recover a short generator: projectLog(h)onto the log-unit lattice against the cyclotomic-unit basis to strip the unit, divide it out exactly (via the Galois-conjugate inverse), and pick the exact generator of smallest coefficient-norm over a local search around the rounded lattice point. Returnsgup to a root of unity±Xᵐ. This is the genuine break on schemes that expose a short principal-ideal generator (Soliloquy, Smart–Vercauteren); it does not touch Module-LWE, where the secret is not such a generator. - recovery_
margin - The CDPR recovery margin of a candidate generator
g:‖proj_{span Λ} Log(g)‖ / μ(Λ). A generator whose log projects to well within the covering radius (margin < 1) is decodable by stripping the unit;margin ≫ 1is beyond the decoding region. This measures where the short-generator wall is — and, honestly, it is small even for short (ML-KEM-shaped) secrets, showing the log-unit collapse is not where Module-LWE’s hardness lives: that sits upstream (no principal-ideal-generator to hand the attacker, module rank ≥ 2, and the2^Õ(√n)Ideal-SVP approximation gap).