一種Simulink模型的加密和解密方法,及相關裝置制造方法
【專利摘要】本發(fā)明提供了一種Simulink模型的加密和解密方法,及相關裝置,所述加密方法包括:獲取各個所述Simulink模塊的位置屬性值,作為第一屬性值;將各個所述Simulink模塊的位置屬性值設置為第二屬性值;其中,所述第二屬性值與所述第一屬性值不同,并且所述第二屬性值為隨機生成的或者由所述第一屬性值根據預設算法計算得到;基于各個所述Simulink模塊對應的解密信息生成解密文件。可知,本發(fā)明通過將Simulink模塊的位置屬性值改變?yōu)榈诙傩灾?,實現(xiàn)了對Simulink模型進行加密,并且通過這種加密方式加密后的Simulink模型解密難度很高,正確解密后也不會影響Simulink模型的正常辨識。
【專利說明】—種Simul ink模型的加密和解密方法,及相關裝置
【技術領域】
[0001]本發(fā)明涉及安全信息領域,尤其是涉及一種S i mu I in k模型的加密和解密
方法,及相關裝置。
【背景技術】
[0002]Simul in k是一種基于模型化的設計工具,需在M A T L A B環(huán)境下使用。其中,Simul in k提供了一個S i m u I in k模塊庫,該模塊庫具有多個不同的S i m u I ink模塊。
[0003]Simul in k模型是將多個S i mu I in k模塊按照特定的方式組合起來,使其能夠實現(xiàn)特定的功能。例如,在電控系統(tǒng)領域,常常會通過特定的S i m u I ink模型實現(xiàn)一個控制策略。
[0004]然而,由于S i mu I in k模型可以進行完整的自解釋,因此通過查看S i mulin k模型即可獲知模型本身的內容。例如,若通過S i mu I in k模型實現(xiàn)一個控制策略,則通過查看S i mu I in k模型本身即可獲知完整的控制策略,導致泄密的風險很聞。
[0005]顯示,需要一種對S i m u I in k模型進行加密和解密的方式。
【發(fā)明內容】
[0006]本發(fā)明解決的技術問題在于提供一種S i m u I in k模型的加密和解密方法,及相關裝置,從而實現(xiàn)對S i m u I in k模型的加密和解密,降低S i mu I i n k模型的泄密風險。
[0007]為此,本發(fā)明解決技術問題的技術方案是:
[0008]本發(fā)明提供了一種S i m u I in k模型的加密方法,所述S i mu I i n k模型包括至少一個待加密的S i m u I in k模塊;所述方法包括:
[0009]獲取各個所述S i mu I in k模塊的位置屬性值,作為第一屬性值;
[0010]將各個所述S i mu I in k模塊的位置屬性值設置為第二屬性值;
[0011]其中,所述第二屬性值與所述第一屬性值不同,并且所述第二屬性值為隨機生成的或者由所述第一屬性值根據預設算法計算得到;
[0012]基于各個所述S i mu I in k模塊對應的解密信息生成解密文件;
[0013]所述解密信息具體為所述第一屬性值或者所述預設算法。
[0014]優(yōu)選地,所述方法還包括:
[0015]獲取所述S i m u I in k模塊之間的連接關系,作為第一連接關系;
[0016]將所述S i mu I in k模塊之間的連接關系設置為第二連接關系;其中,所述第二連接關系與所述第一連接關系不同;
[0017]所述基于各個所述S i mu I in k模塊對應的解密信息生成解密文件具體為:[0018]基于各個所述S i mu I in k模塊對應的解密信息和所述第一連接關系生成解密文件。
[0019]優(yōu)選地,所述獲取各個所述S i mu I in k模塊的位置屬性值,作為第一屬性值,以及將各個所述S imu I in k模塊的位置屬性值設置為第二屬性值具體為:
[0020]獲取一個所述S i m u I in k模塊的位置屬性值,作為第一屬性值;
[0021]將該S i mu I in k模塊的位置屬性值設置為第二屬性值;
[0022]若未將所有的所述S i mu I in k模塊的位置屬性值設置為所述第二屬性值,則返回執(zhí)行所述獲取一個所述S i mu I in k模塊的位置屬性值。
[0023]優(yōu)選地,所述方法還包括:
[0024]在所述解密文件中設置權限檢查功能,所述權限檢查功能用于檢測所述解密文件運行的環(huán)境是否具有解密權限。
[0025]本發(fā)明提供了一種S i m u I in k模型的解密方法,所述S i mu I in k模型包括至少一個S i m u I in k模塊,所述方法包括:
[0026]從解密文件中獲取各個S i mu I in k模塊對應的解密信息;
[0027]根據各個S i m u I in k模塊對應的解密信息,設置所述S i mu I i n k模型中的所述S i m u I in k模塊的位置屬性值;
[0028]其中,若所述S i mu I in k模塊對應的所述解密信息為第一屬性值,所述設置所述S i mu I in k模塊的位置屬性值具體為:
[0029]將所述S i mu I in k模塊的位置屬性值設置為所述第一屬性值;
[0030]若所述S i mu I in k模塊對應的所述解密信息為預設算法,所述設置所述Si mu I in k模塊的位置屬性值具體為:
[0031]獲取所述S i mu I in k模塊的位置屬性值,作為所述第二屬性值;
[0032]根據所述預設算法和所述第二屬性值計算出第一屬性值;
[0033]將所述S imu I in k模塊的位置屬性值設置為計算出的所述第一屬性值。
[0034]優(yōu)選地,所述方法還包括:
[0035]獲取所述解密文件中的連接關系,作為第一連接關系;
[0036]將所述S i mu I in k模塊之間的連接關系設置為所述第一連接關系。
[0037]優(yōu)選地,所述設置所述S i m u I in k模型中的所述S i mu I in k模塊的
位置屬性值之前還包括:
[0038]檢測所述解密文件運行的環(huán)境是否具有解密權限,如果是,則執(zhí)行所述設置所述Simul in k模型中的所述S i mu I in k模塊的位置屬性值。
[0039]優(yōu)選地,所述設置所述S i m u I in k模型中的所述S i mu I in k模塊的位置屬性值之后還包括:
[0040]保存所述Simul ink模型。
[0041]本發(fā)明提供了一種S i m u I in k模型的加密裝置,所述S i mu I i n k模型包括至少一個待加密的S i m u I in k模塊;所述裝置包括:
[0042]獲取單元,用于獲取各個所述S i mu I in k模塊的位置屬性值,作為第一屬
性值;
[0043]設置單元,用于將各個所述S i mu I in k模塊的位置屬性值設置為第二屬性值;
[0044]生成單元,用于基于各個所述S i mu I in k模塊對應的解密信息生成解密文件;
[0045]其中,所述第二屬性值與所述第一屬性值不同,并且所述第二屬性值為隨機生成的或者由所述第一屬性值根據預設算法計算得到;所述解密信息具體為所述第一屬性值或者所述預設算法。
[0046]本發(fā)明提供了一種S i m u I in k模型的解密裝置,所述S i mu I i n k模型包括至少一個S i m u I in k模塊;所述裝置包括:
[0047]獲取單元,用于從解密文件中獲取各個S i mu I in k模塊對應的解密信息;
[0048]設置單元,用于根據各個S i m u I in k模塊對應的解密信息,設置所述S im u I i n k模型中的所述S i mu I in k模塊的位置屬性值;
[0049]其中,若所述S i mu I in k模塊對應的所述解密信息為第一屬性值,所述設置單元用于設置所述S i mu I in k模塊的位置屬性值具體為:
[0050]所述設置單元用于將所述S i mu I in k模塊的位置屬性值設置為所述第一
屬性值;
[0051]若所述S i mu I in k模塊對應的所述解密信息為預設算法,所述設置單元用于設置所述S i mu I in k模塊的位置屬性值具體為:
[0052]所述設置單元用于獲取所述S i mu I in k模塊的位置屬性值,作為所述第二屬性值、根據所述預設算法和所述第二屬性值計算出第一屬性值、以及將所述S imu I
ink模塊的位置屬性值設置為計算出的所述第一屬性值
[0053]通過上述技術方案可知,本發(fā)明中通過將S i m u I in k模型中的待加密的Si mu I in k模塊的位置屬性值從第一屬性值改變?yōu)榈诙傩灾担渲?,第二屬性值是隨機生成的或者由第一屬性值根據預設算法計算得到的,從而實現(xiàn)了對S i mu I ink模型進行加密,發(fā)明人經研究發(fā)現(xiàn),通過這種加密方式加密后的S i mu I in k模型無法辨識,并且需要將位置屬性值還原為原有的值后才能解密,因此解密難度很高。并且這種加密方式在正確解密后也不會影響S i mu I in k模型的正常辨識。
【專利附圖】
【附圖說明】
[0054]圖1為本發(fā)明提供的加密方法的第一實施例的流程示意圖;
[0055]圖2為加密前的Simul in k模型的結構示意圖;
[0056]圖3為加密后的Simul in k模型的結構示意圖;
[0057]圖4為本發(fā)明提供的加密方法的第二實施例的流程示意圖;
[0058]圖5為本發(fā)明提供的加密方法的第三實施例的流程示意圖;
[0059]圖6為本發(fā)明提供的解密方法的第一實施例的流程示意圖;
[0060]圖7為本發(fā)明提供的解密方法的第二實施例的流程示意圖;
[0061]圖8為本發(fā)明提供的解密方法的第三實施例的流程示意圖;
[0062]圖9為本發(fā)明提供的加密裝置的具體實施例的流程示意圖;
[0063]圖10為本發(fā)明提供的解密裝置的具體實施例的流程示意圖?!揪唧w實施方式】
[0064]在本發(fā)明實施例中,提供一種S i m u I in k模型的加密和解密方法,及相關裝置,從而實現(xiàn)對S i m u I in k模型的加密和解密,降低S i mu I in k模型的泄密風險。尤其是當S i mu I in k模型實現(xiàn)控制策略時,降低控制策略的泄密風險。
[0065]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0066]請參閱圖1,本發(fā)明提供了 Simul in k模型的加密方法的第一實施例,本實施例中,所述S i m u I in k模型包括至少一個待加密的S i mu I in k模塊。本發(fā)明實施例中,Simul in k模型包括一個或多個S i mu I in k模塊,在這些S im u I i n k模塊中,有至少一個S i mu I in k模塊為待加密的S i mu I i n k模塊。例如,可以設置S i m u I in k模型中的所有S i mu I in k模塊為待加密的S
i m u I ink模塊,由于S i m u I ink模塊中的S i m u I ink模塊可以分為多層,此時也可以設置S i m u I in k模型中的一層或者多層所包括的S i mu I ink模塊為待加密的S i m u I in k模塊。
[0067]本實施例具體包括:
[0068]S 101:獲取各個所述待加密的S i mu I in k模塊的位置屬性值,作為第一
屬性值。
[0069]Simul in k模型所包括的S i mu I in k模塊,通常具有多個屬性值,而其中的P ositio η屬性值,即位置屬性值,用于表示該S i mu I in k模塊的
開始和結束的位置。
[0070]在該步驟中,獲取S i mu I in k模塊當前的位置屬性值,作為第一屬性值。
[0071]S 102:將各個所述待加密的S i mu I in k模塊的位置屬性值設置為第二屬性值。其中,所述第二屬性值與所述第一屬性值不同,并且所述第二屬性值為隨機生成的或者由所述第一屬性值根據預設算法計算得到。
[0072]在該步驟中,實際上是將S i mu I in k模塊的位置屬性值從第一屬性值更改為第二屬性值,從而實現(xiàn)了對S i mu I in k模型的加密。而第二屬性值可以是隨機生成的,例如是小于I的隨機數;也可以是由第一屬性值根據預設算法計算得到的,例如,第二屬性值可以是將第一屬性值除以一個數值后得到。需要說明的是:第一屬性值若是一個數組,則第二屬性值可以是對數組中的任一個或多個數進行改變,或者改變第一屬性值的數組結構得到的。
[0073]通過該步驟對S i mu I in k模型進行加密后,Simul in k模型將變得不可識別,例如,加密前的S i m u I in k模型如圖2所示,在該步驟中,將S i mu I
i n k模型中的各個S i mu I in k模塊的位置屬性值更改為小于I的隨機值后,S im u I i n k模塊將如圖3所示。
[0074]需要說明的是,步驟S 101和S 102實現(xiàn)了獲取和更改各個待加密的S i mu Ii n k模塊的位置屬性值。這兩個步驟具體可以是在先獲取所有的待加密的S i mu I in k模塊的第一屬性值,之后將所有的待加密的S i mu I in k模塊的位置屬性值設置為第二屬性值。也可以是獲取一個待加密的s i mu I in k模塊的位置屬性值,作為第一屬性值,將該S i mu I in k模塊的位置屬性值設置為第二屬性值,此時若未將所有的所述待加密的S imu I in k模塊的位置屬性值設置為第二屬性值,則返回執(zhí)行獲取一個待加密的S i mu I in k模塊的位置屬性值。
[0075]S 103:基于與各個所述待加密的S i mu I in k模塊對應的解密信息,生成解密文件。本發(fā)明實施例中,解密文件用于對通過本發(fā)明實施例中的加密方法加密的S imu I i n k模型進行解密。
[0076]本實施例中,解密信息具體為第一屬性值或者所述預設算法。
[0077]對于某一待加密的S i m u I in k模塊來說,若步驟S 102中將該S i mu I
i n k模塊的位置屬性值設置成的第二屬性值是隨機生成的,則該S i mu I in k模塊對應的解密信息為該S i mu I in k模塊原有的位置屬性值,即第一屬性值。
[0078]若步驟S 102中將該S i mu I in k模塊的位置屬性值設置成的第二屬性值是根據預設算法得到的,則該S i mu I in k模塊對應的解密信息既可以為該S i muI i n k模塊原有的位置屬性值,即第一屬性值,也可以為設置該S i mu I i n k模塊的位置屬性值為第二屬性值時的預設算法。
[0079]通過上述技術方案可知,本實施例中通過將S imu I i n k模型中的待加密的Simul in k模塊的位置屬性值從第一屬性值改變?yōu)榈诙傩灾?,其中,第二屬性值是隨機生成的或者由第一屬性值根據預設算法計算得到的,從而實現(xiàn)了對S imu I ink模型進行加密,發(fā)明人經研究發(fā)現(xiàn),通過這種加密方式加密后的S i m u I in k模型無法辨識,并且需要將位置屬性值還原為原有的值后才能解密,因此解密難度很高。這種加密方式在正確解密后也不會影響S i mu I in k模型的正常辨識。
[0080]在本發(fā)明實施例中,通過對S i mu I in k模塊的位置屬性值進行改變實現(xiàn)了對S i mu I in k模型的加密。此時,還可以對S i mu I in k模型進一步加密。下面通過一個實施例加以說明。
[0081]請參閱圖4,本發(fā)明提供了 Simul in k模型的加密方法的第二實施例,本實施例中,所述S i m u I in k模型包括至少一個待加密的S i mu I in k模塊。
[0082]本實施例具體包括:
[0083]S 401:獲取各個所述待加密的S i m u I in k模塊的位置屬性值,作為第一
屬性值。
[0084]S 402:將各個所述待加密的S i mu I in k模塊的位置屬性值設置為第二屬性值。其中,所述第二屬性值與所述第一屬性值不同,并且所述第二屬性值為隨機生成的或者由所述第一屬性值根據預設算法計算得到。
[0085]步驟S 401和步驟S 402與步驟S 101和步驟S 102類似,相關之處請參見步驟S 101和步驟S 102,這里不再贅述。
[0086]S 403:獲取所述待加密的S i mu I i n k模塊之間的連接關系,作為第一連
接關系。
[0087]該步驟中,可以獲取部分的待加密的S i mu I in k模塊之間的連接關系,例如獲取同一層的待加密的S i m u I in k模塊之間的連接關系;也可以獲取全部的待加密的S i m u I in k模塊之間的連接關系。[0088]獲取S i mu I in k模塊之間的連接關系具體可以是獲取S i mu I ink
模塊之間的連線的起始點和經過點。
[0089]S 404:將所述待加密的S i mu I in k模塊之間的連接關系設置為第二連接
關系;其中,所述第二連接關系與所述第一連接關系不同。
[0090]該步驟中通過將待加密的S i mu I in k模塊之間的連接關系從第一連接關系更改為第二連接關系,實現(xiàn)了對S i mu I in k模型進一步的加密。
[0091]需要說明的是,步驟S 403,與步驟S 401和步驟S 402之間的執(zhí)行順序不受限定,也就是說,步驟S 403可以在步驟S 401和步驟S 402之前、之后、或者之間執(zhí)行。
[0092]同樣,步驟S 404,與步驟S 401和步驟S 402之間的執(zhí)行順序也不受限定,也就是說,步驟S 404可以在步驟S 401和步驟S 402之前、之后、或者之間執(zhí)行。
[0093]步驟S 405:基于各個所述待加密的S i mu I in k模塊對應的解密信息和第一連接關系生成解密文件。本實施例中,解密信息具體為第一屬性值或者所述預設算法。
[0094]通過上述技術方案可知,本實施例重點說明了,在通過更改位置屬性值對S i mulin k模型進行加密的基礎上,通過改變S i m u I in k模型中模塊間的連接關系進一步對S i mu I in k模型進行加密,從而提高了解密難度,進一步降低了泄密風險。
[0095]下面介紹一個本發(fā)明的加密方法的優(yōu)選實施例。
[0096]請參閱圖5,本發(fā)明提供了 Simul in k模型的加密方法的第三實施例,本實施例中,所述S i m u I in k模型包括η個待加密的S i mu I in k模塊。
[0097]在本實施例具體包括:
[0098]S 501:獲取η個待加密的S i mu I in k模塊的模塊列表。
[0099]S 502:獲取一個待加密的S i mu I in k模塊的位置屬性值,作為該S i mulin k模塊的第一屬性值。
[0100]S 503:根據第一屬性值和預設算法計算第二屬性值,本實施例中設置預設算法為第一屬性值除以1012的值,因此本實施例中的第二屬性值為第一屬性值除以1012的值。
[0101]S 504:判斷第二屬性值是否合理,如果否,則返回執(zhí)行步驟S 503。如果是,則執(zhí)行 S 505。
[0102]判斷是否合理可以根據實際情況進行設定,例如,位置屬性值一般為正數,該步驟中可以是判斷第二屬性值是否是正數。
[0103]S 505:將該待加密的S i mu I in k模塊的位置屬性值設置為第二屬性值。
[0104]S 506:判斷步驟S 505是否設置成功,如果是,則執(zhí)行S 507,如果否,則返回執(zhí)行S 505。
[0105]該步驟具體可以是通過屬性設置語句的返回值判斷是否設置成功。
[0106]S 507:根據步驟S 501獲取的模塊列表判斷是否對所有的待加密的Simuli n k模塊的位置屬性值進行了設置,如果是,則執(zhí)行S 508,如果否,則返回執(zhí)行S 502。
[0107]S 508:根據預設算法生成解密文件。
[0108]該步驟中,可以先生成M A TLAB的m腳本文件,再將m腳本文件生成M A TLAB加密文件格式P腳本文件。而在解密時,直接運行P腳本文件。
[0109]S 509:在生成的解密文件中設置權限檢查功能,所述權限檢查功能用于檢測所述解密文件運行的環(huán)境是否具有解密權限。[0110]在本發(fā)明實施例中,還可以通過在解密文件中設置權限檢測功能,使得具有解密權限時才能對加密后的S i mu I in k模型進行解密。該步驟的執(zhí)行順序不受限定。
[0111]檢測解密文件運行的環(huán)境是否具有解密權限具體可以是通過檢測網卡物理地址、硬盤序列號、U S B加密狗、授權文件中的任一項或多項內容的檢測判斷是否具有解密權限。
[0112]該權限檢測功能具體可以是通過在解密文件中加入檢查點實現(xiàn),該檢查點可以通過調用動態(tài)鏈接庫或者其他可用文件形式生成。
[0113]上面本發(fā)明提供了對S i mu I in k模型進行加密的方式,對應的,本發(fā)明還提供了對加密后的S i m u I in k模型進行解密的方式。
[0114]請參閱圖6,本發(fā)明提供了 Simul in k模型的解密方法的第一實施例。在本實施例中,所述S i m u I in k模型包括至少一個S i mu I in k模塊。本發(fā)明實施例中,S imu I i n k模型包括一個或多個Simul ink模塊,在這些Simul
i n k模塊中,有至少一個Simul ink模塊為已加密的Simul ink模塊,已加密的S i m u I in k模塊對應于加密時的待加密的S i mu I in k模塊。
[0115]本實施例具體包括:
[0116]S 601:從解密文件中獲取各個S i mu I in k模塊對應的解密信息。
[0117]通過本發(fā)明提供的加密方法的實施例可知,本發(fā)明實施例在對S i m u I ink模型進行加密時,會根據各個待加密的S i mu I in k模塊對應的解密信息生成解密文件,因此,在本實施例中,會從解密文件中獲取各個S i m u I in k模塊對應的解密信
肩、O
[0118]解密信息具體為第一屬性值或者預設算法。
[0119]S 602:根據步驟S 601獲取的各個S i mu I in k模塊對應的解密信息,設置本實施例的S i m u I in k模型中的S i mu I in k模塊的位置屬性值。
[0120]若解密文件中包括有η個S imu I i n k模塊對應的解密信息,則該步驟中實際是對本實施例的S i m u I in k模型中,對應的η個S i mu I in k模塊的位置屬性值進行設置。若獲取的解密信息中,對應的S i mu I in k模塊在本實施例的S i mulin k模型中并不存在,則說明解密文件并不是對本實施例的S i m u I in k模型的解密文件,此時可以選擇結束流程或繼續(xù)進行。
[0121]解密信息具體為第一屬性值或者預設算法,根據解密信息的不同,具體設置S imu I i n k模塊的位置屬性值的方式也并不相同。
[0122]具體地,若所述S i mu I in k模塊對應的所述解密信息為第一屬性值,所述設置所述S i m u I in k模塊的位置屬性值具體為:將所述S i mu I in k模塊的位
置屬性值設置為所述第一屬性值。
[0123]若所述S i mu I in k模塊對應的所述解密信息為預設算法,所述設置所述Si mu I in k模塊的位置屬性值具體為:獲取所述S i mu I in k模塊的位置屬性值,作為所述第二屬性值;根據所述預設算法和所述第二屬性值計算出第一屬性值;將所述S i mu I in k模塊的位置屬性值設置為計算出的所述第一屬性值。其中,根據預設算法和第二屬性值計算出第一屬性值,實際上是根據預設算法的逆運算和第二屬性值計算出第一屬性值,例如若生成第二屬性值時是將第一屬性值除以1012得到,則該步驟中是將第二屬性值乘以1012即得到S i mu I in k原有的位置屬性值,第一屬性值。
[0124]通過上述技術方案可知,本實施例中通過獲取解密文件中的各個S imu I ink模塊的解密信息,根據解密信息對本實施例的S i mu I i n k模型中的Simul
i n k模塊的位置屬性值進行還原,從而實現(xiàn)了將已加密的S i mu I in k模型進行解密,使得S i m u I in k模型能夠辨識。
[0125]在本發(fā)明的加密方法的第二實施例中,對S imu I i n k進一步進行了加密,對于這種進一步加密的方式,本發(fā)明實施例提供了對應的解密方式。
[0126]請參閱圖7,本發(fā)明提供了 Simul in k模型的解密方法的第二實施例。在本實施例中,所述S i m u I in k模型包括至少一個S i mu I in k模塊。
[0127]本實施例具體包括:
[0128]S 701:從解密文件中獲取各個S i mu I in k模塊對應的解密信息。解密信
息具體為第一屬性值或者預設算法。
[0129]S 702:根據步驟S 701獲取的各個S i mu I in k模塊對應的解密信息,設置本實施例的S i m u I in k模型中的S i mu I in k模塊的位置屬性值。
[0130]具體地,若所述S i mu I in k模塊對應的所述解密信息為第一屬性值,所述設置所述S i m u I in k模塊的位置屬性值具體為:將所述S i mu I in k模塊的位
置屬性值設置為所述第一屬性值。
[0131]若所述S i mu I in k模塊對應的所述解密信息為預設算法,所述設置所述Si mu I in k模塊的位置屬性值具體為:獲取所述S i mu I in k模塊的位置屬性
值,作為所述第二屬性值;根據所述預設算法和所述第二屬性值計算出第一屬性值;將所述S i mu I in k模塊的位置屬性值設置為計算出的所述第一屬性值。
[0132]步驟S 701和步驟S 702與步驟S 601和步驟S 602類似,相關之處請參見步驟S 601和步驟S 602,這里不再贅述。
[0133]S 703:獲取所述解密文件中的連接關系,作為第一連接關系。
[0134]若本發(fā)明實施例中,更改了 S i mu I in k模塊之間的連接關系,從而對S im u I i n k模型進一步加密,則解密文件中會包括有S i mu I in k模塊之間原有的連接關系,因此在本實施例中獲取該連接關系。
[0135]S 704:將所述S i mu I in k模塊之間的連接關系設置為所述第一連接關
系O
[0136]通過將S i mu I in k模塊之間的連接關系設置為原有的連接關系,從而實現(xiàn)了對S i mu I in k模型的進一步解密。
[0137]該步驟具體可以是設置S i mu I in k模塊之間的連線的起始點和經過點。
[0138]需要說明的是,步驟S 703,與步驟S 701和步驟S 702之間的執(zhí)行順序不受限定,也就是說,步驟S 703可以在步驟S 701和步驟S 702之前、之后、或者之間執(zhí)行。
[0139]同樣,步驟S 704,與步驟S 701和步驟S 702之間的執(zhí)行順序也不受限定,也就是說,步驟S 704可以在步驟S 701和步驟S 702之前、之后、或者之間執(zhí)行。
[0140]通過上述技術方案可知,本實施例重點說明了,在通過還原位置屬性值對S i mulin k模型進行解密的基礎上,通過還原S i m u I in k模型中模塊間的連接關系進一步對S i m u I in k模型進行解密。[0141]下面介紹一個本發(fā)明的解密方法的優(yōu)選實施例。
[0142]請參閱圖8,本發(fā)明提供了 Simul in k模型的解密方法的第三實施例。在本實施例中,所述S i m u I in k模型包括至少一個S i mu I in k模塊。
[0143]本實施例具體包括:
[0144]S 801:打開加密后的S i mu I in k模型。
[0145]本實施例中可以是解密文件與S i mu I in k模型相對應,當運行解密文件時,就會自動打開對應的加密后的S i mu I in k模型。
[0146]S 802:檢測所述解密文件運行的環(huán)境是否具有解密權限,如果否,則執(zhí)行S 803。如果是,則執(zhí)行S 804。
[0147]檢測解密文件運行的環(huán)境是否具有解密權限具體可以是通過檢測網卡物理地址、硬盤序列號、U S B加密狗、授權文件中的任一項或多項內容的檢測判斷是否具有解密權限。
[0148]該步驟具體可以是通過加載動態(tài)鏈接庫或者其他可用文件,對解密文件中的檢查點進行檢測。
[0149]S 803:此時解密文件運行的環(huán)境不具有解密權限,因此可以報告權限錯誤信息,或者返回執(zhí)行S 802,重新檢測解密權限。
[0150]S 804:此時解密文件運行的環(huán)境具有解密權限,因此執(zhí)行從解密文件中獲取各個S i mu I in k模塊對應的解密信息。
[0151]解密信息具體為第一屬性值或者預設算法。
[0152]S 805:根據步驟S 804獲取的各個S i mu I in k模塊對應的解密信息,設置本實施例的S i m u I in k模型中的S i mu I in k模塊的位置屬性值。
[0153]具體地,若所述S i mu I in k模塊對應的所述解密信息為第一屬性值,所述設置所述S i m u I in k模塊的位置屬性值具體為:將所述S i mu I in k模塊的位
置屬性值設置為所述第一屬性值。
[0154]若所述S i mu I in k模塊對應的所述解密信息為預設算法,所述設置所述Si mu I in k模塊的位置屬性值具體為:獲取所述S i mu I in k模塊的位置屬性
值,作為所述第二屬性值;根據所述預設算法和所述第二屬性值計算出第一屬性值;將所述S i mu I in k模塊的位置屬性值設置為計算出的所述第一屬性值。
[0155]S 806:判斷是否解密成功,若是,則執(zhí)行S 808,若否,則執(zhí)行S 807。
[0156]該步驟具體可以是通過屬性設置語句的返回值判斷是否設置成功。
[0157]S 807:說明此時解密失敗,可以報告解密錯誤信息,也可以返回執(zhí)行S 802或者S 804,即重新檢測解密權限或者重新解密。
[0158]S 808:保存解密后的S i mu I in k模型。
[0159]該步驟執(zhí)行后,下次使用S i m u I in k模型時無需對S i mu I in k模型
進行解密,既可以直接運行。
[0160]本發(fā)明實施例還提供了與S i mu I in k模型的加密和解密方法對應的裝置。
[0161]請參閱圖9,本發(fā)明提供了 Simul in k模型的加密裝置的具體實施例,在本實施例中,所述S i m u I in k模型包括至少一個待加密的S i mu I in k模塊;本實施例具體包括:獲取單元901、設置單元902和生成單元903。[0162]獲取單元901,用于獲取各個所述S imu I i n k模塊的位置屬性值,作為第一
屬性值。
[0163]設置單元902,用于將各個所述S i mu I in k模塊的位置屬性值設置為第二屬性值。其中,所述第二屬性值與所述第一屬性值不同,并且所述第二屬性值為隨機生成的或者由所述第一屬性值根據預設算法計算得到。
[0164]生成單元903,用于基于各個所述S i mu I in k模塊對應的解密信息生成解密文件。所述解密信息具體為所述第一屬性值或者所述預設算法。
[0165]請參閱圖10,本發(fā)明提供了 Simul in k模型的解密裝置的具體實施例,在本實施例中,所述S i m u I in k模型包括至少一個S i mu I in k模塊;本實施例具體包括:獲取單元1001和設置單元1002。
[0166]獲取單元1001,用于從解密文件中獲取各個S i mu I in k模塊對應的解密信
肩、O
[0167]設置單元1002,用于根據各個S imu I i n k模塊對應的解密信息,設置所述Simul in k模型中的所述S i mu I in k模塊的位置屬性值;
[0168]其中,若所述S i mu I in k模塊對應的所述解密信息為第一屬性值,設置單元1002用于設置所述S i m u I in k模塊的位置屬性值具體為:
[0169]設置單元1002用于將所述S imu I i n k模塊的位置屬性值設置為所述第一屬性值;
[0170]若所述S imu I i n k模塊對應的所述解密信息為預設算法,設置單元1002用于設置所述S i mu I in k模塊的位置屬性值具體為:
[0171]設置單元1002用于獲取所述S i m u I in k模塊的位置屬性值,作為所述第二屬性值、根據所述預設算法和所述第二屬性值計算出第一屬性值、以及將所述S imuIink模塊的位置屬性值設置為計算出的所述第一屬性值。
[0172]所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0173]以上所述,以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的精神和范圍。
【權利要求】
1.一種S i mulin k模型的加密方法,其特征在于,所述S i mul in k模型包括至少一個待加密的S i m u l in k模塊;所述方法包括: 獲取各個所述S i mu l in k模塊的位置屬性值,作為第一屬性值; 將各個所述S i mu l in k模塊的位置屬性值設置為第二屬性值; 其中,所述第二屬性值與所述第一屬性值不同,并且所述第二屬性值為隨機生成的或者由所述第一屬性值根據預設算法計算得到; 基于各個所述S i mu l in k模塊對應的解密信息生成解密文件; 所述解密信息具體為所述第一屬性值或者所述預設算法。
2.根據權利要求1所述的方法,其特征在于,所述方法還包括: 獲取所述S i mu l in k模塊之間的連接關系,作為第一連接關系; 將所述S i mu l in k模塊之間的連接關系設置為第二連接關系;其中,所述第二連接關系與所述第一連接關系不同; 所述基于各個所述S i m u l in k模塊對應的解密信息生成解密文件具體為:基于各個所述S i mul in k模塊對應的解密信息和所述第一連接關系生成解密文件。
3.根據權利要求1或2所述的方法,其特征在于,所述獲取各個所述Si mu l ink模塊的位置屬性值,作為第一屬性值,以及將各個所述S i mu lin k模塊的位置屬性值設置為第二屬性值具體為: 獲取一個所述S i mu l in k模塊的位置屬性值,作為第一屬性值; 將該S i mul in k模塊的位置屬性值設置為第二屬性值; 若未將所有的所述S i mu lin k模塊的位置屬性值設置為所述第二屬性值,則返回執(zhí)行所述獲取一個所述S i mu l in k模塊的位置屬性值。
4.根據權利要求1或2所述的方法,其特征在于,所述方法還包括: 在所述解密文件中設置權限檢查功能,所述權限檢查功能用于檢測所述解密文件運行的環(huán)境是否具有解密權限。
5.—種S i m u l in k模型的解密方法,其特征在于,所述S i mu l in k模型包括至少一個S i m u l in k模塊,所述方法包括: 從解密文件中獲取各個S i mu lin k模塊對應的解密信息; 根據各個S i m u l in k模塊對應的解密信息,設置所述S i mu l in k模型中的所述S i m u lin k模塊的位置屬性值; 其中,若所述S i mu l in k模塊對應的所述解密信息為第一屬性值,所述設置所述S i mu l in k模塊的位置屬性值具體為: 將所述S i mu l in k模塊的位置屬性值設置為所述第一屬性值; 若所述S i m u l in k模塊對應的所述解密信息為預設算法,所述設置所述S i mulink模塊的位置屬性值具體為: 獲取所述S i mul in k模塊的位置屬性值,作為所述第二屬性值; 根據所述預設算法和所述第二屬性值計算出第一屬性值; 將所述S i mul in k模塊的位置屬性值設置為計算出的所述第一屬性值。
6.根據權利要求5所述的方法,其特征在于,所述方法還包括:獲取所述解密文件中的連接關系,作為第一連接關系; 將所述S i mu I in k模塊之間的連接關系設置為所述第一連接關系。
7.根據權利要求5或6所述的方法,其特征在于,所述設置所述Si mu I in k模型中的所述S i m u I in k模塊的位置屬性值之前還包括: 檢測所述解密文件運行的環(huán)境是否具有解密權限,如果是,則執(zhí)行所述設置所述S im u I i n k模型中的所述S i mu I in k模塊的位置屬性值。
8.根據權利要求5或6所述的方法,其特征在于,所述設置所述Si mu I in k模型中的所述S i mu I in k模塊的位置屬性值之后還包括: 保存所述Simul ink模型。
9.一種S i m u I in k模型的加密裝置,其特征在于,所述S i mu I in k模型包括至少一個待加密的S i m u I in k模塊;所述裝置包括: 獲取單元,用于獲取各個所述S imu I i n k模塊的位置屬性值,作為第一屬性值; 設置單元,用于將各個所述S i mu I in k模塊的位置屬性值設置為第二屬性值;生成單元,用于基于各個所述S i mu I in k模塊對應的解密信息生成解密文件;其中,所述第二屬性值與所述第一屬性值不同,并且所述第二屬性值為隨機生成的或者由所述第一屬性值根據預設算法計算得到;所述解密信息具體為所述第一屬性值或者所述預設算法。
10.一種S i m U I in k模型的解密裝置,其特征在于,所述S i mu I in k模型包括至少一個S i m u I in k模塊;所述裝置包括: 獲取單元,用于從解密文件中獲取各個S i mu I in k模塊對應的解密信息; 設置單元,用于根據各個S i mu I in k模塊對應的解密信息,設置所述S i muI i n k模型中的所述S i m u I in k模塊的位置屬性值; 其中,若所述S i mu I in k模塊對應的所述解密信息為第一屬性值,所述設置單元用于設置所述S i mu I in k模塊的位置屬性值具體為: 所述設置單元用于將所述S i mu I in k模塊的位置屬性值設置為所述第一屬性值; 若所述S i mu I in k模塊對應的所述解密信息為預設算法,所述設置單元用于設置所述S i mu I in k模塊的位置屬性值具體為: 所述設置單元用于獲取所述S i mu I in k模塊的位置屬性值,作為所述第二屬性值、根據所述預設算法和所述第二屬性值計算出第一屬性值、以及將所述S imu I ink模塊的位置屬性值設置為計算出的所述第一屬性值。
【文檔編號】G06F21/34GK103810435SQ201310717117
【公開日】2014年5月21日 申請日期:2013年12月23日 優(yōu)先權日:2013年12月23日
【發(fā)明者】秦濤, 王傳榮, 劉興義, 李國朋 申請人:濰柴動力股份有限公司