首页/安全/加密与证书速查/雪崩效应与扩散性
本包目录(305 条)
加密算法基础95 条
TLS 与 HTTPS60 条证书与 PKI30 条OpenSSL 实战30 条证书运维排查49 条密钥管理41 条

雪崩效应与扩散性

输入改变 1 比特应导致输出约一半比特变化(严格雪崩准则);这是分组密码与哈希设计的检验指标,也常用于验证第三方实现的正确性。

加密与证书速查安全更新于 2026-10-12
定义1 比特输入变化 → 输出平均约 50% 比特翻转
相关指标扩散(影响范围)、混淆(关系复杂化)
应用算法设计验证、实现回归测试

用哈希演示(约一半比特不同)

用哈希演示(约一半比特不同)
import hashlib
a = hashlib.sha256(b'0123456789abcdef').digest()
b = hashlib.sha256(b'0123456789abcdeg').digest()
diff = sum(bin(x ^ y).count('1') for x, y in zip(a, b))
print(diff, '/', len(a) * 8)
分组密码的雪崩测试应使用同一密钥加密仅差 1 比特的两个明文块;哈希演示只是直观示例。

易错点

  • 用少量样本估计雪崩比例会有波动,判断实现质量需要统计大量样本
  • 雪崩良好不代表整体安全:密钥编排与模式使用同样是攻击面

数据来源与参考

  • FIPS 180-4(哈希函数性质)
  • FIPS 197(AES 设计目标)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