CN108989018B - 一种aes加密单元、aes加密电路及加密方法 - Google Patents
一种aes加密单元、aes加密电路及加密方法 Download PDFInfo
- Publication number
- CN108989018B CN108989018B CN201810597091.XA CN201810597091A CN108989018B CN 108989018 B CN108989018 B CN 108989018B CN 201810597091 A CN201810597091 A CN 201810597091A CN 108989018 B CN108989018 B CN 108989018B
- Authority
- CN
- China
- Prior art keywords
- data
- unit
- register
- aes encryption
- multiplication
- 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
-
- 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/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- 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/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Complex Calculations (AREA)
Abstract
本发明适用于加密技术领域,提供了一种AES加密单元、AES加密电路及加密方法,本发明提出AES加密单元,实现4个字节的AES加密运算,AES加密单元通过常数矩阵的合并与合成运算,将轮变换中的所有线性变换运算组合成两个合成矩阵,合成矩阵Δ与合成矩阵Λ,从而缩短出AES加密电路关键路径,同时减少电路实现面积。
Description
技术领域
本发明属于加密技术领域,提供了一种AES加密单元、AES加密电路及加密方法。
背景技术
AES(Advanced Encryption Standard,高级加密标准)是由美国国家标准与技术研究院2001年制定的新一代分组对称密码算法,用于取代原来的DES(Data EncryptionStandard,数据加密标准)。目前,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轮普通轮变换,以及末轮变换,首轮变换依次进行密钥加运算及字节替换运算,普通轮变换依次完成行移位运算、列混合运算、密钥加运算及字节替换运算,末轮变换依次完成行移位运算及密钥加运算,实现轮变换中各个运算的运算单元可以单独实现,通过各运算单元单独实现的轮变换电路不仅浪费电路资源,且关键路径较长。
将相邻的几个运算单元合并成一个运算单元进行实现,T盒实现方式是目前轮变换电路实现中最常用的运算单元合并实现方式,T盒实现通过预计算方式将S盒、行移位和列混合等运算的运算结果预存一个存储运算单元中,以查询表的方式实现S盒、行移位和列混合合并运算功能。T盒实现减少了整个轮变换电路的关键路径,因此T盒实现方式主要应用在高速AES电路设计中。T盒实现方式虽然可以加快数据处理速度,但也大大增加了电路面积,如Rach等人将基于复合域S盒/逆S盒中最后一级GF(24)乘法器、映射矩阵/逆映射运算、仿射/逆仿射运算、列混合/逆列混合运算和密钥加运算等五个运算合并成一个运算单元,合并运算单元缩短了电路关键路径,但同时也大大增加了电路面积。
发明内容
本发明实施例提供一种基于合成矩阵的AES加密电路,旨在解决现有基于合并运算的AES加密电路,都是以增加电路面积为代价对关键路径长度进行优化的问题。
本发明是这样实现的,一种AES加密单元,AES加密单元包括:
合成矩阵乘法运算单元1、合成矩阵乘法运算单元2、选择器、复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元;
合成矩阵乘法运算单元1的输入端与明文数据输入端及密钥输入端连接,输出端与选择器的一输入端连接;合成矩阵乘法运算单元2的输入端与密钥输入端及反馈数据输入端连接,两个输出端分别与选择器的另一输入端及密文数据输出端连接;选择器的输出端与复合域乘法逆运算单元的输入端连接;复合域乘法逆运算单元的输出端与合成矩阵乘法运算单元3的输入端连接;合成矩阵乘法运算单元3的输出端与常数加运算单元的输入端连接,常数加运算单元的输出端与反馈数据输出端连接;
合成矩阵乘法运算单元1,将从明文数据输入端输入的数据向量Df=[df0,df1,df2,df3]T及从密钥输入端输入的密钥向量Kv=[k0,k1,k2,k3]T组成的一组列向量Pv=[df0,df1,df2,df3,k0,k1,k2,k3]T,将合成矩阵Δf与列向量Pv进行乘法运算,即Lf=Δf×Pv,将乘法运算结果Lf=[lf0,lf1,lf2,lf3]T输出到选择器,合成矩阵Δf的表达式如下:
合成矩阵乘法运算单元2,将从反馈数据输入端输入的数据向量Dn=[dn0,dn1,dn2,dn3]T和密钥向量Kv=[k0,k1,k2,k3]T组合成一个列向量Ov=[dn0,dn1,dn2,dn3,k0,k1,k2,k3]T,将合成矩阵Δn与列向量Ov进行乘法运算,将运算结果Ln=[ln0,ln1,ln2,ln3]T及Cv=[c0,c1,c2,c3]T分别输出到选择器和密文数据输出端其中,Ln和Cv分别为合成矩阵Δn与列向量Ov乘法运算结果的第一行至第四行、第五行至第八行组成的列向量,合成矩阵Δn的表达式表示如下:
选择器将两组数据Lf和Ln中选择一组送入复合域乘法逆运算单元中,当进行首轮变换运算时,将数据Lf送入复合域乘法逆运算单元中,当进行普通轮变换运算时,将数据Ln送入复合域乘法逆运算单元中;
复合域乘法逆运算单元,对选择器输出的数据Lf或数据Ln中的每个字节进行复合域乘法逆运算,将复合域乘法逆运算结果Iv=[i0,i1,i2,i3]T输出到合成矩阵乘法运算单元3;
合成矩阵乘法运算单元3,将合成矩阵Λ与数据向量Iv=[i0,i1,i2,i3]T进行乘法运算,即Qv=Λ×Iv,并将运算结果Qv=[q0,q1,q2,q3]T输出到常数加运算单元,合成矩阵Λ的表达式表示如下:
常数加运算单元,将向量Qv=[q0,q1,q2,q3]T与常数向量Ωv=[ω,ω,ω,ω]T相加运算,即Rv=Qv+Ωv,运算结果Rv=[r0,r1,r2,r3]T通过反馈数据输出端反馈至反馈数据输入端,其中,常数ω为AES S盒中仿射运算所指定的字节常数。
本发明是这样实现的,一种AES加密电路,AES述加密电路包括:
一个AES加密单元,以及寄存器1和寄存器2,其中,所述寄存器1的输入端与所述AES加密单元的反馈数据输出端连接,输出端与寄存器2的输入端相连接,寄存器2输出端与所述AES加密单元的反馈数据输入端连接;
所述寄存器1及寄存器2的数据位宽为16字节。
本发明是这样实现的,一种AES加密电路,AES加密电路包括:
两个AES加密单元,以及寄存器1和寄存器2,其中,寄存器1的输入端与两AES加密单元的反馈数据输出端连接,输出端与寄存器2的输入端相连接,寄存器2输出端与两AES加密单元的反馈数据输入端连接;
寄存器1及寄存器2的数据位宽为16字节。
本发明是这样实现的,一种AES加密电路,AES加密电路包括:
四个AES加密单元,以及寄存器,其中,所述寄存器的输入端与四个AES加密单元的反馈数据输出端连接,输出端与四个AES加密单元的反馈数据输入端连接;
寄存器的数据位宽为16字节。
本发明是这样实现的,一种基于AES加密电路的AES加密方法,方法包括如下步骤:
S1、AES加密电路的前4轮运算构成首轮变换,在首轮变换运算中,将从明文数据输入端输入的数据输入合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf输入选择器,选择器选择将数据向量Lf输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元的运算,将运算结果输出到寄存器1中,AES加密电路每轮进行4个字节的数据运算,经过4轮运算后,寄存器1将存储的数据输出到寄存器2中;
S2、AES加密电路的第5~4Nr轮运算构成普通轮变换,在普通轮变运算中,寄存器2将4字节的数据通过反馈数据输入端输入合成矩阵乘法运算单元2,经合成矩阵乘法运算单元2的运算,将运算结果Ln输入选择器,将运算结果Cv从密文数据输出端口输出,选择器选择将数据向量Ln输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元运算,将运算结果输出到寄存器1中,每循环4轮,即完成一组16字节的数据运算后,寄存器1存储的数据输出到寄存器2中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;
S3、AES加密电路的第(4Nr+1)~(4Nr+4)轮运算为末轮变换,寄存器2将4字节的数据通过反馈数据输入端输入合成矩阵乘法运算单元2,经合成矩阵乘法运算单元2的运算,运算结果Cv从密文数据输出端输出,经4轮循环运算后,从密文数据输出端输出的数据即为密文。
本发明是这样实现的,一种基于AES加密电路的AES加密方法,方法包括如下步骤:
S1、AES加密电路的前2轮运算构成首轮变换,两AES加密单元同时进行首轮变换运算,在首轮变换运算中,从明文数据输入端输入的数据输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf输入选择器,选择器选择将数据向量Lf输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元的运算,将运算结果输出到寄存器1中,AES加密电路每轮进行8个字节的数据运算,经过2轮运算后,寄存器1将存储的数据输出到寄存器2中;
S2、AES加密电路的第3~2Nr轮运算构成普通轮变换,寄存器2将两组4字节的数据通过两反馈数据输入端分别输入两AES加密单元的合成矩阵乘法运算单元2,两个AES加密单元同时进行普通轮变换运算,经合成矩阵乘法运算单元2的运算,将运算结果Ln输出至选择器,将运算结果Cv从密文数据输出端输出,选择器选择将数据向量Ln输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元运算,将运算结果输出到寄存器1中,每循环2轮,即完成一组16字节的数据运算后,寄存器1存储的数据输出到寄存器2中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;
S3、AES加密电路的第(2Nr+1)~(2Nr+2)轮运算为末轮变换,寄存器2将两组4字节的数据通过两反馈数据输入端分别输入两AES加密单元的合成矩阵乘法运算单元2,两个AES加密单元同时进行末轮变换运算,经合成矩阵乘法运算单元2的运算,运算结果Cv从密文数据输出端输出,经2轮循环运算后,从密文数据输出端输出的数据即为密文。
本发明是这样实现的,一种基于AES加密电路的AES加密方法,方法包括如下步骤:
S1、AES加密电路的第一轮运算构成首轮变换,四个AES加密单元同时进行首轮变换运算,在首轮变换运算中,明文数据均从明文数据输入端输入至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf输入选择器,选择器选择将数据向量Lf输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元的运算,将运算结果输出到寄存器1中,AES加密电路每轮进行16字节的数据运算,经过一轮运算后,寄存器1将存储的数据输出到寄存器2中;
S2、AES加密电路的第2~Nr轮运算构成普通轮变换,寄存器2将四组4字节的数据通过四反馈数据输入端分别输入四个AES加密单元的合成矩阵乘法运算单元2,四个AES加密单元同时进行普通轮变换运算,即经合成矩阵乘法运算单元2的运算,将运算结果Ln输出至选择器,将运算结果Cv从密文数据输出端输出,选择器选择将数据向量Ln输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元运算,将运算结果输出到寄存器1中,每循环一轮,即完成一组16字节的数据运算后,寄存器1存储的数据输出到寄存器2中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;
S3、AES加密电路的第Nr+1轮运算为末轮变换,寄存器2将四组字节的数据通过四个反馈数据输入端分别输入四个AES加密单元的合成矩阵乘法运算单元2,四个AES加密单元同时进行末轮变换运算,即经合成矩阵乘法运算单元2的运算,运算结果Cv从密文数据输出端输出,经一轮循环运算后,从密文数据输出端输出的数据即为密文。
本发明提出AES加密单元,实现4个字节的AES加密运算,AES加密单元通过常数矩阵的合并与合成运算,将轮变换中的所有线性变换运算组合成两个合成矩阵,合成矩阵Δ与合成矩阵Λ,从而缩短出AES加密电路关键路径,同时减少电路实现面积。
附图说明
图1为本发明实施例提供的现有的AES加密流程图;
图2为本发明实施例提供的AES加密单元的结构示意图;
图3为本发明实施例一提供的AES加密电路的结构示意图;
图4为本发明实施例二提供的AES加密电路的结构示意图;
图5为本发明实施例三提供的AES加密电路的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现有的运算单元主要包括:行移位运算单元、列混合运算单元、密钥加运算单元、字节替换运算单元均为现有的运算单元,运算单元的运算方法如下所述:
1.行移位运算单元
行移位运算单元进行行位移运算,是一个简单的运算,在这个运算中,状态矩阵的第一行不变换,第二,三,四行分别向左移位一个字节,二个字节,和三个字节。假设经过行移位运算后的状态矩阵为:
行移位之后的状态矩阵可以表达为:
在硬件实现中,行移位运算不需要消耗任何逻辑电路资源,只需调整总线位置即可实现行移位运算。
2.列混合运算单元
列混合运算单元进行列混合运算,在列混合运算中,状态矩阵的每一列可以视为环R上的一个三次多项式,则列混合运算定义为状态矩阵的各个列多项式与一个常数多项式在环R上的乘积。假设经过列混合运算后的状态矩阵为:
列混合运算的表达式为:
3.密钥加运算单元
密钥加运算单元进行密钥加运算,是一个很简单的运算,密钥加运算定义为状态矩阵加上子密钥矩阵,这里的加法运算为GF(2)域加法运算,即位异或运算。假设经过密钥加运算后的状态矩阵为:
密钥加运算表达式为:
其中矩阵K为子密钥矩阵,子密钥矩阵由输入的原始密钥通过密钥扩展算法产生,子密钥矩阵也为4×4字节矩阵。
4.字节替换运算单元
字节替换运算单元进行字节替换运算,通常称为S盒运算,S盒运算是将状态矩阵中的每个字节根据字节替换表进行替换操作。假设经过S盒运算后的状态矩阵为:
则S盒运算可以表达为:
其中S()为S盒运算函数。S盒运算是普通轮变换四个运算中唯一的非线性运算,也是运算复杂度最高的运算,因此S盒电路占据了整个AES电路的绝大部分面积和功耗。
AES S盒运算中,输入字节首先进行一个有限域GF(28)域上乘法逆运算,然后进行一个仿射运算,其表达式为:
其中x为输入字节,()A -1为GF(28)域上的乘法逆运算,τ为8×8bit常数矩阵,ω为字节常数,τ和ω用于完成S盒中的仿射运算。
本发明所涉及GF(28)域为AES密码算法中所指定的GF(28)域,其不可约多项式为
f(x)=x8+x4+x3+x+1
常数矩阵τ和字节常数ω分别为:
在众多S盒实现方式中,基于复合域的S盒实现具有最小的电路面积。复合域S盒通过数学变换将S盒中的主要运算单元—GF(28)域乘法逆运算单元映射到复合域中实现。复合域乘法逆运算的计算复杂度要远远小于GF(28)域乘法逆的计算复杂度,因而可以大大减少S盒电路实现的硬件复杂度。
基于复合域的AES S盒运算表达式为:
其中()C -1为复合域上的乘法逆运算,复合域为任意与GF(28)域同构的复合域,δ为8×8bit映射矩阵,其作用是将输入字节x从GF(28)域映射到复合域,δ′为δ逆矩阵,其作用是将复合域乘法逆运算结果从复合域映射回到GF(28)域。
在有限域中,加法运算为位异或逻辑运算。根据 因此,常数加运算+ω在硬件实现时,加0运算可以直接省略掉,加1运算可以用两种方法代替异或逻辑运算:1.任意两个变量的异或逻辑采用同或逻辑代替;2.任意两个变量的采用异或逻辑+取反逻辑实现。由于同或逻辑门与异或逻辑门的电路面积和延时几乎相同,同时相比于异或逻辑门,反向逻辑门的电路面积和延时可以忽略,因此,在S盒硬件实现时,常数加运算+ω电路面积和延时可以忽略不计。
普通轮变换运算
普通轮变换中的四个运算单元可以单独实现,也可以将相邻的几个运算单元合并成一个运算单元进行实现。运算单元单独实现的轮变换电路不仅浪费电路资源,且关键路径较长。本发明根据普通轮变换公式,通过常数矩阵的合并与合成运算,对普通轮变换中的线性运算进行合并。根据上述中轮变换中的各个子运算公式,可以得出普通轮变换公式为:
其中Φ0:Φ3为常数矩阵Φ中的行向量,Dn0:Dn3为行移位后的数据矩阵Dn中的列向量,即:
将上述公式中具有相同输入的输出变量rx,y划分一组,则每一列输出变量可以组成一组,上述公式共可以划分成四个分组。这四个分组具有相同运算操作,并在硬件实现时具有相同的电路运算单元。每一分组输出变量都可以表达为线性方程形式:
上式中的输入变量和输出变量在每一分组中对应的变量为:
为了减少电路实现面积,本发明进一步将S盒中的GF(28)乘法逆映射到复合域中,映射后的普通轮变换分组公式为:
首轮变换运算
按照上述子运算公式,同样可以得出首轮变换公式为:
按照普通轮变换分组,将上述首轮变换公式也可以分成四个分组,每一列输出变量划分为一组,则首轮变换分组公式为:
上式中的输入变量和输出变量在每一分组中对应的变量为:
上述分组中,除了输入变量df0:df3以外,输入变量k0:k3和输出变量r0:r3在每一分组中对应的变量与普通轮变换相同。基于复合域的首轮变换分组公式为:
末轮变换运算
按照上述子运算公式,同样也可以得出末轮变换公式为:
按照普通轮变换分组,将末轮变换公式也可以分成四个分组,每一列输出变量划分为一组,则末轮变换分组公式为:
上式中的输入变量和输出变量在每一分组中对应的变量与普通轮变换相同。末轮变换在硬件实现时,只需要一级有限域加法运算。
本发明提出AES加密单元,实现4个字节的AES加密运算,AES加密单元通过常数矩阵的合并与合成运算,将轮变换中的所有线性变换运算组合成两个合成矩阵,合成矩阵Δ与合成矩阵Λ,从而缩短出AES加密电路关键路径,同时减少电路实现面积。
图2为本发明实施例提供的AES加密单元的结构示意图,为了便于说明,仅示出与本发明实施例相关的部分。
该AES加密单元,用于实现4字节的AES加密,包括:
合成矩阵乘法运算单元1、合成矩阵乘法运算单元2、选择器、复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元;
合成矩阵乘法运算单元1的输入端与明文数据输入端及密钥输入端连接,其输出端与选择器的一输入端连接;合成矩阵乘法运算单元2的输入端与密钥输入端及反馈数据输入端连接,其两输出端分别与选择器的另一输入端及密文数据输出连接;选择器的输出端与复合域乘法逆运算单元的输入端连接;复合域乘法逆运算单元的输出端与合成矩阵乘法运算单元3的输入端连接;合成矩阵乘法运算单元3的输出端与常数加运算单元的输入端连接,常数加运算单元的输出端与反馈数据输出端连接;
合成矩阵乘法运算单元1、合成矩阵乘法运算单元2、选择器、复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元的数据输入端及数据输出端的数据位宽均为四个字节,密钥输入端的数据位宽也为四个字节;
合成矩阵乘法运算单元1,其数据位宽为4字节,将从明文数据输入端输入的数据向量Df=[df0,df1,df2,df3]T及从密钥输入端输入的密钥向量Kv=[k0,k1,k2,k3]T组成的一组列向量Pv=[df0,df1,df2,df3,k0,k1,k2,k3]T,将合成矩阵Δf与列向量Pv进行乘法运算,合成矩阵Δf由八个常数矩阵δ组合而成,合成矩阵Δf的表达式如下:
其中,常数矩阵δ为映射矩阵,其作用是将GF(28)域上的元素映射到复合域上,合成矩阵乘法运算单元1的具体表达形式为:
运算结果Lf=[lf0,lf1,lf2,lf3]T输出到二选一选择器。
合成矩阵乘法运算单元2,其数据位宽为4字节,将从反馈数据输入端输入的数据向量Dn=[dn0,dn1,dn2,dn3]T和密钥向量Kv=[k0,k1,k2,k3]T组合成一个列向量Ov=[dn0,dn1,dn2,dn3,k0,k1,k2,k3]T,将合成矩阵Δn与列向量Ov进行乘法运算,合成矩阵Δn由γ3、γ2、γ1、δ、组合而成,合成矩阵Δn的表达式表示如下:
其中,常数矩阵γ3为常数矩阵δ和常数矩阵的乘积,即常数矩阵γ2为常数矩阵δ和常数矩阵的乘积,即常数矩阵γ1为常数矩阵δ和常数矩阵的乘积,即常数矩阵分别为GF(28)域上乘常数×{03}16、×{02}16、×{01}16的矩阵形式,常数矩阵δ为映射矩阵,其作用是将GF(28)域上的元素映射到复合域上,合成矩阵乘法运算单元2的具体表达形式为:
将运算结果Ln=[ln0,ln1,ln2,ln3]T及Cv=[c0,c1,c2,c3]T分别输出到二选一选择器和密文数据输出端。
二选一选择器,其数据位宽为4字节,根据选择信号s从两组数据Lf和Ln中选择一组送入复合域乘法逆运算单元中,当进行首轮变换运算时,选择信号s为0,选择器将数据Lf送入复合域乘法逆运算单元。当进行普通轮变换运算时,选择信号s为1,选择器将数据Ln送入复合域乘法逆运算单元,选择器的具体表达形式为:
选择器输出结果Lv=[l0,l1,l2,l3]T输出到复合域乘法逆运算单元中。
复合域乘法逆运算单元,将Lv=[l0,l1,l2,l3]T中的每个字节进行复合域乘法逆运算,这里的复合域为任意与GF(28)域同构的复合域,复合域乘法逆运算单元的具体表达形式为:
运算结果Iv=[i0,i1,i2,i3]T输出到合成矩阵乘法运算单元3。
合成矩阵乘法运算单元3,将合成矩阵Λ与数据向量Iv=[i0,i1,i2,i3]T进行乘法运算,合成矩阵Λ由四个常数矩阵λ组合而成,合成矩阵Λ的表达式表示如下:
其中,常数矩阵λ为常数矩阵τ和常数矩阵δ′的乘积,即λ=τ×δ′,常数矩阵τ为AESS盒中仿射运算所指定的常数矩阵,常数矩阵δ′为映射矩阵,其作用是将复合域上的元素映射到GF(28)域上,合成矩阵乘法运算子单元3的具体表达形式为:
运算结果Qv=[q0,q1,q2,q3]T输出到常数加运算单元。
常数加运算单元,将向量Qv=[q0,q1,q2,q3]T与常数向量Ωv=[ω,ω,ω,ω]T相加运算,其中,常数ω为AES S盒中仿射运算所指定的字节常数。常数加运算单元的具体表达形式为:
运算结果Rv=[r0,r1,r2,r3]T通过反馈数据输出端反馈至反馈数据输入端。
本发明提出的AES加密单元通过常数矩阵的合并与合成运算,将轮变换中的线性变换运算组合成两个合成矩阵,合成矩阵Δ与合成矩阵Λ,从而缩短实现电路关键路径,减少电路实现面积,此外,通过复用合成矩阵乘法运算单元1来构建首轮变换电路、普通轮变换电路及末轮变换复用电路,通过复用复合域乘法逆运算单元、合成矩阵乘法运算单元2及常数加运算单元来实现首轮变换及普通轮变换,节省大量电路资源,进一步减少电路的实现面积。
图3为本发明实施例一提供的AES加密电路的结构示意图,为了便于说明,仅示出与本发明实施例相关的部分。
该AES加密电路包括:
一个AES加密单元,以及寄存器1和寄存器2,寄存器1及寄存器2的数据位宽为16字节,其中,寄存器1的输入端与AES加密单元的反馈数据输出端连接,输出端与寄存器2的输入端相连接,寄存器2输出端与AES加密单元的反馈数据输入端连接。
基于上述AES加密电路的加密方法,该方法包括如下步骤:
S1、AES加密电路的前4轮运算构成首轮变换,在首轮变换运算中,将从明文数据输入端输入的数据输入合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf输入选择器,选择器选择将数据向量Lf输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元的运算,将运算结果输出到寄存器1中,AES加密电路每轮进行4个字节的数据运算,经过4轮运算后,寄存器1将存储的数据输出到寄存器2中;
S2、AES加密电路的第5~4Nr轮运算构成普通轮变换,在普通轮变运算中,寄存器2将4字节的数据通过反馈数据输入端输入合成矩阵乘法运算单元2,经合成矩阵乘法运算单元2的运算,将运算结果Ln输入选择器,将运算结果Cv从密文数据输出端口输出,选择器选择将数据向量Ln输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元运算,将运算结果输出到寄存器1中,每循环4轮,即完成一组16字节的数据运算后,寄存器1存储的数据输出到寄存器2中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;
S3、AES加密电路的第(4Nr+1)~(4Nr+4)轮运算为末轮变换,寄存器2将4字节的数据通过反馈数据输入端输入合成矩阵乘法运算单元2,经合成矩阵乘法运算单元2的运算,运算结果Cv从密文数据输出端输出,经4轮循环运算后,从密文数据输出端输出的数据即为密文。
图4为本发明实施例二提供的AES加密电路的结构示意图,为了便于说明,仅示出与本发明实施例相关的部分。
该AES加密电路包括:
两个AES加密单元,以及寄存器1和寄存器2,寄存器1及寄存器2的数据位宽为16字节,其中,寄存器1的输入端与两AES加密单元的反馈数据输出端连接,输出端与寄存器2的输入端相连接,寄存器2输出端与两AES加密单元的反馈数据输入端连接。
基于上述AES加密电路的加密方法,该方法包括如下步骤:
S1、AES加密电路的前2轮运算构成首轮变换,两AES加密单元同时进行首轮变换运算,在首轮变换运算中,从明文数据输入端输入的数据输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf输入选择器,选择器选择将数据向量Lf输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元的运算,将运算结果输出到寄存器1中,AES加密电路每轮进行8个字节的数据运算,经过2轮运算后,寄存器1将存储的数据输出到寄存器2中;
S2、AES加密电路的第3~2Nr轮运算构成普通轮变换,寄存器2将两组4字节的数据通过两反馈数据输入端分别输入两AES加密单元的合成矩阵乘法运算单元2,两个AES加密单元同时进行普通轮变换运算,经合成矩阵乘法运算单元2的运算,将运算结果Ln输出至选择器,将运算结果Cv从密文数据输出端输出,选择器选择将数据向量Ln输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元运算,将运算结果输出到寄存器1中,每循环2轮,即完成一组16字节的数据运算后,寄存器1存储的数据输出到寄存器2中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;
S3、AES加密电路的第(2Nr+1)~(2Nr+2)轮运算为末轮变换,寄存器2将两组4字节的数据通过两反馈数据输入端分别输入两AES加密单元的合成矩阵乘法运算单元2,两个AES加密单元同时进行末轮变换运算,经合成矩阵乘法运算单元2的运算,运算结果Cv从密文数据输出端输出,经2轮循环运算后,从密文数据输出端输出的数据即为密文。
图5为本发明实施例三提供的AES加密电路的结构示意图,为了便于说明,仅示出与本发明实施例相关的部分
该加密电路包括:
四个AES加密单元,以及寄存器,寄存器的数据位宽为16字节,其中,所述寄存器的输入端与四个AES加密单元的反馈数据输出端连接,输出端与四个AES加密单元的反馈数据输入端连接。
基于上述AES加密电路的加密方法,该方法包括如下步骤:
S1、AES加密电路的第一轮运算构成首轮变换,四个AES加密单元同时进行首轮变换运算,在首轮变换运算中,明文数据均从明文数据输入端输入至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf输入选择器,选择器选择将数据向量Lf输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元的运算,将运算结果输出到寄存器1中,AES加密电路每轮进行16字节的数据运算,经过一轮运算后,寄存器1将存储的数据输出到寄存器2中;
S2、AES加密电路的第2~Nr轮运算构成普通轮变换,寄存器2将四组4字节的数据通过四反馈数据输入端分别输入个四AES加密单元的合成矩阵乘法运算单元2,四个AES加密单元同时进行普通轮变换运算,即经合成矩阵乘法运算单元2的运算,将运算结果Ln输出至选择器,将运算结果Cv从密文数据输出端输出,选择器选择将数据向量Ln输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元运算,将运算结果输出到寄存器1中,每循环一轮,即完成一组16字节的数据运算后,寄存器1存储的数据输出到寄存器2中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;
S3、AES加密电路的第Nr+1轮运算为末轮变换,寄存器2将四组4字节的数据通过四个反馈数据输入端分别输入四个AES加密单元的合成矩阵乘法运算单元2,四个AES加密单元同时进行末轮变换运算,即经合成矩阵乘法运算单元2的运算,运算结果Cv从密文数据输出端输出,经一轮循环运算后,从密文数据输出端输出的数据即为密文。
本发明实施例一提供AES加密电路是通过四个AES加密单元的并行处理来完成16字节的AES加密,实施例二及实施例三是通过AES加密单元的复用来完成16字节的AES加密,通过AES加密单元的复用完成AES加密,可以进一步节省大量电路资源,但复用结构相比于并行处理结构而言,整个AES加密速度要慢。
本发明提出的AES加密电路是基于AES加密单元构成的,通过复用合成矩阵乘法运算单元1来构建首轮变换电路、普通轮变换电路及末轮变换复用电路,通过复用复合域乘法逆运算单元、合成矩阵乘法运算单元2及常数加运算单元来构建首轮变换、普通轮变换及末轮变换,节省大量电路资源,进一步减少电路的实现面积;此外,AES加密单元通过常数矩阵的合并与合成运算,从而缩短了AES加密电路的关键路径,进一步减少AES加密电路实现面积。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种AES加密单元,其特征在于,所述AES加密单元包括
合成矩阵乘法运算单元1、合成矩阵乘法运算单元2、选择器、复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元;
合成矩阵乘法运算单元1的输入端与明文数据输入端及密钥输入端连接,输出端与选择器的一输入端连接;合成矩阵乘法运算单元2的输入端与密钥输入端及反馈数据输入端连接,两个输出端分别与选择器的另一输入端及密文数据输出端连接;选择器的输出端与复合域乘法逆运算单元的输入端连接;复合域乘法逆运算单元的输出端与合成矩阵乘法运算单元3的输入端连接;合成矩阵乘法运算单元3的输出端与常数加运算单元的输入端连接,常数加运算单元的输出端与反馈数据输出端连接;
合成矩阵乘法运算单元1,将从明文数据输入端输入的数据向量Df=[df0,df1,df2,df3]T及从密钥输入端输入的密钥向量Kv=[k0,k1,k2,k3]T组成的一组列向量Pv=[df0,df1,df2,df3,k0,k1,k2,k3]T,将合成矩阵Δf与列向量Pv进行乘法运算,即Lf=Δf×Pv,将乘法运算结果Lf=[lf0,lf1,lf2,lf3]T输出到选择器,合成矩阵Δf的表达式如下:
其中,合成矩阵Δf由八个常数矩阵δ组合而成,常数矩阵δ为将GF(28)域上的元素映射到复合域上的映射矩阵;
合成矩阵乘法运算单元2,将从反馈数据输入端输入的数据向量Dn=[dn0,dn1,dn2,dn3]T和密钥向量Kv=[k0,k1,k2,k3]T组合成一个列向量Ov=[dn0,dn1,dn2,dn3,k0,k1,k2,k3]T,将合成矩阵Δn与列向量Ov进行乘法运算,将运算结果Ln=[ln0,ln1,ln2,ln3]T及Cv=[c0,c1,c2,c3]T分别输出到选择器和密文数据输出端,其中,Ln和Cv分别为合成矩阵Δn与列向量Ov乘法运算结果的第一行至第四行、第五行至第八行组成的列向量,合成矩阵Δn的表达式表示如下:
其中,合成矩阵Δn由γ3、γ2、γ1、δ、组合而成,常数矩阵γ3为常数矩阵δ和常数矩阵的乘积,即常数矩阵γ2为常数矩阵δ和常数矩阵的乘积,即常数矩阵γ1为常数矩阵δ和常数矩阵的乘积,即常数矩阵分别为GF(28)域上乘常数×{03}16、×{02}16、×{01}16的矩阵形式,常数矩阵δ为将GF(28)域上的元素映射到复合域上的映射矩阵;
选择器将两组数据Lf和Ln中选择一组送入复合域乘法逆运算单元中,当进行首轮变换运算时,将数据Lf送入复合域乘法逆运算单元中,当进行普通轮变换运算时,将数据Ln送入复合域乘法逆运算单元中;
复合域乘法逆运算单元,对选择器输出的数据Lf或数据Ln中的每个字节进行复合域乘法逆运算,将复合域乘法逆运算结果Iv=[i0,i1,i2,i3]T输出到合成矩阵乘法运算单元3,所述复合域为与GF(28)域同构的复合域;
合成矩阵乘法运算单元3,将合成矩阵Λ与数据向量Iv=[i0,i1,i2,i3]T进行乘法运算,即Qv=Λ×Iv,并将运算结果Qv=[q0,q1,q2,q3]T输出到常数加运算单元,合成矩阵Λ的表达式表示如下:
其中,合成矩阵Λ由四个常数矩阵λ组合而成,常数矩阵λ为常数矩阵τ和常数矩阵δ′的乘积,即λ=τ×δ′,常数矩阵τ为AES S盒中仿射运算所指定的常数矩阵,常数矩阵δ′为将复合域上的元素映射到GF(28)域上的映射矩阵;
常数加运算单元,将向量Qv=[q0,q1,q2,q3]T与常数向量Ωv=[ω,ω,ω,ω]T相加运算,即Rv=Qv+Ωv,运算结果Rv=[r0,r1,r2,r3]T通过反馈数据输出端反馈至反馈数据输入端,其中,常数ω为AES S盒中仿射运算所指定的字节常数;
合成矩阵乘法运算单元1、合成矩阵乘法运算单元2、选择器、复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元的数据输入端及数据输出端的数据位宽均为四个字节,密钥输入端的数据位宽四个字节。
2.一种AES加密电路,其特征在于,所述AES述加密电路包括:
一个如权利要求1所述的AES加密单元,以及寄存器1和寄存器2,其中,所述寄存器1的输入端与所述AES加密单元的反馈数据输出端连接,输出端与寄存器2的输入端相连接,寄存器2输出端与所述AES加密单元的反馈数据输入端连接;
所述寄存器1及寄存器2的数据位宽为16字节。
3.一种AES加密电路,其特征在于,所述AES加密电路包括:
两个如权利要求1所述AES加密单元,以及寄存器1和寄存器2,其中,寄存器1的输入端与两个AES加密单元的反馈数据输出端连接,输出端与寄存器2的输入端相连接,寄存器2输出端与两个AES加密单元的反馈数据输入端连接;
寄存器1及寄存器2的数据位宽为16字节。
4.一种AES加密电路,其特征在于,所述AES加密电路包括:
四个如权利要求1所述AES加密单元,以及寄存器,其中,所述寄存器的输入端与四个AES加密单元的反馈数据输出端连接,输出端与四个AES加密单元的反馈数据输入端连接;
寄存器的数据位宽为16字节。
5.一种基于权利要求2所述的AES加密电路的AES加密方法,其特征在于,所述方法包括如下步骤:
S1、AES加密电路的前4轮运算构成首轮变换,在首轮变换运算中,将从明文数据输入端输入的数据输入合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf输入选择器,选择器选择将数据向量Lf输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元的运算,将运算结果输出到寄存器1中,AES加密电路每轮进行4个字节的数据运算,经过4轮运算后,寄存器1将存储的数据输出到寄存器2中;
S2、AES加密电路的第5~4Nr轮运算构成普通轮变换,在普通轮变换运算中,寄存器2将4字节的数据通过反馈数据输入端输入合成矩阵乘法运算单元2,经合成矩阵乘法运算单元2的运算,将运算结果Ln输入选择器,将运算结果Cv从密文数据输出端口输出,选择器选择将数据向量Ln输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元运算,将运算结果输出到寄存器1中,每循环4轮,即完成一组16字节的数据运算后,寄存器1存储的数据输出到寄存器2中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;
S3、AES加密电路的第(4Nr+1)~(4Nr+4)轮运算为末轮变换,寄存器2将4字节的数据通过反馈数据输入端输入合成矩阵乘法运算单元2,经合成矩阵乘法运算单元2的运算,运算结果Cv从密文数据输出端输出,经4轮循环运算后,从密文数据输出端输出的数据即为密文,Nr为轮变换数量。
6.一种基于权利要求3所述的AES加密电路的AES加密方法,其特征在于,所述方法包括如下步骤:
S1、AES加密电路的前2轮运算构成首轮变换,两AES加密单元同时进行首轮变换运算,在首轮变换运算中,从明文数据输入端输入的数据输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf输入选择器,选择器选择将数据向量Lf输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元的运算,将运算结果输出到寄存器1中,AES加密电路每轮进行8个字节的数据运算,经过2轮运算后,寄存器1将存储的数据输出到寄存器2中;
S2、AES加密电路的第3~2Nr轮运算构成普通轮变换,寄存器2将两组4字节的数据通过两反馈数据输入端分别输入两AES加密单元的合成矩阵乘法运算单元2,两个AES加密单元同时进行普通轮变换运算,经合成矩阵乘法运算单元2的运算,将运算结果Ln输出至选择器,将运算结果Cv从密文数据输出端输出,选择器选择将数据向量Ln输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元运算,将运算结果输出到寄存器1中,每循环2轮,即完成一组16字节的数据运算后,寄存器1存储的数据输出到寄存器2中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;
S3、AES加密电路的第(2Nr+1)~(2Nr+2)轮运算为末轮变换,寄存器2将两组4字节的数据通过两反馈数据输入端分别输入两AES加密单元的合成矩阵乘法运算单元2,两个AES加密单元同时进行末轮变换运算,经合成矩阵乘法运算单元2的运算,运算结果Cv从密文数据输出端输出,经2轮循环运算后,从密文数据输出端输出的数据即为密文,Nr为轮变换数量。
7.一种基于权利要求4所述的AES加密电路的AES加密方法,其特征在于,所述方法包括如下步骤:
S1、AES加密电路的第一轮运算构成首轮变换,四个AES加密单元同时进行首轮变换运算,在首轮变换运算中,明文数据均从明文数据输入端输入至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf输入选择器,选择器选择将数据向量Lf输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元的运算,将运算结果输出到寄存器1中,AES加密电路每轮进行16字节的数据运算,经过一轮运算后,寄存器1将存储的数据输出到寄存器2中;
S2、AES加密电路的第2~Nr轮运算构成普通轮变换,寄存器2将四组4字节的数据通过四反馈数据输入端分别输入四个AES加密单元的合成矩阵乘法运算单元2,四个AES加密单元同时进行普通轮变换运算,即经合成矩阵乘法运算单元2的运算,将运算结果Ln输出至选择器,将运算结果Cv从密文数据输出端输出,选择器选择将数据向量Ln输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元3、及常数加运算单元运算,将运算结果输出到寄存器1中,每循环一轮,即完成一组16字节的数据运算后,寄存器1存储的数据输出到寄存器2中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;
S3、AES加密电路的第Nr+1轮运算为末轮变换,寄存器2将四组4字节的数据通过四个反馈数据输入端分别输入四个AES加密单元的合成矩阵乘法运算单元2,四个AES加密单元同时进行末轮变换运算,即经合成矩阵乘法运算单元2的运算,运算结果Cv从密文数据输出端输出,经一轮循环运算后,从密文数据输出端输出的数据即为密文,Nr为轮变换数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810597091.XA CN108989018B (zh) | 2018-06-11 | 2018-06-11 | 一种aes加密单元、aes加密电路及加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810597091.XA CN108989018B (zh) | 2018-06-11 | 2018-06-11 | 一种aes加密单元、aes加密电路及加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108989018A CN108989018A (zh) | 2018-12-11 |
CN108989018B true CN108989018B (zh) | 2021-05-04 |
Family
ID=64540264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810597091.XA Active CN108989018B (zh) | 2018-06-11 | 2018-06-11 | 一种aes加密单元、aes加密电路及加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108989018B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114239839B (zh) * | 2022-02-25 | 2022-06-21 | 南京明博互联网安全创新研究院有限公司 | 一种实现AES S-box量子电路的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101409616A (zh) * | 2007-10-10 | 2009-04-15 | 佳能株式会社 | Aes加密/解密电路 |
CN104158651A (zh) * | 2014-07-15 | 2014-11-19 | 南京航空航天大学 | 基于数据冗余实时检错机制的全展开结构aes加/解密电路 |
CN106034021A (zh) * | 2015-03-12 | 2016-10-19 | 中国科学院上海高等研究院 | 轻量级双模兼容aes加解密模块及其方法 |
CN106921487A (zh) * | 2017-03-01 | 2017-07-04 | 芜湖职业技术学院 | 可重构s盒电路结构 |
CN106992852A (zh) * | 2017-05-08 | 2017-07-28 | 芜湖职业技术学院 | 应用于AES与Camellia密码算法的可重构S盒电路结构 |
CN106998249A (zh) * | 2017-05-08 | 2017-08-01 | 芜湖职业技术学院 | 应用于SM4与Camellia密码算法的可重构S盒电路结构 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101593169B1 (ko) * | 2014-08-20 | 2016-02-15 | 한국전자통신연구원 | 페이스텔 구조의 가변길이 블록암호 장치 및 방법 |
-
2018
- 2018-06-11 CN CN201810597091.XA patent/CN108989018B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101409616A (zh) * | 2007-10-10 | 2009-04-15 | 佳能株式会社 | Aes加密/解密电路 |
CN104158651A (zh) * | 2014-07-15 | 2014-11-19 | 南京航空航天大学 | 基于数据冗余实时检错机制的全展开结构aes加/解密电路 |
CN106034021A (zh) * | 2015-03-12 | 2016-10-19 | 中国科学院上海高等研究院 | 轻量级双模兼容aes加解密模块及其方法 |
CN106921487A (zh) * | 2017-03-01 | 2017-07-04 | 芜湖职业技术学院 | 可重构s盒电路结构 |
CN106992852A (zh) * | 2017-05-08 | 2017-07-28 | 芜湖职业技术学院 | 应用于AES与Camellia密码算法的可重构S盒电路结构 |
CN106998249A (zh) * | 2017-05-08 | 2017-08-01 | 芜湖职业技术学院 | 应用于SM4与Camellia密码算法的可重构S盒电路结构 |
Non-Patent Citations (1)
Title |
---|
The Design Method of Compact Composite Field AES S-Box Based on AND-XOR Array Structure;Xiaoqiang Zhang et-al;《2017 12th IEEE Conference on Industrial Electronics and Applications (ICIEA)》;20180208;第1881-1886段 * |
Also Published As
Publication number | Publication date |
---|---|
CN108989018A (zh) | 2018-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Implementation approaches for the advanced encryption standard algorithm | |
CN106921487B (zh) | 可重构s盒电路结构 | |
US20030133568A1 (en) | Programmable data encryption engine for advanced encryption standard algorithm | |
CN109033892B (zh) | 基于合成矩阵的轮变换复用电路及aes解密电路 | |
CN107181586B (zh) | 可重构s盒电路结构 | |
KR100800468B1 (ko) | 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법 | |
CN109039583B (zh) | 复用轮变换电路、aes加密电路及加密方法 | |
US10237066B1 (en) | Multi-channel encryption and authentication | |
CN103684749B (zh) | 一种基于面积与性能平衡优化的klein加密实现方法 | |
CN111064562A (zh) | 一种fpga上的aes算法的实现方法 | |
CN109150495B (zh) | 一种轮变换复用电路及其aes解密电路 | |
CN108933652B (zh) | 一种普通轮变换运算单元、普通轮变换电路及aes解密电路 | |
CN109033893B (zh) | 基于合成矩阵的aes加密单元、aes加密电路及其加密方法 | |
CN109033847B (zh) | Aes加密运算单元、aes加密电路及其加密方法 | |
CN108566271B (zh) | 复用轮变换电路、aes加密电路及其加密方法 | |
JP4098719B2 (ja) | Aesアルゴリズム用のプログラマブルデータ暗号化エンジン | |
CN108809627B (zh) | 轮变换复用电路及aes解密电路 | |
Deshpande et al. | AES encryption engines of many core processor arrays on FPGA by using parallel, pipeline and sequential technique | |
Arrag et al. | Design and Implementation A different Architectures of mixcolumn in FPGA | |
CN108989018B (zh) | 一种aes加密单元、aes加密电路及加密方法 | |
JP2005513541A6 (ja) | Aesアルゴリズム用のプログラマブルデータ暗号化エンジン | |
CN109033023B (zh) | 一种普通轮变换运算单元、普通轮变换电路及aes加密电路 | |
CN108964875B (zh) | 普通轮变换运算单元、普通轮变换电路及aes解密电路 | |
CN109150496B (zh) | Aes加密运算单元、aes加密电路及加密方法 | |
CN109033894B (zh) | 普通轮变换运算单元、普通轮变换电路及其aes加密电路 |
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 |