熵
本文约需 2 分钟阅读
熵是信息论中衡量不确定性的尺度,在密码的语境中,它是以比特数表示密码预测难度的指标。熵值越大,意味着密码越难被猜出。密码的熵由所用字符种类数和字符长度计算得出,可以定量评估其对暴力破解攻击的抵抗能力。
计算方法与具体数值示例
密码的熵以「 log2 (字符种类数) x 字符长度」计算得出。下面列出几种代表性配置的熵。
- 仅小写字母 (26 种) x 8 个字符 = 约 37.6 比特 (数秒即可破解)
- 大小写字母 + 数字 (62 种) x 10 个字符 = 约 59.5 比特 (一般用途的最低标准)
- 大小写字母 + 数字 + 符号 (95 种) x 12 个字符 = 约 78.8 比特 (推荐级别)
- 大小写字母 + 数字 + 符号 (95 种) x 16 个字符 = 约 105 比特 (高安全性)
- 大小写字母 + 数字 + 符号 (95 种) x 20 个字符 = 约 131 比特 (实际上无法破解)
passtsuku.com 的强度计基于这一计算实时显示密码强度。要提高熵,增加字符长度是最有效的方法。增加字符长度对熵的贡献比增加字符种类更大。
信息论与熵的概念,可以通过信息论入门书 (Amazon)从基础学起。
现场使用案例
“在重新审视密码策略时,我们把最低熵从 60 比特提高到了 80 比特。将字符长度下限设为 12 个字符,并禁止拼接字典中的单词。”
实务中的运用与陷阱
熵是衡量密码强度的理论指标,但在实务中有需要注意之处。熵的计算以「完全随机生成」为前提,而人为想出的密码对字典攻击和模式分析较为脆弱,因此其实际强度低于计算上的熵。例如「 P@ssw0rd123!」字符种类丰富,计算上的熵看似很高,但由于是广为人知的模式,会被字典攻击瞬间攻破。一般的网络服务推荐 60 比特以上的熵,金融服务和重要账户推荐 80 比特以上。达到 120 比特以上,以当前的计算机技术实际上无法破解。考虑到 2025 年时的 GPU 性能,熵低于 60 比特的密码有在数小时内被破解的风险,因此推荐以 80 比特以上为标准。使用密码学安全的随机数生成器,便能生成计算上的熵与实际强度一致的、真正随机的密码。密码破译与数学书籍 (Amazon)也有助于理解理论背景。
这篇文章对您有帮助吗?