Skip to content

rscrypto v0.1.0

Choose a tag to compare

@loadingalias loadingalias released this 03 May 15:31
· 86 commits to main since this release
v0.1.0
8281dd1

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"] }