Skip to content

rustls lists rind-rustls - #463

Draft
kixelated wants to merge 1 commit into
mainfrom
quest/m2/adoption/rustls-providers
Draft

kixelated wants to merge 1 commit into
mainfrom
quest/m2/adoption/rustls-providers

Conversation

@kixelated

@kixelated kixelated commented Nov 7, 2026 •

Copy link
Copy Markdown
Collaborator

Claims quest/m2/adoption/rustls-providers.md.

Nothing lands in rind from this PR: the quest's work is an upstream PR to rustls/rustls, prepared below but not posted. It stays a draft until that PR merges, then deletes the quest.

Waiting

  • Maintainer: post the rustls/rustls PR below, writing its body in your own words. rustls's CONTRIBUTING.md AI policy requires PR bodies and replies to be human-written and hides ones believed AI-written; a maintainer already called out LLM-sounding text on the last provider PR (rustls/rustls#3364). An agent cannot post it for that reason. Recommended: post it from your own fork once rind-rustls 0.23.0 is on crates.io (it still shows 0.2.0, pending moq-dev/rind#424), without the AI marker, since the text will be yours. Check: an open rustls/rustls PR adding rind-rustls to PROVIDERS.md.
  • rustls/rustls: merge that PR. Check: rind-rustls appears in PROVIDERS.md.

Upstream change

One commit on rustls main (0d7f9b3), message Add rind-rustls to PROVIDERS.md (rustls wants no conventional-commit prefix and 72-column lines). The row goes after rustls-pure, since rows after the first three sort by the provider's distinctive name.

 | [`rustls-pure`] | a pure-Rust provider (no C or assembly) using [`RustCrypto`] primitives: TLS 1.3 only, ECDSA and Ed25519 certificates, tested against Wycheproof vectors. |
+| [`rind-rustls`] | a provider that uses [`rind`], a fork of [`graviola`] that needs no C toolchain and runs on any x86_64 CPU, aarch64 with NEON, and 32-bit Arm. It has the aws-lc-rs provider's cipher suites (with QUIC), key exchange groups, and signature schemes, except ML-KEM-1024 and ML-DSA, but no HPKE for ECH. |
 | [`rustls-rustcrypto`] | an experimental provider that uses the crypto primitives from [`RustCrypto`] for cryptography. |
@@
 [`rustls-pure`]: https://crates.io/crates/rustls-pure
+[`rind-rustls`]: https://crates.io/crates/rind-rustls
+[`rind`]: https://github.com/moq-dev/rind
 [`rustls-rustcrypto`]: https://github.com/RustCrypto/rustls-rustcrypto

Upstream PR text (rewrite in your own words before posting)

Title: Add rind-rustls to PROVIDERS.md

Adds rind-rustls to the third-party providers.

rind is a fork of graviola. Next to rustls-graviola, it also runs on CPUs graviola refuses (x86_64 without AES-NI, AVX2, or ADX; aarch64 without the crypto extension) and on 32-bit Arm, and adds P-521, SecP256r1MLKEM768, standalone ML-KEM-768, and QUIC. A test checks its suites, groups, and signature schemes against the aws-lc-rs provider's; it lacks ML-KEM-1024, ML-DSA, and HPKE.

Its primitives are tested against Wycheproof and differentially against aws-lc-rs. It has had no external audit, and much of it was written with AI coding agents.

It is on rustls 0.23 today, with a 0.24 release to follow rustls 0.24.

The second paragraph answers in advance the question a maintainer asked on rustls/rustls#3364: what it offers over the more mature graviola. Each claim's source: PLATFORMS.md and graviola's README for CPU requirements; rind-rustls/src/lib.rs's aws_lc_rs_parity test; rustls-graviola's kx.rs (X25519MLKEM768, X25519, P-256, P-384) and suites.rs (quic: None); rustls main's rustls-aws-lc-rs/src/hpke.rs, which rind-rustls has no counterpart for until quest/m4/protocols/hpke.md.

Choices made without asking

  • Described rind as needing "no C toolchain" rather than "pure Rust": rind's assembly lives in Rust source, and the list's rustls-pure row defines pure Rust as no C or assembly.
  • Disclosed AI authorship and the absence of an audit up front, given the reaction on rustls/rustls#3364.
  • Left rind's quest file unchanged: the wait is recorded here, and the quest's text still matches the work.

Public API

None.

Models

Size: XS
Implementer: Claude Code, claude-opus-5-5, high effort

Review

Skipped: the PR changes nothing in rind.

(Written by Claude Opus 5.5 with high)

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant