Appendix B: Notation reference
A symbol in this book is always defined the first time it appears in a chapter. This appendix lists every reservation, organized by the part that introduces it, and flags the letters whose meaning shifts across parts.
When a symbol carries a subscript (like versus ), the bare letter is reserved only in the chapter that introduces the decoration, and the decorations are never elided.
Scope collisions
Section titled “Scope collisions”The book reuses a handful of letters across parts. Each occurrence is defined locally, but a reader moving between parts should confirm the context before interpreting the letter. A cell names the Part’s reserved meaning and the chapters that carry it. “Not reserved” means the Part introduces no book-level reservation for that letter, and never that no chapter uses it: a letter defined inside one construction, such as Chapter 32’s toy parameters or Chapter 33’s Schnorr example, is a legitimate local use and appears below only where a reader could carry the wrong meaning into it.
| Symbol | Part I | Part II | Part III | Part IV | Part VI |
|---|---|---|---|---|---|
| Modulus in modular arithmetic | Lattice dimension / polynomial degree | Hash output length | Code length (Ch 19 to Ch 21), reset in Ch 24 to the MQ variable count | Subgroup order in Ch 33’s Schnorr example, trace length in Ch 34 E3 | |
| RSA large prime (Ch 4) | ML-KEM modulus 3329 (Ch 11), ML-DSA modulus 8380417 (Ch 12) | Signatures observed by the adversary (Ch 16, Ch 18) | Field order (codes) | Quantum query budget (Ch 33, Ch 34), and the field order in Ch 32’s scalar toy | |
| Shor’s period (Ch 4), first half of an ECDSA signature (Ch 4) | Regev encryption randomness (Ch 10), ML-KEM coin seed (Ch 11) | XMSS per-signature randomizer (Ch 15) | Received word (Ch 19) | Schnorr nonce (Ch 33). Decorated as , , from Ch 34 on, never elided | |
| Second half of an ECDSA signature (Ch 4) | LWE secret vector | One-time secret-key slot | Syndrome (Ch 19) | Not reserved | |
| RSA public exponent (Ch 4) | LWE error vector | Not reserved | Error pattern in a received word | Schnorr challenge (Ch 33) | |
| RSA private exponent / ECDSA private key | ML-DSA dropped-bit count 13 (Ch 12), lattice dimension (Ch 13) | Digest, MSS depth (Ch 14); WOTS+ digit (Ch 15); hypertree layers (Ch 17) | Minimum distance of a code | Degree bound in Ch 32’s toy | |
| ECDSA per-message nonce (Ch 4, Ch 6) | Module rank (Ch 9), ML-DSA matrix rows (Ch 12) | FORS trees per signature (Ch 16) | Code dimension | Target PQ soundness in bits (Ch 34), and the commitment dimension in Ch 32’s scalar toy | |
| Not reserved | ML-DSA challenge polynomial (Ch 12) | Not reserved | Transmitted codeword (Ch 19) | Reed-Solomon codeword (Ch 34) | |
| Not reserved | ML-DSA hint vector (Ch 12) | Merkle / XMSS tree height (Ch 15) | HQC quasi-cyclic public element (Ch 19, Ch 21) | Schnorr public relation (Ch 33) | |
| Not reserved | ML-DSA message representative (Ch 12) | Not reserved | Not reserved | FRI query paths (Ch 34) | |
| Not reserved | ML-DSA matrix seed (Ch 12) | Not reserved | Not reserved | Code rate (Ch 34) | |
| Not reserved bare | Not reserved bare | FORS leaves per tree (Ch 16) | Error-correcting capability (Ch 19), MQ target vector (Ch 24) | Not reserved bare | |
| Generator of a cyclic group (Ch 2) | Not reserved | Not reserved | Not reserved | Grinding-bit count on the Fiat-Shamir transcript (Ch 34), and the Schnorr group generator (Ch 33) | |
| Lattice basis matrix in Ch 3’s exercise | Lattice basis matrix (Ch 7); also the scalar noise bound in Regev-style LWE correctness arguments (Ch 8, Ch 10) | Not reserved | Not reserved | Not reserved | |
| Hash in an abstract game (Ch 5) | SHA3-256 in ML-KEM’s function table (Ch 11), ML-DSA’s general hash SHAKE-256 (Ch 12) | Cryptographic hash function (Ch 14) | Parity-check matrix (Ch 19) | Random-oracle hash (Ch 33) | |
| Not reserved | Not reserved | Merkle authentication path (Ch 14) | Not reserved | Trace domain (Ch 34) | |
| Integer coefficient in Ch 3’s lattice definition | ML-DSA box margin (Ch 12), BKZ block size (Ch 13) | Not reserved | Not reserved | FRI fold challenge | |
| Not reserved | Not reserved | Not reserved | Not reserved | Proximity-gap threshold in Hamming distance (Ch 34) | |
| Not reserved | ML-KEM’s primitive 256th root of unity in (Ch 11, FIPS 203); ML-DSA’s primitive 512th root in (Ch 12, FIPS 204). Not used in Ch 13. The LWE secret-error standard deviation in Ch 13’s primal and dual sections is , matching the Kyber Round 3 submission. | Not reserved | Not reserved | Not reserved |
Part II reuses three symbols across its own chapters. is the ML-DSA box margin in Chapter 12 and the BKZ block size in Chapter 13. is ML-KEM’s primitive 256th root of unity in Chapter 11 and ML-DSA’s primitive 512th root in Chapter 12. The modulus is 3329 for ML-KEM and 8380417 for ML-DSA. Each is defined at its point of use. The Part II reservation table below splits across two rows.
Chapter 14 reuses internally for two quantities: the message digest in the Lamport sections and the MSS tree depth from the many-time signature section onward. Part III reuses in two more chapters. Ch 15 uses for the WOTS+ digit value, the base- encoding of the message digest. Ch 17 uses for the SLH-DSA hypertree layer count per FIPS 205 (for example, for SLH-DSA-SHA2-192s). The Part III reservation table splits these uses across rows. Ch 15 reserves for XMSS tree height per RFC 8391.
Part I: Foundations
Section titled “Part I: Foundations”Introduced in Chapters 1 through 6. These symbols propagate into every later part.
| Symbol | Meaning | First used |
|---|---|---|
| Modulus for modular arithmetic (also overloaded in later parts) | Chapter 2 | |
| Ring of integers modulo | Chapter 2 | |
| Finite field with elements, prime | Chapter 2 | |
| Multiplicative group of | Chapter 2 | |
| Generator of a cyclic group | Chapter 2 | |
| Euler totient function | Chapter 2 | |
| Polynomial ring over | Chapter 2 | |
| Quotient ring by the ideal | Chapter 2 | |
| th cyclotomic polynomial; for a power of two, | Chapter 2 | |
| Degree of a polynomial, with by convention | Chapter 2 | |
| RSA key-parameter tuple: distinct primes ; modulus ; public exponent ; private exponent | Chapter 4 | |
| Multiplicative order of a base mod , Shor’s period in the toy factoring walk | Chapter 4 | |
| Security parameter, in bits | Chapter 5 (introduced alongside the key-agreement API, where the chapter separates it from the shared-secret length ); also appears as the chord slope in Chapter 4’s EC group law | |
| Bit length of a KEM or key-agreement shared secret; matched to at design time but a separate quantity, since ML-KEM outputs 256 bits at every parameter set | Chapter 5 | |
| Probability of event | Chapter 5 | |
| Negligible function in | Chapter 6 | |
| ECDSA signature tuple: private key ; nonce ; signature pair ; curve group order | Chapter 4 (built there), reused in Chapter 6’s nonce-reuse recovery | |
| Mosca’s inequality: the useful lifetime of the secret in years, the time to migrate, the time until a CRQC exists. The asset is exposed when | Chapter 1, specialized and reused throughout Part VII |
Part II: Lattice-based cryptography
Section titled “Part II: Lattice-based cryptography”Introduced in Chapters 7 through 13. Centered on LWE, Module-LWE, ML-KEM, and ML-DSA. Letters marked with collide with a letter reserved in another part or, for , with a second use inside Part II. The collision table at the top gives the resolution.
| Symbol | Meaning | First used |
|---|---|---|
| Lattice generated by basis | Chapter 7 | |
| Basis matrix, columns are basis vectors (distinct from the scalar noise bound used in Ch 8 and Ch 10 LWE correctness arguments, and the collision table at the top of this appendix records the split) | Chapter 7 | |
| The -th basis vector | Chapter 7 | |
| Unimodular change-of-basis matrix | Chapter 7 | |
| Group of unimodular integer matrices | Chapter 7 | |
| Determinant of a lattice | Chapter 7 | |
| Fundamental parallelepiped of basis | Chapter 7 | |
| Dual lattice of | Chapter 7 | |
| Dual basis, | Chapter 7 | |
| The -th successive minimum of | Chapter 7 | |
| LWE secret vector | Chapter 8 | |
| LWE error vector | Chapter 8 | |
| Error distribution, usually centered binomial | Chapter 8 | |
| Ring modulus in the lattice construction, 3329 for ML-KEM | Chapter 8 | |
| Public-key sample matrix in | Chapter 8 | |
| A row of , LWE public vector | Chapter 8 | |
| Primitive th root of unity, cyclotomic framing of Ring-LWE | Chapter 9 | |
| Polynomial ring | Chapter 9 | |
| Module rank, Module-LWE and ML-KEM | Chapter 9 | |
| Centered binomial noise widths in ML-KEM ( for ML-KEM-768) | Chapter 11 | |
| ML-KEM’s primitive 256th root of unity in , | Chapter 11 | |
| Ciphertext compression widths in ML-KEM ( for ML-KEM-768) | Chapter 11 | |
| ML-DSA column dimension: columns of , height of | Chapter 12 | |
| ML-DSA secret coefficient bound: have coefficients in | Chapter 12 | |
| ML-DSA challenge weight: number of coefficients in the challenge | Chapter 12 | |
| ML-DSA mask bound: has coefficients in | Chapter 12 | |
| ML-DSA low-order rounding window used by Decompose | Chapter 12 | |
| ML-DSA box margin , bounding the challenge-times-secret product and supplying the rejection margin, so an accepted response is bounded by rather than by (distinct from the BKZ block size in Chapter 13, and the collision table records the split) | Chapter 12 | |
| ML-DSA hint budget: maximum number of set bits in the hint | Chapter 12 | |
| ML-DSA dropped-bit count in Power2Round () | Chapter 12 | |
| ML-DSA public vector and its Power2Round split | Chapter 12 | |
| ML-DSA secret and error vectors | Chapter 12 | |
| ML-DSA signing mask and response | Chapter 12 | |
| ML-DSA commitment and its high bits | Chapter 12 | |
| ML-DSA challenge polynomial: exactly nonzero coefficients | Chapter 12 | |
| ML-DSA challenge hash | Chapter 12 | |
| ML-DSA hint vector, one bit per coefficient | Chapter 12 | |
| ML-DSA message representative | Chapter 12 | |
| ML-DSA matrix seed, noise seed, and per-signature mask seed | Chapter 12 | |
| ML-DSA mask counter, advances by on each abort iteration | Chapter 12 | |
| Centered modular reduction, representative in | Chapter 12 | |
| Infinity norm on centered representatives | Chapter 12 | |
| BKZ block size | Chapter 13 | |
| Root-Hermite factor at block size | Chapter 13 |
Part III: Hash-based signatures
Section titled “Part III: Hash-based signatures”Introduced in Chapters 14 through 18. Centered on Lamport, Merkle trees, WOTS+, FORS, and SLH-DSA. In this part, means hash output length, not lattice dimension. The unit splits across the part: Chapter 14 works in bits (matching the Lamport digest length); Chapters 15 through 18 work in bytes in the scheme descriptions (matching the FIPS 205 and SPHINCS+ convention), and return to bits in the generic hash-cost discussions, where Chapters 17 and 18 state the unit at the point of use. Chapter 18’s Blocks 1 and 3 introduce the explicit n_bytes / n_bits = 8 * n_bytes pair so the switch is local and visible where both units are in play. Block 4’s quantum-cost table labels its bit variable n_bits directly, and the remaining blocks need neither.
| Symbol | Meaning | First used |
|---|---|---|
| Cryptographic hash function (SHA-256, SHAKE) | Chapter 14 | |
| Hash output length: in bits in Chapter 14, in bytes in the scheme descriptions of Chapters 15 through 18, in bits in their hash-cost discussions | Chapter 14 | |
| Lamport secret-key slots at bit position | Chapter 14 | |
| Lamport public-key slots at bit position | Chapter 14 | |
| Message digest (Lamport sections) and MSS tree depth (many-time signature section) | Chapter 14 | |
| Merkle authentication path | Chapter 14 | |
| Merkle tree height, XMSS tree height (RFC 8391 convention) | Chapter 15 | |
| WOTS+ digit value, base- encoding of the message digest | Chapter 15 | |
| WOTS+ base (Winternitz parameter), usually 16 | Chapter 15 | |
| WOTS+ chain counts: message and checksum | Chapter 15 | |
| FORS trees per signature | Chapter 16 | |
| FORS leaves per tree | Chapter 16 | |
| SLH-DSA address structure: 32 bytes in the general form (FIPS 205 Section 4.2), compressed to 22 bytes for the SHA2 parameter sets (Section 11.2) | Chapter 17 | |
| Keyed pseudorandom function with key | Chapter 17 | |
| Number of hypertree layers in SLH-DSA (FIPS 205); for SLH-DSA-SHA2-192s, for SLH-DSA-SHA2-128f | Chapter 17 |
Part IV: Code-based and isogeny-based cryptography
Section titled “Part IV: Code-based and isogeny-based cryptography”Introduced in Chapters 19 through 24. Code-based notation in Chapters 19 through 21. Isogeny notation in Chapters 22 and 23. The codewords on the wire, the syndromes and the error vectors in Chapters 19 through 21 are binary, over . The Goppa polynomial in Chapter 20 and HQC’s outer Reed-Solomon code in Chapter 21 live over binary extension fields , the isogeny chapters work over and , and Chapter 24’s multivariate toy works over the prime field . The length-dimension-distance triple is written unsubscripted.
| Symbol | Meaning | First used |
|---|---|---|
| Binary extension field, the extension degree; Chapter 20 writes it | Chapter 20 | |
| Linear code parameters: length , dimension , minimum distance , over | Chapter 19 | |
| Linear code, subspace of | Chapter 19 | |
| Generator matrix () of a linear code | Chapter 19 | |
| Parity-check matrix (), distinct from Part III’s hash function | Chapter 19 | |
| Received word , where is the transmitted codeword | Chapter 19 | |
| Syndrome, (column convention used throughout Part IV) | Chapter 19 | |
| Error-correcting capability of a code, | Chapter 19 | |
| , | Prime field and its quadratic extension, the fields the supersingular curves of Chapters 22 and 23 are defined over | Chapter 22 |
| Supersingular elliptic curves in an isogeny path | Chapter 22 | |
| Isogeny map between elliptic curves | Chapter 22 | |
| -invariant of an elliptic curve | Chapter 22 | |
| -isogeny | Isogeny of prime degree | Chapter 22 |
| Order in a quaternion algebra (SQIsign) | Chapter 23 |
Part V: Migration and deployment
Section titled “Part V: Migration and deployment”Part V does not introduce new mathematical notation; it reuses Part II and Part III symbols when referencing the constructions those parts built.
Part VI: Post-quantum zero-knowledge
Section titled “Part VI: Post-quantum zero-knowledge”Introduced in Chapters 31 through 35. Chapter 34 Section 3 (“AIR, LDE, and the Reed-Solomon lift”) and Chapter 35 Table 35.1 each publish explicit reservation tables. The Part VI entries below summarize those tables. Where a chapter row carries a configuration caveat or a worked count, read the chapter’s own row for it. Part VI reuses several Part II and Part III letters with new meanings (notably , , , ). The table below flags those collisions with and the top-of-appendix collision table gives the full resolution.
| Symbol | Meaning | First used |
|---|---|---|
| STARK field prime | Chapter 34 | |
| Trace length | Chapter 34 | |
| LDE domain size, usually | Chapter 34 | |
| Code rate, | Chapter 34 | |
| Number of FRI folding rounds | Chapter 34 | |
| Number of Fiat-Shamir rounds on the transcript | Chapter 34 | |
| Number of independent FRI query paths: each picks one LDE position and follows it through every fold layer | Chapter 34 | |
| Grinding-bit count on the Fiat-Shamir transcript | Chapter 34 | |
| Adversary’s quantum query budget | Chapter 33 | |
| Target post-quantum soundness, in bits | Chapter 34 | |
| Proximity-gap threshold in Hamming distance | Chapter 34 | |
| FRI folding challenge at layer , drawn from the transcript hash | Chapter 34 | |
| LDE evaluation domain | Chapter 34 | |
| Trace domain, a multiplicative subgroup of , disjoint from the LDE evaluation domain, which is a coset of a larger subgroup | Chapter 34 | |
| Reed-Solomon codeword, | Chapter 34 | |
| Trace polynomial of degree | Chapter 34 | |
| Grid cell label in the four-layer decomposition, classified in Table 31.2 and drawn as Figure 35.1 | Chapter 31, reserved for the case studies in Chapter 35 | |
| Target PQ bit margin at the system level | Chapter 35 | |
| Adversary’s quantum query budget at the system threat model | Chapter 35 | |
| Fiat-Shamir rounds on an outer wrapper proof | Chapter 35 | |
| Hash-output bit width in a Part VI protocol | Chapter 35 |
Part VII: Post-quantum blockchain
Section titled “Part VII: Post-quantum blockchain”Introduced in Chapters 36 through 41. Part VII does not build new mathematics. What it reserves is deployment notation, plus one specialization of a Part I reservation. Its dominant symbols are the Mosca triple , , from Chapter 1, which every chapter in the Part uses. Chapter 36 splits the first of them. For an asset on a public ledger, has an exposure lifetime, unbounded once a verification key is on-chain, and a value lifetime, which is how long that key still controls anything.
| Symbol | Meaning | First used |
|---|---|---|
| Effective reuse window, substituted for in the breach check when a key or contract rotates on a fixed interval | Chapter 40 | |
| Validator-set size in the normalized per-attestation byte budget | Chapter 39 | |
| Cosigner threshold in a threshold-signature proposal | Chapter 39 | |
| BLS signing scalar, | Chapter 39 | |
| The two pairing source groups on BLS12-381; public keys in , signatures in | Chapter 39 | |
| The curves underlying and | Chapter 39 | |
| Order of the pairing groups | Chapter 39 | |
| BIP-32 child-key derivation: parent point and curve generator, with | Chapter 38 | |
| BIP-32 tweak scalar in that derivation | Chapter 38 | |
| 32-byte secret seed passed to ML-DSA.KeyGen_internal in the BIP-32-like seed schedule, distinct from the child chain code the same step produces | Chapter 38 |
Part VII reuses four letters that earlier Parts reserve, marked above and resolved here rather than in the top-of-appendix collision table, which is already six columns wide and would overflow the print measure with a seventh. is the LDE domain size in Part VI (Chapter 34) and the curve group order in Part I’s ECDSA tuple; in Chapter 39 it is the validator count. is the Merkle authentication path in Part III (Chapter 14) and the trace domain in Part VI (Chapter 34); in Chapter 39 it is a cosigner threshold. is the lattice modulus in Part II, the field order in Part IV, and the quantum query budget in Part VI; in Chapter 39 it is the pairing-group order. is the FORS leaf count in Part III and the error-correcting capability in Part IV; in Chapter 38 it is the BIP-32 tweak scalar. Each is defined at its point of use.
Meta conventions
Section titled “Meta conventions”A few notation conventions hold throughout the book and are not individually reserved in any chapter:
- In Parts II and VI, bold lowercase letters () denote vectors and bold uppercase () denote matrices. Part IV follows the coding-theory convention and uses non-bold uppercase for matrices (, , ). The dimension is always stated at first use.
- Set-builder notation uses , never the shorthand with a mid-line bar.
- without a base is base 2, matching the cryptographic convention. Natural log is written .
- Attack costs and security levels name their unit at the figure, because the book uses four that are not interchangeable: bits of classical work, idealized oracle queries (Chapter 18’s BHT and Grover figures), proxy operations under a stated model (Chapter 13’s core-SVP exponent), and soundness-error bits at a stated adversary budget (Part VI).
- Gate, depth and memory counts under an explicit circuit model appear where a figure is compared against NIST’s security categories, and the MAXDEPTH bound belongs to that comparison model rather than to every quantum figure in the book.
- Cryptographic hash output is written in lowercase hex throughout.