欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2018105968106
申请人: 安徽工程大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2023-07-17
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于合成矩阵的AES加密单元,其特征在于,所述AES加密单元包括:

选择器S1、合成矩阵乘法运算单元1、选择器S2、复合域乘法逆运算单元、合成矩阵乘法运算单元2、以及常数加运算单元,其中,

选择器S1的一输入端与明文数据输入端连接,另一输入端与反馈数据输入端连接,输出端与合成矩阵乘法运算单元1的输入端连接,合成矩阵乘法运算单元1的输入端还与密钥输入端连接,合成矩阵乘法运算单元1设有三个输出端,其中两个输出端分别与选择器S2的两输入端连接,另一输出端与密文数据输出端连接,选择器S2的输出端与复合域乘法逆运算单元的输入端连接,复合域乘法逆运算单元的输出端与合成矩阵乘法运算单元2的输入端连接,合成矩阵乘法运算单元2的输出端与常数加运算单元的输入端连接,常数加运算单元的输出端与反馈数据输出端连接;

选择器S1从明文数据输入端输入的数据Df和从反馈数据输入端输入的数据Dn中选择一组送入合成矩阵乘法运算单元1,当进行首轮变换运算时,将数据Df送入合成矩阵乘法运算单元1中,当进行普通轮变换运算及末轮变换运算时,将数据Dn送入合成矩阵乘法运算单元

1;

合成矩阵乘法运算单元1,将数据向量Dv=[d0,d1,d2,d3]T和密钥输入端输入的密钥向量Kv=[k0,k1,k2,k3]T组合成一个列向量Pv=[d0,d1,d2,d3,k0,k1,k2,k3]T,将合成矩阵Δ与列向量Pv进行乘法运算,运算结果Lf、Ln、及Cv分别是指合成矩阵Δ与列向量Pv乘法运算结果的第一行至第四行、第五行至第八行、第九行至第十二行组成的列向量,在进行首轮变换运算及普通轮变换运算时,将数据向量Lf=[lf0,lf1,lf2,lf3]T和数据向量Ln=[ln0,ln1,ln2,ln3]T输出到选择器S2,在进行末轮变换运算时,将数据向量Cv=[c0,c1,c2,c3]T从密文数据输出端输出,同时将运算次数计数置零,其中,合成矩阵Δ由常数矩阵γ3、γ2、γ1、δ、 组合而成,合成矩阵Δ的表达式如下:其中,常数矩阵γ3为常数矩阵δ和常数矩阵 的乘积,即 常数矩阵γ2为常数矩阵δ和常数矩阵 的乘积,即 常数矩阵γ1为常数矩阵δ和常数矩阵 的乘积,即 常数矩阵 分别为GF(28)域上乘常数×{03}16、×{02}16、×{01}16的矩阵形式,常数矩阵δ为将GF(28)域上的元素映射到复合域的映射矩阵;

选择器S2从两组数据Lf和Ln中选择一组送入复合域乘法逆运算单元,当进行首轮变换运算时,将数据Lf送入复合域乘法逆运算单元中,当进行普通轮变换运算时,将数据Ln送入复合域乘法逆运算单元中;

复合域乘法逆运算单元将选择器S2输入的数据Lf或Ln中的每个字节进行复合域乘法逆运算,将复合域乘法逆运算结果Iv=[i0,i1,i2,i3]T输出到合成矩阵乘法运算单元2,所述复合域为任意与GF(28)域同构的复合域;

合成矩阵乘法运算单元2将合成矩阵Λ与数据向量Iv进行乘法运算,将运算结果Qv=[q0,q1,q2,q3]T输出到常数加运算单元,其中,合成矩阵Λ由四个常数矩阵λ组合而成,合成矩阵Λ的表达式如下:其中,常数矩阵λ为常数矩阵τ和常数矩阵δ′的乘积,即λ=τ×δ′,常数矩阵τ为AES S盒中仿射运算所指定的常数矩阵,常数矩阵δ′为将复合域上的元素映射到GF(28)域上的映射矩阵;

常数加运算单元将向量Qv=[q0,q1,q2,q3]T与常数向量Ωv=[ω,ω,ω,ω]T相加运算,将相加运算结果Rv=[r0,r1,r2,r3]T通过反馈数据输出端口反馈至反馈数据输入端,其中,常数ω为AES S盒中仿射运算所指定的字节常数;

明文数据输入端及密钥数据输入端的数据位宽均为四个字节,选择器S1、合成矩阵乘法运算单元1、选择器S2、复合域乘法逆运算单元、合成矩阵乘法运算单元2、以及常数加运算单元的输入端及输出端的数据位宽均为四个字节。

2.一种AES加密电路,其特征在于,所述AES述加密电路包括:

一个如权利要求1所述的AES加密单元,以及寄存器1和寄存器2,所述寄存器1及寄存器

2的数据位宽为16字节,其中,所述寄存器1的输入端与所述AES加密单元的反馈数据输出端连接,输出端与寄存器2的输入端相连接,寄存器2输出端与所述AES加密单元的反馈数据输入端连接。

3.一种AES加密电路,其特征在于,所述AES加密电路包括:

