SMS4算法

SMS4算法【SMS4算法】SMS4算法是在国内广泛使用的WAPI无线网路标準中使用的加密算法 , 是一种32轮的叠代非平衡Feistel结构的分组加密算法 , 其密钥长度和分组长度均为128 。SMS4算法的加解密过程中使用的算法是完全相同的 , 唯一不同点在于该算法的解密密钥是由它的加密密钥进行逆序变换后得到的 。
基本介绍中文名:SMS4算法
分类:无线网路加密算法
简介SMS4分组加密算法是中国无线标準中使用的分组加密算法 , 在2012年已经被国家商用密码管理局确定为国家密码行业标準 , 标準编号GM/T 0002-2012并且改名为SM4算法 , 与SM2椭圆曲线公钥密码算法 , SM3密码杂凑算法共同作为国家密码的行业标準 , 在我国密码行业中有着极其重要的位置 。SMS4算法的分组长度为128bit , 密钥长度也是128bit 。加解密算法均採用32轮非平衡Feistel叠代结构 , 该结构最先出现在分组密码LOKI的密钥扩展算法中 。SMS4通过32轮非线性叠代后加上一个反序变换 , 这样只需要解密密钥是加密密钥的逆序 , 就能使得解密算法与加密算法保持一致 。SMS4加解密算法的结构完全相同 , 只是在使用轮密钥时解密密钥是加密密钥的逆序 。S盒是一种利用非线性变换构造的分组密码的一个组件 , 主要是为了实现分组密码过程中的混淆的特性和设计的 。SMS4算法中的S盒在设计之初完全按照欧美分组密码的设计标準进行 , 它採用的方法是能够很好抵抗差值攻击的仿射函式逆映射複合法 。SMS4算法流程128bit的明文被分为4个32bit的字 , 记成X0 , X1 , X2 , X3 。密文也分为4个字 , 记成Y0 , Y1 , Y2 , Y3 , 这些明文会经过32轮的叠代加密 。假设32bit的中间变数为ki , 0<=i<=31 , 则加密变换为:

SMS4算法

文章插图