What if you could encrypt a file and the ciphertext looked like a cat had a keyboard tantrum — but with actual secp256k1 elliptic curve math underneath? That’s exactly what PurrCrypt does. After testing it on two operating systems, we found it surprisingly usable for a project that takes itself this unseriously.

What Is PurrCrypt?

PurrCrypt (622 stars on GitHub, MIT license) is a Rust CLI tool that encrypts files using elliptic curve cryptography — the same secp256k1 curve behind Bitcoin. It then encodes the output as sequences of cat or dog vocalizations. So it’s steganography meets public-key encryption: the ciphertext looks like pet-sound spam to anyone who intercepts it. But only the intended recipient can decrypt it back to the original file. This approach is a different angle on privacy — similar to how multi-hop VPN tunnels add layers of protection to network traffic, PurrCrypt adds them to stored data.

That said, this project was created by vxfemboy and has been actively maintained since December 2024. The most recent commit was July 27, 2026.

PurrCrypt Core Features

Real ECC Under the Hood

PurrCrypt uses the secp256k1 curve for key generation and encryption. Keys are stored locally as PEM files — same security model as GPG: generate a keypair, share your public key, keep your private key safe. Still, the real trick is what happens after encryption: the ciphertext gets transformed through a steganographic mapping table.

DialectVocabularyOutput StyleSecurity Role
Catmew, meow, purr, nya, mrrpSubtle, drawn-out sequencesPlausible deniability
Dogwoof, bark, arf, yip, wrfShorter, more repetitiveSame encryption, different disguise

Each word choice and repetition count encodes bits of the ciphertext. To a casual observer, a .purr file looks like keyboard spam. Yet, to the recipient holding the right private key, it’s a perfectly recoverable encrypted message.

CLI-First Workflow

The tool is terminal-native with a straightforward command structure:

# Generate a keypair
purr genkey fluffy

# Encrypt a file for a recipient
purr encrypt --recipient mr_whiskers --input notes.txt --dialect cat

# Decrypt an incoming message
purr decrypt --key fluffy --input incoming.purr --output decoded.txt

No daemon and no GUI and no cloud dependency. Because it’s written in Rust, it compiles from source via cargo install --path . and is also available on the AUR for Arch Linux users.

Hands-On With PurrCrypt

We tested PurrCrypt on a Ubuntu 24.04 VM and a macOS Sequoia laptop. Installation from source took about 4 minutes — the Rust compiler pulls in secp256k1 and clap dependencies. Once built the binary sits at roughly 3.8 MB.

Key generation was instant. So we created a keypair (sender and receiver) and encrypted a 12 KB text file with a dummy message. The .purr file came out to 28 KB — roughly 2.3x the original size. But, that’s reasonable given the steganographic encoding overhead.

Decryption worked correctly on both test machines. Cross-platform key exchange — generating on Linux and decrypting on macOS — had no issues. Output matched the original byte-for-byte.

One detail we noticed: file size overhead varies by dialect. Cat mode produces longer output for the same input — the cat vocabulary has shorter base tokens requiring more repetition. Dog mode was about 15% more efficient in our test.

PurrCrypt Limitations

PurrCrypt has real cryptographic underpinnings. But it’s not a production tool in the GPG or age sense. Here are some honest caveats:

  • No forward secrecy. Like most ECC-based encryption, if a private key leaks, all past messages encrypted to it are readable.
  • File size overhead. The 2.3x expansion matters for larger files. A 100 MB archive would hit around 230 MB.
  • Pattern recognition. Someone who knows what PurrCrypt output looks like will identify it immediately and that defeats the steganographic hiding.
  • Small community. 19 forks and 6 open issues. No organization backing or third-party audit.

PurrCrypt Bottom Line

PurrCrypt is a rare security tool: genuinely functional and genuinely fun to use. The ECC encryption is real and the steganographic disguise is clever. Still, we wouldn’t recommend it for mission-critical secrets — stick with age or GPG for that. But, for casual encrypted messaging between privacy-aware friends, this tool works well. If you want a teaching aid for cryptography concepts, it also shines. Because it combines real crypto with a playful twist, PurrCrypt makes a great conversation starter. While it’s not production-grade, it’s worth a look for anyone curious about how steganography and public-key crypto work together.

Best suited for: privacy enthusiasts who want a conversation starter, educators teaching cryptography concepts and anyone sending encrypted files in environments where raw ciphertext would draw suspicion.

For production-grade encryption needs, check out our Defguard review for a WireGuard-based security tool with enterprise features.