一、 Hash函数结构、MD5、SHA-1
二、 消息认证
消息认证是一个过程,用以验证接收消息的真实性(的确是由它所声称的实体发来的)和完整性(未被篡改、插入、删除),同时还用于验证消息的顺序性和时间性(未被重排、重放、延迟等)。认证分为:实体认证、消息认证。
1.1 消息认证码
消息认证码:(MAC,Message Authentication Code)或报文认证码,是用于提供数据源认证和数据完整性的密码校验值。MAC:是指消息被一密钥控制的公开函数作用后产生的、用作认证的、固定长度的数值,也称为密码校验和。
1.2 基于DES和Hash函数的消息认证码
消息认证码的构造主要有两种:基于分组密码、基于带密钥的Hash函数-HMAC。
1. 基于DES的消息认证码:将需要认证的消息和密钥K经过16轮迭代后生成该消息认证码。 |
2. 基于Hash函数的消息认证码HMAC:HMAC生成的过程使用了2次Hash函数。 |
描述: (1) K的左边填充0以产生一个b比特长的K+ (例如Ki的长为160比特,b=512,则需填充44个零字节0x00) (2) K+与ipad 逐比特异或以产生b比特的分组Si (3) 将M附于Si后 (4) 将哈希函数H作用于步骤(3)产生的数据流 (5) K+与opad逐比特异或,以产生b比特长的分组S0 (6) 将步骤(4)得到的杂凑值链接在S0后 (7) 将H作用于步骤(6)产生的数据流并输出最终结果HMAC |