Skip to main content

Module ct_compare

Module ct_compare 

Source
Expand description

恒定时间比较工具

防止时序侧信道攻击(Timing Side-Channel Attack), 确保安全关键路径的比较操作不受数据内容影响执行时间。

§攻击原理

普通比较操作在遇到首个不匹配字节时会提前返回, 攻击者通过测量比较耗时可逐字节推断密钥内容。

§防御策略

恒定时间比较遍历所有字节,使用位操作累积差异, 不进行提前返回,使执行时间仅取决于输入长度。

Functions§

constant_time_all_pass
恒定时间布尔累积 OR(用于多项验证)
constant_time_contains
恒定时间子串匹配(AGENT.md §4.9 时序安全)
constant_time_contains_case_insensitive
恒定时间 ASCII 大小写不敏感子串匹配(AGENT.md §4.9 时序安全)
constant_time_eq
恒定时间字节切片比较
constant_time_eq_ascii_lower
恒定时间 ASCII 大小写不敏感比较
constant_time_eq_case_insensitive
恒定时间 ASCII 大小写不敏感比较(双侧任意大小写)
constant_time_eq_u32
恒定时间 u32 比较
constant_time_eq_u64
恒定时间 u64 比较
constant_time_eq_u128
恒定时间 u128 比较
constant_time_starts_with
恒定时间前缀比较(AGENT.md §4.9 时序安全)