Skip to main content

Crate confium_test_harness

Crate confium_test_harness 

Source
Expand description

Test harness for Confium.

Three responsibilities:

  1. 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.
  2. Byzantine peer simulation — for threshold-cryptography plugin testing: drop, tamper, replay, malicious-collusion behaviors.
  3. 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 TestVector against a registered TC scheme and produce a TestResult.
vector
TOML test-vector parser.