RC4 移除和 SHA 1 移除之间的连接

Connection between RC4 removal and SHA 1 removal

删除 RC4 流密码和删除 SHA 1 证书之间有什么联系吗? 意思是 - 移除一个会强制移除另一个,还是恰好它们同时被移除?

TL;DR: 没有这样的联系。这些算法的目的各不相同,相互之间没有这种影响。

SHA1 是一种加密散列函数,其目的是创建证书中数据的单向散列。加密散列函数有几个属性,在这种情况下重要的是第二原像阻力(给定 data1,应该很难找到不同的 data2 这样 h(data1)=h(data2)) 和抗碰撞性(应该很难找到 data1data2 这样 h(data1)=h(data2)).

如果用于散列证书的散列函数不满足这些要求,则可以提出具有相同散列的不同证书。那将是糟糕

SHA1 的问题是更容易找到它应该是的碰撞。为了阐明问题的严重程度,对于 160 位散列函数,应该大约 2^80 次散列操作(预期值)才能找到冲突。与此相反,根据 2005 年发布的一次攻击,SHA1 约为 2^63。这仍然是一个 巨大的 数字,实际上仍然不可行,但人们认为可能有一个可行的方法几年后攻击,所以当人们仍然有时间将证书更改为更好的哈希函数而 SHA1 仍然实际上安全时,现在就退出 SHA1 似乎更好。

RC4是流密码,输入是数据流和密钥,输出是加密流。长期以来一直存在已知的弱点,但这些弱点并不能真正破解 RC4,因为它在 SSL/TLS 中使用(攻击在计算上不可行)。然后在 2015 年,多名研究人员提出了针对 RC4 的不同攻击(成人礼攻击、NOMORE 攻击、改进的皇家霍洛威攻击),这使得在现实生活中破解 TLS 中的 RC4 变得更加可行。实际上,如果使用RC4作为流密码,现在很可能有组织可以破解TLS,因此根据IETF的建议将其删除。