国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

.net平臺下基于xml文檔格式的RC5加解密算法研究與實現(xiàn)

2012-08-06 12:51劉城霞
關(guān)鍵詞:加解密明文加密算法

劉城霞

1 北京信息科技大學(xué)計算機(jī)學(xué)院 北京 100101

2 北京郵電大學(xué)計算機(jī)學(xué)院 北京 100876

0 前言

隨著通信的飛速發(fā)展,信息安全也越來越顯得重要。計算機(jī)密碼體制的基本思想就是將要保護(hù)的信息變成偽裝信息,只有合法的接收者才能從中得到真實的信息。密碼體制有對稱密鑰體制和非對稱密鑰體制之分,RC5加密算法為對稱密鑰體制,對RC5的應(yīng)用研究也非常廣泛,比如在通信中、在無線傳感器中等都有相關(guān)的應(yīng)用和研究。本文所重點研究的是在.NET環(huán)境下使用RC5加密算法對某標(biāo)準(zhǔn)XML格式文檔進(jìn)行文檔級、段落級、句級的加解密操作,并保證加、解密后文檔仍保持原格式及內(nèi)容。

1 RC5算法介紹

1.1 RC5 加密解密的理論過程

(1) 創(chuàng)建密鑰組,RC5算法加密時使用了2r+2個密鑰相關(guān)的32位字。這里r表示加密的輪數(shù)。首先將密鑰字節(jié)拷貝到32位字的數(shù)組L中,然后利用線性同余發(fā)生器模2初始化數(shù)組S,最后將L與S混合。

(2)加密處理,創(chuàng)建完密鑰組后對明文的加密,加密時首先將明文分組劃分為兩個32位字:A和B,其中操作符<<<表示循環(huán)左移,加運(yùn)算是模2w的加法。加密偽代碼如下:

其中初始的A、B分別為要加密的兩個比特數(shù)為w的數(shù)據(jù),最終的A、B分別為加密好的兩個比特數(shù)為w的數(shù)據(jù)。輸出的密文是在寄存器A和B中的內(nèi)容。

(3) 解密處理,把密文分組劃分為兩個字:A和B,這里符合>>>是循環(huán)右移,減運(yùn)算也是模2w的減法。

其中初始A、B中的數(shù)據(jù)就是已經(jīng)加密了的比特數(shù)為w的數(shù)據(jù),最終的A、B中的數(shù)據(jù)為解密后的比特數(shù)為w的數(shù)據(jù)。

1.2 RC5的安全性分析

對于加解密算法來說,安全性是它最重要的一個性能之一,本文中使用的RC5算法的安全性依賴于旋轉(zhuǎn)操作和多種運(yùn)算的混合使用。要想攻擊RC5,可以去攻擊原始的密鑰也可以攻擊其擴(kuò)展的密鑰組S。以差分分析為例,當(dāng)輪數(shù)r很小時,差分分析可以恢復(fù)擴(kuò)展密鑰表的每一個比特。但當(dāng)r=9時,攻擊RC5-32所需的選擇明文對是245(與16輪DES相同),而當(dāng)r=12時,需要262個明文對。因此,當(dāng)輪數(shù)很大時,差分分析所需要的明文個數(shù)就不大現(xiàn)實了。在論文“對RC5加密算法的差分分析”中,對RC5加密算法進(jìn)行了差分分析,并得出了結(jié)論, 12輪加密足以抗擊對RC5的差分分析。當(dāng)然人們也在RC5的基礎(chǔ)上不斷改進(jìn),比如RC6,R3C等,對它們的性能也有新的分析。

2 系統(tǒng)功能模塊設(shè)計

按照RC5算法的理論,在設(shè)計系統(tǒng)加解密功能時,將分成四個模塊進(jìn)行:密鑰成生,加密,解密和密鑰擴(kuò)展。密鑰生成模塊生成符合要求長度(從128-512不等)的一個初始密鑰,此密鑰可由隨機(jī)函數(shù)生成。加密模塊由兩部分組成,一部分用于32位分組長度的加密,另一部分用于64位分組的長度的加密。解密模塊類似與加密模塊,也對應(yīng)32位分組長度的解密和64位分組的長度的解密兩個部分。密鑰擴(kuò)展模塊是將初始密鑰通過一系列的混合以及運(yùn)算轉(zhuǎn)換成能直接用于加解密的子密鑰數(shù)組,是算法安全性保證的重要元素(如圖1)。

圖1 系統(tǒng)功能模塊圖

系統(tǒng)中是針對XML格式文檔進(jìn)行的加解密,因此除了加解密外還要完成XML文檔的解析和組織。節(jié)點解析模塊使用DOM技術(shù),對給定的節(jié)點進(jìn)行解析,提取出相關(guān)的信息,并將這些信息交與加解密模塊進(jìn)行相應(yīng)的處理。節(jié)點組織模塊將密文和密鑰信息按照W3C中關(guān)于XML文檔節(jié)點加密標(biāo)準(zhǔn)進(jìn)行格式化的組織,產(chǎn)生一個可識別的,規(guī)范化的XML加密節(jié)點。

另外,由于加解密模塊和解析模塊的輸入輸出的數(shù)據(jù)類型不一致,需要一個數(shù)據(jù)轉(zhuǎn)換的模塊來完成數(shù)據(jù)轉(zhuǎn)換功能,保證模塊之間數(shù)據(jù)傳輸正常。

