CN110336658B - 基于aes算法的加密方法、用户设备、存储介质及装置 - Google Patents
基于aes算法的加密方法、用户设备、存储介质及装置 Download PDFInfo
- Publication number
- CN110336658B CN110336658B CN201910588609.8A CN201910588609A CN110336658B CN 110336658 B CN110336658 B CN 110336658B CN 201910588609 A CN201910588609 A CN 201910588609A CN 110336658 B CN110336658 B CN 110336658B
- Authority
- CN
- China
- Prior art keywords
- data
- encryption
- encrypted
- preset
- aes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及数据加密技术领域,公开了一种基于AES算法的加密方法、用户设备、存储介质及装置。本发明中在接收到高级加密标准AES算法加密请求时,根据所述AES算法加密请求确定明文数据;对所述明文数据进行分组,以获得数据组形式的待加密数据;以所述数据组为变换单位对所述待加密数据进行并行处理模式下的AES加密处理,以获得第一加密数据。明显地,本发明中将对AES算法进行流水线加密设计,从而并行处理AES加密操作。若如此,则无需在当前数据块的前端数据加密完成后再进行下一数据块的加密操作,通过将数据块拆解成多个分组并并行处理,解放了硬件环境下的加密速度,从而解决了AES算法无法保证加密速度的技术问题。
Description
技术领域
本发明涉及数据加密技术领域,尤其涉及基于AES算法的加密方法、用户设备、存储介质及装置。
背景技术
在现代数据加密技术中,高级加密标准(Advanced Encryption Standard,AES)算法的应用非常广泛,较难破解。
特别地,当在对高速、大数据量且大位宽的数据进行加密时,多会采用专用集成电路(Application Specific Integrated Circuit,ASIC)来实施该AES算法以进行数据加密操作。
但是,通过ASIC芯片来运行AES算法还存在着一定的缺陷。比如,随着前端数据的输入,ASIC芯片的加密速度可能会小于前端数据的输入速度,无法跟上输入速度,明显地,ASIC芯片构建的硬件环境局限了AES算法的加密速度。
可见,AES算法存在着无法保证加密速度的技术问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供基于AES算法的加密方法、用户设备、存储介质及装置,旨在解决AES算法无法保证加密速度的技术问题。
为实现上述目的,本发明提供一种基于AES算法的加密方法,所述基于AES算法的加密方法包括以下步骤:
在接收到高级加密标准AES算法加密请求时,根据所述AES算法加密请求确定明文数据;
对所述明文数据进行分组,以获得数据组形式的待加密数据;
以所述数据组为变换单位对所述待加密数据进行并行处理模式下的AES加密处理,以获得第一加密数据。
优选地,所述以所述数据组为变换单位对所述待加密数据进行并行处理模式下的AES加密处理,以获得第一加密数据,具体包括:
在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的待加密数据通过预设列混淆模型进行组合运算,以获得运算数据;
对所述运算数据进行异或处理,以获得第一加密数据。
优选地,所述在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的待加密数据通过预设列混淆模型进行组合运算,以获得运算数据,具体包括:
在所述数据组为目标数据组时,从预设列混淆模型中确定目标列混淆公式;
在并行处理模式下对与所述目标数据组对应的待加密数据通过所述目标列混淆公式进行组合运算,以获得运算数据。
优选地,所述对所述明文数据进行分组,以获得数据组形式的待加密数据之后,所述基于AES算法的加密方法还包括:
通过预设AES算法中的预设S盒对所述待加密数据进行字节映射,以获得与所述待加密数据对应的映射数据;
相应地,所述在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的待加密数据通过预设列混淆模型进行组合运算,以获得运算数据,具体包括:
在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的映射数据通过预设列混淆模型进行组合运算,以获得运算数据。
优选地,所述通过预设AES算法中的预设S盒对所述待加密数据进行字节映射,以获得与所述待加密数据对应的映射数据之前,所述基于AES算法的加密方法还包括:
根据所述数据组确定目标S盒数量;
在预设AES算法中创建数量为所述目标S盒数量的预设S盒;
相应地,所述通过预设AES算法中的预设S盒对所述待加密数据进行字节映射,以获得与所述待加密数据对应的映射数据之后,所述基于AES算法的加密方法还包括:
通过与所述预设S盒对应的预设寄存器依序输出所述映射数据。
优选地,所述通过预设AES算法中的预设S盒对所述待加密数据进行字节映射,以获得与所述待加密数据对应的映射数据之后,所述基于AES算法的加密方法还包括:
对所述映射数据进行分行处理,以获得与预设行对应的行映射数据;
根据预设行移位表对所述行映射数据进行移位处理,以获得行移位数据;
对所述行移位数据进行恢复处理,以获得与所述映射数据对应的移位数据;
相应地,所述在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的映射数据通过预设列混淆模型进行组合运算,以获得运算数据,具体包括:
在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的移位数据通过预设列混淆模型进行组合运算,以获得运算数据。
优选地,所述以所述数据组为变换单位对所述待加密数据进行并行处理模式下的AES加密处理,以获得第一加密数据之后,所述基于AES算法的加密方法还包括:
对所述第一加密数据与预设轮密钥进行所述并行处理模式下的异或运算,以获得第二加密数据,并将所述第二加密数据作为与所述明文数据对应的密文数据。
此外,为实现上述目的,本发明还提出一种用户设备,所述用户设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于AES算法的加密程序,所述处理器包括现场可编程门阵列FPGA芯片,所述基于AES算法的加密程序配置为实现如上文所述的基于AES算法的加密方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有基于AES算法的加密程序,所述基于AES算法的加密程序被处理器执行时实现如上文所述的基于AES算法的加密方法的步骤。
此外,为实现上述目的,本发明还提出一种基于AES算法的加密装置,所述基于AES算法的加密装置包括:
明文获取模块,用于在接收到高级加密标准AES算法加密请求时,根据所述AES算法加密请求确定明文数据;
数据分组模块,用于对所述明文数据进行分组,以获得数据组形式的待加密数据;
AES加密模块,用于以所述数据组为变换单位对所述待加密数据进行并行处理模式下的AES加密处理,以获得第一加密数据。
本发明中在接收到高级加密标准AES算法加密请求时,根据所述AES算法加密请求确定明文数据;对所述明文数据进行分组,以获得数据组形式的待加密数据;以所述数据组为变换单位对所述待加密数据进行并行处理模式下的AES加密处理,以获得第一加密数据。明显地,本发明中将对AES算法进行流水线加密设计,从而并行处理AES加密操作。若如此,则无需在当前数据块的前端数据加密完成后再进行下一数据块的加密操作,通过将数据块拆解成多个分组并并行处理,解放了硬件环境下的加密速度,从而解决了AES算法无法保证加密速度的技术问题。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的用户设备结构示意图;
图2为本发明基于AES算法的加密方法第一实施例的流程示意图;
图3为本发明基于AES算法的加密方法第二实施例的流程示意图;
图4为本发明基于AES算法的加密方法第二实施例的列混淆环节示意图;
图5为本发明基于AES算法的加密方法第三实施例的流程示意图;
图6为本发明基于AES算法的加密方法第四实施例的流程示意图;
图7为本发明基于AES算法的加密方法第四实施例的AES算法的实施环节示意图;
图8为本发明基于AES算法的加密装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的用户设备结构示意图。
如图1所示,该用户设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display),可选用户接口1003还可以包括标准的有线接口以及无线接口,而用户接口1003的有线接口在本发明中可为通用串行总线(Universal Serial Bus,USB)接口。网络接口1004可选的可以包括标准的有线接口以及无线接口(如WI-FI接口)。存储器1005可以是高速随机存取存储器(Random Access Memory,RAM);也可以是稳定的存储器,比如,非易失存储器(Non-volatile Memory),具体可为,磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
所述处理器还可包括现场可编程门阵列(Field-Programmable Gate Array,FPGA)芯片,可通过FPGA芯片的硬件环境来运行下文的具体实施例。
本领域技术人员可以理解,图1中示出的结构并不构成对用户设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于AES算法的加密程序。
在图1所示的用户设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接外设;所述用户设备通过处理器1001调用存储器1005中存储的基于AES算法的加密程序,并执行以下操作:
在接收到高级加密标准AES算法加密请求时,根据所述AES算法加密请求确定明文数据;
对所述明文数据进行分组,以获得数据组形式的待加密数据;
以所述数据组为变换单位对所述待加密数据进行并行处理模式下的AES加密处理,以获得第一加密数据。
进一步地,处理器1001可以调用存储器1005中存储的基于AES算法的加密程序,还执行以下操作:
在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的待加密数据通过预设列混淆模型进行组合运算,以获得运算数据;
对所述运算数据进行异或处理,以获得第一加密数据。
进一步地,处理器1001可以调用存储器1005中存储的基于AES算法的加密程序,还执行以下操作:
在所述数据组为目标数据组时,从预设列混淆模型中确定目标列混淆公式;
在并行处理模式下对与所述目标数据组对应的待加密数据通过所述目标列混淆公式进行组合运算,以获得运算数据。
进一步地,处理器1001可以调用存储器1005中存储的基于AES算法的加密程序,还执行以下操作:
通过预设AES算法中的预设S盒对所述待加密数据进行字节映射,以获得与所述待加密数据对应的映射数据;
相应地,还执行以下操作:
在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的映射数据通过预设列混淆模型进行组合运算,以获得运算数据。
进一步地,处理器1001可以调用存储器1005中存储的基于AES算法的加密程序,还执行以下操作:
根据所述数据组确定目标S盒数量;
在预设AES算法中创建数量为所述目标S盒数量的预设S盒;
相应地,还执行以下操作:
通过与所述预设S盒对应的预设寄存器依序输出所述映射数据。
进一步地,处理器1001可以调用存储器1005中存储的基于AES算法的加密程序,还执行以下操作:
对所述映射数据进行分行处理,以获得与预设行对应的行映射数据;
根据预设行移位表对所述行映射数据进行移位处理,以获得行移位数据;
对所述行移位数据进行恢复处理,以获得与所述映射数据对应的移位数据;
相应地,还执行以下操作:
在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的移位数据通过预设列混淆模型进行组合运算,以获得运算数据。
进一步地,处理器1001可以调用存储器1005中存储的基于AES算法的加密程序,还执行以下操作:
对所述第一加密数据与预设轮密钥进行所述并行处理模式下的异或运算,以获得第二加密数据,并将所述第二加密数据作为与所述明文数据对应的密文数据。
本实施例中在接收到高级加密标准AES算法加密请求时,根据所述AES算法加密请求确定明文数据;对所述明文数据进行分组,以获得数据组形式的待加密数据;以所述数据组为变换单位对所述待加密数据进行并行处理模式下的AES加密处理,以获得第一加密数据。明显地,本实施例中将对AES算法进行流水线加密设计,从而并行处理AES加密操作。若如此,则无需在当前数据块的前端数据加密完成后再进行下一数据块的加密操作,通过将数据块拆解成多个分组并并行处理,解放了硬件环境下的加密速度,从而解决了AES算法无法保证加密速度的技术问题。
基于上述硬件结构,提出本发明基于AES算法的加密方法的实施例。
参照图2,图2为本发明基于AES算法的加密方法第一实施例的流程示意图。
在第一实施例中,所述基于AES算法的加密方法包括以下步骤:
步骤S10:在接收到高级加密标准AES算法加密请求时,根据所述AES算法加密请求确定明文数据。
可以理解的是,考虑到在ASIC芯片来运行AES算法时,ASIC芯片的硬件条件可能局限了AES算法的加密速度,从而无法满足具有更快输入速度的前端数据的加密需求。所以,可对AES算法进行流水线加密设计,无需在当前数据块的前端数据加密完成后再进行下一数据块的加密操作。
在具体实现中,本实施例可不采用ASIC芯片的硬件环境来运行AES算法,而采用FPGA芯片的硬件环境来运行AES算法。
应当理解的是,本实施例的执行主体为用户设备,用户设备可为服务器以及个人电脑等电子设备,该用户设备中的处理器可采用FPGA芯片,则本实施例重新设计的AES算法将由该FPGA芯片来运载。
需要说明的是,在接收到高级加密标准AES算法加密请求时,在FPGA芯片的硬件环境下根据所述AES算法加密请求确定明文数据,该明文数据为前端的欲作AES算法加密处理的数据。
步骤S20:对所述明文数据进行分组,以获得数据组形式的待加密数据。
可以理解的是,区别于常规的AES算法,本实施例在AES算法实施的硬件环境中引入了流水线设计,进而重新设计了AES算法。具体而言,在FPGA芯片的硬件环境下将对明文数据进行分组,比如,若明文数据的数据块位宽为128bit,可将该数据块分为16个组,每组的明文数据记为待加密数据,待加密数据的位宽为8bit。
此外,在对明文数据进行分组时,可依据明文数据原本的数据排列顺序地分组为各个数据组。
步骤S30:以所述数据组为变换单位对所述待加密数据进行并行处理模式下的AES加密处理,以获得第一加密数据。
应当理解的是,在将以数据块形式存在的明文数据划分为多个组后,可以此为基础进行并行运算。比如,在进行AES加密处理时,将以数据组为操作单位分别对单个8bit的待加密数据进行加密处理。故而,将存在16个并行处理的加密处理操作。然后,可将分别加密处理后的数据组合成第一加密数据。
可以理解的是,若加密速度无法跟上待加密数据的输入速度,这不仅拖慢了整体的加密速度,也易造成数据丢失,而本实施例通过提高了加密速度,也降低了数据丢失的风险性。
此外,在明文数据完成流水线下的加密后,可随数据块的差异性在40至56个时钟内对应地排流水消耗,使得数据组内的前端无效0可被推挤排除掉。
本实施例中在接收到高级加密标准AES算法加密请求时,根据所述AES算法加密请求确定明文数据;对所述明文数据进行分组,以获得数据组形式的待加密数据;以所述数据组为变换单位对所述待加密数据进行并行处理模式下的AES加密处理,以获得第一加密数据。明显地,本实施例中将对AES算法进行流水线加密设计,从而并行处理AES加密操作。若如此,则无需在当前数据块的前端数据加密完成后再进行下一数据块的加密操作,通过将数据块拆解成多个分组并并行处理,解放了硬件环境下的加密速度,从而解决了AES算法无法保证加密速度的技术问题。
参照图3,图3为本发明基于AES算法的加密方法第二实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明基于AES算法的加密方法的第二实施例。
第二实施例中,鉴于ASIC芯片的定制性特点,其无法灵活配置,当采用FPGA芯片的硬件环境来运载加密操作后,还可达到灵活配置的效果。具体地,FPGA芯片可采用V7系列的FPGA芯片,该系列的芯片效果显著。
进一步地,所述步骤S30,具体包括:
步骤S301:在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的待加密数据通过预设列混淆模型进行组合运算,以获得运算数据。
可以理解的是,本实施例讨论的AES算法的实施流程中包括列混淆(Mix Columns)环节,就该列混淆环节而言,可先通过预设列混淆模型进行并行处理机制下的组合运算,满足了AES算法的扩散性。鉴于数据组的数量可能有16组,将存在16个并行处理的组合运算操作,可参考图4,图4中描述了该列混淆环节。
步骤S302:对所述运算数据进行异或处理,以获得第一加密数据。
应当理解的是,在获得每个组对应的运算数据后,可将这些运算数据彼此之间进行异或操作,以输出第一加密数据。
在具体实现中,可通过有限域矩阵乘法算法对所述运算数据进行异或处理,以获得第一加密数据。至于有限域矩阵乘法算法可表现如下,
data_out[i+3]=State_Mulx2[|i-(N-4)|]^
State_Mulx3[|i-(N-3)|]^
State[|i-(N-2)|]^
State[|i-(N-1)|];
data_out[i+2]=State[|i-(N-4)|]^
State_Mulx2[|i-(N-3)|]^
State_Mulx3[|i-(N-2)|]^
State[|i-(N-1)|];
data_out[i+1]=State[|i-(N-4)|]^
State[|i-(N-3)|]^
State_Mulx2[|i-(N-2)|]^
State_Mulx3[|i-(N-1)|];
data_out[i+0]=State_Mulx3[|i-(N-4)|]^
State[|i-(N-3)|]^
State[|i-(N-2)|]^
State_Mulx2[|i-(N-1)|];
其中,0≤i≤N-1,N表示数据组的数量,State[x1]表示第一列混淆公式,State_Mulx2[x1]表示第二列混淆公式,State_Mulx3[x1]表示第三列混淆公式,x1表示数据组的序号,data_out[x2]表示第一加密数据,x2为输出值的序号。
比如,若明文数据的数据块位宽为128bit,可将该数据块分为16个组,则N=16,每个数据组对应的数据块的位宽为8bit,深度为16。每个8bit的数据块将对应有16个输出值,所有的输出值构成了上述的第一加密数据。
此外,鉴于划分为16个组,若适用上述有限域矩阵乘法算法,0≤i≤15,则i可为0、4、8以及12。
以第一个数据组对应的数据块为例,通过上述有限域矩阵乘法算法计算第一个数据组对应的数据块8bit而获得到的计算结果将共计有16个结果值,分别为data_out[0]、data_out[1]、data_out[2]……data_out[15]。此处的结果值即为上述的输出值。
其中,每4个结果值将通过一次运算获得,比如,当i=0时,data_out[3]=State_Mulx2[12]^State_Mulx3[13]^State[14]^State[15],data_out[2]=State[12]^State_Mulx2[13]^State_Mulx3[14]^State[15],data_out[1]=State[12]^State[13]^State_Mulx2[14]^State_Mulx3[15],data_out[0]=State_Mulx3[12]^State[13]^State[14]^State_Mulx2[15]。可见,在i=0时,运行上述有限域矩阵乘法算法将获得data_out[3]至data_out[0]。
同理地,在i=4时,运行上述有限域矩阵乘法算法将获得data_out[7]至data_out[4];在i=8时,运行上述有限域矩阵乘法算法将获得data_out[11]至data_out[8];在i=12时,运行上述有限域矩阵乘法算法将获得data_out[15]至data_out[12]。可见,i的取值将为0、4、8以及12,如此,将可获得data_out[0]至data_out[15],共计16个结果值。
当然,此为处理第一个数据组对应的数据块执行的处理操作,共存在着16个类似的处理操作,以处理16个数据组对应的数据块。
进一步地,所述在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的待加密数据通过预设列混淆模型进行组合运算,以获得运算数据,具体包括:
在所述数据组为目标数据组时,从预设列混淆模型中确定目标列混淆公式;
在并行处理模式下对与所述目标数据组对应的待加密数据通过所述目标列混淆公式进行组合运算,以获得运算数据。
在具体实现中,就列混淆环节而言,可基于有限域矩阵乘法算法以递归调用的形式来实现。就预设列混淆模型而言,该预设列混淆模型可由多个列混淆公式构成,比如,预设列混淆模型可包括第一列混淆公式、第二列混淆公式与第三列混淆公式。
第一列混淆公式可记为State[x1],意味着,第一列混淆公式将把第x1个数据组与0x01作逻辑运算,运算结果将为第x1个数据组本身。
第二列混淆公式可记为State_Mulx2[x1],第二列混淆公式将把第x1个数据组与0x02作逻辑运算。逻辑运算的具体方式为,将先判断数据组中最高位的值,如果最高位为1,该数据组内的元素将左移一位,然后,将左移一位后的数据组与0x1b作异或运算,以获得运算结果;否则,该数据组内的元素仅左移一位,以获得运算结果。
第三列混淆公式可记为State_Mulx3[x1],第三列混淆公式将把第x1个数据组与0x03作逻辑运算。逻辑运算的具体方式为,先将该数据组与0x01作逻辑运算,以获得第一子运算结果;再将该数据组与0x02作逻辑运算,以获得第二子运算结果。将第一子运算结果与第二子运算结果作异或运算,以获得运算结果。
可以理解的是,联合第一列混淆公式、第二列混淆公式与第三列混淆公式分别对某个数据组进行处理,将获得该数据组内各个元素对应的运算结果,进而构成了该数据组对应的运算数据。同理,将获得16个并行组合运算后的运算数据。
应当理解的是,预设列混淆模型中可写入有一个预设列混淆矩阵,该预设列混淆矩阵将由三类元素构成,包括有0x01、0x02以及0x03,在并行处理模式下将对该预设列混淆矩阵以及与所述目标数据组对应的待加密数据通过所述目标列混淆公式进行组合运算,以获得运算数据。其中,预设列混淆矩阵与目标数据组之间的组合运算,是一种矩阵间的乘法运算,比如,若第x1个数据组为4*1的矩阵,预设列混淆矩阵可为4*4的矩阵。
本实施例中在实施列混淆环节时,将并行处理多个数据组下的列混淆处理,以获得多个数据组对应的运算数据,并行处理提高了处理效率。而且,通过先并行后异或处理的方式,也降低了数据加密的复杂度。
参照图5,图5为本发明基于AES算法的加密方法第三实施例的流程示意图,基于上述图3所示的第二实施例,提出本发明基于AES算法的加密方法的第三实施例。
第三实施例中,所述步骤S20之后,所述基于AES算法的加密方法还包括:
步骤S201:通过预设AES算法中的预设S盒对所述待加密数据进行字节映射,以获得与所述待加密数据对应的映射数据。
可以理解的是,本实施例讨论的AES算法的实施流程中包括字节代替环节,就该字节代替环节而言,将通过预设AES算法中的预设S盒(S-box)将一个字节映射至另一个字节。若待加密数据为8bit的数据,将采用8bit查找表的方式,输出8bit的S盒变换结果即此处的映射数据。
应当理解的是,由于此处对明文数据进行了分组处理,故而,将根据数据组的数量生成对应数量的预设S盒,可并行运行多个预设S盒,大大提高了加密效率。
相应地,所述步骤S301,具体包括:
步骤S3011:在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的映射数据通过预设列混淆模型进行组合运算,以获得运算数据。
可以理解的是,以该映射数据作为输入进行后续加密操作。
进一步地,所述通过预设AES算法中的预设S盒对所述待加密数据进行字节映射,以获得与所述待加密数据对应的映射数据之前,所述基于AES算法的加密方法还包括:
根据所述数据组确定目标S盒数量;
在预设AES算法中创建数量为所述目标S盒数量的预设S盒;
相应地,所述通过预设AES算法中的预设S盒对所述待加密数据进行字节映射,以获得与所述待加密数据对应的映射数据之后,所述基于AES算法的加密方法还包括:
通过与所述预设S盒对应的预设寄存器依序输出所述映射数据。
在具体实现中,数据组可分组为16个,所以,目标S盒数量也可为16个,将存在16个并行处理的字节映射操作。在完成字节映射后,考虑到预设S盒处理完的映射数据可通过预设寄存器输出,可将预设寄存器输出的映射数据有效地延缓一拍,以顺序地输出映射数据。
其中,预设S盒可为一个8bit输入至8bit输出的映射关系。
进一步地,所述通过预设AES算法中的预设S盒对所述待加密数据进行字节映射,以获得与所述待加密数据对应的映射数据之后,所述基于AES算法的加密方法还包括:
对所述映射数据进行分行处理,以获得与预设行对应的行映射数据;
根据预设行移位表对所述行映射数据进行移位处理,以获得行移位数据;
对所述行移位数据进行恢复处理,以获得与所述映射数据对应的移位数据;
相应地,所述在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的映射数据通过预设列混淆模型进行组合运算,以获得运算数据,具体包括:
在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的移位数据通过预设列混淆模型进行组合运算,以获得运算数据。
可以理解的是,本实施例讨论的AES算法的实施流程中还可包括行移位环节,就该行移位环节而言,可将预设S盒输出的映射数据作为输入进行行移位操作。
在具体实现中,考虑到每个矩阵中可分为多个行,比如,第1行至第N行,N为大于1的整数,若预设行移位表中记录有第1行循环左移4比特,第二行保持不变等,则将对第1行下的行映射数据作循环左移4比特的操作,对第2行下的行映射数据保持不变等。明显地,预设行移位表中包括所述预设行对应的行移位规则,将根据与所述预设行对应的行移位规则对与所述预设行对应的行映射数据进行移位处理,以获得行移位数据。在移位处理完成后,可将所有的行映射数据依据原本的行顺序进行拼接处理,以获得对映射数据进行移位处理后的移位数据。
应当理解的是,在完成行移位环节后,可进入列混淆环节,将移位数据作为输入数据实施列混淆环节。
本实施例中可依序实施字节代替环节、行移位环节以及列混淆环节,而且,本实施描述的所有环节均处于并行处理机制下。
参照图6,图6为本发明基于AES算法的加密方法第四实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明基于AES算法的加密方法的第四实施例。
第四实施例中,所述步骤S30之后,所述基于AES算法的加密方法还包括:
步骤S40:对所述第一加密数据与预设轮密钥进行所述并行处理模式下的异或运算,以获得第二加密数据,并将所述第二加密数据作为与所述明文数据对应的密文数据。
可以理解的是,本实施例讨论的AES算法的实施流程中还可包括轮密钥加环节,就该轮密钥加环节而言,可将把列混淆环节获得的第一加密数据与预设轮密钥进行异或运算,以获得第二加密数据,第二加密数据可作为最终的密文数据。在解密过程中,将对该密文数据进行解密处理,以反向获得明文数据。
进一步地,所述对所述第一加密数据与预设轮密钥进行所述并行处理模式下的异或运算,以获得第二加密数据,并将所述第二加密数据作为与所述明文数据对应的密文数据,具体包括:
对所述第一加密数据与预设轮密钥进行所述并行处理模式下的异或运算,以获得第二加密数据;
统计当前轮加密次数;
在所述当前轮加密次数等于预设轮加密次数时,将所述第二加密数据作为与所述明文数据对应的密文数据。
应当理解的是,就轮密钥加环节,可预先设置循环次数即预设轮加密次数,若当前轮加密次数满足要求,则结束运行。
进一步地,所述统计当前轮加密次数之后,所述基于AES算法的加密方法还包括:
在所述当前轮加密次数小于所述预设轮加密次数时,对所述第二加密数据进行下一轮的轮加密运算;
将下一轮的轮加密运算获得的加密数据作为新的第二加密数据,并返回执行所述统计当前轮加密次数的步骤,在所述当前轮加密次数等于所述预设轮加密次数时,将所述第二加密数据作为与所述明文数据对应的密文数据。
应当理解的是,若当前轮加密次数不满足要求,则进行下一轮的轮加密运算,不断循环直至当前轮加密次数满足要求。
此外,本实施例提及的步骤S40中可经过多级缓存,比如,一级缓存至三级缓存。
此外,可参考图7,图7记录AES算法中的实施环节,依序的实施流程可为字节代替、行移位、列混淆与轮加密加等。
本实施例中还引入了轮密钥加环节,进一步地完善了新设计的AES算法。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有基于AES算法的加密程序,所述基于AES算法的加密程序被处理器执行时实现如下操作:
在接收到高级加密标准AES算法加密请求时,根据所述AES算法加密请求确定明文数据;
对所述明文数据进行分组,以获得数据组形式的待加密数据;
以所述数据组为变换单位对所述待加密数据进行并行处理模式下的AES加密处理,以获得第一加密数据。
进一步地,所述基于AES算法的加密程序被处理器执行时还实现如下操作:
在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的待加密数据通过预设列混淆模型进行组合运算,以获得运算数据;
对所述运算数据进行异或处理,以获得第一加密数据。
进一步地,所述基于AES算法的加密程序被处理器执行时还实现如下操作:
在所述数据组为目标数据组时,从预设列混淆模型中确定目标列混淆公式;
在并行处理模式下对与所述目标数据组对应的待加密数据通过所述目标列混淆公式进行组合运算,以获得运算数据。
进一步地,所述基于AES算法的加密程序被处理器执行时还实现如下操作:
通过预设AES算法中的预设S盒对所述待加密数据进行字节映射,以获得与所述待加密数据对应的映射数据;
相应地,还实现如下操作:
在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的映射数据通过预设列混淆模型进行组合运算,以获得运算数据。
进一步地,所述基于AES算法的加密程序被处理器执行时还实现如下操作:
根据所述数据组确定目标S盒数量;
在预设AES算法中创建数量为所述目标S盒数量的预设S盒;
相应地,还实现如下操作:
通过与所述预设S盒对应的预设寄存器依序输出所述映射数据。
进一步地,所述基于AES算法的加密程序被处理器执行时还实现如下操作:
对所述映射数据进行分行处理,以获得与预设行对应的行映射数据;
根据预设行移位表对所述行映射数据进行移位处理,以获得行移位数据;
对所述行移位数据进行恢复处理,以获得与所述映射数据对应的移位数据;
相应地,还实现如下操作:
在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的移位数据通过预设列混淆模型进行组合运算,以获得运算数据。
进一步地,所述基于AES算法的加密程序被处理器执行时还实现如下操作:
对所述第一加密数据与预设轮密钥进行所述并行处理模式下的异或运算,以获得第二加密数据,并将所述第二加密数据作为与所述明文数据对应的密文数据。
本实施例中在接收到高级加密标准AES算法加密请求时,根据所述AES算法加密请求确定明文数据;对所述明文数据进行分组,以获得数据组形式的待加密数据;以所述数据组为变换单位对所述待加密数据进行并行处理模式下的AES加密处理,以获得第一加密数据。明显地,本实施例中将对AES算法进行流水线加密设计,从而并行处理AES加密操作。若如此,则无需在当前数据块的前端数据加密完成后再进行下一数据块的加密操作,通过将数据块拆解成多个分组并并行处理,解放了硬件环境下的加密速度,从而解决了AES算法无法保证加密速度的技术问题。
此外,参照图8,本发明实施例还提出一种基于AES算法的加密装置,所述基于AES算法的加密装置包括:
明文获取模块10,用于在接收到高级加密标准AES算法加密请求时,根据所述AES算法加密请求确定明文数据。
可以理解的是,考虑到在ASIC芯片来运行AES算法时,ASIC芯片的硬件条件可能局限了AES算法的加密速度,从而无法满足具有更快输入速度的前端数据的加密需求。所以,可对AES算法进行流水线加密设计,无需在当前数据块的前端数据加密完成后再进行下一数据块的加密操作。
在具体实现中,本实施例可不采用ASIC芯片的硬件环境来运行AES算法,而采用FPGA芯片的硬件环境来运行AES算法。
需要说明的是,在接收到高级加密标准AES算法加密请求时,在FPGA芯片的硬件环境下根据所述AES算法加密请求确定明文数据,该明文数据为前端的欲作AES算法加密处理的数据。
数据分组模块20,用于对所述明文数据进行分组,以获得数据组形式的待加密数据。
可以理解的是,区别于常规的AES算法,本实施例在AES算法实施的硬件环境中引入了流水线设计,进而重新设计了AES算法。具体而言,在FPGA芯片的硬件环境下将对明文数据进行分组,比如,若明文数据的数据块位宽为128bit,可将该数据块分为16个组,每组的明文数据记为待加密数据,待加密数据的位宽为8bit。
此外,在对明文数据进行分组时,可依据明文数据原本的数据排列顺序地分组为各个数据组。
AES加密模块30,用于以所述数据组为变换单位对所述待加密数据进行并行处理模式下的AES加密处理,以获得第一加密数据。
应当理解的是,在将以数据块形式存在的明文数据划分为多个组后,可以此为基础进行并行运算。比如,在进行AES加密处理时,将以数据组为操作单位分别对单个8bit的待加密数据进行加密处理。故而,将存在16个并行处理的加密处理操作。然后,可将分别加密处理后的数据组合成第一加密数据。
可以理解的是,若加密速度无法跟上待加密数据的输入速度,这不仅拖慢了整体的加密速度,也易造成数据丢失,而本实施例通过提高了加密速度,也降低了数据丢失的风险性。
此外,在明文数据完成流水线下的加密后,可随数据块的差异性在40至56个时钟内对应地排流水消耗,使得数据组内的前端无效0可被推挤排除掉。
本实施例中在接收到高级加密标准AES算法加密请求时,根据所述AES算法加密请求确定明文数据;对所述明文数据进行分组,以获得数据组形式的待加密数据;以所述数据组为变换单位对所述待加密数据进行并行处理模式下的AES加密处理,以获得第一加密数据。明显地,本实施例中将对AES算法进行流水线加密设计,从而并行处理AES加密操作。若如此,则无需在当前数据块的前端数据加密完成后再进行下一数据块的加密操作,通过将数据块拆解成多个分组并并行处理,解放了硬件环境下的加密速度,从而解决了AES算法无法保证加密速度的技术问题。
在一实施例中,所述AES加密模块30,还用于在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的待加密数据通过预设列混淆模型进行组合运算,以获得运算数据;对所述运算数据进行异或处理,以获得第一加密数据。
在一实施例中,所述AES加密模块30,还用于在所述数据组为目标数据组时,从预设列混淆模型中确定目标列混淆公式;在并行处理模式下对与所述目标数据组对应的待加密数据通过所述目标列混淆公式进行组合运算,以获得运算数据。
在一实施例中,所述基于AES算法的加密装置还包括:
字节映射模块,用于通过预设AES算法中的预设S盒对所述待加密数据进行字节映射,以获得与所述待加密数据对应的映射数据;
所述AES加密模块30,还用于在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的映射数据通过预设列混淆模型进行组合运算,以获得运算数据。
在一实施例中,所述基于AES算法的加密装置还包括:
S盒创建模块,用于根据所述数据组确定目标S盒数量;在预设AES算法中创建数量为所述目标S盒数量的预设S盒;
寄存器输出模块,用于通过与所述预设S盒对应的预设寄存器依序输出所述映射数据。
在一实施例中,所述基于AES算法的加密装置还包括:
行移位模块,用于对所述映射数据进行分行处理,以获得与预设行对应的行映射数据;根据预设行移位表对所述行映射数据进行移位处理,以获得行移位数据;对所述行移位数据进行恢复处理,以获得与所述映射数据对应的移位数据;
所述AES加密模块30,还用于在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的移位数据通过预设列混淆模型进行组合运算,以获得运算数据。
在一实施例中,所述基于AES算法的加密装置还包括:
轮密钥加模块,用于对所述第一加密数据与预设轮密钥进行所述并行处理模式下的异或运算,以获得第二加密数据,并将所述第二加密数据作为与所述明文数据对应的密文数据。
本发明所述基于AES算法的加密装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为名称。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器、RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种基于AES算法的加密方法,其特征在于,所述基于AES算法的加密方法包括以下步骤:
在接收到高级加密标准AES算法加密请求时,根据所述AES算法加密请求确定明文数据,所述明文数据以数据块形式存在;
在FPGA芯片的硬件环境下,对所述明文数据进行均等分组,以获得数据组形式的待加密数据;
以所述数据组为变换单位对所述待加密数据进行并行处理模式下的AES加密处理,以获得第一加密数据,所述第一加密数据由分别加密处理后的数据组合而成;
其中,所述AES加密处理为采用流水线加密设计的AES加密处理,所述以所述数据组为变换单位对所述待加密数据进行并行处理模式下的AES加密处理,以获得第一加密数据,具体包括:
以所述数据组为变换单位对所述待加密数据进行并行处理模式下的采用流水线加密设计的AES算法加密处理,以获得第一加密数据;
其中,所述以所述数据组为变换单位对所述待加密数据进行并行处理模式下的AES加密处理,以获得第一加密数据,具体包括:
在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的待加密数据通过预设列混淆模型进行组合运算,以获得运算数据,所述预设列混淆模型由至少两个列混淆公式构成;
基于所述列混淆公式对所述运算数据进行异或处理,以获得第一加密数据;
所述在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的待加密数据通过预设列混淆模型进行组合运算,以获得运算数据,具体包括:
在所述数据组为目标数据组时,从预设列混淆模型中确定目标列混淆公式;
在并行处理模式下对与所述目标数据组对应的待加密数据通过所述目标列混淆公式进行组合运算,以获得运算数据;
其中,所述以所述数据组为变换单位对所述待加密数据进行并行处理模式下的AES加密处理,以获得第一加密数据的步骤之后,还包括:
对所述第一加密数据与预设轮密钥进行所述并行处理模式下的异或运算,以获得第二加密数据;
读取预设轮加密次数;
统计当前轮加密次数,将所述当前轮加密次数与所述预设轮加密次数进行比较;
当所述当前轮加密次数小于所述预设轮加密次数时,对所述第二加密数据进行下一轮的轮加密运算,所述轮加密运算采用多级缓存;
根据所述下一轮的轮加密运算获得的加密数据更新所述第二加密数据,并返回执行所述统计当前轮加密次数的步骤;
当所述当前轮加密次数达到所述预设轮加密次数时,将所述第二加密数据作为与所述明文数据对应的密文数据;
所述以所述数据组为变换单位对所述待加密数据进行并行处理模式下的采用流水线加密设计的AES算法加密处理,以获得第一加密数据的步骤之后,还包括:
根据所述数据块的差异性排流水消耗,以推挤排除所述数据组内的前端无效0。
2.如权利要求1所述的基于AES算法的加密方法,其特征在于,所述在FPGA芯片的硬件环境下,对所述明文数据进行均等分组,以获得数据组形式的待加密数据之后,所述基于AES算法的加密方法还包括:
通过预设AES算法中的预设S盒对所述待加密数据进行字节映射,以获得与所述待加密数据对应的映射数据;
相应地,所述在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的待加密数据通过预设列混淆模型进行组合运算,以获得运算数据,具体包括:
在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的映射数据通过预设列混淆模型进行组合运算,以获得运算数据。
3.如权利要求2所述的基于AES算法的加密方法,其特征在于,所述通过预设AES算法中的预设S盒对所述待加密数据进行字节映射,以获得与所述待加密数据对应的映射数据之前,所述基于AES算法的加密方法还包括:
根据所述数据组确定目标S盒数量;
在预设AES算法中创建数量为所述目标S盒数量的预设S盒;
相应地,所述通过预设AES算法中的预设S盒对所述待加密数据进行字节映射,以获得与所述待加密数据对应的映射数据之后,所述基于AES算法的加密方法还包括:
通过与所述预设S盒对应的预设寄存器依序输出所述映射数据。
4.如权利要求2所述的基于AES算法的加密方法,其特征在于,所述通过预设AES算法中的预设S盒对所述待加密数据进行字节映射,以获得与所述待加密数据对应的映射数据之后,所述基于AES算法的加密方法还包括:
对所述映射数据进行分行处理,以获得与预设行对应的行映射数据;
根据预设行移位表对所述行映射数据进行移位处理,以获得行移位数据;
对所述行移位数据进行恢复处理,以获得与所述映射数据对应的移位数据;
相应地,所述在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的映射数据通过预设列混淆模型进行组合运算,以获得运算数据,具体包括:
在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的移位数据通过预设列混淆模型进行组合运算,以获得运算数据。
5.一种用户设备,其特征在于,所述用户设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行基于AES算法的加密程序,所述处理器包括现场可编程门阵列FPGA芯片,所述基于AES算法的加密程序被所述处理器执行时实现如权利要求1至4中任一项所述的基于AES算法的加密方法的步骤。
6.一种存储介质,其特征在于,所述存储介质上存储有基于AES算法的加密程序,所述基于AES算法的加密程序被处理器执行时实现如权利要求1至4中任一项所述的基于AES算法的加密方法的步骤。
7.一种基于AES算法的加密装置,其特征在于,所述基于AES算法的加密装置包括:
明文获取模块,用于在接收到高级加密标准AES算法加密请求时,根据所述AES算法加密请求确定明文数据,所述明文数据以数据块形式存在;
数据分组模块,用于在FPGA芯片的硬件环境下,对所述明文数据进行均等分组,以获得数据组形式的待加密数据;
AES加密模块,用于以所述数据组为变换单位对所述待加密数据进行并行处理模式下的AES加密处理,以获得第一加密数据,所述第一加密数据由分别加密处理后的数据组合而成;
其中,AES加密模块,还用于以所述数据组为变换单位对所述待加密数据进行并行处理模式下的采用流水线加密设计的AES加密处理,以获得第一加密数据;
其中,AES加密模块,还用于以所述数据组为变换单位对所述待加密数据进行并行处理模式下的采用流水线加密设计的AES加密处理,以获得第一加密数据;
所述AES加密模块,还用于在所述数据组为目标数据组时,在并行处理模式下对与所述目标数据组对应的待加密数据通过预设列混淆模型进行组合运算,以获得运算数据,所述预设列混淆模型由至少两个列混淆公式构成;基于所述列混淆公式对所述运算数据进行异或处理,以获得第一加密数据;
所述AES加密模块,还用于在所述数据组为目标数据组时,从预设列混淆模型中确定目标列混淆公式;在并行处理模式下对与所述目标数据组对应的待加密数据通过所述目标列混淆公式进行组合运算,以获得运算数据;
轮密钥加模块,用于对所述第一加密数据与预设轮密钥进行所述并行处理模式下的异或运算,以获得第二加密数据;读取预设轮加密次数;统计当前轮加密次数,将所述当前轮加密次数与所述预设轮加密次数进行比较;当所述当前轮加密次数小于所述预设轮加密次数时,对所述第二加密数据进行下一轮的轮加密运算,所述轮加密运算采用多级缓存;根据所述下一轮的轮加密运算获得的加密数据更新所述第二加密数据,并返回执行所述统计当前轮加密次数的步骤;当所述当前轮加密次数达到所述预设轮加密次数时,将所述第二加密数据作为与所述明文数据对应的密文数据;
无效0排除模块,用于根据所述数据块的差异性排流水消耗,以推挤排除所述数据组内的前端无效0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910588609.8A CN110336658B (zh) | 2019-07-01 | 2019-07-01 | 基于aes算法的加密方法、用户设备、存储介质及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910588609.8A CN110336658B (zh) | 2019-07-01 | 2019-07-01 | 基于aes算法的加密方法、用户设备、存储介质及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110336658A CN110336658A (zh) | 2019-10-15 |
CN110336658B true CN110336658B (zh) | 2023-03-21 |
Family
ID=68143024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910588609.8A Active CN110336658B (zh) | 2019-07-01 | 2019-07-01 | 基于aes算法的加密方法、用户设备、存储介质及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110336658B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111092718A (zh) * | 2019-12-25 | 2020-05-01 | 北京天融信网络安全技术有限公司 | 加密方法、装置及电子设备 |
CN115102689B (zh) * | 2022-08-24 | 2022-11-15 | 北京信安世纪科技股份有限公司 | 两方协同的s盒生成方法、加密方法和存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7508937B2 (en) * | 2001-12-18 | 2009-03-24 | Analog Devices, Inc. | Programmable data encryption engine for advanced encryption standard algorithm |
US8194854B2 (en) * | 2008-02-27 | 2012-06-05 | Intel Corporation | Method and apparatus for optimizing advanced encryption standard (AES) encryption and decryption in parallel modes of operation |
CN101729241B (zh) * | 2008-10-23 | 2012-01-25 | 国民技术股份有限公司 | 抵御差分能量攻击的aes加密方法 |
CN105574429A (zh) * | 2015-11-30 | 2016-05-11 | 东莞酷派软件技术有限公司 | 一种文件数据加解密处理的方法、装置以及终端 |
CN105656619B (zh) * | 2016-02-02 | 2019-02-26 | 清华大学无锡应用技术研究院 | 一种aes加密方法和基于其的抗功耗攻击方法 |
CN106487500A (zh) * | 2017-01-04 | 2017-03-08 | 盛科网络(苏州)有限公司 | 采用流水线实现aes算法处理的方法 |
CN107579813A (zh) * | 2017-09-12 | 2018-01-12 | 四川阵风科技有限公司 | 信息加密、解密方法及装置 |
CN107679409B (zh) * | 2017-09-29 | 2021-02-23 | 深圳大学 | 一种数据加密的加速方法和系统 |
CN108183790B (zh) * | 2018-02-13 | 2020-10-13 | 中山大学 | 一种aes加密装置、芯片及系统 |
CN108833343A (zh) * | 2018-04-28 | 2018-11-16 | 南京搜文信息技术有限公司 | 一种支持大数据的并行加密方法及解密方法 |
CN108880806A (zh) * | 2018-08-01 | 2018-11-23 | 深圳三角形科技有限公司 | 加密、解密方法、芯片及可读存储介质 |
-
2019
- 2019-07-01 CN CN201910588609.8A patent/CN110336658B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110336658A (zh) | 2019-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11733966B2 (en) | Protection system and method | |
US8265273B2 (en) | Encryption device using mask value to convert plain text into encrypted text | |
KR100610367B1 (ko) | 정보 누출 공격을 방지하기 위한 갈로아 필드 상의 곱셈방법 및 장치, 역변환 장치 그리고 aes 바이트 치환연산장치 | |
US7949807B2 (en) | Data conversion apparatus and data conversion method | |
US8036379B2 (en) | Cryptographic processing | |
US20090060176A1 (en) | Program converter, encrypting device, and encrypting method | |
SE1350203A1 (sv) | Anordning och förfarande för blockkrypteringsprocess för osäkra miljöer | |
CN110336658B (zh) | 基于aes算法的加密方法、用户设备、存储介质及装置 | |
KR102653018B1 (ko) | 랜덤 넘버를 이용하여 나머지 연산을 수행하는 보안 프로세서 및 이의 동작 방법 | |
JP6044738B2 (ja) | 情報処理装置、プログラム及び記憶媒体 | |
CN112054896B (zh) | 白盒加密方法、装置、终端及存储介质 | |
Yang et al. | Implementation of encryption algorithm and wireless image transmission system on FPGA | |
JP2012215814A (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
CN115643003A (zh) | 用于侧信道分析的方法及装置 | |
JP3940714B2 (ja) | 演算装置、および、暗号・復号演算装置 | |
Arrag et al. | Design and Implementation A different Architectures of mixcolumn in FPGA | |
EP1419436B1 (en) | Apparatus and method for performing a cryptographic algorithm | |
CN115941304A (zh) | 数据的加密方法、装置、终端设备和计算机可读存储介质 | |
JP2010107947A (ja) | Shaアルゴリズム基盤のメッセージスケジュール演算方法、メッセージ圧縮演算方法及びこれを行う暗号装置 | |
CN109190414A (zh) | 一种用于乘法器的全同态混淆方法 | |
JPWO2009090689A1 (ja) | 暗号化装置及び暗号処理方法 | |
Farmani et al. | Hardware implementation of 128-Bit AES image encryption with low power techniques on FPGA | |
CN110071927B (zh) | 一种信息加密方法、系统及相关组件 | |
RU2188513C2 (ru) | Способ криптографического преобразования l-битовых входных блоков цифровых данных в l-битовые выходные блоки | |
JP2021141458A (ja) | 情報処理装置、情報処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |