eae is a tiny CLI tool that helps encrypt/decrypt a single file using AEAD ciphers. The key is derived using scrypt. AES256GCM and ChaCha20Poly1305 are supported.
💡
|
For further documents, please refer to eae(1). |
You can view the release page for handy prebuilt binaries.
To build eae, dep and goversioninfo are required. If you want to build the manpage, you need asciidoctor too.
$ git clone https://github.com/Equim-chan/eae.git $GOPATH/src/ekyu.moe/eae
$ cd $GOPATH/src/ekyu.moe/eae
$ make
$ make install
$ $GOPATH/bin/eae
First, we generate a 12-byte cryptographically strong pseudo-random slice as nonceSeed
, and a slice counter
of 12-byte zero. When a new chunk is to be processed, nonce
will be nonceSeed
XOR counter
, and then counter will increases itself by 0x1 in little endian. This is implemented in lib/aeadstream/aeadstream.go.
Technically, when chunk size is 256KiB (as in eae), and nonce size is 12 bytes, one single key(not passphrase) can be used to process at most 2^54 EiB of data.