#key-derivation #kdf #crypto #sec1

no-std ansi-x963-kdf

ANSI X9.63 Key Derivation Function

2 releases

new 0.0.1 Feb 13, 2025
0.0.0 Oct 14, 2024

#7 in #kdf

Download history 13/week @ 2024-11-03 1/week @ 2024-11-10 6/week @ 2024-11-17 1/week @ 2024-11-24 1/week @ 2024-12-08 3/week @ 2025-02-02 106/week @ 2025-02-09

109 downloads per month

MIT/Apache

13KB
51 lines

RustCrypto: ANSI X9.63 Key Derivation Function

crate Docs Build Status Apache2/MIT licensed Rust Version Project Chat

Pure Rust implementation of the ANSI X9.63 Key Derivation Function (ANSI-X9.63-KDF) generic over hash function. This function is described in the section 3.6.1 of SEC 1: Elliptic Curve Cryptography.

Usage

The most common way to use ANSI-X9.63-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];
ansi_x963_kdf::derive_key_into::<Sha256>(b"secret", b"shared-info", &mut key).unwrap();
assert_eq!(key, hex!("8dbb1d50bcc7fc782abc9db5c64a2826"));

Minimum Supported Rust Version

Rust 1.81 or higher.

Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump.

SemVer Policy

  • All on-by-default features of this library are covered by SemVer
  • MSRV is considered exempt from SemVer as noted above

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

~340KB