8.5 哈希算法和报文鉴别
一、哈希算法和报文鉴别产生背景
加密采用非对称过程、签名也采用非对称过程,那么这个速度是非常慢的。为了提高签名的速度,就采用了相应的哈希算法和报文鉴别来实现。
二、报文鉴别
为了提高签名速度,希望签名的报文能短一点,并且能够唯一的代表原始的报文,然后对这个短的报文进行签名,从而去提升签名的速度,这个就是报文鉴别。
三、报文鉴别过程
1、如上图,把原始报文X直接进行签名速度比较慢,因此要把报文执行报文摘要算法,生成报文摘要。报文摘要是非常短的报文摘要,它能够唯一代表原始报文X的信息。
2、签名过程只要对这个摘要进行签名,然后就得到签了名的摘要,然后再连着原始报文X,在英特网当中进行传输。
3、B收到之后首先要对签了名的报文摘要进行核实身份,那么进行核实身份的时候,采用的是A的公钥进行核实,核实之后就能够得到报文摘要。
4、然后B对原始报文X采用相同的报文摘要算法,也能够生成报文摘要。
5、然后将他们之间的报文摘要进行比较,如果是一样的,代表报文X在传输的过程当中,没有发生任何篡改,因此就能够体现报文的完整性,又能够提高签名的速度。这就是报文鉴别完整过程。
四、报文摘要算法特点
原始报文X采用报文摘要运算之后,能够生成相应的报文摘要,就要能够唯一的代表原始报文X,对于报文摘要算法有几个特点。
1、固定长度的输出
不管报文X长度有多长,都会产生固定长度的输出。那么固定长度的输出,像有128位的,有160位的,那么这个长度是非常短的,因此来执行签名和核实签名,这个速度就会加快。
2、不同的输入,不同的输出
如果报文X采用不同报文摘要算法生成的就是其他报文摘要。报文X如果有任何篡改,生成的报文摘要也是不一样的。
3、不可逆性
报文X采用报文摘要运算生成的报文摘要,这个过程是不可逆的,也就是通过报文摘要是不能够得出报文X。
五、MD5和SHA
主要会用到两种类型报文摘要运算:MD5和SHA。
MD5主要是产生128位输出。
SHA是安全散列算法,产生的是160位的输出。
MD5在进行报文摘要运算过程会更快,安全性稍低。SHA提供的安全性会更高,但是运算稍慢。
六、哈希算法就是报文摘要运算,一般指MD5
| 留言与评论(共有 0 条评论) “” |