本实用新型专利技术公开了一种FPGA加密数据流的解密电路,包括:数据输入接口、指令解码器、移位寄存器、密钥存储器、密钥界面模块、密钥扩展模块以及解密模块;数据输入接口分别连接指令解码器和解密模块;指令解码器连接移位寄存器和密钥界面模块;密钥界面模块连接密钥存储器和密钥扩展模块;其中,数据输入接口用于输入加密的数据文件或密钥指令,并将加密的数据文件送到解密模块,或将密钥指令送到指令解码器。本实用新型专利技术实施例的FPGA加密数据流的解密电路,有专门的非易失性密钥存储电路用以存储多个密钥,可进行多重加密和损坏加密,不但没有增加解密电路的复杂度和降低解密电路的编程速度,而且增强了加密数据的安全性,使FPGA的解加密更加可靠安全。(*该技术在2022年保护过期,可自由使用*)
【技术实现步骤摘要】
本技术涉及数字电路
,尤其涉及FPGA数据流的加解密领域,具体的讲是一种FPGA加密数据流的解密电路。
技术介绍
在当下竞争日益激烈的商业以及军事环境中,设计(IP)安全对于数字设计人员而言是一个至关重要的考虑因素。随着FPGA在更庞大、更关键的系统组件中扮演着愈来愈重要的角色,保护设计免受非法复制、逆向工程以及篡改也愈加显得重要。FPGA通过使用128(或更高数位)高级加密标准(AES)算法来对配置数据流进行解密能力可以消除这些顾虑。FPGA器件在操作过程中,将配置数据存储在SRAM配置单元中。由于SRAM存储器的易失性,每次器件上电后,都必须将配置数据加载到SRAM单元中。通常将配置数据从外部存储器源(例如闪存或配置器件)发送至FPGA,但在此过程中,数据有可能会被拦截,不法分子可以使用截获的配置数据来配置另一个全新的FPGA,使其具有同样的功能。而使用加密的配置数据流,即使被截获,在不知道密钥的情况下,也无法使用在新的FPGA器件上,因为密钥是被存储在FPGA当中的。美国专利US6931543公开了一种数据流解密电路,但是其加密和解密的算法是基于64位的自行开发出来的算法。相对于当今广泛商业应用的AES128,192和256位的算法比较,保密性较低。而且,其密钥存储在FPGA当中的易失性存储器中,为保持器件掉电后密钥不丢失,需采用电池供电,如电池出现问题或供电不稳定,系统将会出现严重问题。美国专利US7675313也公开了一种数据流解密电路,其解密模块的算法采用了AES标准,安全性大大提 高;并且其密钥存储在非易失性的存储器中,从而不再需要外加电池。但是,在此方案中采用了 3组存储器,即多数胜出的解码方法。这种增加电路复杂度的作法是为了解决非易失性的存储器良率过低的问题,对解密方法没有任何帮助。并且,此方案只能存放一个密钥,如用户想更换密钥或想利用多个密钥作更进一步的加密则没有可倉泛。
技术实现思路
本技术实施例提供一种FPGA加密数据流的解密电路,以解决现有技术中的解密电路无法在密钥存储器中存放多个密钥,实现多重解密或损坏解密的问题。为了达到上述目的,本技术实施例公开了一种FPGA加密数据流的解密电路,所述解密电路包括:数据输入接口、指令解码器、移位寄存器、密钥存储器、密钥界面模块、密钥扩展模块以及解密模块;所述数据输入接口分别连接所述指令解码器、移位寄存器和解密模块;所述指令解码器连接所述移位寄存器和密钥界面模块;所述密钥界面模块连接所述密钥存储器和密钥扩展模块;其中,所述数据输入接口用于输入加密的数据文件或密钥指令,并将所述加密的数据文件送到所述解密模块,或将所述密钥指令送到所述指令解码器;当所述密钥指令为密钥写入指令时,所述数据输入接口接收输入的数据文件为密钥,所述指令解码器根据所述密钥写入指令将所述密钥移入所述移位寄存器,当所述移位寄存器位满后,将所述密钥加载到所述密钥界面模块中的密钥移位寄存器上,并写入到所述密钥存储器进行存储;当所述密钥指令为数据解密指令时,所述数据输入接口接收输入的数据为加密数据流,所述加密数据流经字节整合后进入到所述解密模块;所述指令解码器根据所述数据解密指令从所述密钥存储器中选取相应的AES密钥,送至所述密钥界面模块中的密钥移位寄存器,所述密钥扩展模块对所述密钥移位寄存器中的AES密钥进行扩展操作后送至所述解密模块;所述解密模块结合所述扩展后的AES密钥,对所述加密数据流进行解密。本技术实施例的FPGA加密数据流的解密电路,有专门的非易失性密钥存储电路用以存储多个密钥,可进行多重加密和损坏加密,不但没有增加解密电路的复杂度和降低解密电路的编程速度,而且增强了加密数据的安全性,使FPGA的解加密更加可靠安全。附图说明为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本技术实施例的FPGA加密数据流的解密电路的结构示意图;图2为本技术实施例的包括密钥移位寄存器以及运算模块的FPGA加密数据流的解密电路的结构示意图;图3为利用图2所示实施例进行密钥写入的流程示意图;图4为利用 图2所示实施例进行数据流解密的流程示意图;图5为利用图2所示实施例进行数据流解密的另一个实施例的流程示意图;图6为利用本技术实施例的FPGA加密数据流的解密电路进行解密的方法流程图。具体实施方式下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。图1为本技术实施例的FPGA加密数据流的解密电路的结构示意图。如图所示,所述解密电路包括:数据输入接口 1、指令解码器2、移位寄存器3、密钥存储器4、密钥界面模块5、密钥扩展模块6以及解密模块7。其中,所述数据输入接口 I分别连接所述指令解码器2、移位寄存器3和解密模块7 ;所述指令解码器2连接所述移位寄存器3和密钥界面模块5 ;所述密钥界面模块5连接所述密钥存储器4和密钥扩展模块6。所述数据输入接口 I用于输入加密的数据文件或密钥指令,并将所述加密的数据文件送到所述解密模块7,或将所述密钥指令送到所述指令解码器2。在本技术实施例中,所述数据输入接口 I为JTAG接口、专用串行接口或8位CPU接口,加密数据流可以从JTAG接口、专用串行接口或8位CPU接口任一个接口输入。在本实施例中,所述指令解码器2、移位寄存器3、密钥存储器4、密钥界面模块5、密钥扩展模块6以及解密模块7都可以用硬件电路或者芯片来实现。在本技术实施例中,密钥存储器4为非易失性密钥存储器,可存储多个密钥,有足够的存储空间及相应的地址解码器。如N个128位的密钥需要有N*128个存储单元,地址解码器负责将密钥存在相应地址的存储单元中。在本技术实施例中,密钥可以为128位、192位或256位,即可以是AES中认可的所有长度,对应的移位寄存器3也可以是128位移位寄存器、192位移位寄存器或256位移位寄存器。在图1所示实施例中,如图2所示,密钥界面模块5还包括密钥移位寄存器502以及运算模块501,其中,密钥移位寄存器502用以将密钥从移位寄存器3中移入到密钥存储器4中,或者将密钥从密钥存储器4中移入到密钥扩展模块6中。运算模块501用于在利用本技术的解密电路进行解密时,将从密钥存储器4中取出的密钥进行运算,生成一最终解密码。其中,运算包括加、减、乘、除等数学运算或者逻辑运算等。当然,在本专利技术实施例中,也可以不应用运算模块501对取出的密钥进行运算,直接将其作为最终的解密码,因此,运算模块501的功能是可以选择使用的。本技术实施例的FPGA加密数据流的解密电路的原理是:当输入的数据流为非加密数据流时,如图1和2所示,非加密数据流直接送至SRAM数据整合单元中进行数据整合后,送至F本文档来自技高网...
【技术保护点】
一种FPGA加密数据流的解密电路,其特征在于,所述解密电路包括:数据输入接口、指令解码器、移位寄存器、密钥存储器、密钥界面模块、密钥扩展模块以及解密模块;所述数据输入接口分别连接所述指令解码器、移位寄存器和解密模块;所述指令解码器连接所述移位寄存器和密钥界面模块;所述密钥界面模块连接所述密钥存储器和密钥扩展模块;其中,所述数据输入接口用于输入加密的数据文件或密钥指令,并将所述加密的数据文件送到所述解密模块,或将所述密钥指令送到所述指令解码器;当所述密钥指令为密钥写入指令时,所述数据输入接口接收输入的数据文件为密钥,所述指令解码器根据所述密钥写入指令将所述密钥移入所述移位寄存器,当所述移位寄存器位满后,将所述密钥加载到所述密钥界面模块中的密钥移位寄存器上,并写入到所述密钥存储器进行存储;当所述密钥指令为数据解密指令时,所述数据输入接口接收输入的数据为加密数据流,所述加密数据流经字节整合后进入到所述解密模块;所述指令解码器根据所述数据解密指令从所述密钥存储器中选取相应的AES密钥,送至所述密钥界面模块中的密钥移位寄存器,所述密钥扩展模块对所述密钥移位寄存器中的AES密钥进行扩展操作后送至所述解密模块;所述解密模块结合所述扩展后的AES密钥,对所述加密数据流进行解密。...
【技术特征摘要】
1.一种FPGA加密数据流的解密电路,其特征在于,所述解密电路包括:数据输入接口、指令解码器、移位寄存器、密钥存储器、密钥界面模块、密钥扩展模块以及解密模块; 所述数据输入接口分别连接所述指令解码器、移位寄存器和解密模块;所述指令解码器连接所述移位寄存器和密钥界面模块;所述密钥界面模块连接所述密钥存储器和密钥扩展模块;其中, 所述数据输入接口用于输入加密的数据文件或密钥指令,并将所述加密的数据文件送到所述解密模块,或将所述密钥指令送到所述指令解码器; 当所述密钥指令为密钥写入指令时,所述数据输入接口接收输入的数据文件为密钥,所述指令解码器根据所述密钥写入指令将所述密钥移入所述移位寄存器,当所述移位寄存器位满后,将所述密钥加载到所述密钥界面模块中的密钥移位寄存器上,并写入到所述密钥存储器进行存储; 当所述密钥指令为数据解密指令时,所述数据输入接口接收输入的数据为加密数据流,所述加密数...
【专利技术属性】
技术研发人员:朱璟辉,高三达,李灯伟,
申请(专利权)人:艺伦半导体技术股份有限公司,
类型:实用新型
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。