jakubtrnka / ShamirsSecretSharingScheme

OBSOLETE: Standardized way of making distributed backups of some secret using Shamir secret sharing technique
GNU General Public License v3.0
11 stars 1 forks source link

Program does not generate seed to the corresponding BIP39 master seed. #2

Closed jakubtrnka closed 6 years ago

jakubtrnka commented 6 years ago

BIP39 master seed generation processes mnemonic words through PBKDF2/HMAC-SHA512 to produce master seed. SLIP39 specification prescribes using BIP32 approach to produce master seed, i. e. use the enthropy with HMAC-SHA512(P="Bitcoin Seed", S=shamir'ed enthropy)

Current implementation works as an extension to BIP39 that operates on raw enthropy. This needs to be fixed. UI will be changed, so that program generates directly master seed as specified in BIP32, i. e.

(<k*32 raw enthropy> <-> <SLIP39 Shamir's shares>) -> <SLIP39-PBKDF2> -> <BIP32-HMAC>

BIP39 support will be removed, because Shamir's secret shares generated using SLIP39 do not produce same master seed as BIP39 using same enthropy. Therefore using BIP39 input is confusing.

Probably another program operating on top of BIP39 will be added instead,

<BIP39 mnemonics> <-> <Shamir's shares with BIP39 dictionary>