1
- # RustCrypto: Traits [ ![ Project Chat] [ chat-image ]] [ chat-link ] [ ![ dependency status] [ deps-image ]] [ deps-link ]
1
+ # RustCrypto: Traits
2
+
3
+ [ ![ Project Chat] [ chat-image ]] [ chat-link ] [ ![ dependency status] [ deps-image ]] [ deps-link ] ![ Apache2/MIT licensed] [ license-image ]
2
4
3
5
Collection of traits which describe functionality of cryptographic primitives.
4
6
5
7
## Crates
6
8
7
- | Crate name | Algorithm | Crates.io | Docs | Build Status |
8
- | ---------------------| -------------------------------| -----------| -------| --------------|
9
- | [ ` aead ` ] | [ Authenticated encryption] | [ ![ crates.io] ( https://img.shields.io/crates/v/aead.svg )] ( https://crates.io/crates/aead ) | [ ![ Documentation] ( https://docs.rs/aead/badge.svg )] ( https://docs.rs/aead ) | ![ build] ( https://github.com/RustCrypto/traits/workflows/aead/badge.svg?branch=master&event=push ) |
10
- | [ ` async‑signature ` ] | [ Digital signature] | [ ![ crates.io] ( https://img.shields.io/crates/v/async-signature.svg )] ( https://crates.io/crates/async-signature ) | [ ![ Documentation] ( https://docs.rs/async-signature/badge.svg )] ( https://docs.rs/async-signature ) | ![ build] ( https://github.com/RustCrypto/traits/workflows/async-signature/badge.svg?branch=master&event=push ) |
11
- | [ ` cipher ` ] | [ Block] and [ stream cipher] | [ ![ crates.io] ( https://img.shields.io/crates/v/cipher.svg )] ( https://crates.io/crates/cipher ) | [ ![ Documentation] ( https://docs.rs/cipher/badge.svg )] ( https://docs.rs/cipher ) | ![ build] ( https://github.com/RustCrypto/traits/workflows/cipher/badge.svg?branch=master&event=push ) |
12
- | [ ` crypto‑mac ` ] | [ Message authentication code] | [ ![ crates.io] ( https://img.shields.io/crates/v/crypto-mac.svg )] ( https://crates.io/crates/crypto-mac ) | [ ![ Documentation] ( https://docs.rs/crypto-mac/badge.svg )] ( https://docs.rs/crypto-mac ) | ![ build] ( https://github.com/RustCrypto/traits/workflows/crypto-mac/badge.svg?branch=master&event=push ) |
13
- | [ ` digest ` ] | [ Cryptographic hash function] | [ ![ crates.io] ( https://img.shields.io/crates/v/digest.svg )] ( https://crates.io/crates/digest ) | [ ![ Documentation] ( https://docs.rs/digest/badge.svg )] ( https://docs.rs/digest ) | ![ build] ( https://github.com/RustCrypto/traits/workflows/digest/badge.svg?branch=master&event=push ) |
14
- | [ ` elliptic‑curve ` ] | [ Elliptic curve cryptography] | [ ![ crates.io] ( https://img.shields.io/crates/v/elliptic-curve.svg )] ( https://crates.io/crates/elliptic-curve ) | [ ![ Documentation] ( https://docs.rs/elliptic-curve/badge.svg )] ( https://docs.rs/elliptic-curve ) | ![ build] ( https://github.com/RustCrypto/traits/workflows/elliptic-curve/badge.svg?branch=master&event=push ) |
15
- | [ ` password-hash ` ] | [ Password hashing] | [ ![ crates.io] ( https://img.shields.io/crates/v/password-hash.svg )] ( https://crates.io/crates/password-hash ) | [ ![ Documentation] ( https://docs.rs/password-hash/badge.svg )] ( https://docs.rs/password-hash ) | ![ build] ( https://github.com/RustCrypto/traits/workflows/password-hash/badge.svg?branch=master&event=push ) |
16
- | [ ` signature ` ] | [ Digital signature] | [ ![ crates.io] ( https://img.shields.io/crates/v/signature.svg )] ( https://crates.io/crates/signature ) | [ ![ Documentation] ( https://docs.rs/signature/badge.svg )] ( https://docs.rs/signature ) | ![ build] ( https://github.com/RustCrypto/traits/workflows/signature/badge.svg?branch=master&event=push ) |
17
- | [ ` universal‑hash ` ] | [ Universal hash function] | [ ![ crates.io] ( https://img.shields.io/crates/v/universal-hash.svg )] ( https://crates.io/crates/universal-hash ) | [ ![ Documentation] ( https://docs.rs/universal-hash/badge.svg )] ( https://docs.rs/universal-hash ) | ![ build] ( https://github.com/RustCrypto/traits/workflows/universal-hash/badge.svg?branch=master&event=push ) |
18
-
19
- ### Additional crates
9
+ | Name | Algorithm | Crates.io | Docs | MSRV |
10
+ | ---------------------| -----------| :---------:| :-----:| :----:|
11
+ | [ ` aead ` ] | [ Authenticated encryption] | [ ![ crates.io] ( https://img.shields.io/crates/v/aead.svg )] ( https://crates.io/crates/aead ) | [ ![ Documentation] ( https://docs.rs/aead/badge.svg )] ( https://docs.rs/aead ) | ![ MSRV 1.41] [ msrv-1.41 ] |
12
+ | [ ` async‑signature ` ] | [ Digital signature] | [ ![ crates.io] ( https://img.shields.io/crates/v/async-signature.svg )] ( https://crates.io/crates/async-signature ) | [ ![ Documentation] ( https://docs.rs/async-signature/badge.svg )] ( https://docs.rs/async-signature ) | ![ MSRV 1.41] [ msrv-1.41 ] |
13
+ | [ ` cipher ` ] | [ Block] and [ stream cipher] | [ ![ crates.io] ( https://img.shields.io/crates/v/cipher.svg )] ( https://crates.io/crates/cipher ) | [ ![ Documentation] ( https://docs.rs/cipher/badge.svg )] ( https://docs.rs/cipher ) | ![ MSRV 1.41] [ msrv-1.41 ] |
14
+ | [ ` crypto‑common ` ] | Common cryptographic traits | [ ![ crates.io] ( https://img.shields.io/crates/v/crypto-common.svg )] ( https://crates.io/crates/crypto-common ) | [ ![ Documentation] ( https://docs.rs/crypto-common/badge.svg )] ( https://docs.rs/crypto-common ) | ![ MSRV 1.41] [ msrv-1.41 ] |
15
+ | [ ` digest ` ] | [ Cryptographic hash function] | [ ![ crates.io] ( https://img.shields.io/crates/v/digest.svg )] ( https://crates.io/crates/digest ) | [ ![ Documentation] ( https://docs.rs/digest/badge.svg )] ( https://docs.rs/digest ) | ![ MSRV 1.41] [ msrv-1.41 ] |
16
+ | [ ` elliptic‑curve ` ] | [ Elliptic curve cryptography] | [ ![ crates.io] ( https://img.shields.io/crates/v/elliptic-curve.svg )] ( https://crates.io/crates/elliptic-curve ) | [ ![ Documentation] ( https://docs.rs/elliptic-curve/badge.svg )] ( https://docs.rs/elliptic-curve ) | ![ MSRV 1.56] [ msrv-1.56 ] |
17
+ | [ ` password-hash ` ] | [ Password hashing] | [ ![ crates.io] ( https://img.shields.io/crates/v/password-hash.svg )] ( https://crates.io/crates/password-hash ) | [ ![ Documentation] ( https://docs.rs/password-hash/badge.svg )] ( https://docs.rs/password-hash ) | ![ MSRV 1.47] [ msrv-1.47 ] |
18
+ | [ ` signature ` ] | [ Digital signature] | [ ![ crates.io] ( https://img.shields.io/crates/v/signature.svg )] ( https://crates.io/crates/signature ) | [ ![ Documentation] ( https://docs.rs/signature/badge.svg )] ( https://docs.rs/signature ) | ![ MSRV 1.41] [ msrv-1.41 ] |
19
+ | [ ` universal‑hash ` ] | [ Universal hash function] | [ ![ crates.io] ( https://img.shields.io/crates/v/universal-hash.svg )] ( https://crates.io/crates/universal-hash ) | [ ![ Documentation] ( https://docs.rs/universal-hash/badge.svg )] ( https://docs.rs/universal-hash ) | ![ MSRV 1.41] [ msrv-1.41 ] |
20
20
21
- | Crate name | Description | Crates.io | Docs | Build Status |
22
- | ------------| -------------------------| -----------| -------| --------------|
23
- | [ ` crypto ` ] | Facade for trait crates | [ ![ crates.io] ( https://img.shields.io/crates/v/crypto.svg )] ( https://crates.io/crates/crypto ) | [ ![ Documentation] ( https://docs.rs/crypto/badge.svg )] ( https://docs.rs/crypto ) | ![ build] ( https://github.com/RustCrypto/traits/workflows/crypto/badge.svg?branch=master&event=push )
21
+ ### Additional Crates
24
22
25
- ### Minimum Supported Rust Version
23
+ | Crate name | Description | Crates.io | Docs | MSRV |
24
+ | ------------| -------------------------| :---------:| :-----:| :----:|
25
+ | [ ` crypto ` ] | Facade for trait crates | [ ![ crates.io] ( https://img.shields.io/crates/v/crypto.svg )] ( https://crates.io/crates/crypto ) | [ ![ Documentation] ( https://docs.rs/crypto/badge.svg )] ( https://docs.rs/crypto ) | ![ MSRV 1.56] [ msrv-1.56 ] |
26
26
27
- All crates in this repository support ** Rust 1.41 ** or higher unless otherwise noted.
27
+ ### Minimum Supported Rust Version (MSRV) Policy
28
28
29
- In future minimally supported version of Rust can be changed, but it will be done
30
- with the minor version bump.
29
+ MSRV bumps are considered breaking changes and will be performed only with minor version bump.
31
30
32
31
## License
33
32
@@ -40,29 +39,31 @@ at your option.
40
39
41
40
### Contribution
42
41
43
- Unless you explicitly state otherwise, any contribution intentionally submitted
44
- for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
45
- dual licensed as above, without any additional terms or conditions.
42
+ 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.
46
43
47
44
[ // ] : # ( badges )
48
45
49
46
[ chat-image ] : https://img.shields.io/badge/zulip-join_chat-blue.svg
50
47
[ chat-link ] : https://rustcrypto.zulipchat.com/
48
+ [ license-image ] : https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg
51
49
[ deps-image ] : https://deps.rs/repo/github/RustCrypto/traits/status.svg
52
50
[ deps-link ] : https://deps.rs/repo/github/RustCrypto/traits
51
+ [ msrv-1.41 ] : https://img.shields.io/badge/rustc-1.41.0+-blue.svg
52
+ [ msrv-1.47 ] : https://img.shields.io/badge/rustc-1.47.0+-blue.svg
53
+ [ msrv-1.56 ] : https://img.shields.io/badge/rustc-1.56.0+-blue.svg
53
54
54
55
[ // ] : # ( crates )
55
56
56
- [ `aead` ] : https://github.com/RustCrypto/traits/tree/master /aead
57
- [ `async‑signature` ] : https://github.com/RustCrypto/traits/tree/master /signature/async
58
- [ `cipher` ] : https://github.com/RustCrypto/traits/tree/master /cipher
59
- [ `crypto‑mac ` ] : https://github.com/RustCrypto/traits/tree/master/ crypto-mac
60
- [ `crypto` ] : https://github.com/RustCrypto/traits/tree/master /crypto
61
- [ `digest` ] : https://github.com/RustCrypto/traits/tree/master /digest
62
- [ `elliptic‑curve` ] : https://github.com/RustCrypto/traits/tree/master /elliptic-curve
63
- [ `password-hash` ] : https://github.com/RustCrypto/traits/tree/master /password-hash
64
- [ `signature` ] : https://github.com/RustCrypto/traits/tree/master /signature
65
- [ `universal‑hash` ] : https://github.com/RustCrypto/traits/tree/master /universal-hash
57
+ [ `aead` ] : . /aead
58
+ [ `async‑signature` ] : . /signature/async
59
+ [ `cipher` ] : . /cipher
60
+ [ `crypto‑common ` ] : ./ crypto-common
61
+ [ `crypto` ] : . /crypto
62
+ [ `digest` ] : . /digest
63
+ [ `elliptic‑curve` ] : . /elliptic-curve
64
+ [ `password-hash` ] : . /password-hash
65
+ [ `signature` ] : . /signature
66
+ [ `universal‑hash` ] : . /universal-hash
66
67
67
68
[ // ] : # ( algorithms )
68
69
0 commit comments