Expand description
§silentops — side-channel countermeasure toolkit
silentops gathers the side-channel building blocks shared by the
krypteia workspace (post-quantum crate quantica and classical
crate arcana).
Three modules are exposed today:
ct— constant-time primitives with architecture-specific assembly backends (no_std). This is the formerct_opscrate.ct_grind— Valgrind memcheck client-request helpers (poison/unpoison) used to verify constant-time code undervalgrind --error-exitcode=1. Emits real instrumentation onx86_64-linux/aarch64-linuxwhen thect-grindfeature is enabled; elsewhere the calls are zero-cost no-ops (no_std).- [
verify] — dudect-style timing leakage detector based on Welch’s t-test (stdonly). This is the formerct_verifycrate, refactored as a reusable library.
Future modules will host additional shared SCA helpers (masking, shuffling, fault-injection countermeasures, …) so that both classical and post-quantum sides reuse the same primitives.
§no_std
The crate is no_std by default. The [verify] module is only
compiled when the std feature is enabled.
§Re-exports
For convenience, all primitives from ct are re-exported at
the crate root, so call sites can write silentops::ct_eq(...)
instead of silentops::ct::ct_eq(...).
Re-exports§
pub use ct::*;