Connection between mnemonic code and passphrase in BIP39 regarding security
Connection between mnemonic code and passphrase in BIP39 regarding security
Loading saved threads...
Matt Dovc · External communityPost link
External question — Bitcoin Stack Exchange
Author: Matt Dovc
Original post: https://bitcoin.stackexchange.com/questions/130948
License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/
Adaptation: HTML converted to plain text; contact email addresses removed.
I am trying to understand connection between mnemonic code and passphrase regarding security.
Let say I have a low entropy mnemonic code eg. "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about" in this example entropy is 0.
If I use this in any hardware wallet, I am pretty sure bitcoins will be gone immediately.
But if I add passphrase with 128bit of entropy. (let ignore how to generate passphrase with 128bit of entropy, let say for sake of argument that we have it)
Is then my hardware wallet secure with 128 bit of entropy even if entropy of mnemonic code is 0 ?
Basically I am trying to understand how is entropy of mnemonic code and entropy of passphrase affects overall security of hardware wallet ?
After writing this question I am thinking maybe connection is not liner like a sum.
That you can just add two of them together(mnemonic code and passphrase) and get total.
Thanks for answers.
Quote
Report
Vojtěch Strnad · External communityPost link
External answer — Bitcoin Stack Exchange
Author: Vojtěch Strnad
Original post: https://bitcoin.stackexchange.com/a/130949
License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/
Adaptation: HTML converted to plain text; contact email addresses removed.
Entropy relates to the size of the search space an attacker using brute-force search would have to go through. When you expand that space with more possible combinations, you additively increase entropy. Combining a mnemonic phrase "abandon abandon...", which has near-zero entropy, with a passphrase with 128 bits of entropy (e.g. 12 actually random BIP-39 words) will give you approximately that 128 bits of entropy.
The mathematical reason for entropy being additive is that it's a logarithm of the search space, adding more combinations is multiplicative, and multiplying two numbers and then taking a logarithm is the same as adding the logarithms of the two numbers (assuming the logarithm base is the same). For example, a random 32-bit number can have 2
32
different values so its entropy is log
2
(2
32
) = 32 bits, and having two random independent 32-bit numbers increases the number of combinations to 2
32
⋅2
32
= 2
64
and entropy to log
2
(2
32
⋅2
32
) = log
2
(2
64
) = 64 bits. Notice also how adding a source of randomness with zero entropy is just multiplying the search space by 2
0
= 1, which keeps total entropy the same (and importantly doesn't decrease it)
Quote
Report
Post Reply
Quoted from Forex.com.bd-Editorial External answer — Bitcoin Stack Exchange Author: Vojtěch Strnad Source score (net votes, not local likes): 2 Original post: https://bitcoin.stackexchange.com/a/130949 License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/ Adaptation: HTML converted to plain text; contact email addresses removed. Entropy relates to the size of the search space an attacker using brute-force search would have to go through. When you expand that space with more possible combinations, you additively increase entropy. Combining a mnemonic phrase "abandon abandon...", which has near-zero entropy, with a passphrase with 128 bits of entropy (e.g. 12 actually random BIP-39 words) will give you approximately that 128 bits of entropy. The mathematical reason for entropy being additive is that it's a logarithm of the search space, adding more combinations is multiplicative, and multiplying two numbers and then taking a logarithm is the same as adding the logarithms of the two numbers (assuming the logarithm base is the same). For example, a random 32-bit number can have 2 32 different values so its entropy is log 2 (2 32 ) = 32 bits, and having two random independent 32-bit numbers increases the number of combinations to 2 32 ⋅2 32 = 2 64 and entropy to log 2 (2 32 ⋅2 32 ) = log 2 (2 64 ) = 64 bits. Notice also how adding a source of randomness with zero entropy is just multiplying the search space by 2 0 = 1, which keeps total entropy the same (and importantly doesn't decrease it)
Checking account access…