Skip to content

Commit 648eb37

Browse files
authored
Merge pull request bitcoin#1344 from scgbckbone/passwords
bip85 passwords
2 parents 04a9656 + 7aaaa01 commit 648eb37

File tree

1 file changed

+78
-2
lines changed

1 file changed

+78
-2
lines changed

bip-0085.mediawiki

Lines changed: 78 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ OUTPUT
106106
107107
* AirGap Vault: [https://github.com/airgap-it/airgap-vault/commit/d64332fc2f332be622a1229acb27f621e23774d6]
108108
109-
btc_hd_wallet: [https://github.com/scgbckbone/btc-hd-wallet]
109+
* btc_hd_wallet: [https://github.com/scgbckbone/btc-hd-wallet]
110110
111111
==Applications==
112112

@@ -244,7 +244,7 @@ INPUT:
244244
245245
OUTPUT
246246
* DERIVED ENTROPY=ead0b33988a616cf6a497f1c169d9e92562604e38305ccd3fc96f2252c177682
247-
* DERIVED WIF=xprv9s21ZrQH143K2srSbCSg4m4kLvPMzcWydgmKEnMmoZUurYuBuYG46c6P71UGXMzmriLzCCBvKQWBUv3vPB3m1SATMhp3uEjXHJ42jFg7myX
247+
* DERIVED XPRV=xprv9s21ZrQH143K2srSbCSg4m4kLvPMzcWydgmKEnMmoZUurYuBuYG46c6P71UGXMzmriLzCCBvKQWBUv3vPB3m1SATMhp3uEjXHJ42jFg7myX
248248
249249
===HEX===
250250
Application number: 128169'
@@ -262,6 +262,82 @@ INPUT:
262262
OUTPUT
263263
* DERIVED ENTROPY=492db4698cf3b73a5a24998aa3e9d7fa96275d85724a91e71aa2d645442f878555d078fd1f1f67e368976f04137b1f7a0d19232136ca50c44614af72b5582a5c
264264
265+
===PWD BASE64===
266+
Application number: 707764'
267+
268+
The derivation path format is: <code>m/83696968'/707764'/{pwd_len}'/{index}'</code>
269+
270+
`20 <= pwd_len <= 86`
271+
272+
[https://datatracker.ietf.org/doc/html/rfc4648 Base64] encode the all 64 bytes of entropy.
273+
Remove any spaces or new lines inserted by Base64 encoding process. Slice base64 result string
274+
on index 0 to `pwd_len`. This slice is the password. As `pwd_len` is limited to 86, passwords will not contain padding.
275+
276+
Entropy calculation:<br>
277+
R = 64 (base64 - do not count padding)<br>
278+
L = pwd_len<br>
279+
Entropy = log2(R ** L)<br>
280+
281+
{| class="wikitable" style="margin:auto"
282+
! pwd_length !! (cca) entropy
283+
|-
284+
| 20 || 120.0
285+
|-
286+
| 24 || 144.0
287+
|-
288+
| 32 || 192.0
289+
|-
290+
| 64 || 384.0
291+
|-
292+
| 86 || 516.0
293+
|}
294+
295+
INPUT:
296+
* MASTER BIP32 ROOT KEY: xprv9s21ZrQH143K2LBWUUQRFXhucrQqBpKdRRxNVq2zBqsx8HVqFk2uYo8kmbaLLHRdqtQpUm98uKfu3vca1LqdGhUtyoFnCNkfmXRyPXLjbKb
297+
* PATH: m/83696968'/707764'/21'/0'
298+
299+
OUTPUT
300+
* DERIVED ENTROPY=d7ad61d4a76575c5bad773feeb40299490b224e8e5df6c8ad8fe3d0a6eed7b85ead9fef7bcca8160f0ee48dc6e92b311fc71f2146623cc6952c03ce82c7b63fe
301+
* DERIVED PWD=dKLoepugzdVJvdL56ogNV
302+
303+
===PWD BASE85===
304+
Application number: 707785'
305+
306+
The derivation path format is: <code>m/83696968'/707785'/{pwd_len}'/{index}'</code>
307+
308+
`10 <= pwd_len <= 80`
309+
310+
Base85 encode the all 64 bytes of entropy.
311+
Remove any spaces or new lines inserted by Base64 encoding process. Slice base85 result string
312+
on index 0 to `pwd_len`. This slice is the password. `pwd_len` is limited to 80 characters.
313+
314+
Entropy calculation:<br>
315+
R = 85<br>
316+
L = pwd_len<br>
317+
Entropy = log2(R ** L)<br>
318+
319+
{| class="wikitable" style="margin:auto"
320+
! pwd_length !! (cca) entropy
321+
|-
322+
| 10 || 64.0
323+
|-
324+
| 15 || 96.0
325+
|-
326+
| 20 || 128.0
327+
|-
328+
| 30 || 192.0
329+
|-
330+
| 20 || 512.0
331+
|}
332+
333+
INPUT:
334+
* MASTER BIP32 ROOT KEY: xprv9s21ZrQH143K2LBWUUQRFXhucrQqBpKdRRxNVq2zBqsx8HVqFk2uYo8kmbaLLHRdqtQpUm98uKfu3vca1LqdGhUtyoFnCNkfmXRyPXLjbKb
335+
* PATH: m/83696968'/707785'/12'/0'
336+
337+
OUTPUT
338+
* DERIVED ENTROPY=f7cfe56f63dca2490f65fcbf9ee63dcd85d18f751b6b5e1c1b8733af6459c904a75e82b4a22efff9b9e69de2144b293aa8714319a054b6cb55826a8e51425209
339+
* DERIVED PWD=_s`{TW89)i4`
340+
265341
===RSA===
266342

267343
Application number: 828365'

0 commit comments

Comments
 (0)