预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共21页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN109150496A(43)申请公布日2019.01.04(21)申请号201810596806.X(22)申请日2018.06.11(71)申请人安徽工程大学地址241000安徽省芜湖市鸠江区北京中路8号(72)发明人张肖强郑辛星辛建芳王维王广亮王宸宇刘宇畅(74)专利代理机构芜湖安汇知识产权代理有限公司34107代理人马荣(51)Int.Cl.H04L9/06(2006.01)权利要求书4页说明书14页附图2页(54)发明名称AES加密运算单元、AES加密电路及加密方法(57)摘要本发明适用于加密技术领域,提供了一种AES加密运算单元、AES加密电路及加密方法,本发明提出的AES加密运算单元通过常数矩阵的合并与合成运算,将轮变换中的所有线性变换运算组合成两个合成矩阵,合成矩阵Δ与合成矩阵Λ,从而缩短AES加密电路的关键路径,且减少AES加密电路的实现面积。CN109150496ACN109150496A权利要求书1/4页1.一种AES加密运算单元,其特征在于,所述AES加密运算单元包括:选择器S1、合成矩阵乘法运算单元1、复合域乘法逆运算单元、合成矩阵乘法运算单元2、常数加运算单元1、常数加运算单元2及选择器S2,其中,选择器S1的两输入端分别与反馈数据输入端及明文数据输入端连接,选择器S1的输出端及密钥输入端与合成矩阵乘法运算单元1的输入端连接,合成矩阵乘法运算单元1的一输出端与复合域乘法逆运算单元的输入端连接,另一输出端与密文数据输出端连接,复合域乘法逆运算单元的输出端与合成矩阵乘法运算单元2的输入端连接,合成矩阵乘法运算单元2的两输出端分别与常数加运算单元1及常数加运算单元2的输入端连接,常数加运算单元1及常数加运算单元2的输出端分别与选择器S2的两输入端连接,选择器S2的输出端与反馈数据输出端连接;在进行第一轮普通轮变换运算时,选择器S1选择将从明文数据输入端口输入明文数据T向量Df=[df0,df1,df2,df3]输出到合成矩阵乘法运算单元1,在进行第二轮至第(Nr-1)轮普通轮变换运算、末轮变换运算及密钥加运算时,选择器S1选择将从反馈数据输入端口输入T数据向量Dn=[dn0,dn1,dn2,dn3]输出到合成矩阵乘法运算单元1;T合成矩阵乘法运算单元1,将选择器S1输出的数据向量Dv=[d0,d1,d2,d3]及从密钥输入TT端输入的密钥向量kv=[k0,k1,k2,k3]组合成一个列向量Pv=[d0,d1,d2,d3,k0,k1,k2,k3],将合成矩阵Δ与列向量Pv进行乘法运算,将乘法运算结果的第一行至第四行组成的向量Lv=T[l0,l1,l2,l3]输出到复合域逆乘法子运算单元,乘法运算结果的第五行至第八行组成的向T量Cv=[c0,c1,c2,c3]输出到密文数据输出端口,所述合成矩阵Δ的具体表达形式为:其中,合成矩阵Δ由常数矩阵δ、组合而成,常数矩阵分别为GF(28)域上乘常数×8{01}16的矩阵形式,常数矩阵δ为将GF(2)域上的元素映射到复合域的映射矩阵;T复合域乘法逆运算单元,将Lv=[l0,l1,l2,l3]中每个字节进行复合域乘法逆运算,并T将运算结果Iv=[i0,i1,i2,i3]输出到合成矩阵乘法子运算单元2,所述复合域为任意与GF(28)域同构的复合域;T合成矩阵乘法运算单元2,将合成矩阵Λ与数据向量Iv=[i0,i1,i2,i3]进行乘法运算,T将乘法运算结果的第一行至第四行组成的向量Qn=[qn0,qn1,qn2,qn3]及第五行至第八行组T成的向量Ql=[ql0,ql1,ql2,ql3]分别输出到常数加运算单元1及常数加运算单元2,所述合成矩阵Λ具体表达如下:2CN109150496A权利要求书2/4页其中,合成矩阵Λ由常数矩阵γ3、γ2、γ1组合而成,常数矩阵γ3为常数矩阵δ和常数矩阵的乘积,即常数矩阵γ2为常数矩阵δ和常数矩阵的乘积,即常数矩阵γ1为常数矩阵δ和常数矩阵的乘积,即常数矩阵分别为GF88(2)域上乘常数×{03}16、×{02}16、×{01}16的矩阵形式,常数矩阵δ为将GF(2)域上的元素映射到复合域的映射矩阵;TT常数加运算单元1,将向量Qn=[qn0,qn1,qn2,qn3]与常数向量Ωv=[ω,ω,ω,ω]相加运算,其中,常数ω为AESS盒中仿射运算所指定的字节常数,将运算结果Rn=[rn0,rn1,rn2,Trn3]输出到选择器S2中;TT常数加运算单元2将向量Ql=[ql0,ql1,ql2,ql3]与常数向量Ωv=[ω,ω,ω,ω]相加T运算,将运算结果Rl=[rl0,rl1,rl2,rl3]输出到选择器S2中;T在进行普通轮变换运算时,选择器S2将运算结果Rn=[r