/emocrypt

Encrypt data into an emoji soup

Primary LanguageC++MIT LicenseMIT

emocrypt

Encrypts data into emojis

This program encrypts arbitrary data into an emoji soup. It uses XSalsa20 stream cipher with Poly1305 MAC encryption, and Argon2id key derivation.

Example output

🐲💣💩🍗😤📲🐽👹💠🔚🔝🐯🌷😾📩💎📀👍👈🆓
🌴🍗🎇🎃😊💟📃💯🐁🐘💅🛃🎰🌟🐠🎺🍞🍫🐻🎳
😼💰🔚💮🏠🎵🎷🎷💣😌💀🍹🚟🌷👨🕙📕🍑👋🔥
🎫😅🎄🐳👒🆕🌰💹🐸🕝🕘🕗🐫🏯🕘🍎📝🐹👢🎭
🛃🌲😣😢🌀🍺🔊

The above ciphertext can be decrypted using the password 'hunter2'. The program ignores non-emoji input, so it's possible to insert normal text between the emojis in an attempt to obfuscate the encryption.

Usage

Online version

https://degaart.github.io/emocrypt/

Encrypt a file

emocrypt -i <input-file> -o <output-file>

Decrypt file

emocrypt -d -i <input-file> -o <output-file>

Building

Requirements:

  • c++ compiler with c++17 support
  • cmake >= 3.15
  • libsodium

Build commands:

cmake -DCMAKE_BUILD_TYPE=Release -B Build
cmake --build Build
cmake --build Build --target install