#key-derivation #derivation #bip-32 #bip-39 #mnemonic #root-key

no-std hkd32

HMAC-based Hierarchical Key Derivation: deterministically derive a hierarchy of symmetric keys from initial keying material through repeated applications of the Hash-based Message Authentication Code (HMAC) construction. Optionally supports storing root derivation passwords as a 24-word mnemonic phrase (i.e. BIP39).

11 releases (6 breaking)

0.7.0 May 11, 2022
0.6.0 Jun 17, 2021
0.5.0 Oct 19, 2020
0.4.0 Jun 18, 2020
0.1.2 Jul 24, 2019

#1 in #bip-32

Download history 1722/week @ 2024-02-26 2243/week @ 2024-03-04 3665/week @ 2024-03-11 2623/week @ 2024-03-18 1638/week @ 2024-03-25 2606/week @ 2024-04-01 2547/week @ 2024-04-08 2682/week @ 2024-04-15 2682/week @ 2024-04-22 2502/week @ 2024-04-29 2608/week @ 2024-05-06 2213/week @ 2024-05-13 1583/week @ 2024-05-20 2631/week @ 2024-05-27 2868/week @ 2024-06-03 2798/week @ 2024-06-10

9,927 downloads per month
Used in 34 crates (7 directly)

Apache-2.0 OR MIT


HMAC-based Hierarchical Key Derivation iqlusion

Crate Docs Apache 2.0 Licensed MSRV Build Status

hkd32 is a Rust library which implements a hierarchical deterministic symmetric key derivation construction inspired by BIP-0032: Hierarchical Deterministic Wallets.

It can be used to deterministically derive a hierarchy of symmetric keys from initial keying material (or when the mnemonic feature is enabled, through a 24-word BIP39 passphrase) by repeatedly applying the Hash-based Message Authentication Code (HMAC).

This construction is specialized for deriving 32-byte (256-bit) keys from an initial 32-bytes of input key material.


Minimum Supported Rust Version

  • Rust 1.57


Copyright © 2019-2021 iqlusion

Includes code from the bip39 crate. Copyright © 2017-2018 Stephen Oliver, with contributions by Maciej Hirsz.

hkd32 is distributed under the terms of either the MIT license or the Apache License (Version 2.0), at your option.

See LICENSE (Apache License, Version 2.0) file in the iqlusioninc/crates toplevel directory of this repository or LICENSE-MIT for details.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.


~30K SLoC