基于FPGA的AES加密算法优化设计

发布日期:2022年5月31日
基于FPGA的AES加密算法优化设计 基于FPGA的AES加密算法优化设计

本内容试读结束

下载后可阅读完整内容,立即下载

现如今随着网络技术的不断发展,网络设备的数据处理速度变得越来越快,与此同时,信息安全相关的问题也逐渐显现了出来。针对高速网络信息的报文加密的优化问题,提出了一种AES加密的优化方法。通过对明文的识别、分组加密和替换,有效地隐藏了明文序列,提高了网络报文的保密性和安全性。经测试,优化后的AES加密算法可以正确有效地完成高速网络报文的加解密部分的工作。

目前计算机技术与网络技术都在迅猛地发展,网络数据的交互也日趋频繁与复杂。随着网络电子设备的不断更新升级,用户在享受着网络带来的便利时也开始对网络安全、信息窃取等问题感到担忧[1]。维护信息安全的方法中,一个重要的方法是使用密码学中的加密算法,对传输的数据进行替换,使用密钥序列和数据变换方法,将明文隐藏起来,从而对重要信息进行保护,增强数据的安全性和保密性[2]。

高级加密标准(Advanced Encryption Standard, AES)加密算法是分组加密算法的一种, 是目前美国联邦政府采用的一种加密技术[3]。近年来,许多学者都对AES 算法加以研究。Soltani Abolfazl 提出以电子密码本和计数器模式提高AES 的吞吐量,并结合内存和非内存的方法实现算法中的S 盒结构,提高AES在应用时的性能[4]。Syed Shahzad Hussain Shah 提出了一种基于混沌的AES 算法实现架构,由混沌映射生成密钥,同时使用并行RAM 实现字节替代环节,以优化AES 算法的执行结构[5]。戴强等人提出了改进后的CSE 算法对AES 算法中S 盒的电路结构进行优化[6]。

针对高速网络报文的信息安全问题,本文提出了一种AES 加密算法的设计方案,将网络报文中的数据识别分组并进行加密替换以隐藏明文。同时优化了AES 算法使用时的工作流程和工作模式,使AES算法能够有效地应用在高速网络报文的场景中,提高网络报文的保密性和安全性。

2. AES 算法原理 AES 加密算法是分组加密算法中的一种,它是在Rijndael 加密算法的基础上,做出了一定程度的简化而设计的[7]。AES 规定了加解密流程中的数据和密钥的长度,每个分组的数据长度为128 bit,而密钥的长度可以设置为128 bit,192 bit 或是256 bit,然后依据不同的密钥长度,算法执行相应的迭代轮数。

2.1. 算法描述 AES 加密算法的每一步都是作用于矩阵的形式进行变换,每次输入的数据为128 bit,以字节为单位分成16 个字节,将其排列为4*4 的矩阵,AES 的每一轮变换都是由四个步骤组成,分别是字节替代,行移位,列混淆和轮密钥加,AES-128 加密算法的流程图如图1 所示。

AES-128 算法在加密迭代前使128 bit 的明文数据与初始密钥进行一次异或再进入迭代程序,加密时每次迭代时每轮有四个步骤,即字节替代、行移位、列混淆和与扩展好的密钥异或计算,最后一轮加密时移除列混淆步骤,最终输出的结果即为128 bit 的密文数据。解密时的步骤与加密时相反,密文输入先与密钥扩展的最后4 个双字密钥异或后启动解密算法迭代,每次迭代依次进行四个解密步骤,分别是逆列混淆、逆行移位、逆字节替代和轮密钥加,完成所有的迭代轮数就可以完成解密算法与输出128 bit 的明文数据[8]。



相关标签