◆楊虹
一種新型數(shù)據(jù)加密方法——數(shù)字?jǐn)D壓加密法
◆楊虹
(遼寧警察學(xué)院 遼寧 116036)
數(shù)字?jǐn)D壓加密是以矩陣數(shù)據(jù)為基礎(chǔ),對(duì)數(shù)據(jù)進(jìn)行對(duì)稱加密并進(jìn)行數(shù)據(jù)有規(guī)律的擠壓,形成一種加密方法,經(jīng)過(guò)多次不同方式的擠壓后,形成一個(gè)加密數(shù)據(jù)包。此加密技術(shù)簡(jiǎn)單,可以解決對(duì)稱加密和非對(duì)稱加密的弱點(diǎn),做到一次一密鑰,增加破解難度,為數(shù)據(jù)加密提供一個(gè)新的思路。
數(shù)據(jù)擠壓;加密方法;對(duì)稱加密
隨著計(jì)算機(jī)技術(shù)飛速發(fā)展,計(jì)算機(jī)技術(shù)已應(yīng)用到各行各業(yè)。計(jì)算機(jī)的處理能力不斷提高,出現(xiàn)了智能計(jì)算機(jī)。對(duì)數(shù)據(jù)處理的要求也越來(lái)越嚴(yán)苛,包括數(shù)據(jù)精準(zhǔn)度、數(shù)據(jù)防盜性等,進(jìn)而數(shù)據(jù)的加密倍受重視。加密工作者相繼尋找更加簡(jiǎn)潔、方便、快捷的加密方法,下文將介紹一種有效、實(shí)用的矩陣擠壓加密方法。
目前,世界上加密技術(shù)主要分為兩種,一種是對(duì)稱加密,一種是非對(duì)稱加密。近些年來(lái),以矩陣形式進(jìn)行加密的方法應(yīng)運(yùn)而生,這些不同的加密方法廣泛地應(yīng)用在計(jì)算機(jī)網(wǎng)絡(luò)、大數(shù)據(jù)以及智能政務(wù)、智能警務(wù)等領(lǐng)域中。隨之而來(lái)的是對(duì)信息的可靠性、保密性以及準(zhǔn)確性的要求更高,為此對(duì)計(jì)算機(jī)的信息進(jìn)行加密就顯得非常重要。加密技術(shù)不斷更新,同時(shí)也不斷地被破解,這就要求計(jì)算機(jī)加密技術(shù)更加完善,達(dá)到不可破解的目的。
對(duì)稱加密方法的加密順序與解密順序是互逆的,其代表的加密方法有AES、DES等。對(duì)稱加密的特點(diǎn)是一個(gè)密鑰、簡(jiǎn)單、運(yùn)算速度快,缺點(diǎn)是字長(zhǎng)較短的數(shù)據(jù)容易被破解,字長(zhǎng)較長(zhǎng)的數(shù)據(jù)加密效果很好。破解對(duì)稱加密的數(shù)據(jù)一般采用窮舉法,所以字長(zhǎng)較長(zhǎng)的數(shù)據(jù)很難破解。
非對(duì)稱加密是利用數(shù)學(xué)算法求解原數(shù)據(jù),是不可逆的,其代表加密方法有RSA、PGP、SET、SSL等。非對(duì)稱加密的特點(diǎn)是兩個(gè)密鑰、算法復(fù)雜、運(yùn)算速度慢,對(duì)字長(zhǎng)較短的數(shù)據(jù)加密效果好,缺點(diǎn)是字長(zhǎng)較長(zhǎng)的數(shù)據(jù)運(yùn)算時(shí)間長(zhǎng),影響計(jì)算機(jī)運(yùn)算速度。
那么,能找到一種將兩種算法相結(jié)合的加密方法是加密研究人員主要的研究方向。數(shù)據(jù)擠壓加密方法很好地解決了兩者之間的矛盾,使得數(shù)據(jù)加密具有對(duì)稱加密的優(yōu)點(diǎn),又具有短字長(zhǎng)的數(shù)據(jù)不易破解的功能,達(dá)到理想加密數(shù)據(jù)的效果。
現(xiàn)有兩個(gè)數(shù)字,一個(gè)是數(shù)字a,一個(gè)是數(shù)字b,數(shù)字b可以擠壓到數(shù)字a的左側(cè)、右側(cè)、上面或者下面四個(gè)位置,如圖1所示。
數(shù)據(jù)擠壓加密是將數(shù)據(jù)排列成矩陣形式,例如a為n×m的數(shù)據(jù)矩陣,如圖2所示。
圖1 數(shù)字b擠壓到數(shù)字a的四個(gè)位置示意圖
圖2 數(shù)據(jù)矩陣a
對(duì)數(shù)據(jù)矩陣a進(jìn)行數(shù)據(jù)擠壓,可以得到一個(gè)變化后的新矩陣,原矩陣大小可以自由選定,矩陣數(shù)據(jù)為平面數(shù)據(jù),就像紙張一樣可以對(duì)折。當(dāng)對(duì)數(shù)據(jù)進(jìn)行左右對(duì)折時(shí),數(shù)據(jù)a1,1和數(shù)據(jù)a1,m重合、數(shù)據(jù)a1,2與數(shù)據(jù)a1,m-1重合,依此類(lèi)推,數(shù)據(jù)擠壓后,a1,m、a1,m-1……,分別排列到a1,1、a1,2、……的下一行,矩陣第二行數(shù)據(jù)也是如此,直至矩陣最后一行數(shù)據(jù)重新排列完成,即將數(shù)據(jù)擠壓到矩陣中去。矩陣a左右對(duì)折、數(shù)據(jù)下移擠壓的結(jié)果如圖3所示。此例為采用圖1(d)所示的擠壓位置,將擠壓數(shù)據(jù)排在下一行,實(shí)際上根據(jù)圖1可以得到變化后不同形式的數(shù)據(jù)矩陣。
圖3 矩陣a左右對(duì)折、數(shù)據(jù)下移擠壓結(jié)果
如果矩陣是上下折疊,數(shù)據(jù)經(jīng)過(guò)擠壓后得出以下形式:
最后一行數(shù)據(jù)與第一行數(shù)據(jù)位交錯(cuò)存放,第二行數(shù)據(jù)與倒數(shù)第二行數(shù)據(jù)位交錯(cuò)存放,依此類(lèi)推,將矩陣數(shù)據(jù)擠壓存放完畢。若采用圖1(b)所示的擠壓位置,矩陣a上下對(duì)折、數(shù)據(jù)右移擠壓的結(jié)果如圖4所示。
圖4 矩陣a上下對(duì)折、數(shù)據(jù)右移擠壓結(jié)果
利用這種方法可以反復(fù)幾次的擠壓數(shù)據(jù),得到一個(gè)完全不同排列的數(shù)據(jù)矩陣。這種擠壓數(shù)據(jù)方法為對(duì)稱加密方法,由于矩陣的數(shù)據(jù)塊a可以相繼進(jìn)行多次擠壓進(jìn)行加密,因此,增加了破解難度。
根據(jù)圖1還可以得到多個(gè)矩陣同時(shí)擠壓,即4個(gè)矩陣對(duì)a矩陣進(jìn)行擠壓,一次性填寫(xiě)完成一個(gè)單元數(shù)據(jù)上、下、左、右的擠壓。
眾所周知,以目前技術(shù)4096位加密數(shù)據(jù)是無(wú)法解密的,采用矩陣數(shù)據(jù)擠壓加密,可以得到一個(gè)遠(yuǎn)遠(yuǎn)大于4096位(個(gè))的數(shù)據(jù)。假設(shè)采用64*64的數(shù)據(jù)矩陣,用數(shù)字?jǐn)D壓方法進(jìn)行加密,并且是左右對(duì)折,其中一行加密變化全排列為432=264,64行數(shù)據(jù)應(yīng)該是64個(gè)264相乘,即24096,這個(gè)數(shù)值遠(yuǎn)遠(yuǎn)大于4096。類(lèi)似地,如果是8*8的數(shù)據(jù)矩陣進(jìn)行擠壓加密,可以得到變化的全排列為264。因此,對(duì)于n*m的數(shù)據(jù)矩陣來(lái)說(shuō),需要破解難度系數(shù)為2n*m。
由于數(shù)字?jǐn)D壓加密沒(méi)有采用任何數(shù)學(xué)公式和邏輯運(yùn)算,要想破解這種加密數(shù)據(jù),只能采用窮舉法,而數(shù)據(jù)擠壓加密解決了傳統(tǒng)對(duì)稱加密存在數(shù)據(jù)位短容易破解的缺點(diǎn),同時(shí)也解決傳統(tǒng)非對(duì)稱加密存在數(shù)據(jù)位長(zhǎng)運(yùn)算速度慢的問(wèn)題,這種加密方法利用數(shù)據(jù)批處理功能,對(duì)數(shù)據(jù)塊整體處理,統(tǒng)一打包,得到一個(gè)無(wú)法破解的數(shù)據(jù)包
要想破解采用此加密方法加密的數(shù)據(jù)包必須獲得兩個(gè)內(nèi)容。一是公鑰和密鑰,公鑰和私鑰是破解加密重要環(huán)節(jié),此方法利用公鑰和私鑰之和得到數(shù)據(jù)擠壓加密方法(加密順序表)。二是矩陣的行、列值,根據(jù)行、列值才能得到矩陣折疊(對(duì)半)數(shù)據(jù)在什么位置。
數(shù)據(jù)擠壓加密方法可以是一個(gè)數(shù)據(jù)包對(duì)應(yīng)不同的密鑰值,如8+2=10,10就對(duì)應(yīng)一種固定加密順序,也可以用7+3=10,可以看出10就是一個(gè)固定加密方法,而8和7都作為公鑰,那么2和3分別是私鑰,這樣兩個(gè)數(shù)據(jù)包有兩個(gè)公鑰和兩個(gè)私鑰,用同樣方法可以得到很多的公鑰和私鑰。
在實(shí)際加密應(yīng)用中,一個(gè)加密密鑰對(duì)應(yīng)一個(gè)數(shù)據(jù)包,不同數(shù)據(jù)包各自有自己的密鑰,這是最理想的加密方法。
各種加密方法具有以下特點(diǎn):
(1)對(duì)稱加密,多數(shù)是邏輯運(yùn)算、圖形等形式出現(xiàn)。
(2)非對(duì)稱加密,多數(shù)是數(shù)學(xué)計(jì)算公式等。
(3)對(duì)稱加密的缺點(diǎn),對(duì)字長(zhǎng)短的數(shù)字容易被破解。
(4)非對(duì)稱加密對(duì)字長(zhǎng)長(zhǎng)的數(shù)據(jù)計(jì)算時(shí)間過(guò)長(zhǎng),影響計(jì)算機(jī)運(yùn)算速度。
(5)解決對(duì)稱與非對(duì)稱加密之間的矛盾,不是一件易事。
擠壓數(shù)據(jù)加密屬于對(duì)稱加密,采用多數(shù)據(jù)同時(shí)處理,擠壓加密,以矩陣數(shù)據(jù)為基礎(chǔ),行、列數(shù)據(jù)可以根據(jù)需求隨意變動(dòng),也就是說(shuō)矩陣大小不固定,加密順序也不固定,根據(jù)公鑰和私鑰之和確定加密方法,無(wú)運(yùn)算公式,類(lèi)似圖形加密方法。
此加密方法雖然屬于對(duì)稱加密,但是可以通過(guò)增加數(shù)據(jù)位數(shù)克服對(duì)稱加密數(shù)據(jù)位短易破解的問(wèn)題。同時(shí),此加密方法避免了非對(duì)稱加密方法在數(shù)據(jù)位較長(zhǎng)的情況下運(yùn)算復(fù)雜的問(wèn)題。擠壓加密方法是對(duì)稱加密,因此運(yùn)算速度極快。
利用這種加密方法有效解決對(duì)稱加密和非對(duì)稱加密之間難以解決的矛盾問(wèn)題。把位數(shù)短的數(shù)據(jù)通過(guò)矩陣形式,有效連接起來(lái),達(dá)到增加位數(shù)的目的。
由于擠壓加密方法采用矩陣為基礎(chǔ)的數(shù)據(jù),數(shù)據(jù)個(gè)數(shù)或位數(shù)遠(yuǎn)遠(yuǎn)大于4096個(gè)數(shù)據(jù)或(4096位的數(shù)據(jù)),目前世界公認(rèn)當(dāng)數(shù)據(jù)位數(shù)大于4096位數(shù)時(shí),將無(wú)法破解。理論上擠壓加密方法的矩陣可以無(wú)限大,因此,擠壓加密方法是無(wú)法用現(xiàn)代計(jì)算機(jī)技術(shù)破解的。
如果將擠壓加密方法進(jìn)行擴(kuò)展,擴(kuò)展成立體數(shù)據(jù)存放形式,這樣對(duì)數(shù)據(jù)進(jìn)行上、下、左、右的數(shù)據(jù)層分別進(jìn)行擠壓加密,可以達(dá)到更好的效果,實(shí)現(xiàn)加密數(shù)據(jù)保密性的提高。
矩陣數(shù)字?jǐn)D壓加密方法是一種簡(jiǎn)潔、方便、快捷的加密方法,這種加密方法可以應(yīng)用在大數(shù)據(jù)處理、云計(jì)算、數(shù)據(jù)庫(kù)、圖像處理、通信領(lǐng)域等多方面的領(lǐng)域中,尤其是在智慧政務(wù)、智慧警務(wù)等智能應(yīng)用領(lǐng)域,可以保障數(shù)據(jù)的完整性、唯一性。應(yīng)用此加密算法確保網(wǎng)絡(luò)傳輸中數(shù)據(jù)的安全性。該加密方法無(wú)論應(yīng)用在何種領(lǐng)域,都能做到加密過(guò)程中的數(shù)據(jù)處理簡(jiǎn)單,不易被破解,適應(yīng)與各種字節(jié)長(zhǎng)度的加密,具有很好的保密性,數(shù)字?jǐn)D壓時(shí)具有很強(qiáng)的靈活性,因此矩陣數(shù)字?jǐn)D壓方法將會(huì)成為一種很好的加密方法。
[1]魏占禎,穆文博,曹浩.基于SIP協(xié)議VoIP系統(tǒng)安全問(wèn)題的研究與分析[J].北京電子科技學(xué)院學(xué)報(bào),2017.
[2]祝竹.實(shí)用函數(shù)加密算法研究與應(yīng)用[D].浙江理工大學(xué),2017.
[3]程顯毅,張啟杰,耿飆. 基于語(yǔ)義水印的數(shù)字簽名算法[J].計(jì)算機(jī)應(yīng)用研究,2009.
[4]楊晨.計(jì)算機(jī)網(wǎng)絡(luò)安全中數(shù)據(jù)加密技術(shù)的應(yīng)用研究[J].電腦知識(shí)與技術(shù),2020.
[5]蔣澤宇.淺談密碼學(xué)及其在計(jì)算機(jī)網(wǎng)絡(luò)安全中的作用[J].價(jià)值工程,2020.
[6]古宜平,馬昌社.支持聯(lián)合查詢的高效可搜索對(duì)稱加密方案[J].華南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2020.
[7]陳月俠.計(jì)算機(jī)網(wǎng)絡(luò)安全中數(shù)據(jù)加密技術(shù)的應(yīng)用[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2020.
[8]Xingyuan Wang.Suo GaoImage encryption algorithm based on the matrix semi-tensor product with a compound secret key produced by a Boolean network[J]. Information Sciences,2020.