cream
=====
Bring crypto to your stream !
Encrypt and decrypt streams of data with only a master password.
The key is derivated from the password + salt combo, and used to encrypt
data byte per byte.
Features
-----
- No key files involved
- Handle arbitrary chunks of data
- Modern algorithms ([XChaCha20-Poly1305][0] + [Argon2id][1])
- Decryption parameters discovery
Usage
-----
Refer to cream(1) manual page for details and examples.
The below commands are provided as a quick introduction.
Send an encrypted file over the network
# Sender side, send encrypted data to remote.lan
cream -e < file.jpg | nc remote.lan 1337
# Receiver side, receive data on port 1337
nc -l 1337 | cream -d > file.jpg
Format
------
For convenience, encryption parameters are included at the beginning of
the stream. This header can be parsed using the file(1) command:
% file -m cream.magic cipher.cream
cipher.cream: CREAM encrypted data, version 16,
xchachapoly1305 bs=4096, argon2id m=65536 t=3 p=4
The header format and magic pattern are detailed in cream(5) manual page.
Installation
-----
Edit config.mk as needed, then build/install with the following commands:
make
make install
[0]:
https://en.wikipedia.org/wiki/ChaCha20-Poly1305
[1]:
https://en.wikipedia.org/wiki/Argon2