Help us shape the future of Go! Take the 2026 Go Developer Survey

scrambler

command module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 18, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

README

Wallet Word Scrambler

Wallet Word Scrambler is a command-line tool that securely scrambles or recovers wallet backup words using a user-provided password. It ensures additional protection for mnemonic backups, making it ideal for air-gapped systems.

Features

  • Secure Mnemonic Scrambling: Use a password to scramble your wallet's backup words.
  • Password Strength Validation: Warns users about weak passwords but allows overrides.
  • Wallet Recovery: Recovers scrambled wallet words using the same password.
  • Compatible Wordlists: Supports BIP39-compatible wordlists containing 1024 or 2048 words.
  • Air-Gapped Usage: Designed for secure environments with no network access.

Requirements

  • Go (Golang) installed
  • A BIP39-compatible wordlist file (e.g., wordlist.txt) with 1024 or 2048 words.
  • An air-gapped machine for maximum security.

Installation

  1. Clone the Repository:
    git clone https://github.com/yourusername/wallet-word-scrambler.git
    cd wallet-word-scrambler
    
  2. Build the Application:
    go build -o wallet-scrambler main.go
    
  3. Place your BIP39 wordlist file(s) in the same directory as the executable. The wordlist file must:
    • Have 1024 or 2048 lines.
    • Be a plain text .txt file.

Usage

  1. Run the Application:

    ./wallet-scrambler
    
  2. Follow the Instructions:

    • Select a wordlist file.
    • Choose to either scramble or recover wallet words.
    • Provide and confirm a password.
    • Enter your wallet backup words (12-33 words).
  3. Output:

    • If scrambling, the tool will provide a set of new scrambled words.
    • If recovering, the tool will output the original wallet words.

Important Notes

  • Password Requirement:

    • The password must be at least 8 characters long and include a mix of:
      • Uppercase letters
      • Lowercase letters
      • Numbers
      • Special characters (!@#$%^&*()-_=+[]{} etc.)
    • Weak passwords can be accepted with user confirmation.
  • Air-Gapped Security:

    • Run this tool ONLY on a fresh air-gapped machine.
    • Do not connect the machine to any network during use.
    • After use, securely wipe the machine to prevent data leaks.
  • No Password Recovery:

    • If you lose your password, there is NO way to recover your wallet words.

Example

  1. Run the tool:
    ./wallet-scrambler
    
  2. Select a wordlist:
    1. bip39-english.txt
    Select the wordlist file: 1
    
  3. Follow prompts to scramble or recover wallet words.

Dependencies

  • golang.org/x/crypto/argon2 - Password-based key derivation function.
  • golang.org/x/crypto/sha3 - Cryptographic hash functions.
  • github.com/agnivade/levenshtein - Word suggestion for typo corrections.

Security Disclaimer

This program is designed to improve the security of mnemonic backups. However:

  • Use it at your own risk.
  • Always test the tool in a secure, isolated environment before using it with real wallet backups.

License

This project is licensed under the Apache2 License. See the LICENSE file for details.

Contact

For questions or contributions, contact:

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL