本发明涉及车辆数字钥匙加密的,尤其是涉及一种基于aes128的白盒加密方法、装置和电子设备。
背景技术:
::1、随着车联网技术的快速发展,其安全性也得到了业界的广泛关注和重视,而密钥作为实现身份认证与数据加密的关键,在车联网安全中扮演着重要的角色。车辆数字钥匙作为车联网中重要的一环,密钥更是至关重要的一部分,几乎所有的交易都依赖于密钥。2、目前车辆数字钥匙主要使用手机和手表作为载体,在这样的移动应用环境下一般可通过安全元件或可信执行环境实现硬件与系统级的安全保护,将与密钥相关的安全操作封闭在一个独立的软/硬件安全环境中进行。然而出于设备成本考虑,并非所有的设备上都具备安全原件或可信执行环境等与安全芯片强相关的硬件条件,不利于车辆数字钥匙的广泛应用。技术实现思路1、本发明的目的在于提供一种基于aes128的白盒加密方法、装置和电子设备,以缓解了现有技术中存在的车辆数字钥匙应用存在局限性的技术问题。2、第一方面,本发明实施例提供了一种基于aes128的白盒加密方法,包括:3、根据加密表函数对原始交易密钥进行第一加密运算,得到多个多维数组;4、将用户设备id和每个所述多维数组中的数值进行第二加密运算,拼接生成目标字符串;5、基于所述目标字符串进行压缩处理,得到白盒密钥表;6、对所述白盒密钥表进行第三加密运算,确定目标加密表、md5值和目标随机密钥。7、结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,根据加密表函数对原始交易密钥进行第一加密运算,得到多个多维数组的步骤,包括:8、基于加密表函数和原始交易密钥生成循环密钥,将所述循环密钥进行第一加密运算,得到tboxestable和tyboxes;9、将所述循环密钥和所述tboxestable进行第一加密运算,得到tboxeslasttable。10、结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,将用户设备id和每个所述多维数组中的数值进行第二加密运算,拼接生成目标字符串的步骤,包括:11、对设备标号进行循环处理,得到设备表格;12、循环遍历tboxestable,将所述tboxestable中的数值和所述设备表格中的数值进行异或加密处理,得到加密结果并将所述加密结果转为第一字符串组织;13、循环遍历tyboxes,将所述tyboxes中的数值和所述设备表格中的数值进行加密处理,加密处理后转为第二字符串组织;14、循环遍历tboxeslasttable,将所述tboxeslasttable中的数值和所述设备表格中的数值进行加密处理,加密后转为第三字符串组织;15、将所述第一字符串组织、所述第二字符串组织和所述第三字符串组织,按照预设格式拼接得到目标字符串。16、结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述方法还包括:17、将与所述设备表格中数值相一致的所述tboxestable,所述tboxestable、所述tboxeslasttable中的数值进行解密。18、结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,基于所述目标字符串进行压缩处理,得到白盒密钥表的步骤,包括:19、通过对所述目标字符串进行压缩处理得到compressvalue;20、通过对compressvalue进行base编码,确定白盒密钥表。21、结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,对所述白盒密钥表进行第三加密运算,确定目标加密表、md5值和目标随机密钥的步骤,包括:22、通过md5算法对所述白盒密钥表进行计算,得到md5值;23、从所述白盒密钥表中生成的预设字节随机数,确定aes随机密钥;24、使用所述aes随机密钥和aes-128ecb加密算法对所述白盒密钥表进行加密,得到目标加密表;25、根据rsa算法对所述aes随机密钥进行加密,得到目标随机密钥。26、结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述方法还包括:27、将所述目标加密表、所述md5值和所述目标随机密钥发送至客户端,以使所述客户端使用md5算法对所述白盒密钥表进行计算,得到所述md5值,再判断服务端返回的所述md5值与所述客户端计算的所述md5值是否相等;如果不相等则报错,若相等,将所述白盒密钥表保存到本地文件中。28、第二方面,本发明实施例还提供一种基于aes128的白盒加密装置,包括:29、第一加密模块,根据加密表函数对原始交易密钥进行第一加密运算,得到多个多维数组;30、拼接模块,将用户设备id和每个所述多维数组中的数值进行第二加密运算,拼接生成目标字符串;31、压缩模块,基于所述目标字符串进行压缩处理,得到白盒密钥表;32、第二加密模块,对所述白盒密钥表进行第三加密运算,确定目标加密表、md5值和目标随机密钥。33、第三方面,实施例提供一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述前述实施方式任一项所述的方法的步骤。34、第四方面,实施例提供一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现前述实施方式任一项所述的方法的步骤。35、本发明实施例带来了一种基于aes128的白盒加密方法、装置和电子设备,为了实现在所有设备上都能运行车辆数字钥匙,同时保证安全性,需要一种纯软件的方式实现,基于加密货币cow的白盒加密理论,采用表格查询的方式设计一种aes-128白盒加密方案来满足其需求。本申请的发明点在于通过服务端将原始交易密钥白盒化处理后,再对密钥表进一步处理,使加密表更加复杂,难以破解;客户端得到白盒密码表后,使用配套的aes-128白盒加密算法进行计算,得到标准的结果,由于计算过程中完全不会出现密钥的明文,减少了密钥泄漏的风险。36、本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。37、为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。技术特征:1.一种基于aes128的白盒加密方法,其特征在于,包括:2.根据权利要求1所述的方法,其特征在于,根据加密表函数对原始交易密钥进行第一加密运算,得到多个多维数组的步骤,包括:3.根据权利要求1所述的方法,其特征在于,将用户设备id和每个所述多维数组中的数值进行第二加密运算,拼接生成目标字符串的步骤,包括:4.根据权利要求3所述的方法,其特征在于,所述方法还包括:5.根据权利要求1所述的方法,其特征在于,基于所述目标字符串进行压缩处理,得到白盒密钥表的步骤,包括:6.根据权利要求1所述的方法,其特征在于,对所述白盒密钥表进行第三加密运算,确定目标加密表、md5值和目标随机密钥的步骤,包括:7.根据权利要求6所述的方法,其特征在于,所述方法还包括:8.一种基于aes128的白盒加密装置,其特征在于,包括:9.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并且能够在所述处理器上运行的程序,所述处理器执行所述程序时实现如权利要求1至7中任一项所述的方法。10.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现权利要求1-7中任意一项所述的方法。技术总结本发明提供了一种基于AES128的白盒加密方法、装置和电子设备,涉及车辆数字钥匙加密的
技术领域:
:,包括:根据加密表函数对原始交易密钥进行第一加密运算,得到多个多维数组;将用户设备ID和每个多维数组中的数值进行第二加密运算,拼接生成目标字符串;基于目标字符串进行压缩处理,得到白盒密钥表;对白盒密钥表进行第三加密运算,确定目标加密表、MD5值和目标随机密钥,以缓解了现有技术中存在的车辆数字钥匙应用存在局限性的技术问题。技术研发人员:胡伟,赵晨曦,姜波受保护的技术使用者:深圳市雪球科技有限公司技术研发日:技术公布日:2024/1/15