Expand description
Side-Channel Resistance Verification
This module provides tools for verifying that cryptographic implementations are resistant to various side-channel attacks including timing attacks, power analysis, and cache-timing attacks.
§Features
- Timing attack detection: Statistical analysis of execution times
- Constant-time verification: Verify operations take constant time
- Data-dependent timing detection: Identify timing variations based on input
- Cache-timing analysis: Detect cache-based side channels
- Power analysis simulation: Basic power consumption pattern analysis
- Leakage quantification: Measure information leakage through side channels
§Example
use chie_crypto::sidechannel::{SideChannelAnalyzer, TimingTest};
// Create analyzer
let analyzer = SideChannelAnalyzer::new();
// Test an operation
let test = TimingTest::new("test_operation", 100);
let results = analyzer.analyze_timing(test, |data| {
// Your cryptographic operation here
let _ = chie_crypto::constant_time_eq(&data[..16], &data[16..32]);
});
// Check timing statistics
assert_eq!(results.test_name, "test_operation");
assert_eq!(results.num_samples, 100);
println!("Leakage score: {}", results.leakage_score);Structs§
- Side
Channel Analysis - Side-channel analysis results
- Side
Channel Analyzer - Side-channel analyzer
- Timing
Statistics - Timing statistics
- Timing
Test - Timing test configuration
Enums§
- Vulnerability
- Side-channel vulnerability
- Vulnerability
Severity - Vulnerability severity levels