Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/degaart/emocrypt

Encrypts data into emojipastas
https://github.com/degaart/emocrypt

emoji encryption steganography

Last synced: about 2 months ago
JSON representation

Encrypts data into emojipastas

Awesome Lists containing this project

README

        

# emocrypt

## Encrypts data into emojipastas

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

## Example output

```
I'd just like ๐Ÿƒto interject for๐Ÿ”’ a moment. ๐ŸจWhat you're refering๐Ÿˆต to as
๐Ÿ‘Linux, is in๐Ÿ”™ fact, GNU/Linux, or๐Ÿฑ as I've ๐Ÿฉrecently taken to๐Ÿ“š calling
it, ๐Ÿ”ชGNU plus Linux.๐Ÿ’ Linux is ๐ŸŸnot an operating๐Ÿ›ƒ system unto itself,๐Ÿ˜
but rather ๐Ÿ‘Šanother free component๐Ÿ of a ๐Ÿ‘…fully functioning GNU๐Ÿ˜ก system
made ๐Ÿ“useful by the๐Ÿ” GNU corelibs, shell๐Ÿ’† utilities and ๐ŸŒธvital system
components๐Ÿ”ก comprising a ๐Ÿ˜Œfull OS as๐Ÿ• defined by ๐Ÿ”ŽPOSIX.

Many computer ๐Ÿ•users run a๐Ÿˆธ modified version ๐Ÿ’–of the GNU๐Ÿ’‹ system every
๐Ÿ’พday, without realizing๐Ÿ˜ธ it. Through ๐Ÿ’กa peculiar turn ๐Ÿƒof events, the๐Ÿ†‘
version of โ›„GNU which isโœ‹ widely used ๐Ÿš›today is often๐Ÿ’– called Linux, ๐Ÿ“‡
and many of ๐ŸŽฐits users are๐ŸŽฏ not aware ๐Ÿ• that it is๐Ÿ“ˆ basically the ๐Ÿ“—GNU
system, developed๐Ÿ“ฆ by the GNU๐Ÿ•” Project.

There ๐Ÿ™really is a๐ŸŽฐ Linux, and ๐Ÿ˜นthese people are๐Ÿง using it, ๐Ÿbut it is
๐Ÿ’œ just a part๐Ÿ“  of the ๐ŸŽsystem they use.๐Ÿ“ฌ Linux is ๐Ÿถthe kernel: the๐Ÿ”
program in ๐Ÿ’the system that๐Ÿœ allocates the machine's๐ŸŒ€ resources to ๐Ÿ’˜the
other programs๐Ÿ’‚ that you ๐Ÿ“ณrun. The kernel๐Ÿ”ฐ is an ๐Ÿ’ฉessential part of ๐Ÿ”กan
operating system,๐Ÿ• but useless ๐Ÿ‘ดby itself; it๐Ÿ‘Ž can only ๐Ÿ•function in
the๐Ÿ•œ context of ๐Ÿงa complete operating ๐Ÿšซsystem. Linux is๐Ÿฅ normally used
๐Ÿ’Ÿin combination with๐ŸšŸ the GNU ๐Ÿ—ฝoperating system: the๐ŸŽ  whole system ๐Ÿ•Ÿis
basically GNU ๐ŸŒบwith Linux added,๐ŸŒŸ or GNU/Linux. ๐Ÿ™…All the so-called๐Ÿ“›
Linux distributions ๐Ÿ“ฑare really distributions๐Ÿ”† of GNU/Linux!๐Ÿ”ฑ
```

The above ciphertext can be decrypted using the password 'hunter2'.
It's also possible to just encrypt into a simple emoji soup:

```
๐Ÿฒ๐Ÿ’ฃ๐Ÿ’ฉ๐Ÿ—๐Ÿ˜ค๐Ÿ“ฒ๐Ÿฝ๐Ÿ‘น๐Ÿ’ ๐Ÿ”š๐Ÿ”๐Ÿฏ๐ŸŒท๐Ÿ˜พ๐Ÿ“ฉ๐Ÿ’Ž๐Ÿ“€๐Ÿ‘๐Ÿ‘ˆ๐Ÿ†“
๐ŸŒด๐Ÿ—๐ŸŽ‡๐ŸŽƒ๐Ÿ˜Š๐Ÿ’Ÿ๐Ÿ“ƒ๐Ÿ’ฏ๐Ÿ๐Ÿ˜๐Ÿ’…๐Ÿ›ƒ๐ŸŽฐ๐ŸŒŸ๐Ÿ ๐ŸŽบ๐Ÿž๐Ÿซ๐Ÿป๐ŸŽณ
๐Ÿ˜ผ๐Ÿ’ฐ๐Ÿ”š๐Ÿ’ฎ๐Ÿ ๐ŸŽต๐ŸŽท๐ŸŽท๐Ÿ’ฃ๐Ÿ˜Œ๐Ÿ’€๐Ÿน๐ŸšŸ๐ŸŒท๐Ÿ‘จ๐Ÿ•™๐Ÿ“•๐Ÿ‘๐Ÿ‘‹๐Ÿ”ฅ
๐ŸŽซ๐Ÿ˜…๐ŸŽ„๐Ÿณ๐Ÿ‘’๐Ÿ†•๐ŸŒฐ๐Ÿ’น๐Ÿธ๐Ÿ•๐Ÿ•˜๐Ÿ•—๐Ÿซ๐Ÿฏ๐Ÿ•˜๐ŸŽ๐Ÿ“๐Ÿน๐Ÿ‘ข๐ŸŽญ
๐Ÿ›ƒ๐ŸŒฒ๐Ÿ˜ฃ๐Ÿ˜ข๐ŸŒ€๐Ÿบ๐Ÿ”Š
```

## Online version

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

## Usage - command line client

### Encrypt a file

```
emocrypt -i -o
```

### Encrypt then conceal a file

```
emocrypt -i -o -c
```

### Decrypt file

```
emocrypt -d -i -o
```

## Building

Requirements:

- c++ compiler with c++14 support
- cmake >= 3.15
- libsodium

### Unix/macOS

Build commands:

```
cmake -DCMAKE_BUILD_TYPE=Release -B Build -DCMAKE_INSTALL_PREFIX=/opt/emocrypt
cmake --build Build
cmake --build Build --target install
```

### Windows (Visual Studio)

- Download and extract libsodium from https://download.libsodium.org/libsodium/releases/LATEST.tar.gz
- Open libsodium.sln and build the Debug (or the Release) configuration
- Open emocrypt's source code folder in Visual Studio
- Open menu: Project > CMake Settings for emocrypt
- Tweak "CMake command arguments": ```-Dlibsodium_INCLUDE_DIR=C:\some-path\libsodium\include -Dlibsodium_LIBRARY=C:\some-path\libsodium-stable\Build\Debug\x64\libsodium.lib -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded```
- Build the solution