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
Copy file name to clipboardExpand all lines: bip-0093.mediawiki
+17-17Lines changed: 17 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -60,20 +60,20 @@ However, BIP-0039 has no error-correcting ability, cannot sensibly be extended t
60
60
61
61
===codex32===
62
62
63
-
A codex32 string is similar to a Bech32 string defined in [https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki BIP-0173].
63
+
A codex32 string is similar to a bech32 string defined in [https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki BIP-0173].
64
64
It reuses the base32 character set from BIP-0173, and consists of:
65
65
66
66
* A human-readable part, which is the string "ms" (or "MS").
67
67
* A separator, which is always "1".
68
68
* A data part which is in turn subdivided into:
69
69
** A threshold parameter, which MUST be a single digit between "2" and "9", or the digit "0".
70
70
*** If the threshold parameter is "0" then the share index, defined below, MUST have a value of "s" (or "S").
71
-
** An identifier consisting of 4 Bech32 characters.
72
-
** A share index, which is any Bech32 character. Note that a share index value of "s" (or "S") is special and denotes the unshared secret (see section "Unshared Secret").
73
-
** A payload which is a sequence of up to 74 Bech32 characters. (However, see '''Long codex32 Strings''' below for an exception to this limit.)
74
-
** A checksum which consists of 13 Bech32 characters as described below.
71
+
** An identifier consisting of 4 bech32 characters.
72
+
** A share index, which is any bech32 character. Note that a share index value of "s" (or "S") is special and denotes the unshared secret (see section "Unshared Secret").
73
+
** A payload which is a sequence of up to 74 bech32 characters. (However, see '''Long codex32 Strings''' below for an exception to this limit.)
74
+
** A checksum which consists of 13 bech32 characters as described below.
75
75
76
-
As with Bech32 strings, a codex32 string MUST be entirely uppercase or entirely lowercase.
76
+
As with bech32 strings, a codex32 string MUST be entirely uppercase or entirely lowercase.
77
77
For presentation, lowercase is usually preferable, but uppercase SHOULD be used for handwritten codex32 strings.
78
78
If a codex32 string is encoded in a QR code, it SHOULD use the uppercase form, as this is encoded more compactly.
79
79
@@ -131,7 +131,7 @@ We do not specify how an implementation should implement error correction. Howev
131
131
* Implementations interpret "?" as an erasure.
132
132
* Implementations optionally interpret other non-bech32 characters, or characters with incorrect case, as erasures.
133
133
* If a string with 8 or fewer erasures can have those erasures filled in to make a valid codex32 string, then the implementation suggests such a string as a correction.
134
-
* If a string consisting of valid Bech32 characters in the proper case can be made valid by substituting 4 or fewer characters, then the implementation suggests such a string as a correction.
134
+
* If a string consisting of valid bech32 characters in the proper case can be made valid by substituting 4 or fewer characters, then the implementation suggests such a string as a correction.
135
135
136
136
===Unshared Secret===
137
137
@@ -243,7 +243,7 @@ The conversion process consists of:
243
243
# Choose a 4 bech32 character identifier
244
244
#* We do not define how to choose the identifier, beyond noting that it SHOULD be distinct for every master seed the user may need to disambiguate.
245
245
# Set the share index to <code>s</code>
246
-
# Set the payload to a Bech32 encoding of the master seed, padded with arbitrary bits
246
+
# Set the payload to a bech32 encoding of the master seed, padded with arbitrary bits
247
247
# Generating a valid checksum in accordance with the Checksum section
248
248
249
249
Along with the codex32 secret, the user must generate ''t''-1 other codex32 shares, each with the same threshold value, the same identifier, and a distinct share index.
A long codex32 string follows the same specification as a regular codex32 string with the following changes.
290
290
291
-
* The payload is a sequence of between 75 and 103 Bech32 characters.
292
-
* The checksum consists of 15 Bech32 characters as defined above.
291
+
* The payload is a sequence of between 75 and 103 bech32 characters.
292
+
* The checksum consists of 15 bech32 characters as defined above.
293
293
294
294
A codex32 string with a data part of 94 or 95 characters is never legal as a regular codex32 string is limited to 93 data characters and a long codex32 string is at least 96 characters.
295
295
@@ -384,9 +384,9 @@ The inline code in this BIP text can be used as a Python reference.
384
384
===Test vector 1===
385
385
386
386
This example shows the codex32 format, when used without splitting the secret into any shares.
387
-
The payload contains 26 Bech32 characters, which corresponds to 130 bits. We truncate the last two bits in order to obtain a 128-bit master seed.
387
+
The payload contains 26 bech32 characters, which corresponds to 130 bits. We truncate the last two bits in order to obtain a 128-bit master seed.
0 commit comments