CN103810435B - 一种Simulink模型的加密和解密方法,及相关装置 - Google Patents
一种Simulink模型的加密和解密方法,及相关装置 Download PDFInfo
- Publication number
- CN103810435B CN103810435B CN201310717117.7A CN201310717117A CN103810435B CN 103810435 B CN103810435 B CN 103810435B CN 201310717117 A CN201310717117 A CN 201310717117A CN 103810435 B CN103810435 B CN 103810435B
- Authority
- CN
- China
- Prior art keywords
- simulink
- module
- value
- property value
- position attribution
- 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.)
- Active
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种Simulink模型的加密和解密方法,及相关装置,所述加密方法包括:获取各个所述Simulink模块的位置属性值,作为第一属性值;将各个所述Simulink模块的位置属性值设置为第二属性值;其中,所述第二属性值与所述第一属性值不同,并且所述第二属性值为随机生成的或者由所述第一属性值根据预设算法计算得到;基于各个所述Simulink模块对应的解密信息生成解密文件。可知,本发明通过将Simulink模块的位置属性值改变为第二属性值,实现了对Simulink模型进行加密,并且通过这种加密方式加密后的Simulink模型解密难度很高,正确解密后也不会影响Simulink模型的正常辨识。
Description
技术领域
本发明涉及安全信息领域,尤其是涉及一种Simulink模型的加密和解密方法,及相关装置。
背景技术
Simulink是一种基于模型化的设计工具,需在MATLAB环境下使用。其中,Simulink提供了一个Simulink模块库,该模块库具有多个不同的Simulink模块。
Simulink模型是将多个Simulink模块按照特定的方式组合起来,使其能够实现特定的功能。例如,在电控系统领域,常常会通过特定的Simulink模型实现一个控制策略。
然而,由于Simulink模型可以进行完整的自解释,因此通过查看Simulink模型即可获知模型本身的内容。例如,若通过Simulink模型实现一个控制策略,则通过查看Simulink模型本身即可获知完整的控制策略,导致泄密的风险很高。
显示,需要一种对Simulink模型进行加密和解密的方式。
发明内容
本发明解决的技术问题在于提供一种Simulink模型的加密和解密方法,及相关装置,从而实现对Simulink模型的加密和解密,降低Simulink模型的泄密风险。
为此,本发明解决技术问题的技术方案是:
本发明提供了一种Simulink模型的加密方法,所述Simulink模型包括至少一个待加密的Simulink模块;所述方法包括:
获取各个所述Simulink模块的位置属性值,作为第一属性值;
将各个所述Simulink模块的位置属性值设置为第二属性值;
其中,所述第二属性值与所述第一属性值不同,并且所述第二属性值为随机生成的或者由所述第一属性值根据预设算法计算得到;
基于各个所述Simulink模块对应的解密信息生成解密文件;
所述解密信息具体为所述第一属性值或者所述预设算法。
优选地,所述方法还包括:
获取所述Simulink模块之间的连接关系,作为第一连接关系;
将所述Simulink模块之间的连接关系设置为第二连接关系;其中,所述第二连接关系与所述第一连接关系不同;
所述基于各个所述Simulink模块对应的解密信息生成解密文件具体为:
基于各个所述Simulink模块对应的解密信息和所述第一连接关系生成解密文件。
优选地,所述获取各个所述Simulink模块的位置属性值,作为第一属性值,以及将各个所述Simulink模块的位置属性值设置为第二属性值具体为:
获取一个所述Simulink模块的位置属性值,作为第一属性值;
将该Simulink模块的位置属性值设置为第二属性值;
若未将所有的所述Simulink模块的位置属性值设置为所述第二属性值,则返回执行所述获取一个所述Simulink模块的位置属性值。
优选地,所述方法还包括:
在所述解密文件中设置权限检查功能,所述权限检查功能用于检测所述解密文件运行的环境是否具有解密权限。
本发明提供了一种Simulink模型的解密方法,所述Simulink模型包括至少一个Simulink模块,所述方法包括:
从解密文件中获取各个Simulink模块对应的解密信息;
根据各个Simulink模块对应的解密信息,设置所述Simulink模型中的所述Simulink模块的位置属性值;
其中,若所述Simulink模块对应的所述解密信息为第一属性值,所述设置所述Simulink模块的位置属性值具体为:
将所述Simulink模块的位置属性值设置为所述第一属性值;
若所述Simulink模块对应的所述解密信息为预设算法,所述设置所述Simulink模块的位置属性值具体为:
获取所述Simulink模块的位置属性值,作为所述第二属性值;
根据所述预设算法和所述第二属性值计算出第一属性值;
将所述Simulink模块的位置属性值设置为计算出的所述第一属性值。
优选地,所述方法还包括:
获取所述解密文件中的连接关系,作为第一连接关系;
将所述Simulink模块之间的连接关系设置为所述第一连接关系。
优选地,所述设置所述Simulink模型中的所述Simulink模块的位置属性值之前还包括:
检测所述解密文件运行的环境是否具有解密权限,如果是,则执行所述设置所述Simulink模型中的所述Simulink模块的位置属性值。
优选地,所述设置所述Simulink模型中的所述Simulink模块的位置属性值之后还包括:
保存所述Simulink模型。
本发明提供了一种Simulink模型的加密装置,所述Simulink模型包括至少一个待加密的Simulink模块;所述装置包括:
获取单元,用于获取各个所述Simulink模块的位置属性值,作为第一属性值;
设置单元,用于将各个所述Simulink模块的位置属性值设置为第二属性值;
生成单元,用于基于各个所述Simulink模块对应的解密信息生成解密文件;
其中,所述第二属性值与所述第一属性值不同,并且所述第二属性值为随机生成的或者由所述第一属性值根据预设算法计算得到;所述解密信息具体为所述第一属性值或者所述预设算法。
本发明提供了一种Simulink模型的解密装置,所述Simulink模型包括至少一个Simulink模块;所述装置包括:
获取单元,用于从解密文件中获取各个Simulink模块对应的解密信息;
设置单元,用于根据各个Simulink模块对应的解密信息,设置所述Simulink模型中的所述Simulink模块的位置属性值;
其中,若所述Simulink模块对应的所述解密信息为第一属性值,所述设置单元用于设置所述Simulink模块的位置属性值具体为:
所述设置单元用于将所述Simulink模块的位置属性值设置为所述第一属性值;
若所述Simulink模块对应的所述解密信息为预设算法,所述设置单元用于设置所述Simulink模块的位置属性值具体为:
所述设置单元用于获取所述Simulink模块的位置属性值,作为所述第二属性值、根据所述预设算法和所述第二属性值计算出第一属性值、以及将所述Simulink模块的位置属性值设置为计算出的所述第一属性值
通过上述技术方案可知,本发明中通过将Simulink模型中的待加密的Simulink模块的位置属性值从第一属性值改变为第二属性值,其中,第二属性值是随机生成的或者由第一属性值根据预设算法计算得到的,从而实现了对Simulink模型进行加密,发明人经研究发现,通过这种加密方式加密后的Simulink模型无法辨识,并且需要将位置属性值还原为原有的值后才能解密,因此解密难度很高。并且这种加密方式在正确解密后也不会影响Simulink模型的正常辨识。
附图说明
图1为本发明提供的加密方法的第一实施例的流程示意图;
图2为加密前的Simulink模型的结构示意图;
图3为加密后的Simulink模型的结构示意图;
图4为本发明提供的加密方法的第二实施例的流程示意图;
图5为本发明提供的加密方法的第三实施例的流程示意图;
图6为本发明提供的解密方法的第一实施例的流程示意图;
图7为本发明提供的解密方法的第二实施例的流程示意图;
图8为本发明提供的解密方法的第三实施例的流程示意图;
图9为本发明提供的加密装置的具体实施例的流程示意图;
图10为本发明提供的解密装置的具体实施例的流程示意图。
具体实施方式
在本发明实施例中,提供一种Simulink模型的加密和解密方法,及相关装置,从而实现对Simulink模型的加密和解密,降低Simulink模型的泄密风险。尤其是当Simulink模型实现控制策略时,降低控制策略的泄密风险。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供了Simulink模型的加密方法的第一实施例,本实施例中,所述Simulink模型包括至少一个待加密的Simulink模块。本发明实施例中,Simulink模型包括一个或多个Simulink模块,在这些Simulink模块中,有至少一个Simulink模块为待加密的Simulink模块。例如,可以设置Simulink模型中的所有Simulink模块为待加密的Simulink模块,由于Simulink模块中的Simulink模块可以分为多层,此时也可以设置Simulink模型中的一层或者多层所包括的Simulink模块为待加密的Simulink模块。
本实施例具体包括:
S101:获取各个所述待加密的Simulink模块的位置属性值,作为第一属性值。
Simulink模型所包括的Simulink模块,通常具有多个属性值,而其中的Position属性值,即位置属性值,用于表示该Simulink模块的开始和结束的位置。
在该步骤中,获取Simulink模块当前的位置属性值,作为第一属性值。
S102:将各个所述待加密的Simulink模块的位置属性值设置为第二属性值。其中,所述第二属性值与所述第一属性值不同,并且所述第二属性值为随机生成的或者由所述第一属性值根据预设算法计算得到。
在该步骤中,实际上是将Simulink模块的位置属性值从第一属性值更改为第二属性值,从而实现了对Simulink模型的加密。而第二属性值可以是随机生成的,例如是小于1的随机数;也可以是由第一属性值根据预设算法计算得到的,例如,第二属性值可以是将第一属性值除以一个数值后得到。需要说明的是:第一属性值若是一个数组,则第二属性值可以是对数组中的任一个或多个数进行改变,或者改变第一属性值的数组结构得到的。
通过该步骤对Simulink模型进行加密后,Simulink模型将变得不可识别,例如,加密前的Simulink模型如图2所示,在该步骤中,将Simulink模型中的各个Simulink模块的位置属性值更改为小于1的随机值后,Simulink模块将如图3所示。
需要说明的是,步骤S101和S102实现了获取和更改各个待加密的Simulink模块的位置属性值。这两个步骤具体可以是在先获取所有的待加密的Simulink模块的第一属性值,之后将所有的待加密的Simulink模块的位置属性值设置为第二属性值。也可以是获取一个待加密的Simulink模块的位置属性值,作为第一属性值,将该Simulink模块的位置属性值设置为第二属性值,此时若未将所有的所述待加密的Simulink模块的位置属性值设置为第二属性值,则返回执行获取一个待加密的Simulink模块的位置属性值。
S103:基于与各个所述待加密的Simulink模块对应的解密信息,生成解密文件。本发明实施例中,解密文件用于对通过本发明实施例中的加密方法加密的Simulink模型进行解密。
本实施例中,解密信息具体为第一属性值或者所述预设算法。
对于某一待加密的Simulink模块来说,若步骤S102中将该Simulink模块的位置属性值设置成的第二属性值是随机生成的,则该Simulink模块对应的解密信息为该Simulink模块原有的位置属性值,即第一属性值。
若步骤S102中将该Simulink模块的位置属性值设置成的第二属性值是根据预设算法得到的,则该Simulink模块对应的解密信息既可以为该Simulink模块原有的位置属性值,即第一属性值,也可以为设置该Simulink模块的位置属性值为第二属性值时的预设算法。
通过上述技术方案可知,本实施例中通过将Simulink模型中的待加密的 Simulink模块的位置属性值从第一属性值改变为第二属性值,其中,第二属性值是随机生成的或者由第一属性值根据预设算法计算得到的,从而实现了对Simulink模型进行加密,发明人经研究发现,通过这种加密方式加密后的Simulink模型无法辨识,并且需要将位置属性值还原为原有的值后才能解密,因此解密难度很高。这种加密方式在正确解密后也不会影响Simulink模型的正常辨识。
在本发明实施例中,通过对Simulink模块的位置属性值进行改变实现了对Simulink模型的加密。此时,还可以对Simulink模型进一步加密。下面通过一个实施例加以说明。
请参阅图4,本发明提供了Simulink模型的加密方法的第二实施例,本实施例中,所述Simulink模型包括至少一个待加密的Simulink模块。
本实施例具体包括:
S401:获取各个所述待加密的Simulink模块的位置属性值,作为第一属性值。
S402:将各个所述待加密的Simulink模块的位置属性值设置为第二属性值。其中,所述第二属性值与所述第一属性值不同,并且所述第二属性值为随机生成的或者由所述第一属性值根据预设算法计算得到。
步骤S401和步骤S402与步骤S101和步骤S102类似,相关之处请参见步骤S101和步骤S102,这里不再赘述。
S403:获取所述待加密的Simulink模块之间的连接关系,作为第一连接关系。
该步骤中,可以获取部分的待加密的Simulink模块之间的连接关系,例如获取同一层的待加密的Simulink模块之间的连接关系;也可以获取全部的待加密的Simulink模块之间的连接关系。
获取Simulink模块之间的连接关系具体可以是获取Simulink模块之间的连线的起始点和经过点。
S404:将所述待加密的Simulink模块之间的连接关系设置为第二连接关系;其中,所述第二连接关系与所述第一连接关系不同。
该步骤中通过将待加密的Simulink模块之间的连接关系从第一连接关系更改为第二连接关系,实现了对Simulink模型进一步的加密。
需要说明的是,步骤S403,与步骤S401和步骤S402之间的执行顺序不受限定,也就是说,步骤S403可以在步骤S401和步骤S402之前、之后、或者之间执行。
同样,步骤S404,与步骤S401和步骤S402之间的执行顺序也不受限定,也就是说,步骤S404可以在步骤S401和步骤S402之前、之后、或者之间执行。
步骤S405:基于各个所述待加密的Simulink模块对应的解密信息和第一连接关系生成解密文件。本实施例中,解密信息具体为第一属性值或者所述预设算法。
通过上述技术方案可知,本实施例重点说明了,在通过更改位置属性值对Simulink模型进行加密的基础上,通过改变Simulink模型中模块间的连接关系进一步对Simulink模型进行加密,从而提高了解密难度,进一步降低了泄密风险。
下面介绍一个本发明的加密方法的优选实施例。
请参阅图5,本发明提供了Simulink模型的加密方法的第三实施例,本实施例中,所述Simulink模型包括n个待加密的Simulink模块。
在本实施例具体包括:
S501:获取n个待加密的Simulink模块的模块列表。
S502:获取一个待加密的Simulink模块的位置属性值,作为该Simulink模块的第一属性值。
S503:根据第一属性值和预设算法计算第二属性值,本实施例中设置预设算法为第一属性值除以1012的值,因此本实施例中的第二属性值为第一属性值除以1012的值。
S504:判断第二属性值是否合理,如果否,则返回执行步骤S503。如果是,则执行S505。
判断是否合理可以根据实际情况进行设定,例如,位置属性值一般为正 数,该步骤中可以是判断第二属性值是否是正数。
S505:将该待加密的Simulink模块的位置属性值设置为第二属性值。
S506:判断步骤S505是否设置成功,如果是,则执行S507,如果否,则返回执行S505。
该步骤具体可以是通过属性设置语句的返回值判断是否设置成功。
S507:根据步骤S501获取的模块列表判断是否对所有的待加密的Simulink模块的位置属性值进行了设置,如果是,则执行S508,如果否,则返回执行S502。
S508:根据预设算法生成解密文件。
该步骤中,可以先生成MATLAB的m脚本文件,再将m脚本文件生成MATLAB加密文件格式p脚本文件。而在解密时,直接运行p脚本文件。
S509:在生成的解密文件中设置权限检查功能,所述权限检查功能用于检测所述解密文件运行的环境是否具有解密权限。
在本发明实施例中,还可以通过在解密文件中设置权限检测功能,使得具有解密权限时才能对加密后的Simulink模型进行解密。该步骤的执行顺序不受限定。
检测解密文件运行的环境是否具有解密权限具体可以是通过检测网卡物理地址、硬盘序列号、USB加密狗、授权文件中的任一项或多项内容的检测判断是否具有解密权限。
该权限检测功能具体可以是通过在解密文件中加入检查点实现,该检查点可以通过调用动态链接库或者其他可用文件形式生成。
上面本发明提供了对Simulink模型进行加密的方式,对应的,本发明还提供了对加密后的Simulink模型进行解密的方式。
请参阅图6,本发明提供了Simulink模型的解密方法的第一实施例。在本实施例中,所述Simulink模型包括至少一个Simulink模块。本发明实施例中,Simulink模型包括一个或多个Simulink模块,在这些Simulink模块中,有至少一个Simulink模块为已加密的Simulink模块,已加密的Simulink模块对应于加密时的待加密的Simulink模块。
本实施例具体包括:
S601:从解密文件中获取各个Simulink模块对应的解密信息。
通过本发明提供的加密方法的实施例可知,本发明实施例在对Simulink模型进行加密时,会根据各个待加密的Simulink模块对应的解密信息生成解密文件,因此,在本实施例中,会从解密文件中获取各个Simulink模块对应的解密信息。
解密信息具体为第一属性值或者预设算法。
S602:根据步骤S601获取的各个Simulink模块对应的解密信息,设置本实施例的Simulink模型中的Simulink模块的位置属性值。
若解密文件中包括有n个Simulink模块对应的解密信息,则该步骤中实际是对本实施例的Simulink模型中,对应的n个Simulink模块的位置属性值进行设置。若获取的解密信息中,对应的Simulink模块在本实施例的Simulink模型中并不存在,则说明解密文件并不是对本实施例的Simulink模型的解密文件,此时可以选择结束流程或继续进行。
解密信息具体为第一属性值或者预设算法,根据解密信息的不同,具体设置Simulink模块的位置属性值的方式也并不相同。
具体地,若所述Simulink模块对应的所述解密信息为第一属性值,所述设置所述Simulink模块的位置属性值具体为:将所述Simulink模块的位置属性值设置为所述第一属性值。
若所述Simulink模块对应的所述解密信息为预设算法,所述设置所述Simulink模块的位置属性值具体为:获取所述Simulink模块的位置属性值,作为所述第二属性值;根据所述预设算法和所述第二属性值计算出第一属性值;将所述Simulink模块的位置属性值设置为计算出的所述第一属性值。其中,根据预设算法和第二属性值计算出第一属性值,实际上是根据预设算法的逆运算和第二属性值计算出第一属性值,例如若生成第二属性值时是将第一属性值除以1012得到,则该步骤中是将第二属性值乘以1012即得到Simulink原有的位置属性值,第一属性值。
通过上述技术方案可知,本实施例中通过获取解密文件中的各个Simulink模块的解密信息,根据解密信息对本实施例的Simulink模型中的 Simulink模块的位置属性值进行还原,从而实现了将已加密的Simulink模型进行解密,使得Simulink模型能够辨识。
在本发明的加密方法的第二实施例中,对Simulink进一步进行了加密,对于这种进一步加密的方式,本发明实施例提供了对应的解密方式。
请参阅图7,本发明提供了Simulink模型的解密方法的第二实施例。在本实施例中,所述Simulink模型包括至少一个Simulink模块。
本实施例具体包括:
S701:从解密文件中获取各个Simulink模块对应的解密信息。解密信息具体为第一属性值或者预设算法。
S702:根据步骤S701获取的各个Simulink模块对应的解密信息,设置本实施例的Simulink模型中的Simulink模块的位置属性值。
具体地,若所述Simulink模块对应的所述解密信息为第一属性值,所述设置所述Simulink模块的位置属性值具体为:将所述Simulink模块的位置属性值设置为所述第一属性值。
若所述Simulink模块对应的所述解密信息为预设算法,所述设置所述Simulink模块的位置属性值具体为:获取所述Simulink模块的位置属性值,作为所述第二属性值;根据所述预设算法和所述第二属性值计算出第一属性值;将所述Simulink模块的位置属性值设置为计算出的所述第一属性值。
步骤S701和步骤S702与步骤S601和步骤S602类似,相关之处请参见步骤S601和步骤S602,这里不再赘述。
S703:获取所述解密文件中的连接关系,作为第一连接关系。
若本发明实施例中,更改了Simulink模块之间的连接关系,从而对Simulink模型进一步加密,则解密文件中会包括有Simulink模块之间原有的连接关系,因此在本实施例中获取该连接关系。
S704:将所述Simulink模块之间的连接关系设置为所述第一连接关系。
通过将Simulink模块之间的连接关系设置为原有的连接关系,从而实现了对Simulink模型的进一步解密。
该步骤具体可以是设置Simulink模块之间的连线的起始点和经过点。
需要说明的是,步骤S703,与步骤S701和步骤S702之间的执行顺序不受限定,也就是说,步骤S703可以在步骤S701和步骤S702之前、之后、或者之间执行。
同样,步骤S704,与步骤S701和步骤S702之间的执行顺序也不受限定,也就是说,步骤S704可以在步骤S701和步骤S702之前、之后、或者之间执行。
通过上述技术方案可知,本实施例重点说明了,在通过还原位置属性值对Simulink模型进行解密的基础上,通过还原Simulink模型中模块间的连接关系进一步对Simulink模型进行解密。
下面介绍一个本发明的解密方法的优选实施例。
请参阅图8,本发明提供了Simulink模型的解密方法的第三实施例。在本实施例中,所述Simulink模型包括至少一个Simulink模块。
本实施例具体包括:
S801:打开加密后的Simulink模型。
本实施例中可以是解密文件与Simulink模型相对应,当运行解密文件时,就会自动打开对应的加密后的Simulink模型。
S802:检测所述解密文件运行的环境是否具有解密权限,如果否,则执行S803。如果是,则执行S804。
检测解密文件运行的环境是否具有解密权限具体可以是通过检测网卡物理地址、硬盘序列号、USB加密狗、授权文件中的任一项或多项内容的检测判断是否具有解密权限。
该步骤具体可以是通过加载动态链接库或者其他可用文件,对解密文件中的检查点进行检测。
S803:此时解密文件运行的环境不具有解密权限,因此可以报告权限错误信息,或者返回执行S802,重新检测解密权限。
S804:此时解密文件运行的环境具有解密权限,因此执行从解密文件中获取各个Simulink模块对应的解密信息。
解密信息具体为第一属性值或者预设算法。
S805:根据步骤S804获取的各个Simulink模块对应的解密信息,设置本实施例的Simulink模型中的Simulink模块的位置属性值。
具体地,若所述Simulink模块对应的所述解密信息为第一属性值,所述设置所述Simulink模块的位置属性值具体为:将所述Simulink模块的位置属性值设置为所述第一属性值。
若所述Simulink模块对应的所述解密信息为预设算法,所述设置所述Simulink模块的位置属性值具体为:获取所述Simulink模块的位置属性值,作为所述第二属性值;根据所述预设算法和所述第二属性值计算出第一属性值;将所述Simulink模块的位置属性值设置为计算出的所述第一属性值。
S806:判断是否解密成功,若是,则执行S808,若否,则执行S807。
该步骤具体可以是通过属性设置语句的返回值判断是否设置成功。
S807:说明此时解密失败,可以报告解密错误信息,也可以返回执行S802或者S804,即重新检测解密权限或者重新解密。
S808:保存解密后的Simulink模型。
该步骤执行后,下次使用Simulink模型时无需对Simulink模型进行解密,既可以直接运行。
本发明实施例还提供了与Simulink模型的加密和解密方法对应的装置。
请参阅图9,本发明提供了Simulink模型的加密装置的具体实施例,在本实施例中,所述Simulink模型包括至少一个待加密的Simulink模块;本实施例具体包括:获取单元901、设置单元902和生成单元903。
获取单元901,用于获取各个所述Simulink模块的位置属性值,作为第一属性值。
设置单元902,用于将各个所述Simulink模块的位置属性值设置为第二属性值。其中,所述第二属性值与所述第一属性值不同,并且所述第二属性值为随机生成的或者由所述第一属性值根据预设算法计算得到。
生成单元903,用于基于各个所述Simulink模块对应的解密信息生成解密文件。所述解密信息具体为所述第一属性值或者所述预设算法。
请参阅图10,本发明提供了Simulink模型的解密装置的具体实施例,在本实施例中,所述Simulink模型包括至少一个Simulink模块;本实施例具体包括:获取单元1001和设置单元1002。
获取单元1001,用于从解密文件中获取各个Simulink模块对应的解密信息。
设置单元1002,用于根据各个Simulink模块对应的解密信息,设置所述Simulink模型中的所述Simulink模块的位置属性值;
其中,若所述Simulink模块对应的所述解密信息为第一属性值,设置单元1002用于设置所述Simulink模块的位置属性值具体为:
设置单元1002用于将所述Simulink模块的位置属性值设置为所述第一属性值;
若所述Simulink模块对应的所述解密信息为预设算法,设置单元1002用于设置所述Simulink模块的位置属性值具体为:
设置单元1002用于获取所述Simulink模块的位置属性值,作为所述第二属性值、根据所述预设算法和所述第二属性值计算出第一属性值、以及将所述Simulink模块的位置属性值设置为计算出的所述第一属性值。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种Simulink模型的加密方法,其特征在于,所述Simulink模型包括至少一个待加密的Simulink模块;所述方法包括:
获取各个所述Simulink模块的位置属性值,作为第一属性值;
将各个所述Simulink模块的位置属性值设置为第二属性值,以对所述Simulink模型进行加密;
其中,所述第二属性值与所述第一属性值不同,并且所述第二属性值为随机生成的或者由所述第一属性值根据预设算法计算得到;
基于各个所述Simulink模块对应的解密信息生成解密文件;
所述解密信息具体为所述第一属性值或者所述预设算法。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述Simulink模块之间的连接关系,作为第一连接关系;
将所述Simulink模块之间的连接关系设置为第二连接关系;其中,所述第二连接关系与所述第一连接关系不同;
所述基于各个所述Simulink模块对应的解密信息生成解密文件具体为:
基于各个所述Simulink模块对应的解密信息和所述第一连接关系生成解密文件。
3.根据权利要求1或2所述的方法,其特征在于,所述获取各个所述Simulink模块的位置属性值,作为第一属性值,以及将各个所述Simulink模块的位置属性值设置为第二属性值具体为:
获取一个所述Simulink模块的位置属性值,作为第一属性值;
将该Simulink模块的位置属性值设置为第二属性值;
若未将所有的所述Simulink模块的位置属性值设置为所述第二属性值,则返回执行所述获取一个所述Simulink模块的位置属性值。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在所述解密文件中设置权限检查功能,所述权限检查功能用于检测所述解密文件运行的环境是否具有解密权限。
5.一种Simulink模型的解密方法,其特征在于,所述Simulink模型包括至少一个Simulink模块,所述方法包括:
从解密文件中获取各个Simulink模块对应的解密信息;
根据各个Simulink模块对应的解密信息,设置所述Simulink模型中的所述Simulink模块的位置属性值,以对所述Simulink模型进行解密;
其中,若所述Simulink模块对应的所述解密信息为第一属性值,所述设置所述Simulink模块的位置属性值具体为:
将所述Simulink模块的位置属性值设置为所述第一属性值;
若所述Simulink模块对应的所述解密信息为预设算法,所述设置所述Simulink模块的位置属性值具体为:
获取所述Simulink模块的位置属性值,作为第二属性值;
根据所述预设算法和所述第二属性值计算出第一属性值;
将所述Simulink模块的位置属性值设置为计算出的所述第一属性值。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取所述解密文件中的连接关系,作为第一连接关系;
将所述Simulink模块之间的连接关系设置为所述第一连接关系。
7.根据权利要求5或6所述的方法,其特征在于,所述设置所述Simulink模型中的所述Simulink模块的位置属性值之前还包括:
检测所述解密文件运行的环境是否具有解密权限,如果是,则执行所述设置所述Simulink模型中的所述Simulink模块的位置属性值。
8.根据权利要求5或6所述的方法,其特征在于,所述设置所述Simulink模型中的所述Simulink模块的位置属性值之后还包括:
保存所述Simulink模型。
9.一种Simulink模型的加密装置,其特征在于,所述Simulink模型包括至少一个待加密的Simulink模块;所述装置包括:
获取单元,用于获取各个所述Simulink模块的位置属性值,作为第一属性值;
设置单元,用于将各个所述Simulink模块的位置属性值设置为第二属性值,以对所述Simulink模型进行加密;
生成单元,用于基于各个所述Simulink模块对应的解密信息生成解密文件;
其中,所述第二属性值与所述第一属性值不同,并且所述第二属性值为随机生成的或者由所述第一属性值根据预设算法计算得到;所述解密信息具体为所述第一属性值或者所述预设算法。
10.一种Simulink模型的解密装置,其特征在于,所述Simulink模型包括至少一个Simulink模块;所述装置包括:
获取单元,用于从解密文件中获取各个Simulink模块对应的解密信息;
设置单元,用于根据各个Simulink模块对应的解密信息,设置所述Simulink模型中的所述Simulink模块的位置属性值,以对所述Simulink模型进行解密;
其中,若所述Simulink模块对应的所述解密信息为第一属性值,所述设置单元用于设置所述Simulink模块的位置属性值具体为:
所述设置单元用于将所述Simulink模块的位置属性值设置为所述第一属性值;
若所述Simulink模块对应的所述解密信息为预设算法,所述设置单元用于设置所述Simulink模块的位置属性值具体为:
所述设置单元用于获取所述Simulink模块的位置属性值,作为第二属性值、根据所述预设算法和所述第二属性值计算出第一属性值、以及将所述Simulink模块的位置属性值设置为计算出的所述第一属性值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310717117.7A CN103810435B (zh) | 2013-12-23 | 2013-12-23 | 一种Simulink模型的加密和解密方法,及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310717117.7A CN103810435B (zh) | 2013-12-23 | 2013-12-23 | 一种Simulink模型的加密和解密方法,及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103810435A CN103810435A (zh) | 2014-05-21 |
CN103810435B true CN103810435B (zh) | 2017-01-25 |
Family
ID=50707186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310717117.7A Active CN103810435B (zh) | 2013-12-23 | 2013-12-23 | 一种Simulink模型的加密和解密方法,及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103810435B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1322432C (zh) * | 2002-10-25 | 2007-06-20 | 国际商业机器公司 | 用于媒体内容数据文件网络发布的安全系统及方法 |
CN101309275B (zh) * | 2008-06-27 | 2012-05-30 | 武汉烽火网络有限责任公司 | 一种流媒体服务中的文件名保护的方法 |
CN102142074B (zh) * | 2011-03-31 | 2013-04-10 | 东北大学 | 基于混沌的通用电子档案加解密方法 |
CN103218549B (zh) * | 2012-01-19 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种Java源代码加解密的方法及装置 |
CN102801810A (zh) * | 2012-08-24 | 2012-11-28 | 乐视网信息技术(北京)股份有限公司 | 在内容分发网络中隐藏url的方法 |
-
2013
- 2013-12-23 CN CN201310717117.7A patent/CN103810435B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103810435A (zh) | 2014-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103997402B (zh) | 一种加密芯片安全性能测试方法和装置 | |
KR20210131444A (ko) | 물리적 복제 방지 기능을 사용한 컴퓨팅 디바이스에 대한 신원 생성 | |
CN101882189B (zh) | 一种保证程序完整性的嵌入式系统及其实现方法 | |
AbuHmed et al. | Software-based remote code attestation in wireless sensor network | |
CN105184181B (zh) | 文件的加密方法、解密方法及装置 | |
CN115664659A (zh) | 一种区块链交易数据的监管方法、装置、设备和介质 | |
CN110299988A (zh) | 轻量级分组密码算法抗攻击能力的检测方法及检测装置 | |
CN104850467A (zh) | 一种计算机自我保护系统及方法 | |
de Ruiter et al. | A formal security analysis of ERTMS train to trackside protocols | |
CN104158652B (zh) | 基于数据冗余实时检错机制的循环展开结构aes加/解密电路 | |
CN103810435B (zh) | 一种Simulink模型的加密和解密方法,及相关装置 | |
CN107077568A (zh) | 对称密钥和信任链 | |
CN116015610B (zh) | 一种轻量级密码的检测方法 | |
CN104821879A (zh) | 一种电力系统数据调动中的加密方法 | |
EP3814963B1 (en) | Method and apparatus for attestation | |
CN104247326B (zh) | 现场总线数据传输 | |
CN116366289A (zh) | 无人机遥感数据的安全监管方法及装置 | |
Jiang et al. | Formal verification and improvement of the PKMv3 protocol using CSP | |
CN113156295B (zh) | 一种适用于电力安全芯片响应时间的测试方法及系统 | |
CN109922056A (zh) | 数据安全处理方法及其终端、服务器 | |
CN106156548A (zh) | 用于程序加密的认证方法和装置 | |
CN115333824A (zh) | 抵抗错误注入攻击的加密方法、装置、设备及存储介质 | |
CN114826742A (zh) | 一种面向工程机械物联网感知层网络的通信安全系统及认证方法 | |
CN104376277A (zh) | 运算装置、方法与系统 | |
JP6356075B2 (ja) | ログ収集システムおよびログ収集方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |