一种轮变换复用电路及其AES解密电路制造技术

技术编号:20013370 阅读:34 留言:0更新日期:2019-01-05 22:00
本发明专利技术涉及密码电路技术领域,提供了一种轮变换复用电路及其AES解密电路,本发明专利技术提供的轮变换复用电路通过常数矩阵的合并与合成运算,将AES解密算法中普通轮变换及末轮变换的所有线性变换运算组合成两个合成矩阵,合成矩阵

A Round-to-Round Multiplexing Circuit and Its AES Decryption Circuit

The invention relates to the technical field of cryptographic circuits, and provides a round-transform multiplexing circuit and its AES decryption circuit. The round-transform multiplexing circuit of the invention combines all the linear transformation operations of the common round-transform and the last round-transform in the AES decryption algorithm into two composite matrices through the merging and combining operations of the constant matrix.

【技术实现步骤摘要】
一种轮变换复用电路及其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轮普通轮变换及末轮变换,首轮变换依次进行密钥加运算及字节替换运算;普通轮变换按顺序进行行移位、列混合和密钥加及字节替换四个运算;首轮变换按顺序进行行移位及密钥加运算。AES解密流程是与加密过程相反的一个过程,如图2所示,也是依次进行首轮变换、Nr-1轮普通轮变换及末轮变换,首轮变换为加密流程中末轮变换的逆运算,依次进行密钥加及逆行移位运算,普通轮变换为加密流程中普通轮变换的逆运算,包括逆字节替换、密钥加、逆列混合、逆行移位运算,末轮变化为加密流程中首轮变换的逆运算,依次进行逆字节替换及密钥加运算,其中,逆列混合、逆行移位和逆字节替换分别为加密流程中列混合、行移位和字节替换的逆运算。依次单独运算的普通轮变换电路及末轮变换电路不仅浪费电路资源,且关键路径较长,因此,通过合成矩阵将相邻的几个运算单元合并成一个运算单元进行实现。T盒实现方式是目前轮变换电路实现中最常用的运算单元合并实现方式,T盒实现通过预计算方式将S盒、行移位和列混合等运算的运算结果预存一个存储运算单元中,以查询表的方式实现S盒、行移位和列混合合并运算功能。T盒实现减少了整个普通轮变换电路的关键路径,因此T盒实现方式主要应用在高速AES电路设计中,T盒实现方式虽然可以加快数据处理速度,但也大大增加了电路面积,如Rach等人将基于复合域S盒/逆S盒中最后一级GF(24)乘法器、映射矩阵/逆映射运算、仿射/逆仿射运算、列混合/逆列混合运算和密钥加运算等五个运算合并成一个运算单元,合并运算单元缩短了关键路径,但同时也大大增加了电路面积,现有的基于合并运算的轮变换电路,都是以增加电路面积为代价对关键路径长度进行了优化。
技术实现思路
本专利技术实施例提供一种AES解密电路,旨在解决现有基于合并运算的轮变换电路,均是以增加电路面积为代价来对关键路径长度进行优化的问题。本专利技术是这样实现的,一种轮变换复用电路,轮变换复用电路包括:合成矩阵乘法运算单元1、常数加运算单元、复合域乘法逆运算单元、合成矩阵乘法运算单元2,合成矩阵乘法运算单元1的输入端与数据输入端连接,输出端与常数加运算单元的输入端连接,常数加运算单元的输出端与复合域乘法逆运算单元的输入端连接,复合域乘法逆运算单元的输出端与合成矩阵乘法运算单元2的输入端连接,合成矩阵乘法运算单元2的输出端分别与反馈数据输出端口及明文数据输出端口连接;合成矩阵乘法运算单元1,将合成矩阵与从数据输入端口输入的列向量进行乘法运算,合成矩阵的表达式如下所示:将运算结果输出到常数加运算单元;常数加运算单元,将数据向量与常数向量Ωλ=[ωλ,ωλ,ωλ,ωλ]T相加运算,将运算结果输出到复合域乘法逆运算单元;复合域乘法逆运算单元,将数据向量中的每个字节进行复合域乘法逆运算,将运算结果输出到合成矩阵乘法运算单元2;合成矩阵乘法运算单元2,将数据向量和密钥向量组合成一个列向量密钥向量与加密运算中的密钥向量Kv相同,将合成矩阵与列向量进行乘法运算,合成矩阵的表达式如下所示:运算结果的第一行至第四行组成的向量从反馈数据输出端口输出,运算结果的第五行至第八行组成的向量从明文数据输出端口输出。本专利技术是这样实现的,一种基于轮变换复用电路的AES解密电路,AES解密电路包括:首轮变换电路、轮变换复用电路、及用于循环轮变换复用电路的循环反馈电路,其中循环反馈电路由选择器、寄存器1及寄存器2组成,选择器的一输入端与首轮变换电路的输出端连接,另一输入端与轮变换复用电路的反馈数据输出端口连接,输出端与寄存器1的输入端连接,寄存器1的输出端与寄存器2的输入端连接,寄存器2的输出端与轮变换复用电路的数据输入端口连接。本专利技术是这样实现的,一种基于轮变换复用电路的AES解密电路,AES解密电路包括:首轮变换电路、两个轮变换复用电路、及用于循环两个轮变换复用电路的循环反馈电路,其中循环反馈电路由选择器、寄存器1及寄存器2组成,选择器的一输入端与首轮变换电路的输出端连接,另一输入端与两个轮变换复用电路的反馈数据输出端口连接,输出端与寄存器1的输入端连接,寄存器1的输出端与寄存器2的输入端连接,寄存器2的输出端与两个轮变换复用电路的数据输入端口连接。本专利技术是这样实现的,一种基于轮变换复用电路的AES解密电路,AES解密电路包括:首轮变换电路、四个轮变换复用电路、及用于循环四个轮变换复用电路的循环反馈电路,其中循环反馈电路由选择器及寄存器组成,寄存器的数据位宽为16字节,选择器的一输入端与首轮变换电路的输出端连接,另一输入端与四个轮变换复用电路的反馈数据输出端口连接,输出端与寄存器的输入端连接,寄存器的输出端与四个轮变换复用电路的数据输入端口连接。轮变换复用电路通过常数矩阵的合并与合成运算,将AES解密算法中普通轮变换及莫轮变换中的所有线性变换运算组合成两个合成矩阵,合成矩阵与合成矩阵从而缩短AES解密电路的关键路径,降低AES解密电路实现面积,研究表明电路规模越大,电路效率越高,因此本专利技术通过矩阵合并与合成将若干小规模线性运算单元组合成大规模的线性运算,有利于电路优化效率的提高,减少电路的实现面积。附图说明图1为本专利技术实施例提供的标准AES加密流程图;图2为本专利技术实施例提供的标准AES解密流程图;图3为本专利技术实施例提供的用于AES解密的轮变换复用电路结构示意图;图4为本专利技术实施例一提供的AES解密电路结构示意图;图5为本专利技术实施例二提供的AES解密电路结构示意图;图6为本专利技术实施例三提供的AES解密电路结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。现有的运算单元通常包括:逆字节替换运算单元、逆行移位运算单元、逆列混合运算单元和密钥加运算单元,上述运算单元的运算公式具体如下:AES轮变换是以矩阵形式进行变换操作的,解密算法将输入的128比特分组数据视为4×4字节矩阵,每个矩阵的元素为1个字节。轮变换的中间结果称之为状态矩阵为4×4字节矩阵。假设普通轮变换输入的状态矩阵为:AES解密过程中的各个运算详细介绍如下:1.逆字节替换运算单元逆字节替换运算单元进行逆字节替换运算,逆字节替换运算为字节替换的逆运算,也称为逆S盒运算。逆S盒运算本文档来自技高网
...

