| Crates.io | bessie |
| lib.rs | bessie |
| version | 0.1.0 |
| created_at | 2022-01-02 17:49:27.24747+00 |
| updated_at | 2025-02-04 00:36:28.807918+00 |
| description | an authenticated, chunked cipher based on BLAKE3 |
| homepage | |
| repository | https://github.com/oconnor663/bessie |
| max_upload_size | |
| id | 506646 |
| size | 60,593 |
docs.rs — crates.io lib — crates.io bin
Bessie is an authenticated, chunked cipher based on BLAKE3. The design has been stable for a while, but it hasn't been audited or used in the real world as far as I know. Use with caution.
Features and design goals:
Non-features and non-goals:
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 general-purpose encryption CLI for real people 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 are a real person
and you need a general-purpose encryption CLI, consider
age.
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