Module sidechannel

Module sidechannel 

Source
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§

SideChannelAnalysis
Side-channel analysis results
SideChannelAnalyzer
Side-channel analyzer
TimingStatistics
Timing statistics
TimingTest
Timing test configuration

Enums§

Vulnerability
Side-channel vulnerability
VulnerabilitySeverity
Vulnerability severity levels