2 releases
Uses new Rust 2024
| 0.1.0-rc.1 | Feb 2, 2026 |
|---|---|
| 0.1.0-rc.0 | Nov 5, 2025 |
#2964 in Cryptography
64 downloads per month
13KB
51 lines
RustCrypto: One-Step KDF
Pure Rust implementation of the One-Step Key Derivation Function (formerly known as Concat KDF) implemented generically over the underlying hash function.
This KDF is described in the section 4 of NIST SP 800-56C: Recommendation for Key-Derivation Methods in Key-Establishment Schemes.
Usage
The most common way to use One-Step KDF is as follows: you generate a shared secret with other party (e.g. via Diffie-Hellman algorithm) and use key derivation function to derive a shared key.
use hex_literal::hex;
use sha2::Sha256;
let mut key = [0u8; 16];
one_step_kdf::derive_key_into::<Sha256>(b"secret", b"shared-info", &mut key).unwrap();
assert_eq!(key, hex!("960db2c549ab16d71a7b008e005c2bdc"));
License
Licensed under either of:
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~660KB
~17K SLoC