rscrypto v0.3.0
rscrypto v0.3.0 is the RSA and validation-hardening release.
Highlights:
- RSA is now a full first-class primitive: strict DER import/export, RSA-PSS, RSASSA-PKCS1-v1_5, OAEP, RSAES-PKCS1-v1_5, key generation, X.509/JWT/COSE/TLS profile mapping, blinded private operations, and
reusable scratch APIs. - RSA verification coverage landed with vectors, fuzzing, oracle checks, and benchmark fixtures.
- RSA private operations and assembly-backed paths were completed.
- Ed25519 assembly backends were added.
- RSA public verification was tightened: 8192-bit verifier backend coverage widened, public Montgomery precompute deferred, and brittle scratch allocation assertions removed.
- CI validation was hardened: Miri now focuses on UB-risk coverage, weekly validation timeouts were widened, SHA3 fuzz builds were fixed, workflow cancellation was scoped, and action pins / lockfiles were
refreshed. - Benchmark docs were refreshed with the 2026-05-27 Linux CI scorecard, including RSA rows.
Performance snapshot from the latest public benchmark pass:
- 1.61x Linux CI fastest-external geomean.
- 3,545 wins / 5,832 fastest-external comparisons.
- 5,210 wins-or-ties / 5,832 comparisons.
- Checksums: 5.03x geomean.
- SHA-3 / SHAKE: 2.15x / 1.86x geomean.
- BLAKE3 >=64 KiB: 2.31x geomean.
- AEAD: 1.57x geomean.
- RSA import + verify: 1.32x geomean, with RSA verify-only still at 0.98x.
Known pressure points remain visible and intentional: PBKDF2-SHA256 low-iteration setup, X25519 DH, RSA verification on some Arm/RISC-V rows, and small-message AEAD overhead. If you're really interested in them check the benchmark_results/OVERVIEW.md file.
Get it:
[dependencies]
rscrypto = { version = "0.3.0", default-features = false, features = ["sha2"] }Full toolbox with OS randomness:
[dependencies]
rscrypto = { version = "0.3.0", features = ["full", "getrandom"] }References:
- Crates.io: https://crates.io/crates/rscrypto/0.3.0
- Docs.rs: https://docs.rs/rscrypto/0.3.0/rscrypto/
- Changelog: https://github.com/loadingalias/rscrypto/blob/main/CHANGELOG.md
- Benchmarks: https://github.com/loadingalias/rscrypto/blob/main/benchmark_results/OVERVIEW.md
- CI: https://github.com/loadingalias/rscrypto/actions/runs/26613890550
- Compare: v0.2.0...v0.3.0