基于虛擬計算和數(shù)據(jù)優(yōu)化的混沌并行數(shù)據(jù)的加密方法
【專利摘要】本發(fā)明提供一種基于虛擬計算和數(shù)據(jù)優(yōu)化的混沌并行數(shù)據(jù)的加密方法,包括:S1、建立混沌方程,對數(shù)據(jù)進行劃分,得到劃分后的數(shù)據(jù)集,并確定虛擬計算核心集合;S2、判斷所述數(shù)據(jù)集與所述虛擬計算核心集合的差值,根據(jù)所述差值與零的大小,確定執(zhí)行態(tài)虛擬計算核心集合,并建立數(shù)據(jù)集與執(zhí)行態(tài)虛擬計算核心的靜態(tài)映射關(guān)系;S3、根據(jù)并行系統(tǒng)中物理計算核心集合建立執(zhí)行態(tài)物理計算核心集合,并建立所述執(zhí)行態(tài)虛擬計算核心集合到所述執(zhí)行態(tài)物理計算核心集合的靜態(tài)映射關(guān)系,執(zhí)行態(tài)虛擬計算核心獲取所述混沌方程的密鑰并執(zhí)行數(shù)據(jù)加密。本發(fā)明實施例中提出的加密方法能夠根據(jù)實際需要充分利用物理計算核心,即充分利用并行系統(tǒng)的計算資源。
【專利說明】基于虛擬計算和數(shù)據(jù)優(yōu)化的混沌并行數(shù)據(jù)的加密方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)安全和網(wǎng)絡(luò)安全【技術(shù)領(lǐng)域】,尤其涉及一種基于虛擬計算和數(shù)據(jù)優(yōu)化的混沌并行數(shù)據(jù)的加密方法。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)、云計算技術(shù)的發(fā)展、人們的生活更多地依賴于互聯(lián)網(wǎng)。而在互聯(lián)網(wǎng)上存儲和傳輸?shù)臄?shù)據(jù)也存在著安全的問題。如何保障這些數(shù)據(jù)的安全,對于國家、企業(yè)和個人具有重要的意義。對于敏感和隱私的數(shù)據(jù)保護也是物聯(lián)網(wǎng)和云計算等技術(shù)發(fā)展需要亟待解決的問題。
[0003]因此,為了保障數(shù)據(jù)的安全,現(xiàn)有的數(shù)據(jù)加密方法是:使用Logistic混沌映射和Fibonacci數(shù)列混和,將數(shù)據(jù)按照字節(jié)的排序在雙核處理器中進行奇數(shù)和偶數(shù)的劃分,劃分后的奇數(shù)數(shù)據(jù)其中一個處理器中進行加密/解密,偶數(shù)數(shù)據(jù)在另一個處理器中進行加密/解密。
[0004]上述的數(shù)據(jù)加密方法的缺陷是:該數(shù)據(jù)加密方法直接把數(shù)據(jù)分配在物理計算核心上進行計算。雖然在雙核處理器中可以達到并行加密,但是,數(shù)據(jù)劃分建立在雙核處理器的物理計算核心上,當(dāng)?shù)讓游锢碛嬎愫诵陌l(fā)生變化時,不能有效利用物理計算核心。例如,當(dāng)?shù)讓游锢碛嬎愫诵臄?shù)變?yōu)?個或者8個時,僅用到其中的2個進行加密處理,而無需使用其余的2個或者6個進行加密處理;而當(dāng)?shù)讓佑嬎愫诵臄?shù)變?yōu)镮個時,無法進行加密處理。
【發(fā)明內(nèi)容】
[0005](一)要解決的技術(shù)問題
[0006]本發(fā)明的目的是提出一種基于虛擬計算和數(shù)據(jù)優(yōu)化的混沌并行數(shù)據(jù)的加密方法,使得當(dāng)物理計算核心發(fā)生變化時,仍然能夠有效利用物理計算核心。
[0007](二)技術(shù)方案
[0008]為了解決上述技術(shù)問題,本發(fā)明提供了一種基于虛擬計算和數(shù)據(jù)優(yōu)化的混沌并行數(shù)據(jù)的加密方法,包括:
[0009]S1、建立混沌方程,對數(shù)據(jù)進行劃分,得到劃分后的數(shù)據(jù)集,并確定虛擬計算核心集合;
[0010]S2、判斷所述數(shù)據(jù)集與所述虛擬計算核心集合的差值,根據(jù)所述差值與零的大小,確定執(zhí)行態(tài)虛擬計算核心集合,并建立數(shù)據(jù)集與執(zhí)行態(tài)虛擬計算核心的靜態(tài)映射關(guān)系;
[0011]S3、根據(jù)并行系統(tǒng)中物理計算核心集合建立執(zhí)行態(tài)物理計算核心集合,并建立所述執(zhí)行態(tài)虛擬計算核心集合到所述執(zhí)行態(tài)物理計算核心集合的靜態(tài)映射關(guān)系,執(zhí)行態(tài)虛擬計算核心獲取所述混沌方程的密鑰并執(zhí)行數(shù)據(jù)加密。
[0012]優(yōu)選地,所述混沌方程的密鑰包括:
[0013]初始混沌方程中的初始參數(shù)和混沌方程中初始的控制參數(shù)。
[0014]優(yōu)選地,所述對數(shù)據(jù)進行劃分之前進一步包括:[0015]設(shè)定數(shù)據(jù)塊基本單位長度、虛擬計算核心的數(shù)量以及所述混沌方程的初始循環(huán)迭代次數(shù);
[0016]所述對數(shù)據(jù)進行劃分具體包括:根據(jù)所述數(shù)據(jù)塊基本單位長度對數(shù)據(jù)進行劃分;
[0017]所述確定虛擬計算核心集合具體包括:根據(jù)所述虛擬計算核心的數(shù)量對所述虛擬計算核心集合進行確定。
[0018]優(yōu)選地,
[0019]根據(jù)所述初始混沌方程中的初始參數(shù)和所述初始混沌方程中的控制參數(shù)對所述初始混沌方程進行初始循環(huán)迭代次數(shù)的迭代后,再繼續(xù)進行虛擬計算核心的數(shù)量次迭代,形成每個虛擬計算核心中混沌方程的迭代初始參數(shù)和迭代控制參數(shù)。
[0020]優(yōu)選地,步驟S2具體包括:
[0021]當(dāng)所述差值大于O時,則所述執(zhí)行態(tài)虛擬計算核心集合為所述虛擬計算核心集合;
[0022]當(dāng)所述差值小于O時,則對所述虛擬計算核心集合進行標注,得到所述執(zhí)行態(tài)虛擬計算核心集合。
[0023]優(yōu)選地,步驟S3中所述執(zhí)行態(tài)虛擬計算核心獲取所述混沌方程的密鑰并執(zhí)行混沛數(shù)據(jù)加密具體包括:
[0024]S31、對所述形成每個虛擬計算核心中混沌方程進行初始循環(huán)迭代次數(shù)的迭代,獲得所述混沌方程的密鑰;
[0025]S32、根據(jù)獲得的所述混沌方程的密鑰,將劃分后得到的所述數(shù)據(jù)集分配到所述執(zhí)行態(tài)虛擬計算核心集合中進行加密或者解密。
[0026]優(yōu)選地,所述將劃分后得到的所述數(shù)據(jù)集分配到所述執(zhí)行態(tài)虛擬計算核心集合中的分配關(guān)系為:所述數(shù)據(jù)集與所述執(zhí)行態(tài)虛擬計算核心集合的映射關(guān)系。
[0027](三)有益效果
[0028]本發(fā)明的有益效果是:將待加密/解密數(shù)據(jù)進行劃分,并采用靜態(tài)映射關(guān)系先將數(shù)據(jù)分塊映射到執(zhí)行態(tài)虛擬計算核心上,再將執(zhí)行態(tài)虛擬計算核心映射到執(zhí)行態(tài)物理計算核心上。也就是說,虛擬計算核心屏蔽了底層物理計算核心,使得數(shù)據(jù)的加密不必受底層物理計算核心的限制。當(dāng)物理計算核心發(fā)生變化時,為充分利用物理計算核心,只需將執(zhí)行態(tài)虛擬計算核心重新映射到執(zhí)行態(tài)物理計算核心上,而不是像現(xiàn)有技術(shù)那樣,當(dāng)物理計算核心發(fā)生改變時,造成物理計算核心剩余或者無法進行加密處理。因此本發(fā)明實施例中提出的加密方法能夠根據(jù)實際需要充分利用物理計算核心,即充分利用并行系統(tǒng)的計算資源。
【專利附圖】
【附圖說明】
[0029]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明基于虛擬計算和數(shù)據(jù)優(yōu)化的混沌并行數(shù)據(jù)的加密方法的流程圖;
圖2是實施例中基于虛擬計算和數(shù)據(jù)優(yōu)化的混沌并行數(shù)據(jù)的加密方法的具體流程圖; 圖3是本發(fā)明三層靜態(tài)映射關(guān)系模型的示意圖?!揪唧w實施方式】
[0030]下面結(jié)合附圖和實施例對本發(fā)明的實施方式作進一步詳細描述。以下實施例用于說明本發(fā)明,但不能用來限制本發(fā)明的范圍。
[0031]并行計算中如果處理的數(shù)據(jù)量較小,那么,進行數(shù)據(jù)劃分之后所進行的并行計算代價或者與單處理器的串行計算效率相當(dāng),或者低于串行處理的效率。因此,如何針對不同的數(shù)據(jù)進行并行的數(shù)據(jù)劃分也是并行計算亟待解決的問題。
[0032]參見圖1,本發(fā)明實施例提出了一種基于虛擬計算和數(shù)據(jù)優(yōu)化的混沌并行數(shù)據(jù)的加密方法,包括:
[0033]S1、建立混沌方程,對數(shù)據(jù)進行劃分,得到劃分后的數(shù)據(jù)集,并確定虛擬計算核心集合;
[0034]S2、判斷所述數(shù)據(jù)集與所述虛擬計算核心集合的差值,根據(jù)所述差值與零的大小,確定執(zhí)行態(tài)虛擬計算核心集合,并建立所述數(shù)據(jù)集與執(zhí)行態(tài)虛擬計算核心的靜態(tài)映射關(guān)系;
[0035]S3、根據(jù)并行系統(tǒng)中物理計算核心集合建立執(zhí)行態(tài)物理計算核心集合,并建立所述執(zhí)行態(tài)虛擬計算核心集合到所述執(zhí)行態(tài)物理計算核心集合的靜態(tài)映射關(guān)系,執(zhí)行態(tài)虛擬計算核心獲取所述混沌方程的密鑰并執(zhí)行數(shù)據(jù)加密。
[0036]本發(fā)明的上述實施例中,將待加密/解密數(shù)據(jù)進行劃分,并采用靜態(tài)映射關(guān)系先將數(shù)據(jù)分塊映射到執(zhí)行態(tài)虛擬計算核心上,再將執(zhí)行態(tài)虛擬計算核心映射到執(zhí)行態(tài)物理計算核心上。因此本發(fā)明實施例中提出的加密方法能夠根據(jù)實際需要充分利用物理計算核心,即充分利用并行系統(tǒng)的計算資源。
[0037]通過設(shè)定數(shù)據(jù)炔基本單位長度、虛擬計算核心的數(shù)量以及所述混沌方程的初始循環(huán)迭代次數(shù);并根據(jù)所述數(shù)據(jù)炔基本單位長度對數(shù)據(jù)進行劃分,使得數(shù)據(jù)集得到優(yōu)化劃分。
[0038]下面以幾個具體實例說明當(dāng)物理核心發(fā)生改變時,如何有效利用物理核心對數(shù)據(jù)進行加密/解密。
[0039]本發(fā)明實施例提供了一種基于虛擬計算和數(shù)據(jù)優(yōu)化的混沌并行數(shù)據(jù)的加密方法,如圖2所示,為該方法的詳細流程圖,包括:
[0040]步驟101:設(shè)定數(shù)據(jù)炔基本單位長度、虛擬計算核心的數(shù)量以及所述混沌方程的初始循環(huán)迭代次數(shù);
[0041]其中,混沛方程(Logistic map)為:
[0042]xn+1=a*xn* (l-xn) (n=0, I, 2,…)
[0043]其中,控制參數(shù)a的取值范圍為(3.9,4)的實數(shù),初始參數(shù)Xtl的取值位于(0,I)之間。
[0044]步驟102:根據(jù)所述數(shù)據(jù)炔基本單位長度對數(shù)據(jù)進行劃分,得到劃分后的數(shù)據(jù)集,以及形成每個虛擬計算核心中混沌方程的迭代控制參數(shù)a和迭代初始參數(shù)X。;
[0045]其中,所述混沌方程的密鑰包括:混沌方程的控制參數(shù)a和初始參數(shù)X(l。
[0046]得到的數(shù)據(jù)集為: [0047]Set_Data= {data_l, data_2,…,data_i,…丨(i=l, 2,…)。[0048]其中,Set_Data為數(shù)據(jù)集,data_i為劃分的各個數(shù)據(jù)分塊。
[0049]劃分的數(shù)據(jù)分塊的數(shù)量為數(shù)據(jù)集中元素的總數(shù),即Num(Set_Data)。
[0050]進一步的,由密鑰形成初始混沛函數(shù)的初始參數(shù)Xtl和混沛方程中初始的控制參數(shù)
a。對該混沌方程進行預(yù)設(shè)的初始循環(huán)迭代次數(shù)后,再繼續(xù)進行虛擬計算核心的數(shù)量次迭代,形成每個虛擬計算核心中混沌方程的迭代初始參數(shù)Xtl和迭代控制參數(shù)a。
[0051]由于本發(fā)明實施例提供了對數(shù)據(jù)的優(yōu)化劃分,如圖3所示,虛擬計算核心處于加密數(shù)據(jù)和物理計算核心的中間層,作用是屏蔽底層的技術(shù)細節(jié),使并行數(shù)據(jù)的加密不必受底層物理計算核心的限制,該方法打破了基于物理計算核心的數(shù)據(jù)劃分所帶來的并行數(shù)據(jù)加密受到限制的問題,起到了承上啟下的作用。
[0052]例如:用戶設(shè)定了數(shù)據(jù)分片的單位長度值為50字節(jié),當(dāng)用戶的輸入為40字節(jié)時,系統(tǒng)的數(shù)據(jù)優(yōu)化劃分不對數(shù)據(jù)進行分割,發(fā)送數(shù)據(jù)給虛擬計算核心I進行處理,而不必啟動其他虛擬計算核心。數(shù)據(jù)優(yōu)化劃分的目的在于處理較小長度文本時利用單處理器進行處理,加快處理速度,節(jié)省計算資源;而對于比較大的數(shù)據(jù),則采用并行處理。因此,針對不同的數(shù)據(jù)容量進行分別處理,以此來提高并行系統(tǒng)的使用效率。
[0053]步驟103:根據(jù)設(shè)定的虛擬計算核心的數(shù)量確定并行系統(tǒng)中的虛擬計算核心集合;
[0054]其中,獲得的并行系統(tǒng)中的虛擬計算核心集合為:
[0055]Set_VC= {VC_ID_1, VC_ID_2,…,VC_ID_i,…} (i=l, 2,…)。
[0056]其中,Set_VC為虛擬計算核心集合,VC_ID_i為虛擬計算核心集合的元素。
[0057]步驟104:判斷所述數(shù)據(jù)集與所述虛擬計算核心集合的差值與零的大小,根據(jù)判斷結(jié)果確定執(zhí)行態(tài)虛擬計算核心集合,并建立數(shù)據(jù)集與執(zhí)行態(tài)虛擬計算核心的靜態(tài)映射關(guān)系;
[0058]當(dāng)所述差值大于O時,則所述執(zhí)行態(tài)虛擬計算核心集合為所述虛擬計算核心集合;
[0059]當(dāng)所述差值小于O時,則對所述虛擬計算核心集合進行標注,得到所述執(zhí)行態(tài)虛擬計算核心集合。
[0060]當(dāng)數(shù)據(jù)集的元素的總數(shù)大于等于虛擬計算核心集合中元素的總數(shù)時,并行系統(tǒng)中的數(shù)據(jù)分塊的數(shù)量大于或者等于并行系統(tǒng)中的虛擬計算核心的數(shù)量,也就是說,系統(tǒng)中的虛擬計算核心可以全部被利用執(zhí)行計算。
[0061]當(dāng)數(shù)據(jù)集的元素的總數(shù)小于虛擬計算核心集合中元素的總數(shù)時,并行系統(tǒng)中的數(shù)據(jù)分塊數(shù)量小于并行系統(tǒng)中的虛擬計算核心數(shù)量,也就是說,系統(tǒng)中的虛擬計算核心只有一部分能夠被用于處理數(shù)據(jù)加密。
[0062]根據(jù)數(shù)據(jù)集的元素的總數(shù)與虛擬計算核心集合中元素的總數(shù)的比較結(jié)果,確定并行系統(tǒng)中執(zhí)行態(tài)虛擬計算核心集合:
[0063]Set_Execute_VC= {EVC_1, EVC_2,…,EVC_i,…} (i=l, 2,…)。
[0064]其中,Set_Execute_VC為執(zhí)行態(tài)虛擬計算核心集合,EVC_i為執(zhí)行態(tài)虛擬計算核心集合中的元素。
[0065]其中,靜態(tài)映射函數(shù)為:s_i為源集合Set_Source={s_l, s_2,…,s_i,…}中的元素。d_i為目的集合Set_Destination={d_l, d_2,…,d_i,…}中的元素。靜態(tài)映射函數(shù)SMap (s_i, d_i)函數(shù)為建立集合Set_Source與Set_Destination元素之間的映射關(guān)系,數(shù)學(xué)描述如下:
[0066]d_i=(s_1-l)(mod Num(Set_Destination))+l。
[0067]其中s_i=l, 2,…,Num(Set_Source) ;d_i=l, 2,…,Num(Set_Destination)。mod為模運算函數(shù)。
[0068]步驟105:獲取并行系統(tǒng)中的物理計算核心集合;
[0069]其中,物理計算核心集合為:
[0070]Set_PC= {PC_ID_1, PC_ID_2,…,PC_ID_i,…} (i=l, 2,…)。
[0071]其中,Set_PC為物理計算核心集合,PC_ID_i為物理計算核心集合中的元素。
[0072]步驟106:根據(jù)并行系統(tǒng)中物理計算核心集合建立執(zhí)行態(tài)物理計算核心集合;
[0073]在并行系統(tǒng)中,對空閑的物理計算核心進行標識,建立執(zhí)行態(tài)物理計算核心集合:
[0074]Set_Execute_PC= {EPC_1, EPC_2,…,EPC_i,…} (i=l, 2,…)。
[0075]其中,Set_Execute_PC為執(zhí)行態(tài)物理計算核心集合,EPC_i為執(zhí)行態(tài)物理計算核心集合中的元素。
[0076]其中,執(zhí)行態(tài)物理計算核心集合和物理計算核心集合之間的映射為:Pair(EPC_i,PC_ID_j);
[0077]步驟107:建立所述執(zhí)行態(tài)虛擬計算核心集合到所述執(zhí)行態(tài)物理計算核心集合的映射;
[0078]建立的該映射為:SMap(EVC_i, EPC_i)。
[0079]步驟108:根據(jù)步驟102中形成的每個虛擬計算核心中混沌方程的迭代初始參數(shù)X0和迭代控制參數(shù)a,對此時的混沌方程進行初始循環(huán)迭代次數(shù)的迭代,獲得密鑰;
[0080]步驟109:根據(jù)獲得的密鑰,將劃分后得到的所述數(shù)據(jù)集分配到所述執(zhí)行態(tài)虛擬計算核心集合中進行加密或者解密。
[0081]在步驟109之后還進一步包括:掃描數(shù)據(jù)集,判斷是否有數(shù)據(jù)集中的數(shù)據(jù)分塊未被進行加密或解密處理,若有則繼續(xù)進行加密或者解密處理。
[0082]本發(fā)明公開了一種基于虛擬計算和數(shù)據(jù)優(yōu)化的混沌并行數(shù)據(jù)加密的方法。本發(fā)明采用了數(shù)據(jù)分塊,虛擬計算核心和物理計算核心的三層靜態(tài)映射關(guān)系模型,用戶能夠控制數(shù)據(jù)分塊的大小,數(shù)據(jù)分塊被映射到虛擬計算核心進行加密/解密處理,虛擬計算核心靜態(tài)映射到物理計算核心進行計算,其步驟為:把每一個對應(yīng)執(zhí)行態(tài)虛擬計算核心的數(shù)據(jù)塊映射到執(zhí)行態(tài)物理計算核心,使用Logistic方程并行執(zhí)行對數(shù)據(jù)塊的加密/解密處理。本發(fā)明能夠充分利用并行系統(tǒng)的計算資源,最大限度地滿足用戶的并行數(shù)據(jù)加密的要求。可以用于保密通信,信息安全等領(lǐng)域,特別適合于當(dāng)前云計算環(huán)境和多核處理器結(jié)構(gòu)下的隱私數(shù)據(jù)的加密存儲和網(wǎng)絡(luò)傳輸。
[0083]假設(shè)一個用戶在計算機A上進行數(shù)據(jù)加密,在計算機B上進行解密。計算機A為單核處理器,計算機B為具有4個物理計算核心的多核處理器。
[0084] 步驟201、用戶輸入待加密數(shù)據(jù)和密鑰,輸入的初始的Logistic方程輸入控制參數(shù)為a和初始參數(shù)Xtl,輸入的待加密數(shù)據(jù)長度為1000個字節(jié),輸入的數(shù)據(jù)炔基本單位長度為100個字節(jié),虛擬計算核心數(shù)為8 ;[0085]步驟202、根據(jù)輸入的數(shù)據(jù)炔基本單位長度將待加密數(shù)據(jù)劃分為10個數(shù)據(jù)分塊,這10個數(shù)據(jù)分塊組成數(shù)據(jù)集Set_Data={datal, data2,…,datalO};
[0086]步驟203、根據(jù)Logistic方程輸入迭代控制參數(shù)a和迭代初始參數(shù)Xtl獲取每個虛擬計算核心的密鑰;
[0087]步驟204、由于虛擬計算核心數(shù)小于數(shù)據(jù)集元素數(shù)目,那么執(zhí)行態(tài)虛擬計算核心數(shù)取值為8,建立執(zhí)行態(tài)虛擬計算核心集合Set_Execute_VC={EVCl,EVC2,…,EVC8};
[0088]步驟205、對于計算機A,執(zhí)行態(tài)物理計算核心集合為Set_Execute_PC={EPCl};
[0089]步驟206、采用靜態(tài)映射關(guān)系將執(zhí)行態(tài)虛擬計算核心映射到執(zhí)行態(tài)物理計算核心上,由于計算機A為單核處理器,也就是只有I個物理計算核心,那么將8個執(zhí)行態(tài)虛擬計算核心均映射在該執(zhí)行態(tài)物理計算核心上,即將{EVC1,EVC2,…,EVC8}映射到{EPC1}上執(zhí)行;
[0090]步驟207、 將數(shù)據(jù)集映射到虛擬計算核心集合上,具體映射關(guān)系如下:
[0091]{datal, data9}映射到虛擬計算核心EVCl ;
[0092]{data2, datalO}映射到虛擬計算核心EVC2 ;
[0093]{data3}映射到虛擬計算核心EVC3 ;
[0094]{data4}映射到虛擬計算核心EVC4 ;
[0095]{data5}映射到虛擬計算核心EVC5 ;
[0096]{data6}映射到虛擬計算核心EVC6 ;
[0097]{data7}映射到虛擬計算核心EVC7 ;
[0098]{data8}映射到虛擬計算核心EVC8 ;
[0099]步驟208、根據(jù)映射關(guān)系將數(shù)據(jù)分塊分配到相應(yīng)的虛擬計算核心;
[0100]步驟209、每一個執(zhí)行態(tài)虛擬計算核心根據(jù)自身的密鑰對Logistic方程進行迭代I次,獲得輸出參數(shù),取該輸出參數(shù)的小數(shù)部分進行整數(shù)量化,量化后的參數(shù)對數(shù)據(jù)分塊中的第I個字節(jié)進行異或運算,并保存運算后的數(shù)據(jù);
[0101]以Logistic方程的第(1-ι)次迭代后的輸出參數(shù)為Logistic方程的輸入?yún)?shù)對Logistic方程進行迭代I次,取Logistic方程第i次迭代后的輸出參數(shù)的小數(shù)部分進行整數(shù)量化,量化后的參數(shù)對數(shù)據(jù)分塊的第i字節(jié)進行異或運算,并保存運算后的數(shù)據(jù),i取2到100的自然數(shù);
[0102]步驟210、每一個執(zhí)行態(tài)虛擬計算核心掃描數(shù)據(jù)集,判斷是否有數(shù)據(jù)分塊分配到該執(zhí)行態(tài)虛擬計算核心中進行加密處理,若有,則跳轉(zhuǎn)到步驟209對分配到該執(zhí)行態(tài)虛擬計算核心中的數(shù)據(jù)塊進行加密處理,否則結(jié)束數(shù)據(jù)加密過程;
[0103]步驟211、若加密后的數(shù)據(jù)在計算機B上進行解密時,由于計算機B為具有4個物理計算核心的多核處理器,那么解密過程中只需要將8個執(zhí)行態(tài)虛擬計算核心根據(jù)靜態(tài)映射關(guān)系重新映射到4個物理計算核心上,其他過程與加密過程一致。假設(shè)計算機B的執(zhí)行態(tài)物理計算核心集合為Set_Execute_B={EPCBl,EPCB2, EPCB3, EPCB4},那么映射關(guān)系如下:
[0104]EVCl,EVC5 映射到 EPCBl 上執(zhí)行;
[0105]EVC2, EVC6 映射到 EPCB2 上執(zhí)行;
[0106]EVC3, EVC7 映射到 EPCB3 上執(zhí)行;
[0107]EVC4, EVC8 映射到 EPCB4 上執(zhí)行。[0108]最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。
【權(quán)利要求】
1.一種基于虛擬計算和數(shù)據(jù)優(yōu)化的混沌并行數(shù)據(jù)的加密方法,其特征在于,包括: 51、建立混沌方程,對數(shù)據(jù)進行劃分,得到劃分后的數(shù)據(jù)集,并確定虛擬計算核心集合; 52、判斷所述數(shù)據(jù)集與所述虛擬計算核心集合的差值,根據(jù)所述差值與零的大小,確定執(zhí)行態(tài)虛擬計算核心集合,并建立數(shù)據(jù)集與執(zhí)行態(tài)虛擬計算核心的靜態(tài)映射關(guān)系; 53、根據(jù)并行系統(tǒng)中物理計算核心集合建立執(zhí)行態(tài)物理計算核心集合,并建立所述執(zhí)行態(tài)虛擬計算核心集合到所述執(zhí)行態(tài)物理計算核心集合的靜態(tài)映射關(guān)系,執(zhí)行態(tài)虛擬計算核心獲取所述混沌方程的密鑰并執(zhí)行數(shù)據(jù)加密。
2.根據(jù)權(quán)利要求1所述的基于虛擬計算和數(shù)據(jù)優(yōu)化的混沌并行數(shù)據(jù)的加密方法,其特征在于,所述混沌方程的密鑰包括: 初始混沌方程中的初始參數(shù)和混沌方程中初始的控制參數(shù)。
3.根據(jù)權(quán)利要求2所述的基于虛擬計算和數(shù)據(jù)優(yōu)化的混沌并行數(shù)據(jù)的加密方法,其特征在于,所述對數(shù)據(jù)進行劃分之前進一步包括: 設(shè)定數(shù)據(jù)塊基本單位長度、虛擬計算核心的數(shù)量以及所述混沌方程的初始循環(huán)迭代次數(shù); 所述對數(shù)據(jù)進行劃分具體包括:根據(jù)所述數(shù)據(jù)塊基本單位長度對數(shù)據(jù)進行劃分; 所述確定虛擬計算核心集合具體包括:根據(jù)所述虛擬計算核心的數(shù)量對所述虛擬計算核心集合進行確定。
4.根據(jù)權(quán)利要求3所述的基于虛擬計算和數(shù)據(jù)優(yōu)化的混沌并行數(shù)據(jù)的加密方法,其特征在于, 根據(jù)所述初始混沌方程中的初始參數(shù)和所述初始混沌方程中的控制參數(shù)對所述初始混沌方程進行初始循環(huán)迭代次數(shù)的迭代后,再繼續(xù)進行虛擬計算核心的數(shù)量次迭代,形成每個虛擬計算核心中混沌方程的迭代初始參數(shù)和迭代控制參數(shù)。
5.根據(jù)權(quán)利要求3所述的基于虛擬計算和數(shù)據(jù)優(yōu)化的混沌并行數(shù)據(jù)的加密方法,其特征在于,步驟S2具體包括: 當(dāng)所述差值大于O時,則所述執(zhí)行態(tài)虛擬計算核心集合為所述虛擬計算核心集合; 當(dāng)所述差值小于O時,則對所述虛擬計算核心集合進行標注,得到所述執(zhí)行態(tài)虛擬計算核心集合。
6.根據(jù)權(quán)利要求4所述的基于虛擬計算和數(shù)據(jù)優(yōu)化的混沌并行數(shù)據(jù)的加密方法,其特征在于,步驟S3中所述執(zhí)行態(tài)虛擬計算核心獲取所述混沌方程的密鑰并執(zhí)行混沌數(shù)據(jù)加密具體包括: 531、對所述形成每個虛擬計算核心中混沌方程進行初始循環(huán)迭代次數(shù)的迭代,獲得所述混沌方程的密鑰; 532、根據(jù)獲得的所述混沌方程的密鑰,將劃分后得到的所述數(shù)據(jù)集分配到所述執(zhí)行態(tài)虛擬計算核心集合中進行加密或者解密。
7.根據(jù)權(quán)利要求6所述的基于虛擬計算和數(shù)據(jù)優(yōu)化的混沌并行數(shù)據(jù)的加密方法,其特征在于,所述將劃分后得到的所述數(shù)據(jù)集分配到所述執(zhí)行態(tài)虛擬計算核心集合中的分配關(guān)系為:所述數(shù)據(jù)集與所述執(zhí)行態(tài)虛擬計算核心集合的映射關(guān)系。
【文檔編號】H04L9/00GK103973427SQ201310379191
【公開日】2014年8月6日 申請日期:2013年8月27日 優(yōu)先權(quán)日:2013年8月27日
【發(fā)明者】劉嘉輝, 宋大華, 孫廣路, 何勇軍, 李巖 申請人:哈爾濱理工大學(xué)