Expand description
Test harness for Confium.
Three responsibilities:
- Mock plugins — in-repo plugins (XOR cipher, seeded RNG, etc.) used by the workspace’s own test suite so it doesn’t depend on the external Botan plugin.
- Byzantine peer simulation — for threshold-cryptography plugin testing: drop, tamper, replay, malicious-collusion behaviors.
- NIST evaluation bench — conformance + performance harness for MPTS candidate schemes. Deterministic environment, in-process transport, controlled RNG, vector-driven test runner.
See TODO.roadmap/09-nist-evaluation-harness.md for the full design.
§Status
The deterministic environment, Byzantine transport wrapper, TOML test vector parser, vector runner, JSON reporter, and criterion simulation benchmark are implemented. The harness is the bench NIST MPTS uses to evaluate candidate threshold schemes against a shared vector set; the framework deliberately does not score or rank — it produces raw measurements.
Re-exports§
pub use byzantine::BehaviorSpec;pub use byzantine::ByzantineTransport;pub use byzantine::PeerBehavior;pub use env::DeterministicClock;pub use env::DeterministicEnv;pub use env::DeterministicRng;pub use env::MemoryCounter;pub use error::Error;pub use error::Result;pub use report::Report;pub use report::ReportEntry;pub use result::Outcome;pub use result::TestResult;pub use runner::VectorRunner;pub use vector::ConformanceLevel;pub use vector::PeerBehaviorEntry;pub use vector::TestVector;pub use vector::TestVectorTest;
Modules§
- byzantine
- Byzantine peer behavior simulation.
- env
- Deterministic environment for reproducible NIST evaluation runs.
- error
- Errors for the test harness.
- report
- JSON report writer for NIST submission.
- result
- Outcome of running one test vector.
- runner
- Vector runner: execute one
TestVectoragainst a registered TC scheme and produce aTestResult. - vector
- TOML test-vector parser.