路径: 主页 > MISC > 第117页 > GM/T 0002-2012
| 标准编号 | GM/T 0002-2012 (GM/T0002-2012) | | 中文名称 | SM4分组密码算法 | | 英文名称 | SM4 block cipher algorithm | | 行业 | Chinese Industry Standard (推荐) | | 中标分类 | L80 | | 字数估计 | 9,940 | | 发布日期 | 3/21/2012 | | 实施日期 | 3/21/2012 | | 发布机构 | 国家密码管理局 |
GM/T 0002-2012: SM4分组密码算法
GM/T 0002-2012 英文名称: SM4 Block Cipher Algorithm
中华人民共和国密码行业标准
GM/T 0002-2012
国家密码管理局 发布
前言
本标准依据GB/T 1. 1—— 2009给出的规则起草。
请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。 本标准的附录A为资料性附录。
本标准由国家密码管理局提出并归口。
本标准起草单位:中国科学院数据与通信保护研究教育中心、国家密码管理局商用密码检测中心、本标准主要起草人:吕述望、李大为、张超、张众、董芳、毛颖颖、刘振华。
1范围
本标准规定了 SM4分组密码算法的算法结构和算法描述,并给出了运算示例。
本标准适用于密码应用中使用分组密码的需求。
2术语和定义
下列术语和定义适用于本文件。
4算法结构
SM4密码算法是一个分组算法。该算法的分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。数据解密和数据加密的算法结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
5密钥及密钥参量
加密密钥长度为128比特,表示为MK = (MK0,MK1 ,MK2,MK3),其中MKi (i = 0 ,1,2,3)为字。
轮密钥表示为(rk0,rk1,...,rk31),其中仇rki(i = 0 ,…,31)为32比特字。轮密钥由加密密钥生成。
6 轮函数F
6.1轮函数结构
6.2合成置换T
7.1加密算法
本加密算法由32次迭代运算和1次反序变换R组成。
7.2解密算法
本算法的解密变换与加密变换结构相同,不同的仅是轮密钥的使用顺序。解密时,使用轮密钥序 (rk31,rk30,...,rk0)。
7.3密钥扩展算法
本算法轮密钥由加密密钥通过密钥扩展算法生成。
......
|