rscrypto v0.1.0
First public release of rscrypto.
What this is
A single-crate, pure-Rust cryptography stack:
- Cryptographic hashes: SHA-2, SHA-3, SHAKE, cSHAKE, BLAKE2b/2s, BLAKE3, Ascon-Hash/Xof/CXof
- Fast hashes: XXH3 (64/128), RapidHash (64/128)
- Checksums: CRC-16, CRC-24, CRC-32, CRC-32C, CRC-64/XZ, CRC-64/NVMe
- MACs / KDFs: HMAC-SHA-{256,384,512}, KMAC256, HKDF, PBKDF2
- Password hashing: Argon2id/d/i, scrypt, PHC strings with bounded-policy verify
- Signatures / KEX: Ed25519, X25519
- AEADs: AES-256-GCM, AES-256-GCM-SIV, ChaCha20-Poly1305, XChaCha20-Poly1305, AEGIS-256, Ascon-AEAD128
Zero default dependencies. No C, no FFI, no OpenSSL, no libcrypto. Hardware acceleration in-tree across x86_64, aarch64, ppc64le, s390x, riscv64, plus Apple Silicon, with portable Rust fallbacks always available. no_std-first with WASM/WASI compatibility.
Three-tier dispatch: compile-time target_feature → runtime detection (with std) → portable fallback. The portable Rust path is the byte-for-byte authority; SIMD and ASM kernels are accelerators, differential-tested against the portable path on every release.
Note on this release page
The CHANGELOG.md section for v0.1.0 was generated by cargo-rail, which I also maintain. Because v0.1.0 is the first release, cargo-rail's auto-generator had no previous tag to bound against and dumped the entire pre-release commit history into one section — 127 KB, just over GitHub's 125 KB release-body limit. I'm fixing that in cargo-rail itself (per-version override file + a cap on first-release history).
This release page is the short version. For full pre-release commit history, see CHANGELOG.md in the repo.
Get it
[dependencies]
rscrypto = { version = "0.1", default-features = false, features = ["sha2"] }