CN113946842A - 基于非对称间隔插入加密字符的模型加解密方法和装置 - Google Patents
基于非对称间隔插入加密字符的模型加解密方法和装置 Download PDFInfo
- Publication number
- CN113946842A CN113946842A CN202111131329.8A CN202111131329A CN113946842A CN 113946842 A CN113946842 A CN 113946842A CN 202111131329 A CN202111131329 A CN 202111131329A CN 113946842 A CN113946842 A CN 113946842A
- Authority
- CN
- China
- Prior art keywords
- encrypted
- model
- sha
- encryption
- characters
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种基于非对称间隔插入加密字符的模型加解密方法和装置。其中,所述加密方法包括:拼接应用程序标识和私钥的字符串,并通过SHA算法加密所述拼接后的字符串,得到SHA加密字符;读取待加密模型文件,根据所述待加密模型的字节数,随机生成一组非对称间隔数组,根据所述数组的数值将所述SHA加密字符插入所述待加密模型文件的初始部分;将所述初始部分进行二次拼接,并通过RSA算法加密所述二次拼接后的初始部分;将RSA加密后的初始部分放入所述待加密模型文件的头部位置,保存加密后的模型文件。本公开由于间隔数据的数组是随机设定的,并且维度不止一维,因而,插入加密字符的位置很难被全部破解,确保了模型加密的安全性。
Description
技术领域
本申请涉及模型加解密技术领域,特别是涉及一种基于非对称间隔插入加密字符的模型加解密方法和装置。
背景技术
在深度学习中,模型是指基于已有数据集,并通过运行学习算法,所得到的输出。模型是我们最终得到的东西,也是后期用于推理预测的基础,是一套推理规则。模型反映了算法的最终形式,在代码工程中,通过添加模型,进行推理,便可以得到相应算法对应的结果。而算法是凝结了开发人员和公司单位等劳动成果和相关利益的。未经过处理的模型数据是暴露在使用者面前的,使用者可以随意利用模型进行推理,并得到模型算法的运算结果。为了保证模型数据的保密性和完整性,防止模型的数据被读取及更改,并保护开发人员和公司单位的合法劳动和权益,我们往往在给使用者算法模型时,通常会对模型进行加密。
目前较为常见的模型加密是在模型文件的开始或者结尾添加一些不可被识别的字符,使得模型的内容不可被可视化工具打开,进而保护模型数据。但这种方法的加密,通过不断尝试加密字符串的长度,极容易被破解。
针对上述的现有技术中存在的模型加密容易被破解的技术问题,目前尚未提出有效的解决方案。
发明内容
本公开的实施例提供了一种基于非对称间隔插入加密字符的模型加解密方法和装置,以至少解决现有技术中存在的模型加密容易被破解的技术问题。
根据本公开实施例的一个方面,提供了基于非对称间隔插入加密字符的模型加密方法,包括:
拼接应用程序标识和私钥的字符串,并通过SHA算法加密所述拼接后的字符串,得到SHA加密字符;
读取待加密模型文件,根据所述待加密模型的字节数,随机生成一组非对称间隔数组,根据所述数组的数值将所述SHA加密字符插入所述待加密模型文件的初始部分;
将所述初始部分进行二次拼接,并通过RSA算法加密所述二次拼接后的初始部分;
将RSA加密后的初始部分放入所述待加密模型文件的头部位置,保存加密后的模型文件。
根据本公开实施例的另一方面,还提供了一种基于非对称间隔插入加密字符的模型解密方法,包括:
拼接应用程序标识和私钥的字符串,并通过SHA算法加密所述拼接后的字符串,得到SHA加密字符;
获取加密模型文件,读取加密模型头部位置的RSA加密字符;
通过RSA解密所述RSA加密字符,获得以非对称间隔数组插入所述SHA加密字符的所述加密模型文件的初始部分;
根据以所述非对称间隔数组插入的SHA加密字符的位置及SHA加密字符的长度,将SHA加密字符从所述初始部分中去除,得到解密的模型初始部分,进而生成完整的解密后模型。
根据本公开实施例的另一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
根据本公开实施例的另一个方面,还提供了一种基于非对称间隔插入加密字符的模型加密装置,包括:
SHA加密模块,用于拼接应用程序标识和私钥的字符串,并通过SHA算法加密所述拼接后的字符串,得到SHA加密字符;
数组生成模块,用于读取待加密模型文件,根据所述待加密模型的字节数,随机生成一组非对称间隔数组,根据所述数组的数值将所述SHA加密字符插入所述待加密模型文件的初始部分;
RSA加密模块,用于将所述初始部分进行二次拼接,并通过RSA算法加密所述二次拼接后的初始部分;
模型生成模块,用于将RSA加密后的初始部分放入所述待加密模型文件的头部位置,保存加密后的模型文件。
根据本公开实施例的另一个方面,还提供了一种基于非对称间隔插入加密字符的模型解密装置,包括:
SHA加密模块,用于拼接应用程序标识和私钥的字符串,并通过SHA算法加密所述拼接后的字符串,得到SHA加密字符;
读取模块,用于获取加密模型文件,读取加密模型头部位置的RSA加密字符;
RSA解密模块,用于通过RSA解密所述RSA加密字符,获得以非对称间隔数组插入所述SHA加密字符的所述加密模型文件的初始部分;
SHA加密字符去除模块,根据以所述非对称间隔数组插入的SHA加密字符的位置及SHA加密字符的长度,将SHA加密字符从所述初始部分中去除,得到解密的模型初始部分,进而生成完整的解密后模型。
根据本公开实施例的另一个方面,还提供了一种基于非对称间隔插入加密字符的模型加密装置,包括:
第一处理器;以及
第一存储器,与所述第一处理器连接,用于为所述第一处理器提供处理以下处理步骤的指令:
拼接应用程序标识和私钥的字符串,并通过SHA算法加密所述拼接后的字符串,得到SHA加密字符;
读取待加密模型文件,根据所述待加密模型的字节数,随机生成一组非对称间隔数组,根据所述数组的数值将所述SHA加密字符插入所述待加密模型文件的初始部分;
将所述初始部分进行二次拼接,并通过RSA算法加密所述二次拼接后的初始部分;
将RSA加密后的初始部分放入所述待加密模型文件的头部位置,保存加密后的模型文件。
根据本公开实施例的另一个方面,还提供了一种基于非对称间隔插入加密字符的模型解密装置,包括:
第二处理器;以及
第二存储器,与所述第二处理器连接,用于为所述第二处理器提供处理以下处理步骤的指令:
拼接应用程序标识和私钥的字符串,并通过SHA算法加密所述拼接后的字符串,得到SHA加密字符;
获取加密模型文件,读取加密模型头部位置的RSA加密字符;
通过RSA解密所述RSA加密字符,获得以非对称间隔数组插入所述SHA加密字符的所述加密模型文件的初始部分;
根据以所述非对称间隔数组插入的SHA加密字符的位置及SHA加密字符的长度,将SHA加密字符从所述初始部分中去除,得到解密的模型初始部分,进而生成完整的解密后模型。
针对这种问题,本公开在模型加密过程中,对待加密模型文件内容进行了非对称间隔插入加密字符的方法,对模型文件进行加密。这种加密方法,通过设置一组不同间隔的数据,在模型加密过程中,每间隔一个数据,在加密文本中插入加密字符。由于间隔数据的数组是随机设定的,并且维度不止一维,因而,插入加密字符的位置很难被全部破解,确保了模型加密的安全性。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是用于实现根据本公开实施例1所述的方法的计算设备的硬件结构框图;
图2是根据本公开实施例1所述的基于非对称间隔插入加密字符的模型加解密的系统的示意图;
图3是根据本公开实施例1的第一个方面所述的基于非对称间隔插入加密字符的模型加密方法的流程示意图;
图4是根据本公开实施例1的第二个方面所述的基于非对称间隔插入加密字符的模型解密方法的流程示意图;
图5是根据本公开实施例2的第一个方面所述的基于非对称间隔插入加密字符的模型加密装置的示意图;
图6是根据本公开实施例2的第二个方面所述的基于非对称间隔插入加密字符的模型解密装置的示意图;
图7是根据本公开实施例3的第一个方面所述的基于非对称间隔插入加密字符的模型加密装置的示意图;以及
图8是根据本公开实施例3的第二个方面所述的基于非对称间隔插入加密字符的模型解密装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本公开实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
术语1:app_id,应用的唯一标识;
app_id通常情况下指的是一个用户的账号,类似在三方支付系统中给商户开的customer_no,表示一个企业或个人的账号。
该账号通常跟开通的商户实体所一一对应。通过该参数平台能找到你是谁。在接口调用的过程中很少直接使用app_id,一般会配合秘钥使用。
术语2:app_secret,私匙(相当于密码)。
以OSS存储为例,在后台管理界面对存储的文件拥有删除的权限,而对于用户端可能只需要读或写的权限就行。那么此时,就可以生成两对儿app_key和app_secret。一个用于删除,一个用于读写,达到权限的细粒度划分。
术语3:SHA
安全散列算法(英语:Secure Hash Algorithm,缩写为SHA)是一个密码散列函数家族,是FIPS所认证的安全散列算法。能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。且若输入的消息不同,它们对应到不同字符串的机率很高。
术语4:RSA
RSA公开密钥密码体制是一种使用不同的加密密钥与解密密钥,“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。
RSA算法,它通常是先生成一对RSA密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。这就使加密的计算量很大。为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。
实施例1
根据本实施例,提供了一种基于非对称间隔插入加密字符的模型加解密的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的计算设备中执行。图1示出了一种用于实现一种基于非对称间隔插入加密字符的模型加解密方法的计算设备的硬件结构框图。如图1所示,计算设备可以包括一个或多个处理器(处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备中的其他元件中的任意一个内。如本公开实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器可用于存储应用软件的软件程序以及模块,如本公开实施例中的一种基于非对称间隔插入加密字符的模型加解密方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的一种基于非对称间隔插入加密字符的模型加解密方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算设备的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算设备中的部件的类型。
图2是根据本实施例所述的基于非对称间隔插入加密字符的模型加密的系统的示意图。参照图2所示,该系统包括:用户终端100,服务器200,云端数据库300,服务器200中可以包括基于非对称间隔插入加密字符的模型加解密装置。需要说明的是,系统中的基于非对称间隔插入加密字符的模型加解密装置均可适用上面所述的硬件结构。
在上述运行环境下,根据本实施例的第一个方面,提供了一种基于非对称间隔插入加密字符的模型加密方法。图2示出了该方法的流程示意图,参考图2所示,该方法包括:
S302:拼接应用程序标识和私钥的字符串,并通过SHA算法加密所述拼接后的字符串,得到SHA加密字符;
S304:读取待加密模型文件,根据所述待加密模型的字节数,随机生成一组非对称间隔数组,根据所述数组的数值将所述SHA加密字符插入所述待加密模型文件的初始部分;所述非对称间隔数组可以是,例如10维的;
S306:将所述初始部分进行二次拼接,并通过RSA算法加密所述二次拼接后的初始部分;
S308:将RSA加密后的初始部分放入所述待加密模型文件的头部位置,保存加密后的模型文件。
具体地,参考图3所示,基于非对称间隔插入加密字符的模型加密方法具体实现过程如下:
1、加密字符的生成
通过设置app_id和app_secret字符串,将字符串拼接,并进行SHA1加密,得到要进行加密字符。
2、SHA加密
SHA是一种数据加密算法,该算法接收一段明文,然后以一种不可逆的方式将它转换成一段密文,并把它们转化为长度较短、位数固定的输出序列即散列值的过程。
单向散列函数的安全性在于其产生散列值的操作过程具有较强的单向性。如果在输入序列中嵌入密码,那么任何人在不知道密码的情况下都不能产生正确的散列值,从而保证了其安全性。
3、RSA加密
RSA加密,也称为非对称加密,是密码学的一种算法,共有两个密钥,一个是公开密钥,另一个是私有密钥,公钥用于加密,私钥用于解密。公钥和私钥两者之间有数学相关,该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性。可以在不直接传递密钥的情况下,完成解密。这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。
4、非对称间隔插入加密字符数组设置
模型加密程序运行后,会读取模型文件数据,根据读取的模型文件数据我们可以得到模型文件中的字符数,我们根据字符数,可以随机生成一组10维的非对称间隔插入SHA加密字符的数组,在程序中,我们设置了这些随机数的限定条件,保证随机数值相加不大于模型文件字符数,且大于3/4模型文件字符数。
在生成了非对称随机间隔插入SHA加密字符数组后,我们在模型文件中通过这些数值插入加密字符。例如一组非对称间隔插入加密字符的数组为[358,247,699...],即在加密模型文件数据时,在第一次读取模型数据的358个字符时,插入加密字符,然后再继续读取的247个模型字符后,再插入加密字符,以此进行模型文件数据中的加密字符的插入。对于一个1M的模型,可以设置这种的间隔在10^3量级左右,而我们通常使用的模型文件都在几兆、几十兆甚至上百兆的大小,因此可以设置较大的插入数组的维度。
如果设置的数组数据为10组,而且设置的数组数据为两位数或者以上,那么想要破解加密的模型,就需要尝试100^10次方以上,数量级在10^20次方以上,这种数量级大大的增加了破解的难度,加上加密字符长度的不确定性,普通使用者几乎无法破解。
为确保模型的安全性,只要我们设置更多的插入加密字符的间隔数组的维度,或者增加加密字符的复杂度,那么破解的难度就会呈指数级的增加。因而这种加密方法,可以很好的保护加密模型的安全性。
在生成了非对称随机间隔插入加密字符数组后,我们将这些数据拼接在一起,如&358&247&699...(对应上面的[358,247,699...])形式,将拼接的字符串通过RSA加密,并将加密的字符放置在模型文件的头部,在模型解密的时候,通过读取模型文件头部的加密字符,并进行RSA解密,就可在运行解密程序时,知道加密字符在模型文件中插入的位置,进而可以对模型文件进行解密操作。
在上述运行环境下,根据本实施例的第二个方面,提供了一种基于非对称间隔插入加密字符的模型解密方法。图4示出了该方法的流程示意图,参考图4所示,该方法包括:
S402:拼接应用程序标识和私钥的字符串,并通过SHA算法加密所述拼接后的字符串,得到SHA加密字符;
S404:获取加密模型文件,读取加密模型头部位置的RSA加密字符;
S406:通过RSA解密所述RSA加密字符,获得以非对称间隔数组插入所述SHA加密字符的所述加密模型文件的初始部分;
S408:根据以所述非对称间隔数组插入的SHA加密字符的位置及SHA加密字符的长度,将SHA加密字符从所述初始部分中去除,得到解密的模型初始部分,进而生成完整的解密后模型。
为防止模型泄露,在模型加载时使用内存加载要使用的模型,并在内存中进行解密,将解密后的模型数据带入到算法工程中进行推理,得到算法结果。这样就确保了解密模型的同时模型数据不暴露出来,确保了模型的不可见性和保密性。
测试与验证
该模型加密功能在Andriod、Linux、Windows及Arm-Linux设备平台上进行了验证,得到验证结果如下:
1、指定待加密模型的文件路径,运行加密模型文件,生成相应的加密模型,并保存为指定的文件名,通过模型可视化工具Netron无法打开加密后的模型文件,而未加密的模型文件是可以通过可视化工具打开查看的。
2、指定加密后的模型文件路径,通过模型解密程序,将解密后存储在设备内存中的模型数据,带入到算法工程中进行相关的推理,得到了预期的结果,表示模型数据解密成功。
此外,参考图1所示,提供了一种存储介质。所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行以上任意一项所述的方法。
从而根据本实施例,本发明在模型加密过程中,对待加密模型文件内容进行了非对称间隔插入加密字符的方法,对模型文件进行加密。这种加密方法,通过设置一组不同间隔的数据,在模型加密过程中,每间隔一个数据,在加密文本中插入加密字符。由于间隔数据的数组是随机设定的,并且维度不止一维,因而,插入加密字符的位置很难被全部破解,确保了模型加密的安全性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
图5示出了根据本实施例的第一个方面所述的基于非对称间隔插入加密字符的模型加密装置500,该装置500与根据实施例1的第一个方面所述的方法相对应。参考图5所示,该装置500包括:
SHA加密模块510,用于拼接应用程序标识和私钥的字符串,并通过SHA算法加密所述拼接后的字符串,得到SHA加密字符;
数组生成模块520,用于读取待加密模型文件,根据所述待加密模型的字节数,随机生成一组非对称间隔数组,根据所述数组的数值将所述SHA加密字符插入所述待加密模型文件的初始部分;
RSA加密模块530,用于将所述初始部分进行二次拼接,并通过RSA算法加密所述二次拼接后的初始部分;
模型生成模块540,用于将RSA加密后的初始部分放入所述待加密模型文件的头部位置,保存加密后的模型文件。
可选地,所述非对称间隔数组是10维的。
可选地,所述数组的数值相加不大于模型文件字符数,且大于3/4模型文件字符数。
此外,图6示出了根据本实施例的第二个方面所述的一种基于非对称间隔插入加密字符的模型解密装置600,该装置600与根据实施例1的第二个方面所述的方法相对应。参考图6所示,包括:
SHA加密模块610,用于拼接应用程序标识和私钥的字符串,并通过SHA算法加密所述拼接后的字符串,得到SHA加密字符;
读取模块620,用于获取加密模型文件,读取加密模型头部位置的RSA加密字符;
RSA解密模块630,用于通过RSA解密所述RSA加密字符,获得以非对称间隔数组插入所述SHA加密字符的所述加密模型文件的初始部分;
SHA加密字符去除模块640,根据以所述非对称间隔数组插入的SHA加密字符的位置及SHA加密字符的长度,将SHA加密字符从所述初始部分中去除,得到解密的模型初始部分,进而生成完整的解密后模型。
从而根据本实施例,本装置在模型加密过程中,对待加密模型文件内容进行了非对称间隔插入加密字符的装置,对模型文件进行加密。这种加密装置,通过设置一组不同间隔的数据,在模型加密过程中,每间隔一个数据,在加密文本中插入加密字符。由于间隔数据的数组是随机设定的,并且维度不止一维,因而,插入加密字符的位置很难被全部破解,确保了模型加密的安全性。
实施例3
图7示出了根据本实施例的第一个方面所述的一种基于非对称间隔插入加密字符的模型加密装置700,该装置700与根据实施例1的第一个方面所述的方法相对应。参考图7所示,该装置700包括:
第一处理器710;以及
第一存储器720,与所述第一处理器连接,用于为所述第一处理器提供处理以下处理步骤的指令:
拼接应用程序标识和私钥的字符串,并通过SHA算法加密所述拼接后的字符串,得到SHA加密字符;
读取待加密模型文件,根据所述待加密模型的字节数,随机生成一组非对称间隔数组,根据所述数组的数值将所述SHA加密字符插入所述待加密模型文件的初始部分;
将所述初始部分进行二次拼接,并通过RSA算法加密所述二次拼接后的初始部分;
将RSA加密后的初始部分放入所述待加密模型文件的头部位置,保存加密后的模型文件。
可选地,所述非对称间隔数组是10维的。
可选地,所述数组的数值相加不大于模型文件字符数,且大于3/4模型文件字符数。
此外,图8示出了根据本实施例的第二个方面所述的基于非对称间隔插入加密字符的模型解密装置800,该装置800与根据实施例1的第二个方面所述的方法相对应。参考图8所示,该装置800包括:
第二处理器810;以及
第二存储器820,与所述第二处理器连接,用于为所述第二处理器提供处理以下处理步骤的指令:
拼接应用程序标识和私钥的字符串,并通过SHA算法加密所述拼接后的字符串,得到SHA加密字符;
获取加密模型文件,读取加密模型头部位置的RSA加密字符;
通过RSA解密所述RSA加密字符,获得以非对称间隔数组插入所述SHA加密字符的所述加密模型文件的初始部分;
根据以所述非对称间隔数组插入的SHA加密字符的位置及SHA加密字符的长度,将SHA加密字符从所述初始部分中去除,得到解密的模型初始部分,进而生成完整的解密后模型。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种基于非对称间隔插入加密字符的模型加密方法,其特征在于,包括:
拼接应用程序标识和私钥的字符串,并通过SHA算法加密所述拼接后的字符串,得到SHA加密字符;
读取待加密模型文件,根据所述待加密模型的字节数,随机生成一组非对称间隔数组,根据所述数组的数值将所述SHA加密字符插入所述待加密模型文件的初始部分;
将所述初始部分进行二次拼接,并通过RSA算法加密所述二次拼接后的初始部分;
将RSA加密后的初始部分放入所述待加密模型文件的头部位置,保存加密后的模型文件。
2.根据权利要求1所述的方法,其特征在于,
所述非对称间隔数组是10维的。
3.根据权利要求1所述的方法,其特征在于,
所述数组的数值相加不大于所述待加密模型文件的字符数,且大于3/4所述待加密模型文件的字符数。
4.一种基于非对称间隔插入加密字符的模型解密方法,其特征在于,包括:
拼接应用程序标识和私钥的字符串,并通过SHA算法加密所述拼接后的字符串,得到SHA加密字符;
获取加密模型文件,读取加密模型头部位置的RSA加密字符;
通过RSA解密所述RSA加密字符,获得以非对称间隔数组插入所述SHA加密字符的所述加密模型文件的初始部分;
根据以所述非对称间隔数组插入的SHA加密字符的位置及SHA加密字符的长度,将SHA加密字符从所述初始部分中去除,得到解密的模型初始部分,进而生成完整的解密后模型。
5.根据权利要求1-4任一项所述的方法,其特征在于,
所述方法在内存中进行。
6.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行权利要求1至5中任意一项所述的方法。
7.一种基于非对称间隔插入加密字符的模型加密装置,其特征在于,包括:
SHA加密模块,用于拼接应用程序标识和私钥的字符串,并通过SHA算法加密所述拼接后的字符串,得到SHA加密字符;
数组生成模块,用于读取待加密模型文件,根据所述待加密模型的字节数,随机生成一组非对称间隔数组,根据所述数组的数值将所述SHA加密字符插入所述待加密模型文件的初始部分;
RSA加密模块,用于将所述初始部分进行二次拼接,并通过RSA算法加密所述二次拼接后的初始部分;
模型生成模块,用于将RSA加密后的初始部分放入所述待加密模型文件的头部位置,保存加密后的模型文件。
8.一种基于非对称间隔插入加密字符的模型解密装置,其特征在于,包括:
SHA加密模块,用于拼接应用程序标识和私钥的字符串,并通过SHA算法加密所述拼接后的字符串,得到SHA加密字符;
读取模块,用于获取加密模型文件,读取加密模型头部位置的RSA加密字符;
RSA解密模块,用于通过RSA解密所述RSA加密字符,获得以非对称间隔数组插入所述SHA加密字符的所述加密模型文件的初始部分;
SHA加密字符去除模块,根据以所述非对称间隔数组插入的SHA加密字符的位置及SHA加密字符的长度,将SHA加密字符从所述初始部分中去除,得到解密的模型初始部分,进而生成完整的解密后模型。
9.一种基于非对称间隔插入加密字符的模型加密装置,其特征在于,包括:
第一处理器;以及
第一存储器,与所述第一处理器连接,用于为所述第一处理器提供处理以下处理步骤的指令:
拼接应用程序标识和私钥的字符串,并通过SHA算法加密所述拼接后的字符串,得到SHA加密字符;
读取待加密模型文件,根据所述待加密模型的字节数,随机生成一组非对称间隔数组,根据所述数组的数值将所述SHA加密字符插入所述待加密模型文件的初始部分;
将所述初始部分进行二次拼接,并通过RSA算法加密所述二次拼接后的初始部分;
将RSA加密后的初始部分放入所述待加密模型文件的头部位置,保存加密后的模型文件。
10.一种基于非对称间隔插入加密字符的模型解密装置,其特征在于,包括:
第二处理器;以及
第二存储器,与所述第二处理器连接,用于为所述第二处理器提供处理以下处理步骤的指令:
拼接应用程序标识和私钥的字符串,并通过SHA算法加密所述拼接后的字符串,得到SHA加密字符;
获取加密模型文件,读取加密模型头部位置的RSA加密字符;
通过RSA解密所述RSA加密字符,获得以非对称间隔数组插入所述SHA加密字符的所述加密模型文件的初始部分;
根据以所述非对称间隔数组插入的SHA加密字符的位置及SHA加密字符的长度,将SHA加密字符从所述初始部分中去除,得到解密的模型初始部分,进而生成完整的解密后模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111131329.8A CN113946842A (zh) | 2021-09-26 | 2021-09-26 | 基于非对称间隔插入加密字符的模型加解密方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111131329.8A CN113946842A (zh) | 2021-09-26 | 2021-09-26 | 基于非对称间隔插入加密字符的模型加解密方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113946842A true CN113946842A (zh) | 2022-01-18 |
Family
ID=79329483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111131329.8A Pending CN113946842A (zh) | 2021-09-26 | 2021-09-26 | 基于非对称间隔插入加密字符的模型加解密方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113946842A (zh) |
-
2021
- 2021-09-26 CN CN202111131329.8A patent/CN113946842A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1985466B (zh) | 使用分发cd按签署组向设备传递直接证据私钥的方法 | |
CN102223364B (zh) | 一种访问电子书数据的方法及系统 | |
CN111131278B (zh) | 数据处理方法及装置、计算机存储介质、电子设备 | |
CN110138739B (zh) | 数据信息加密方法、装置、计算机设备及存储介质 | |
CN112400299B (zh) | 一种数据交互方法及相关设备 | |
CN112738051B (zh) | 数据信息加密方法、系统及计算机可读存储介质 | |
CN113346997B (zh) | 用于物联网设备通信的方法及装置、物联网设备、服务器 | |
US7894608B2 (en) | Secure approach to send data from one system to another | |
CN110417544B (zh) | 一种根密钥的生成方法、装置和介质 | |
CN112332975A (zh) | 物联网设备安全通信方法及系统 | |
CN106341384A (zh) | 用于促进安全通信的方法 | |
CN110224834A (zh) | 基于动态令牌的身份认证方法、解密及加密终端 | |
CN115913672A (zh) | 电子档案加密传输方法、系统、终端设备及计算机介质 | |
CN115964728A (zh) | 基于共识算法的文件加密方法和装置 | |
CN116866029B (zh) | 随机数加密数据传输方法、装置、计算机设备及存储介质 | |
CN112199730A (zh) | 一种终端上应用数据的处理方法、装置及电子设备 | |
CN113946842A (zh) | 基于非对称间隔插入加密字符的模型加解密方法和装置 | |
CN115277064A (zh) | 数据加密、数据解密方法、装置、电子设备和介质 | |
CN114499825A (zh) | 一种双控密钥管理方法、系统、加密机和存储介质 | |
Bojanova et al. | Cryptography classes in bugs framework (BF): Encryption bugs (ENC), verification bugs (VRF), and key management bugs (KMN) | |
CN115242540B (zh) | 数据处理方法与系统 | |
CN115134093B (zh) | 数字签名方法及计算设备 | |
CN115550058B (zh) | 一种共享式文件透明加密方法及系统 | |
CN114125830B (zh) | 一种app数据的加密传输方法、设备及介质 | |
CN114143026B (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 |