This release includes breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+7 more
Affected surfaces
Summary
AI summaryUpdates Checksums, AEAD, and Crates.io across a mixed release.
Full changelog
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: https://github.com/loadingalias/rscrypto/compare/v0.2.0...v0.3.0
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Rscrypto
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]