【技术保护点】
1.一种轮变换复用电路,其特征在于,用于进行普通轮变换或末轮变换所述轮变换复用电路包括:合成矩阵乘法运算单元1、常数加运算单元、复合域乘法逆运算单元、合成矩阵乘法运算单元2,合成矩阵乘法运算单元1的输入端与数据输入端连接,输出端与常数加运算单元的输入端连接,常数加运算单元的输出端与复合域乘法逆运算单元的输入端连接,复合域乘法逆运算单元的输出端与合成矩阵乘法运算单元2的输入端连接,合成矩阵乘法运算单元2的输出端分别与反馈数据输出端口及明文数据输出端口连接;合成矩阵乘法运算单元1,将合成矩阵

【技术特征摘要】
1.一种轮变换复用电路,其特征在于,用于进行普通轮变换或末轮变换所述轮变换复用电路包括:合成矩阵乘法运算单元1、常数加运算单元、复合域乘法逆运算单元、合成矩阵乘法运算单元2,合成矩阵乘法运算单元1的输入端与数据输入端连接,输出端与常数加运算单元的输入端连接,常数加运算单元的输出端与复合域乘法逆运算单元的输入端连接,复合域乘法逆运算单元的输出端与合成矩阵乘法运算单元2的输入端连接,合成矩阵乘法运算单元2的输出端分别与反馈数据输出端口及明文数据输出端口连接;合成矩阵乘法运算单元1,将合成矩阵与从数据输入端口输入的列向量进行乘法运算,合成矩阵的表达式如下所示:将运算结果输出到常数加运算单元;常数加运算单元,将数据向量与常数向量Ωλ=[ωλ,ωλ,ωλ,ωλ]T相加运算,将运算结果输出到复合域乘法逆运算单元;复合域乘法逆运算单元,将数据向量中的每个字节进行复合域乘法逆运算,将运算结果输出到合成矩阵乘法运算单元2;合成矩阵乘法运算单元2,将数据向量和密钥向量组合成一个列向量密钥向量与加密运算中的密钥向量Kv相同,将合成矩阵与列向量进行乘法运算,合成矩阵的表达式如下所示:运算结果的第一行至第四行组成的向量从反馈数据输出端口输出,运算结果的第五行至第八行组成的向量从明文数据输出端口输出。2.一种基于权利要求1所述轮变换复用电路的AES解密电路,其特征在于,所述AES解密电路包括:首轮变换...

【专利技术属性】
技术研发人员:张肖强郑辛星魏利胜孙忠先王新航王磊
申请(专利权)人:安徽工程大学
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1