1# RustCrypto: HKDF
2
3[![crate][crate-image]][crate-link]
4[![Docs][docs-image]][docs-link]
5![Apache2/MIT licensed][license-image]
6![Rust Version][rustc-image]
7[![Project Chat][chat-image]][chat-link]
8[![Build Status][build-image]][build-link]
9
10[HMAC-based Extract-and-Expand Key Derivation Function (HKDF)](https://tools.ietf.org/html/rfc5869) for [Rust](http://www.rust-lang.org/).
11
12Uses the Digest trait which specifies an interface common to digest functions, such as SHA-1, SHA-256, etc.
13
14## Installation
15
16From crates.io:
17
18```toml
19[dependencies]
20hkdf = "0.7"
21```
22
23## Usage
24
25See the example [examples/main.rs](examples/main.rs) or run it with `cargo run --example main`
26
27## Changelog
28
29- 0.8.0 - new API, add `Hkdf::from_prk()`, `Hkdf::extract()`
30- 0.7.0 - Update digest to 0.8, refactor for API changes, remove redundant `generic-array` crate.
31- 0.6.0 - remove std requirement. The `expand` signature has changed.
32- 0.5.0 - removed deprecated interface, fixed omitting HKDF salt.
33- 0.4.0 - RFC-inspired interface, Reduce heap allocation, remove unnecessary mut, derive Clone. deps: hex-0.3, benchmarks.
34- 0.3.0 - update dependencies: digest-0.7, hmac-0.5
35- 0.2.0 - support for rustc 1.20.0
36- 0.1.1 - fixes to support rustc 1.5.0
37- 0.1.0 - initial release
38
39## Authors
40
41[![Vlad Filippov](https://avatars3.githubusercontent.com/u/128755?s=70)](http://vf.io/) | [![Brian Warner](https://avatars3.githubusercontent.com/u/27146?v=4&s=70)](http://www.lothar.com/blog/)
42---|---
43[Vlad Filippov](http://vf.io/) | [Brian Warner](http://www.lothar.com/blog/)
44
45[//]: # (badges)
46
47[crate-image]: https://img.shields.io/crates/v/hkdf.svg
48[crate-link]: https://crates.io/crates/hkdf
49[docs-image]: https://docs.rs/hkdf/badge.svg
50[docs-link]: https://docs.rs/hkdf/
51[license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
52[rustc-image]: https://img.shields.io/badge/rustc-1.41+-blue.svg
53[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg
54[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260043-KDFs
55[build-image]: https://github.com/RustCrypto/KDFs/workflows/hkdf/badge.svg?branch=master&event=push
56[build-link]: https://github.com/RustCrypto/KDFs/actions?query=workflow:hkdf
57