Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for BIP39 passphrase for the seed #1575

Open
antonionardella opened this issue Nov 6, 2023 · 0 comments
Open

Support for BIP39 passphrase for the seed #1575

antonionardella opened this issue Nov 6, 2023 · 0 comments

Comments

@antonionardella
Copy link
Contributor

Description

I would like to request the implementation of BIP39 passphrase support in the IOTA-SKD wallet features.
This feature will enable users to use a 24-word mnemonic seed phrase and add a 25th word for additional seeds and security.

Motivation

The current implementation limits users to a fixed set of words, making it challenging to incorporate additional custom seeds or enhance security by adding an extra passphrase. By allowing a 25th word in the mnemonic phrase, users can introduce an extra layer of security or create multiple independent seeds from a single mnemonic, enhancing the overall usability and security of the system.

Additionally this enhancement will enable the users to restore Ledger Nano seeds using their advanced passphrase setting and extend the BIP39 spec support of IOTA-SDK

Requirements

  1. Modify the Mnemonic Generation Function: Modify the existing mnemonic generation function to allow the inclusion of a 25th word in the generated mnemonic phrases. This function should support both the standard 24-word mnemonic and the extended 25-word mnemonic with the additional passphrase.
    Example Rust Reference:
    tiny-bip39/src/seed.rs#L29

  2. Update Documentation: Update the project documentation to include information about the BIP39 passphrase feature. Provide clear instructions on how users can utilize the 25th word for additional seeds and security purposes.

  3. Ensure Compatibility: Ensure that the modified implementation is backward compatible with existing systems using the standard 24-word mnemonic phrases. Users should be able to choose whether to include the 25th word or stick with the standard 24-word setup.

Open questions (optional)

  1. Will the additional passphrase be case-sensitive, or will it be normalized to a specific case?
  2. How will the library handle situations where users do not provide a 25th word? Will it default to a specific value or require explicit user input?

Are you planning to do it yourself in a pull request?

No.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Product Backlog
Development

No branches or pull requests

1 participant