GB/T 32907-2016
信息安全技术 SM4分组密码算法
发布时间:2016-08-29 实施时间:2017-03-01
SM4分组密码算法是一种基于分组密码的加密算法,采用128位密钥和128位分组长度。该算法具有高效、安全、可靠等特点,已被广泛应用于各种信息安全领域。SM4分组密码算法的加密和解密过程如下:
1. 密钥扩展
将128位密钥扩展为32个字(4字节),并生成32个轮密钥。
2. 初始轮
将明文分成4个字(4字节),与第一个轮密钥进行异或运算。
3. 轮函数
将初始轮的结果分成4个字,分别进行S盒替换、线性变换和模2次幂运算,得到一个新的4字节结果。
4. 轮密钥加
将轮函数的结果与下一个轮密钥进行异或运算,得到下一轮的初始轮。
5. 重复执行
重复执行第3步到第4步,直到执行完32轮。
6. 输出密文
将最后一轮的结果作为密文输出。
SM4分组密码算法的密钥生成和管理方法如下:
1. 密钥生成
随机生成128位密钥,并进行密钥扩展。
2. 密钥管理
密钥应定期更换,且不应明文传输。密钥的存储和传输应采用安全的方式,如加密传输、物理隔离等。
SM4分组密码算法的安全性能已经得到了广泛的验证和认可。该算法在国际上也得到了广泛的应用和认可,如ISO/IEC 18033-3标准中的SM4算法就是基于GB/T 32907-2016标准制定的。
相关标准
GB/T 32905-2016 信息安全技术 SM2椭圆曲线公钥密码算法
GB/T 32918-2016 信息安全技术 SM3密码杂凑算法
GB/T 32919-2016 信息安全技术 SM9椭圆曲线公钥密码算法
GB/T 32920-2016 信息安全技术 SM1分组密码算法
GB/T 32921-2016 信息安全技术 SM6分组密码算法