tAdd README and cream(1) manual page - cream - Stream encryption utility
 (HTM) git clone git://git.z3bra.org/cream.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
       ---
 (DIR) commit 06bd25b08d512b0fcb353b358a20834ca077d3ae
 (DIR) parent 7316d185de6c7e7c8602d2fb6e073e4c531e0a11
 (HTM) Author: Willy Goiffon <dev@z3bra.org>
       Date:   Wed, 14 Sep 2022 21:39:56 +0200
       
       Add README and cream(1) manual page
       
       Diffstat:
         A README                              |      36 +++++++++++++++++++++++++++++++
         A cream.1                             |      70 +++++++++++++++++++++++++++++++
       
       2 files changed, 106 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/README b/README
       t@@ -0,0 +1,36 @@
       +cream
       +=====
       +Stream encryption utility
       +
       +Encrypt and decrypt streams of data from a single password.
       +
       +Features
       +-----
       +- No keys involved
       +- Handle arbitrary chunks of data
       +- Modern algorithms ([XChaCha20-Poly1305][0] + [Argon2id])
       +
       +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
       +
       +The format of the encrypted data is detailed in the 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
 (DIR) diff --git a/cream.1 b/cream.1
       t@@ -0,0 +1,70 @@
       +.Dd 2022-09-14
       +.Dt CREAM 1
       +.Os POSIX.1-2017
       +.Sh NAME
       +.Nm cream
       +.Nd crypto utility for streams
       +.Sh SYNOPSIS
       +.Nm
       +.Op Fl deh
       +.Op Fl s Ar salt
       +.Op Fl f Ar file
       +.Sh DESCRIPTION
       +.Nm
       +encrypts and decrypts continuous flows of data, from a password.
       +.Pp
       +The name is a portemanteau for crypto + stream.
       +.Bl -tag -width Ds
       +.It Fl d
       +Decryption mode. Expect encrypted stream from
       +.Ar file
       +or
       +.Pa stdin
       +, and write plaintext to
       +.Pa stdout .
       +.It Fl e
       +Encryption mode (default). Read plaintext data from
       +.Pa stdin
       +, and write cipher to
       +.Ar file
       +or
       +.Pa stdout .
       +.It Fl f Ar file
       +Read/write encrypted data from/to
       +.Ar file ,
       +Depending on the operation mode.
       +.It Fl s Ar salt
       +Read salt data from
       +.Ar salt .
       +See
       +.Xr cream 5
       +for details about the salt.
       +.It Fl h
       +Print a quick usage text.
       +.El
       +.Sh EXAMPLES
       +Encrypt a file, then decrypt it (you will be prompted for a password
       +for each command).
       +.Bd -literal
       +  cream -e < kitten.gif > secret.enc
       +  cream -d < secret.enc > kitten.gif
       +.Ed
       +.Pp
       +Encrypt multiple files with the same key. This assumes that you input
       +the same password for each call:
       +.Bd -literal
       +  dd if=/dev/urandom of=./salt bs=16 count=1
       +  for file in *.gif; do
       +    cream -s ./salt < $file > $file.enc
       +  done
       +.Ed
       +.Pp
       +Retrieve a secret from your safe
       +.Bd -literal
       +  $ safe secret/file > kitten.gif
       +  password:
       +.Ed
       +.Sh SEE ALSO
       +.Xr cream 5
       +.Sh AUTHORS
       +.An Willy Goiffon Aq Mt dev@z3bra.org