CN102664729A - 一种基于fpga的aes加解密网络通讯装置及其实现方法 - Google Patents
一种基于fpga的aes加解密网络通讯装置及其实现方法 Download PDFInfo
- Publication number
- CN102664729A CN102664729A CN2012101298428A CN201210129842A CN102664729A CN 102664729 A CN102664729 A CN 102664729A CN 2012101298428 A CN2012101298428 A CN 2012101298428A CN 201210129842 A CN201210129842 A CN 201210129842A CN 102664729 A CN102664729 A CN 102664729A
- Authority
- CN
- China
- Prior art keywords
- decryption
- network
- data group
- network data
- aes encryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000006854 communication Effects 0.000 title claims abstract description 45
- 238000004891 communication Methods 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000003139 buffering effect Effects 0.000 claims description 49
- 238000012545 processing Methods 0.000 abstract description 8
- 238000006073 displacement reaction Methods 0.000 description 12
- 230000009466 transformation Effects 0.000 description 10
- 238000004088 simulation Methods 0.000 description 8
- 230000004087 circulation Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于FPGA的AES加解密网络通讯装置及其实现方法,包括MCU单元和AES加解密单元。该方法的步骤包括,首先MCU单元对由网口传来的网络数据包进行接收后控制接收的网络数据包进行分组以及将网络数据组进行转发,然后AES加解密单元对网络数据组插入用于记录地址以及记录轮数的数据标签,根据插入的数据标签对网络数据组进行轮内路由控制以及并行对网络数据组进行AES加解密后进行AES加解密网络数据包输出。本发明既具备FPGA高速的硬件并行处理的优点,同时也具备了MCU良好的通信和智能控制能力,因此大大提高有效工作效率以及通信和智能控制能力强。本发明作为一种基于FPGA的AES加解密网络通讯装置及其实现方法广泛应用在网络通讯领域中。
Description
技术领域
本发明涉及互联网网络通讯技术和电子电路技术,尤其涉及一种基于FPGA的AES加解密网络通讯装置及其实现方法。
背景技术
现今数据在网络传输过程中容易被别人窃取,因此网络数据传输的安全隐患很大,为了解决这一问题,应对在网络传输的数据进行加密。而在加密技术领域中,最受广泛应用的加密算法是77年美国颁布的国家标准DES算法,但是相比于传统的DES算法或3DES算法,AES算法在速度和安全性方面均具有明显的优势。另外现今通常利用软件程序从而实现对数据进行加密,但是其时延大和处理速度慢。
发明内容
为了解决上述技术问题,本发明的目的是提供一种数据处理速度快以及逻辑结构简单的基于FPGA的AES加解密网络通讯装置。
本发明的目的是提供一种数据处理效率高以及易于实现的基于FPGA的AES加解密网络通讯实现方法。
本发明所采用的技术方案是:一种基于FPGA的AES加解密网络通讯装置,包括
MCU单元,用于对由网口传来的网络数据包进行接收后控制接收的网络数据包进行分组以及将网络数据组进行转发;
AES加解密单元,用于对网络数据组进行接收后对网络数据组插入用于记录地址以及记录轮数的数据标签,根据插入的数据标签对网络数据组进行轮内路由控制以及并行对网络数据组进行AES加解密后将结果返回到MCU单元进行AES加解密网络数据包输出。
进一步,所述MCU单元与AES加解密单元之间设有用于对网络数据组进行缓冲以及再次分组的缓冲调度单元。
进一步,所述AES加解密单元包括复合域优化Sbox查表和复用加解密Sbox乘法求逆模块以及
AES控制模块,用于对网络数据组进行接收后对网络数据组插入用于记录地址以及记录轮数的数据标签,将插入数据标签的网络数据组发送到AES加解密模块,并且通过控制信号控制AES加解密模块对网络数据组进行加解密的功能选择以及控制与加解密过程中相对应的不同数据通路的连通与关闭;
AES加解密模块,用于对插入数据标签的网络数据组进行接收,采用复合域优化Sbox查表和复用加解密Sbox乘法求逆模块并根据插入的数据标签对网络数据组进行轮内路由控制以及并行对网络数据组进行AES加解密后将结果通过AES控制模块返回到MCU单元进行AES加解密网络数据包输出。
进一步,所述缓冲调度单元采用乒乓操作对网络数据组进行缓冲调度以及再次分组。
进一步,所述缓冲调度单元包括输入数据选择控制模块、第一数据缓冲模块、第二数据缓冲模块以及输出数据选择控制模块,输入数据选择控制模块通过切换控制第一数据缓冲模块和第二数据缓冲模块的输入端,从而将由MCU单元传来的网络数据组进行再次分组以及缓冲存储在第一数据缓冲模块或第二数据缓冲模块,同时输出数据选择控制模块通过切换控制第一数据缓冲模块和第二数据缓冲模块的输出端,从而从第一数据缓冲模块或第二数据缓冲模块取出网络数据组后转发到AES加解密单元。
本发明所采用的另一技术方案是:一种基于FPGA的AES加解密网络通讯实现方法,该方法的步骤包括:
A、MCU单元对由网口传来的网络数据包进行接收后控制接收的网络数据包进行分组以及将网络数据组进行转发;
C、AES加解密单元对网络数据组进行接收后对网络数据组插入用于记录地址以及记录轮数的数据标签,根据插入的数据标签对网络数据组进行轮内路由控制以及并行对网络数据组进行AES加解密后将结果返回到MCU单元进行AES加解密网络数据包输出。
进一步,所述步骤A与步骤C之间包括步骤B,所述步骤B为,缓冲调度单元对由MCU单元传来的网络数据组进行缓冲以及再次分组后将网络数据组转发到AES加解密单元。
进一步,所述步骤A包括:
A1、MCU单元实现ARP应答后对网络数据包进行接收;
A2、判断接收的网络数据包的大小,根据判断结果控制网络数据包进行分组以及将网络数据组进行转发。
进一步,所述步骤C具体为,
AES加解密单元对网络数据组进行接收后对网络数据组插入用于记录地址以及记录轮数的数据标签,通过控制信号控制对网络数据组进行加解密的功能选择以及控制与加解密过程中相对应的不同数据通路的连通与关闭,同时采用复合域优化Sbox查表和复用加解密Sbox乘法求逆模块并根据插入的数据标签对网络数据组进行轮内路由控制以及并行对网络数据组进行AES加解密后将结果返回到MCU单元进行AES加解密网络数据包输出。
进一步,所述步骤B中缓冲调度单元采用乒乓操作对由MCU单元传来的网络数据组进行缓冲以及再次分组后将网络数据组转发到AES加解密单元。
本发明的有益效果是:本发明的装置既具备FPGA高速的硬件并行处理的优点,同时也具备了MCU良好的通信和智能控制能力,因此本发明的装置能够快速稳定地并行对网络数据组进行AES加解密,大大提高有效工作效率以及通信和智能控制能力强。
本发明的另一有益效果是:本发明的实现方法不仅利用FPGA高速的硬件并行处理的优势,同时也利用了MCU良好的通信和智能控制能力,因此本发明的实现方法能够快速稳定地并行对网络数据组进行AES加解密,大大提高有效工作效率以及通信和智能控制能力强。
附图说明
下面结合附图对本发明的具体实施方式作进一步说明:
图1是本发明一种基于FPGA的AES加解密网络通讯装置的结构框图;
图2是本发明一种基于FPGA的AES加解密网络通讯装置中四个操作子模块循环进行AES加解密处理的流程图;
图3是采用本发明一种基于FPGA的AES加解密网络通讯装置的通信系统的系统框图;
图4是本发明一种基于FPGA的AES加解密网络通讯装置的步骤流程图。
具体实施方式
字节替换操作子模块表示为现今AES加解密算法原理中的SubBytes,行位移变换操作子模块表示为现今AES加解密算法原理中的ShiftRows, 列混合变换操作子模块表示为现今AES加解密算法原理中的MixColumns,密钥逻辑变换操作子模块表示为现今AES加解密算法原理中的AddRoundKey。
由图1所示,一种基于FPGA的AES加解密网络通讯装置,包括
MCU单元,用于对由网口传来的网络数据包进行接收后控制接收的网络数据包进行分组以及将网络数据组进行转发,所述网络数据包为UDP网络数据包,所述网口为RJ45网口,计算机通过RJ45网口将网络数据包发送到MCU单元;
AES加解密单元,用于对网络数据组进行接收后对网络数据组插入用于记录地址以及记录轮数的数据标签,根据插入的数据标签对网络数据组进行轮内路由控制以及并行对网络数据组进行AES加解密后将结果返回到MCU单元进行AES加解密网络数据包输出。
所述网络数据包为加密密钥包、解密密钥包或待加解密的网络数据包,若网络数据包为加密密钥包或解密密钥包,MCU单元以加密密钥的通信方式或解密密钥的通信方式将加密密钥或解密密钥通过缓冲调度单元发送到AES加解密单元,数据流就此结束;若网络数据包为待加解密的网络数据包,则MCU单元通过缓冲调度单元将待加解密的网络数据包发送到AES加解密单元根据先前的加密密钥或解密密钥进行AES加解密。而本发明主要针对的处理对象为待加解密的网络数据包。
进一步作为优选的实施方式,所述MCU单元与AES加解密单元之间设有用于对网络数据组进行缓冲以及再次分组的缓冲调度单元。
由于本发明进行AES加解密,而AES加解密算法的数据分组长度为128位,因此MCU单元对网络数据包接收后就会判断接收的网络数据包的大小,若网络数据包的大小是128位的整数倍,则对网络数据包进行分组,每个网络数据组的尾数为128位;若网络数据包的大小不是128位的整数倍,则在网络数据包的包尾插入00补全后,对网络数据包进行分组,每个网络数据组的位数为128位。分组后,MCU单元就会将128位的网络数据组发送到缓冲调度单元,然后MCU单元就会进入阻塞等待返回结果的状态。所述MCU为8位数据线,因此需写入16次才能把一个128位的网络数据组发送到缓冲调度单元。
而缓冲调度单元接收满32位数据后就会将这个32位的网络数据组发送到AES加解密单元进行AES加解密,即经过缓冲调度单元后,对128位的网络数据组进行再次分组,分成4组,每个网络数据组的位数为32位,那么缓冲调度单元通过4个缓冲周期将128位的网络数据组发送到AES加解密单元。
进一步作为优选的实施方式,所述缓冲调度单元采用乒乓操作对网络数据组进行缓冲调度以及再次分组。
进一步作为优选的实施方式,所述缓冲调度单元包括输入数据选择控制模块、第一数据缓冲模块、第二数据缓冲模块以及输出数据选择控制模块,输入数据选择控制模块通过切换控制第一数据缓冲模块和第二数据缓冲模块的输入端,从而将由MCU单元传来的网络数据组进行再次分组以及缓冲存储在第一数据缓冲模块或第二数据缓冲模块,同时输出数据选择控制模块通过切换控制第一数据缓冲模块和第二数据缓冲模块的输出端,从而从第一数据缓冲模块或第二数据缓冲模块取出网络数据组后转发到AES加解密单元,所述第一数据缓冲模块和第二数据缓冲模块采用先入先出队列方式。
所述缓冲调度单元采用乒乓操作的具体的实施方式为,
在第一个缓冲周期,输入选择控制模块将网络数据组缓冲存储到第一数据缓冲模块;
在第二个缓冲周期,输入数据选择控制模块切换控制第一数据缓冲模块和第二数据缓冲模块的输入端,即流入网络数据组进行缓冲存储的输入端,从第一数据缓冲模块的输入端切换到第二数据缓冲模块的输入端,因此,在第二个缓冲周期,网络数据组流入到第二数据缓冲模块进行缓冲存储,同时输出数据选择控制模块将第一数据缓冲模块在第一个缓冲周期缓冲存储的网络数据发送到AES加解密单元进行加解密;
在第三个缓冲周期,输入数据选择控制模块再次切换控制第一数据缓冲模块和第二数据缓冲模块的输入端,即流入网络数据组进行缓冲存储的输入端,从第二数据缓冲模块的输入端切换到第一数据缓冲模块的输入端,因此,在第三个缓冲周期,网络数据组流入到第一数据缓冲模块进行缓冲存储,同时,输出数据选择控制模块切换控制第一数据缓冲模块和第二数据缓冲模块的输出单,即输出网络数据组的输出端,从第一数据缓冲模块的输出端切换到第二数据缓冲模块的输出端,输出数据选择控制模块从第二数据缓冲模块取出在第二个周期缓冲存储的网络数据组后发送到AES加解密单元进行加解密;后续的缓冲调度如上述不断地循环。因此缓冲调度单元中的输入数据选择控制模块和输出数据选择控制模块就能按节拍和相互配合地进行来回切换控制,从而使进行缓冲调度的网络数据组不间断不停顿地发送到AES加解密单元进行AES加解密处理。
进一步作为优选的实施方式,所述AES加解密单元包括复合域优化Sbox查表和复用加解密Sbox乘法求逆模块以及
AES控制模块,用于对网络数据组进行接收后对网络数据组插入用于记录地址以及记录轮数的数据标签,将插入数据标签的网络数据组发送到AES加解密模块,并且通过控制信号控制AES加解密模块对网络数据组进行加解密的功能选择以及控制与加解密过程中相对应的不同数据通路的连通与关闭;
AES加解密模块,用于对插入数据标签的网络数据组进行接收,采用复合域优化Sbox查表和复用加解密Sbox乘法求逆模块并根据插入的数据标签对网络数据组进行轮内路由控制以及并行对网络数据组进行AES加解密后将结果通过AES控制模块返回到MCU单元进行AES加解密网络数据包输出。
由上述可知,缓冲调度单元将128位的网络数据组再次分成4组,每网络数据组的位数为32位,然后依次发送到AES加解密单元中的AES控制模块,AES控制模块对32位的网络数据组进行接收后在每网络数据组后插入用于记录地址以及记录轮数的数据标签。由此可知,所述的数据标签包括两部分,一部分是用于记录地址的,另一部分是用于记录轮数的。
根据AES加解密算法的原理可知,对网络数据组进行AES加解密是需要四个不同的操作子模块,因此AES加解密模块包括字节替换操作子模块、行位移变换操作子模块、列混合变换操作子模块以及密钥逻辑变换操作子模块,并且根据密钥长度是128位、192位或256位,决定进行AES加解密的轮数,分别对应为10轮、12轮或14轮,而这四个操作子模块根据轮数被循环调用,在本发明中由于密钥长度为128位,因此AES加解密模块进行10轮主循环加解密,而这四个操作子模块在10轮主循环加解密运算中被循环调用。而且在本发明中,字节替换操作子模块、行位移变换操作子模块、列混合变换操作子模块以及密钥逻辑变换操作子模块均各自拥有自身的模拟地址以及路由转发表,即相当于现今网络中四个独立的路由器,因此,上述提到数据标签一部分是用于记录地址,其记录的是这四个操作子模块的模拟地址,数据标签另一部分是用于记录轮数,其记录的就是该网络数据组进行的轮数,若任一操作子模块检测到该网络数据组的轮数为3,即表示该网络数据组正在进行第三轮的循环。
还有,由于在AES加密和AES解密的过程中,复合域优化Sbox查表、复用加解密Sbox乘法求逆模块、字节替换操作子模块、行位移变换操作子模块、列混合变换操作子模块以及密钥逻辑变换操作子模块,它们之间的数据路由通路不一致,因此AES控制模块通过控制信号控制AES加解密模块对网络数据组进行加解密的功能选择,即通过控制信号从而控制AES加解密模块是进行AES加密或AES解密,根据判定32位网络数据组进行AES加密或AES解密后,AES控制模块同时通过控制信号从而控制复合域优化Sbox查表、复用加解密Sbox乘法求逆模块、字节替换操作子模块、行位移变换操作子模块、列混合变换操作子模块以及密钥逻辑变换操作子模块,它们之间不同数据通路的连通与关闭,这样基于FPGA的硬件电路设计简单,而且复用加解密Sbox乘法求逆模块,能够大大减少硬件资源以及成本费用,同时将复用加解密Sbox乘法求逆模块的乘法求逆运算映射到GF(28)的同构域GF((24)2)中,在域阶大为降低的同构域GF((24)2)中进行乘法求逆后再将结果映射回GF(28),这样更适合于硬件实现。
AES加解密模块对插入数据标签的32位网络数据组进行接收后,采用复合域优化Sbox查表和复用加解密Sbox乘法求逆模块,根据检测数据标签中记录四个操作子模块的模拟地址以及轮数,从而实现四个操作子模块轮内路由控制进而对网络数据组进行AES加解密。例如,AES控制模块发送32位网络数据组到字节替换操作子模块后,字节替换操作子模块就会检测该网络数据组的数据标签,根据数据标签中的轮数从而得知该网络数据组的具体操作,根据数据标签中记录的模拟地址以及自身的路由转发表,从而得知该网络数据组的路由信息,即字节替换操作子模块对该网络数据组处理后应将其发送到下一个操作子模块,该网络数据组被发送到下一个操作子模块后,该操作子模块同样地对数据标签进行检测从而获得该网络数据组的路由信息以及具体操作,如此四个操作子模块循环实现轮内路由控制进行加密或解密,直到满足AES加解密算法的轮数后结束,从而输出AES加解密网络数据组。如图2所示,其为四个操作子模块循环实现轮内路由控制从而进行AES加解密处理的流程图,图中F表示控制信息。首先判断F是否为1,若F为1,网络数据组则进行AES解密,首先网络数据组被发送到密钥逻辑变换操作子模块进行操作处理后启动主循环,其主循环的过程为网络数据组依次经过行位移变换操作子模块、字节替换操作子模块、密钥逻辑变换操作子模块以及列混合变换操作子模块进行操作处理,判断是否满足轮数条件,即判断是否已进行10次循环,若否则继续进行主循环,反之则结束主循环,结束后再依次经过行位移变换操作子模块、字节替换操作子模块以及密钥逻辑变换操作子模块进行操作处理后输出AES解密网络数据组;若F不为1,网络数据组则进行AES加密,首先网络数据组被发送到密钥逻辑变换操作子模块进行操作处理后启动主循环,其主循环的过程为网络数据组依次经过字节替换操作子模块、行位移变换操作子模块、列混合变换操作子模块以及密钥逻辑变换操作子模块进行操作处理,判断是否满足轮数条件,即判断是否已进行10次循环,若否则继续进行主循环,反之则结束主循环,结束后再依次经过字节替换操作子模块、行位移变换操作子模块以及密钥逻辑变换操作子模块进行操作处理后输出AES加密网络数据组。在AES加密或解密的过程中,四个操作子模块均是根据检测网络数据组的数据标签而获取网络数据组的路由信息以及具体操作信息,从而四个操作子模块各自实现自身的轮内路由控制以及并行处理网络数据组。另外,在AES加解密过程中密钥逻辑变换操作子模块使用了密钥。
由上述可知,由于对网络数据组插入数据标签后,四个操作子模块能够并行运行,通过检测数据标签从而获取该网络数据组的路由信息以及具体操作,这样就将复杂的集中控制功能分散到四个操作子模块中,而且每个操作子模块的控制负担十分精简,只需检测数据标签即可获得该网络数据组的路由信息以及具体操作,因此,大多数时钟周期都会有多于一个的操作子模块处于有效工作状态,甚至四个操作子模块同时工作,这样大大提高工作效率以及大大提高硬件资源的利用率。
AES加解密模块进行轮内路由控制的具体实施例
字节替换操作子模块的模拟地址为6’b00,行位移变换操作子模块的模拟地址为6’b01,列混合变换操作子模块的模拟地址为6’b10,密钥逻辑变换操作子模块的模拟地址为6’b11,该网络数据在的轮数为0,即为首轮。该网络数据组的编码为6’b001111,而由于根据AES加解密算法原理,首轮循环中字节替换操作子模块、行位移变换操作子模块以及列混合变换操作子模块均不工作,只有密钥逻辑变换操作子模块进行操作,因此,该网络数据组从AES控制模块输入时,该网络数据组的编码被设置为6’b111111,根据AES加解密算法原理的顺序设定,字节替换操作子模块、行位移变换操作子模块以及列混合变换操作子模块对该网络数据组的数据标签进行检测,若检测到数据标签为6’b111111,则将该网络数据组发送到下一操作子模块,直到该网络数据组来到密钥逻辑变换操作子模块时,密钥逻辑变换操作子模块对该网络数据组进行操作,并将该网络数据组的数据标签设置为6’b110001,以供下一轮循环操作。
然而,当4组32位的网络数据组依次进行AES加解密后就将4组32位的AES加解密网络数据组整合为128位AES加解密网络数据组,然后通过调度缓冲单元将128位AES加解密网络数据组返回到MUC单元,而MCU单元对128位AES加解密网络数据组接收后就会将下一组128位网络数据组通过缓冲调度单元发送到AES加解密单元进行AES加解密,如此重复操作,直到将先前接收到的网络数据包处理完毕为止,最后将已进行AES加解密的网络数据包通过RJ45网口返回到计算机。
如图3所示,采用本发明装置的通信系统,包括发送端、接收端、与发送端相应的第一基于FPGA的AES加解密网络通讯装置以及与接收端相应的第二基于FPGA的AES加解密网络通讯装置,发送端发送私人密钥和待发信息到第一基于FPGA的AES加解密网络通讯装置,第一基于FPGA的AES加解密网络通讯装置根据私人密钥将待发信息进行加密,然后将加密待发信息作为密文返回到发送端,然后发送端通过互联网将密文发送到接收端。接收端对密文进行接收,将事先与发送端约定好的私人密钥和密文发送到第二基于FPGA的AES加解密网络通讯装置进行解密并返回解密后的信息内容到接收端。因此,只要别人不知道私人密钥,就无法获取用户发送的真实信息,从而可以解决传统的通信信息传输中存在的安全隐患,防止信息赤裸裸地暴露在互联网中,避免被别人窃取监听,大大提高信息在通信过程中的安全性。
如图4所示,一种基于FPGA的AES加解密网络通讯实现方法,该方法的步骤包括:
A、MCU单元对由网口传来的网络数据包进行接收后控制接收的网络数据包进行分组以及将网络数据组进行转发;
C、AES加解密单元对网络数据组进行接收后对网络数据组插入用于记录地址以及记录轮数的数据标签,根据插入的数据标签对网络数据组进行轮内路由控制以及并行对网络数据组进行AES加解密后将结果返回到MCU单元进行AES加解密网络数据包输出。
进一步作为优选的实施方式,所述步骤A与步骤C之间包括步骤B,所述步骤B为,缓冲调度单元对由MCU单元传来的网络数据组进行缓冲以及再次分组后将网络数据组转发到AES加解密单元。
进一步作为优选的实施方式,所述步骤A包括:
A1、MCU单元实现ARP应答后对网络数据包进行接收,所述网络数据包为UDP网络数据包,因此所述MCU单元能够实现ARP协议和UDP通信协议;
A2、判断接收的网络数据包的大小,根据判断结果控制网络数据包进行分组以及将网络数据组进行转发,即判断若网络数据包的大小是128位的整数倍,则对网络数据包进行分组,每个网络数据组的尾数为128位;若网络数据包的大小不是128位的整数倍,则在网络数据包的包尾插入00补全后,对网络数据包进行分组,每个网络数据组的位数为128位。
进一步作为优选的实施方式,所述步骤C具体为,
AES加解密单元对网络数据组进行接收后对网络数据组插入用于记录地址以及记录轮数的数据标签,通过控制信号控制对网络数据组进行加解密的功能选择以及控制与加解密过程中相对应的不同数据通路的连通与关闭,同时采用复合域优化Sbox查表和复用加解密Sbox乘法求逆模块并根据插入的数据标签对网络数据组进行轮内路由控制以及并行对网络数据组进行AES加解密后将结果返回到MCU单元进行AES加解密网络数据包输出。
进一步作为优选的实施方式,所述步骤B中缓冲调度单元采用乒乓操作对由MCU单元传来的网络数据组进行缓冲以及再次分组后将网络数据组转发到AES加解密单元。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种基于FPGA的AES加解密网络通讯装置,其特征在于:包括
MCU单元,用于对由网口传来的网络数据包进行接收后控制接收的网络数据包进行分组以及将网络数据组进行转发;
AES加解密单元,用于对网络数据组进行接收后对网络数据组插入用于记录地址以及记录轮数的数据标签,根据插入的数据标签对网络数据组进行轮内路由控制以及并行对网络数据组进行AES加解密后将结果返回到MCU单元进行AES加解密网络数据包输出。
2.根据权利要求1所述一种基于FPGA的AES加解密网络通讯装置,其特征在于:所述MCU单元与AES加解密单元之间设有用于对网络数据组进行缓冲以及再次分组的缓冲调度单元。
3.根据权利要求1所述一种基于FPGA的AES加解密网络通讯装置,其特征在于:所述AES加解密单元包括复合域优化Sbox查表和复用加解密Sbox乘法求逆模块以及
AES控制模块,用于对网络数据组进行接收后对网络数据组插入用于记录地址以及记录轮数的数据标签,将插入数据标签的网络数据组发送到AES加解密模块,并且通过控制信号控制AES加解密模块对网络数据组进行加解密的功能选择以及控制与加解密过程中相对应的不同数据通路的连通与关闭;
AES加解密模块,用于对插入数据标签的网络数据组进行接收,采用复合域优化Sbox查表和复用加解密Sbox乘法求逆模块并根据插入的数据标签对网络数据组进行轮内路由控制以及并行对网络数据组进行AES加解密后将结果通过AES控制模块返回到MCU单元进行AES加解密网络数据包输出。
4.根据权利要求2所述一种基于FPGA的AES加解密网络通讯装置,其特征在于:所述缓冲调度单元采用乒乓操作对网络数据组进行缓冲调度以及再次分组。
5.根据权利要求2或4所述一种基于FPGA的AES加解密网络通讯装置,其特征在于:所述缓冲调度单元包括输入数据选择控制模块、第一数据缓冲模块、第二数据缓冲模块以及输出数据选择控制模块,输入数据选择控制模块通过切换控制第一数据缓冲模块和第二数据缓冲模块的输入端,从而将由MCU单元传来的网络数据组进行再次分组以及缓冲存储在第一数据缓冲模块或第二数据缓冲模块,同时输出数据选择控制模块通过切换控制第一数据缓冲模块和第二数据缓冲模块的输出端,从而从第一数据缓冲模块或第二数据缓冲模块取出网络数据组后转发到AES加解密单元。
6.一种基于FPGA的AES加解密网络通讯实现方法,其特征在于:该方法的步骤包括:
A、MCU单元对由网口传来的网络数据包进行接收后控制接收的网络数据包进行分组以及将网络数据组进行转发;
C、AES加解密单元对网络数据组进行接收后对网络数据组插入用于记录地址以及记录轮数的数据标签,根据插入的数据标签对网络数据组进行轮内路由控制以及并行对网络数据组进行AES加解密后将结果返回到MCU单元进行AES加解密网络数据包输出。
7.根据权利要求6所述一种基于FPGA的AES加解密网络通讯实现方法,其特征在于:所述步骤A与步骤C之间包括步骤B,所述步骤B为,缓冲调度单元对由MCU单元传来的网络数据组进行缓冲以及再次分组后将网络数据组转发到AES加解密单元。
8.根据权利要求6所述一种基于FPGA的AES加解密网络通讯实现方法,其特征在于:所述步骤A包括:
A1、MCU单元实现ARP应答后对网络数据包进行接收;
A2、判断接收的网络数据包的大小,根据判断结果控制网络数据包进行分组以及将网络数据组进行转发。
9.根据权利要求7所述一种基于FPGA的AES加解密网络通讯实现方法,其特征在于:所述步骤C具体为,
AES加解密单元对网络数据组进行接收后对网络数据组插入用于记录地址以及记录轮数的数据标签,通过控制信号控制对网络数据组进行加解密的功能选择以及控制与加解密过程中相对应的不同数据通路的连通与关闭,同时采用复合域优化Sbox查表和复用加解密Sbox乘法求逆模块并根据插入的数据标签对网络数据组进行轮内路由控制以及并行对网络数据组进行AES加解密后将结果返回到MCU单元进行AES加解密网络数据包输出。
10.根据权利要求7所述一种基于FPGA的AES加解密网络通讯实现方法,其特征在于:所述步骤B中缓冲调度单元采用乒乓操作对由MCU单元传来的网络数据组进行缓冲以及再次分组后将网络数据组转发到AES加解密单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210129842.8A CN102664729B (zh) | 2012-04-28 | 2012-04-28 | 一种基于fpga的aes加解密网络通讯装置及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210129842.8A CN102664729B (zh) | 2012-04-28 | 2012-04-28 | 一种基于fpga的aes加解密网络通讯装置及其实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102664729A true CN102664729A (zh) | 2012-09-12 |
CN102664729B CN102664729B (zh) | 2014-12-31 |
Family
ID=46774149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210129842.8A Expired - Fee Related CN102664729B (zh) | 2012-04-28 | 2012-04-28 | 一种基于fpga的aes加解密网络通讯装置及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102664729B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104182696A (zh) * | 2014-08-15 | 2014-12-03 | 浪潮电子信息产业股份有限公司 | 一种基于Avalon接口的AES算法IP核的设计方法 |
CN104753662A (zh) * | 2013-12-27 | 2015-07-01 | 重庆重邮信科通信技术有限公司 | 基于aes算法的加密密钥流产生方法 |
CN105187198A (zh) * | 2015-08-25 | 2015-12-23 | 东南大学 | 一种用于IPSec协议下的AES算法硬件实现装置 |
CN105357218A (zh) * | 2015-12-03 | 2016-02-24 | 上海斐讯数据通信技术有限公司 | 一种具备硬件加解密功能的路由器及其加解密方法 |
CN105721161A (zh) * | 2016-01-28 | 2016-06-29 | 东南大学 | 一种基于总线的h2-mac消息认证ip核硬件装置 |
CN105721139A (zh) * | 2014-12-05 | 2016-06-29 | 上海航天有线电厂有限公司 | 一种适用于有限io资源的fpga的aes加解密方法及电路 |
CN107679409A (zh) * | 2017-09-29 | 2018-02-09 | 深圳大学 | 一种数据加密的加速方法和系统 |
CN111935175A (zh) * | 2020-09-14 | 2020-11-13 | 华芯生物科技(武汉)有限公司 | 一种检测设备的数据加密传输方法 |
US11044099B2 (en) * | 2018-12-28 | 2021-06-22 | Intel Corporation | Technologies for providing certified telemetry data indicative of resources utilizations |
CN114826617A (zh) * | 2022-04-29 | 2022-07-29 | 西北工业大学 | 工业物联网终端系统设计、数据验证方法及硬件加速装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2096787A2 (en) * | 2008-02-27 | 2009-09-02 | Intel Corporation | Method and apparatus for optimizing advanced encryption standard (AES) encryption and decryption in parallel modes of operation |
CN101626289A (zh) * | 2009-07-14 | 2010-01-13 | 青岛科技大学 | Aes加密芯片的设计方法及电脑加密机 |
EP2200215A1 (en) * | 2008-12-16 | 2010-06-23 | Itt Manufacturing Enterprises, Inc. | Method and apparatus for key expansion to encode data |
CN101764687A (zh) * | 2008-12-25 | 2010-06-30 | 上海华虹集成电路有限责任公司 | Ucps协议中采用aes算法对数据流加解密的硬件实现方法 |
CN102035641A (zh) * | 2009-09-24 | 2011-04-27 | 中兴通讯股份有限公司 | 一种实现aes加解密的装置和方法 |
CN102111263A (zh) * | 2011-02-21 | 2011-06-29 | 山东中孚信息产业股份有限公司 | 一种数据流加密的方法 |
CN102223228A (zh) * | 2011-05-11 | 2011-10-19 | 北京航空航天大学 | 基于fpga的aes加密芯片设计方法及嵌入式加密系统 |
-
2012
- 2012-04-28 CN CN201210129842.8A patent/CN102664729B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2096787A2 (en) * | 2008-02-27 | 2009-09-02 | Intel Corporation | Method and apparatus for optimizing advanced encryption standard (AES) encryption and decryption in parallel modes of operation |
EP2200215A1 (en) * | 2008-12-16 | 2010-06-23 | Itt Manufacturing Enterprises, Inc. | Method and apparatus for key expansion to encode data |
CN101764687A (zh) * | 2008-12-25 | 2010-06-30 | 上海华虹集成电路有限责任公司 | Ucps协议中采用aes算法对数据流加解密的硬件实现方法 |
CN101626289A (zh) * | 2009-07-14 | 2010-01-13 | 青岛科技大学 | Aes加密芯片的设计方法及电脑加密机 |
CN102035641A (zh) * | 2009-09-24 | 2011-04-27 | 中兴通讯股份有限公司 | 一种实现aes加解密的装置和方法 |
CN102111263A (zh) * | 2011-02-21 | 2011-06-29 | 山东中孚信息产业股份有限公司 | 一种数据流加密的方法 |
CN102223228A (zh) * | 2011-05-11 | 2011-10-19 | 北京航空航天大学 | 基于fpga的aes加密芯片设计方法及嵌入式加密系统 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753662A (zh) * | 2013-12-27 | 2015-07-01 | 重庆重邮信科通信技术有限公司 | 基于aes算法的加密密钥流产生方法 |
CN104753662B (zh) * | 2013-12-27 | 2019-09-20 | 锐迪科(重庆)微电子科技有限公司 | 基于aes算法的加密密钥流产生方法 |
CN104182696A (zh) * | 2014-08-15 | 2014-12-03 | 浪潮电子信息产业股份有限公司 | 一种基于Avalon接口的AES算法IP核的设计方法 |
CN105721139B (zh) * | 2014-12-05 | 2019-05-07 | 上海航天有线电厂有限公司 | 一种适用于有限io资源的fpga的aes加解密方法及电路 |
CN105721139A (zh) * | 2014-12-05 | 2016-06-29 | 上海航天有线电厂有限公司 | 一种适用于有限io资源的fpga的aes加解密方法及电路 |
CN105187198A (zh) * | 2015-08-25 | 2015-12-23 | 东南大学 | 一种用于IPSec协议下的AES算法硬件实现装置 |
CN105187198B (zh) * | 2015-08-25 | 2018-05-18 | 东南大学 | 一种用于IPSec协议下的AES算法硬件实现装置 |
CN105357218A (zh) * | 2015-12-03 | 2016-02-24 | 上海斐讯数据通信技术有限公司 | 一种具备硬件加解密功能的路由器及其加解密方法 |
CN105357218B (zh) * | 2015-12-03 | 2018-07-24 | 上海斐讯数据通信技术有限公司 | 一种具备硬件加解密功能的路由器及其加解密方法 |
CN105721161A (zh) * | 2016-01-28 | 2016-06-29 | 东南大学 | 一种基于总线的h2-mac消息认证ip核硬件装置 |
CN105721161B (zh) * | 2016-01-28 | 2018-10-23 | 东南大学 | 一种基于总线的h2-mac消息认证ip核硬件装置 |
CN107679409A (zh) * | 2017-09-29 | 2018-02-09 | 深圳大学 | 一种数据加密的加速方法和系统 |
CN107679409B (zh) * | 2017-09-29 | 2021-02-23 | 深圳大学 | 一种数据加密的加速方法和系统 |
US11044099B2 (en) * | 2018-12-28 | 2021-06-22 | Intel Corporation | Technologies for providing certified telemetry data indicative of resources utilizations |
CN111935175A (zh) * | 2020-09-14 | 2020-11-13 | 华芯生物科技(武汉)有限公司 | 一种检测设备的数据加密传输方法 |
CN114826617A (zh) * | 2022-04-29 | 2022-07-29 | 西北工业大学 | 工业物联网终端系统设计、数据验证方法及硬件加速装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102664729B (zh) | 2014-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102664729B (zh) | 一种基于fpga的aes加解密网络通讯装置及其实现方法 | |
US10659216B2 (en) | Data processing method and apparatus | |
US20060078108A1 (en) | Hardware-based encryption/decryption employing dual ported memory and fast table initialization | |
CN105357218A (zh) | 一种具备硬件加解密功能的路由器及其加解密方法 | |
US12010209B2 (en) | Memory-efficient hardware cryptographic engine | |
CN102111263A (zh) | 一种数据流加密的方法 | |
CN109299614A (zh) | 一种采用流水线方式实现sm4密码算法的系统及方法 | |
CN105391701A (zh) | 一种数据加密方法和系统 | |
CN103580851A (zh) | 信息加密及解密方法 | |
CN103632104A (zh) | 一种大数据环境下动态数据的并行加解密方法 | |
CN107534558A (zh) | 用于保护经由数据总线传输的数据的信息安全的方法以及数据总线系统 | |
CN105337728A (zh) | 一种数据加密方法和系统 | |
CN103427981B (zh) | 一种实现加密、解密的方法以及装置 | |
CN110336661B (zh) | Aes-gcm数据处理方法、装置、电子设备及存储介质 | |
CN103346878A (zh) | 一种基于fpga高速串行io的保密通信方法 | |
CN114679252A (zh) | 一种MACsec AES算法资源共享方法 | |
CN105429748A (zh) | 一种数据加密方法和系统 | |
CN102739393A (zh) | 基于apb总线的硬件加密uart装置 | |
CN101515853B (zh) | 信息终端及其信息安全装置 | |
US8560832B2 (en) | Information processing apparatus | |
CN105721139B (zh) | 一种适用于有限io资源的fpga的aes加解密方法及电路 | |
CN103338447B (zh) | 一种应用于短距离传输的自存取加解密电路 | |
CN117439744A (zh) | 基于业务安全等级的业务数据传输方法及装置 | |
CN105187198B (zh) | 一种用于IPSec协议下的AES算法硬件实现装置 | |
Chouhan | Implementation of present cryptographical algorithm for the encryption of messages in NETFPGA 1G |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141231 Termination date: 20160428 |