两个如权利要求1所述的AES加密单元,以及寄存器1和寄存器2,所述寄存器1及寄存器

2的数据位宽为16字节,其中,所述寄存器1的输入端与两个AES加密单元的反馈数据输出端连接,输出端与寄存器2的输入端相连接,寄存器2输出端与两个AES加密单元的反馈数据输入端连接。

4.一种AES加密电路,其特征在于,所述AES加密电路包括:

四个如权利要求1所述的AES加密单元,以及寄存器,所述寄存器的数据位宽为16字节,其中,所述寄存器的输入端与四个AES加密单元的反馈数据输出端连接,输出端与四个AES加密单元的反馈数据输入端连接。

5.一种基于权利要求2所述的AES加密电路的AES加密方法,其特征在于,所述方法包括如下步骤:

S1、AES加密单元的前4轮运算构成首轮变换,在首轮变换运算中,明文数据输入端输入的4字节数据经选择器S1进入合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf和Ln输出到选择器S2,选择器S2选择输出运算结果Lf到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,最终常数加运算单元将运算结果输出寄存器1中,经过4轮运算后,寄存器1将存储的数据输出到寄存器2中;

S2、AES加密单元的第5轮至4Nr轮运算构成Nr-1轮普通轮变换,在每轮普通轮变换运算中,寄存器2每次输出4字节的数据至反馈数据输出端,经选择器S1的选择输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf和Ln输入选择器S2,选择器S2选择运算结果Ln输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,常数加运算单元将运算结果输出到寄存器1中,每循环4次完成一组16字节的普通轮变换运算后,寄存器1将存储的数据输出到寄存器2中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;

S3、AES加密单元的第(4Nr+1)轮至第(4Nr+4)轮运算为末轮变换,在末轮变换运算中,寄存器2每次输出4字节的数据至反馈数据输出端,经选择器S1的选择输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Cv从密文数据输出端输出。

6.一种基于权利要求3所述的AES加密电路的AES加密方法,其特征在于,所述方法包括如下步骤:

S1、AES加密电路的前2轮运算构成首轮变换,从两个明文数据输入端分别输入4字节的数据至对应的AES加密单元,两AES加密单元分别进行4字节的首轮运算,在首轮变换运算中,从明文数据输入端输入的明文数据经选择器S1输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,经运算结果Lf和Ln输出到选择器S2,选择器S2选择运算结果Lf输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,常数加运算单元将运算结果输出寄存器1中,AES加密电路经2轮运算完成一组16字节的首轮变换后,寄存器1将存储的数据输入到寄存器2中,寄存器2将两组

4字节的数据分别输出至反馈数据输入端,进行下一轮首轮运算;

S2、AES加密电路的第3轮至第2Nr轮运算为普通轮变换,寄存器2将两组4字节的数据分别通过反馈数据输入端输出到两个AES加密单元,两个AES加密单元分别进行4字节的普通轮变换运算,在普通轮变换运算中,从反馈数据输入端输入的数据经选择器S1的选择输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元的运算,将运算结果Lf和Ln输出选择器S2,选择器S2选择运算结果Ln输入到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,常数加运算单元将运算结果输出到寄存器1中,循环2次完成一轮16字节的普通轮变换运算后,寄存器1将存储的数据输出到寄存器2中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;

S3、AES加密电路的第2Nr+1轮至第2Nr+2轮运算为末轮变换,寄存器2每次将两组4字节的数据分别输出至反馈数据输入端,在末轮变换运算中,经选择器S1的选择输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元的运算,将运算结果Cv从密文数据输出端输出。

7.一种基于权利要求4所述的AES加密电路的AES加密方法,其特征在于,所述方法包括如下步骤:

S1、AES加密电路的第一轮运算构成首轮变换,四组4字节的明文数据分别从4个明文数据输入端输入4个AES加密单元,4个AES加密单元分别进行4字节的首轮变换运算,在首轮变换运算中,从明文数据输入端输入的明文数据经选择器S1的选择输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,经运算结果Lf和Ln输入到选择器S2,选择器S2选择运算结果Lf输出到复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,常数加运算单元将运算结果输出寄存器中;

S2、AES加密电路的第2轮至第Nr轮运算为普通轮变换,寄存器将四组4字节的数据分别通过反馈数据输入端输出到四个AES加密单元,四个AES加密单元分别进行4字节的普通轮变换运算,在普通轮变换运算中,从反馈数据输入端输入的数据经选择器S1的控制输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Lf和Ln输入选择器S2,选择器S2选择运算结果Ln输出至复合域乘法逆运算单元,依次经复合域乘法逆运算单元、合成矩阵乘法运算单元2、及常数加运算单元运算,常数加运算单元将运算结果输出到寄存器中,进行下一轮普通轮变换运算,共进行Nr-1轮普通轮变换运算;

S3、AES加密电路的第Nr+1轮运算为末轮变换,寄存器将四组4字节的数据分别通过反馈数据输入端输出到四个AES加密单元,AES加密单元分别进行4字节的末轮变换运算,在末轮变换运算中,经反馈数据输入端输入的数据经选择器S1的选择,输出至合成矩阵乘法运算单元1,经合成矩阵乘法运算单元1的运算,将运算结果Cv从密文数据输出端输出。