#bin #cli #chunked #cipher #testing #blake3 #decryption #enc

app bessie_bin

a demo/test CLI for the Bessie cipher, NOT FOR PRODUCTION USE

2 releases

0.0.1 Jan 4, 2022
0.0.0 Jan 2, 2022

CC0-1.0 OR Apache-2.0

47KB
856 lines

Bessie

docs.rscrates.io libcrates.io bin

Bessie is an authenticated, chunked cipher based on BLAKE3. Right now it's in the early design stages. See design.md.

Although the Bessie cipher and its library implementations are eventually intended for production use, the bessie CLI tool will always be for testing and demo purposes only. A real-world encryption CLI needs to support public-key encryption and various ways of encoding and managing keys, neither of which are in scope for this project. If you need a real-world encryption CLI, consider age.

Usage

To install the bessie CLI tool, which is for testing and demo purposes only:

cargo install bessie_bin

Or to build and install from this repo:

cargo install --path rust/bin

To encrypt and decrypt a 1 MB file using the all-zero key (seriously, testing and demo purposes only):

head -c 1000000 /dev/urandom > myfile
bessie encrypt zero myfile myfile_enc
bessie decrypt zero myfile_enc myfile_copy
cmp myfile myfile_copy

To decrypt just the last byte of the encrypted file:

bessie decrypt zero myfile_enc myfile_last --seek=999999

To run tests for the whole project:

./test.py

Dependencies

~4MB
~91K SLoC