一种基于FPGA硬件系统的HDL源码加密方法技术方案

技术编号:26478934 阅读:21 留言:0更新日期:2020-11-25 19:23
本发明专利技术提供了基于FPGA硬件系统的HDL源码加密方法,包括安全加密密钥的生成、HDL源文件的加密、HDL源文件的解密。安全加密密钥的生成,包括FPGA硬件系统的若干个传感器随机生成若干个随机数;若干个随机数经私有的数学算法运算进行一次加密,产生文本密钥;文本密钥经非对称ECC椭圆加密算法进行二次加密,产生安全加密密钥并存储,同时对非对称ECC椭圆加密算法的私钥进行存储三个步骤。HDL源文件的加密,包括将HDL源文件中源代码读取至计算机内存内,并形成待加密文本;通过文本密钥及对称可逆加密算法对待加密文本进行加密,得到代码密文并进行存储两个步骤。HDL源码加密方法的破译难度大,安全度高。

【技术实现步骤摘要】
一种基于FPGA硬件系统的HDL源码加密方法
本专利技术属于集成电路设计领域,涉及HDL源代码加密技术,具体为一种基于FPGA硬件系统的HDL源码加密方法。
技术介绍
硬件描述语言HDL(HardwareDescriptionLanguage),是硬件设计人员和电子设计自动化工具之间的接口,其主要目的是用来编写设计文件,建立电子系统行为级的仿真模型。目前,数字集成电路的前端设计方式以HDL源代码(Verilog或VHDL或SystemVerilog等)形式作输入为主流的设计方式,程序运行中部分代码将以源码形式存在于计算机的磁盘中。由于在数字电路设计流程中,对于最终的下载比特流有加密保护措施,因此,通常在HDL中通过代码或网表等方式进行加密保护。由于代码或网表等加密方法已存在较长的时间,目前出现了一些破解工具,其破解的成功率已超过80%。当前HDL源码加密是通过在主机上运行加密软件实现的,软件加密手段已相当普遍,在传输过程中存在代码被破译风险,安全性较低,因此,有必要对现有的加密方法进行改进。
技术实现思路
本专利技术的目的在于提供一种基于FPGA硬件系统的HDL源码加密方法,本专利技术的HDL源码加密方法是通过FPGA硬件系统实现的,硬件加密方法具有加密速度快,占用计算机资源少,破解难度大,安全性高的优点。实现专利技术目的的技术方案如下:一种基于FPGA硬件系统的HDL源码加密方法,包括安全加密密钥的生成、HDL源文件的加密、HDL源文件的解密。其中,安全加密密钥的生成,包括以下步骤:S101、FPGA硬件系统的若干个传感器随机生成若干个随机数;S102、若干个随机数经数学算法运算进行一次加密,产生文本密钥;S103、文本密钥经非对称ECC椭圆加密算法进行二次加密,产生安全加密密钥,并存储,同时,对非对称ECC椭圆加密算法的私钥进行存储;其中,HDL源文件的加密,包括以下步骤:S201、将HDL源文件中源代码读取至计算机内存,并形成待加密文本;S202、通过文本密钥及对称可逆加密算法对待加密文本进行加密,得到代码密文并进行存储。本专利技术的HDL源码加密方法的原理是:首先,通过FPGA硬件系统的传感器随机产生不同的随机数,再采用数学算法(如:私有的数学算法)进行一次计算加密后得到文本密钥;其次,在对HDL源文件加密时,通过对称可逆加密算法再结合文本密钥对加密文本进行加密,形成代码密文,即可。通过上述方法加密的HDL源码,由于FPGA硬件系统的硬件参数多,随机产生的随机数不容易被得到;同时,私有的数学算法是不对外公开的,由加密者自己定义,对随机数加密一次加密后,其破解难度极大,提高了HDL源码的安全性。此外,用非对称ECC椭圆加密算法对文本密钥进行二次加密产生后得到安全加密密钥并存储在Flash,这样破译者即使得到了安全加密密钥,也无法直接用作解密,增加了破解难度。在本专利技术中,HDL源文件的解密包括以下步骤:S301、解释器程序运行时,对HDL源文件进行读取;S302、读取私钥及安全加密密钥,通过私钥对非对称ECC椭圆加密算法解密,获得文本密钥;S303、经对称可逆加密算法对代码密文解密,得到代码明文,经代码明文导入解释器进行编译。在本专利技术的一个实施例中,步骤S101中,若干个随机数产生的方法是分别经若干个传感器采集的参数指标作为熵源,并经数字化处理得到。进一步的,上述硬件参数指标至少包括电压传感器、温度传感器、电流传感器中的一种或多种。FPGA硬件系统的传感器具有多种类型,各自类型的传感器采集的数据并非一成不变,而是实时动态变化的。通过选择不同的传感器产生的参数指标形成随机的随机数,增加了HDL源码被破译的难度。进一步的,步骤S103中,安全加密密钥和私钥存储在不同的存储模块中。将安全加密密钥和私钥存储分别存储,在被破译者破译时,使得破译者不容易获取私钥对安全加密密钥进行破译。优选的,安全加密密钥存储至FPGA板上其中一个Flash芯片中,私钥存储至FPGA板上其他的Flash芯片中或者存储至EMMC芯片中或移动存储设备中。在本专利技术的一个实施例中,步骤S201中,还包括将源代码的若干个信息连接组合形成头部内容,并将头部内容加入源代码之前,形成待加密文本。进一步的,HDL源文件的解密步骤中,在待加密文本解密的代码明文,并经代码明文导入解释器进行编译前,需要查验代码明文中头部内容,判断头部内容是否被更改;若头部内容未被更改,则将代码明文导入解释器进行编译;若头部内容被更改,则编译终止,对解密程序进行重新审核,对代码内容重新检查。在解密时,通过判断头部内容,方便加密者或者使用者能够快速的判断HDL源文件是否被破译篡改过。进一步的,由于HDL源文件最终需解密释放后进入解释器编译运行,所以必须采用可逆的加密算法加密,本专利技术步骤S202中,选取目前对称可逆加密算法中安全性较高的AES算法进行加密或解密操作。与现有技术相比,本专利技术的有益效果是:本专利技术中,通过HDL源码加密方法对HDL源文件进行加密后,在对文本密钥解密、读取使用时,由于FPGA硬件系统的硬件参数(各个传感器)很多,选取哪项及最终的计算算法都由加密者自己定义,不对外公开,故破解难度极大,大大提高了HDL源文件的安全性。附图说明为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本专利技术为了更清楚地说明本专利技术实施例或现有技术中的技术方案,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的基于FPGA硬件系统的HDL源码加密方法的流程图;图2为本专利技术的基于FPGA硬件系统的HDL源码加密方法的硬件结构示意图;图3为本专利技术的HDL源文件的加密的流程示意图;图4为本专利技术的HDL源文件的解密的流程示意图。具体实施方式下面结合具体实施例来进一步描述本专利技术,本专利技术的优点和特点将会随着描述而更为清楚。但这些实施例仅是范例性的,并不对本专利技术的范围构成任何限制。本领域技术人员应该理解的是,在不偏离本专利技术的精神和范围下可以对本专利技术技术方案的细节和形式进行修改或替换,但这些修改和替换均落入本专利技术的保护范围内。在本实施例的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术创造和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术创造的限制。此外,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”本文档来自技高网...

