CREAM(1) General Commands Manual CREAM(1)

creamcrypto utility for streams

cream [-deh] [-b size] [-j thread] [-t time] [-m memory] [-s salt] [-f file]

cream encrypts and decrypts continuous flows of data, from a password.

The name is a portemanteau for crypto + stream.

Decryption mode. Expect encrypted stream from file or stdin , and write plaintext to stdout.
Encryption mode (default). Read plaintext data from stdin , and write cipher to file or stdout.
size
Change internal buffer length to size. Default: 8 Kib.
thread
Number of thread(s) to use when computing the key. Default: 2.
time
Number of iterations to use when computing the key. This effectively increases the time cost of computing the key. Default: 2.
memory
Memory to use when computing the key. Default: 64 Mib.
file
Read/write encrypted data from/to file, Depending on the operation mode.
salt
Read salt data from salt. See cream(5) for details about the salt.
Print a quick usage text.

Most cryptographic parameters can be changed from the command line. These values can increase or decrease the time it takes to compute the key, or the memory used when dealing with long streams.

However, changing any of these values will change the produced key, or the stream. The same values must be used in order to successfully decrypt a stream.

Encrypt a file, then decrypt it (you will be prompted for a password for each command).

  cream -e < kitten.gif > secret.enc
  cream -d < secret.enc > kitten.gif

Encrypt multiple files with the same key. This assumes that you input the same password for each call:

  dd if=/dev/urandom of=./salt bs=16 count=1
  for file in *.gif; do
    cream -s ./salt < $file > $file.enc
  done

cream(5)

Willy Goiffon <dev@z3bra.org>

2022-09-14 POSIX.1-2017