網(wǎng)絡(luò)高效安全數(shù)據(jù)傳輸方法設(shè)計
2.2 構(gòu)造哈夫曼編碼表
獲得一個文件的哈夫曼編碼表是該文件獲得壓縮與解壓的關(guān)鍵。設(shè)某個文件中含有q種字符S1,S2,…,Sq,并且統(tǒng)計出每種字符在文件中出現(xiàn)的概率分別為p(S1),p(S2),…,p(Sq),則編碼的具體方法如下:
(1)將q個信源符號按概率大小遞減排列p(S1)≥p(S2)≥…≥p(Sq);
(2)用字符‘O’和‘1’分別代表概率最小的2個信源符號,并將這2個概率最小的信源符號合并成1個信源符號,從而得到只包含q-1個符號的新信源,稱為縮減信源S1;
(3)把縮減信源S1的符號仍按概率大小遞減次序排列,再將其最后兩個概率最小的信源符號分別用字符‘O’和‘1’表示,并且合并成一個符號,這樣又形成了q-2個信源符號的縮減信源S2;
(4)依次繼續(xù)下去,直至信源最后只剩下兩個信源符號為止,將這最后兩個信源符號分別用字符‘O’和‘1’表示;
(5)然后從最后一級縮減信源開始,進(jìn)行回推就得到每種字符所對應(yīng)的由字符‘O’和‘1’組成的字符串序列,不妨將其稱為偽碼字。
這樣,就為需要壓縮的文件建立了一個一一映射f:Si→ci=1,2,…,q。式中:Si代表不同的字符,ci代表對應(yīng)字符Si的偽碼字。
為了將偽碼字變成真正的碼字,又必須建立一個映射g:ci→ω,i=1,2,…,q。式中:ci代表不同的字符,(ωi代表對應(yīng)字符ci的碼字。該映射g 的功能是將由字符串組成的偽碼字變成二進(jìn)制數(shù),比如g(010110)=(010110)2=(22)10。從而g[f(Si)],i=1,2,…,q,就是構(gòu)造的哈夫曼編碼表。
2.3 文件壓縮過程
每從文件中讀出一個字符char,用查哈夫曼編碼表的方式得到對應(yīng)的碼字,然后用這個碼字替換相應(yīng)的字符g[f(char)]。當(dāng)文件中的所有字符都經(jīng)過了碼字替換,則得到一個比原文件要小的壓縮文件。文件之所以能夠被壓縮,是因為每個字符都占8個二進(jìn)制位的空間。然而,通過碼字替換相應(yīng)的字符后,有的碼字比相應(yīng)的字符的碼長要短,有的碼字比相應(yīng)的字符的碼長要長,但文件在被壓縮后總的長度比原來要短。
2.4 文件解壓過程
文件的解壓過程是文件的壓縮過程的逆過程,即將一個壓縮文件還原成它的本來面目。因為一個壓縮文件是不能夠直接使用的,只有被解壓后才能使用。一個被壓縮的文件如果不能被解壓,則這種壓縮是毫無意義的。
哈夫曼編碼是即時碼,只要得到碼字c,則經(jīng)查哈夫曼編碼表得到相應(yīng)字符f-1(g-1(c)),用這個字符替換相應(yīng)的碼字就是還原的過程。因此,每從壓縮文件中讀出一個碼字,就從哈夫曼編碼表查得相應(yīng)的字符替換,當(dāng)文件中所有的碼字被替換掉,這個解壓過程也就完成了。
3 高效網(wǎng)絡(luò)安全傳輸方法設(shè)計
一個高效的數(shù)據(jù)傳輸系統(tǒng)必須保證數(shù)據(jù)在傳輸中的安全和可靠,包括信息的保密性、完整性,同時在實現(xiàn)數(shù)據(jù)傳輸中占用更少的資源。所以數(shù)據(jù)加密傳輸?shù)姆桨钢袘?yīng)包括對發(fā)送端數(shù)據(jù)的有效加密、密鑰的分配、傳輸數(shù)據(jù)的壓縮。下面主要從信息的壓縮、保密性幾個方面來考慮數(shù)據(jù)加密傳輸系統(tǒng)中的加密方案。
從哈夫曼編碼壓縮的過程可以看出,經(jīng)過該方法壓縮的數(shù)據(jù)必須使用壓縮形成的哈夫曼編碼樹才能解壓縮。對于不同的源文件,由于文件內(nèi)容的不同,形成的哈夫曼編碼樹不同。數(shù)據(jù)傳輸?shù)倪^程中需要同時傳輸壓縮數(shù)據(jù)包和相應(yīng)的哈夫曼編碼樹結(jié)構(gòu)。相對于壓縮數(shù)據(jù)包,哈夫曼編碼樹的節(jié)點數(shù)大大小于數(shù)據(jù)文件的數(shù)據(jù)量,如果只對哈夫曼編碼樹進(jìn)行加密,加密和解密需要處理的數(shù)據(jù)量將大大減少,對于不對稱加密算法無法處理大量數(shù)據(jù)的限制也可被克服。在數(shù)據(jù)傳輸中需要傳輸?shù)臄?shù)據(jù)量比壓縮之前需要傳輸?shù)臄?shù)據(jù)量大大降低,可以節(jié)省大量的網(wǎng)絡(luò)資源。在大規(guī)模的數(shù)據(jù)安全傳輸中,可以提高數(shù)據(jù)傳輸?shù)男屎桶踩浴?br /> 在信息的保密性方面選擇RSA作為哈夫曼編碼加密傳輸系統(tǒng)中傳輸信息的加密算法,采用公鑰加密來發(fā)送哈夫曼編碼。
具體的數(shù)據(jù)傳輸實現(xiàn)的框架如圖1所示。
安全數(shù)據(jù)傳輸?shù)母鱾€模塊的功能如下:
對需要傳輸?shù)拿魑臄?shù)據(jù)進(jìn)行哈夫曼壓縮,壓縮完成后產(chǎn)生哈夫曼編碼樹的代碼集合;用哈夫曼代碼集合對原明文代碼集合進(jìn)行壓縮轉(zhuǎn)換;對哈夫曼代碼集合進(jìn)行RSA算法的公鑰加密;傳輸加密后的哈夫曼代碼集合和壓縮代碼集合;接收端收到數(shù)據(jù)后,使用私鑰解密哈夫曼
代碼集合;使用哈夫曼代碼集合接壓縮形成解壓文件。
4 結(jié)語
在數(shù)據(jù)安全傳輸過程中,通過對哈夫曼壓縮后的明文數(shù)據(jù)進(jìn)行改進(jìn)的加密,克服了非對稱加密算法加密大數(shù)據(jù)量文件的缺點,保持了非對稱加密的安全性。通過壓縮減少了數(shù)據(jù)傳輸?shù)臄?shù)據(jù)量,節(jié)省了網(wǎng)絡(luò)帶寬的開銷,提高了數(shù)據(jù)傳輸?shù)男省_@種方法非常適合大量的數(shù)據(jù)進(jìn)行互聯(lián)網(wǎng)絡(luò)安全傳輸。此種方法只有在明文文件中數(shù)據(jù)的種類及出現(xiàn)的概率都完全相同的極端情況下,數(shù)據(jù)的傳輸效率才會降到最低。
本文引用地址:http://m.butianyuan.cn/article/156856.htm
評論