3 系統(tǒng)實現(xiàn)

3.1 RC5基本算法實現(xiàn)

下面介紹RC5加解密算法的具體實現(xiàn),其中密鑰生成比較簡單,主要介紹密鑰擴(kuò)展模塊,加密模塊。

(1) 密鑰擴(kuò)展

以生成一個作用于32位加密解密過程需要的子密鑰組為例,該密鑰擴(kuò)展函數(shù)可供不同加密輪數(shù)的32位加解密過程使用,其中的輸入?yún)?shù)r為需要加密的輪數(shù)。

密鑰擴(kuò)展函數(shù)的作用在于將初始的密鑰進(jìn)行轉(zhuǎn)換,將其變成適用于RC5加密或者解密過程中所需要的類型的大小,即產(chǎn)生RC5算法加解密時使用了2r+2個密鑰相關(guān)的32位字。

(2) 加密過程

以32位分組加密的過程為例,按照RC5算法理論來進(jìn)行實現(xiàn)的偽代碼。其中A,B為兩個明文分組,各兩個字符,S為擴(kuò)展的子密鑰數(shù)組,r為操作的輪數(shù)。

解密過程是加密過程的逆過程,這里不再贅述。

3.2 節(jié)點解析與組織

關(guān)于XML節(jié)點的操作,采用DOM技術(shù)來完成。創(chuàng)建節(jié)點的偽代碼如下:

由于XML中對于密鑰和密文的顯示,需要采取base64格式,因此需要再次把字符串轉(zhuǎn)換成base64格式,上述方法中關(guān)于此的代碼為:

4 結(jié)果展示

最終一個可供其他系統(tǒng)的調(diào)用的完成RC5加解密功能的系統(tǒng)完成了。為了測試其功能,用C#實現(xiàn)了其演示系統(tǒng)。在明文輸入框的下方有兩個區(qū)域,左邊為演示程序的功能選擇部分,右邊的區(qū)域顯示的是加密過程所選擇的各種參數(shù)的數(shù)值。在輸入明文后可以轉(zhuǎn)換為Unicode,然后進(jìn)行參數(shù)的選擇。選擇完參數(shù)以后,將用戶所選擇的參數(shù)顯示在參數(shù)選擇區(qū)域。如圖2所示。

圖2 主界面參數(shù)選擇后的顯示

點擊加密后,密文顯示在密文內(nèi)容處。如需要驗證解密功能,則點擊解密,解密后結(jié)果顯示在解密內(nèi)容處。如圖3所示。

圖3 加解密結(jié)果圖

通過對系統(tǒng)的測試,系統(tǒng)能夠正確對標(biāo)準(zhǔn)格式的XML文檔進(jìn)行RC5的加解密操作。

5 總結(jié)

通過對RC5算法的研究和XML文檔加解密標(biāo)準(zhǔn)的研究,系統(tǒng)完成了將XML格式文檔進(jìn)行RC5加解密的基本工作。系統(tǒng)將加解密過程生成了DLL文件格式,這增加了它的可移植性,方便了其他系統(tǒng)直接調(diào)用。此外,對XML文檔的加密標(biāo)準(zhǔn)遵循W3C國際標(biāo)準(zhǔn),這增強(qiáng)了系統(tǒng)的通用性和國際性。

[1] 楊波.現(xiàn)代密碼學(xué)[M].北京:清華大學(xué)出版社.2003.

[2] 陳飛,徐榮聰.RC5 循環(huán)覆蓋鏈算法及其在通信保密中的應(yīng)用[J].福州大學(xué)學(xué)報(自然科學(xué)版).2004.

[3] 關(guān)學(xué)忠,孫勝勇,郭小勇,劉傳家,楊靜.RC5 加密算法在智能無線傳感器中的應(yīng)用[J].現(xiàn)代電子技術(shù).2008.

[4] 劉勝利,王育民.對rc5加密算法的差分分析[J].信息安全與通信保密.1998.

[5] 姜浩.從RC5到RC6[J].信息安全與通信保密.2006.

[6] 何文才,牛曉蕾,劉培鶴,杜鵬,張媛媛.密碼算法RC5 和RC6的分析和比較.網(wǎng)絡(luò)安全技術(shù)與應(yīng)用.2007.

[7] 張婭莉,黃德成.RC5到RC6的演化設(shè)計[J].荊門職業(yè)技術(shù)學(xué)院學(xué)報.2007.

[8] World Wide Web Consortium (W3C). XML 文檔國際加解密標(biāo)準(zhǔn).http://www.w3.org/Ecryption/.

猜你喜歡
加解密明文加密算法
奇怪的處罰
混沌參數(shù)調(diào)制下RSA數(shù)據(jù)加密算法研究
PDF中隱私數(shù)據(jù)的保護(hù)方法
HES:一種更小公鑰的同態(tài)加密算法
電子取證中常見數(shù)據(jù)加解密理論與方法研究
奇怪的處罰
基于FPGA的LFSR異步加解密系統(tǒng)
基于小波變換和混沌映射的圖像加密算法
四部委明文反對垃圾焚燒低價競爭
網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)募咏饷芟到y(tǒng)研究