固件加解密方法、装置、计算机设备及可读存储介质制造方法及图纸

技术编号:35600289 阅读:17 留言:0更新日期:2022-11-16 15:20
本发明专利技术实施例公开了一种固件加解密方法、装置、计算机设备及可读存储介质,所述加密方法包括:获取固件地址和固件明文,对所述固件地址和所述固件明文分别进行扩散,得到扩散地址和扩散明文;获取加密密钥,利用所述加密密钥对所述扩散地址进行混淆,得到混淆密钥;根据预设加密函数,利用所述混淆密钥对所述扩散明文进行加密运算,得到中间密文;对所述中间密文进行扩散,得到固件密文。通过在加密密钥中加入扩散地址的信息,不仅提升了混淆密钥的盗取难度,还保证了各个地址的固件明文都采用不同的混淆密钥进行加密,并且通过对固件进行反复加密处理,提高了破译难度以及固件的安全性和可靠性。性和可靠性。性和可靠性。

【技术实现步骤摘要】
固件加解密方法、装置、计算机设备及可读存储介质


[0001]本专利技术涉及数据安全
,尤其涉及一种固件加解密方法、装置、计算机设备及可读存储介质。

技术介绍

[0002]随着物联网的高速发展,集成电路芯片的应用领域越来越广泛,尤其是单片机借着本身控制能力强和功耗低等优势,已经逐渐成为智能控制系统中不可或缺的部分,但是,单片机中的固件容易被非法窃取,从而造成技术泄露和经济损失。
[0003]单片机固件的保护方法多种多样,在现有技术中,通常通过指令伪装法、读写权限设置和总线乱序等方式对单片机的固件进行加密,但是,现有技术使用的加密方法,安全系数较低容易被破译。
[0004]因此,如何提高固件的安全性成为亟待解决的技术问题。

技术实现思路

[0005]有鉴于此,本专利技术的目的在于提供一种固件加解密方法、装置、计算机设备及可读存储介质,以提高固件的安全性。
[0006]为了实现上述目的,本专利技术实施例采用的技术方案如下:
[0007]第一方面,本专利技术实施例提供一种固件加密方法,包括:
[0008]获取固件地址和固件明文,对所述固件地址和所述固件明文分别进行扩散,得到扩散地址和扩散明文;
[0009]获取加密密钥,利用所述加密密钥对所述扩散地址进行混淆,得到混淆密钥;
[0010]根据预设加密函数,利用所述混淆密钥对所述扩散明文进行加密运算,得到中间密文;
[0011]对所述中间密文进行扩散,得到固件密文。
[0012]在一种实施例中,所述获取固件地址和固件明文,对所述固件地址和所述固件明文分别进行扩散,得到扩散地址和扩散明文,包括:
[0013]对所述固件地址和所述固件明文分别进行置乱,得到所述扩散地址和所述扩散明文。
[0014]在一种实施例中,所述获取加密密钥,利用所述加密密钥对所述扩散地址进行混淆,得到混淆密钥,包括:
[0015]将预设加密密钥和所述扩散地址进行异或操作,得到所述混淆密钥。
[0016]在一种实施例中,所述根据预设加密函数,利用所述混淆密钥对所述扩散明文进行加密运算,得到中间密文,包括:
[0017]获取所述混淆密钥的字符长度;
[0018]根据所述字符长度,确定所述扩散明文的偏移量;
[0019]将所述扩散明文按照所述偏移量进行偏移,得到所述中间密文。
[0020]在一种实施例中,所述对所述中间密文进行扩散,得到固件密文,包括:
[0021]对所述中间密文进行置乱,得到所述固件密文。
[0022]第二方面,本专利技术实施例提供一种固件解密方法,包括:
[0023]获取固件地址,对所述固件地址进行扩散,得到扩散地址;
[0024]获取解密密钥,利用所述解密密钥对所述扩散地址进行混淆,得到混淆密钥;
[0025]获取固件密文,对所述固件密文进行逆扩散,得到中间密文;
[0026]根据预设解密函数,利用所述混淆密钥对所述中间密文进行解密运算,得到扩散明文;
[0027]对所述扩散明文进行逆扩散,得到固件明文。
[0028]第三方面,本专利技术实施例提供一种固件加密装置,包括:
[0029]第一扩散模块,用于获取固件地址和固件明文,对所述固件地址和所述固件明文分别进行扩散,得到扩散地址和扩散明文;
[0030]第一混淆模块,用于获取加密密钥,利用所述加密密钥对所述扩散地址进行混淆,得到混淆密钥;
[0031]加密模块,用于根据预设加密函数,利用所述混淆密钥对所述扩散明文进行加密运算,得到中间密文;
[0032]第二扩散模块,用于对所述中间密文进行扩散,得到固件密文。
[0033]第四方面,本专利技术实施例提供一种固件解密装置,包括:
[0034]第三扩散模块,用于对固件地址进行扩散,得到扩散地址;
[0035]第二混淆模块,用于获取解密密钥,利用所述解密密钥对所述扩散地址进行混淆,得到混淆密钥;
[0036]第一逆扩散模块,用于获取固件密文,对所述固件密文进行逆扩散,得到中间密文;
[0037]解密模块,用于根据预设解密函数,利用所述混淆密钥对所述中间密文进行解密运算,得到扩散明文;
[0038]第二逆扩散模块,用于对所述扩散明文进行逆扩散,得到固件明文。
[0039]第五方面,专利技术实施例提供一种计算机设备,包括:处理器和存储器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序以使所述计算机设备执行所述固件加密方法或所述固件解密方法。
[0040]第六方面,本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行所述固件加密方法或所述固件解密方法。
[0041]与现有技术相比,本方明实施例提供的固件加解密方法、装置、计算机设备及可读存储介质,该加密方法通过获取固件地址和固件明文,对所述固件地址和所述固件明文分别进行扩散,得到扩散地址和扩散明文;获取加密密钥,利用所述加密密钥对所述扩散地址进行混淆,得到混淆密钥;根据预设加密函数,利用所述混淆密钥对所述扩散明文进行加密运算,得到中间密文;对所述中间密文进行扩散,得到固件密文。通过在加密密钥中加入扩散地址的信息,不仅提升了混淆密钥的盗取难度,还保证了各个地址的固件明文都采用不同的混淆密钥进行加密,并且通过对固件进行反复加密处理,提高了破译难度以及固件的
安全性和可靠性。
[0042]为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0043]为了更清楚地说明本专利技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对本专利技术保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
[0044]图1示出了本专利技术实施例提供的固件加密方法的流程图;
[0045]图2示出了本专利技术实施例提供的固件解密方法的流程图;
[0046]图3示出了本专利技术实施例提供的固件加密装置的模块示意图;
[0047]图4示出了本专利技术实施例提供的固件解密装置的模块示意图。
[0048]主要元件符号说明:
[0049]100

