encryptor

Crates.ioencryptor
lib.rsencryptor
version0.1.0
created_at2025-05-03 19:07:13.487027+00
updated_at2025-05-03 19:07:13.487027+00
descriptionPassword-based encryption for Web3 wallet seed phrases
homepage
repositoryhttps://github.com/sumit03guha/encryptor
max_upload_size
id1659082
size24,360
Sumit Guha (sumit03guha.eth) (sumit03guha)

documentation

README

encryptor

Crates.io Docs.rs License

Encrypt a Web3 wallet secret phrase with an easy-to-remember password and store only the resulting ciphertext string.

  • KDF Argon2id — password → 256-bit key
  • AEAD AES-256-GCM — key + nonce → authenticated ciphertext
  • Blob [salt | nonce | ciphertext] Base64URL-encoded (no padding)
use encryptor::{encrypt, decrypt};

let phrase = "satoshi doll mercy …";      // wallet seed phrase
let pass   = "Fr33dom-2025!";             // memorable password

let blob = encrypt(phrase, pass)?;        // store this string
assert_eq!(phrase, decrypt(&blob, pass)?);

Threat model

✅ Protects against ❌ Does not protect against
Lost / stolen disk or backup Very weak or leaked passwords
Curious cloud operator Attackers who can key-log or phish your pass

Security disclaimer: No formal audit yet. Use at your own risk.


API overview

  • [encrypt] – passphrase → ciphertext string
  • [decrypt] – ciphertext string → original secret phrase
  • [CryptoError] – unified error enum
Commit count: 22

cargo fmt