CN109033892B - 基于合成矩阵的轮变换复用电路及aes解密电路 - Google Patents
基于合成矩阵的轮变换复用电路及aes解密电路 Download PDFInfo
- Publication number
- CN109033892B CN109033892B CN201810596797.4A CN201810596797A CN109033892B CN 109033892 B CN109033892 B CN 109033892B CN 201810596797 A CN201810596797 A CN 201810596797A CN 109033892 B CN109033892 B CN 109033892B
- Authority
- CN
- China
- Prior art keywords
- register
- data
- selector
- input end
- circuit
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
Description
技术领域
本发明涉及密码电路技术领域,尤其涉及一种基于合成矩阵的轮变换复用电路及AES加密电路。
背景技术
AES(Advanced Encryption Standard,高级加密标准)密码算法是由美国国家标准与技术研究院2001年制定的新一代分组对称密码算法,用于取代原来的DES(DataEncryption Standard,数据加密标准)。目前,AES密码算法已经被多个国际标准组织所采用,是目前使用最广泛的分组密码算法。
AES密码算法的数据分组长度为128比特,密钥长度有128,192和256比特三种,分别称为AES-128,AES-192,AES-256。AES算法是一个迭代算法,每一个迭代可以称为轮变换,密钥长度不同,轮变换数量也不同,AES-128,AES-192,AES-256的轮变换数量Nr分别为10,12,14。AES加密流程如附图1所示,输入的明文数据首先进行密钥加运算;然后经过Nr-1轮普通轮变换,在每个普通轮变换中按顺序进行字节替换、行移位、列混合和密钥加四个运算;最后经过一轮首轮变换,首轮变换按顺序进行字节替换、行移位和密钥加三个运算。
AES解密流程是与加密流程相反的一个过程,如图2所示,输入的密文数据依次进行一轮首轮变换、Nr-1轮普通轮变换及一轮末轮变换,首轮变换为加密流程中末轮变换的逆运算,包括密钥加、逆行移位、逆字节替换三个运算,普通轮变换为加密流程中普通轮变换的逆运算,包括密钥加、逆列混合、逆行移位和逆字节替换,末轮变换为加密过程中首轮变换的逆运算,包括密钥加,其中,逆列混合、逆行移位和逆字节替换分别为加密流程中列混合、行移位和字节替换的逆运算,依次单独运算的普通轮变换电路或末轮变换不仅浪费电路资源,且关键路径较长,因此,通过合成矩阵将相邻的几个运算单元合并成一个运算单元进行实现。
T盒实现方式是目前轮变换电路实现中最常用的运算单元合并实现方式,T盒实现通过预计算方式将S盒、行移位和列混合等运算的运算结果预存一个存储运算单元中,以查询表的方式实现S盒、行移位和列混合合并运算功能。T盒实现减少了整个普通轮变换电路的关键路径,因此T盒实现方式主要应用在高速AES电路设计中,T盒实现方式虽然可以加快数据处理速度,但也大大增加了电路面积,如Rach等人将基于复合域S盒/逆S盒中最后一级GF(24)乘法器、映射矩阵/逆映射运算、仿射/逆仿射运算、列混合/逆列混合运算和密钥加运算等五个运算合并成一个运算单元,合并运算单元缩短了关键路径,但同时也大大增加了电路面积,现有的基于合并运算的轮变换电路,都是以增加电路面积为代价对关键路径长度进行了优化。
发明内容
本发明实施例提供一种AES解密电路,旨在解决现有基于合并运算的轮变换电路,均是以增加电路面积为代价来对关键路径长度进行优化的问题。
本发明是这样实现的,基于合成矩阵的轮变换复用电路,用于AES解密,其特征在于,所述电路包括:
合成矩阵乘法运算单元1、二选一选择器S1、常数加运算单元、复合域乘法逆运算单元、合成矩阵乘法运算单元2,其中,合成矩阵乘法运算单元1的输入端分别与数据输入端、密钥输入端连接,两个输出端分别与选择器S1的两个输入端连接,第三个输出端与明文数据输出端口连接,选择器S1的输出端与常数加运算单元的输入端连接,常数加运算单元的输出端与复合域乘法逆运算单元的输入端连接,复合域乘法逆运算单元的输出端与合成矩阵乘法运算单元2的输入端连接,合成矩阵乘法运算单元2的输出端与反馈数据输入端连接;
合成矩阵乘法运算单元1,将从数据输入端口输入的数据向量 及从密钥输入端口输入密钥向量组合成一个列向量 并将合成矩阵与列向量进行乘法运算,将运算结果第一行至第四行组成的列向量及第五行至第八行组成的列向量分别输出到二选一选择器,运算结果的第九行至第十二行组成的列向量则输出到明文数据输出端口,其中,合成矩阵表示如下:
合成矩阵乘法运算单元1、选择器S1、常数加运算单元、复合域乘法逆运算单元、合成矩阵乘法运算单元2的数据输入端及数据输出端的数据位宽均为4个字节。
本发明是这样实现的,一种AES解密电路,所述AES解密电路包括:
二选一选择器S2、寄存器1、寄存器2及一个复用轮变换电路,寄存器1及寄存器2的数据位宽为16字节,其中,选择器S2的一个输入端与密文数据输入端连接,输出端与寄存器1的输入端连接,寄存器1的输出端与寄存器2的输入端连接,寄存器2的输出端与轮变换复用电路的数据输入端连接,复用轮变换电路的反馈数据输出端与选择器S2的另一输入端连接。
本发明是这样实现的,一种AES解密电路,所述AES解密电路包括:
二选一选择器S2、寄存器1、寄存器2及两个复用轮变换电路,寄存器1及寄存器2的数据位宽为16字节,其中,选择器S2的一个输入端与密文数据输入端连接,输出端与寄存器1的输入端连接,寄存器1的输出端与寄存器2的输入端连接,寄存器2的输出端分别与两个轮变换复用电路的数据输入端连接,两个复用轮变换电路的反馈数据输出端与选择器S2的另一输入端连接。
本发明是这样实现的,一种AES解密电路,所述AES解密电路包括:
二选一选择器S2、寄存器及四个复用轮变换电路,寄存器的数据位宽为16字节;
选择器S2的一个输入端与密文数据输入端连接,输出端与寄存器的输入端连接,寄存器的输出端分别与四个轮变换复用电路的数据输入端连接,四个复用轮变换电路的反馈数据输出端与选择器S2的另一输入端连接。
附图说明
图1为本发明实施例提供的标准AES加密流程图;
图2为本发明实施例提供的标准AES解密流程图;
图3为本发明实施例提供的用于AES解密的轮变换复用电路结构示意图;
图4为本发明实施例一提供的AES解密电路结构示意图;
图5为本发明实施例二提供的AES解密电路结构示意图;
图6为本发明实施例三提供的AES解密电路结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现有的运算单元通常包括:逆字节替换运算单元、逆行移位运算单元、逆列混合运算单元和密钥加运算单元,上述运算单元的运算公式具体如下:
AES轮变换是以矩阵形式进行变换操作的,加密算法将输入的128比特分组数据视为4×4字节矩阵,每个矩阵的元素为1个字节。轮变换的中间结果称之为状态矩阵为4×4字节矩阵。假设轮变换输入的状态矩阵为:
AES解密过程中的各个运算详细介绍如下:
1.密钥加运算单元
密钥加运算单元用于进行密钥加运算,密钥加运算与加密流程中的密钥加运算相同。假设经过密钥加运算后的状态矩阵为:
密钥加运算表达式为:
2.逆列混合运算单元
逆列混合运算的表达式为:
3.逆行移位运算单元
逆行移位运算单元进行逆行移位运算,逆行移位运算是行移位的逆运算,即状态矩阵的第一行不变换,第二,三,四行分别向右移位一个字节,二个字节,和三个字节。假设经过逆行移位运算后的状态矩阵为:
逆行移位之后的状态矩阵可以表达为:
逆行移位运算在硬件实现中也不需要消耗任何逻辑电路资源,只需调整总线位置即可。
4.逆字节替换运算
逆字节替换运算为字节替换的逆运算,也称为逆S盒运算。逆S盒运算同样是将状态矩阵中的每个字节根据字节替换表进行逆替换操作。假设经过逆S盒运算后的状态矩阵为:
则逆S盒运算可以表达为:
在逆S盒运算中,输入字节首先进行一个逆仿射运算,逆仿射运算为加密S盒仿射运算的逆运算,然后进行一个有限域GF(28)域上乘法逆运算,其表达式为:
其中x为输入字节,ω为字节常数,τ′为8×8bit常数矩阵,是加密S盒中常数矩阵τ的逆矩阵,τ′和ω用于完成逆仿射运算,()A -1为GF(28)域上的乘法逆运算。
在众多S盒实现方式中,基于复合域的S盒实现具有最小的电路面积。复合域S盒通过数学变换将S盒中的主要运算单元—GF(28)域乘法逆运算单元映射到复合域中实现。复合域乘法逆运算的计算复杂度要远远小于GF(28)域乘法逆的计算复杂度,因而可以大大减少S盒电路实现的硬件复杂度。
基于复合域的逆S盒运算表达式为:
其中()C -1为复合域上的乘法逆运算,复合域为任意与GF(28)域同构的复合域,δ为8×8bit映射矩阵,其作用是将输入字节x从GF(28)域映射到复合域,δ'为δ逆矩阵,其作用是将复合域乘法逆运算结果从复合域映射回到GF(28)域。本发明所涉及的GF(28)域为AES密码算法中所指定的GF(28)域,其不可约多项式为
f(x)=x8+x4+x3+x+1
在有限域中,加法运算为位异或逻辑运算。根据 因此,常数加运算+ω在硬件实现时,加0运算可以直接省略掉,加1运算可以用两种方法代替异或逻辑运算:1.任意两个变量的异或逻辑采用同或逻辑代替;2.任意两个变量的采用异或逻辑+取反逻辑实现。由于同或逻辑门与异或逻辑门的电路面积和延时几乎相同,同时相比于异或逻辑门,反向逻辑门的电路面积和延时可以忽略,因此,在逆S盒硬件实现时,常数加运算+ω电路面积和延时可以忽略不计。
5.普通轮变换公式
轮变换中的四个运算单元可以单独实现,也可以将相邻的几个运算单元合并成一个运算单元进行实现。运算单元单独实现的轮变换电路不仅浪费电路资源,且关键路径较长。本发明根据解密轮变换公式,通过常数矩阵的合并与合成运算,对解密轮变换中的线性运算进行合并。根据上述中轮变换中的各个子运算公式,可以得出解密轮变换中的普通轮变换公式为:
将上述公式中具有相同输入的输出变量rx,y划分一组,共可以划分成四个分组。这四个分组具有相同运算操作,并在硬件实现时具有相同的电路运算单元。每一分组输出变量都可以表达为线性方程形式:
上式中的输入变量和输出变量在每一分组中对应的变量为:
为了减少电路实现面积,本发明进一步将逆S盒中的GF(28)乘法逆映射到复合域中,映射后的普通轮变换分组公式为:
6.首轮变换公式
根据上述各个子运算公式,同样可以得出首轮变换公式为:
按照普通轮变换分组,将上述首轮变换公式也可以分成四个分组,首轮变换分组公式为:
分组公式中的输入变量和输出变量在每一分组中对应的变量与普通轮变换相同。将首轮变换中的逆S盒运算映射到复合域中,则首轮变换分组公式为:
7.密钥加运算
AES加密流程的最后进行一个密钥加运算,密钥加运算也进行分组,分组如下:
与普通轮变换/末轮变换分组相比,密钥加分组的数据输出状态矩阵R的分组有所不同,数据输入状态矩阵D和密钥输入状态矩阵K的分组相同。密钥加分组公式为:
图3为本发明实施例提供的基于合成矩阵的轮变换复用电路结构示意图,为了便于说明,仅示出与本发明实施例相关的部分。
合成矩阵的轮变换复用电路包括:
合成矩阵乘法运算单元1、二选一选择器S1、常数加运算单元、复合域乘法逆运算单元、合成矩阵乘法运算单元2,其中,合成矩阵乘法运算单元1的输入端分别与数据输入端及密钥输入端连接,两个输出端分别与选择器S1的两个输入端连接,第三个输出端与明文数据输出端口连接,选择器S1的输出端与常数加运算单元的输入端连接,常数加运算单元的输出端与复合域乘法逆运算单元的输入端连接,复合域乘法逆运算单元的输出端与合成矩阵乘法运算单元2的输入端连接,合成矩阵乘法运算单元2的输出端与反馈数据输入端连接;
合成矩阵乘法运算单元1,其输入端和输出端的数据位宽均为4个字节,将从数据输入端口输入的数据向量及从密钥输入端口输入密钥向量组合成一个列向量密钥向量与加密运算中的密钥向量Kv相同,并将合成矩阵与列向量进行乘法运算,合成矩阵由常数矩阵组合而成:
其中,常数矩阵为常数矩阵δ和常数矩阵τ'的乘积,常数矩阵为常数矩阵δ、常数矩阵τ'和常数矩阵的乘积,常数矩阵为常数矩阵δ、常数矩阵τ'和常数矩阵的乘积,常数矩阵为常数矩阵δ、常数矩阵τ'和常数矩阵的乘积,常数矩阵为常数矩阵δ、常数矩阵τ'和常数矩阵的乘积,常数ωλ为常数矩阵δ、常数矩阵τ'和常数ω的乘积。常数矩阵δ为映射矩阵,其作用是将GF(28)域上的元素映射到复合域上,常数矩阵τ′为逆S盒运算中逆仿射运算所指定的常数矩阵,常数矩阵为GF(28)域上乘常数×{01}16、×{09}16、×{0b}16、×{0d}16、×{0e}16的矩阵形式。
合成矩阵乘法运算单元1可以用具体公式进行表达为:
选择器S1根据选择信号s从两组数据和中选择一组送入常数加运算单元中,当进行首轮变换运算时,基于选择信号s=0,选择器S1将送入常数加运算单元中;当进行普通轮变换运算时,基于选择信号s=1,选择器S1将送入常数加运算单元中。二选一选择器S1的具体表达形式为:
常数加运算单元,其输入端及输出端的数据位宽均为4个字节,将数据向量与常数向量Ωλ=[ωλ,ωλ,ωλ,ωλ]T相加运算,常数向量Ωλ由四个常数ωλ组合而成,其中,常数ωλ为常数矩阵δ、常数矩阵τ'和常数ω的乘积,即ωλ=δ×τ'×ω。常数ω为逆S盒运算中逆仿射运算所指定的字节常数。常数加运算单元的具体表达形式为:
其中常数矩阵δ′为映射矩阵,其作用是将复合域上的运算结果映射回到GF(28)域上。则合成矩阵乘法运算单元2可以用具体公式进行表达为:
本发明提出的轮变换复用电路通过常数矩阵的合并与合成运算,将AES解密算法中的所有线性变换运算组合成两个合成矩阵,合成矩阵与合成矩阵从而缩短轮变换复用电路的关键路径,降低电路实现面积,研究表明电路规模越大,电路效率越高,因此本发明通过矩阵合并与合成将若干小规模线性运算单元组合成大规模的线性运算,有利于电路优化效率的提高,减少电路实现面积;并通过复用合成矩阵乘法运算单元1、复合域乘法逆运算单元、合成矩阵乘法运算单元2及常数加运算单元来构建首轮变换/普通轮变换/末轮变换复用电路,节省大量电路资源。
串行结构和循环结构是AES解密电路实现的两种基本结构,基于所提出的轮变换复用电路采用并行处理方式构成串行结构的AES解密电路,采用分时复用处理方式或者是分时复用与并行处理相结合的方式来构成循环结构的AES解密电路。
图4为本发明实施例一提供的AES解密电路的结构示意图,为了便于说明,仅示出于本发明实施例相关的部分。
该AES解密电路包括:
二选一选择器S2、寄存器1、寄存器2及一个复用轮变换电路,寄存器1及寄存器2的数据位宽为16字节;
选择器S2的一个输入端与密文数据输入端连接,输出端与寄存器1的输入端连接,寄存器1的输出端与寄存器2的输入端连接,寄存器2的输出端与轮变换复用电路的数据输入端连接,复用轮变换电路的反馈数据输出端与选择器S2的另一输入端连接;
基于AES加密电路的加密方法包括如下步骤:
S1、轮变换复用电路的前四次运算构成首轮变换,密文数据从密文数据输入端口输入,经选择器S2进入寄存器1,当寄存器1内存储16字节的数据后,将存储数据传送至寄存器2,寄存器2每次输出4字节的数据传输至轮变换复用电路的数据输入端,经轮变换复用电路的运算,运算结果经反馈数据输出端、及选择器S2输入寄存器1,轮变换复用电路进行四次运算后,寄存器1将存储的数据存储至寄存器2中;
S2、轮变换复用电路的第5~4Nr次运算构成普通轮变换,寄存器2每次输出4字节的数据至轮变换复用电路的数据输入端,经轮变换复用电路的运算,运算结果经反馈数据输出端、及选择器S2输入寄存器1,轮变换复用电路,每四次运算后,寄存器1将存储的数据存储至寄存器2中,进行下一轮普通轮变换,共进行(Nr-1)轮普通轮变换;
S3、轮变换复用电路的第(4Nr+1)~(4Nr+4)次运算构成末轮变换,寄存器2每次输出4字节的数据输出至轮变换复用电路的数据输入端,经合成矩阵乘法运算单元1的运算,从明文数据端口输出的数据即构成明文。
图5为本发明实施例二提供的AES解密电路的结构示意图,为了便于说明,仅示出于本发明实施例相关的部分。
该AES解密电路包括:
二选一选择器S2、寄存器1、寄存器2及两个复用轮变换电路,寄存器1及寄存器2的数据位宽为16字节;
选择器S2的一个输入端与密文数据输入端连接,输出端与寄存器1的输入端连接,寄存器1的输出端与寄存器2的输入端连接,寄存器2的输出端分别与两个轮变换复用电路的数据输入端连接,两个复用轮变换电路的反馈数据输出端均与选择器S2的另一输入端连接;
基于AES加密电路的加密方法包括如下步骤:
S1、轮变换复用电路的前两次运算构成首轮变换,密文数据从密文数据输入端口输入,经选择器S2进入寄存器1,当寄存器1内存储16字节的数据后,将存储数据传送至寄存器2,寄存器2每次将两组4字节的数据分别传输至两个轮变换复用电路的数据输入端,经两个轮变换复用电路的运算,运算结果经反馈数据输出端、及选择器S2输入寄存器1,轮变换复用电路进行两次运算后,寄存器1将存储的数据存储至寄存器2中;
S2、轮变换复用电路的第3~2Nr次运算构成普通轮变换,寄存器2每次两两组4字节的数据分别输出至两个轮变换复用电路的数据输入端,经两个轮变换复用电路的运算,运算结果经反馈数据输出端、及选择器S2输入寄存器1,轮变换复用电路,每两次运算后,寄存器1将存储的数据存储至寄存器2中,进行下一轮普通轮变换,共进行(Nr-1)轮普通轮变换;
S3、轮变换复用电路的第(2Nr+1)~(2Nr+2)次运算构成末轮变换,寄存器2每次将两组4字节的数据分别输出至两个轮变换复用电路的数据输入端,经合成矩阵乘法运算单元1的运算,从明文数据端口输出的数据即构成明文。
图6为本发明实施例三提供的AES解密电路的结构示意图,为了便于说明,仅示出于本发明实施例相关的部分。
该AES解密电路包括:
二选一选择器S2、寄存器及四个复用轮变换电路,寄存器的数据位宽为16字节;
选择器S2的一个输入端与密文数据输入端连接,输出端与寄存器的输入端连接,寄存器的输出端分别与四个轮变换复用电路的数据输入端连接,四个复用轮变换电路的反馈数据输出端均与选择器S2的另一输入端连接;
基于AES加密电路的加密方法包括如下步骤:
S1、轮变换复用电路的第一次运算构成首轮变换,密文数据从密文数据输入端口输入,经选择器S2进入寄存器,当寄存器内存储16字节的数据后,将四组4字节的数据分别传输至四个轮变换复用电路的数据输入端,经四个轮变换复用电路的运算,运算结果经反馈数据输出端、选择器S2输入寄存器;
S2、轮变换复用电路的第2~Nr次运算构成普通轮变换,寄存器每次将四组4字节的数据分别输出至四个轮变换复用电路的数据输入端,经四个轮变换复用电路的运算,运算结果经反馈数据输出端、选择器S2输入寄存器,进行下一轮普通轮变换,共进行(Nr-1)轮普通轮变换;
S3、轮变换复用电路的第Nr+1次运算构成末轮变换,寄存器每次将四组4字节的数据分别输出至四个轮变换复用电路的数据输入端,经合成矩阵乘法运算单元1的运算,从明文数据端口输出的数据即构成明文。
循环结构的AES解密电路相比于串行结构的AES解密电路而言,其电路面积大大减小,因此适用于面积受限的数据处理电路中;但串行结构的AES解密电路采用流水线技术可以大大提高电路处理速度,适用于高速数据处理电路中,因此可根据实际需求设计普通轮变换电路的结构;
本发明提出的AES解密电路是基于轮变换复用电路构成的,轮变换复用电路通过常数矩阵的合并与合成运算,将AES解密算法中的所有线性变换运算组合成两个合成矩阵,合成矩阵与合成矩阵从而缩短AES解密电路的关键路径,降低AES解密电路实现面积,研究表明电路规模越大,电路效率越高,因此本发明通过矩阵合并与合成将若干小规模线性运算单元组合成大规模的线性运算,有利于电路优化效率的提高,减少电路实现面积;
并通过复用合成矩阵乘法运算单元1、复合域乘法逆运算单元、合成矩阵乘法运算单元2及常数加运算单元来构建首轮变换/普通轮变换/末轮变换复用电路,节省大量电路资源。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (4)
1.一种基于合成矩阵的轮变换复用电路,用于AES解密,其特征在于,所述电路包括:
合成矩阵乘法运算单元1、二选一选择器S1、常数加运算单元、复合域乘法逆运算单元、合成矩阵乘法运算单元2,其中,合成矩阵乘法运算单元1的输入端分别与数据输入端、密钥输入端连接,两个输出端分别与选择器S1的两个输入端连接,第三个输出端与明文数据输出端口连接,选择器S1的输出端与常数加运算单元的输入端连接,常数加运算单元的输出端与复合域乘法逆运算单元的输入端连接,复合域乘法逆运算单元的输出端与合成矩阵乘法运算单元2的输入端连接,合成矩阵乘法运算单元2的输出端与反馈数据输入端连接;
合成矩阵乘法运算单元1,将从数据输入端口输入的数据向量 及从密钥输入端口输入密钥向量组合成一个列向量 并将合成矩阵与列向量进行乘法运算,将运算结果第一行至第四行组成的列向量及第五行至第八行组成的列向量分别输出到二选一选择器,运算结果的第九行至第十二行组成的列向量则输出到明文数据输出端口,其中,合成矩阵表示如下:
合成矩阵乘法运算单元1、选择器S1、常数加运算单元、复合域乘法逆运算单元、合成矩阵乘法运算单元2的数据输入端及数据输出端的数据位宽均为4个字节。
2.一种基于权利要求1所述轮变换复用电路的AES解密电路,其特征在于,所述电路包括:
二选一选择器S2、寄存器1、寄存器2及一个复用轮变换电路,寄存器1及寄存器2的数据位宽为16字节,其中,选择器S2的一个输入端与密文数据输入端连接,输出端与寄存器1的输入端连接,寄存器1的输出端与寄存器2的输入端连接,寄存器2的输出端与轮变换复用电路的数据输入端连接,复用轮变换电路的反馈数据输出端与选择器S2的另一输入端连接。
3.一种基于权利要求1所述轮变换复用电路的AES解密电路,其特征在于,所述电路包括:
二选一选择器S2、寄存器1、寄存器2及两个复用轮变换电路,寄存器1及寄存器2的数据位宽为16字节,其中,选择器S2的一个输入端与密文数据输入端连接,输出端与寄存器1的输入端连接,寄存器1的输出端与寄存器2的输入端连接,寄存器2的输出端分别与两个轮变换复用电路的数据输入端连接,两个复用轮变换电路的反馈数据输出端与选择器S2的另一输入端连接。
4.一种基于权利要求1所述轮变换复用电路的AES解密电路,其特征在于,所述电路包括:
二选一选择器S2、寄存器及四个复用轮变换电路,寄存器的数据位宽为16字节;
选择器S2的一个输入端与密文数据输入端连接,输出端与寄存器的输入端连接,寄存器的输出端分别与四个轮变换复用电路的数据输入端连接,四个复用轮变换电路的反馈数据输出端与选择器S2的另一输入端连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810596797.4A CN109033892B (zh) | 2018-06-11 | 2018-06-11 | 基于合成矩阵的轮变换复用电路及aes解密电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810596797.4A CN109033892B (zh) | 2018-06-11 | 2018-06-11 | 基于合成矩阵的轮变换复用电路及aes解密电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109033892A CN109033892A (zh) | 2018-12-18 |
CN109033892B true CN109033892B (zh) | 2021-08-31 |
Family
ID=64612584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810596797.4A Active CN109033892B (zh) | 2018-06-11 | 2018-06-11 | 基于合成矩阵的轮变换复用电路及aes解密电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109033892B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033892B (zh) * | 2018-06-11 | 2021-08-31 | 安徽工程大学 | 基于合成矩阵的轮变换复用电路及aes解密电路 |
CN109639408A (zh) * | 2019-01-25 | 2019-04-16 | 芜湖职业技术学院 | 一种aes解密复用轮变换电路结构 |
CN109936440B (zh) * | 2019-01-25 | 2022-06-07 | 芜湖职业技术学院 | Aes解密电路中的复用轮变换运算单元和构建方法 |
CN109660333A (zh) * | 2019-01-25 | 2019-04-19 | 芜湖职业技术学院 | Aes解密复用轮变换运算单元结构 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104158651A (zh) * | 2014-07-15 | 2014-11-19 | 南京航空航天大学 | 基于数据冗余实时检错机制的全展开结构aes加/解密电路 |
CN104158650A (zh) * | 2014-07-15 | 2014-11-19 | 南京航空航天大学 | 基于数据冗余检错机制的aes加/解密电路 |
CN104158652A (zh) * | 2014-07-15 | 2014-11-19 | 南京航空航天大学 | 基于数据冗余实时检错机制的循环展开结构aes加/解密电路 |
CN106034021A (zh) * | 2015-03-12 | 2016-10-19 | 中国科学院上海高等研究院 | 轻量级双模兼容aes加解密模块及其方法 |
CN106992852A (zh) * | 2017-05-08 | 2017-07-28 | 芜湖职业技术学院 | 应用于AES与Camellia密码算法的可重构S盒电路结构 |
CN106998249A (zh) * | 2017-05-08 | 2017-08-01 | 芜湖职业技术学院 | 应用于SM4与Camellia密码算法的可重构S盒电路结构 |
CN107181586A (zh) * | 2017-05-22 | 2017-09-19 | 芜湖职业技术学院 | 可重构s盒电路结构 |
CN207184503U (zh) * | 2017-05-22 | 2018-04-03 | 芜湖职业技术学院 | 可重构s盒电路结构 |
CN109033892A (zh) * | 2018-06-11 | 2018-12-18 | 安徽工程大学 | 基于合成矩阵的轮变换复用电路及aes解密电路 |
-
2018
- 2018-06-11 CN CN201810596797.4A patent/CN109033892B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104158651A (zh) * | 2014-07-15 | 2014-11-19 | 南京航空航天大学 | 基于数据冗余实时检错机制的全展开结构aes加/解密电路 |
CN104158650A (zh) * | 2014-07-15 | 2014-11-19 | 南京航空航天大学 | 基于数据冗余检错机制的aes加/解密电路 |
CN104158652A (zh) * | 2014-07-15 | 2014-11-19 | 南京航空航天大学 | 基于数据冗余实时检错机制的循环展开结构aes加/解密电路 |
CN106034021A (zh) * | 2015-03-12 | 2016-10-19 | 中国科学院上海高等研究院 | 轻量级双模兼容aes加解密模块及其方法 |
CN106992852A (zh) * | 2017-05-08 | 2017-07-28 | 芜湖职业技术学院 | 应用于AES与Camellia密码算法的可重构S盒电路结构 |
CN106998249A (zh) * | 2017-05-08 | 2017-08-01 | 芜湖职业技术学院 | 应用于SM4与Camellia密码算法的可重构S盒电路结构 |
CN107181586A (zh) * | 2017-05-22 | 2017-09-19 | 芜湖职业技术学院 | 可重构s盒电路结构 |
CN207184503U (zh) * | 2017-05-22 | 2018-04-03 | 芜湖职业技术学院 | 可重构s盒电路结构 |
CN109033892A (zh) * | 2018-06-11 | 2018-12-18 | 安徽工程大学 | 基于合成矩阵的轮变换复用电路及aes解密电路 |
Non-Patent Citations (1)
Title |
---|
基于多因子CSE算法的AES S-盒电路优化设计;曾纯 等;《电子学报》;20140630(第6期);第1238-1243页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109033892A (zh) | 2018-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109033892B (zh) | 基于合成矩阵的轮变换复用电路及aes解密电路 | |
CN106921487B (zh) | 可重构s盒电路结构 | |
US20070291935A1 (en) | Apparatus for supporting advanced encryption standard encryption and decryption | |
CN107181586B (zh) | 可重构s盒电路结构 | |
CN109150495B (zh) | 一种轮变换复用电路及其aes解密电路 | |
CN108933652B (zh) | 一种普通轮变换运算单元、普通轮变换电路及aes解密电路 | |
CN109039583B (zh) | 复用轮变换电路、aes加密电路及加密方法 | |
CN103684749B (zh) | 一种基于面积与性能平衡优化的klein加密实现方法 | |
CN108809627B (zh) | 轮变换复用电路及aes解密电路 | |
Jing et al. | Reconfigurable system for high-speed and diversified AES using FPGA | |
CN109033893B (zh) | 基于合成矩阵的aes加密单元、aes加密电路及其加密方法 | |
CN109033847B (zh) | Aes加密运算单元、aes加密电路及其加密方法 | |
CN108566271B (zh) | 复用轮变换电路、aes加密电路及其加密方法 | |
Arrag et al. | Design and Implementation A different Architectures of mixcolumn in FPGA | |
CN108964875B (zh) | 普通轮变换运算单元、普通轮变换电路及aes解密电路 | |
CN108989018B (zh) | 一种aes加密单元、aes加密电路及加密方法 | |
CN109033023B (zh) | 一种普通轮变换运算单元、普通轮变换电路及aes加密电路 | |
Rais et al. | A novel FPGA implementation of AES-128 using reduced residue of prime numbers based S-Box | |
CN109936440B (zh) | Aes解密电路中的复用轮变换运算单元和构建方法 | |
CN109150496B (zh) | Aes加密运算单元、aes加密电路及加密方法 | |
CN108964876B (zh) | 普通轮变换运算单元、普通轮变换电路及aes加密电路 | |
CN109639408A (zh) | 一种aes解密复用轮变换电路结构 | |
CN109033894B (zh) | 普通轮变换运算单元、普通轮变换电路及其aes加密电路 | |
Shylashree et al. | FPGA implementations of advanced encryption standard: A survey | |
Bittencourt et al. | CLEFIA implementation with full key expansion |
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 |