使用“带有 RSA-2048 加密的 SHA-256”是一种安全的证书散列算法吗?我不认为它是。两个例子:nsa.gov [职业网站] give.wfp.org
使用“带有 RSA-2048 加密的 SHA-256”是一种安全的证书散列算法吗?
信息安全
证书
RSA
sha256
国家安全局
2021-08-11 16:34:47
1个回答
技术上的答案实际上是“不,因为带有 RSA-2048 加密的 SHA-256 不是证书散列算法。但是,SHA-256 是一种非常好的安全散列算法,非常适合用于证书,而 2048 位 RSA 是一个好的签名算法(签名与加密不同)。使用带有 SHA-256 的 2048 位 RSA 是一种安全的证书签名方案。你为什么不这么认为?
SHA-256 是 SHA2 安全哈希函数家族的成员,目前没有任何公开的 SHA2 加密弱点。它可能不如 SHA-512 安全,但 256 位对于蛮力已经完全不切实际(我们谈论的是数百年的时间框架,即使有一个民族国家的资源,假设摩尔定律继续走上正轨,或者数十亿现有技术的年)。唯一可行的攻击需要找到哈希算法本身的弱点,而 SHA-512 不一定比 SHA-256 更能抵抗这种攻击。有一个新的SHA3标准,但尚未广泛实施,因此如果您的浏览器在签名算法中使用 SHA3,则可能根本无法验证证书的签名。
RSA 是公共密钥加密的当前标准,正确生成的 2048 位 RSA 密钥足够强大,可以抵抗数十年的因式分解。如果您愿意,您可以使用 4096 位密钥(生成时间会更长,使用时间也会稍长,但是一旦验证了证书的签名就不再重要了),这将需要更长的时间打破。但是,无论如何,这两个证书的有效期都不会超过两年。如果您想要一个可以信任 30 年或更长时间的签名,您可能想要使用比 2048 位 RSA 更强大的东西,但现在这很好。