常见加密哈希算法及安全机制解析
1. 安全哈希算法(SHA)
1.1 SHA 概述
安全哈希算法(SHA)是当今使用最广泛的哈希算法之一,有多个版本,且都被认为是安全且无碰撞的:
- SHA - 1 :160 位哈希函数,类似于早期的 MD5 算法,由美国国家安全局(NSA)设计,是数字签名算法(DSA)的一部分。
- SHA - 2 :有两个类似的哈希函数,分别是 SHA - 256 和 SHA - 512,字长不同,前者使用 32 字节(256 位)字,后者使用 64 字节(512 位)字。还有截断版本 SHA - 224 和 SHA - 384,也由 NSA 设计。
- SHA - 3 :2012 年 10 月被采用的最新版本。
1.2 SHA - 1 算法详解
1.2.1 填充与分块
SHA - 1 和 MD5 类似,使用填充和 512 位块。最后一个块必须是 448 位,后面跟着一个 64 位无符号整数,表示原始消息的大小。如果消息超过 512 位,一个块的最终输出将与下一个块组合,直到到达最后一个块。
1.2.2 初始化与消息处理
SHA - 1 使用五个块,通常表示为 h1、h2、h3、h4 和 h5,并初始化为常量值。要哈希的消息转换为字符并转换为二进制格式,然后填充,使其均匀地分成 512 位段,最后加上 64 位的原始消息长度。
1.2.3 生成 80 字数组
每个 512 位段被
超级会员免费看
订阅专栏 解锁全文
1006

被折叠的 条评论
为什么被折叠?



