数据加密方法、装置、存储介质和电子设备制造方法及图纸

技术编号:25230330 阅读:31 留言:0更新日期:2020-08-11 23:17
本发明专利技术提供了一种数据加密方法、装置、存储介质和电子设备,获取SM4加密算法的S盒S‑Box的轮秘钥;对所述SM4加密算法的S‑Box的轮秘钥进行仿射变换,生成AES加密算法的S‑Box的轮秘钥;调用AES‑NI指令,利用所述AES加密算法的S‑Box的轮秘钥,执行加密运算,生成AES加密算法的S‑Box;对所述AES加密算法的S‑Box进行仿射变换还原,以生成SM4加密算法的S‑Box。相比传统SM4算法,本发明专利技术具有较快的加密运算速度,进而提升了应用系统的整体性能。

【技术实现步骤摘要】
数据加密方法、装置、存储介质和电子设备
本专利技术涉及密码学的领域,具体而言,涉及一种数据加密方法、装置、存储介质和电子设备。
技术介绍
SM4算法是国家商用密码管理办公室公布的分组密码算法,也是国内官方公布的第一个商用密码算法。现有SM4加密算法的实现过程中,会出现数据吞吐量小、CPU负荷大的问题。SM4加密算法的运算与日益增长的信息系统存储设备写入速度、网络设备带宽速度等不匹配。现有SM4加密算法部分形成性能瓶颈,拖慢应用系统整体性能。
技术实现思路
为了解决上述问题,本专利技术利用CPUAESNI指令系统,对SM4加密算法硬件加速,将SM4加密算法速度提升到新高度。AES(高级加密标准,AdvancedEncryptionStandard)在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过多多年的甄选流程,AES已然成为对称密钥加密中最流行的算法之一。AES-NI(高级加密标准指令集,AdvancedEncryptionStandardNewInstructions)是一个x86指令集架构的扩展,用于Intel和AMD微处理器,由Intel在2008年3月提出。AES-NI的目的是改进应用程序使用AES执行加密和解密的速度。本专利技术实施例提供了一种加密方法、装置、存储介质和电子设备。第一方面,本专利技术实施例提供了一种数据加密方法,包括以下步骤:获取SM4加密算法的S盒S-Box的轮秘钥;对所述SM4加密算法的S-Box的轮秘钥进行仿射变换,生成AES加密算法的S-Box的轮秘钥;调用AES-NI指令,利用所述AES加密算法的S-Box的轮秘钥,执行加密运算,生成AES加密算法的S-Box;对所述AES加密算法的S-Box进行仿射变换还原,以生成SM4加密算法的S-Box。可选地,所述调用AES-NI指令,利用所述AES加密算法的S-Box的轮秘钥,执行加密运算,生成AES加密算法的S-Box包括:调用AES-NI指令,利用所述AES加密算法的S-Box的轮秘钥,执行加密运算,生成所述AES加密算法的S-Box,所述加密运算包括:T同构映射、S盒求逆及T`同构映射。可选地,所述对所述SM4加密算法的S-Box的轮秘钥进行仿射变换,生成AES加密算法的S-Box的轮秘钥包括:通过仿射变换公式Affine(x)=M*x+Count,对所述SM4加密算法的S-Box的轮秘钥进行仿射变换,生成所述AES加密算法的S-Box的轮秘钥。第二方面,本专利技术实施例提供了一种数据加密装置,包括:获取单元,用于获取SM4加密算法的S盒S-Box的轮秘钥;变换单元,用于对所述SM4加密算法的S-Box的轮秘钥进行仿射变换,生成AES加密算法的S-Box的轮秘钥;加密单元,用于调用AES-NI指令,利用所述AES加密算法的S-Box的轮秘钥,执行加密运算,生成AES加密算法的S-Box;还原单元,用于对所述AES加密算法的S-Box进行仿射变换还原,以生成SM4加密算法的S-Box。可选地,所述加密单元具体用于:调用AES-NI指令,利用所述AES加密算法的S-Box的轮秘钥,执行加密运算,生成所述AES加密算法的S-Box,所述加密运算包括:T同构映射、S盒求逆及T`同构映射。第三方面,本专利技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项方法的步骤。第四方面,本专利技术实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项方法的步骤。本专利技术提供的数据加密方法、装置、存储介质和电子设备,获取SM4加密算法的S盒S-Box的轮秘钥;对所述SM4加密算法的S-Box的轮秘钥进行仿射变换,生成AES加密算法的S-Box的轮秘钥;调用AES-NI指令,利用所述AES加密算法的S-Box的轮秘钥,执行加密运算,生成AES加密算法的S-Box;对所述AES加密算法的S-Box进行仿射变换还原,以生成SM4加密算法的S-Box。本专利技术通过调用AES-NI指令,可同时并行运行多个加密过程,并获得多个单元S盒结果。传统SM4算法同一时间只能运行单个加密过程,并获得单个单元S盒结果。相比传统SM4算法,本专利技术具有较快的加密运算速度,进而提升了应用系统的整体性能。附图说明图1是本专利技术实施例提供的一种数据加密方法的流程示意图;图2是本专利技术实施例提供的一种数据加密方法的流程示意图;图3是本专利技术实施例提供的一种数据加密方法的数据流示意图;图4是本专利技术实施例提供的一种数据加密装置的结构示意图;图5是本专利技术实施例所涉及的一种电子设备的结构示意图;具体实施方式下面结合附图和实施例对本申请进行进一步的介绍。在下述介绍中,术语“第一”、“第二”仅为用于描述的目的,而不能理解为指示或暗示相对重要性。下述介绍提供了本专利技术的多个实施例,不同实施例之间可以替换或者合并组合,因此本申请也可认为包含所记载的相同和/或不同实施例的所有可能组合。因而,如果一个实施例包含特征A、B、C,另一个实施例包含特征B、D,那么本申请也应视为包括含有A、B、C、D的一个或多个所有其他可能的组合的实施例,尽管该实施例可能并未在以下内容中有明确的文字记载。下面的描述提供了示例,并且不对权利要求书中阐述的范围、适用性或示例进行限制。可以在不脱离本申请内容的范围的情况下,对描述的元素的功能和布置做出改变。各个示例可以适当省略、替代或添加各种过程或组件。例如所描述的方法可以以所描述的顺序不同的顺序来执行,并且可以添加、省略或组合各种步骤。此外,可以将关于一些示例描述的特征组合到其他示例中。参见图1,图1是本专利技术实施例提供的一种数据加密方法的流程示意图,在本专利技术实施例中,所述方法包括:S101、获取SM4加密算法的S盒S-Box的轮秘钥。在密码学中,S-Box是对称密钥算法执行置换计算的基本结构。S盒用在分组密码算法中,是唯一的非线性结构,其S盒的指标的好坏直接决定了密码算法的好坏。S102、对所述SM4加密算法的S-Box的轮秘钥进行仿射变换,生成AES加密算法的S-Box的轮秘钥。仿射变换是在几何上定义为两个向量空间之间的一个仿射变换或者仿射映射,由一个非奇异的线性变换(运用一次函数进行的变换)接上一个平移变换组成。可选地,所述对所述SM4加密算法的S-Box的轮秘钥进行仿射变换,生成AES加密算法的S-Box的轮秘钥包括:通过仿射变换公式Affine(x)=M*x+Count,对所述SM4加密算法的S-Box的轮秘钥进行仿射变换,生成所述AES加密算法的S-Box的轮秘钥。其中M和Count是变换仿射矩本文档来自技高网...

