This library implements the Skip Ratchet paper. Skip ratchet is a data structure for deriving keys that maintain backward secrecy. Unlike hash chains, this data structure is capable of efficiently making large leaps in hash count.
```rs use skip_ratchet::Ratchet;
let mut ratchet = Ratchet::new(); ratchet.inc_by(10);
println!("{:?}", ratchet.derive_key()); ```
```rs use skip_ratchet::Ratchet;
let mut oldratchet = Ratchet::new(); oldratchet.inc_by(5);
let mut recentratchet = oldratchet.clone(); recentratchet.incby(10);
for revision in recentratchet.previous(&oldratchet, 10).unwrap() { println!("{:?}", String::from(&revision)); } ```
Clone the repository.
bash
git clone https://github.com/WebNativeFileSystem/rs-skip-ratchet.git
Change directory
bash
cd rs-skip-ratchet
Run tests
bash
cargo test --release