一种适用于有限IO资源的FPGA的AES加解密电路制造技术

技术编号:11454787 阅读:126 留言:0更新日期:2015-05-14 11:23
本实用新型专利技术涉及一种适用于有限IO资源的FPGA的AES加解密电路,包括FPGA芯片、数据管理模块和数据处理模块,所述的数据处理模块包括输入缓冲区、加密单元、解密单元和输出缓冲区和命令处理单元,所述的加密单元和解密单元分别与输入缓冲区和输出缓冲区连接,所述的输入缓冲区、输出缓冲区和命令处理单元分别与FPGA芯片的数据引脚连接,所述的数据管理模块与FPGA芯片连接。与现有技术相比,本实用新型专利技术具有节省10资源、程序可移植性强等优点。(*该技术在2024年保护过期,可自由使用*)

【技术实现步骤摘要】

本技术涉及通信领域,尤其是涉及一种适用于有限1资源的FPGA的AES加解密电路。
技术介绍
随着物联网的发展,射频通信逐渐成为一种常见的信息交换方式。伴随着现代化的发展,这种信息交换方式的安全性越为越受到各方面的威胁,因此有必要对物联网框架下的射频通信方式进行信息加密保护。信息加密技术是保障信息安全的核心技术。在物联网通信链路系统中主要采用的是传输加密。信息加密算法有很多种,目前在数据通信使用最普遍的算法有AES算法。AES加密算法即密码学中的高级加密标准(AdvancedEncrypt1n Standard,AES),又称Rijindael加密法,是美国联邦政府采用的一种区块加密标准。AES加密过程是在一个4X4的字节矩阵上运行,这个矩阵又称为“体(state) ”,其初值就是一个明文区块(矩阵中一个元素大小就是区块中的一个Byte)。加密时,各轮AES加循环(除最后一轮处)均包含四个步骤:AddRoundKey,SubBytes,ShiftRows,MixColums。AddRoundKey:此步骤中,回合密钥将与原矩阵合并。在每次的加密循环中,都会产生一把回合密钥(通过Rijndael密钥生成方案产生),这把密钥大小会跟原矩阵一样,以与原矩阵中每个对应字节异或加法,在初始化的第一个回合中,State每个状态中的字节与对应Cipher Key的字节做异或(? )运算,生成的结果做为新的State,在后续的回合中State只与该回合中的Round Key做异或运算。SubBytes:此步骤中,矩阵中的各个字节通过一个固定的S-BOX按公式2进行转换,即以State中16进制数为脚标去查S-B0X中值,结果替换原State中的值。ShiftRows:此步骤是对State的每一行进行左循环移位,移位次数与所在行η (O ^ n ^ 3)有关,第η行移位η次。MixColums:每一个起先的四个字节通过线性变换互相结合。每一直行的四个元素分别当作l,x,x2,x3的系数,合并即为GF(28)中的一个多项式,接着将此多项式和一个固定的多项式 c (X) = 3x2+x2+x+2 在 modulox4+l 下相乘。在现有技术条件下使用FPGA实现AES加密和解密的过程中,需要使用大量的1引脚资源,一方面会使器件成本大大提高,另一方面当FPGA的数据引脚有限时,因AES加密和解密所需的引脚数目很多,不能满足AES加密和解密的需求。
技术实现思路
本技术的目的就是为了克服上述现有技术存在的缺陷而提供一种节省1资源、程序可移植性强的适用于有限1资源的FPGA的AES加解密电路。本技术的目的可以通过以下技术方案来实现:一种适用于有限1资源的FPGA的AES加解密电路,包括FPGA芯片、数据管理模块和数据处理模块,所述的数据处理模块包括输入缓冲区、加密单元、解密单元和输出缓冲区和命令处理单元,所述的加密单元和解密单元分别与输入缓冲区和输出缓冲区连接,所述的输入缓冲区、输出缓冲区和命令处理单元分别与FPGA芯片的数据引脚连接,所述的数据管理模块与FPGA芯片连接。所述的数据管理模块包括数据类型管理器和状态管理器,所述的数据类型管理器输入端与FPGA芯片的地址引脚连接,第一输出端分别通过与FPGA芯片的读、写使能信号相与取反后,再分别与输入缓冲区和输出缓冲区连接,第二输出端分别与FPGA芯片的读、写使能信号相与取反后,再分别与命令处理单元和状态管理器连接,所述的状态管理器的输出端和命令处理单元的输出端共同输出状态信号到FPGA芯片。所述的FPGA通过复位引脚分别与输入缓冲区、加密单元、解密单元和输出缓冲区和命令处理单元连接。所述的FPGA通过时钟引脚和锁相环分别与输入缓冲区、加密单元、解密单元和输出缓冲区和命令处理单元连接。所述的数据引脚为8位数据引脚。所述的加密单元内嵌有AES加密算法的逻辑电路,所述的解密单元内嵌有AES解密算法的逻辑电路。与现有技术相比,本技术具有以下优点:一、节省1资源,相比于其他的AES加密结构,本技术能够节省75%的1资源,大大提升了 1资源的利用率,复用通道数可自由配置。二、程序可移植性强,适合大部分FPGA开发平台。【附图说明】图1为本技术的系统结构和信号流图。【具体实施方式】下面结合附图和具体实施例对本技术进行详细说明。实施例:如图1所示,一种适用于有限1资源的FPGA的AES加解密电路,包括FPGA、数据管理模块和数据处理模块,数据处理模块包括输入缓冲区31、加密单元32、解密单元33和输出缓冲区34和命令处理单元35,加密单元32和解密单元33分别与输入缓冲区31和输出缓冲区34连接,输入缓冲区31、输出缓冲区34和命令处理单元35分别与FPGA的8位数据引脚连接,加密单元内嵌有AES加密算法的逻辑电路,解密单元内嵌有AES解密算法的逻辑电路。数据管理模块与FPGA连接,用以控制数据处理模块中数据的读写、控制数据的输入输出以及地址的选择。数据管理模块包括数据类型管理器21和状态管理器22,数据类型管理器21输入端与FPGA的地址引脚连接,第一输出端分别通过与FPGA的读、写使能信号相与取反后,再分别与输入缓冲区31和输出缓冲区34连接,第二输出端分别与FPGA的读、写使能信号相与取反后,再分别与命令处理单元35和状态管理器22连接,状态管理器22的输出端和命令处理单元35的输出端共同输出状态信号到FPGA。FPGA通过复位引脚分别与输入缓冲区31、加密单元32、解密单元33和输出缓冲区34和命令处理单元35连接,并且FPGA还通过时钟引脚和锁相环分别与输入缓冲区31、加密单元32、解密单元33和输出缓冲区34和命令处理单元35连接。本技术提出一种新的设计思路:对加密过程和解密过程中具有类似功能引脚(如加密数据和解密数据,都是8位)或同一个过程中相似功能引脚(如待加密数据和已加密数据,都是8位数据引脚,只是输入输出方向不同)进行管脚复用,通过命令来控制加、解密过程。设计思路是将AES加、解密单元封装成一个集成器件,因此必须从四个方面对数据进行管理,一个是数据输入、输出方向,一个是数据的写入、读出,再一个是数据地址管理,最后一个是数据类型管理。输入、输入:相对于引脚来讲,数据是输入还是输出。输入数据包括待加密的数据、待解密的数据、加密密钥、解密密钥、命令数据、地址数据、读写信号、使能信号;输出数据包括已加密数据、已解密数据。写入、读出:数据写入、读出指令,控制数据输入、输出。数据地址管理:因优化后的程序模块中包含三个程序模块,一个是加密单元,一个解密单元,还有一个是命令处理单元,复用后只保留8个数据引脚,因此需要输入的数据应当被送到哪个程序模块中。数据类型管理:优化后的程序模块中包含两种数据类型,一种是数据,主要是用户输入输出数据,一种是命令,命令数据通过命令处理单元解析,解析后的数据即加密单元和解密单元的控制指令。本技术工作步骤如下:当前第1页1 2 本文档来自技高网
...

【技术保护点】
一种适用于有限IO资源的FPGA的AES加解密电路,包括FPGA芯片、数据管理模块和数据处理模块,其特征在于,所述的数据处理模块包括输入缓冲区(31)、加密单元(32)、解密单元(33)和输出缓冲区(34)和命令处理单元(35),所述的加密单元(32)和解密单元(33)分别与输入缓冲区(31)和输出缓冲区(34)连接,所述的输入缓冲区(31)、输出缓冲区(34)和命令处理单元(35)分别与FPGA芯片的数据引脚连接,所述的数据管理模块与FPGA芯片连接。

【技术特征摘要】

【专利技术属性】
技术研发人员:廖超陆峰
申请(专利权)人:上海航天有线电厂有限公司
类型:新型
国别省市:上海;31

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

1