Hash函数和消息认证


Hash函数 & 消息认证


一、 Hash函数结构、MD5、SHA-1

Hash函数.png


二、 消息认证

 消息认证是一个过程,用以验证接收消息的真实性(的确是由它所声称的实体发来的)和完整性(未被篡改、插入、删除),同时还用于验证消息的顺序性和时间性(未被重排、重放、延迟等)。

认证分为:实体认证、消息认证。

1.1 消息认证码

消息认证码:(MAC,Message Authentication Code)或报文认证码,是用于提供数据源认证和数据完整性的密码校验值。
MAC:是指消息被一密钥控制的公开函数作用后产生的、用作认证的、固定长度的数值,也称为密码校验和。

D3364.png
58D4.png
图片21.png
图片2.png


1.2 基于DES和Hash函数的消息认证码

消息认证码的构造主要有两种:基于分组密码、基于带密钥的Hash函数-HMAC。

1. 基于DES的消息认证码:将需要认证的消息和密钥K经过16轮迭代后生成该消息认证码。

图片3.png

2. 基于Hash函数的消息认证码HMAC:HMAC生成的过程使用了2次Hash函数。

1R.png
图片4.png

描述:
(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






  Reprint please specify: Treecatee Hash函数和消息认证

 Previous
Java接口、包(4.7-4.8) Java接口、包(4.7-4.8)
   接口 & 包   一、 接口1.1 接口的概念1. 📒使程序设计和实现相互分离:在单继承的继承树中,设计和实现不可避免地要纠缠在一起。在设计的时候,人们也许只想提供一个类的抽象的接口,而不
2018-12-26
Next 
Java构造方法、对象创建、继承(4.5-4.6) Java构造方法、对象创建、继承(4.5-4.6)
   继承    一、 构造方法📒定义: 构造方法是一种特殊的、与类同名的方法,专门用于创建对象,完成初始化工作。   📒构造方法的特殊性:(1)构造方法的方法名与类名相同。(2)
2018-12-25
  TOC