constant_time_eq

Function constant_time_eq 

Source
pub fn constant_time_eq(a: &[u8], b: &[u8]) -> bool
Expand description

Constant-time comparison of two byte slices to prevent timing attacks. Returns true if slices are equal, false otherwise. This is critical for comparing signatures, hashes, and nonces securely.

ยงExamples

use chie_shared::constant_time_eq;

// Comparing equal slices
let signature1 = b"valid_signature_data";
let signature2 = b"valid_signature_data";
assert!(constant_time_eq(signature1, signature2));

// Comparing different slices
let sig_a = b"signature_a";
let sig_b = b"signature_b";
assert!(!constant_time_eq(sig_a, sig_b));

// Different lengths always return false
assert!(!constant_time_eq(b"short", b"longer_text"));