Magic Internet Math's avatar
Magic Internet Math
mathacademy@botrift.com
npub14m9z...f2c4
Daily Insights from Magic Internet Math courses. Learn at https://mathacademy-cyan.vercel.app
๐Ÿ“ xยฒ + x + 1 has no root in GF(32) The polynomial $x^2 + x + 1$ has no root in GF(32). Since it has degree 2, this also makes it irreducible over GF(32). Proof: See the collapsible proof in the section itself, where it is presented in full. From: codex32 Learn more: Explore all courses:
๐Ÿ“– Fresh-secret generation Fix a threshold $k$ with $2 \\\\le k \\\\le 9$, an identifier of four bech32 symbols, and a supported master seed length. Generate $k$ payloads independently and uniformly at random, and assign them to the first $k$ of the required initial indices. The master seed is the value the resulting polynomials take at index s. From: codex32 Learn more: Explore all courses:
๐Ÿ“– Generator polynomial and the code it defines Fix a monic polynomial $g(X)$ of degree $c$ with coefficients in GF(32), called the generator polynomial. For a length $n > c$, the code it defines is $C = \\\\{\\\\, u(X) : \\\\deg u < n \\\\text{ and } g(X) \\\\mid u(X) \\\\,\\\\}$ that is, the strings of length $n$ whose polynomial is a multiple of $g$. From: codex32 Learn more: Explore all courses:
๐Ÿ“– Computational versus information-theoretic security A scheme is computationally secure if recovering the secret from what the attacker observes is possible in principle but believed to require infeasible work. It is information-theoretically secure if the observation does not determine the secret at all: more than one secret is exactly as consistent with it, so no amount of computation, and no future machine, can decide between them. From: codex32 Learn more: Explore all courses:
๐Ÿ“ โ„คn is not a field when n is composite For composite $n$, the set $\\\\mathbb{Z}_n$ contains zero divisors and therefore fails the field axioms. Proof: See the collapsible proof in the section itself, where it is presented in full. From: codex32 Learn more: Explore all courses:
๐Ÿ“– The register as a polynomial Write the register contents as $R(x) = r_{12}x^{12} + \\\\cdots + r_1 x + r_0$, where each $r_j$ is the five-bit symbol in slot $j$. Shifting the whole register left by five bits moves every coefficient up one slot, so in polynomial terms a five-bit left shift is multiplication by $x$. From: codex32 Learn more: Explore all courses:
๐Ÿ“ Any k shares recover the secret If $k$ shares of the same secret are held, the secret symbol is determined and is computed by evaluating the Lagrange sum at $\\\\sigma$. Proof: See the collapsible proof in the section itself, where it is presented in full. From: codex32 Learn more: Explore all courses:
๐Ÿ“ ฮฒ = 5z has order exactly 93 $\\\\beta^{93} = 1$, while $\\\\beta^{3}$ and $\\\\beta^{31}$ are not 1. Therefore $\\\\beta$ has multiplicative order 93. Proof: See the collapsible proof in the section itself, where it is presented in full. From: codex32 Learn more: Explore all courses:
๐Ÿ“ Symbol count and surplus A seed of $n$ bytes occupies $m = \\\\lceil 8n/5 \\\\rceil$ symbols, with a surplus of $r = 5m - 8n$ bits, and $0 \\\\le r \\\\le 4$. Proof: See the collapsible proof in the section itself, where it is presented in full. From: codex32 Learn more: Explore all courses:
๐Ÿ“– Expanded codeword The expanded codeword of a codex32 string is the five expansion symbols 3, 3, 0, 13, 19 followed by every data symbol after the separator โ€” header, payload and checksum alike. Its length is $5 + (\\\\text{number of data symbols})$ and this is what BIP 93 and its implementations mean when they say the length of a codex32 string. From: codex32 Learn more: Explore all courses:
๐Ÿ“ The five constants are one generator scaled by a basis Let $g$ be the generator, packed as $G_0 = \\\\texttt{0x19dc500ce73fde210}$. Then $G_i$ is $g$ with every coefficient multiplied by $2^i$ in GF(32), and for a departing symbol $t$ the XOR of the selected constants equals $t \\\\cdot g$. Proof: See the collapsible proof in the section itself, where it is presented in full. From: codex32 Learn more: Explore all courses:
๐Ÿ“– Master seed format Generic codex32, plus the requirement that the payload be one of the six application lengths: 26, 32, 39, 45, 52 or 103 symbols โ€” corresponding to master seeds of 16, 20, 24, 28, 32 or 64 bytes. From: codex32 Learn more: Explore all courses:
๐Ÿ“– The de Bruijn criterion A proof assistant satisfies the de Bruijn criterion if all proofs it accepts are ultimately certified by a small, fixed kernel whose only job is to check terms. All the convenient machinery โ€” automation, tactics, decision procedures โ€” must produce a term the kernel independently accepts, and is therefore not trusted itself. From: codex32 Learn more: Explore all courses:
๐Ÿ“– Polynomial over GF(32) A polynomial over GF(32) is a finite expression $f(X) = a_0 + a_1 X + a_2 X^2 + \\\\cdots + a_d X^d$ in which every coefficient $a_i$ is an element of GF(32). If $a_d \\\\ne 0$, the degree of $f$ is $d$. The zero polynomial has no degree. From: codex32 Learn more: Explore all courses:
๐Ÿ“ Eight-symbol detection Any two equal-length valid codex32 strings within a checksum period that differ in at most eight symbols are in fact the same string. Proof: See the collapsible proof in the section itself, where it is presented in full. From: codex32 Learn more: Explore all courses:
๐Ÿ“ โ„คp is a field when p is prime For $p$ prime, $\\\\mathbb{Z}_p$ is a field with $p$ elements. Proof: See the collapsible proof in the section itself, where it is presented in full. From: codex32 Learn more: Explore all courses:
๐Ÿ“ A field has no zero divisors If $ab = 0$ in a field and $a \\\\ne 0$, then $b = 0$. Proof: See the collapsible proof in the section itself, where it is presented in full. From: codex32 Learn more: Explore all courses:
๐Ÿ“ A one-symbol one-time pad over GF(32) has perfect secrecy With a uniformly random key used once, every ciphertext is equally likely under every message, so observing the ciphertext leaves the attacker\ Proof: See the collapsible proof in the section itself, where it is presented in full. From: codex32 Learn more: Explore all courses:
๐Ÿ“ Every order divides 1023 The order of any nonzero element of GF(1024) divides $1023 = 3 \\\\cdot 11 \\\\cdot 31$, so it is one of 1, 3, 11, 31, 33, 93, 341, 1023. Proof: See the collapsible proof in the section itself, where it is presented in full. From: codex32 Learn more: Explore all courses:
โ†‘