媒體公關中基于可變S盒的加密算法

在信息安全領域,人們提出了大量的安全理論和算法實踐。但是,由于這些研究具有很強的保密性,因此,可供直接使用的可行加密算法并不多。同時,考慮到這一領域的特殊性,任何即使是第一手的加密算法也不會直接使用,而是先加以研究并改造成適合自己需要、能完全控制的加密算法。為此,我們提出了一種基于可變S盒子的加密算法,并把它應用于媒體公關中。

一、可變S盒分組密碼算法

分組密碼由于它具有很高的加密強度以及它在設計上具有很大的靈活性而得到廣泛應用。然而,傳統(tǒng)的分組密碼算法由于采用不變的加密輪結構和固定的S盒子,從而使它易受差分攻擊,我們提出的分組密碼算法采用了變化的加密輪結構及可變S盒子,從而在保持高加密強度的同時提高了算法的抗差分攻擊的能力。

數據加密的基本原理是將密文盡可能地分散到待加密信息中去。香農提出的擴散(diffusion)和混亂(confusion)理論是各種加密算法的基石。加密的主要操作有異或、模2加(減)和移位等。

1、加密算法總體結構

在本加密算法中,待加密數據(明文)和密鑰均為64位。首先,把64位數據分成兩個j32位數據Ri、Li并開始做16輪的代替一置換等加密操作。這一輪加密操作完成后送到下一輪做加密操作,如圖1所示。

左邊的32位數據厶與加密函數F(Ri,Ki)做邏輯異或運算,運算結果與右邊的32位數據R相交換并送到下一級做新的加密操作。在這里,數據的左右交換操作并不是為了增加算法的加密強度,而是為使算法的加解密操作具有對稱性,從而可以避免再去設計新的解密算法。這與對稱密鑰體制是一致的。下面我們考察一下具體的加密過程。

2、交替變化的加密結構

32位數據(Ri或Li)進入具有不同加密結構的加密池做四輪加密操作。本算法采用兩種不同的加密環(huán)Ring O和Ring 1,用這兩個加密環(huán)做四輪加密。操作總共有6種不同的排列方法,但它們具有一樣的加密強度。本加密算法選用Ring0→Ringl→Ring0→Ring1的多輪加密結構。整個加密池如圖2所示。

加密環(huán)Ring0和加密環(huán)Ring1的加密操作是不一樣的。這里采用四輪循環(huán)加密結構是為加密解密的算法對稱性設計的。

3、深入加密環(huán)

為盡可能快地把密鑰擴散到明文中去,本加密算法采用了多重蝶形置換結構。加密環(huán)Ring0的結構如圖3所示。

首先,待加密的32位數據分成四個字節(jié):BO—B3并分別與第一個8位密鑰k0做異或操作以使密碼融合到待加密數據中去。前面兩個字節(jié)做異或操作后的結果再做異或操作并與第二個8位密鑰K。一起送入S盒子做加密運算。S盒子的運算使得密鑰進一步擴散開來,S盒子的運算結果再做一次異或操作并與第四個8位密鑰K,做模2加。

加密環(huán)Ring 1的結構與Ring 0的結構類似。只是在數據流上要倒過來,并且把模2加換成模2減,另外,密鑰是K4、K7。這樣做的目的也是為了使加密解密算法一致。

4、可變S盒子

在Feistel網絡中,一個S盒子是一個替換運算矩陣:將m位的輸入映射為n位的輸出。m.n稱為S盒子的容量,在一定范圍內,當容量越太時,算法的抗差分攻擊和線性攻擊的能力就越強。S盒子起著混亂的作用。

根據本源多項式。一個8位的S盒子最多可以有2的8次方-2=254個可用狀態(tài)(狀態(tài)0和255不可用)。如果某S盒子的本源多項式為X8+X4+X2+X+1,則S盒子的線性移位寄存器組成如圖4所示。

5、加密算法的強度

通常,用密鑰或明文改變一位情況下,輸出密文改變的位數相對明文數據長度的比率來表示一個加密算法的測試結果如表1所示。

由表1可知,瞬時加密強度為59.38%。

也就是說,在數據變化1位時大約有一半多的數據要發(fā)生變化。因此,這種加密算法強度是比較大的。

6、抗差分攻擊和線性攻擊的能力

本加密算法具有很強的抗差分攻擊能力和較好的抗線性攻擊能力。由于采用了可變S盒子,而S盒子的輸出與密鑰緊密相關并且隨密鑰不同而不同。另外,由于多媒體數據具有很大的隨機性,所以,差分攻擊對本算法基本上不起作用。

對于線性攻擊,其抵抗能力與DES等分組加密算法是一樣的。但是,如果S盒子設計得當,那么算法將具有很好的抗線性攻擊能力。不過,設計不好的S盒子將降低其抗線性攻擊的能力。

二、加密算法的實現

該加密算法在Xilinx公司的XC2S50TQ144系列FPGA內部得到實現。軟件平臺為Xilinx公司的Foundation 4.1i集成開發(fā)環(huán)境(IDE)??紤]到算法的通用性及可移植性,我們使用Verilog語言,它是一種類似于C語言的硬件描述語言(HDL),其語法及數據操作與C語言非常相似并有所擴展。在底層,我們用它來實現算法;而在高層則用原理圖來與一些外圍邏輯及芯片引腳相銜接。

整個加密算法耗去FPGA中78%的可配置邏輯塊33MHz。系統(tǒng)總體工作良好,加解密速度快效率高,整體性能優(yōu)異。如果對算法作進一步的優(yōu)化,則加密解密性能將會更好。

三、多媒體數據加密解密

媒體數據在打包成為IP包之前加密。也就是說,IP包數據域的內容在解密之前是無法使用的。這樣做的好處是,可以不使用HTTPS、IPSec等安全傳輸協(xié)議,加密后的數據直接在IP網上傳輸即可。

由于多媒體數據具有很大的隨機性,因此,這一點有利于信息隱藏。實踐表明,對于隨機分布型的數據,即密鑰長度稍短,破解難度相對較大。本文提出的加密算法完全能夠實現多媒體數據安全通信的要求。

小知識之媒體公關

通過協(xié)調企業(yè)(組織)與媒體的需求與價值取向,使雙方的利益最大化,最大可能地達到企業(yè)(組織)的傳播目標和媒體的信息(報道)需求。