
Typed secret operations
ML-DSA-65 key generation and signing use liboqs. Secret keys are move-only and zeroized on destruction.

Core · Cryptography
Secret-key and single-message operations stay on CPU. Vulkan accelerates deferred batch work over public or non-secret data where parity can be verified precisely.
Security boundary
The backend is selected by data sensitivity and operation shape—not by a blanket promise that every cryptographic primitive belongs on GPU.

ML-DSA-65 key generation and signing use liboqs. Secret keys are move-only and zeroized on destruction.

SHAKE-128, SHAKE-256, Keccak-f[1600], and power-of-two Merkle roots have Vulkan routes with exact CPU parity tests.

Hashes, public keys, signatures, and Merkle proofs reject malformed lengths and encodings at the boundary.

Implementation tests prove the stated contracts. They are not FIPS 140 validation or independent security certification.
Production surface
CPU routes protect secret-bearing work. Vulkan routes are deferred, event-driven operations for public batch data with a CPU oracle beside them.