支持弱算法或受损算法


🌐 Support for weak or compromised algorithms

node:crypto 模块仍然支持一些已经被攻破的算法,这些算法不推荐使用。该 API 还允许使用密钥长度较小的密码和哈希,这些也过于薄弱,不适合安全使用。

🌐 The node:crypto module still supports some algorithms which are already compromised and are not recommended for use. The API also allows the use of ciphers and hashes with a small key size that are too weak for safe use.

用户应根据其安全需求,自行负责选择加密算法和密钥长度。

🌐 Users should take full responsibility for selecting the crypto algorithm and key size according to their security requirements.

根据NIST SP 800-131A的建议:

🌐 Based on the recommendations of NIST SP 800-131A:

  • 在需要抵抗碰撞的场合(例如数字签名),MD5 和 SHA-1 已不再被接受。
  • 建议用于 RSA、DSA 和 DH 算法的密钥至少为 2048 位,而 ECDSA 和 ECDH 曲线的密钥至少为 224 位,以确保在未来几年内安全使用。
  • modp1modp2modp5 的 DH 组密钥长度小于 2048 位,不推荐使用。

有关其他建议和详细信息,请参阅参考资料。

🌐 See the reference for other recommendations and details.

一些已知存在弱点且在实际中几乎无关紧要的算法只能通过 传统供应商 提供,而 传统供应商 默认情况下未启用。

🌐 Some algorithms that have known weaknesses and are of little relevance in practice are only available through the legacy provider, which is not enabled by default.