aesus 0.3.0

CLI for AES-256-GCM encryption using memorable passphrases
Documentation

What is AESus?

AESus is a lean AES-256 encryption tool written in Rust with just a hint of divine mischief.

It converts memorable Diceware passphrases into hardened cryptographic keys and allows you to encrypt files or messages without juggling random keyfiles or 32-character gibberish.

AESus is both:

  • ๐Ÿ” a command-line encryption tool
  • ๐Ÿฆ€ a reusable Rust encryption library

Built for:

  • privacy nerds
  • terminal romantics
  • developers who prefer encryption tools with personality

Cryptography

AESus uses modern authenticated encryption.

Passphrase
โ†“
Argon2id (salted, memory-hard)
โ†“
AES-256-GCM

Every encrypted output contains:

[version][salt][nonce][ciphertext]

Security properties:

  • AES-256-GCM authenticated encryption
  • Argon2id memory-hard key derivation
  • Random salt per encryption
  • Random nonce per encryption
  • Versioned format for forward compatibility
  • Diceware passphrases (~77 bits entropy by default)

Using AESus as a Rust Library

AESus can also be used directly from Rust.

Add to Cargo.toml:

aesus = "0.3"

Example:

use aesus::{encrypt, decrypt, CipherBlob};

let plaintext = b"hello world";
let passphrase = "raven-lamp-oxide-lotus";

let blob = encrypt(plaintext, passphrase)?;

let bytes = blob.to_bytes();

/* store bytes somewhere */

let parsed = CipherBlob::from_bytes(&bytes)?;

let decrypted = decrypt(&parsed, passphrase)?;

This allows other tools to use AESus as a cryptographic engine without calling the CLI.

Example ecosystem project:

โ€ข FUR โ€” encrypted conversation manager (planned integration)
https://crates.io/crates/fur-cli


AESus Web App (Lite Version)

Want to encrypt messages directly in your browser?

๐Ÿ‘‰ https://aesus.vercel.app

โš ๏ธ Note

The web version uses simplified encryption:

AES-256-CBC + SHA-256 key derivation

For strong authenticated encryption (Argon2id + AES-GCM), use the Rust CLI.

Perfect for casual message locking or secret note passing. Not recommended for storing the nuclear codes.


Features

  • ๐Ÿ”‘ Memorable passphrases (Diceware)
  • ๐Ÿ” AES-256-GCM authenticated encryption
  • ๐Ÿง  Argon2id key derivation
  • ๐Ÿ“ File encryption / decryption
  • ๐Ÿงช Message encryption (hex output)
  • ๐ŸŽฒ Diceware passphrase generator
  • ๐Ÿ” inspect command for ciphertext metadata
  • ๐Ÿฆ€ Usable as both CLI and Rust library
  • โš™๏ธ Clean CLI powered by clap

๐Ÿ“ฆ Installation

Install locally

cargo install --path .

Install from crates.io

cargo install aesus

Examples

Encrypt a message

aesus encrypt "Confess nothing" --key scythe-raven-lemon-halo

Returns a hex blob containing:

version + salt + nonce + ciphertext

Decrypt a message

aesus decrypt --hex 02abcd... --key scythe-raven-lemon-halo

Encrypt a file

aesus encrypt --file secret.txt --key pancake-prophet-echo-oxide

Creates:

secret.txt.aesus

Custom output:

aesus encrypt --file secret.txt --key ... --out recipe.sealed

Decrypt a file

aesus decrypt --file secret.txt.aesus --key pancake-prophet-echo-oxide

Or:

aesus decrypt --file recipe.sealed --key ... --out final-form.txt

Inspect encrypted file

aesus inspect secret.txt.aesus

Example output:

AESus file info

version: 2
kdf: Argon2id
memory: 128 MB
iterations: 3
cipher: AES-256-GCM
salt length: 16
nonce length: 12

Generate passphrase

aesus generate --words 6

Example:

quest-ember-black-icicle-neon-crane
Entropy โ‰ˆ 77 bits

Memorable, weird, and significantly better than hunter2.


๐Ÿ›  Roadmap

  • AES-256-GCM encryption
  • Argon2id key derivation
  • Diceware passphrase generator
  • Versioned ciphertext format
  • Inspect command
  • Rust library API
  • Vault-like secret storage
  • Cross-platform builds
  • Optional GUI
  • Clipboard passphrase generator
  • Whispered Latin chants on success

๐Ÿ“œ Disclaimer

AESus is not divine.

It cannot:

  • recover your passphrase
  • fix bad backups
  • save you from encrypting your taxes as pancake.jeff

Backup your data. Test encryption tools before trusting them.


๐Ÿฉธ License

MIT.

Free as in freedom โ€” and free to use in your cursed backup rituals.


๐Ÿ•ณ๏ธ Contact

Made by Andrew Garcia

GitHub https://github.com/andrewrgarcia

PRs, bug reports, and cryptic fanmail welcome.