谷歌最近宣布了一个实用的SHA-1 碰撞。
几年前 MD5 也有类似的问题,研究人员甚至创建了一个假CA。
这在今天是不可能的——即使使用 MD5——因为 CA 必须在序列号中包含至少 20 位的随机数据(请参阅Mozilla 要求)。
我的问题有点笼统:如果签名消息包含签名者生成的随机数据,碰撞攻击是否重要?
对于散列的所有用途,我认为只有签名才是重要的冲突。然后,只有当签名者签署来自不受信任的人的消息时。还有其他重要的用例吗?在这个用例中,如果签名者总是在消息中包含随机数据,是否可以防止碰撞攻击。
顺便说一句,我仍然认为放弃 SHA-1 是个好主意,这个问题更具理论性。