Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Include ssss bits parameter in mnemonic #2
The number of bits used for ssss shares determines the maximum number of shares.
The ssss library defaults to 8 bits (max 255 shares)
The shamir39 implementation hardcodes it to 12 bits (max 4095 shares)
This should ideally be encoded into the mnemonic so there is no upper limit on the number of shares. See shamir39.js L744
I think using 11 bits fixed makes sense. You don't need to repack and pad the bits a second time when converting to words. The algorithm could do most of the transformations on the word level (11 bit chunks). Basically you can then compute the n-th word of the secret using the n-th word of the shares (plus the indices of the share). And 2047 shares should be enough for everyone.
This makes the algorithm simpler and the seeds shorter as you don't have to add padding twice. I don't think there are security issues (and if there are, they are only obfuscated by switching between 12bit/11bit packing).