单项散列函数

单向散列函数

介绍

单项散列函数又称安全散列函数或哈希函数,根据消息的内容计算出散列值,散列值又称为消息摘要或者摘要

消息摘要长度固定,主要用来验证消息的完整性

单项散列算法的种类: MD4/MD5/SHA

单项散列函数原理

单项散列函数

  1. A准备好待传输的文件
  2. A使用单项散列函数计算出消息摘要
  3. A将文件和消息摘要一起发送给B
  4. B接收文件之后,使用单项散列函数计算消息摘要
  5. B对比接收的消息摘要和计算的消息摘要是否一致

单项散列函数特点:

  1. 输入长度可变
  2. 输出长度固定
  3. 只能计算输入到输出

SHA256介绍

  1. 输入小于2^64 bit的任意长度
  2. 分组长度为512 bit,经过计算得到256 bit的消息摘要
  3. SHA256 消息摘要长度256 bit
  4. SHA384 消息摘要长度384 bit
  5. SHA512 消息摘要长度512 bit

SHA 预处理

预处理会对消息进行填充,使消息长度达到512整数倍.
填充完成后,将消息进行分组.

重点:这里的消息填充为算法自动填充,不需要外界的参数, 例如初始化向量IV等.