1.一种普通轮变换运算单元,用于AES加密,其特征在于,所述普通轮变换运算单元包括:
输入端与数据输入端口连接的合成矩阵乘法运算单元1;输入端与合成矩阵乘法运算单元1输出端连接的复合域乘法逆运算单元;输入端与复合域乘法逆运算单元输出端、密钥输入端口连接的合成矩阵乘法运算单元2;输入端与合成矩阵乘法运算单元2输出端连接的常数加运算单元,常数加运算单元输出端与数据输出端口相连接,其中,合成矩阵乘法运算单元1,从数据输入端口输入四个字节的列向量Dv=[d0,d1,d2,d3]T,T将合成矩阵Δ与列向量Dv进行乘法运算,将乘法运算后的矩阵Lv=[l0,l1,l2,l3]输出到复合域乘法逆运算单元,其中,合成矩阵Δ的表达式如下:复合域乘法逆运算单元,将Lv=[l0,l1,l2,l3]T中的每个字节进行复合域乘法逆运算,并将复合域乘法逆运算后的矩阵Iv=[i0,i1,i2,i3]T输出到合成矩阵乘法运算单元2;
合成矩阵乘法运算单元2,将矩阵Iv=[i0,i1,i2,i3]T及从密钥输入端口输入的密钥向量Kv=[k0,k1,k2,k3]T组合成一个列向量pv=[i0,i1,i3,k0,k1,k2,k3]T,将合成矩阵Λ与列向量pv进行乘法运算,将乘法运算后的矩阵Qv=[q0,q1,q2,q3]T输出到常数加运算单元,其中,合成矩阵Λ表示如下:常数加运算单元,将矩阵Qv=[q0,q1,q2,q3]T与常数向量Ωv=[ω,ω,ω,ω]T相加运算,相加运算后的矩阵Rv=[r0,r1,r2,r3]T从数据输出端口输出,其中,常数ω为AESS盒中仿射运算所指定的字节常数;
合成矩阵乘法运算单元1、复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元的数据输入端及数据输出端的数据位宽均为4个字节,密钥输入端口的数据位宽均为4个字节。
2.一种用于AES加密的普通轮变换电路,其特征在于,所述普通轮变换电路由4×(Nr-1)个如权利要求1所述的普通轮变换运算单元组成,其中,每4个所述普通轮变换运算单元并联组成一个用于完成一次普通轮变换运算的普通轮变换模块,(Nr-1)个普通轮变换模块串联组成普通轮变换电路。
3.一种用于AES加密的普通轮变换电路,其特征在于,所述普通轮变换电路包括:一个如权利要求1所述的普通轮变换运算单元、及用于循环4×(Nr-1)次所述普通轮变换运算单元的循环反馈电路;
其中,循环反馈电路由选择器、寄存器1及寄存器2组成,寄存器1输入端与选择器的输出端连接,寄存器1的输出端与寄存器2的输入端相连接,寄存器2的输出端与普通轮变换运算单元输入端连接,普通轮变换运算单元的输出端与选择器的一输入端连接,选择器的另一输入端与首轮变换电路的输出端连接,普通轮变换运算单元的输出端连接还与末轮变换电路的输入端连接;
所述寄存器1及所述寄存器2的数据位宽均为16字节。
4.一种用于AES加密的普通轮变换电路,其特征在于,所述普通轮变电路包括:由两个如权利要求1所述的普通轮变换运算单元并联组成的普通轮变换模块,及循环反馈电路,所述循环反馈电路用于对普通轮变换模块进行2(Nr-1)次循环;
其中,循环反馈电路由选择器、寄存器1及寄存器2组成,寄存器1的输入端与选择器的输出端连接,寄存器1的输出端与寄存器2的输入端连接,寄存器2的输出端与普通轮变换模块的输入端连接,首轮变换电路的输出端与选择器的一输入端连接,选择器的另一输入端与普通轮变换模块的输出端连接,普通轮变换模块的输出端还与末轮变换电路的输入端连接;
所述寄存器1及所述寄存器2的数据位宽均为16字节。
5.一种用于AES加密的普通轮变换电路,其特征在于,所述普通轮变电路包括:由四个如权利要求1所述的普通轮变换运算单元并联组成的普通轮变换模块,及循环反馈电路,所述循环反馈电路用于对普通轮变换模块进行(Nr-1)次循环;
其中,所述循环反馈电路由选择器及寄存器组成,所述寄存器的输出端与普通轮变换模块的输入端连接,所述寄存器输入端与选择器的输出端连接,所述选择器的一输入端与首轮变换电路的输出端连接,另一输入端与对应的普通轮变换模块的输出端连接,普通轮变换运算模块的输出端还与末轮变换电路的输入端连接;
所述寄存器的数据位宽为16字节。
6.一种AES加密电路,其特征在于,所述AES加密电路包括:
依次串联连接的首轮变换电路、如权利要求2至5任一权利要求所述普通轮加密电路、及末轮变换电路。