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