固件加密装置;101

第一扩散模块;102

第一混淆模块;103

加密模块;104

第二扩散模块;200

固件解密装置;201

第三扩散模块;202

第二混淆模块;203

第一逆扩散模块;204

解密模块;205

第二逆扩散模块。
具体实施方式
[0050]下面将结合本专利技术实施例中附图,对本专利技术实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种固件加密方法,其特征在于,包括:获取固件地址和固件明文,对所述固件地址和所述固件明文分别进行扩散,得到扩散地址和扩散明文;获取加密密钥,利用所述加密密钥对所述扩散地址进行混淆,得到混淆密钥;根据预设加密函数,利用所述混淆密钥对所述扩散明文进行加密运算,得到中间密文;对所述中间密文进行扩散,得到固件密文。2.根据权利要求1所述的固件加密方法,其特征在于,所述对所述固件地址和所述固件明文分别进行扩散,得到扩散地址和扩散明文,包括:对所述固件地址和所述固件明文分别进行置乱,得到所述扩散地址和所述扩散明文。3.根据权利要求1所述的固件加密方法,其特征在于,所述利用所述加密密钥对所述扩散地址进行混淆,得到混淆密钥,包括:将所述加密密钥和所述扩散地址进行异或操作,得到所述混淆密钥。4.根据权利要求1所述的固件加密方法,其特征在于,所述根据预设加密函数,利用所述混淆密钥对所述扩散明文进行加密运算,得到中间密文,包括:获取所述混淆密钥的字符长度;根据所述字符长度,确定所述扩散明文的偏移量;将所述扩散明文按照所述偏移量进行偏移,得到所述中间密文。5.根据权利要求1所述的固件加密方法,其特征在于,所述对所述中间密文进行扩散,得到固件密文,包括:对所述中间密文进行置乱,得到所述固件密文。6.一种固件解密方法,其特征在于,包括:获取固件地址,对所述固件地址进行扩散,得到扩散地址;获取解密密钥,利用所述解密密钥对所述扩散地址进行混淆,得到混淆密钥;获取固件密文,对所述固件密文进行逆扩散,得到中...

【专利技术属性】
技术研发人员:华力赵昕烨袁涛师晓云朱晓伟陈子荷
申请(专利权)人:湖南国科微电子股份有限公司
类型:发明
国别省市:

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

1