【技术保护点】
1.一种数据加密方法,其特征在于,所述方法包括:/n获取SM4加密算法的S盒S-Box的轮秘钥;/n对所述SM4加密算法的S-Box的轮秘钥进行仿射变换,生成AES加密算法的S-Box的轮秘钥;/n调用AES-NI指令,利用所述AES加密算法的S-Box的轮秘钥,执行加密运算,生成AES加密算法的S-Box;/n对所述AES加密算法的S-Box进行仿射变换还原,以生成SM4加密算法的S-Box。/n

【技术特征摘要】
1.一种数据加密方法,其特征在于,所述方法包括:
获取SM4加密算法的S盒S-Box的轮秘钥;
对所述SM4加密算法的S-Box的轮秘钥进行仿射变换,生成AES加密算法的S-Box的轮秘钥;
调用AES-NI指令,利用所述AES加密算法的S-Box的轮秘钥,执行加密运算,生成AES加密算法的S-Box;
对所述AES加密算法的S-Box进行仿射变换还原,以生成SM4加密算法的S-Box。


2.根据权利要求1所述的方法,其特征在于,
所述调用AES-NI指令,利用所述AES加密算法的S-Box的轮秘钥,执行加密运算,生成AES加密算法的S-Box包括:
调用AES-NI指令,利用所述AES加密算法的S-Box的轮秘钥,执行加密运算,生成所述AES加密算法的S-Box,所述加密运算按照先后顺序包括:T同构映射、S盒求逆及T`同构映射。


3.根据权利要求1所述的方法,其特征在于,
所述对所述SM4加密算法的S-Box的轮秘钥进行仿射变换,生成AES加密算法的S-Box的轮秘钥包括:
通过仿射变换公式Affine(x)=M*x+Count,其中M和Count是变换仿射矩阵,对所述SM4加密算法的S-Box的轮秘钥进行仿射变换,生成所述AES加密算法的S-Box的轮秘钥。


4.根据权利要求1所述的方法,其特征在于,
对所述AES加密算法的S-Box进行仿射变换还原,以生成SM4加密算法的S-Box包括:
通过SM4仿射变换还原公式Affine2(x)=M2*x+Count2,其中M2和Count2是相对于M和Count的逆仿射变换矩...

【专利技术属性】
技术研发人员:马勇万春
申请(专利权)人:北京理工大学奇安信科技集团股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1