预览加载中,请您耐心等待几秒...
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)申请公布号CN109033847A(43)申请公布日2018.12.18(21)申请号201810596250.4(22)申请日2018.06.11(71)申请人安徽工程大学地址241000安徽省芜湖市鸠江区北京中路8号(72)发明人张肖强刘宇畅郑辛星梁广俊王广亮王宸宇王维(74)专利代理机构芜湖安汇知识产权代理有限公司34107代理人马荣(51)Int.Cl.G06F21/60(2013.01)权利要求书4页说明书14页附图2页(54)发明名称AES加密运算单元、AES加密电路及其加密方法(57)摘要本发明适用于加密技术领域,提供了一种AES加密运算单元、AES加密电路及其加密方法,本发明提出的AES加密运算单元通过常数矩阵的合并与合成运算,将轮变换中的所有线性变换运算组合成两个合成矩阵,合成矩阵Δ与合成矩阵Λ,从而缩短AES加密电路的关键路径,同时减少AES加密电路的实现面积。CN109033847ACN109033847A权利要求书1/4页1.一种AES加密运算单元,其特征在于,所述AES加密运算单元包括:二选一选择器S1、合成矩阵乘法运算单元1、复合域乘法逆运算单元、合成矩阵乘法运算单元2、常数加运算单元1及常数加运算单元2,其中,选择器的两输入端分别与明文数据输入端及反馈数据输入端连接,选择器的输出端及密钥输入端与合成矩阵乘法运算单元1的输入端连接,合成矩阵乘法运算单元1的输出端与复合域乘法逆运算单元的输入端连接,复合域乘法逆运算单元的输出端及密钥输入端均与合成矩阵乘法运算单元2的输入端连接,合成矩阵乘法运算单元2的两输出端分别与常数加运算单元1及常数加运算单元2的输入端连接,常数加运算子1的输出端与反馈数据输出端连接,常数加运算单元2的输出端与密文数据输出端连接;在进行第一轮普通轮变换运算时,二选一选择器S1将从明文数据输入端口输入明文数T据向量Df=[df0,df1,df2,df3]输出到合成矩阵乘法运算单元1,在第二轮至第(Nr-1)轮普通轮变换运算及末轮变换运算时,二选一选择器S1将从反馈数据输入端口输入数据向量Dn=T[dn0,dn1,dn2,dn3]输出到合成矩阵乘法运算单元1;T合成矩阵乘法运算单元1,将从数据输入端输入的列向量Dv=[d0,d1,d2,d3]和密钥输T入端输入的密钥向量Kn=[kn0,kn1,kn2,kn3]组合成一个列向量Pv=[d0,d1,d2,d3,kn0,kn1,TTkn2,kn3],将合成矩阵Δ与列向量Pv进行乘法运算,乘法运算结果Lv=[l0,l1,l2,l3]输出到复合域乘法逆运算单元,所述合成矩阵Δ表达如下:其中,合成矩阵Δ由八个常数矩阵δ组合而成,常数矩阵δ为将GF(28)域上的元素映射到复合域的映射矩阵;T复合域乘法逆运算单元,将向量Lv=[l0,l1,l2,l3]中的每个字节进行复合域乘法逆运T算,运算结果Iv=[i0,i1,i2,i3]输出到合成矩阵乘法运算单元2,所述复合域为任意与GF(28)域同构的复合域;T合成矩阵乘法运算单元2,将数据向量Iv=[i0,i1,i2,i3]和密钥向量Ki=[ki0,ki1,ki2,TTki3]组合成一个列向量Ov=[i0,i1,i2,i3,ki0,ki1,ki2,ki3],将合成矩阵Λ与列向量Ov进行T乘法运算,乘法运算结果第一行至第四行组成的向量Qn=[qn0,qn1,qn2,qn3]及乘法运算结T果第五行至第八行组成的向量Ql=[ql0,ql1,ql2,ql3]分别输出到常数加运算单元1及常数加运算单元2,所述合成矩阵Λ的具体表达如下:2CN109033847A权利要求书2/4页其中,合成矩阵Λ由常数矩阵λ3、λ2、λ1、组合而成,常数矩阵λ3为常数矩阵常数矩阵τ和常数矩阵δ′的乘积,即常数矩阵λ2为常数矩阵常数矩阵τ和常数矩阵δ′的乘积,即常数矩阵λ1为常数矩阵常数矩阵τ和常数矩阵δ′的乘积即8常数矩阵分别为GF(2)域上乘常数×{03}16、×{02}16、×{01}16的矩阵形式;常数矩阵τ为AESS盒中仿射运算所指定的常数矩阵;常数矩阵δ′为将复合域上的元素映射到GF(28)域的映射矩阵;TT常数加运算单元1,将列向量Qn=[qn0,qn1,qn2,qn3]与常数向量Ωv=[ω,ω,ω,ω]相加运算,其中常数ω为AESS盒中仿射运算所指定的字节常数,将运算结果Rn=[rn0,rn1,Trn2,rn3]通过反馈数据输出端反馈至反馈数据输出入端;TT常数加运算单元2,将列向量Ql=[ql0,ql1,ql2,ql3]与常数向量Ωv=[ω,ω,ω,ω]相T加运算,运算结果Rn=[rn0,rn1,rn2,rn3]通过密文数据输出端口输出,取第Nr次运算结果作为