本发明涉及数据安全,尤其涉及一种现场可编程门阵列的加密方法、系统、装置、设备和介质。
背景技术:
1、fpga(field-programmable gate array,现场可编程门阵列)是一种可编程的集成电路,广泛应用于军事、金融和医疗等各种领域,其中部分领域对数据的保密性和安全性要求极高。因此,对fpga进行加密,从而防止未经授权的访问、复制和修改,是不可或缺的重要部分。
2、在众多加密算法中,rsa非对称加密算法是较为安全的公钥密码算法之一,rsa算法破译的难度与密钥长度呈正相关,密钥长度越长,破译难度越大。目前,rsa加密所应用的密钥长度一般为1024位。然而,在fpga内部集成rsa加密逻辑进而对xilinx fpga的(deoxyribonucleic acid,dna)信息进行加密,会极大的增加fpga设计资源的使用,导致fpga加密方法占用的资源过多。
3、因此,如何减少现场可编程门阵列加密占用的资源,已成为当前业内亟需解决的技术问题。
技术实现思路
1、本发明提供一种现场可编程门阵列的加密方法、系统、装置、设备和介质,用以解决现有技术中fpga加密方法占用的资源过多的缺陷,实现了使用较少的资源即可实现fpga的加密,减少了资源占用率。
2、第一方面,本发明提供一种现场可编程门阵列的加密方法,应用于现场可编程门阵列的加密系统中的risc-v处理器,所述现场可编程门阵列的加密系统包括:加密解密程序、所述risc-v处理器以及flash存储器,所述risc-v处理器为基于现场可编程门阵列实现的处理器;所述方法包括如下步骤:
3、接收至少一条加密指令;所述加密指令为所述加密解密程序通过risc-v交叉编译工具对原始加密请求进行交叉编译后得到的,所述加密指令为32位的risc-v指令;所述原始加密请求用于指示对现场可编程门阵列进行加密;
4、对各所述加密指令进行指令译码和执行,得到各所述加密指令的第一指令执行结果;所述第一指令执行结果为第一加密密文;
5、将各所述第一加密密文写入所述flash存储器中。
6、根据本发明提供的一种现场可编程门阵列的加密方法,所述risc-v处理器的外部设备包括:只读存储器外部设备、随机访问存储器外部设备、通用异步接收或发送器外部设备、dna外部设备和通用输入输出外部设备;
7、所述对各所述加密指令进行指令译码和执行,得到各所述加密指令的第一指令执行结果,包括:
8、针对任一所述加密指令,根据所述加密指令中的取指地址从只读存储器外部设备中进行取指操作;
9、根据所述加密指令,从所述dna外部设备中读取所述现场可编程门阵列的dna识别信息;所述dna识别信息包括以下至少一项:设备标识、制造信息、配置数据、安全特征、版本信息、用户数据、设备功能、供应链信息;
10、利用目标加密算法对读取的所述现场可编程门阵列的dna识别信息进行加密,得到所述加密指令的加密密文;
11、将各所述加密指令的加密密文确定为各所述第一指令执行结果。
12、根据本发明提供的一种现场可编程门阵列的加密方法,所述目标加密算法为rsa加密算法;所述利用目标加密算法对读取的所述现场可编程门阵列的dna识别信息进行加密,得到所述加密指令的加密密文,包括:
13、根据预设的两个质数计算对应的模数,并计算所述模数对应的欧拉函数;
14、根据所述欧拉函数,确定公钥参数;
15、计算所述公钥参数关于所述欧拉函数的反元素,将所述反元素确定为私钥参数;
16、根据所述公钥参数和所述模数确定公钥,并根据所述私钥参数和所述模数,确定私钥;所述公钥和所述私钥构成一组密钥对;
17、根据所述密钥对中的私钥对所述dna识别信息进行加密,得到所述加密指令的加密密文。
18、根据本发明提供的一种现场可编程门阵列的加密方法,所述risc-v处理器的外部设备还包括串行外设接口;所述将各所述第一加密密文写入所述flash存储器中,包括:
19、通过所述串行外设接口将各所述第一加密密文写入至所述flash存储器中。
20、根据本发明提供的一种现场可编程门阵列的加密方法,所述方法还包括:
21、通过所述串行外设接口从所述flash存储器中获取第二加密密文;
22、利用目标解密算法对所述第二加密密文进行解密,得到所述第二加密密文对应的明文;所述目标解密算法为与目标加密算法对应的解密算法;所述目标解密算法为rsa加密算法;
23、将解密得到的所述明文和读取的所述现场可编程门阵列的dna识别信息进行对比,得到一致性对比结果;
24、根据所述一致性对比结果,控制所述现场可编程门阵列的业务模块。
25、根据本发明提供的一种现场可编程门阵列的加密方法,所述根据所述一致性对比结果,控制所述现场可编程门阵列的业务模块,包括:
26、在所述一致性对比结果为一致的情况下,控制所述现场可编程门阵列的业务模块正常运行;
27、在所述一致性对比结果为不一致的情况下,控制所述现场可编程门阵列的业务模块停止运行。
28、根据本发明提供的一种现场可编程门阵列的加密方法,所述方法还包括:
29、根据接收到的内存加载指令中的第一数据地址从随机访问存储器进行取数据操作;
30、根据接收到的内存存储指令中的第二数据地址将所述内存存储指令中的数据写入随机访问存储器的对应地址中。
31、第二方面,本发明还提供一种现场可编程门阵列的加密系统,其特征在于,所述现场可编程门阵列的加密系统包括:加密解密程序、risc-v处理器以及flash存储器,所述risc-v处理器为基于现场可编程门阵列实现的处理器;其中:
32、所述加密解密程序,用于通过risc-v交叉编译工具对原始加密请求进行交叉编译得到至少一条加密指令,并发送给所述risc-v处理器;所述加密指令为32位的risc-v指令;所述原始加密请求用于指示对现场可编程门阵列进行加密;
33、所述risc-v处理器,用于对各所述加密指令进行指令译码和执行,得到各所述加密指令的第一指令执行结果;所述第一指令执行结果为第一加密密文;将各所述第一加密密文写入所述flash存储器中;
34、所述flash存储器,用于存储各所述加密密文。
35、第三方面,本发明还提供一种现场可编程门阵列的加密装置,应用于现场可编程门阵列的加密系统中的risc-v处理器,所述现场可编程门阵列的加密系统包括:加密解密程序、所述risc-v处理器以及flash存储器,所述risc-v处理器为基于现场可编程门阵列实现的处理器;所述装置包括如下模块:
36、接收模块,用于接收至少一条加密指令;所述加密指令为所述加密解密程序通过risc-v交叉编译工具对原始加密请求进行交叉编译后得到的,所述加密指令为32位的risc-v指令;所述原始加密请求用于指示对现场可编程门阵列进行加密;
37、加密模块,用于对各所述加密指令进行指令译码和执行,得到各所述加密指令的第一指令执行结果;所述第一指令执行结果为第一加密密文;
38、写入模块,用于将各所述第一加密密文写入所述flash存储器中。
39、第四方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述现场可编程门阵列的加密方法。
40、第五方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述现场可编程门阵列的加密方法。
41、第六方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述现场可编程门阵列的加密方法。
42、本发明提供的现场可编程门阵列的加密方法、系统、装置、设备和介质,应用于现场可编程门阵列的加密系统中的risc-v处理器,现场可编程门阵列的加密系统包括:加密解密程序、risc-v处理器以及flash存储器, risc-v处理器为基于现场可编程门阵列实现的处理器,该方法包括:首先,接收至少一条加密指令,其中,加密指令为加密解密程序通过risc-v交叉编译工具对原始加密请求进行交叉编译后得到的,加密指令为32位的risc-v指令,所述原始加密请求用于指示对现场可编程门阵列进行加密; 然后,对各加密指令进行指令译码和执行,得到各加密指令的第一指令执行结果,所述第一指令执行结果为第一加密密文;将各加密密文写入flash存储器中。
43、因risc-v是一种基于精简指令集原则的开源指令集架构,本发明中基于risc-v处理器接收加密解密程序的加密指令,加密指令为加密解密程序通过risc-v交叉编译工具对原始加密请求进行交叉编译后得到的,原始加密请求用于指示对现场可编程门阵列进行加密;risc-v处理器对各加密指令进行指令译码和执行可以得到各加密指令的第一指令执行结果,也即实现了对现场可编程门阵列进行加密,实现了使用较少的资源即可实现fpga的加密,减少了资源占用率。
1.一种现场可编程门阵列的加密方法,其特征在于,应用于现场可编程门阵列的加密系统中的risc-v处理器,所述现场可编程门阵列的加密系统包括:加密解密程序、所述risc-v处理器以及flash存储器,所述risc-v处理器为基于现场可编程门阵列实现的处理器;所述方法包括:
2.根据权利要求1所述的现场可编程门阵列的加密方法,其特征在于,所述risc-v处理器的外部设备包括:只读存储器外部设备、随机访问存储器外部设备、通用异步接收或发送器外部设备、dna外部设备和通用输入输出外部设备;
3.根据权利要求2所述的现场可编程门阵列的加密方法,其特征在于,所述目标加密算法为rsa加密算法;所述利用目标加密算法对读取的所述现场可编程门阵列的dna识别信息进行加密,得到所述加密指令的加密密文,包括:
4.根据权利要求1-3任一项所述的现场可编程门阵列的加密方法,其特征在于,所述risc-v处理器的外部设备还包括串行外设接口;所述将各所述第一加密密文写入所述flash存储器中,包括:
5.根据权利要求1-3任一项所述的现场可编程门阵列的加密方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的现场可编程门阵列的加密方法,其特征在于,所述根据所述一致性对比结果,控制所述现场可编程门阵列的业务模块,包括:
7.根据权利要求1-3任一项所述的现场可编程门阵列的加密方法,其特征在于,所述方法还包括:
8.一种现场可编程门阵列的加密系统,其特征在于,所述现场可编程门阵列的加密系统包括:加密解密程序、risc-v处理器以及flash存储器,所述risc-v处理器为基于现场可编程门阵列实现的处理器;其中:
9.一种现场可编程门阵列的加密装置,其特征在于,应用于现场可编程门阵列的加密系统中的risc-v处理器,所述现场可编程门阵列的加密系统包括:加密解密程序、所述risc-v处理器以及flash存储器,所述risc-v处理器为基于现场可编程门阵列实现的处理器;所述装置包括:
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述现场可编程门阵列的加密方法。
