一種高效數(shù)據(jù)壓縮加密系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)信息安全領(lǐng)域,具體涉及一種高效數(shù)據(jù)壓縮加密系統(tǒng)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)、云計(jì)算技術(shù)的發(fā)展,越來越多的數(shù)據(jù)需要存儲(chǔ)和傳輸,而這些海量數(shù)據(jù)的存儲(chǔ)和傳輸成本都非常高,同時(shí)在傳輸時(shí)還面臨數(shù)據(jù)被竊取的風(fēng)險(xiǎn),為了緩解這個(gè)問題,通常在數(shù)據(jù)進(jìn)行存儲(chǔ)和傳輸前會(huì)對數(shù)據(jù)進(jìn)行壓縮加密處理,經(jīng)過壓縮后的數(shù)據(jù)不但可以大幅度提高磁盤的有效容量,降低互聯(lián)網(wǎng)數(shù)據(jù)中心的成本,同時(shí)保證了壓縮數(shù)據(jù)的安全性。
[0003]根據(jù)現(xiàn)今的密碼分析學(xué)知識,ECC加密算法被公認(rèn)是目前已知的公鑰密碼體制中每bit提供加密強(qiáng)度最高的一種,這就意味著越小的密鑰尺寸能產(chǎn)生等價(jià)的安全性。與傳統(tǒng)的RSA加密算法相比,ECC具有安全性更高、計(jì)算量小、處理速度快、寸儲(chǔ)空間占用少、帶寬要求低等優(yōu)點(diǎn)。所以在考慮如何壓縮后數(shù)據(jù)傳輸?shù)陌踩詥栴}上,選用了 ECC加密算法。
[0004]當(dāng)前,壓縮技術(shù)可以簡單的分為有損壓縮和無損壓縮,有損壓縮多用于視頻、音頻等領(lǐng)域,無損壓縮則具有通用性,可以運(yùn)用到各個(gè)領(lǐng)域。無損壓縮是指壓縮后的數(shù)據(jù)進(jìn)行重構(gòu),重構(gòu)后的數(shù)據(jù)與原來的數(shù)據(jù)完全相同。經(jīng)調(diào)研發(fā)現(xiàn),典型的無損壓縮算法有LZ77壓縮算法、Huffman編碼、算術(shù)編碼等等。Gzip壓縮原理則同時(shí)應(yīng)用了 LZ77壓縮算法和Huffman編碼。經(jīng)過研宄發(fā)現(xiàn),由于軟件串行執(zhí)行的特點(diǎn),Gzip壓縮算法的優(yōu)越性很難發(fā)揮出來,因此,有針對性的設(shè)計(jì)出一種高效數(shù)據(jù)加密硬件系統(tǒng)可以很好的解決這個(gè)問題,為Gzip算法如何在大數(shù)據(jù)處理環(huán)境中兼顧壓縮效率和數(shù)據(jù)安全的問題提供解決方案。
【發(fā)明內(nèi)容】
[0005]本發(fā)明針對上述技術(shù)問題提出了一種高效數(shù)據(jù)壓縮加密系統(tǒng)。本發(fā)明將高效數(shù)據(jù)壓縮與ECC加密算法有機(jī)結(jié)合起來,可以根據(jù)實(shí)際情況選擇不同的壓縮及加密方法來實(shí)現(xiàn)數(shù)據(jù)的壓縮與保護(hù),能夠應(yīng)對復(fù)雜場合下對大數(shù)據(jù)的壓縮及加密需求。
[0006]本發(fā)明的技術(shù)方案如下:
[0007]本發(fā)明提供了一種高效硬件數(shù)據(jù)加密系統(tǒng),包括數(shù)據(jù)輸入控制模塊、數(shù)據(jù)緩存模塊、壓縮加密模塊以及數(shù)據(jù)輸出控制模塊,所述數(shù)據(jù)輸入控制模塊輸入數(shù)據(jù)以及控制信號,并存儲(chǔ)在數(shù)據(jù)緩存模塊中,其特征在于:所述壓縮加密模塊包括壓縮方式控制模塊、通用Gzip壓縮模塊、專用Gzip壓縮模塊、加密模塊以及專用Gzip壓縮加密模塊;
[0008]所述壓縮方式控制模塊從數(shù)據(jù)緩存模塊中讀取數(shù)據(jù)以及控制信號,根據(jù)控制信號確定壓縮及加密方式并將數(shù)據(jù)傳輸給相應(yīng)的壓縮及加密模塊;
[0009]所述通用Gzip壓縮模塊接收壓縮方式控制模塊傳輸過來的數(shù)據(jù),對數(shù)據(jù)進(jìn)行通用Gzip壓縮后,根據(jù)壓縮方式控制模塊選擇的壓縮及加密方式輸出至加密模塊或者數(shù)據(jù)輸出控制模塊;
[0010]所述專用Gzip壓縮模塊對通用Gzip壓縮模塊中的LZ77匹配壓縮模塊采用3個(gè)32k的blockram構(gòu)成字典,將文件連續(xù)讀入壓縮核,設(shè)置了 12次或16次回溯次數(shù);所述專用Gzip壓縮模塊接收壓縮方式控制模塊傳輸過來的數(shù)據(jù),對數(shù)據(jù)進(jìn)行專用Gzip壓縮后,輸出至加密模塊;
[0011 ] 所述專用Gzip壓縮加密模塊,將專用Gzip壓縮算法和加密算法進(jìn)行整合,對壓縮方式控制模塊傳輸過來的數(shù)據(jù)進(jìn)行專用Gzip壓縮,在壓縮過程中將敏感數(shù)據(jù)輸出至加密模塊并取回加密后的數(shù)據(jù);
[0012]所述加密模塊,用于對壓縮后的數(shù)據(jù)采用加密算法進(jìn)行加密,將不同壓縮模塊傳輸過來的數(shù)據(jù)進(jìn)行加密后輸出至數(shù)據(jù)輸出控制模塊。
[0013]所述數(shù)據(jù)緩存模塊,包括3個(gè)隨機(jī)存取存儲(chǔ)器(RAM),每個(gè)隨機(jī)存取存儲(chǔ)器的寬度為8字節(jié)(Byte),用于緩存接口傳輸過來的特定長度的數(shù)據(jù)同時(shí)為壓縮模塊提供待壓縮數(shù)據(jù)源。
[0014]所述壓縮方式控制模塊,根據(jù)輸入的控制信號在多種壓縮及加密模式之間進(jìn)行選擇,包括通用Gzip壓縮無加密模式、通用Gzip壓縮松耦合加密模式、專用Gzip壓縮松耦合加密模式和專用Gzip壓縮緊耦合加密模式。
[0015]所述通用Gzip壓縮模塊包括匹配預(yù)處理模塊、LZ77匹配壓縮模塊和Huffman編碼模塊;匹配預(yù)處理模塊的控制信號和數(shù)據(jù)總線與壓縮方式控制模塊相連,LZ77匹配壓縮模塊的控制信號和數(shù)據(jù)總線與匹配預(yù)處理模塊相連,Huffman編碼模塊的控制信號和數(shù)據(jù)總線與LZ77匹配壓縮模塊相連;
[0016]所述匹配預(yù)處理模塊根據(jù)所述數(shù)據(jù)緩存模塊提供的數(shù)據(jù)來計(jì)算哈希值,并將哈希值和匹配后的結(jié)果提供給所述LZ77匹配壓縮模塊;
[0017]所述LZ77匹配壓縮模塊根據(jù)哈希值判斷是否匹配,并對待壓縮的數(shù)據(jù)采用LZ77方法進(jìn)行壓縮后提供給Huffman編碼模塊;
[0018]所述Huffman編碼模塊對LZ77匹配壓縮模塊提供的數(shù)據(jù)進(jìn)行編碼。所述專用Gzip壓縮加密模塊包括專用Gzip壓縮模塊和專用ECC加密模塊;專用Gzip壓縮模塊的控制信號和數(shù)據(jù)總線與壓縮方式控制模塊相連,專用ECC加密模塊的控制信號和數(shù)據(jù)總線與專用Gzip壓縮模塊相連。
[0019]所述ECC加密模塊包括加密狀態(tài)機(jī)模塊和ECC點(diǎn)乘模塊;加密狀態(tài)機(jī)模塊的控制信號與壓縮方式控制模塊相連,數(shù)據(jù)總線與通用/專用Gzip壓縮模塊相連,ECC點(diǎn)乘模塊的控制信號和數(shù)據(jù)總線與加密狀態(tài)機(jī)相連;
[0020]所述加密狀態(tài)機(jī)模塊,用于控制ECC點(diǎn)乘模塊504對壓縮后的數(shù)據(jù)進(jìn)行加密處理;所述ECC點(diǎn)乘模塊,包括點(diǎn)加倍點(diǎn)狀態(tài)機(jī)模塊,坐標(biāo)逆變換模塊,模加、模乘、模平方、模逆模塊,按照Montgomery算法用于計(jì)算橢圓曲線上點(diǎn)的坐標(biāo)。
[0021]所述數(shù)據(jù)輸出控制模塊的數(shù)據(jù)總線與ECC加密模塊/通用Gzip壓縮模塊相連,將壓縮及加密后的數(shù)據(jù)和壓縮方式信號輸出至存儲(chǔ)端或接收端。
[0022]所述ECC解密模塊,通用Gzip解壓縮模塊、專用Gzip解壓縮模塊和專用Gzip解壓縮解密模塊,在解壓縮系統(tǒng)中的位置安排和控制可根據(jù)壓縮方式信號呈鏡像對稱進(jìn)行布置,為簡潔起見,這里不再贅述其技術(shù)內(nèi)容。
[0023]本發(fā)明提供了一種高效數(shù)據(jù)壓縮加密系統(tǒng),采用可編程邏輯器件(FPGA)實(shí)現(xiàn)Gzip壓縮算法和ECC加密算法,對Gzip壓縮算法進(jìn)行了針對性改進(jìn),結(jié)合ECC加密算法對壓縮后的數(shù)據(jù)進(jìn)行加密,提供了多種壓縮以及加密方式進(jìn)行選擇,系統(tǒng)根據(jù)輸入信號選擇壓縮以及加密方式,從而有效提高了大數(shù)據(jù)壓縮的處理效率并確保了存儲(chǔ)及傳輸時(shí)的數(shù)據(jù)安全性。
【附圖說明】
[0024]圖1示出本發(fā)明提供的一種高效數(shù)據(jù)壓縮加密系統(tǒng)中各子模塊的連接示意圖;
[0025]圖2示出本發(fā)明提供的數(shù)據(jù)緩存模塊的【具體實(shí)施方式】的結(jié)構(gòu)示意圖;
[0026]圖3示出本發(fā)明提供的通用Gzip壓縮模塊的【具體實(shí)施方式】的結(jié)構(gòu)示意圖;
[0027]圖4示出本發(fā)明提供的專用Gzip壓縮模塊的【具體實(shí)施方式】的結(jié)構(gòu)示意圖;
[0028]圖5示出本發(fā)明提供的ECC加密模塊的【具體實(shí)施方式】的結(jié)構(gòu)示意圖;
[0029]圖6示出本發(fā)明提供的一種高效數(shù)據(jù)壓縮加密系統(tǒng)的壓縮加密流程圖;
[0030]圖7示出本發(fā)明提供的一種高效數(shù)據(jù)壓縮加密系統(tǒng)的解密解壓縮流程圖;
【具體實(shí)施方式】
[0031]下面參照附圖用本發(fā)明的示例性實(shí)施例對本發(fā)明進(jìn)行更全面的描述和說明。
[0032]圖1示出本發(fā)明提供的一種高效數(shù)據(jù)壓縮加密系統(tǒng)的結(jié)構(gòu)示意圖。如圖1所示,一種高效數(shù)據(jù)壓縮加密系統(tǒng)100包括:數(shù)據(jù)輸入控制模塊102、數(shù)據(jù)緩存模塊104、壓縮方式控制模塊106、通用Gzip壓縮模塊108、專用Gzip壓縮模塊110、專用Gzip壓縮加密模塊112,ECC加密模塊114、數(shù)據(jù)輸出控制模塊116,壓縮方式控制模塊、通用Gzip壓縮模塊、專用Gzip壓縮模塊、加密模塊以及專用Gzip壓縮加密模塊共同構(gòu)成壓縮加密模塊。
[0033]其中,數(shù)據(jù)輸入控制模塊102,用于控制接口傳輸過來的數(shù)據(jù)以及控制信號以數(shù)據(jù)組包方式分別緩存到數(shù)據(jù)緩存模塊。其中控制信號和需壓縮的數(shù)據(jù),兩者是相互獨(dú)立的。例如,將接口傳輸過來的數(shù)據(jù)以及控制信號組包成8字節(jié),然后將組包后的數(shù)據(jù)緩存到數(shù)據(jù)緩存模塊。
[0034]數(shù)據(jù)緩存模塊104,用于緩存接口傳輸過來的數(shù)據(jù)以及控制信號同時(shí)為壓縮模塊提供待壓縮數(shù)據(jù)源。例如,將數(shù)據(jù)輸入控制模塊傳輸過來的8字節(jié)數(shù)據(jù)以及控制信號存儲(chǔ)在緩存模塊中,當(dāng)通用/專用Gzip壓縮模塊發(fā)起讀請求時(shí)將數(shù)據(jù)傳輸給通用/專用Gzip壓縮模塊。
[0035]壓縮方式控制模塊106,用于控制壓縮及加密方式的切換選擇。從數(shù)據(jù)緩存模塊中讀取數(shù)據(jù)以及控制信號,根據(jù)控制信號確定壓縮及加密方式并將數(shù)據(jù)傳輸給相應(yīng)的壓縮及加密模塊。例如,根據(jù)使用需求確定該模塊的控制信號,選擇通用Gzip壓縮模式進(jìn)行壓縮。
[0036]通用Gzip壓縮模塊108,接收壓縮方式控制模塊傳輸過來的數(shù)據(jù),用于對待壓縮的數(shù)據(jù)采用符合協(xié)議的Gzip壓縮方法進(jìn)行壓縮;例如,采用通用Gzip壓縮方法對讀取的數(shù)據(jù)進(jìn)行壓縮。然后將壓縮結(jié)果根據(jù)壓縮方式控制模塊選擇的壓縮及加密方式傳輸至ECC加密模塊或數(shù)據(jù)輸出控制模塊。
[0037]專用Gzip壓縮模塊110對通用Gzip壓縮模塊中的LZ77匹配壓縮模塊采用3個(gè)32k的blockram構(gòu)成字典,將文件連續(xù)讀入壓縮核,設(shè)置了 12次或16次回溯次數(shù);用于對待壓縮的數(shù)據(jù)采用專用Gzip壓縮方法進(jìn)行壓縮;例如,針對通用Gzip壓縮方法中的LZ77壓縮部分進(jìn)行改進(jìn),然后使用改進(jìn)后的Gzip壓縮方法壓縮數(shù)據(jù);在進(jìn)行專用壓縮之后,將數(shù)據(jù)輸入到ECC加密模塊中進(jìn)行加密;這兩步構(gòu)成了專用Gzip壓縮松耦合ECC加密模式。
[0038]專用Gzip壓縮加密模塊112,將專用Gzip壓縮算法和加密算法進(jìn)行整合,對數(shù)據(jù)的處理為專用Gzip壓縮緊耦合ECC加密模式。其用于對待壓縮的數(shù)據(jù)采用Gzip壓縮與ECC加密緊密結(jié)合的方法進(jìn)行壓縮加密。例如,在Gzip壓縮的步驟中加入ECC加密的處理,在壓縮過程中將敏感數(shù)據(jù)輸出至加密模塊并取回加密后的數(shù)據(jù)。專用Gzip壓縮緊耦合ECC加密模式與專用Gzip壓縮松耦合ECC加密模式相比,因?yàn)閷嚎s加密模塊糅合在一起,其安全性能更高,被破解的幾率大大減小。
[0039]ECC加密模塊112,用于對壓縮后的數(shù)據(jù)采用ECC方法進(jìn)行加密。例如,對經(jīng)過不同壓縮模塊處理后的數(shù)據(jù)采用ECC算法進(jìn)行加密,然后將加密結(jié)果輸出至數(shù)據(jù)輸出控制模塊。
[0040]數(shù)據(jù)輸出控制模塊114,用于控制壓縮加密后的數(shù)據(jù)傳輸至接口,以便接口讀取壓縮后的數(shù)據(jù)。例如,控制壓縮后的數(shù)據(jù)以8字節(jié)組包的方式傳輸至接口,方便接口處理數(shù)據(jù)。
[0041]圖2示出本發(fā)明提供的數(shù)據(jù)緩存模塊的【具體實(shí)施方式】的結(jié)構(gòu)示意圖。
[0042]如圖2所示,數(shù)據(jù)緩存模塊200包括數(shù)