[发明专利]一种适用于移动设备的高速SM4密码算法电路有效

专利信息
申请号: 202111202482.5 申请日: 2021-10-15
公开(公告)号: CN113949504B 公开(公告)日: 2023-09-19
发明(设计)人: 唐莹;吴晨杰;韦一 申请(专利权)人: 中国计量大学
主分类号: H04L9/06 分类号: H04L9/06;H04L9/00;H04L9/08
代理公司: 杭州求是专利事务所有限公司 33200 代理人: 傅朝栋;张法高
地址: 310018 浙江省*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 适用于 移动 设备 高速 sm4 密码 算法 电路
【权利要求书】:

1.一种适用于移动设备的高速SM4密码算法电路,其特征在于,包括轮密钥生成模块、RAM模块、数据选择器模块、加密/解密运算模块和数据置换模块;

所述轮密钥生成模块中,包含用于标识电路状态的第一寄存器和第二寄存器以及轮密钥生成逻辑电路,其中第一寄存器用于对标识输入密钥的获取状态,当获取到128位的输入密钥后启动第二寄存器使其开始计数轮密钥生成逻辑电路的迭代周期数,轮密钥生成逻辑电路由两个相同的轮密钥生成电路连接成二度展开结构;第一个轮密钥生成电路的输入为4组32位数据Ki、Ki+1、Ki+2、Ki+3以及第i轮次的常数CKi,输出新的32位数据Ki+4作为第i轮次生成的轮密钥rki同时传输给第二个轮密钥生成电路;第二个轮密钥生成电路的输入为4组32位数据Ki+1、Ki+2、Ki+3、Ki+4以及第i+1轮次的常数Cki+1,输出新的32位数据Ki+5作为第i+1轮次生成的轮密钥rki+1同时传输给下一次迭代轮密钥生成逻辑电路中的第一个轮密钥生成电路;且第一次迭代轮密钥生成逻辑电路时,第一个轮密钥生成电路初始输入的4组32位数据K0、K1、K2、K3由输入密钥与常数通过异或门得到的异或运算结果值按从高位到低位的顺序每32位为一组按序划分得到;每个轮密钥生成电路中,先将当前轮次输入的4组32位数据中的后三组和当前轮次的常数输入异或门进行异或运算得到第一结果值,第一结果值经过S盒转换后得到第二结果值,将第二结果值、第二结果值左移13位的结果和第二结果值左移23位的结果输入异或门进行异或运算得到第三结果值,将第三结果值与当前轮次4组32位数据中的第一组输入异或门进行异或运算从而生成新的32位数据,以新的32位数据作为当前轮次生成的轮密钥,迭代16个周期后完成整个从第0轮次开始的32轮次轮密钥生成;

所述RAM模块用于暂存所述轮密钥生成模块中每一轮次生成的轮密钥;

所述数据选择器模块用于接收用户指定运算方式的指令,若指令中的指定运算方式为加密运算则将所述轮密钥生成模块每一轮次生成的轮密钥直接顺序输入所述加密/解密运算模块中,若指令中的指定运算方式为解密运算则在所述RAM模块存储所有32轮次的轮密钥后将其倒序输入所述加密/解密运算模块中;

所述加密/解密运算模块中,包含第三寄存器和加解密逻辑电路,所述第三寄存器用于对加解密逻辑电路的迭代周期数进行计数,所述加解密逻辑电路采用二度展开结构,能同时生成第i轮次和第i+1轮次的运算结果,加解密逻辑电路的输入为4组32位数据Xi、Xi+1、Xi+2、Xi+3以及所述数据选择器模块传递的第i轮次的轮密钥rki和第i+1轮次的轮密钥rki+1,Xi+1、Xi+2、Xi+3与第i轮次的轮密钥rki先通过异或门进行异或运算得到第一中间结果,第一中间结果经过S盒进行非线性变换得到第二中间结果,第二中间结果、第二中间结果左移2位的结果、第二中间结果左移10位的结果和第二中间结果左移18位的结果通过异或门进行异或运算得到第三中间结果,第二中间结果左移24位的结果与Xi通过异或门进行异或运算得到第四中间结果,第三中间结果和第四中间结果通过异或门进行异或运算得到第i轮次的运算结果Xi+4;第i+1轮次的轮密钥rki+1、Xi+2、Xi+3通过异或门进行异或运算得到第五中间结果,第四中间结果和第五中间结果通过异或门进行异或运算得到第六中间结果,第三中间结果和第六中间结果通过异或门进行异或运算得到第七中间结果,第七中间结果经过S盒进行非线性变换得到第八中间结果,Xi+1、第八中间结果、第八中间结果左移2位的结果、第八中间结果左移10位的结果、第八中间结果左移18位的结果和第八中间结果左移24位的结果通过异或门进行异或运算得到第i+1轮次的运算结果Xi+5;其中,第一次迭代加解密逻辑电路时初始输入的X0、X1、X2、X3由输入明文按从高位到低位的顺序每32位为一组按序划分得到;迭代16个周期后完成整个从第0轮次开始的32轮次运算结果生成;最后一次迭代加解密逻辑电路后将最后4个轮次的运算结果传递给所述数据置换模块;

所述数据置换模块,将所述加密/解密运算模块传递的最后4个轮次的运算结果进行反序变换,形成最终输出密文数据。

2.如权利要求1所述的适用于移动设备的高速SM4密码算法电路,其特征在于,所述的第一寄存器对输入的密钥数据按32位输入为一组进行计数,当计数到4组32位输入后,得到输入密钥,进而启动第二寄存器。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国计量大学,未经中国计量大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202111202482.5/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top