2 releases
0.1.1 | Jul 5, 2021 |
---|---|
0.1.0 | Jul 4, 2021 |
#599 in #crypto
16KB
133 lines
All-Or-Nothing-Transform
This crate is a very early stage of development. It is intended to implement the "Package Transform" (All-Or-Nothing-Transform) as described by Ron L. Rivest in his paper "Chaffing and Winnowing: Confidentiality without Encryption"
Some relevant wikipedia links:
Currently Implemented
- encode and decode using SHA-1 on a message stored in memory
Future Direction
- Add high-level routines to encode/decode files
- Add option to output public parameter at start of message/stream
- Symmetric option to read that during decoding
- Generic version that works with any hash routine that implements
Digest
- Add support for different ways of combining hash parameters (currently concatenated, implement xor)
- Add support for turning encryption algorithms into digest functions (eg, AES-CBC)
- Write inner/outer (en/de)coding algorithms as traits implementing
Digest
(?)
Dependencies
~720KB
~14K SLoC