密码学哈希函数的特点和应用
哈希函数的应用
假想这样一个场景,某人Amy写了一篇文章,邮寄给朋友Bob。但是却担心在邮寄的过程中文章被篡改。于是,这个人将文章中每一个字符的ASCII码加起来,将这个数字通过另外的方式告知朋友。
当Bob收到文章时,只需要再次计算这个数字,就可以知道文章是否被篡改。
但是问题来了。使用这样的方式,如果有恶意的人士Mallory知道了Amy的这种验证模式,并把文章中的若干个字符修改后,设法使最后的数字不变。这样一来,这种验证模式就失效了。
为了使文章的传输更加可信,Amy找到了一个神奇的工具F。只要把文章输入F,就可以得到一串输出。而且,这个工具可以确保:同样的输入必定得到同样的输出;不一样的输入一定会得到不一样的输出。
用这个输出来取代前面所使用的数字,并通过其他方式告知Bob。Bob也有一个一模一样的工具F,当Bob收到文章时,只需要再次用这个工具F,将文章输入,并比对此时的输出与Amy所给的输出,就可以知道文章是否被修改。