[发明专利]一种国密分组密码算法SM4的快速实现方法有效

专利信息
申请号: 201910428748.4 申请日: 2019-05-22
公开(公告)号: CN110166223B 公开(公告)日: 2021-08-13
发明(设计)人: 王闯;郭华;张笑从;郜雅;高莹 申请(专利权)人: 北京航空航天大学
主分类号: H04L9/06 分类号: H04L9/06
代理公司: 重庆启恒腾元专利代理事务所(普通合伙) 50232 代理人: 赵晨宇
地址: 100010*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明提供了一种国密分组密码算法SM4的快速实现方法,该方法包括:数据编排步骤,密钥编排步骤,迭代计算步骤,数据反编排步骤,反序计算步骤。本发明使用比特切片技术、SIMD技术和复合域技术,实现256组明文消息的并行加密,将SM4中的非线性变换在复合域中实现,并将非线性变换和线性变换压缩合并,使得SM4加密算法中的合成置换T的计算由原先的一次GF(28)上的求逆运算、两次仿射变换、4次循环左移以及4次异或运算简化为一次GF(24)上的求逆运算、两次仿射变换、三次有限域GF(24)上的乘法运算以及4次以后运算,降低了计算复杂度,提高了执行效率。
搜索关键词: 一种 分组 密码 算法 sm4 快速 实现 方法
【主权项】:
1.一种国密SM4的快速软件实现方法,其特征在于,包括:数据编排步骤:将256组128比特的数据表示为X[256][128],X[i]表示第i组数据,i=0,1,...,255,存在比特矩阵转置变换TRANS256(·):使得X[128][256]=TRANS(X[256][128]),输入为256*128比特,输出为128*256比特,实现将256组数据的同一比特聚集在同一内存块中;密钥编排步骤:将第k轮加密密钥记为RKk,[32],k=0,1,...,31,存在变换TRANS32(·):TRKk,[32][256]=TRANS32(RKk,[32]),定义{·}256表示将元素重复256次并拼接在一起,则TRKk,[i]={RKk,[i]}256,实现将密钥RK的第i个比特复制256次存入TRK的第i项;迭代计算步骤:将经过数据编排后的数据记为X256表示二维数组X[128][256]指向X[128][256]的第i*32项,i=0,1,2,3,将经过密钥编排后的第k轮加密密钥记为进行32次迭代计算:其中,为异或运算;数据反编排步骤:存在比特矩阵转置TRANS256(·):X[256][128]=TRANS256(X[128][256]),将经过迭代计算后的数据从切片后的128组256比特数据组织方式恢复到正常256组128比特数据;反序计算步骤:令则输出的256组128比特的加密数据表示为其中,合成置换T的输入和输出都是32*256比特,由非线性变换τ和线性变换L复合而成T(·)=L(τ(·))。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/patent/201910428748.4/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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