RustCrypto / RustCrypto/rustls-rustcrypto
Missing Algorithms / Cipher Suites
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 130
- Forks
- 21
- Avg merge
- 18h 6m
- Merged PRs (30d)
- 1
Description
TBD - Just putting this up and working up what peeps may want
Assuming upstreamed impl:
RFC/IANA
- TLS 1.3 Mandatory - RFC 8446 s. 9.1 at https://www.rfc-editor.org/rfc/rfc8446#page-102
- IANA TLS Parameters: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml
- Recommendations for TLS at https://datatracker.ietf.org/doc/html/rfc7525
Configurations
TLS 1.3 - Cipher Suites
| Cipher Suite | RFC | Implemented |
|---|---|---|
| TLS_AES_128_GCM_SHA256 | Must | ✔️ |
| TLS_AES_256_GCM_SHA384 | Should | ✔️ |
| TLS_AES_128_CCM_SHA256 | Should | ❌ |
| TLS_CHACHA20_POLY1305_SHA256 | Should | ✔️ |
| AEGIS .. | - | ? |
TLS 1.3 - Algorithms
| Algorithm | RFC | Scope | Implemented | Which Impl |
|---|---|---|---|---|
| rsa_pkcs1_sha256 | Must | certificates | ✔️ | |
| rsa_pss_rsae_sha256 | Must | CertificateVerify and certificates | ✔️ | |
| ecdsa_secp256r1_sha256 | Must | CertificateVerify and certificates | ✔️ | |
| secp256r1 (NIST P-256) | Must | Key Exchange | ✔️ | |
| X25519 (RFC7748) | Should | Key Exchange | ✔️ | |
| X448 (RFC8418) | draft | Key Exchange | ❌ |
TLS 1.2 - Cipher Suites
| Cipher Suite | RFC | Implemented | Which Impl |
|---|---|---|---|
| TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 | ✔️ | ||
| TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA25 | ✔️ | ||
| TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 | Recommended | 🤔 | |
| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 | Recommended | 🤔 | |
| TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 | Recommended | 🤔 | |
| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 | Recommended | 🤔 |
Browser Support
- TLS1.3 https://caniuse.com/tls1-3
Stats
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue is still marked TBD and does not name project files, entry points, or tests. Start by reviewing the linked upstream src/lib.rs implementation and the cited TLS RFC, IANA, and Mozilla references. First establish the intended algorithm and cipher-suite scope; done should mean the selected support is implemented and verified against appropriate tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cryptography, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100