HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
loadingalias
rscrypto
Rust2026–2026
loadingalias / rscrypto

rscrypto

Rust cryptography w/ zero required deps: hashes, checksums, MACs, KDFs, password hashing, AEADs, signatures, RSA, key exchange, ML-KEM, and ML-DSA. Portable Rust ref w/ SIMD & ASM backends.

2Distinct people
4Mentions
0Explicit recommenders
40GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Rust cryptography w/ zero required deps: hashes, checksums, MACs, KDFs, password hashing, AEADs, signatures, RSA, key exchange, ML-KEM, and ML-DSA. Portable Rust ref w/ SIMD & ASM backends.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 12:54:37 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by 6-hour interval4 dated mentions

Observed mentions: 2026-06-03 16:41:14 UTC to 2026-06-10 15:56:10 UTC.

0122026-06-03 12:00:00 UTC to 2026-06-03 18:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 commentsJun 3, 12:002026-06-03 18:00:00 UTC to 2026-06-04 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-06-04 00:00:00 UTC to 2026-06-04 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-04 06:00:00 UTC to 2026-06-04 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-04 12:00:00 UTC to 2026-06-04 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-04 18:00:00 UTC to 2026-06-05 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-05 00:00:00 UTC to 2026-06-05 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-05 06:00:00 UTC to 2026-06-05 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-05 12:00:00 UTC to 2026-06-05 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-05 18:00:00 UTC to 2026-06-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-06 00:00:00 UTC to 2026-06-06 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-06 06:00:00 UTC to 2026-06-06 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-06 12:00:00 UTC to 2026-06-06 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-06 18:00:00 UTC to 2026-06-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-07 00:00:00 UTC to 2026-06-07 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsJun 7, 00:002026-06-07 06:00:00 UTC to 2026-06-07 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-07 12:00:00 UTC to 2026-06-07 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-07 18:00:00 UTC to 2026-06-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-08 00:00:00 UTC to 2026-06-08 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-08 06:00:00 UTC to 2026-06-08 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-08 12:00:00 UTC to 2026-06-08 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-08 18:00:00 UTC to 2026-06-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-09 00:00:00 UTC to 2026-06-09 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-09 06:00:00 UTC to 2026-06-09 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-09 12:00:00 UTC to 2026-06-09 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-09 18:00:00 UTC to 2026-06-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-10 00:00:00 UTC to 2026-06-10 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-10 06:00:00 UTC to 2026-06-10 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-10 12:00:00 UTC to 2026-06-10 18:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsJun 10, 12:00

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jun 3, 12:002026-06-03 12:00:00 UTC2026-06-03 18:00:00 UTC211
Jun 3, 18:002026-06-03 18:00:00 UTC2026-06-04 00:00:00 UTC101
Jun 4, 00:002026-06-04 00:00:00 UTC2026-06-04 06:00:00 UTC000
Jun 4, 06:002026-06-04 06:00:00 UTC2026-06-04 12:00:00 UTC000
Jun 4, 12:002026-06-04 12:00:00 UTC2026-06-04 18:00:00 UTC000
Jun 4, 18:002026-06-04 18:00:00 UTC2026-06-05 00:00:00 UTC000
Jun 5, 00:002026-06-05 00:00:00 UTC2026-06-05 06:00:00 UTC000
Jun 5, 06:002026-06-05 06:00:00 UTC2026-06-05 12:00:00 UTC000
Jun 5, 12:002026-06-05 12:00:00 UTC2026-06-05 18:00:00 UTC000
Jun 5, 18:002026-06-05 18:00:00 UTC2026-06-06 00:00:00 UTC000
Jun 6, 00:002026-06-06 00:00:00 UTC2026-06-06 06:00:00 UTC000
Jun 6, 06:002026-06-06 06:00:00 UTC2026-06-06 12:00:00 UTC000
Jun 6, 12:002026-06-06 12:00:00 UTC2026-06-06 18:00:00 UTC000
Jun 6, 18:002026-06-06 18:00:00 UTC2026-06-07 00:00:00 UTC000
Jun 7, 00:002026-06-07 00:00:00 UTC2026-06-07 06:00:00 UTC000
Jun 7, 06:002026-06-07 06:00:00 UTC2026-06-07 12:00:00 UTC000
Jun 7, 12:002026-06-07 12:00:00 UTC2026-06-07 18:00:00 UTC000
Jun 7, 18:002026-06-07 18:00:00 UTC2026-06-08 00:00:00 UTC000
Jun 8, 00:002026-06-08 00:00:00 UTC2026-06-08 06:00:00 UTC000
Jun 8, 06:002026-06-08 06:00:00 UTC2026-06-08 12:00:00 UTC000
Jun 8, 12:002026-06-08 12:00:00 UTC2026-06-08 18:00:00 UTC000
Jun 8, 18:002026-06-08 18:00:00 UTC2026-06-09 00:00:00 UTC000
Jun 9, 00:002026-06-09 00:00:00 UTC2026-06-09 06:00:00 UTC000
Jun 9, 06:002026-06-09 06:00:00 UTC2026-06-09 12:00:00 UTC000
Jun 9, 12:002026-06-09 12:00:00 UTC2026-06-09 18:00:00 UTC000
Jun 9, 18:002026-06-09 18:00:00 UTC2026-06-10 00:00:00 UTC000
Jun 10, 00:002026-06-10 00:00:00 UTC2026-06-10 06:00:00 UTC000
Jun 10, 06:002026-06-10 06:00:00 UTC2026-06-10 12:00:00 UTC000
Jun 10, 12:002026-06-10 12:00:00 UTC2026-06-10 18:00:00 UTC110

What Hacker News says

4 sources
Yeah, spot on. This is what the code looks like: https://github.com/loadingalias/rscrypto/blob/4e24772a54fef3... Look at these section comments that LLMs love ("// ─── Rotation helpers ────") Now you sometimes see these section comments in legacy codebases that have very long files. What you don't see people use is U+2500 BOX DRAWINGS LIGHT HORIZONTAL unicode characters padded out just right to look pretty. We humans have regular keyboards, but these AIs are trained to output emojis and pretty unicode.
In Show HN: Rscrypto, pure-Rust crypto with industry leading public benches
I've built rscrypto because crypto kept being where my Rust database stopped being portable: different stack on the server, different target story on WASM, different answer on RISC-V/POWER/IBM Z, and a different audit surface every time I added a primitive. The supply chain risk, given the landscape we're in today, was too high. v0.3.1 is one feature-selected crate. Leaf features when you need one primitive (`sha2`, `rsa`, `aes-gcm`, `ed25519`, etc.) or `full` for the stack. Scope includes SHA-2/3, SHAKE, cSHAKE256, BLAKE2, BLAKE3, Ascon hash/XOF, XXH3, RapidHash, CRCs, HMAC, KMAC256, HKDF, PBKDF2, Argon2, scrypt, PHC strings, RSA, Ed25519, X25519, AES-128/256-GCM, AES-128/256-GCM-SIV, ChaCha20-Poly1305, XChaCha20-Poly1305, AEGIS-256, and Ascon-AEAD128. The primitive stack has zero default deps and no C-libs or FFI. Optional `getrandom`,
Read the rest
`serde`, and `rayon` features stay out until enabled. The current bench evidence is across nine Linux runners (Intel Sapphire Rapids, Intel Ice Lake, AMD Zen4, AMD Zen5, Graviton3, Graviton4, IBM Z/s390x, IBM POWER10/ppc64le, RISE RISC-V) and my local Apple MBP M1. Linux vs. fastest-external: 3,545 wins and 5,210 wins-or-ties out of 5,832 comparisons, 1.61x geomean. MBP M1 vs fastest-external: 235 wins and 450 wins-or-ties out of 463 comparisons, 1.25x geomean. BLAKE3 large inputs (`>=64 KiB`) are 2.31x geomean improvement across Linux vs the official `blake3` crate and 1.80x on MBP M1. While it's not universally faster - it's incredibly close. Current weak spots include PBKDF2-SHA256 setup at `iters=1`, X25519 DH, RSA verification on Arm/RISC-V, small-message AEAD rows, MBP M1 BLAKE3 64 KiB rows, HMAC-SHA256 bulk pressure against `aws-lc-rs`, and SHA3-256 streaming on Apple Silicon. The `./benchmark_results/OVERVIEW.md` lists the losses next to the wins in more detail. Trust, Testing, Etc: portable Rust is the byte-for-byte authority. SIMD/ASM paths are accelerators and are differential tested against the portable path. MAC, AEAD, and signature comparisons are constant-time. Secret-bearing types zeroize on drop. I've got a pretty thorough Miri and Fuzzer testing gate setup, too. The RSA impl has it's own CI gate. Codecov = 73.06, fuzzing included. This is not FIPS 140-3 validated, not a TLS stack, not a key store, and not third-party audited yet. I am genuinely interested in a third-party audit and would LOVE to plan for FIPS 140-3 validation, but it's just out of my reach right now. The codebase/lib is obviously pre-v1 and I'm asking for public review while API changes are still relatively cheap. Repo: https://github.com/loadingalias/rscrypto Crate: https://crates.io/crates/rscrypto Benches: https://github.com/loadingalias/rscrypto/blob/main/benchmark... Migration Guides: https://github.com/loadingalias/rscrypto/blob/main/docs/migr... Me: https://x.com/loadingalias If you're testing, benching, etc. and happen to stumble across inconsistencies, vulnerabilities, etc. - please just reach out directly via 'X' or use Github's Vulnerability Reporting. There are a decent number of people already using the library. Also, the 'fastest-external' competitors for perf comparisons are almost always one of the following: aws-lc-rs, ring, RustCrypto, dryoc, OpenSSL, Blake3 and/or one of the many 'crc-fast/fast-crc' crate variations. I benched these external crates against eachother in the beginning to trace the most performant before hunting inefficiency and cutting out any external deps/c-libs. So, if the benches show a 2x geomean over Blake3... that means it's over the fastest implementation of Blake3 I could find and bench publicly.
In Show HN: Rscrypto, pure-Rust crypto with industry leading public benches

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.