rscrypto v0.4.0: Runtime Verification of Constant-Time Cryptographic Behavior
By
loadingalias
Master baker tier. Every paragraph earns its place on the tray.
Summary
The article discusses the release of rscrypto v0.4.0, a Rust cryptography library that emphasizes runtime verification of constant-time behavior rather than relying on assumptions about source code being constant-time. It explains how cryptographic code can appear constant-time in source but become non-constant-time after compilation due to compiler optimizations, target-specific decisions, or refactoring. The library implements actual runtime checks to verify that cryptographic operations execute in constant time, addressing a critical gap in cryptographic engineering where developers often assume safety based on source code review alone.
Key quotes
· 5 pulledEvery cryptography library says it's secure and performant.
Very few can explain how that security is validated and how that performance is proven after every change.
One of the easiest mistakes in cryptographic engineering is assuming code is constant-time because it looks constant-time.
The source looks branchless. The review looks clean. The helper uses the right equality function. Then an optimization, a target specific lowering decision, an tiny refactor, or a new fast path changes the binary that actually runs.
The maxim 'Don't roll your own crypto' exists for this reason.
You might also wanna read
GitHub - loadingalias/rscrypto: Rust crypto w/ zero default deps: BLAKE3, Ed25519/X25519, hashes, MACs, KDFs, AEADs, and checksums w/ full SIMD/ASM acceleration
Dynamic Borrow-Checking in a Toy Programming Language: Implementing Rust-like Memory Safety Without Static Types
This article presents a demonstration of a toy programming language that implements borrow-checking without static type-checking. The langua
LLVM Adds Constant-Time Support for Protecting Cryptographic Code
Rust Merkle Tree Library with Configurable Storage and Hash Functions
A Rust implementation of Merkle trees with configurable storage backends and hash functions. The library supports fixed depth and incrementa
openring-rs: A Rust-Based Webring Generator for Static Site Generators
openring-rs is a Rust-based tool for generating webrings from Atom/RSS feeds, allowing users to populate templates with articles from those
Advanced Borrow-Checker Concepts in Rust Programming: Exploring New Reference Types
This article explores advanced concepts in Rust programming language's borrow-checker system, proposing new reference types and algebraic st