【技术保护点】
1.一种基于FPGA硬件系统的HDL源码加密方法,其特征在于:包括安全加密密钥的生成、HDL源文件的加密、HDL源文件的解密;/n其中,安全加密密钥的生成,包括以下步骤:/nS101、FPGA硬件系统的若干个传感器随机生成若干个随机数;/nS102、若干个随机数经数学算法运算进行一次加密,产生文本密钥;/nS103、文本密钥经非对称ECC椭圆加密算法进行二次加密,产生安全加密密钥,并存储,同时,对非对称ECC椭圆加密算法的私钥进行存储;/n其中,HDL源文件的加密,包括以下步骤:/nS201、将HDL源文件中源代码读取至计算机内存内,并形成待加密文本;/nS202、通过文本密钥及对称可逆加密算法对待加密文本进行加密,得到代码密文并进行存储。/n

【技术特征摘要】
1.一种基于FPGA硬件系统的HDL源码加密方法,其特征在于:包括安全加密密钥的生成、HDL源文件的加密、HDL源文件的解密;
其中,安全加密密钥的生成,包括以下步骤:
S101、FPGA硬件系统的若干个传感器随机生成若干个随机数;
S102、若干个随机数经数学算法运算进行一次加密,产生文本密钥;
S103、文本密钥经非对称ECC椭圆加密算法进行二次加密,产生安全加密密钥,并存储,同时,对非对称ECC椭圆加密算法的私钥进行存储;
其中,HDL源文件的加密,包括以下步骤:
S201、将HDL源文件中源代码读取至计算机内存内,并形成待加密文本;
S202、通过文本密钥及对称可逆加密算法对待加密文本进行加密,得到代码密文并进行存储。


2.根据权利要求1所述的基于FPGA硬件系统的HDL源码加密方法,其特征在于:HDL源文件的解密包括以下步骤:
S301、解释器程序运行时,对HDL源文件进行读取;
S302、读取私钥及安全加密密钥,通过非对称ECC椭圆加密算法解密,获得文本密钥;
S303、经对称可逆加密算法对代码密文解密,得到代码明文,经代码明文导入解释器进行编译。


3.根据权利要求1或2所述的基于FPGA硬件系统的HDL源码加密方法,其特征在于:步骤S101中,若干个随机数产生的方法是分别经若干个传感器采集的参数指标作为熵源,并经数字化处理得到。

【专利技术属性】
技术研发人员:杨一峰
申请(专利权)人:思尔芯上海信息科技有限公司
类型:发明
国别省市:上海;31

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

1