一種基于隨機(jī)矩陣的密文提取的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)安全領(lǐng)域,具體涉及一種提取密文文件的方法。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的日益發(fā)展,網(wǎng)絡(luò)上每天會(huì)產(chǎn)生大量的數(shù)據(jù),如何保證這些數(shù)據(jù)的安全成為一個(gè)很大的問(wèn)題;與此同時(shí),云計(jì)算的應(yīng)用也受到了數(shù)據(jù)機(jī)密性風(fēng)險(xiǎn)的阻礙,解決這些問(wèn)題最直接的想法是對(duì)數(shù)據(jù)進(jìn)行加密,以保證數(shù)據(jù)的機(jī)密性。此外,完整性和可用性也是安全數(shù)據(jù)所應(yīng)該具備的特性,在云計(jì)算中數(shù)據(jù)共享的應(yīng)用場(chǎng)景下,更要要求數(shù)據(jù)的機(jī)密性、完整性、可用性。
[0003]目前,針對(duì)上述場(chǎng)景下的數(shù)據(jù)安全問(wèn)題,已經(jīng)有很多相關(guān)的議題,如文件的可信性刪除、訪問(wèn)控制、完整性驗(yàn)證等,也有一些技術(shù)被應(yīng)用于解決上述問(wèn)題,常見(jiàn)的技術(shù)有屬性加密、屬性簽名、門(mén)限秘密共享、拉格朗日插值多項(xiàng)式等等。
[0004]文獻(xiàn)《基于屬性加密的組合文檔安全自毀方案》發(fā)表于《電子學(xué)報(bào)》2014年2月第二期(366-375),在該文獻(xiàn)中,作者采用了拉格朗日插值多項(xiàng)式來(lái)提取文件,并設(shè)計(jì)了一個(gè)門(mén)限,利用DHT自動(dòng)丟棄節(jié)點(diǎn)的功能來(lái)實(shí)現(xiàn)文檔分量的刪除,從而實(shí)現(xiàn)文檔的安全自毀。該方案中采用的拉格朗日插值多項(xiàng)式,是門(mén)限秘密共享的基礎(chǔ),但同時(shí)也存在一些效率上的問(wèn)題,于是想要設(shè)計(jì)一種更為簡(jiǎn)潔高效的算法,實(shí)現(xiàn)密文提取,并保證數(shù)據(jù)的機(jī)密性、完整性、可用性。
[0005]在現(xiàn)有的重加密技術(shù)中,許多都是針對(duì)對(duì)稱(chēng)密鑰進(jìn)行二次加密的,因?yàn)樵嘉募鄬?duì)較大,所以考慮到效率問(wèn)題,需要用對(duì)稱(chēng)加密;為了實(shí)現(xiàn)簽名、訪問(wèn)控制等功能,需要引入公鑰體制的加密算法,如屬性加密ABE,二次加密的信源一般都是對(duì)稱(chēng)密鑰,而經(jīng)過(guò)對(duì)稱(chēng)加密得到的密文都會(huì)直接地存放在云服務(wù)器中,基于云服務(wù)器是好奇的這樣的假設(shè),數(shù)據(jù)的機(jī)密性是無(wú)法通過(guò)一次對(duì)稱(chēng)加密得到良好的保護(hù)。
[0006]為了更好地保護(hù)數(shù)據(jù)地安全,設(shè)計(jì)一種基于隨機(jī)矩陣的密文提取的方法。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的是要提供一種具有加密功能的密文提取算法。本發(fā)明可以解決非對(duì)稱(chēng)加密的效率問(wèn)題,并且充分保護(hù)數(shù)據(jù)的機(jī)密性:通過(guò)對(duì)本發(fā)明的實(shí)施,可以將一個(gè)經(jīng)過(guò)一次對(duì)稱(chēng)加密的數(shù)據(jù)進(jìn)行再一次亂序重組,達(dá)到重加密的效果,保證數(shù)據(jù)的機(jī)密性;針對(duì)小文件實(shí)施非對(duì)稱(chēng)加密來(lái)保證數(shù)據(jù)的完整性,并且保證了非對(duì)稱(chēng)加密的效率;此外,隨機(jī)矩陣的引入,記錄了對(duì)密文提取的位置,解密的過(guò)程中可以恢復(fù)出原始的數(shù)據(jù),保證了數(shù)據(jù)的可用性。
[0008]為了實(shí)現(xiàn)上述目的,本發(fā)明設(shè)計(jì)密文分割模塊和密文重組模塊兩個(gè)模塊,分別完成將密文文件按照固定大小分割成若干個(gè)密文分量,以及按照隨機(jī)矩陣隨機(jī)地組合密文分量,形成兩個(gè)文件。
[0009]本發(fā)明的主要工作步驟如下:
[0010]步驟1:根據(jù)給定參數(shù),生成隨機(jī)矩陣;
[0011]步驟2:設(shè)定分割粒度g,按照分割粒度大小將密文分割成若干個(gè)密文分量;
[0012]步驟3:為步驟2中輸出的密文分量按順序標(biāo)號(hào);
[0013]步驟:4:從隨機(jī)矩陣中選取一行,作為提取的依據(jù);
[0014]步驟5:從已標(biāo)號(hào)的密文分量中選取對(duì)應(yīng)的密文分量;
[0015]步驟6:合并提取的密文分量和剩余的密文分量,形成提取密文分量和剩余密文分量。
[0016]本發(fā)明將經(jīng)過(guò)一次對(duì)稱(chēng)加密的密文分割成了兩個(gè)部分,這兩部分大小相差較大:隨機(jī)矩陣的維數(shù)η是定義在系統(tǒng)初始化階段,不可改變;通過(guò)控制分割粒度g的大小,可以控制密文分量的總個(gè)數(shù)m,使得m大于甚至遠(yuǎn)大于η。
[0017]為了恢復(fù)原始的密文文件,必須得到兩部分分量,因此可以只針對(duì)較小的提取密文分量進(jìn)行進(jìn)一步地加密和運(yùn)算,而較大部分的剩余密文分量可以直接存放在云服務(wù)器中,即使攻擊者獲取也毫無(wú)意義,因?yàn)閮?nèi)容已經(jīng)被打亂,變得沒(méi)有意義。
[0018]本發(fā)明的有益效果是能很好地保證數(shù)據(jù)的機(jī)密性、可用性以及完整性:通過(guò)置換手段改變文件中二進(jìn)制序列的排列順序,使得剩余密文分量不可讀或者讀到其內(nèi)容也無(wú)法解釋其意義,達(dá)到加密的效果,保證了數(shù)據(jù)的機(jī)密性;為了保證數(shù)據(jù)的完整性,可以對(duì)提取密文分量實(shí)施簽名,由于提取密文分量比較小,利用公鑰密碼算法實(shí)施簽名,在效率上優(yōu)于直接對(duì)原始密文進(jìn)行簽名;雖然本發(fā)明將密文的結(jié)構(gòu)經(jīng)過(guò)了一系列置換變換,但是隨機(jī)矩陣記錄了提取密文的位置,通過(guò)隨機(jī)密文提取向量,可以恢復(fù)出原始的密文文件,這保證了數(shù)據(jù)的可用性。
【附圖說(shuō)明】
;
[0019]圖1基于隨機(jī)矩陣的密文提取方法的工作流程
[0020]圖中1.隨機(jī)矩陣,2.隨機(jī)密文提取向量,3.原始密文文件,4.提取密文分量,5.剩余密文分量。
【具體實(shí)施方式】
[0021]以下提供本發(fā)明一種基于隨機(jī)矩陣的密文重加密算法的【具體實(shí)施方式】,共提供1個(gè)實(shí)施例,但本發(fā)明不限于所提供的實(shí)施例。
[0022]實(shí)施例1
[0023]步驟1:按照要求生產(chǎn)成隨機(jī)矩陣,該矩陣將會(huì)由授權(quán)中心秘密地保存,隨機(jī)矩陣的引入,是為了省去每一次隨機(jī)提取向量的生成,從而提高效率;要求矩陣中的每一行都沒(méi)有重復(fù)的元素,矩陣中所有的元素都必須是充分隨機(jī)的,在這一步驟中,將會(huì)得到一個(gè)ηΧη秘密矩陣;
[0024]步驟2:確定一個(gè)分割粒度g (如2KB)作為密文分量的大小,根據(jù)密文文件的大小f,分割粒度的大小也應(yīng)該有所不同,按照這一分割粒度將文件分成分割成m個(gè)密文分量,其中m = f/g,在這一步驟中,將會(huì)輸出m個(gè)密文分量;
[0025]步驟3:將步驟2中輸出的m個(gè)密文分量從1開(kāi)始標(biāo)號(hào),最后一個(gè)文件塊標(biāo)號(hào)為m,標(biāo)號(hào)是為了給隨機(jī)地提取提供依據(jù),在這一步驟中,將會(huì)輸出標(biāo)了號(hào)的m個(gè)密文分量;
[0026]步驟4:在隨機(jī)矩陣中隨機(jī)地選取某一行,稱(chēng)為隨機(jī)密文提取向量,將該向量中的元素值作為提取密文分量的依據(jù),在這一步驟中,將會(huì)輸出一個(gè)隨機(jī)密文提取向量;
[0027]步驟5:根據(jù)步驟4輸出的隨機(jī)密文提取向量中元素值,在m個(gè)密文分量中的對(duì)應(yīng)位置,選取密文分量,提取的密文分量的個(gè)數(shù)就是向量中元素的個(gè)數(shù)n,在這一步驟中,將輸出兩組密文分量,分別是提取出的密文分量和剩余的密文分量;
[0028]步驟6:將步驟5輸出的η個(gè)提取出的密文分量和(m_n)個(gè)剩余的密文分量進(jìn)行合并,最后分別輸出提取密文分量和剩余密文分量。
【主權(quán)項(xiàng)】
1.一種基于隨機(jī)矩陣的密文提取的方法,其特征在于,包括密文分割模塊和密文重組模塊;其中, 所述密文分割模塊,用于順序地將密文分割成大小相同的塊; 所述密文重組模塊,用于隨機(jī)地組合不同的塊并形成兩個(gè)密文的分量。2.根據(jù)權(quán)利要求1所描述的基于隨機(jī)矩陣的密文提取的方法,其特征是,所述密文分割模塊具體包括: 密文分割單元,用于將密文文件分割稱(chēng)為若干個(gè)大小相同的密文分量; 密文分量標(biāo)號(hào)單元,用于為上述分割獲得的密文分量進(jìn)行標(biāo)號(hào)。3.根據(jù)權(quán)利要求1所描述的基于隨機(jī)矩陣的密文提取的方法,其特征是,所述密文重組模塊具體包括: ηΧη秘密矩陣,用于確定所要提取的密文分量; 密文分量合并單元,用于合并提取出的密文分量。4.一種如權(quán)利要求1所述的基于隨機(jī)矩陣的密文提取的方法,其特征在于,包括以下步驟: 步驟1:生成隨機(jī)矩陣; 步驟2:按照固定大小將密文分解成大小相同的若干個(gè)密文分量; 步驟3:為所有的密文分量按順序標(biāo)號(hào); 步驟:4:從隨機(jī)矩陣中選取一行,作為提取的依據(jù); 步驟5:從已標(biāo)號(hào)的密文分量中選取對(duì)應(yīng)的密文分量; 步驟6:合并提取的密文分量和剩余的密文分量,形成提取密文分量和剩余密文分量。
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種基于隨機(jī)矩陣的密文提取的方法,該算法主要包括密文分割和密文重組兩個(gè)模塊,分別用于順序地將密文分割成大小相同的塊和隨機(jī)地組合不同的塊并形成兩個(gè)密文的分量,其中隨機(jī)化是由隨機(jī)矩陣來(lái)完成。本方法可以很好地保證數(shù)據(jù)的機(jī)密性、完整性、可用性,適用于云計(jì)算中數(shù)據(jù)共享的應(yīng)用場(chǎng)景。
【IPC分類(lèi)】H04L9/06, H04L9/32
【公開(kāi)號(hào)】CN105376054
【申請(qǐng)?zhí)枴緾N201510830869
【發(fā)明人】陳偉, 王燚, 劉鑫忠
【申請(qǐng)人】電子科技大學(xué)
【公開(kāi)日】2016年3月2日
【申請(qǐng)日】2015年11月25日