一.SHA1与MD5差异
SHA1对任意长度明文的预处理和MD5的过程是一样的,即预处理完后的明文长度是512位的整数倍,但是有一点不同,那就是SHA1的原始报文长度不能超过2的64次方,然后SHA1生成160位的报文摘要。SHA1算法简单而且紧凑,容易在计算机上实现。
表8-2-1列出了对MD5及SHA1的比较差异之处。让我们根据各项特性,简要说明其间的不同。
表8-2-1 MD5与SHA1的比较
差异处 |
MD5 |
SHA1 |
摘要长度 |
128位 |
160位 |
运算步骤数 |
64 |
80 |
基本逻辑函数数目 |
4 |
4 |
常数数目 |
64 |
4 |
● 安全性:SHA1所产生的摘要比MD5长32位。若两种散列函数在结构上没有任何问题的话,SHA1比MD5更安全。
● 速度:两种方法都是主要考虑以32位处理器为基础的系统结构。但SHA1的运算步骤比MD5多了16步,而且SHA1记录单元的长度比MD5多了32位。因此若是以硬件来实现SHA1,其速度大约比MD5慢了25%。
● 简易性:两种方法都是相当的简单,在实现上不需要很复杂的程序或是大量存储