◆楊虹
一種新型數據加密方法——數字擠壓加密法
◆楊虹
(遼寧警察學院 遼寧 116036)
數字擠壓加密是以矩陣數據為基礎,對數據進行對稱加密并進行數據有規律的擠壓,形成一種加密方法,經過多次不同方式的擠壓后,形成一個加密數據包。此加密技術簡單,可以解決對稱加密和非對稱加密的弱點,做到一次一密鑰,增加破解難度,為數據加密提供一個新的思路。
數據擠壓;加密方法;對稱加密
隨著計算機技術飛速發展,計算機技術已應用到各行各業。計算機的處理能力不斷提高,出現了智能計算機。對數據處理的要求也越來越嚴苛,包括數據精準度、數據防盜性等,進而數據的加密倍受重視。加密工作者相繼尋找更加簡潔、方便、快捷的加密方法,下文將介紹一種有效、實用的矩陣擠壓加密方法。
目前,世界上加密技術主要分為兩種,一種是對稱加密,一種是非對稱加密。近些年來,以矩陣形式進行加密的方法應運而生,這些不同的加密方法廣泛地應用在計算機網絡、大數據以及智能政務、智能警務等領域中。隨之而來的是對信息的可靠性、保密性以及準確性的要求更高,為此對計算機的信息進行加密就顯得非常重要。加密技術不斷更新,同時也不斷地被破解,這就要求計算機加密技術更加完善,達到不可破解的目的。
對稱加密方法的加密順序與解密順序是互逆的,其代表的加密方法有AES、DES等。對稱加密的特點是一個密鑰、簡單、運算速度快,缺點是字長較短的數據容易被破解,字長較長的數據加密效果很好。破解對稱加密的數據一般采用窮舉法,所以字長較長的數據很難破解。
非對稱加密是利用數學算法求解原數據,是不可逆的,其代表加密方法有RSA、PGP、SET、SSL等。非對稱加密的特點是兩個密鑰、算法復雜、運算速度慢,對字長較短的數據加密效果好,缺點是字長較長的數據運算時間長,影響計算機運算速度。
那么,能找到一種將兩種算法相結合的加密方法是加密研究人員主要的研究方向。數據擠壓加密方法很好地解決了兩者之間的矛盾,使得數據加密具有對稱加密的優點,又具有短字長的數據不易破解的功能,達到理想加密數據的效果。
現有兩個數字,一個是數字a,一個是數字b,數字b可以擠壓到數字a的左側、右側、上面或者下面四個位置,如圖1所示。
數據擠壓加密是將數據排列成矩陣形式,例如a為n×m的數據矩陣,如圖2所示。

圖1 數字b擠壓到數字a的四個位置示意圖

圖2 數據矩陣a
對數據矩陣a進行數據擠壓,可以得到一個變化后的新矩陣,原矩陣大小可以自由選定,矩陣數據為平面數據,就像紙張一樣可以對折。當對數據進行左右對折時,數據a1,1和數據a1,m重合、數據a1,2與數據a1,m-1重合,依此類推,數據擠壓后,a1,m、a1,m-1……,分別排列到a1,1、a1,2、……的下一行,矩陣第二行數據也是如此,直至矩陣最后一行數據重新排列完成,即將數據擠壓到矩陣中去。矩陣a左右對折、數據下移擠壓的結果如圖3所示。此例為采用圖1(d)所示的擠壓位置,將擠壓數據排在下一行,實際上根據圖1可以得到變化后不同形式的數據矩陣。

圖3 矩陣a左右對折、數據下移擠壓結果
如果矩陣是上下折疊,數據經過擠壓后得出以下形式:
最后一行數據與第一行數據位交錯存放,第二行數據與倒數第二行數據位交錯存放,依此類推,將矩陣數據擠壓存放完畢。若采用圖1(b)所示的擠壓位置,矩陣a上下對折、數據右移擠壓的結果如圖4所示。

