Skip to content

Commit 132c6aa

Browse files
Merge pull request #225 from iqlusioninc/hkd32
hkd32: Initial crate
2 parents 88a669c + ae6403a commit 132c6aa

File tree

7 files changed

+319
-8
lines changed

7 files changed

+319
-8
lines changed

Cargo.lock

Lines changed: 116 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
members = [
33
"canonical-path",
44
"gaunt",
5+
"hkd32",
56
"secrecy",
67
"subtle-encoding",
78
"tai64",

hkd32/Cargo.toml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
[package]
2+
name = "hkd32"
3+
description = """
4+
HMAC-based Hierarchical Key Derivation: deterministically derive
5+
a hierarchy of symmetric keys from initial keying material through
6+
repeated applications of the Hash-based Message Authentication Code
7+
(HMAC) construction.
8+
"""
9+
version = "0.0.0" # Also update html_root_url in lib.rs when bumping this
10+
authors = ["Tony Arcieri <[email protected]>"]
11+
license = "Apache-2.0"
12+
edition = "2018"
13+
homepage = "https://github.com/iqlusioninc/crates/"
14+
repository = "https://github.com/iqlusioninc/crates/tree/master/hkd32"
15+
readme = "README.md"
16+
categories = ["cryptography", "no-std"]
17+
keywords = ["bip32", "derivation", "hd", "hmac", "key"]
18+
19+
[badges]
20+
travis-ci = { repository = "iqlusioninc/crates", branch = "develop" }
21+
22+
[dependencies]
23+
hmac = "0.7"
24+
sha2 = "0.8"
25+
zeroize = { version = "0.9", path = "../zeroize", default-features = false }

hkd32/README.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# HMAC-based Hierarchical Key Derivation <a href="https://www.iqlusion.io"><img src="https://storage.googleapis.com/iqlusion-production-web/img/logo/iqlusion-rings-sm.png" alt="iqlusion" width="24" height="24"></a>
2+
3+
4+
[![Crate][crate-image]][crate-link]
5+
[![Docs][docs-image]][docs-link]
6+
[![Apache 2.0 Licensed][license-image]][license-link]
7+
![Rust 1.35+][rustc-image]
8+
[![forbid(unsafe_code)][unsafe-image]][unsafe-link]
9+
[![Build Status][build-image]][build-link]
10+
[![Gitter Chat][gitter-image]][gitter-link]
11+
12+
`hkd32` is a Rust library which implements a hierarchical deterministic
13+
symmetric key derivation construction inspired by
14+
[BIP-0032: Hierarchical Deterministic Wallets][bip32].
15+
16+
It can be used to deterministically derive a hierarchy of symmetric keys
17+
from initial keying material through repeated applications of the
18+
Hash-based Message Authentication Code (HMAC).
19+
20+
This construction is specialized for deriving 32-byte (256-bit) keys from
21+
an initial 32-bytes of input key material.
22+
23+
[Documentation][docs-link]
24+
25+
## License
26+
27+
Copyright © 2019 iqlusion
28+
29+
Licensed under the Apache License, Version 2.0 (the "License");
30+
you may not use this file except in compliance with the License.
31+
You may obtain a copy of the License at
32+
33+
https://www.apache.org/licenses/LICENSE-2.0
34+
35+
Unless required by applicable law or agreed to in writing, software
36+
distributed under the License is distributed on an "AS IS" BASIS,
37+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
38+
See the License for the specific language governing permissions and
39+
limitations under the License.
40+
41+
## Contribution
42+
43+
Unless you explicitly state otherwise, any contribution intentionally
44+
submitted for inclusion in the work by you shall be dual licensed as above,
45+
without any additional terms or conditions.
46+
47+
[//]: # (badges)
48+
49+
[crate-image]: https://img.shields.io/crates/v/hkd32.svg
50+
[crate-link]: https://crates.io/crates/hkd32
51+
[docs-image]: https://docs.rs/hkd32/badge.svg
52+
[docs-link]: https://docs.rs/hkd32/
53+
[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
54+
[license-link]: https://github.com/iqlusioninc/crates/blob/master/LICENSE
55+
[rustc-image]: https://img.shields.io/badge/rustc-1.35+-blue.svg
56+
[unsafe-image]: https://img.shields.io/badge/unsafe-forbidden-success.svg
57+
[unsafe-link]: https://internals.rust-lang.org/t/disabling-unsafe-by-default/7988
58+
[build-image]: https://travis-ci.com/iqlusioninc/crates.svg?branch=develop
59+
[build-link]: https://travis-ci.com/iqlusioninc/crates/
60+
[gitter-image]: https://badges.gitter.im/iqlusioninc/community.svg
61+
[gitter-link]: https://gitter.im/iqlusioninc/community
62+
63+
[//]: # (general links)
64+
65+
[bip32]: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki

0 commit comments

Comments
 (0)