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.



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


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.


Edit as needed, then build/install with the following commands:

make install


git clone git://

If you find any bug, please report them or send a patch to