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

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

Development

git clone git://z3bra.org/cream.git

If you find any bug, please report them or send a patch to dev@z3bra.org.

Download