pub struct ConstantTimeResult {
pub is_constant_time: bool,
pub mean_time: Duration,
pub std_dev: Duration,
pub max_variation: Duration,
pub sample_count: usize,
pub confidence: f64,
}Expand description
Result of a constant-time verification test.
This struct contains the comprehensive results of analyzing an operation’s timing behavior to determine if it executes in constant time. Constant-time operations are critical for preventing timing-based side-channel attacks that could leak cryptographic secrets.
§Interpretation
is_constant_time = true: Operation appears constant-time within measurement precisionconfidence >= 0.9: High confidence in the verification resultmax_variation / mean_time <= 0.1: Timing variation is acceptably small
§Statistical Analysis
The verification uses statistical analysis of execution times:
- Collects multiple samples to account for system noise
- Calculates mean, standard deviation, and maximum variation
- Compares variation against configurable thresholds
§Limitations
- Statistical verification cannot prove constant-time behavior absolutely
- System noise and measurement precision affect results
- Formal verification is needed for absolute guarantees
Fields§
§is_constant_time: boolWhether the operation appears to be constant-time based on statistical analysis This is a probabilistic assessment, not an absolute guarantee
mean_time: DurationMean execution time across all samples Represents the expected execution time under normal conditions
std_dev: DurationStandard deviation of execution times Measures timing jitter and system noise
max_variation: DurationMaximum timing variation observed between samples Indicates the worst-case timing difference that could leak information
sample_count: usizeNumber of timing samples collected for analysis More samples provide higher confidence but take longer to collect
confidence: f64Confidence level in the verification result (0.0 to 1.0) Higher values indicate stronger evidence for constant-time behavior
Trait Implementations§
Source§impl Clone for ConstantTimeResult
impl Clone for ConstantTimeResult
Source§fn clone(&self) -> ConstantTimeResult
fn clone(&self) -> ConstantTimeResult
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more