aont 0.1.1

All-Or-Nothing-Transform
Documentation
  • Coverage
  • 100%
    4 out of 4 items documented1 out of 4 items with examples
  • Size
  • Source code size: 38.53 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.48 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 21s Average build duration of successful builds.
  • all releases: 21s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • declanmalone

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