Skip to content

Commit a625d9c

Browse files
update readme to expand the supported cipher suites
1 parent 7b4a773 commit a625d9c

File tree

1 file changed

+48
-20
lines changed

1 file changed

+48
-20
lines changed

README.md

Lines changed: 48 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,52 @@ Note that RustCrypto performance is generally inferior than ring, but in exchang
1717

1818
## Supported Cipher Suites
1919

20-
- TLS_ECDHE_ECDSA_WITH_AES_128_CCM
21-
- TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
22-
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
23-
- TLS_ECDHE_ECDSA_WITH_AES_256_CCM
24-
- TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8
25-
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
26-
- TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
27-
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
28-
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
29-
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
30-
- TLS13_AES_128_CCM_SHA256
31-
- TLS13_AES_128_CCM_8_SHA256
32-
- TLS13_AES_128_GCM_SHA256
33-
- TLS13_AES_256_GCM_SHA384
34-
- TLS13_CHACHA20_POLY1305_SHA256
20+
Only the recommended ([TLS1.2](https://ciphersuite.info/cs/?security=recommended&singlepage=true&tls=tls12), [TLS1.3](https://ciphersuite.info/cs/?security=recommended&singlepage=true&tls=tls13)) and secure ([TLS1.2](https://ciphersuite.info/cs/?security=secure&singlepage=true&tls=tls12), [TLS1.3](https://ciphersuite.info/cs/?security=secure&singlepage=true&tls=tls13)) suites will be chosen
21+
22+
For TLS 1.3:
23+
24+
- [x] (Recommended) TLS_AES_128_GCM_SHA256
25+
- [x] (Recommended) TLS_AES_256_GCM_SHA384
26+
- [x] (Recommended) TLS_CHACHA20_POLY1305_SHA256
27+
- [x] (Secure) TLS_AES_128_CCM_8_SHA256
28+
- [x] (Secure) TLS_AES_128_CCM_SHA256
29+
30+
For TLS 1.2:
31+
32+
- [ ] (Recommended) TLS_ECCPWD_WITH_AES_128_GCM_SHA256
33+
- [ ] (Recommended) TLS_ECCPWD_WITH_AES_256_GCM_SHA384
34+
- [x] (Recommended) TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
35+
- [x] (Recommended) TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
36+
- [ ] (Recommended) TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256
37+
- [ ] (Recommended) TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384
38+
- [ ] (Recommended) TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
39+
- [ ] (Recommended) TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
40+
- [x] (Recommended) TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
41+
- [ ] (Recommended) TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256
42+
- [ ] (Recommended) TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384
43+
- [ ] (Recommended) TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256
44+
- [ ] (Secure) TLS_ECCPWD_WITH_AES_128_CCM_SHA256
45+
- [ ] (Secure) TLS_ECCPWD_WITH_AES_256_CCM_SHA384
46+
- [x] (Secure) TLS_ECDHE_ECDSA_WITH_AES_128_CCM
47+
- [x] (Secure) TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
48+
- [x] (Secure) TLS_ECDHE_ECDSA_WITH_AES_256_CCM
49+
- [x] (Secure) TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8
50+
- [ ] (Secure) TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256
51+
- [ ] (Secure) TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256
52+
- [x] (Secure) TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
53+
- [x] (Secure) TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
54+
- [ ] (Secure) TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256
55+
- [ ] (Secure) TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384
56+
- [ ] (Secure) TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
57+
- [ ] (Secure) TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
58+
- [x] (Secure) TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
59+
60+
\* PSK support is currently blocked due to [it not currently being supported in Rustls as of 2024](https://github.com/rustls/rustls/issues/174).
61+
If you want this feature, consider financially supporting the Rustls project by being a funder in [Prossimo](https://www.memorysafety.org/initiative/rustls/)
62+
63+
\* While both [CAMELLIA](https://github.com/RustCrypto/block-ciphers/tree/master/camellia) and [ARIA](https://github.com/RustCrypto/block-ciphers/tree/master/aria) block cipher are in RustCrypto, they are still in 0.1.0 and not currently viable for production use
64+
65+
\* As RustCrypto do not have a [Dragonfly](https://www.ietf.org/proceedings/83/slides/slides-83-cfrg-0.pdf) implementation, nor it is planned yet, [RFC8492](https://datatracker.ietf.org/doc/html/rfc8492) and thus ECCPWD family of cipher suites would be hard to implement for the known future
3566

3667
## License
3768

@@ -50,8 +81,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted
5081
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
5182
dual licensed as above, without any additional terms or conditions.
5283

53-
[//]: # (badges)
54-
84+
[//]: # "badges"
5585
[crate-image]: https://img.shields.io/crates/v/rustls-rustcrypto
5686
[crate-link]: https://crates.io/crates/rustls-rustcrypto
5787
[docs-image]: https://docs.rs/rustls-rustcrypto/badge.svg
@@ -62,8 +92,6 @@ dual licensed as above, without any additional terms or conditions.
6292
[rustc-image]: https://img.shields.io/badge/rustc-1.75+-blue.svg
6393
[chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg
6494
[chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/434751-TLS
65-
66-
[//]: # (links)
67-
95+
[//]: # "links"
6896
[RustCrypto]: https://github.com/RustCrypto/
6997
[rustls]: https://github.com/rustls/rustls/

0 commit comments

Comments
 (0)