CN110071794A - 一种基于aes算法的信息加密方法、系统及相关组件 - Google Patents
一种基于aes算法的信息加密方法、系统及相关组件 Download PDFInfo
- Publication number
- CN110071794A CN110071794A CN201910349702.3A CN201910349702A CN110071794A CN 110071794 A CN110071794 A CN 110071794A CN 201910349702 A CN201910349702 A CN 201910349702A CN 110071794 A CN110071794 A CN 110071794A
- Authority
- CN
- China
- Prior art keywords
- matrix
- information
- box
- mask
- target word
- 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.)
- Granted
Links
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
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/16—Obfuscation or hiding, e.g. involving white box
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种基于AES算法的信息加密方法,所述信息加密包括当接收到信息加密指令时,根据信息加密指令确定待加密信息的信息矩阵和主密钥编码的密钥矩阵;将密钥矩阵的每一列作为一个目标字,对每一目标字进行密钥扩展得到个新的目标字,根据目标字和新的目标字构成扩展密钥数组;对扩展密钥数组执行掩码处理得到轮子密钥矩阵;利用所有轮子密钥矩阵依次对待加密信息执行加密处理并在加密处理的过程中执行基于查表的S盒替换操作,得到密文编码。本方法能够在信息加密的过程中降低侧信道防护的硬件开销。本申请还公开了一种基于AES算法的信息加密系统、一种计算机可读存储介质及一种电子设备,具有以上有益效果。
Description
技术领域
本发明涉及信息安全技术领域,特别涉及一种基于AES算法的信息加密方法、系统、一种计算机可读存储介质及一种电子设备。
背景技术
AES是2001年3月由美国国家标准与技术研究所公布的高级加密标准算法,是目前世界上应用最广泛的分组算法。与此同时,随着计算机技术的飞速发展和侧信道攻击的兴起,使得搭载该算法的安全芯片在密码卡等密码设备中的应用面临着严峻的威胁。
目前,对于AES的侧信道防护主要采用双路掩码的方法,该方法能同时对密钥扩展的中间结果进行掩码,也能对加解密的中间结果进行掩码,达到防护的效果,但对多路径的掩码方案中需要设计多条并行的运算路径,增加电路的设计复杂度和需要的面积功耗。
因此,如何在信息加密的过程中降低侧信道防护的硬件开销是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种基于AES算法的信息加密方法、系统、一种计算机可读存储介质及一种电子设备,能够在信息加密的过程中降低侧信道防护的硬件开销。
为解决上述技术问题,本申请提供一种基于AES算法的信息加密方法,该信息加密方法包括:
当接收到信息加密指令时,根据所述信息加密指令确定待加密信息和主密钥编码;其中,所述待加密信息为明文编码;
将所述待加密信息以字节为单位变换为的信息矩阵,将所述主密钥编码以字节为单位变换为的密钥矩阵;
将所述密钥矩阵的每一列作为一个目标字,对每一所述目标字进行密钥扩展得到个新的目标字,根据所述目标字和所述新的目标字构成扩展密钥数组;
对所述扩展密钥数组执行掩码处理得到轮子密钥矩阵;
利用所有所述轮子密钥矩阵依次对所述待加密信息执行加密处理并在加密处理的过程中执行基于查表的S盒替换操作,得到密文编码。
可选的,利用所有所述轮子密钥矩阵依次对所述待加密信息执行加密处理并在加密处理的过程中执行基于查表的S盒替换操作,得到密文编码包括:
将所述信息矩阵与每一所述轮子密钥矩阵异或操作得到异或操作结果,对所述异或操作结果执行查表操作以便对所述异或操作结果进行S盒替换得到第一状态矩阵;
对所述第一状态矩阵执行位移变换操作,以使所述第一状态矩阵的第i行左移i个字节;
将位移变换后的第一状态矩阵执行列混合变换操作,以便对所述待加密信息执行加密处理得到所述密文编码。
可选的,将位移变换后的第一状态矩阵执行列混合变换操作包括:
将位移变换后的第一状态矩阵与预设的固定矩阵相乘。
可选的,还包括:
对所述异或操作结果执行掩码操作。
可选的,对所述扩展密钥数组执行掩码处理得到轮子密钥矩阵包括:
利用第一公式对S盒执行掩码操作;其中,所述第一公式为Sbox为S盒,RT为行变换矩阵,CT为列变换矩阵,MS为随机数;
利用掩码后的S盒对所述扩展密钥数组执行掩码处理得到轮子密钥矩阵。
可选的,还包括:
当接收到信息解密指令时,将所述密文编码以字节为单位变换为密文矩阵;
将所述密文矩阵和所述轮子密钥矩阵执行异或操作得到第二状态矩阵,并将所述第二状态矩阵执行位移变换,以便所述第二状态矩阵的第i行右移i个字节;
将位移变换后的第二状态矩阵执行基于查表的逆S盒变换,并将逆S盒变换后的第二状态矩阵执行逆列混合变换操作,以便对所述密文编码执行解密处理得到所述明文编码。
可选的,将逆S盒变换后的第二状态矩阵执行逆列混合变换操作包括:
将逆S盒变换后的第二状态矩阵与预设的固定矩阵相乘。
本申请还提供了一种基于AES算法的信息加密系统,该信息加密系统包括:
信息确定模块,用于当接收到信息加密指令时,根据所述信息加密指令确定待加密信息和主密钥编码;其中,所述待加密信息为明文编码;
矩阵变换模块,用于将所述待加密信息以字节为单位变换为的信息矩阵,将所述主密钥编码以字节为单位变换为的密钥矩阵;
密钥扩展模块,用于将所述密钥矩阵的每一列作为一个目标字,对每一所述目标字进行密钥扩展得到个新的目标字,根据所述目标字和所述新的目标字构成扩展密钥数组;
掩码模块,用于对所述扩展密钥数组执行掩码处理得到轮子密钥矩阵;
加密模块,用于利用所有所述轮子密钥矩阵依次对所述待加密信息执行加密处理并在加密处理的过程中执行基于查表的S盒替换操作,得到密文编码。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述基于AES算法的信息加密方法执行的步骤。
本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述基于AES算法的信息加密方法执行的步骤。
本申请提供了一种基于AES算法的信息加密方法,包括当接收到信息加密指令时,根据所述信息加密指令确定待加密信息和主密钥编码;其中,所述待加密信息为明文编码;将所述待加密信息以字节为单位变换为的信息矩阵,将所述主密钥编码以字节为单位变换为的密钥矩阵;将所述密钥矩阵的每一列作为一个目标字,对每一所述目标字进行密钥扩展得到个新的目标字,根据所述目标字和所述新的目标字构成扩展密钥数组;对所述扩展密钥数组执行掩码处理得到轮子密钥矩阵;利用所有所述轮子密钥矩阵依次对所述待加密信息执行加密处理并在加密处理的过程中执行基于查表的S盒替换操作,得到密文编码。
本申请通过构建密钥矩阵扩展生成多个扩展密钥数组,依次利用扩展密钥数组对待加密信息的信息矩阵执行加密处理,并在加密处理的过程中通过查表的方式进行S盒替换,以便利用S盒进行掩码处理。本申请在满足多路径掩码的前提下,采用了基于查表的S盒替换,简化了多路径掩码的实现方法,从而减少了硬件的开销。本方案能够在信息加密的过程中降低侧信道防护的硬件开销。本申请同时还提供了一种基于AES算法的信息加密系统、一种计算机可读存储介质和一种电子设备,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种基于AES算法的信息加密方法的流程图;
图2为本实施例整体电路结构示意图;
图3为本实施例密钥扩展电路掩码内部框架示意图;
图4为本实施例加解密电路整体掩码框架示意图;
图5为本申请实施例所提供的一种基于AES算法的信息加密系统的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面请参见图1,图1为本申请实施例所提供的一种基于AES算法的信息加密方法的流程图。
具体步骤可以包括:
S101:当接收到信息加密指令时,根据所述信息加密指令确定待加密信息和主密钥编码;
其中,所述待加密信息为明文编码,本实施例的执行主体可以为基于AES算法的安全芯片,在接收到信息加密指令后确定需要执行加密操作的明文形式的待加密信息。
S102:将所述待加密信息以字节为单位变换为的信息矩阵,将所述主密钥编码以字节为单位变换为的密钥矩阵;
作为一种可行的实施方式,可以将一组明文编码以字节为单位编为4*4的信息矩阵,主密钥编码以字节为单位编为4*4的密钥矩阵。当然信息矩阵和密钥矩阵还可以为其他形式的矩阵,只要保证信息矩阵的行数等于密钥矩阵的行数且信息矩阵的列数等于密钥矩阵的列数即可,此处不进行具体的限定。
S103:将所述密钥矩阵的每一列作为一个目标字,对每一所述目标字进行密钥扩展得到个新的目标字,根据所述目标字和所述新的目标字构成扩展密钥数组;
举例说明S103的相关操作:将主密钥编码的4*4的矩阵的每一列组成一个字,依次命名为W[0],W[1],W[2],W[3]。接着对数组W进行密钥扩展,扩展成40个新列,构成总共44列的扩展密钥数组。密钥的扩展按照以下的递归方式产生:i不是4的倍数,那么第i列,i是4的倍数,那么第i列,其中,T是一个由非线性和线性函数构成的复杂函数。具体为将1个字中的4个字节循环左移1个字节,即将输入字[a0,a1,a2,a3]变换为[a1,a2,a3,a0];对字循环后的结果使用AES的S盒进行替换;再将替换后的结果与轮常量Rcon[j]进行异或,其中j表示轮数,Rcon为定义在GF(28)上模m(x)=x8+x4+x3+x+1。
S104:对所述扩展密钥数组执行掩码处理得到轮子密钥矩阵;
作为一种可行的实施方式,可以利用第一公式对S盒执行掩码操作;利用掩码后的S盒对所述扩展密钥数组执行掩码处理得到轮子密钥矩阵。其中,所述第一公式为Sbox为S盒,RT为行变换矩阵,CT为列变换矩阵,MS为随机数。
举例说明S104的相关操作:已知S盒是一个16x16的矩阵,记为Sbox,现随机取行变换矩阵RT,列变换矩阵CT,掩码S盒的随机数矩阵,对S盒进行掩码:RT,CT可通过GF(24)上的加法运算计算所得,即如果初始单位矩阵为E16x16,有随机数rh,rl∈GF(24),则RT上第i行的元素等于E16x16上第行的元素。同理,CT上第i列的元素等于E16x16上的列的元素。设r∈GF(28),令r=rh·24+rl,S盒输入和输出数据为a,b,正常S盒替换为b=Sbox(a),则掩码S盒替换为
则轮子密钥的生成函数加掩码后为:
可见,修改后的轮子密钥生成函数的输入被随机数r掩码,输出结果被随机数MS掩码,对结果去掩码只需对结果异或操作:
S105:利用所有所述轮子密钥矩阵依次对所述待加密信息执行加密处理并在加密处理的过程中执行基于查表的S盒替换操作,得到密文编码。
作为一种可行的实施方式,S105可以包括以下步骤:将所述信息矩阵与每一所述轮子密钥矩阵异或操作得到异或操作结果,对所述异或操作结果执行查表操作以便对所述异或操作结果进行S盒替换得到第一状态矩阵;对所述第一状态矩阵执行位移变换操作,以使所述第一状态矩阵的第i行左移i个字节;将位移变换后的第一状态矩阵执行列混合变换操作,以便对所述待加密信息执行加密处理得到所述密文编码。
具体的,将位移变换后的第一状态矩阵执行列混合变换操作包括:将位移变换后的第一状态矩阵与预设的固定矩阵相乘。
作为一种可行的实施方式,本实施例还可以包括:对所述异或操作结果执行掩码操作。具体过程如下:对步骤四异或生成后的矩阵进行掩码,已知加密S盒是一个16x16的矩阵,记为Sbox,随机取行变换矩阵RT,列变换矩阵CT,掩码S盒的随机数矩阵,对S盒进行掩码:
RT,CT可通过GF(24)上的加法运算计算所得,即如果初始单位矩阵为E16x16,有随机数rh,rl∈GF(24),则RT上第i行的元素等于E16x16上第行的元素。同理,CT上第i列的元素等于E16x16上的列的元素。设r∈GF(28),令r=rh·24+rl,S盒输入和输出数据为a,b,正常S盒替换为b=Sbox(a),则掩码S盒替换为:
本实施例通过构建密钥矩阵扩展生成多个扩展密钥数组,依次利用扩展密钥数组对待加密信息的信息矩阵执行加密处理,并在加密处理的过程中通过查表的方式进行S盒替换,以便利用S盒进行掩码处理。本实施例在满足多路径掩码的前提下,采用了基于查表的S盒替换,简化了多路径掩码的实现方法,从而减少了硬件的开销。本实施例能够在信息加密的过程中降低侧信道防护的硬件开销。
作为对图1实施例的进一步补充,在图1对应的实施例加密操作之后,还可以存在以下解密操作:
步骤1:当接收到信息解密指令时,将所述密文编码以字节为单位变换为密文矩阵;
步骤2:将所述密文矩阵和所述轮子密钥矩阵执行异或操作得到第二状态矩阵,并将所述第二状态矩阵执行位移变换,以便所述第二状态矩阵的第i行右移i个字节;
步骤3:将位移变换后的第二状态矩阵执行基于查表的逆S盒变换,并将逆S盒变换后的第二状态矩阵执行逆列混合变换操作,以便对所述密文编码执行解密处理得到所述明文编码。
其中,将逆S盒变换后的第二状态矩阵执行逆列混合变换操作可以为:将逆S盒变换后的第二状态矩阵与预设的固定矩阵相乘。
下面通过在实际应用中的一种基于安全芯片AES算法抗侧信道攻击的方法来说明上述实施例描述的流程,请参见图2、图3和图4,图2为本实施例整体电路结构示意图,图3为本实施例密钥扩展电路掩码内部框架示意图,图4为本实施例加解密电路整体掩码框架示意图,本实施例可以包括以下步骤:
(一)加密抗侧信道攻击过程:
步骤一、将一组明文编码以字节为单位编为4*4的矩阵,主密钥编码以字节为单位编分为4*4的矩阵;
步骤二、将主密钥编码的4*4的矩阵的每一列组成一个字,依次命名为W[0],W[1],W[2],W[3]。接着对数组W进行密钥扩展,扩展成40个新列,构成总共44列的扩展密钥数组。密钥的扩展按照以下的递归方式产生:i不是4的倍数,那么第i列,i是4的倍数,那么第i列,其中,T是一个由非线性和线性函数构成的复杂函数。具体为将1个字中的4个字节循环左移1个字节,即将输入字[a0,a1,a2,a3]变换为[a1,a2,a3,a0];对字循环后的结果使用AES的S盒进行替换;再将替换后的结果与轮常量Rcon[j]进行异或,其中j表示轮数,Rcon为定义在GF(28)上模m(x)=x8+x4+x3+x+1。
步骤三、对密钥扩展进行掩码:已知S盒是一个16x16的矩阵,记为Sbox,现随机取行变换矩阵RT,列变换矩阵CT,掩码S盒的随机数矩阵,对S盒进行掩码:
RT,CT可通过GF(24)上的加法运算计算所得,即如果初始单位矩阵为E16x16,有随机数rh,rl∈GF(24),则RT上第i行的元素等于E16x16上第行的元素。同理,CT上第i列的元素等于E16x16上的列的元素。设r∈GF(28),令r=rh·24+rl,S盒输入和输出数据为a,b,正常S盒替换为b=Sbox(a),则掩码S盒替换为:
则轮子密钥的生成函数加掩码后为:
可见,修改后的轮子密钥生成函数的输入被随机数r掩码,输出结果被随机数MS掩码,对结果去掩码只需对结果异或:
步骤四、将明文编码的4*4的矩阵与生成的轮子密钥4*4的矩阵进行异或操作,再对结果进行查表操作,即S盒替换。AES定义了一个加密S盒和解密的逆S盒。
步骤五、对替换后的的状态矩阵第i行左移i个字节。
步骤六、移位后的矩阵进行列混合变换,即行移位后的状态矩阵与固定矩阵相乘;
步骤七、对加密过程进行掩码:对步骤四异或生成后的矩阵进行掩码,已知加密S盒是一个16x16的矩阵,记为Sbox,随机取行变换矩阵RT,列变换矩阵CT,掩码S盒的随机数矩阵,对S盒进行掩码:
RT,CT可通过GF(24)上的加法运算计算所得,即如果初始单位矩阵为E16x16,有随机数rh,rl∈GF(24),则RT上第i行的元素等于E16x16上第行的元素。同理,CT上第i列的元素等于E16x16上的列的元素。设r∈GF(28),令r=rh·24+rl,S盒输入和输出数据为a,b,正常S盒替换为b=Sbox(a),则掩码S盒替换为:
则经过S加掩码后为:
经过步骤五后的矩阵变为:
经过步骤六后的矩阵变为:
经过步骤五后的掩码矩阵变为:
经过步骤六后的掩码矩阵变为:
对结果去掩码只需对结果异或MS掩码。
步骤七、当一组明文编码经过10轮加密后,输出获得密文编码。
(二)解密抗侧信道攻击过程:
步骤一、将一组密文编码以字节为单位编为4*4的矩阵,主密钥编码以字节为单位编分为4*4的矩阵。
步骤二、将主密钥编码的4*4的矩阵的每一列组成一个字,依次命名为W[0],W[1],W[2],W[3]。接着对数组W进行密钥扩展,扩展成40个新列,构成总共44列的扩展密钥数组。密钥的扩展按照以下的递归方式产生:i不是4的倍数,那么第i列,i是4的倍数,那么第i列,其中,T是一个由非线性和线性函数构成的复杂函数。具体为将1个字中的4个字节循环左移1个字节,即将输入字[a0,a1,a2,a3]变换为[a1,a2,a3,a0];对字循环后的结果使用AES的S盒进行替换;再将替换后的结果与轮常量Rcon[j]进行异或,其中j表示轮数,Rcon为定义在GF(28)上模m(x)=x8+x4+x3+x+1。
步骤三、对密钥扩展进行掩码:已知S盒是一个16x16的矩阵,记为Sbox,现随机取行变换矩阵RT,列变换矩阵CT,掩码S盒的随机数矩阵,对S盒进行掩码:
RT,CT可通过GF(24)上的加法运算计算所得,即如果初始单位矩阵为E16x16,有随机数rh,rl∈GF(24),则RT上第i行的元素等于E16x16上第行的元素。同理,CT上第i列的元素等于E16x16上的列的元素。设r∈GF(28),令r=rh·24+rl,S盒输入和输出数据为a,b,正常S盒替换为b=Sbox(a),则掩码S盒替换为
则轮子密钥的生成函数加掩码后为:
可见,修改后的轮子密钥生成函数的输入被随机数r掩码,输出结果被随机数MS掩码,对结果去掩码只需对结果异或:
步骤四、将密文编码的4*4的矩阵与生成的轮子密钥4*4的矩阵进行异或操作。
步骤五、对异或后的的状态矩阵第i行右移i个字节。
步骤六、再对结果进行查表操作,即逆S盒替换。AES定义了一个加密S盒和解密的逆S盒,再和生成的轮子密钥4*4的矩阵进行异或操作。
步骤七、后进行矩阵的逆列混合变换,即异或后的状态矩阵与固定矩阵相乘。
步骤八、对解密过程进行掩码:经过步骤五后的矩阵变为:
已知解密逆S盒是一个16x16的矩阵,记为Sbox,随机取行变换矩阵RT,列变换矩阵CT,掩码S盒的随机数矩阵,对S盒进行掩码:
RT,CT可通过GF(24)上的加法运算计算所得,令r=rh·24+rl,S盒输入和输出数据为a,b,正常S盒替换为b=Sbox(a),则掩码S盒替换为:
则经过S加掩码后为:
再和生成的轮子密钥4*4的矩阵进行异或操作:
经过步骤六后的矩阵变为:
经过步骤五后的掩码矩阵变为:
经过步骤六后的掩码矩阵变为:
对结果去掩码只需对结果异或MS掩码。
步骤七、当一组密文编码经过10轮加密后,输出获得明文编码;
由于上述技术方案运用,本实施例与相关技术相比具有下列优点和效果:
(1)本实施例同时可对密钥扩展和加解密过程实现掩码,通过加入随机数对输入的初始数据进行掩码,同时利用矩阵变换来实现加解密过程的掩码,从而达到对密钥扩展和加解密过程实现掩码。
(2)本实施例电路实现简单,整体运算均是对现有的矩阵做行和列的变换,没有复杂的运算逻辑,且密钥扩展方式和加解密方式类似,没有增加额外的电路开销。因此该算法实现时硬件的利用率更高,且有利于整个算法在更小的电路面积上实现。
请参见图5,图5为本申请实施例所提供的一种基于AES算法的信息加密系统的结构示意图;
该系统可以包括:
信息确定模块100,用于当接收到信息加密指令时,根据所述信息加密指令确定待加密信息和主密钥编码;其中,所述待加密信息为明文编码;
矩阵变换模块200,用于将所述待加密信息以字节为单位变换为的信息矩阵,将所述主密钥编码以字节为单位变换为的密钥矩阵;
密钥扩展模块300,用于将所述密钥矩阵的每一列作为一个目标字,对每一所述目标字进行密钥扩展得到个新的目标字,根据所述目标字和所述新的目标字构成扩展密钥数组;
掩码模块400,用于对所述扩展密钥数组执行掩码处理得到轮子密钥矩阵;
加密模块500,用于利用所有所述轮子密钥矩阵依次对所述待加密信息执行加密处理并在加密处理的过程中执行基于查表的S盒替换操作,得到密文编码。
本实施例通过构建密钥矩阵扩展生成多个扩展密钥数组,依次利用扩展密钥数组对待加密信息的信息矩阵执行加密处理,并在加密处理的过程中通过查表的方式进行S盒替换,以便利用S盒进行掩码处理。本实施例在满足多路径掩码的前提下,采用了基于查表的S盒替换,简化了多路径掩码的实现方法,从而减少了硬件的开销。本实施例能够在信息加密的过程中降低侧信道防护的硬件开销。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种基于AES算法的信息加密方法,其特征在于,包括:
当接收到信息加密指令时,根据所述信息加密指令确定待加密信息和主密钥编码;其中,所述待加密信息为明文编码;
将所述待加密信息以字节为单位变换为的信息矩阵,将所述主密钥编码以字节为单位变换为的密钥矩阵;
将所述密钥矩阵的每一列作为一个目标字,对每一所述目标字进行密钥扩展得到个新的目标字,根据所述目标字和所述新的目标字构成扩展密钥数组;
对所述扩展密钥数组执行掩码处理得到轮子密钥矩阵;
利用所有所述轮子密钥矩阵依次对所述待加密信息执行加密处理并在加密处理的过程中执行基于查表的S盒替换操作,得到密文编码。
2.根据权利要求1所述信息加密方法,其特征在于,利用所有所述轮子密钥矩阵依次对所述待加密信息执行加密处理并在加密处理的过程中执行基于查表的S盒替换操作,得到密文编码包括:
将所述信息矩阵与每一所述轮子密钥矩阵异或操作得到异或操作结果,对所述异或操作结果执行查表操作以便对所述异或操作结果进行S盒替换得到第一状态矩阵;
对所述第一状态矩阵执行位移变换操作,以使所述第一状态矩阵的第i行左移i个字节;
将位移变换后的第一状态矩阵执行列混合变换操作,以便对所述待加密信息执行加密处理得到所述密文编码。
3.根据权利要求2所述信息加密方法,其特征在于,将位移变换后的第一状态矩阵执行列混合变换操作包括:
将位移变换后的第一状态矩阵与预设的固定矩阵相乘。
4.根据权利要求2所述信息加密方法,其特征在于,还包括:
对所述异或操作结果执行掩码操作。
5.根据权利要求1所述信息加密方法,其特征在于,对所述扩展密钥数组执行掩码处理得到轮子密钥矩阵包括:
利用第一公式对S盒执行掩码操作;其中,所述第一公式为Sbox为S盒,RT为行变换矩阵,CT为列变换矩阵,MS为随机数;
利用掩码后的S盒对所述扩展密钥数组执行掩码处理得到轮子密钥矩阵。
6.根据权利要求1所述信息加密方法,其特征在于,还包括:
当接收到信息解密指令时,将所述密文编码以字节为单位变换为密文矩阵;
将所述密文矩阵和所述轮子密钥矩阵执行异或操作得到第二状态矩阵,并将所述第二状态矩阵执行位移变换,以便所述第二状态矩阵的第i行右移i个字节;
将位移变换后的第二状态矩阵执行基于查表的逆S盒变换,并将逆S盒变换后的第二状态矩阵执行逆列混合变换操作,以便对所述密文编码执行解密处理得到所述明文编码。
7.根据权利要求6所述信息加密方法,其特征在于,将逆S盒变换后的第二状态矩阵执行逆列混合变换操作包括:
将逆S盒变换后的第二状态矩阵与预设的固定矩阵相乘。
8.一种基于AES算法的信息加密系统,其特征在于,包括:
信息确定模块,用于当接收到信息加密指令时,根据所述信息加密指令确定待加密信息和主密钥编码;其中,所述待加密信息为明文编码;
矩阵变换模块,用于将所述待加密信息以字节为单位变换为的信息矩阵,将所述主密钥编码以字节为单位变换为的密钥矩阵;
密钥扩展模块,用于将所述密钥矩阵的每一列作为一个目标字,对每一所述目标字进行密钥扩展得到个新的目标字,根据所述目标字和所述新的目标字构成扩展密钥数组;
掩码模块,用于对所述扩展密钥数组执行掩码处理得到轮子密钥矩阵;
加密模块,用于利用所有所述轮子密钥矩阵依次对所述待加密信息执行加密处理并在加密处理的过程中执行基于查表的S盒替换操作,得到密文编码。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述基于AES算法的信息加密方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述基于AES算法的信息加密方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910349702.3A CN110071794B (zh) | 2019-04-28 | 2019-04-28 | 一种基于aes算法的信息加密方法、系统及相关组件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910349702.3A CN110071794B (zh) | 2019-04-28 | 2019-04-28 | 一种基于aes算法的信息加密方法、系统及相关组件 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110071794A true CN110071794A (zh) | 2019-07-30 |
CN110071794B CN110071794B (zh) | 2022-06-07 |
Family
ID=67369136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910349702.3A Active CN110071794B (zh) | 2019-04-28 | 2019-04-28 | 一种基于aes算法的信息加密方法、系统及相关组件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110071794B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110912690A (zh) * | 2019-11-01 | 2020-03-24 | 中国第一汽车股份有限公司 | 一种数据加密和解密方法、车辆和存储介质 |
CN111130755A (zh) * | 2019-12-30 | 2020-05-08 | 世纪恒通科技股份有限公司 | 一种基于签名的矩阵双重加密方法 |
CN111866018A (zh) * | 2020-07-30 | 2020-10-30 | 平安国际智慧城市科技股份有限公司 | 数据信息加密发送方法、装置、计算机设备及存储介质 |
CN113452508A (zh) * | 2021-08-27 | 2021-09-28 | 北京华云安信息技术有限公司 | 数据加密方法、装置、设备和计算机可读存储介质 |
CN114629706A (zh) * | 2022-03-16 | 2022-06-14 | 平安国际智慧城市科技股份有限公司 | 文件加密方法、装置、设备及存储介质 |
CN114826558A (zh) * | 2022-04-06 | 2022-07-29 | 郑州朗灵电子科技有限公司 | 一种海量数据快速加密方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103516512A (zh) * | 2013-10-21 | 2014-01-15 | 深圳市芯通信息科技有限公司 | 基于aes算法的加解密方法及加解密器 |
CN103684749A (zh) * | 2013-11-26 | 2014-03-26 | 衡阳师范学院 | 一种基于面积与性能平衡优化的klein加密实现方法 |
CN105656619A (zh) * | 2016-02-02 | 2016-06-08 | 清华大学无锡应用技术研究院 | 一种aes加密方法和基于及的抗功耗攻击方法 |
CN108964872A (zh) * | 2018-07-23 | 2018-12-07 | 武汉大学 | 一种基于aes的加密方法及装置 |
CN109617667A (zh) * | 2018-09-17 | 2019-04-12 | 中国科学院信息工程研究所 | 一种针对aes算法线性部分的高效掩码防护方法 |
-
2019
- 2019-04-28 CN CN201910349702.3A patent/CN110071794B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103516512A (zh) * | 2013-10-21 | 2014-01-15 | 深圳市芯通信息科技有限公司 | 基于aes算法的加解密方法及加解密器 |
CN103684749A (zh) * | 2013-11-26 | 2014-03-26 | 衡阳师范学院 | 一种基于面积与性能平衡优化的klein加密实现方法 |
CN105656619A (zh) * | 2016-02-02 | 2016-06-08 | 清华大学无锡应用技术研究院 | 一种aes加密方法和基于及的抗功耗攻击方法 |
CN108964872A (zh) * | 2018-07-23 | 2018-12-07 | 武汉大学 | 一种基于aes的加密方法及装置 |
CN109617667A (zh) * | 2018-09-17 | 2019-04-12 | 中国科学院信息工程研究所 | 一种针对aes算法线性部分的高效掩码防护方法 |
Non-Patent Citations (1)
Title |
---|
李浪: "一种AES随机变换掩码方案及抗DPA分析", 《密码学报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110912690A (zh) * | 2019-11-01 | 2020-03-24 | 中国第一汽车股份有限公司 | 一种数据加密和解密方法、车辆和存储介质 |
CN111130755A (zh) * | 2019-12-30 | 2020-05-08 | 世纪恒通科技股份有限公司 | 一种基于签名的矩阵双重加密方法 |
CN111866018A (zh) * | 2020-07-30 | 2020-10-30 | 平安国际智慧城市科技股份有限公司 | 数据信息加密发送方法、装置、计算机设备及存储介质 |
CN113452508A (zh) * | 2021-08-27 | 2021-09-28 | 北京华云安信息技术有限公司 | 数据加密方法、装置、设备和计算机可读存储介质 |
CN114629706A (zh) * | 2022-03-16 | 2022-06-14 | 平安国际智慧城市科技股份有限公司 | 文件加密方法、装置、设备及存储介质 |
CN114629706B (zh) * | 2022-03-16 | 2024-01-23 | 平安国际智慧城市科技股份有限公司 | 文件加密方法、装置、设备及存储介质 |
CN114826558A (zh) * | 2022-04-06 | 2022-07-29 | 郑州朗灵电子科技有限公司 | 一种海量数据快速加密方法及系统 |
CN114826558B (zh) * | 2022-04-06 | 2023-06-30 | 北京联诚合创信息技术有限公司 | 一种海量数据快速加密方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110071794B (zh) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110071794A (zh) | 一种基于aes算法的信息加密方法、系统及相关组件 | |
CN1993922B (zh) | 流密码组合系统和方法 | |
CN106850221B (zh) | 信息加密、解密方法及装置 | |
EP3186802B1 (en) | Encryption function and decryption function generating method, encryption and decryption method and related apparatuses | |
US7778419B2 (en) | Key masking for cryptographic processes | |
CN105099672B (zh) | 混合加密方法及实现该方法的装置 | |
CN101350714B (zh) | 采用混合rijndael s-box的有效高级加密标准数据路径 | |
CN105324956B (zh) | 加密明文数据的方法及设备 | |
KR101026439B1 (ko) | Seed 암호화에서 차분 전력 분석 공격을 방어하기 위한 마스킹 방법 | |
CA2508160C (en) | Table masking for resistance to power analysis attacks | |
CA2578316C (en) | Table splitting for cryptographic processes | |
CN110278072A (zh) | 一种16轮sm4-128/128白盒密码实现方法 | |
CN107465501A (zh) | 用于高级加密标准(aes)的灵活结构和指令 | |
CN104639314A (zh) | 基于aes加密/解密算法的装置和流水控制方法 | |
CN107579813A (zh) | 信息加密、解密方法及装置 | |
CN108476132A (zh) | 用于加密操作的密钥序列生成 | |
CN103621007A (zh) | 加密处理装置、加密处理方法和程序 | |
CN103051446B (zh) | 一种密钥加密存储方法 | |
KR101914453B1 (ko) | 암호화 장치 및 방법 | |
CN206585573U (zh) | 可重构s盒电路结构 | |
CN105281893A (zh) | 用于引入白箱实现对串集合的依赖性的方法 | |
Singh et al. | Study & analysis of cryptography algorithms: RSA, AES, DES, T-DES, blowfish | |
CN107835070B (zh) | 一种简单的嵌入式加密方法 | |
Gupta et al. | Correlation power analysis of KASUMI and power resilience analysis of some equivalence classes of KASUMI S-boxes | |
EP2363974A1 (en) | Variable table masking for cryptographic processes |
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 |