n在网络安全目标中,要求信息在生成、存储或传输过程中保证不被偶然或蓄意地删除、修改、伪造、乱序、重放、插入等破坏和丢失,因此需要一个较为安全的标准和算法,以保证数据的完整性。
n常见的消息摘要算法有:
ØRon Rivest设计的MD(Standard For Message Digest,消息摘要标准)算法
ØNIST设计的SHA(Secure Hash Algorithm,安全散列算法)
单向散列函数的特点
n单向散列函数 H(M)作用于一个任意长度的数据M,它返回一个固定长度的散列h,其中h的长度为m,h称为数据M的摘要。单向散列函数有以下特点:
Ø给定M,很容易计算h;
Ø给定h,无法推算出M;
MD5算法
n在最近数年之前,MD5是最主要的hash算法
n输入:任意长度消息
n输出:128bit消息摘要
n处理:以512bit输入数据块为单位
SHA安全散列算法
n1992年NIST制定了SHA(128位)
n1993年SHA成为标准(FIPS PUB 180)
n1994年修改产生SHA-1(160位)
n输入:消息长度<264
n输出:160bit消息摘要
n处理:以512bit输入数据块为单位