ZeroHour

Search: “cipher”

48 stories

Scaling Verification of Cryptographic Software with Aeneas, Rust, and Lean

Microsoft SymCrypt implementations of SHA-3 and ML-KEM verified in Lean via Aeneas-extracted Rust models, with AI agents writing proofs.

The paper develops a methodology for verifying production Rust cryptographic code by using Aeneas to extract pure models into Lean, avoiding low-level pointer and aliasing reasoning. Applied to Microsoft's SymCrypt, it verifies SHA-3 and ML-KEM implementations ported from C to Rust and extends SymCrypt with FrodoKEM, ML-DSA, and HPKE. A 237 KLOC Lean development establishes safety, panic-freedom, and functional correctness of 16.7 KLOC of Rust supporting post-quantum cipher suites on x86-64 and ARM. AI agents autonomously write formal proofs verified by the Lean kernel, and evaluation shows verified Rust meets SymCrypt's performance and portability requirements.

arXiv cs.CR · 2d agoResearch1

Subgroup Packing for Batched PASTA Transciphering

Interleaved subgroup packing cuts PASTA homomorphic transciphering server cost by a median 1.60x at the expense of remaining noise capacity.

The paper studies how record word layout affects the cost of PASTA transciphering, where a server converts symmetrically encrypted records into homomorphic ciphertexts. A subgroup layout interleaves records so cyclic shifts preserve positions, reducing required displacements from 255 to 128 versus contiguous packing. In HElib across twelve paired corpora under six homomorphic keys, the median direct-to-subgroup server cost ratio is 1.60 including fresh generation, conversion, and two queries, but with less remaining noise capacity.

arXiv cs.CR · 5d agoResearch