1.哈希函数
将任意长度的消息映射成一个较短的定长输出报文的函数
①作用: 完整性校验
②主要算法: MD5、SHA-1
③数学性质: 单向性、弱抗碰撞性、强抗碰撞性
2.Hash函数的特点
①H能够应用到任意长度的数据上。
②H能够生成大小固定的输出。对干任意给定的x, H(x) 的计算相对简单。
③对于给定的散列值h,要发现满足H(x)=h 的x 在计算上是不可行的。
④对于给定的消息x,要发现另一个消息y满足H(y)=H(x) 在计算上是不可行的。
⑤主要的散列算法: MD5(128位)、SHA(160位)等
3.MD5算法
①MD: Message Digest,消息摘要
②输入: 任意长度的消息
③输出: 128位消息摘要
④处理: 以512位输入数据块为单位
4.SHA-1算法
SHA(Secure Hash Algorithm,安全哈希算法)由美国国家标准技术研究所NIST开发,作为联邦信息处理标准于1993年发表(FIPS PUB 180),1995年修订,作为SHA-1(FIPS PUB 180-1),SHA-1基于MD4设计。
①输入: 最大长度为264位的消息;
②输出: 160位消息摘要;
③处理: 输入以512位数据块为单位处理.
5.消息鉴别
①对收到的消息进行验证,证明确实是来自声称的发送方,并且没有被修改过。
②作用: 完整性校验、时间和顺序验证
③消息认证方式: Message encryption、Hash function、MAC
6.数字签名
①附加在数据单元上的一些数据,或是对数据单元所做的密码变换,这种数据或变换
②能使数据单元的接收者确认数据单元来源和数据单元的完整性,并保护数据,防止被人伪造
③作用: 不可伪造性、不可否认性、保证消息完整性
④数字签名的基本条件:
1)签名者不能否认自己的签名。
2)接受者能够验证签名,而其他任何人都不能伪造签名。
3)当关于签名的真伪发生争执时,存在个仲裁机构或第三方能够解决争执