Skip to content

v2.0.20 — The quorum press (Shamir M-of-N slips)

Choose a tag to compare

@blazenxt blazenxt released this 16 Jul 13:14

Series 2, desk 2 of 4 — the quorum press. Break one secret into N stamped slips; any M of them reprint it, fewer learn nothing at all — Shamir secret sharing over GF(2⁸), pressed locally everywhere.

What's new

  • Python enginevault100/shamir.py: GF(2⁸) Shamir (AES polynomial, generator 3), crc32-stamped slips (V100S1 binary + BEGIN V100 SHARE k OF n text slips, 64-col base64 like the armor), press-id guards against mixing pressings, Horner-table split / Lagrange-at-zero join.
  • CLIvault100 share split combo.txt -n 5 -m 3 (writes combo.slip-k-of-5.v100s or --stdout) and vault100 share join slips... -o out (several slips may ride in one file; junk lines tolerated).
  • WebAnnex D instrument (g), “The quorum press”: strike desk (type/paste a secret or press a fresh 256-bit one; 2–12 slips × quorum 2–N) mints serial-punched slip cards with copy/download/heap-download; reprint desk satisfies the quorum from pasted slips; worker ops share-split/share-join, secret bytes transferred + zeroed, sweep/Esc-Esc burns slips and reprints.
  • Interop — slips are byte-exact between the web press and the desk CLI, both directions (verified in CI).
  • Features page — Schedule A gains provision № 14.

Verification

  • 71/71 pytest (new QuorumPressTests ×11: GF laws incl. AES vector, all C(5,3) subsets, below-quorum refusal + flat-noise spot check, lengths 1–4096, tamper/mixing/doctored-title rejection, CLI roundtrip)
  • 19/19 headless-Chromium quorum E2E · 11/11 regress · 11/11 armorer · 29/29 nav · 25/25 SEO · 30/30 icons — local + live
  • Python↔JS cross-interop byte-exact both directions (unicode secrets intact)

The guardrails stand: zero-knowledge (slips and secrets never leave the room) · honest claims · no telemetry.