You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Rev 2303-1: Module 1 Share Booklet row data misaligned after R #77
Rev 2303-1: Module 1 Share Booklet row data misaligned after R
Hello Bitcoin Wizards,
The Module 1 Share Booklet in the printed book, revision 2303-1-8822ef51 (2023-03-07--color.pdf / --bw.pdf on secretcodex32.com), has its row data shifted by one starting at row T.
Column C is the identity column, so it should always return the row's own C-share character. On every booklet page:
row label
column C shows
should show
R
R ✓
R
T
S ✗
T
U
T ✗
U
V
U ✗
V
The row labels correctly skip S because S is the secret index, but the row-data lookup still includes the S entry. As a result, every row after R uses the previous entry's data, and the final row's data is dropped.
Cause
The public branches don't seem to have this bug (they use a different, older booklet generator), so I'm not sure where the 2303-1 source on the site came from, but the fix for it would be the following:
showShareTable draws row labels from permNoS (31 values, excluding S) but computes the row data from perm (32 values, including S) at line 2748:
- page exch perm 3 index get exch makeShare code exch get glyphshow+ page exch permNoS 3 index get exch makeShare code exch get glyphshow
Rendering the patched source with Ghostscript produces a correct booklet: the identity-column invariant holds for every row, and Page A matches an independent BIP 93 Lagrange computation for all 31 rows.
Activity
l0rinc commentedon Oct 5, 2026
Any progress here?