【技术实现步骤摘要】
复用轮变换电路、AES加密电路及加密方法
本专利技术属于加密
,提供了一种复用轮变换电路、AES加密电路及其加密方法。
技术介绍
AES(AdvancedEncryptionStandard,高级加密标准)是由美国国家标准与技术研究院2001年制定的新一代分组对称密码算法,用于取代原来的DES(DataEncryptionStandard,数据加密标准)。目前,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盒/逆 ...
【技术保护点】
1.一种复用轮变换电路,所述复用轮变换电路用于实现首轮变换、普通轮变换或末轮变换,其特征在于,所述复用轮变换电路包括:合成矩阵乘法运算单元1、复合域乘法逆运算单元、二选一选择器1、合成矩阵乘法运算单元2、常数加运算单元1、常数加运算单元2及二选一选择器2;合成矩阵乘法运算单元1的输入端与反馈数据输入端连接的,输出端与复合域乘法逆运算单元的输入端连接,复合域乘法逆运算单元的输出端与选择器1的一输入端连接,选择器1的另一输入端与初始数据输入端口连接,选择器1的输出端及密钥输入端均与合成矩阵乘法运算单元2的输入端连接,合成矩阵乘法运算单元2的三个输出端分别与选择器2、常数加运算单元1及常数加运算单元2的输入端连接,常数加运算单元1的输出端与选择器2的另一输入端连接,常数加运算单元2的输出端与密文数据输出端连接,选择器2的输出端与反馈数据输出端连接;其中,合成矩阵乘法运算单元1,将合成矩阵Δ与从反馈数据输入端输入的列向量Dv=[d0,d1,d2,d3]T进行乘法运算,将运算后的矩阵Lv=[l0,l1,l2,l3]T输出到复合域乘法逆运算单元,合成矩阵Δ由四个常数矩阵δ组合而成,常数矩阵δ为将G ...
【技术特征摘要】
1.一种复用轮变换电路,所述复用轮变换电路用于实现首轮变换、普通轮变换或末轮变换,其特征在于,所述复用轮变换电路包括:合成矩阵乘法运算单元1、复合域乘法逆运算单元、二选一选择器1、合成矩阵乘法运算单元2、常数加运算单元1、常数加运算单元2及二选一选择器2;合成矩阵乘法运算单元1的输入端与反馈数据输入端连接的,输出端与复合域乘法逆运算单元的输入端连接,复合域乘法逆运算单元的输出端与选择器1的一输入端连接,选择器1的另一输入端与初始数据输入端口连接,选择器1的输出端及密钥输入端均与合成矩阵乘法运算单元2的输入端连接,合成矩阵乘法运算单元2的三个输出端分别与选择器2、常数加运算单元1及常数加运算单元2的输入端连接,常数加运算单元1的输出端与选择器2的另一输入端连接,常数加运算单元2的输出端与密文数据输出端连接,选择器2的输出端与反馈数据输出端连接;其中,合成矩阵乘法运算单元1,将合成矩阵Δ与从反馈数据输入端输入的列向量Dv=[d0,d1,d2,d3]T进行乘法运算,将运算后的矩阵Lv=[l0,l1,l2,l3]T输出到复合域乘法逆运算单元,合成矩阵Δ由四个常数矩阵δ组合而成,常数矩阵δ为将GF(28)域上的元素映射到复合域上的映射矩阵,其中,合成矩阵Δ的表达式如下:复合域乘法逆运算单元,将数据向量Lv=[l0,l1,l2,l3]T中的每个节进行复合域乘法逆运算,复合域为任意与GF(28)域同构的复合域,并将运算后的矩阵Iv=[i0,i1,i2,i3]T输出到选择器1;二选一选择器1,在进行首轮变换运算时,选择器1将从明文数据输入端输入的列向量Tv=[t0,t1,t2,t3]T输出到合成矩阵乘法运算单元2,在进行普通轮变换运算及末轮变换运算时,选择器1将从复合域乘法逆运算单元输出的列向量号Iv=[i0,i1,i2,i3]T输出到合成矩阵乘法运算单元2,二选一选择器1的输出信号为Nv=[n0,n1,n2,n3]T;合成矩阵乘法运算单元2,将数据矩阵Nv=[n0,n1,n2,n3]T和密钥向量Kv=[k0,k1,k2,k3]T组合成一个列向量Pv=[n0,n1,n2,n3,k1,k2,k3,k4]T,并将合成矩阵Λ与列向量Pv进行乘法运算,将乘法运算结果的第一行至第四行组成的向量Qf=[qf0,qf1,qf2,qf3,]T输出到选择器2;乘法运算结果的第五行至第八行组成的向量Qn=[qn0,qn1,qn2,qn3,]T输出至常数加运算单元1,乘法运算结果第九行至第十二行组成的向量Ql=[ql0,ql1,ql2,ql3,]T输出常数加运算单元2,其中,合成矩阵Λ由常数矩阵λ3、λ2、λ1、组合而成,其中,常数矩阵λ3为常数矩阵常数矩阵τ和常数矩阵δ′的乘积,即常数矩阵λ2为常数矩阵常数矩阵τ和常数矩阵δ′的乘积,即常数矩阵λ1为常数矩阵常数矩阵τ和常数矩阵δ′的乘积,即常数矩阵分别为GF(28)域上乘常数×{03}16、×{02}16、×{01}16的矩阵形式,常数矩阵τ为AESS盒中仿射运算所指定的常数矩阵,常数矩阵δ′为将复合域上的元素映射到GF(28)域上的映射矩阵,合成矩阵Λ表达式如下:常数加运算单元1,将合成矩阵乘法运算单元2输出的向量Qn=[qn0,qn1,qn2,qn3]T与常数向量Ωv=[ω0,ω1,ω2,ω3]T相加运算,运算后的矩阵Rn=[rn0,rn1,rn2,rn3]T输出到二选一选择器2,其中常数ω为AESS盒中仿射运算所指定的字节常数,;常数加运算单元2,将合成矩阵乘法运算单元2输出的向量Ql=[ql0,ql1,ql2,ql3]T与常数向量Ωv=[ω0,ω1,ω2,ω3]T相加运算,运算后的矩阵Rl=[rl0,rl1,rl2,rl3]T从密文数据输出端口输出;二选一选择器2,在进行首轮变换运算时,将合成矩阵乘法运算单元2输出的向量Qf=[qf0,qf1,qf2,qf3]T通过反馈数据输出端反馈至反馈数据输入端,在进行普通轮变换运算时,选择器2将常数加运算单元1输出的向量Rn=[rn0,rn1,rn2,rn3]T通过反馈数据输出端反馈至反馈数据输入端;合成矩阵乘法运算单元1、复合域乘法逆运算单元、二选一选择器1、合成矩阵乘法运算单元2、常数加运算单元1、常数加运算单元2、及二选一选择器2的数据输入端及数据输出端的数据位宽均为4个...
【专利技术属性】
技术研发人员:张肖强,郑辛星,梁广俊,刘宇畅,王维,王广亮,王宸宇,
申请(专利权)人:安徽工程大学,
类型:发明
国别省市:安徽,34
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。