圖4 矩陣a上下對折、數據右移擠壓結果
利用這種方法可以反復幾次的擠壓數據,得到一個完全不同排列的數據矩陣。這種擠壓數據方法為對稱加密方法,由于矩陣的數據塊a可以相繼進行多次擠壓進行加密,因此,增加了破解難度。
根據圖1還可以得到多個矩陣同時擠壓,即4個矩陣對a矩陣進行擠壓,一次性填寫完成一個單元數據上、下、左、右的擠壓。
眾所周知,以目前技術4096位加密數據是無法解密的,采用矩陣數據擠壓加密,可以得到一個遠遠大于4096位(個)的數據。假設采用64*64的數據矩陣,用數字擠壓方法進行加密,并且是左右對折,其中一行加密變化全排列為432=264,64行數據應該是64個264相乘,即24096,這個數值遠遠大于4096。類似地,如果是8*8的數據矩陣進行擠壓加密,可以得到變化的全排列為264。因此,對于n*m的數據矩陣來說,需要破解難度系數為2n*m。
由于數字擠壓加密沒有采用任何數學公式和邏輯運算,要想破解這種加密數據,只能采用窮舉法,而數據擠壓加密解決了傳統對稱加密存在數據位短容易破解的缺點,同時也解決傳統非對稱加密存在數據位長運算速度慢的問題,這種加密方法利用數據批處理功能,對數據塊整體處理,統一打包,得到一個無法破解的數據包
要想破解采用此加密方法加密的數據包必須獲得兩個內容。一是公鑰和密鑰,公鑰和私鑰是破解加密重要環節,此方法利用公鑰和私鑰之和得到數據擠壓加密方法(加密順序表)。二是矩陣的行、列值,根據行、列值才能得到矩陣折疊(對半)數據在什么位置。
數據擠壓加密方法可以是一個數據包對應不同的密鑰值,如8+2=10,10就對應一種固定加密順序,也可以用7+3=10,可以看出10就是一個固定加密方法,而8和7都作為公鑰,那么2和3分別是私鑰,這樣兩個數據包有兩個公鑰和兩個私鑰,用同樣方法可以得到很多的公鑰和私鑰。
在實際加密應用中,一個加密密鑰對應一個數據包,不同數據包各自有自己的密鑰,這是最理想的加密方法。
各種加密方法具有以下特點:
(1)對稱加密,多數是邏輯運算、圖形等形式出現。
(2)非對稱加密,多數是數學計算公式等。
(3)對稱加密的缺點,對字長短的數字容易被破解。
(4)非對稱加密對字長長的數據計算時間過長,影響計算機運算速度。
(5)解決對稱與非對稱加密之間的矛盾,不是一件易事。
擠壓數據加密屬于對稱加密,采用多數據同時處理,擠壓加密,以矩陣數據為基礎,行、列數據可以根據需求隨意變動,也就是說矩陣大小不固定,加密順序也不固定,根據公鑰和私鑰之和確定加密方法,無運算公式,類似圖形加密方法。
此加密方法雖然屬于對稱加密,但是可以通過增加數據位數克服對稱加密數據位短易破解的問題。同時,此加密方法避免了非對稱加密方法在數據位較長的情況下運算復雜的問題。擠壓加密方法是對稱加密,因此運算速度極快。
利用這種加密方法有效解決對稱加密和非對稱加密之間難以解決的矛盾問題。把位數短的數據通過矩陣形式,有效連接起來,達到增加位數的目的。
由于擠壓加密方法采用矩陣為基礎的數據,數據個數或位數遠遠大于4096個數據或(4096位的數據),目前世界公認當數據位數大于4096位數時,將無法破解。理論上擠壓加密方法的矩陣可以無限大,因此,擠壓加密方法是無法用現代計算機技術破解的。
如果將擠壓加密方法進行擴展,擴展成立體數據存放形式,這樣對數據進行上、下、左、右的數據層分別進行擠壓加密,可以達到更好的效果,實現加密數據保密性的提高。
矩陣數字擠壓加密方法是一種簡潔、方便、快捷的加密方法,這種加密方法可以應用在大數據處理、云計算、數據庫、圖像處理、通信領域等多方面的領域中,尤其是在智慧政務、智慧警務等智能應用領域,可以保障數據的完整性、唯一性。應用此加密算法確保網絡傳輸中數據的安全性。該加密方法無論應用在何種領域,都能做到加密過程中的數據處理簡單,不易被破解,適應與各種字節長度的加密,具有很好的保密性,數字擠壓時具有很強的靈活性,因此矩陣數字擠壓方法將會成為一種很好的加密方法。
[1]魏占禎,穆文博,曹浩.基于SIP協議VoIP系統安全問題的研究與分析[J].北京電子科技學院學報,2017.
[2]祝竹.實用函數加密算法研究與應用[D].浙江理工大學,2017.
[3]程顯毅,張啟杰,耿飆. 基于語義水印的數字簽名算法[J].計算機應用研究,2009.
[4]楊晨.計算機網絡安全中數據加密技術的應用研究[J].電腦知識與技術,2020.
[5]蔣澤宇.淺談密碼學及其在計算機網絡安全中的作用[J].價值工程,2020.
[6]古宜平,馬昌社.支持聯合查詢的高效可搜索對稱加密方案[J].華南師范大學學報(自然科學版),2020.
[7]陳月俠.計算機網絡安全中數據加密技術的應用[J].網絡安全技術與應用,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.