Skip to content

Bouncy Castle Rust Roadmap

Mike Ounsworth edited this page Mar 29, 2026 · 5 revisions

Roadmap

This alpha release includes the following cryptographic primitives:

  • Hex (constant-time)
  • Base64 (constant-time)
  • SHA-2
  • SHA-3
  • HMAC
  • HKDF
  • The NIST HashDRBG random number generator
  • ML-DSA
  • Provider-style factory objects, and a command-line interface for all of the above.

But more than anything, the alpha release focuses on the design of the public trait and error type system contained in the core-interface sub-crate.

Next up will be to round out the set of cryptographic primitives:

  • Block ciphers (AES and maybe ascon)
  • Signatures (Ed25519, Ed448, SLH-DSA)
  • Key Establishment (X25519, X448, ML-KEM)

(yes, you have noticed that RSA, ECDSA and ECDH are not on the list. I suppose we could, but we'd really rather not.)

After that, we'll tackle in some kind of order (depending on public interest and funding):

  • PKIX (DER, X.509, CMS, CMP)
  • TLS 1.3
  • JWT & CWT
  • PKCS#11 passthrough -- ie high-level APIs work the same regardless of whether it's using local software keys and crypto, or hardware-backed crypto.
  • FIPS certification framework and test harnesses
  • Refining the library's build system (no_std, feature granularity, build and release packaging, etc)

Community feedback is most welcome!

As this is an alpha release, we're eagerly looking for feedback from the community. We would especially like feedback on the following areas:

  • Public API ergonomics and granularity of exposed functionality.
  • Certification / compliance concerns.
  • Prioritization of roadmap items above.

You can reach us at office@bouncycastle.org or mike@bouncycastle.org.

Sincerely, Mike Ounsworth Lead Maintainer of BC-Rust, on behalf of the Legion of the Bouncy Castle and the entire Bouncy Castle community

Clone this wiki locally