Module cache_timing

Module cache_timing 

Source
Expand description

Cache-timing attack mitigations.

This module provides utilities to mitigate cache-timing side-channel attacks in cryptographic implementations.

§Features

  • Constant-time table lookups: Table lookups that don’t leak information via cache
  • Cache-oblivious algorithms: Data access patterns independent of cache parameters
  • Prefetching strategies: Reduce timing variation by prefetching data
  • Constant-time selection: Select values without branching or variable memory access

§Example

use chie_crypto::cache_timing::ConstantTimeLookup;

// Create a lookup table
let table = [0u8, 1, 2, 3, 4, 5, 6, 7];
let lookup = ConstantTimeLookup::new(&table);

// Constant-time lookup (doesn't leak index via cache)
let value = lookup.get(3);
assert_eq!(value, 3);

Structs§

ByteLookup
Constant-time byte array lookup
CacheAligned
Cache-line aligned buffer
ConstantTimeLookup
Constant-time table lookup

Enums§

CacheTimingError
Cache-timing mitigation errors

Functions§

conditional_swap
Constant-time conditional swap
constant_time_clamp_index
Constant-time array index clamping
constant_time_memcmp
Constant-time memory comparison
prefetch_array
Prefetch multiple memory locations
prefetch_read
Prefetch memory locations to reduce timing variation

Type Aliases§

CacheTimingResult
Result type for cache-timing operations