数字摘要是将任意长度的消息变成固定长度的
短消息,它类似于一个
自变量是消息的函数,也就是
Hash函数。数字摘要就是采用单向Hash函数将需要加密的明文“摘要”成一串固定长度(128位)的密文。这一串密文又称为数字指纹,它有固定的长度,而且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。
一般来说,
非对称加密是用来处理
短消息的,而相对于较长的消息则显得有些吃力。当然,可以将长的消息分成若干小段,然后再分别签名。不过,这样做非常麻烦,而且会带来
数据完整性的问题。比较合理的做法是在
数字签名前对消息先进行数字摘要。
(1) 被发送文件用SHA编码加密产生128bit的数字摘要(见
上节)。(2)
发送方用自己的私用密钥对摘要再加密,这就形成了
数字签名。