[发明专利]一种提高SM4加密算法速度的方法在审
申请号: | 201811463847.8 | 申请日: | 2018-12-03 |
公开(公告)号: | CN109450616A | 公开(公告)日: | 2019-03-08 |
发明(设计)人: | 杨海峰;刘思成 | 申请(专利权)人: | 北京安华金和科技有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 天津盛理知识产权代理有限公司 12209 | 代理人: | 王利文 |
地址: | 100081 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 加密算法 明文 轮密钥 技术特点 加密性能 密钥转换 业务领域 加密卡 指令集 密文 异或 加密 场景 | ||
本发明涉及一种提高SM4加密算法速度的方法,其技术特点是包括:将128位密钥转换成32轮密钥,用当次轮密钥盒128位明文做异或生成准备加密的明文;使用SM4加密算法的S盒模拟出AES算法的S盒,将明文进行变换;将变换后的明文经T变换生成128位的密文。本发明设计合理,其利用英特尔指令集的特性,将AES加密算法的S盒模拟SM4加密算法的S盒,实现SM4加密算法使用英特尔AES指令集的功能,提高了SM4加密算法的加密性能和处理速度,在无法使用加密卡的场景下能够切实提高国密SM4的性能,可广泛高性能业务领域。
技术领域
本发明属于数据机密技术领域,尤其是一种提高SM4加密算法速度的方法。
背景技术
随着中国安全战略的推广,由中国自主开发的国密SM4加密算法广泛地应用在各个行业的安全领域。但是,由于CPU制造厂商未对SM4加密算法在指令集做优化处理,尤其在市场占有率最高的英特尔处理器上,SM4加密算法都是基于C语言进行的软实现,其实现速度较慢,采用其他实现方法速度更慢,因此,SM4的加密性能在有高性能的应用场景表现的差强人意。
发明内容
本发明的目的在于克服现有技术的不足,提出一种提高SM4加密算法速度的方法,其利用英特尔指令集的特性采用仿真变换的方法提高SM4加密算法的加密性能。
本发明解决其技术问题是采取以下技术方案实现的:
一种提高SM4加密算法速度的方法,包括以下步骤:
步骤1、将128位密钥转换成32轮密钥,用当次轮密钥盒128位明文做异或生成准备加密的明文;
步骤2、使用SM4加密算法的S盒模拟出AES算法的S盒,将明文进行变换;
步骤3、将变换后的明文经T变换生成128位的密文。
所述步骤2的具体实现方法包括以下步骤:
⑴使用如下多线式变换,进行SM4加密算法的S盒到AES加密算法的S盒的转换:
SM4-S(x)=A2(AES-S(A1(x)))
A1(x)=M1*x+C1
A2(x)=M2*x+C2
上述公式中,C1、C2是两个8位常数;M1、M2分别是两个8*8的二进制常数矩阵;
⑵使用英特尔指令集aesenclast进行字节到字节的转换,得到转换后的字节。
所述步骤3中的T变换为基于位移的线性变换。
本发明的优点和积极效果是:
本发明设计合理,其利用英特尔指令集的特性,将AES加密算法的S盒模拟SM4加密算法的S盒,实现SM4加密算法使用英特尔AES指令集的功能,提高了SM4加密算法的加密性能和处理速度,在无法使用加密卡的场景下能够切实提高国密SM4的性能,可广泛高性能业务领域。
附图说明
图1是本发明的处理流程图;
图2是本发明的S盒变换的处理流程图。
具体实施方式
以下结合附图对本发明实施例做进一步详述。
一种提高SM4加密算法速度的方法,如图1所示,包括以下步骤:
步骤1、将128位密钥转换成32轮密钥,用当次轮密钥盒128位明文做异或生成准备加密的明文。
步骤2、使用SM4加密算法的S盒模拟出AES算法的S盒,将明文进行变换。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京安华金和科技有限公司,未经北京安华金和科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811463847.8/2.html,转载请声明来源钻瓜专利网。