#decryption #encryption #bitcoin #command-line-tool #public-key #cli #bip-38

bin+lib encrypt38

Command line tool to encrypt and decrypt bitcoin private keys with bip-0038 standard

6 stable releases

1.1.7 May 16, 2024
1.1.6 Jul 22, 2021

#63 in #bitcoin

23 downloads per month

Apache-2.0

44KB
720 lines

encrypt38

Command line tool to encrypt and decrypt bitcoin private keys with bip-0038 standard.

Basic usage

$ encrypt38 -p Satoshi KwYgW8gcxj1JWJXhPSu4Fqwzfhp5Yfi42mdYmMa4XqK7NJxXUSK7
6PYLtMnXvfG3oJde97zRyLYFZCYizPU5T3LwgdYJz1fRhh16bU7u6PPmY7
$ encrypt38 -p Satoshi 6PYLtMnXvfG3oJde97zRyLYFZCYizPU5T3LwgdYJz1fRhh16bU7u6PPmY7
09c2686880095b1a4c249ee3ac4eea8a014f11e6f986d0b5025ac1f39afbd9ae
KwYgW8gcxj1JWJXhPSu4Fqwzfhp5Yfi42mdYmMa4XqK7NJxXUSK7

Disclaimer

  • Don't trust, verify

    Compare the results of this tool with others. Verify the implementation (and the tests). Decrypt immediately after an encryption to check the passphrase you typed was the one you wanted. Use at your won risk.

  • Not recommended

    Use this tool only to decrypt keys you already have. The method of keeping private keys encrypted with bip-0038 standard is not recommended anymore (use mnemonic instead).

Features

  • Address

    This tool show the respective address of a decrypted private key in the legacy, segwit-nested and segwit-native formats according to the version prefix of the encrypted private key.

  • Custom separator

    Customization of the default separator of information when decrypting.

  • Decryption

    Insert an encrypted private key 6P... and passphrase do show the private key represented in hexadecimal and the respective address, public key and wif keys.

  • Encryption

    Insert a private key in the form of hexadecimal numbers or wif key and passphrase to show the encrypted private key.

  • Generation (elliptic curve multiplication method)

    Insert a passphrase to create an encrypted private key using pseudo-random number generation and elliptic curve multiplication.

  • Uncompressed address

    This tool is capable of resulting in uncompressed address (mainly for decryption and retro compatibility, not recommended).

Help

Insert encrypted, hexadecimal or wif private key and passphrase to decrypt or
encrypt accordingly. Insert only passphrase to create an encrypted private key
using elliptic curve multiplication (and pseudo-random number generation).

Usage: encrypt38 [OPTIONS] -p <passphrase> [PRIVATE_KEY]

Arguments:
  [PRIVATE_KEY]  Hexadecimal, wif or encrypted private key

  Options:
    -s <separator>       Specify character (or string) to separate verbose result
    -p <passphrase>      Used to encrypt and decrypt the private key (required)
    -u, --uncompressed   Encrypted private key to generate uncompressed address
    -v, --verbose        Show possible address and public key when decrypting
    -h, --help           Print help
    -V, --version        Print version

Installation

You have to install rust and a linker if you don't already have them.

$ cargo install encrypt38

Dependencies

~8.5MB
~121K SLoC