ICS35.040 L80 GB 中华人民共和国国家标准 GB/T32905-2016 信息安全技术SM3密码杂凑算法 Information security techniques-SM3 cryptographic hash algorithm 2016-08-29发布 2017-03-01实施 中华人民共和国国家质量监督检验检疫总局 发布 中国国家标准化管理委员会 GB/T32905—2016 目 次 前言 Ⅲ 1范围 1 2术语和定义 3符号 1 4常数与函数 2 4.1初始值 2 4.2常量 2 4.3布尔函数 4.4置换函数 2 5算法描述 2 5.1概述 2 5.2填充 2 5.3迭代压缩 3 5.4输出杂凑值 4 附录A(资料性附录)运算示例 5 I GB/T32905—2016 信息安全技术SM3密码杂凑算法 1范围 本标准规定了M3密码杂凑算法的计算方法和计算步骤,并给出了运算示例. 本标准适用于商用密码应用中的数字签名和验证、消息认证码的生成与验证以及随机数的生成,可 满足多种密码应用的安全需求. 2术语和定义 下列术语和定义适用于本文件. 2.1 比特串bit string 具有0或1值的二进制数字序列. 2.2 大端big-endian 数据在内存中的一种表示格式,规定左边为高有效位,右边为低有效位.即数的高阶字节放在存储 器的低地址,数的低阶字节放在存储器的高地址. 2.3 消息message 任意有限长度的比特串,本标准中消息作为杂凑算法的输入数据. 2.4 杂凑值hash value 杂凑算法作用于一条消息时输出的消息摘要(比特串). 2.5 字word 长度为32比特的组(串). 3符号 下列符号适用于本文件. ABCDEFGH:8个字寄存器或它们的值的串连 B):第i个消息分组 CF:压缩函数 FF :布尔函数,随j的变化取不同的表达式 GG:布尔函数,随j的变化取不同的表达式 V:初始值,用于确定压缩函数寄存器的初态 P.:压缩函数中的置换函数 P1:消息扩展中的置换函数 T :算法常量,随j的变化取不同的值 ...