数据加密方法、装置、存储介质和电子设备转让专利
申请号 : CN202010275793.3
文献号 : CN111526003B
文献日 : 2021-08-27
发明人 : 马勇 , 万春
申请人 : 北京理工大学 , 奇安信科技集团股份有限公司
摘要 :
权利要求 :
1.一种数据加密方法,其特征在于,所述方法包括:获取SM4加密算法的S盒S‑Box的轮秘钥;
对所述SM4加密算法的S‑Box的轮秘钥进行仿射变换,生成AES加密算法的S‑Box的轮秘钥,包括:
通过仿射变换公式Affine1(x)=M*x+Count,其中M和Count是变换仿射矩阵,对所述SM4加密算法的S‑Box的轮秘钥进行仿射变换,生成所述AES加密算法的S‑Box的轮秘钥;
调用AES‑NI指令,利用所述AES加密算法的S‑Box的轮秘钥,执行加密运算,生成AES加密算法的S‑Box;
对所述AES加密算法的S‑Box进行仿射变换还原,以生成SM4加密算法的S‑Box,包括:通过SM4仿射变换还原公式Affine2(x)=M2*x+Count2,其中M2和Count2是相对于M和Count的逆仿射变换矩阵,以AES‑Sbox(Affine1(x))为参数,代入得到SM4‑Sbox(x)=Affine2(AES‑Sbox(Affine1(x)),从而对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.一种数据加密装置,其特征在于,所述装置包括:获取单元,用于获取SM4加密算法的S盒S‑Box的轮秘钥;
变换单元,用于对所述SM4加密算法的S‑Box的轮秘钥进行仿射变换,生成AES加密算法的S‑Box的轮秘钥,包括:
通过仿射变换公式Affine1(x)=M*x+Count,其中M和Count是变换仿射矩阵,对所述SM4加密算法的S‑Box的轮秘钥进行仿射变换,生成所述AES加密算法的S‑Box的轮秘钥;
加密单元,用于调用AES‑NI指令,利用所述AES加密算法的S‑Box的轮秘钥,执行加密运算,生成AES加密算法的S‑Box;
还原单元,用于对所述AES加密算法的S‑Box进行仿射变换还原,以生成SM4加密算法的S‑Box,包括:
通过SM4仿射变换还原公式Affine2(x)=M2*x+Count2,其中M2和Count2是相对于M和Count的逆仿射变换矩阵,以AES‑Sbox(Affine1(x))为参数,代入得到SM4‑Sbox(x)=Affine2(AES‑Sbox(Affine1(x)),从而对AES加密算法的S‑Box进行仿射变换还原得到SM4加密算法的S‑Box。
4.根据权利要求3所述的装置,其特征在于,所述加密单元具体用于:
调用AES‑NI指令,利用所述AES加密算法的S‑Box的轮秘钥,执行加密运算,生成所述AES加密算法的S‑Box,所述加密运算包括:T同构映射、S盒求逆及T`同构映射。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现所述权利要求1‑2中任一项所述方法的步骤。
6.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现所述权利要求1‑2中任一项所述方法的步骤。
说明书 :
数据加密方法、装置、存储介质和电子设备
技术领域
背景技术
有SM4加密算法部分形成性能瓶颈,拖慢应用系统整体性能。
发明内容
密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来
替代原先的DES,已经被多方分析且广为全世界所使用。经过多多年的甄选流程,AES已然成
为对称密钥加密中最流行的算法之一。AES‑NI(高级加密标准指令集,Advanced
Encryption Standard New Instructions)是一个x86指令集架构的扩展,用于Intel和AMD
微处理器,由Intel在2008年3月提出。AES‑NI的目的是改进应用程序使用AES执行加密和解
密的速度。
的步骤。
S‑Box的轮秘钥;调用AES‑NI指令,利用所述AES加密算法的S‑Box的轮秘钥,执行加密运算,
生成AES加密算法的S‑Box;对所述AES加密算法的S‑Box进行仿射变换还原,以生成SM4加密
算法的S‑Box。本发明通过调用AES‑NI指令,可同时并行运行多个加密过程,并获得多个单
元S盒结果。传统SM4算法同一时间只能运行单个加密过程,并获得单个单元S盒结果。相比
传统SM4算法,本发明具有较快的加密运算速度,进而提升了应用系统的整体性能。
附图说明
具体实施方式
组合,因此本申请也可认为包含所记载的相同和/或不同实施例的所有可能组合。因而,如
果一个实施例包含特征A、B、C,另一个实施例包含特征B、D,那么本申请也应视为包括含有
A、B、C、D的一个或多个所有其他可能的组合的实施例,尽管该实施例可能并未在以下内容
中有明确的文字记载。
个示例可以适当省略、替代或添加各种过程或组件。例如所描述的方法可以以所描述的顺
序不同的顺序来执行,并且可以添加、省略或组合各种步骤。此外,可以将关于一些示例描
述的特征组合到其他示例中。
SM4加密算法的S‑Box的轮秘钥到AES加密算法的S‑Box的轮秘钥的仿射变换的目的,都在本
发明的保护范围之内。
射。
采用一次仿射变换无法满足所构造的S盒代数表达式具有较多项数,本方案因此在做一次
仿射变换后求乘法逆元,然后再做一次仿射变换。
行1次仿射变换。S盒改进方案的运算步骤如下:
据流量理论速度是现有SM4加密算法4倍速能力。此外,CPU AESNI指令SIMD指令,也可以以
128字节为单位处理数据。此时,N为8。
接获得,即被通知、或者通过定义get函数从某处取值。
现SM4 S‑Box盒到AESNI S‑Box盒的同构映射转换,为AESNI并行化CPU硬件加速做好上下文
环境准备。
字节数据块加密操作。单指令多数据硬件线路方式,执行完成“T同构映射(3)”、“S‑box求逆
(4)”、“T`同构映射(5)”动作。AESENCLAST硬件指令集中调用CPU硬件实现高速并发加密功
能。这三个步骤执行完毕,将产生结果AES‑Sbox(Affine1(x))。
Affine2(AES‑Sbox(Affine1(x))。对S‑Box盒轮密钥进行逆仿射变换同放大加平移,实现
AESNI S‑Box盒到SM4 S‑Box盒到的同构映射转换还原。
指令SIMD指令,数据是64字节为单位处理。在同一时钟周期,数据流量理论速度是现有SM4
加密算法4倍速能力。由于SM4 S‑Box盒到AESNI S‑Box盒仿射转换需要一些额外处理,本发
明实际效能速度实测,测度为现有SM4加密算法实现的3倍。
用产生SM4并行加密算法效果目标。任何变形仿射变换公式达成同样目的,预处理、后处理
上下文中使用SIMD单指令并行加速,超过现有SM4加密算法性能。满足本技术方案实施路线
范围覆盖。
达成AESNI指令加速应用产生SM4并行加密算法效果目标。任何变形仿射变换公式达成同样
目的,预处理、后处理上下文中使用SIMD单指令并行加速,超过现有SM4加密算法性能,满足
本技术方案实施路线范围覆盖。
用产生SM4并行加密算法效果目标,任何变形仿射变换公式达成同样目的,预处理、后处理
上下文中使用SIMD单指令并行加速,超过现有SM4加密算法性能,满足本技术方案实施路线
范围覆盖。
功能的软件和/或硬件,其中硬件例如可以是FPGA(Field-Programmable Gate Array,现
场可编程门阵列)、IC(Integrated Circuit,集成电路)等。
不限于任何类型的盘,包括软盘、光盘、DVD、CD‑ROM、微型驱动器以及磁光盘、ROM、RAM、
EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC),
或适合于存储指令和/或数据的任何类型的媒介或设备。
序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比
如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备的使用所创建的数
据(比如音频数据、电话本等)等。此外,存储器520可以包括高速随机存取存储器,还可以包
括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
相应地,存储器520还可以包括存储器控制器,以提供处理器590和输入单元530对存储器
520的访问。
敏表面531(例如:触摸屏、触摸板或触摸框)。触敏表面531,也称为触摸显示屏或者触控板,
可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件
在触敏表面531上或在触敏表面531附近的操作),并根据预先设定的程式驱动相应的连接
装置。可选的,触敏表面531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装
置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制
器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器590,并能接收
处理器590发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等
多种类型实现触敏表面531。
显示单元540可包括显示面板541,可选的,可以采用LCD(Liquid Crystal Display,液晶显
示器)、OLED(Organic Light‑Emitting Diode,有机发光二极管)等形式来配置显示面板
541。进一步的,触敏表面531可覆盖显示面板541,当触敏表面531检测到在其上或附近的触
摸操作后,传送给处理器590以确定触摸事件的类型,随后处理器590根据触摸事件的类型
在显示面板541上提供相应的视觉输出。虽然在图5中,触敏表面531与显示面板541是作为
两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面531与显示
面板541集成而实现输入和输出功能。
器520内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。可
选的,处理器590可包括一个或多个处理核心;其中,处理器590可集成应用处理器和调制解
调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器
主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器590中。
置以由一个或者一个以上处理器执行述一个或者一个以上程序包含实现上述基于终端的
避难方法的步骤。
一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或
可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部
分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合
或通信连接,可以是电性的、机械的或其它形式的。
单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
改、等同替换、改进等,均应包含在本发明的保护范围之内。