[发明专利]AES加密运算单元、AES加密电路及加密方法有效
申请号: | 201810596806.X | 申请日: | 2018-06-11 |
公开(公告)号: | CN109150496B | 公开(公告)日: | 2021-05-04 |
发明(设计)人: | 张肖强;郑辛星;辛建芳;王维;王广亮;王宸宇;刘宇畅 | 申请(专利权)人: | 安徽工程大学 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 芜湖安汇知识产权代理有限公司 34107 | 代理人: | 马荣 |
地址: | 241000 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | aes 加密 运算 单元 电路 方法 | ||
本发明适用于加密技术领域,提供了一种AES加密运算单元、AES加密电路及加密方法,本发明提出的AES加密运算单元通过常数矩阵的合并与合成运算,将轮变换中的所有线性变换运算组合成两个合成矩阵,合成矩阵Δ与合成矩阵Λ,从而缩短AES加密电路的关键路径,且减少AES加密电路的实现面积。
技术领域
本发明属于加密技术领域,提供了一种AES加密运算单元、AES加密电路及加密方法。
背景技术
AES(Advanced Encryption Standard,高级加密标准)是由美国国家标准与技术研究院2001年制定的新一代分组对称密码算法,用于取代原来的DES(Data EncryptionStandard,数据加密标准)。目前,AES密码算法已经被多个国际标准组织所采用,是目前使用最广泛的分组密码算法。
AES密码算法的数据分组长度为128比特,密钥长度有128,192和256比特三种,分别称为AES-128,AES-192,AES-256。AES算法是一个迭代算法,每一个迭代可以称为轮变换,密钥长度不同,轮变换数量也不同,AES-168,AES-192,AES-256的轮变换数量Nr分别为10,16,14。
现有的AES加密流程如附图1所示,输入的明文数据首先后进行Nr–1轮普通轮变换、末轮变换、以及密钥加变换,每轮普通轮变换依次进行密钥加运算、字节替换运算,行移位运算及列混合运算;末轮变换依次完成密钥加运算、字节替换运算及行移位运算,实现轮变换中各个运算的运算单元可以单独实现,通过各运算单元单独实现的轮变换电路不仅浪费电路资源,且关键路径较长。
或是将相邻的几个运算单元合并成一个运算单元进行实现,T盒实现方式是目前轮变换电路实现中最常用的运算单元合并实现方式,T盒实现通过预计算方式将S盒、行移位和列混合等运算的运算结果预存一个存储运算单元中,以查询表的方式实现S盒、行移位和列混合合并运算功能。T盒实现减少了整个轮变换电路的关键路径,因此T盒实现方式主要应用在高速AES电路设计中。T盒实现方式虽然可以加快数据处理速度,但也大大增加了电路面积,如Rach等人将基于复合域S盒/逆S盒中最后一级GF(24)乘法器、映射矩阵/逆映射运算、仿射/逆仿射运算、列混合/逆列混合运算和密钥加运算等五个运算合并成一个运算单元,合并运算单元缩短了电路关键路径,但同时也大大增加了电路面积。
发明内容
本发明实施例提供一种AES加密电路,旨在解决现有的基于合并运算的AES加密电路,都是以增加电路面积为代价对关键路径长度进行优化的问题。
本发明是这样实现的,一种AES加密运算单元AES加密运算单元包括:
选择器S1、合成矩阵乘法运算单元1、复合域乘法逆运算单元、合成矩阵乘法运算单元2、常数加运算单元1、常数加运算单元2及选择器S2,其中,选择器S1的两输入端分别与反馈数据输入端及明文数据输入端连接,选择器S1的输出端及密钥输入端与合成矩阵乘法运算单元1的输入端连接,合成矩阵乘法运算单元1的一输出端与复合域乘法逆运算单元的输入端连接,另一输出端与密文数据输出端连接,复合域乘法逆运算单元的输出端与合成矩阵乘法运算单元2的输入端连接,合成矩阵乘法运算单元2的两输出端分别与常数加运算单元1及常数加运算单元2的输入端连接,常数加运算单元1及常数加运算单元2的输出端分别与选择器S2的两输入端连接,选择器S2的输出端与反馈数据输出端连接;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽工程大学,未经安徽工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810596806.X/2.html,转载请声明来源钻瓜专利网。