CN114329504A - 一种模型加密方法以及相关设备 - Google Patents
一种模型加密方法以及相关设备 Download PDFInfo
- Publication number
- CN114329504A CN114329504A CN202011063384.3A CN202011063384A CN114329504A CN 114329504 A CN114329504 A CN 114329504A CN 202011063384 A CN202011063384 A CN 202011063384A CN 114329504 A CN114329504 A CN 114329504A
- Authority
- CN
- China
- Prior art keywords
- data
- encrypted
- data part
- encryption
- data portion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本申请公开了软件领域中的一种模型加密方法,本申请中,终端设备将模型文件中的数据划分为第一数据部分以及第二数据部分。终端设备从第一数据部分中选取第三数据部分,第三数据部分为待加密部分,第三数据部分小于第一数据部分,终端设备加密第三数据部分得到加密数据部分。这样,终端设备对模型文件中的部分数据进行加密,提升了终端设备对模型文件的加密速度以及对模型文件的解密速度,加快了集成有较大模型的应用软件的启动速度,提升了用户体验。
Description
技术领域
本申请实施例涉及软件领域,尤其涉及一种模型加密方法以及相关设备。
背景技术
深度学习(deep learning),是一类基于深层次神经网络算法的机器学习技术,其主要特征是使用多重非线性变换对数据进行处理和分析。主要应用于人工智能领域的感知、决策等场景,例如图像和语音识别、自然语言翻译、计算机博弈等。
随着深度学习技术的不断发展,一些模型变得越来越大,出现了上百兆字节(megabytes,MB),甚至多个吉字节(gigaByte,GB)大小的模型。为了防止其他人轻易的知道模型内部的网络结构或者模型内部的参数数据,通常会对模型进行加密,将加密后的模型保存于硬盘上。在需要使用模型的时候,对加密后的模型进行解密,解密后再加载模型。
若模型较大,对模型加密和对模型解密的速度都变得很慢,延缓了集成有较大模型的应用软件的启动速度,影响了用户体验。
发明内容
本申请实施例提供了一种模型加密方法,终端设备对模型文件中的部分数据进行加密,提升了终端设备对模型文件的加密速度以及对模型文件的解密速度,加快了集成有较大模型的应用软件的启动速度,提升了用户体验。
本申请第一方面提供了一种模型加密方法,该方法中:终端设备将模型文件中的数据划分为第一数据部分以及第二数据部分,所述第二数据部分小于所述第一数据部分,所述第二数据部分为剩余部分;所述终端设备从所述第一数据部分中选取第三数据部分,所述第三数据部分为待加密部分,所述第三数据部分小于所述第一数据部分;所述终端设备加密所述第三数据部分得到加密数据部分。
本申请中,终端设备将模型文件中的数据划分为第一数据部分以及第二数据部分,终端设备从第一数据部分中选取第三数据部分,第三数据部分为待加密部分,第三数据部分小于第一数据部分,终端设备加密第三数据部分得到加密数据部分。这样,终端设备对模型文件中的部分数据进行加密,提升了终端设备对模型文件的加密速度以及对模型文件的解密速度,加快了集成有较大模型的应用软件的启动速度,提升了用户体验。
在第一方面的一种可能的实现方式中,所述终端设备加密所述第三数据部分后,所述方法还包括:所述终端设备将加密后的第一数据部分以及第二数据部分封装为加密模型文件,所述加密后的第一数据部分包括所述加密数据部分。
该种实现方式中,终端设备对模型文件加密之后,可以将加密后的第一数据部分以及第二数据部分封装为加密模型文件,进而方便保存加密后的模型文件。
在第一方面的一种可能的实现方式中,所述加密模型文件包括第一指示信息,所述第一指示信息用于指示所述加密数据部分的第一字节数。
该种实现方式中,加密模型文件可以包括第一指示信息,第一指示信息用于指示加密数据部分的第一字节数,即第一指示信息指示了加密数据的大小。若终端设备需要解压加密模型文件,则终端设备可以根据第一指示信息得知加密数据部分的大小,进而解密该加密数据部分。
在第一方面的一种可能的实现方式中,所述加密模型文件包括第二指示信息,所述第二指示信息用于指示非加密数据部分的第二字节数,所述非加密数据部分包括所述加密后的第一数据部分中除加密数据部分之外的数据部分。
该种实现方式中,加密模型文件可以包括第二指示信息,第二指示信息用于指示非加密数据部分的第二字节数,即第二指示信息用于指示非加密部分的大小。非加密数据部分包括第一数据部分中除加密数据部分之外的数据部分。若终端设备需要解压加密模型文件,则终端设备可以根据第二指示信息得知非加密数据部分的大小,进而无需解密该非加密数据部分,直接读取运行该非加密数据部分。
在第一方面的一种可能的实现方式中,所述加密模型文件包括第三指示信息,所述第三指示信息用于指示所述加密模型文件中包括的所述第一数据部分的数量。
该种实现方式中,加密模型文件可以包括第三指示信息,第三指示信息用于指示加密模型文件中包括的第一数据部分的数量。若终端设备需要解压加密模型文件,终端设备可以根据该第三指示信息得知第一数据部分的数量,终端设备便可得知该重复进行多少次解密循环。
在第一方面的一种可能的实现方式中,所述加密模型文件包括第四指示信息,所述第四指示信息用于指示所述第二数据部分的第三字节数。
该种实现方式中,加密模型文件包括第四指示信息,第四指示信息用于指示第二数据部分的第三字节数。若终端设备需要解压加密模型文件,终端设备可以根据第四指示信息获取第二数据部分的第三字节数,进而无需解密该非加密数据部分,直接读取运行该非加密数据部分。
在第一方面的一种可能的实现方式中,所述终端设备加密所述第三数据部分包括:所述终端设备采用美国数据加密标准DES算法加密所述第三数据部分,或,所述终端设备采用3DES算法加密所述第三数据部分,或,所述终端设备采用高级加密标准AES算法加密所述第三数据部分。
该种实现方式中,终端设备可以采用不同的加密方式对模型文件加密,提升了方案的可实现性。
本申请第二方面提供了一种模型加密方法,终端设备根据第一指示信息获取加密模型文件中加密数据部分的第一字节数,所述加密模型文件包括加密后的第一数据部分以及第二数据部分,所述加密后的第一数据部分包括所述加密数据部分;所述终端设备根据所述第一字节数解密所述加密数据部分;所述终端设备根据第二指示信息获取加密模型文件中非加密数据部分的第二字节数,所述非加密数据部分包括所述加密后的第一数据部分中除加密数据部分之外的数据部分;所述终端设备根据所述第二字节数读取所述非加密数据部分。
本申请第三方面提供了一种终端设备,该终端设备包括至少一个处理器、存储器和通信接口。处理器与存储器和通信接口耦合。存储器用于存储指令,处理器用于执行该指令,通信接口用于在处理器的控制下与其他设备进行通信。该指令在被处理器执行时,使处理器执行第一方面或第一方面的任意可能的实现方式中的方法,或者,使处理器执行第二方面或第二方面的任意可能的实现方式中的方法。
本申请第四方面提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算机上运行时,使计算机执行第一方面或第一方面的任意可能的实现方式中的方法,或者,使计算机执行第二方面或第二方面的任意可能的实现方式中的方法。
本申请第五方面提供了一种芯片,其特征在于,包括处理器和通信接口,所述处理器用于读取指令以执行第一方面或第一方面的任意可能的实现方式中的方法,或者,执行第二方面或第二方面的任意可能的实现方式中的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请中,终端设备将模型文件中的数据划分为第一数据部分以及第二数据部分,终端设备从第一数据部分中选取第三数据部分,第三数据部分为待加密部分,第三数据部分小于第一数据部分,终端设备加密第三数据部分得到加密数据部分。这样,终端设备对模型文件中的部分数据进行加密,提升了终端设备对模型文件的加密速度以及对模型文件的解密速度,加快了集成有较大模型的应用软件的启动速度,提升了用户体验。
附图说明
图1为本申请提供的模型加密系统的应用场景示意图;
图2为本申请提供的模型加密方法的一实施例示意图;
图3为本申请提供的模型加密方法的一实施例示意图;
图4为本申请提供的模型加密方法的一实施例示意图;
图5为本申请提供的模型加密方法的一实施例示意图;
图6为本申请提供的模型加密方法的一实施例示意图;
图7为本申请提供的模型加密方法的一实施例示意图;
图8为本申请提供的模型加密方法的一实施例示意图;
图9为本申请提供的终端设备的一结构示意图;
图10为本申请提供的终端设备的一结构示意图;
图11为本申请提供的终端设备的一结构示意图。
具体实施方式
下面结合附图,对本申请的实施例进行描述,本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
深度学习(deep learning),是一类基于深层次神经网络算法的机器学习技术,其主要特征是使用多重非线性变换对数据进行处理和分析。主要应用于人工智能领域的感知、决策等场景,例如图像和语音识别、自然语言翻译、计算机博弈等。
随着深度学习技术的不断发展,一些模型变得越来越大,出现了上百兆字节(megabytes,MB),甚至多个吉字节(gigaByte,GB)大小的模型。为了防止其他人轻易的知道模型内部的网络结构或者模型内部的参数数据,通常会对模型进行加密,将加密后的模型保存于硬盘上。在需要使用模型的时候,对加密后的模型进行解密,解密后再加载模型。
若模型较大,对模型加密和对模型解密的速度都变得很慢,延缓了集成有较大模型的应用软件的启动速度,影响了用户体验。
针对现有的模型加密技术存在的上述问题,本申请提供了一种模型加密方法以及相关设备,终端设备将模型文件中的数据划分为第一数据部分以及第二数据部分,终端设备从第一数据部分中选取第三数据部分,第三数据部分为待加密部分,第三数据部分小于第一数据部分,终端设备加密第三数据部分得到加密数据部分。这样,终端设备对模型文件中的部分数据进行加密,提升了终端设备对模型文件的加密速度以及对模型文件的解密速度,加快了集成有较大模型的应用软件的启动速度,提升了用户体验。
图1为本申请提供的模型加密系统的应用场景示意图。
本申请实施例提供的模型加密系统系统包括:终端设备101以及其他设备102,其中,终端设备101与其他设备102进行数据交互。
本申请中,仅以一个终端设备101和一个其他设备102为例进行示意性说明。实际应用中,可选的,本申请提供的模型加密系统的应用场景中可以包括多个终端设备101,本申请提供的模型加密系统的应用场景中也可以包括多个其他设备102,具体此处不做限定。
本申请中,可选的,其他设备102可以为终端设备,其他设备102也可以为非终端设备,具体此处不做限定。
本申请中,终端设备可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。终端设备可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与网络设备交换语言和/或数据。另外,终端设备也可以是用于实现UE功能的芯片系统。具体此处不做限定。
基于图1所描述的模型加密系统,对本申请提供的模型加密方法进行描述。
图2为本申请提供的模型加密方法的一实施例示意图。
请参阅图2,本申请中提供的模型加密方法的一个实施例包括步骤201至步骤203。
201、终端设备将模型文件中的数据划分为第一数据部分以及第二数据部分。
本申请中,第二数据部分小于第一数据部分,第二数据部分为剩余部分。终端设备将模型文件划分为第一数据部分以及第二数据部分,第一数据部分中包括终端设备准备加密的数据,第二数据部分中则不包括加密数据。
本申请中,可选的,终端设备可以将模型文件划分为一个第一数据部分以及一个第二数据部分。可选的,终端设备可以将模型文件划分为多个第一数据部分以及一个第二数据部分。可选的,终端设备可以将模型文件划分为一个第一数据部分以及多个第二数据部分。可选的,终端设备可以将模型文件划分为多个第一数据部分以及多个第二数据部分,具体的划分方式此处不做限定。
本申请中,终端设备将模型文件划分为多个第一数据部分以及一个第二数据部分,或,终端设备将模型文件划分为一个第一数据部分以及多个第二数据部分,或,终端设备将模型文件划分为多个第一数据部分以及多个第二数据部分的场景下,可选的,多个第一数据部分的大小可以相同,多个第一数据部分的大小也可以不相同,具体此处不做限定。同理,多个第二数据部分的大小可以相同,多个第二数据部分的大小也可以不相同,具体此处不做限定。
图3为本申请提供的模型加密方法的一实施例示意图。
请参阅图3,示例性的,以终端设备将模型文件划分为多个第一数据部分以及一个第二数据部分,所有第一数据部分大小相等为例来进行说明。假设模型文件大小为350MB,若终端设备需要对模型文件加密,终端设备以100MB为单位对模型文件执行取模操作。终端设备对模型文件取模后将模型文件划分为3个100MB大小的区域以及一个50MB大小的区域,这3个100MB大小的区域即为3个第一数据部分,取模剩下50MB大小的区域则为第二数据部分,即剩余部分,第二数据部分如图3阴影部分所示。
202、终端设备从第一数据部分中选取第三数据部分。
本申请中,终端设备从第一数据部分中选取第三数据部分,其中,第三数据部分小于第一数据部分。第三数据部分为待加密部分,终端设备选取第三数据部分后,终端设备将对第三数据部分中的数据进行加密。
本申请中,终端设备可以采用不同的加密方式对第三数据部分中的数据进行加密。可选的,终端设备可以采用美国数据加密标准(data encryption standard,DES)算法加密第三数据部分,终端设备可以采用3DES算法加密第三数据部分,终端设备还可以采用高级加密标准(advanced encryption standard,AES)算法加密第三数据部分,终端设备还可以采用其他算法加密第三数据部分,具体此处不做限定。
本申请中,终端设备将模型文件划分为多个第一数据部分以及一个第二数据部分,或,终端设备将模型文件划分为多个第一数据部分以及多个第二数据部分的场景下,终端设备从多个第一数据部分中选取得到多个第三数据部分,可选的,多个第三数据部分的大小可以相同,多个第三数据部分的大小也可以不相同,具体此处不做限定。
图4为本申请提供的模型加密方法的一实施例示意图。
请参阅图4,示例性的,以终端设备将模型文件划分为多个第一数据部分以及一个第二数据部分,终端设备从多个第一数据部分中选取得到多个第三数据部分,所有第一数据部分、第三数据部分大小相等为例来进行说明。假设模型文件大小为350MB,若终端设备需要对模型文件加密,终端设备以100MB为单位对模型文件执行取模操作。终端设备对模型文件取模后将模型文件划分为3个100MB大小的区域以及一个50MB大小的区域,这3个100MB大小的区域即为3个第一数据部分,取模剩下50MB大小的区域则为第二数据部分。假设终端设备以30MB为单位选取第三数据部分,终端设备可以设定每一个第一数据部分的最后30MB内容作为第三数据部分。第三数据部分作为待加密部分,第一数据部分中的其他内容作为非加密部分。
203、终端设备加密第三数据部分得到加密数据部分。
本申请中,上述图3、图4所示实施例仅用于示例性说明。实际应用场景中,模型文件可以是任意大小,第一数据部分、第二数据部分以及第三数据部分可以是任意大小,具体此处不做限定。
本申请中,终端设备将模型文件中的数据划分为第一数据部分以及第二数据部分,终端设备从第一数据部分中选取第三数据部分,第三数据部分为待加密部分,第三数据部分小于第一数据部分,终端设备加密第三数据部分得到加密数据部分。这样,终端设备对模型文件中的部分数据进行加密,提升了终端设备对模型文件的加密速度以及对模型文件的解密速度,加快了集成有较大模型的应用软件的启动速度,提升了用户体验。
本申请中,可选的,终端设备可以将加密后的第一数据部分以及第二数据部分封装为加密模型文件,加密后的第一数据部分包括加密数据部分。
本申请中,加密模型文件中可以包括不同的指示信息,具体的实现方式将在下面的实施例中进行说明。
(1)加密模型文件包括第一指示信息
本申请中,可选的,加密模型文件可以包括第一指示信息,第一指示信息用于指示加密数据部分的第一字节数,即第一指示信息指示了加密数据的大小。若终端设备需要解压加密模型文件,则终端设备可以根据第一指示信息得知加密数据部分的大小,进而解密该加密数据部分。
本申请中,第一指示信息的实现方式可以是以文件头的形式体现在封装好的加密模型文件中,第一指示信息的实现方式也可以是以字符串的形式体现在报文中,具体此处不做限定。
(2)加密模型文件包括第二指示信息
本申请中,可选的,加密模型文件可以包括第二指示信息,第二指示信息用于指示非加密数据部分的第二字节数,即第二指示信息用于指示非加密部分的大小。非加密数据部分包括第一数据部分中除加密数据部分之外的数据部分。若终端设备需要解压加密模型文件,则终端设备可以根据第二指示信息得知非加密数据部分的大小,进而无需解密该非加密数据部分,直接读取运行该非加密数据部分。
本申请中,第二指示信息的实现方式与第一指示信息的实现方式相类似,具体此处不做赘述。
(3)加密模型文件包括第三指示信息
本申请中,可选的,加密模型文件可以包括第三指示信息,第三指示信息用于指示加密模型文件中包括的第一数据部分的数量。若终端设备需要解压加密模型文件,终端设备可以根据该第三指示信息得知第一数据部分的数量,终端设备便可得知该重复进行多少次解密循环。
本申请中,第三指示信息的实现方式与第一指示信息、第二指示信息的实现方式相类似,具体此处不做赘述。
(4)加密模型文件包括第四指示信息
本申请中,可选的,加密模型文件包括第四指示信息,第四指示信息用于指示第二数据部分的第三字节数。若终端设备需要解压加密模型文件,终端设备可以根据第四指示信息获取第二数据部分的第三字节数,进而无需解密该非加密数据部分,直接读取运行该非加密数据部分。
本申请中,第四指示信息的实现方式与第一指示信息、第二指示信息以及第三指示信息的实现方式相类似,具体此处不做赘述。
示例性的,以加密模型文件包括第一指示信息、第二指示信息、第三指示信息以及第四指示信息为例进行说明。
实现方式A:
图5为本申请提供的模型加密方法的一实施例示意图。
请参阅图5,加密模型文件可以包括三大部分,该三大部分分别为文件头部分、数据部分以及剩余部分。
文件头部分:
示例性的,本实施例采用将所有的数据长度信息放在文件头的方式,即第一指示信息、第二指示信息、第三指示信息以及第四指示信息均采用文件头的形式来实现;示例性的,可以设定第一指示信息、第二指示信息、第三指示信息以及第四指示信息的长度均为4字节;在文件头采用多个字段记录文件分了几段(第三指示信息)、每段不加密部分的长度(第二指示信息)、每段加密部分的长度(第一指示信息)、剩余部分的长度(第四指示信息)。
数据部分:
示例性的,数据部分包含分段的数据部分(加密后的第一数据部分),和剩余的数据部分(第二数据部分)。分段的数据数量根据文件头最开始的4个字节的内容指定,在每一个分段内分成未加密数据部分(非加密数据部分)和加密数据部分。示例性的,未加密数据部分大小可以固定,由文件头的第二个字段部分指定,每个分段的加密部分(加密数据部分)的长度由文件头的N个加密部分长度指定。最后的剩余部分(第二部分)长度由文件头的剩余部分长度指定。
解密过程:
根据加密后的数据格式,先读取文件头中有几个分段,每个分段的未加密部分和加密部分的长度,以及剩余部分的长度;然后依次读取分段的数据,遇到加密数据采用对应的解密算法进行解密,最后将解密之后的数据和未加密的数据组合到一起,完成解密过程。
实现方式B:
图6为本申请提供的模型加密方法的一实施例示意图。
请参阅图6,加密模型文件可以包括三大部分,该三大部分分别为文件头部分、数据部分以及剩余部分。
文件头部分:
示例性的,本实施例中,文件头部分包含两个小部分,每个4个字节,第一个4字节表示加密部分一共分成了多少段(第三指示信息)。第二个4字节表示最后剩余部分包含有多少字节数据(第四指示信息)。
数据部分:
示例性的,本实施例中,数据部分是由未加密数据和加密数据组成的数据。其中包括N个小段,每一段包含两个部分第一个小部分是未加密部分,未加密部分包括未加密数据(非加密数据部分)以及4字节的数据(第二指示信息),该4字节的数据用来表示未加密数据有多少字节,第二个小部分是加密部分,加密部分包含加密数据(加密数据部分)以及4个字节的数据(第一指示信息),该4字节的数据用来表示加密数据有多少字节。
本申请中,终端设备将模型文件中的数据划分为第一数据部分以及第二数据部分,终端设备从第一数据部分中选取第三数据部分,第三数据部分为待加密部分,第三数据部分小于第一数据部分,终端设备加密第三数据部分得到加密数据部分。这样,终端设备对模型文件中的部分数据进行加密,提升了终端设备对模型文件的加密速度以及对模型文件的解密速度,加快了集成有较大模型的应用软件的启动速度,提升了用户体验。
本申请中,上述实施例提供了一种模型加密方法的不同的实施方式,下面的实施例提供了一种模型解密方法。
图7为本申请提供的模型加密方法的一实施例示意图。
如图7所示,该模型解密方法包括步骤301至步骤304。
301、终端设备根据第一指示信息获取加密模型文件中加密数据部分的第一字节数。
本申请中,加密模型文件包括加密后的第一数据部分以及第二数据部分,加密后的第一数据部分包括加密数据部分。
302、终端设备根据第一字节数解密加密数据部分。
303、终端设备根据第二指示信息获取加密模型文件中非加密数据部分的第二字节数。
本申请中,非加密数据部分包括加密后的第一数据部分中除加密数据部分之外的数据部分。
304、终端设备根据第二字节数读取非加密数据部分。
图8为本申请提供的模型加密方法的一实施例示意图。
请参阅图8,示例性的,加密模型文件可以包括三大部分,该三大部分分别为文件头部分、数据部分以及剩余部分。
文件头部分:
示例性的,本实施例中,文件头部分包含两个小部分,每个4个字节,第一个4字节表示加密部分一共分成了多少段。第二个4字节表示最后剩余部分包含有多少字节数据。
数据部分:
示例性的,本实施例中,数据部分是由未加密数据和加密数据组成的数据。其中包括N个小段,每一段包含两个部分第一个小部分是未加密部分,未加密部分包括未加密数据(非加密数据部分)以及4字节的数据(第二指示信息),该4字节的数据用来表示未加密数据有多少字节,第二个小部分是加密部分,加密部分包含加密数据(加密数据部分)以及4个字节的数据(第一指示信息),该4字节的数据用来表示加密数据有多少字节。
解密过程:
首先,终端设备读取文件头部分。假设加密文件分为N段,即加密文件具有N个加密后的第一数据部分,第二数据部分的字节数为L,即剩余部分的字节数为L。终端设备先读取文件的第一个4字节部分(第三指示信息),得到文件加密部分一共分成了N段,文件读取指针跳过4字节。终端设备继续读取文件的第二个4字节部分,得到文件最后的剩余部分有L个字节,文件读取指针跳过4字节。
其次,终端设备处理文件加密的N段部分,循环处理N次,每次处理逻辑如下:
终端设备读取每一个加密部分中第一个4字节小段(第二指示信息)中内容,得到本段的未加密数据(非加密数据部分)的长度。根据读取到的长度,无需解压,直接读取之后的对应长度的数据作为这一段的未加密数据。读取未加密数据之后的4个字节(第一指示信息),得到后面加密数据(加密数据部分)的长度。终端设备根据加密数据的长度取加密数据,对加密数据进行解密,解密的数据拼接到已经还原的数据之后。按照上述流程持续训练N次,即可解密所有的加密数据。
最后,终端设备根据文件头中第二个4字节数据读取剩余部分,即完成加密模型文件的解密过程。
上述实施例提供了关于一种模型加密方法和一种模型解密方法的不同的实施方式,下面提供了一种终端设备40,如图9所示,该终端设备40用于执行上述实施例中终端设备执行的步骤,该执行步骤以及相应的有益效果具体请参照上述相应的实施例进行理解,此处不再赘述,该终端设备40包括:
划分单元401,用于将模型文件中的数据划分为第一数据部分以及第二数据部分,所述第二数据部分小于所述第一数据部分,所述第二数据部分为剩余部分;
选取单元402,用于从所述第一数据部分中选取第三数据部分,所述第三数据部分为待加密部分,所述第三数据部分小于所述第一数据部分;
加密单元403,用于加密所述第三数据部分得到加密数据部分。
一种可能的实现方式中,
封装单元,还用于将加密后的第一数据部分以及第二数据部分封装为加密模型文件,所述加密后的第一数据部分包括所述加密数据部分。
一种可能的实现方式中,
所述加密模型文件包括第一指示信息,所述第一指示信息用于指示所述加密数据部分的第一字节数。
一种可能的实现方式中,
所述加密模型文件包括第二指示信息,所述第二指示信息用于指示非加密数据部分的第二字节数,所述非加密数据部分包括所述加密后的第一数据部分中除加密数据部分之外的数据部分。
一种可能的实现方式中,
所述加密模型文件包括第三指示信息,所述第三指示信息用于指示所述加密模型文件中包括的所述第一数据部分的数量。
一种可能的实现方式中,
所述加密模型文件包括第四指示信息,所述第四指示信息用于指示所述第二数据部分的第三字节数。
一种可能的实现方式中,
所述加密单元用于:
采用美国数据加密标准DES算法加密所述第三数据部分,或,
采用3DES算法加密所述第三数据部分,或,
采用高级加密标准AES算法加密所述第三数据部分。
需要说明的是,上述终端设备40的各模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
下面提供了一种终端设备50,如图10所示,该终端设备50用于执行上述实施例中终端设备执行的步骤,该执行步骤以及相应的有益效果具体请参照上述相应的实施例进行理解,此处不再赘述,该终端设备50包括:
获取单元501,用于根据第一指示信息获取加密模型文件中加密数据部分的第一字节数,所述加密模型文件包括加密后的第一数据部分以及第二数据部分,所述加密后的第一数据部分包括所述加密数据部分;
解密单元502,用于根据所述第一字节数解密所述加密数据部分;
所述获取单元,用于根据第二指示信息获取加密模型文件中非加密数据部分的第二字节数,所述非加密数据部分包括所述加密后的第一数据部分中除加密数据部分之外的数据部分;
读取单元503,用于根据所述第二字节数读取所述非加密数据部分。
需要说明的是,上述终端设备50的各模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
参阅图11所示,为本申请实施例提供一种终端设备的结构示意图,该终端设备60包括:处理器602、通信接口603、存储器601以及总线604。其中,通信接口603、处理器602以及存储器601通过总线604相互连接;总线604可以是外围部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩充工业标准体系结构(extended industrystandard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。该终端设备60可以实现图9或图10所示的实施例中的终端设备的功能。处理器602和通信接口603可以执行上述方法示例中终端设备的相应功能。
下面结合图11对终端设备的各个构成部件进行具体的介绍:
其中,存储器601可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);或者非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者上述种类的存储器的组合,用于存储可实现本申请方法的程序代码、配置文件或其他内容。
处理器602是控制器的控制中心,可以是一个中央处理器(central processingunit,CPU),也可以是特定集成电路(application specific integrated circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个数字信号处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(fieldprogrammable gate array,FPGA)。
通信接口603用于与其他设备进行通信。
该处理器602可以执行前述图9或图10所示实施例中终端设备所执行的操作,具体此处不再赘述。
在一种可能的实现方式中,处理器602通过运行或执行存储在存储器601内的软件程序和/或模块,以及调用存储在存储器601内的数据,执行如下功能:
处理器将第一端口设置为侦听状态之后,处理器可以获取第一端口的侦听时长。当侦听时长超过第一端口用于侦听连接请求的最大时长时,处理器将第一端口由侦听状态切换为关闭状态。终端设备的管理能力得到了提升。
本申请还提供了一种芯片系统,该芯片系统包括处理器,用于支持上述转发设备或控制设备实现其所涉及的功能,例如,例如接收或处理上述方法实施例中所涉及的报文和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存计算机设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (19)
1.一种模型加密方法,其特征在于,包括:
终端设备将模型文件中的数据划分为第一数据部分以及第二数据部分,所述第二数据部分小于所述第一数据部分,所述第二数据部分为剩余部分;
所述终端设备从所述第一数据部分中选取第三数据部分,所述第三数据部分为待加密部分,所述第三数据部分小于所述第一数据部分;
所述终端设备加密所述第三数据部分得到加密数据部分。
2.根据权利要求1所述的模型加密方法,其特征在于,所述终端设备加密所述第三数据部分后,所述方法还包括:
所述终端设备将加密后的第一数据部分以及第二数据部分封装为加密模型文件,所述加密后的第一数据部分包括所述加密数据部分。
3.根据权利要求2所述的模型加密方法,其特征在于,所述加密模型文件包括第一指示信息,所述第一指示信息用于指示所述加密数据部分的第一字节数。
4.根据权利要求2或3所述的模型加密方法,其特征在于,所述加密模型文件包括第二指示信息,所述第二指示信息用于指示非加密数据部分的第二字节数,所述非加密数据部分包括所述加密后的第一数据部分中除加密数据部分之外的数据部分。
5.根据权利要求2至4中任一项所述的模型加密方法,其特征在于,所述加密模型文件包括第三指示信息,所述第三指示信息用于指示所述加密模型文件中包括的所述第一数据部分的数量。
6.根据权利要求2至5中任一项所述的模型加密方法,其特征在于,所述加密模型文件包括第四指示信息,所述第四指示信息用于指示所述第二数据部分的第三字节数。
7.根据权利要求1至6中任一项所述的模型加密方法,其特征在于,所述终端设备加密所述第三数据部分包括:
所述终端设备采用美国数据加密标准DES算法加密所述第三数据部分,或,
所述终端设备采用3DES算法加密所述第三数据部分,或,
所述终端设备采用高级加密标准AES算法加密所述第三数据部分。
8.一种模型解密方法,其特征在于,包括:
终端设备根据第一指示信息获取加密模型文件中加密数据部分的第一字节数,所述加密模型文件包括加密后的第一数据部分以及第二数据部分,所述加密后的第一数据部分包括所述加密数据部分;
所述终端设备根据所述第一字节数解密所述加密数据部分;
所述终端设备根据第二指示信息获取加密模型文件中非加密数据部分的第二字节数,所述非加密数据部分包括所述加密后的第一数据部分中除加密数据部分之外的数据部分;
所述终端设备根据所述第二字节数读取所述非加密数据部分。
9.一种终端设备,其特征在于,包括:
划分单元,用于将模型文件中的数据划分为第一数据部分以及第二数据部分,所述第二数据部分小于所述第一数据部分,所述第二数据部分为剩余部分;
选取单元,用于从所述第一数据部分中选取第三数据部分,所述第三数据部分为待加密部分,所述第三数据部分小于所述第一数据部分;
加密单元,用于加密所述第三数据部分得到加密数据部分。
10.根据权利要求9所述的终端设备,其特征在于,
封装单元,还用于将加密后的第一数据部分以及第二数据部分封装为加密模型文件,所述加密后的第一数据部分包括所述加密数据部分。
11.根据权利要求10所述的终端设备,其特征在于,所述加密模型文件包括第一指示信息,所述第一指示信息用于指示所述加密数据部分的第一字节数。
12.根据权利要求10或11所述的终端设备,其特征在于,所述加密模型文件包括第二指示信息,所述第二指示信息用于指示非加密数据部分的第二字节数,所述非加密数据部分包括所述加密后的第一数据部分中除加密数据部分之外的数据部分。
13.根据权利要求10至12中任一项所述的终端设备,其特征在于,所述加密模型文件包括第三指示信息,所述第三指示信息用于指示所述加密模型文件中包括的所述第一数据部分的数量。
14.根据权利要求10至13中任一项所述的终端设备,其特征在于,所述加密模型文件包括第四指示信息,所述第四指示信息用于指示所述第二数据部分的第三字节数。
15.根据权利要求9至14中任一项所述的终端设备,其特征在于,
所述加密单元用于:
采用美国数据加密标准DES算法加密所述第三数据部分,或,
采用3DES算法加密所述第三数据部分,或,
采用高级加密标准AES算法加密所述第三数据部分。
16.一种终端设备,其特征在于,包括:
获取单元,用于根据第一指示信息获取加密模型文件中加密数据部分的第一字节数,所述加密模型文件包括加密后的第一数据部分以及第二数据部分,所述加密后的第一数据部分包括所述加密数据部分;
解密单元,用于根据所述第一字节数解密所述加密数据部分;
所述获取单元,用于根据第二指示信息获取加密模型文件中非加密数据部分的第二字节数,所述非加密数据部分包括所述加密后的第一数据部分中除加密数据部分之外的数据部分;
读取单元,用于根据所述第二字节数读取所述非加密数据部分。
17.一种终端设备,其特征在于,包括:
处理器、存储器和通信接口;
所述处理器与所述存储器、所述通信接口相连;
所述通信接口用于与其他设备进行通信:
所述处理器用于读取所述存储器中存储的指令后,使得所述终端设备执行如权利要求1至7中任一项所述的方法,或者,使得所述终端设备执行如权利要求8所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至7中任意一项所述的方法,或者,使得所述计算机执行如权利要求8所述的方法。
19.一种芯片,其特征在于,包括处理器和通信接口,所述处理器用于读取指令以执行如权利要求1至7中任意一项所述的方法,或者,执行如权利要求8所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011063384.3A CN114329504A (zh) | 2020-09-30 | 2020-09-30 | 一种模型加密方法以及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011063384.3A CN114329504A (zh) | 2020-09-30 | 2020-09-30 | 一种模型加密方法以及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114329504A true CN114329504A (zh) | 2022-04-12 |
Family
ID=81032341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011063384.3A Pending CN114329504A (zh) | 2020-09-30 | 2020-09-30 | 一种模型加密方法以及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114329504A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115344886A (zh) * | 2022-07-22 | 2022-11-15 | 西安深信科创信息技术有限公司 | 一种模型加密方法、模型解密方法及装置 |
-
2020
- 2020-09-30 CN CN202011063384.3A patent/CN114329504A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115344886A (zh) * | 2022-07-22 | 2022-11-15 | 西安深信科创信息技术有限公司 | 一种模型加密方法、模型解密方法及装置 |
CN115344886B (zh) * | 2022-07-22 | 2023-11-24 | 安徽深信科创信息技术有限公司 | 一种模型加密方法、模型解密方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160117518A1 (en) | File Encryption/Decryption Device And File Encryption/Decryption Method | |
TWI570590B (zh) | 與使用縮減回合編密的xts加密系統一起使用之動態加密金鑰 | |
CN102722670B (zh) | 基于移动存储设备的文件保护方法、设备和系统 | |
US20150379276A1 (en) | System on a chip, controller and method for securing data | |
CN111193591A (zh) | 一种基于cpu+fpga的加解密方法及系统 | |
CN104700003B (zh) | 一种文件加壳及脱壳方法、装置及系统 | |
CN110022558A (zh) | 一种升级包的加密、解密方法和电子装置及存储介质 | |
CN105701410A (zh) | 一种获得源代码中信息的方法、装置及系统 | |
CN111414635A (zh) | 文件加密、解密方法、装置、设备和存储介质 | |
CN111737718A (zh) | 一种jar包的加解密方法、装置、终端设备和存储介质 | |
CN111427860A (zh) | 分布式存储系统及其数据处理方法 | |
CN110874476B (zh) | 数据处理系统、方法、存储介质和处理器 | |
CN114329504A (zh) | 一种模型加密方法以及相关设备 | |
CN113132484B (zh) | 一种数据传输方法及装置 | |
CN111866864B (zh) | 基于无线ap实现针对云平台证书的加密存储及安全使用管理的方法、装置及存储介质 | |
CN117201120A (zh) | 一种信息加密方法、装置、计算机设备及存储介质 | |
CN116405482A (zh) | 一种日志文件的传输方法、系统、终端及存储介质 | |
CN106570410B (zh) | 一种数据的加密方法、解密方法、装置和系统 | |
CN105939192A (zh) | 数据加密的方法及装置 | |
WO2019184741A1 (zh) | 应用程序信息的存储、处理方法及装置 | |
KR20180059217A (ko) | 메모리 데이터 보안 처리 장치 및 방법 | |
CN110880965A (zh) | 一种外发电子文档加密方法、系统、终端及存储介质 | |
CN112311536B (zh) | 密钥分级管理方法及系统 | |
CN112099901B (zh) | 配置虚拟机内存数据加密方式的方法、装置及cpu芯片 | |
CN114329568A (zh) | 文件加密方法、装置、系统平台及文件解密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |