🔍 搜索帖子 / 资讯 / 芯片型号…
论坛/全国大学生集成电路创新创业大赛/SM4算法实现分享(一)算法原理
SM4算法实现分享(一)算法原理
全国大学生集成电路创新创业大赛 作者 y233d233 发布于 2021-06-10 15:54(1948 天前) 7282 浏览

队伍编号: CICC1238 ,队伍名称:青稞ASIC小队。

SM4分组加密算法采用的是非线性迭代结构,以字为单位进行加密、解密运算,每次迭代称为一轮变换,每轮变换包括S盒变换、非线性变换、线性变换、合成变换。加解密算法与密钥扩展都是采用32轮非线性迭代结构。而解密算法与加密算法采用同一结构,只是轮密钥使用的顺序不同,加密采用顺序的,解密采用逆序的。

SM4加密算法是典型的分组密码算法,分组密码算法实质上就是在密钥的控制下,简单而迅速地找到一个置换,用来对明文进行分组加密变换。SM4加密算法由32次迭代运算和一次反序变换R组成。

设输入明文为(X0,X 1,X 2,X 3),共128位,设密文输出为(Y0,Y 1,Y 2,Y 3),轮密钥为rki,Xi、Yi、rki为字,i=0,1,2,…,31。则本算法的加密实现为:


本算法的解密实现与加密实现结构是相同的,不同的只是提供的轮密钥的使用次序。加密变换时使用轮密钥的顺序为:(rk0, rk1, …, rk31), 解密变换时使用轮密钥的顺序为:(rk31, rk30, …, rk0)。



全部回复 0
暂无回复,抢个沙发~
💡 请 登录 后参与讨论(微信扫码即登录/注册)