KDFs
KDFs copied to clipboard
Collection of Key Derivation Functions written in pure Rust
Need https://github.com/RustCrypto/hashes/pull/520 for merge
This implements KBKDF as defined in https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-108r1.pdf This also implements non-standards behavior like `use-l` and `use-separator`. Those are used in TPMs for the KDFa method for example. See comments below...
This PR is not meant to be merge. It is just an illustration of a possible solution for #80. Feel free to comment directly on the code if it's simpler...
I might be missing something about the rational behind the `HmacImpl` sealed trait (like some implicit invariant), but I'm wondering why `Hkdf` and `HkdfExtract` are not parametrized by `hmac::Mac` instead....
This is a tracking issue for KDF algorithms we should potentially implement. Please leave a comment with your requests!