aont 0.1.1

All-Or-Nothing-Transform
Documentation
# 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"](http://people.csail.mit.edu/rivest/chaffing-980701.txt)

Some relevant wikipedia links:

* [Chaffing and Winnowing]https://en.wikipedia.org/wiki/Chaffing_and_winnowing
* [All-or-nothing-transform]https://en.wikipedia.org/wiki/All-or-nothing_transform

## 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`(?)