问题 问答题 简答题

如果所用的杂凑函数有一个碰撞,那么“黑客”能够伪造一个假签名吗?请具体给出一种伪造方法。

答案

参考答案:

(1)在签名端:首先对长消息进行HASH,将其压缩成为一个短消息,然后再对短消息进行签名,并以该短签名来作为对长消息的签名。在验证端:首先对长消息进行HASH,得到压缩消息。然后,验证所获得的签名是否是该压缩消息的签名。如果是,那么签名被验证;否则,签名有假。

(2)设所用的HASH函数有一个碰撞,比如,找到了两个不同的长消息m和n,他们经过该HASH后,被压缩成为同一个短消息k。那么,黑客可以根据对消息m的签名(m,p)伪造出对消息n的签名(n,p)。

连线题
单项选择题