国密分组密码算法SM4是一种分组密码算法,由中国国家密码管理局于2012年3月21日发布,SM4算法主要用于数据加密,算法采用32轮非线性迭代结构,每轮迭代使用非线性变换和线性变换,通过密钥扩展算法生成轮密钥,每一轮使用一个轮密钥与中间状态进行异或,然后再进行S盒替换和线性变换。