数字签名要预先使用单向Hash函数进行处理的原因是什么?
1个回答
展开全部
HASH(摘要)函数提供了这样一种计算过程:输入一个长度不固定的字符串,它会返回一串固定长度的字符串,又称HASH值(摘要值)。单向HASH函数用于产生信息摘要。HASH函数主要可以解决以下两个问题:在某一特定的时间内,无法查找经HASH操作后生成特定HASH值的原报文;也无法查找两个经HASH操作后生成相同HASH值的不同报文。这样在数字签名中就可以解决验证签名和用户身份验证、不可抵赖性的问题。 信息摘要简要地描述了一份较长的信息或文件,它可以被看作一份长文件的“数字指纹”。信息摘要用于创建数字签名,对于特定的文件而言,信息摘要是唯一的。信息摘要可以被公开,它不会透露相应文件的任何内容。目前常用的摘要算法为MD5、SHA1、SHA256等。
如果不用hash,则如果源数据是10M、100M、甚至更大,那么用私钥做运算会花费很大量的时间,而且生成的数字签名会很大(一般不小于源数据大小),这都是不可容忍的。
而我们知道无论多大的数据量,只要做hash,就会生成一个固定大小的信息,如sha1会统一生成20字节。在效率和数据量上,都很好,而且效果(认证、抗抵赖)是一样的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询