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]
10 Pure Rust implementation of the [Secure Remote Password] password-authenticated
11 key-exchange algorithm.
13 [Documentation][docs-link]
17 This implementation is generic over hash functions using the [`Digest`] trait,
18 so you will need to choose a hash function, e.g. `Sha256` from [`sha2`] crate.
20 Additionally this crate allows to use a specialized password hashing
21 algorithm for private key computation instead of method described in the
24 Compatibility with other implementations has not yet been tested.
26 ## ⚠️ Security Warning
28 This crate has never received an independent third party audit for security and
33 ## Minimum Supported Rust Version
35 Rust **1.56** or higher.
37 Minimum supported Rust version can be changed in the future, but it will be
38 done with a minor version bump.
42 Licensed under either of:
44 * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0)
45 * [MIT license](http://opensource.org/licenses/MIT)
51 Unless you explicitly state otherwise, any contribution intentionally submitted
52 for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
53 dual licensed as above, without any additional terms or conditions.
57 [crate-image]: https://img.shields.io/crates/v/srp.svg
58 [crate-link]: https://crates.io/crates/srp
59 [docs-image]: https://docs.rs/srp/badge.svg
60 [docs-link]: https://docs.rs/srp/
61 [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
62 [rustc-image]: https://img.shields.io/badge/rustc-1.56+-blue.svg
63 [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg
64 [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/260045-PAKEs
65 [build-image]: https://github.com/RustCrypto/PAKEs/actions/workflows/srp.yml/badge.svg
66 [build-link]: https://github.com/RustCrypto/PAKEs/actions/workflows/srp.yml
68 [//]: # (general links)
70 [RustCrypto]: https://github.com/RustCrypto
71 [Secure Remote Password]: https://en.wikipedia.org/wiki/Secure_Remote_Password_protocol
72 [`Digest`]: https://docs.rs/digest
73 [`sha2`]: https://crates.io/crates/sha2