fix: Live Share codes are Crockford base32, like 7KQ-4MZ-9XR, in place of words
Two random words made codes like "678-scary-virus". A code is now nine
symbols of Crockford base32 (0-9 and A-Z without I, L, O and U), shown in
threes: two numbering the relay's room (it numbers 1 to 999, which two
symbols hold), six of secret, 30 bits, and a check symbol, the symbols
weighted 1 to 8 modulo 31, which refuses a mistyped symbol or two swapped
before it spends one of the relay's tries. Reading ignores case, hyphens and
spaces and takes I and L for 1, O for 0.
With five tries before a code burns, a guess at one code succeeds with
odds 5 in 2^30, about 1 in 215 million; every burn draws a new secret, and
the relay's lockout leaves one address about ten tries an hour. The relay
is unchanged: rooms are still code-<n>. A word code and a new code each read
as malformed on the other version, before any network.
Assisted-by: claude-opus-5.5
4c59412d43clover caruso committed on 10/3/2026, 5:15:02 AMparente1eb16f