陳小梅 (賀州學院圖書館,廣西 賀州 542800)
DES算法在數(shù)據(jù)加密中的應用
陳小梅 (賀州學院圖書館,廣西 賀州 542800)
數(shù)據(jù)庫是計算機系統(tǒng)的核心構(gòu)成,聚集了大量有關(guān)用戶的重要信息,保護好數(shù)據(jù)庫安全是維護用戶利益的關(guān)鍵。闡述了DES算法的操作流程,并對該算法應用于數(shù)據(jù)加密技術(shù)進行了分析。
計算機;數(shù)據(jù)加密;DES算法;運用分析
隨著計算機技術(shù)的廣泛運用,信息化時代背景下掌握各種加密算法是保證數(shù)據(jù)安全的有效措施。計算機技術(shù)在全球范圍得到廣泛地運用,為企業(yè)或個人用戶的辦公提供了很大方便,但在計算機技術(shù)普及的過程中也面臨著諸多的安全隱患,如數(shù)據(jù)庫防御系統(tǒng)被攻破會給用戶造成巨大經(jīng)濟損失。因此,保護好數(shù)據(jù)庫安全顯得非常重要。數(shù)據(jù)加密標準(Data Encryption Standard,DES)是由IBM公司研制的一種加密算法,美國國家標準局于1977年將它作為正式數(shù)據(jù)加密標準予以頒布,DES 算法廣泛應用于信用卡持卡人的PIN 的加密傳輸、IC卡與POS 間的雙向認證、金融交易數(shù)據(jù)包的MAC校驗等領(lǐng)域,用以實現(xiàn)關(guān)鍵數(shù)據(jù)的保密[1]。下面,筆者對DES算法在數(shù)據(jù)加密技術(shù)的應用進行了研究*賀州學院院級項目(2010zrky15)。。
圖2 加密算法的數(shù)據(jù)轉(zhuǎn)換流程
DES算法具有獨特對稱密碼體制,其運用于計算機數(shù)據(jù)加密,讓密文轉(zhuǎn)換為明文或明文轉(zhuǎn)換為密文的操作流程更加穩(wěn)定可靠[2]。此外,DES算法把明文轉(zhuǎn)換為密文,其輸出塊、輸入塊、密鑰等均是64位。加密算法的數(shù)據(jù)轉(zhuǎn)換流程如圖2所示。
1.1置換規(guī)則表
傳統(tǒng)加密算法對數(shù)據(jù)塊的編排沒有標準的準則,使得數(shù)據(jù)操作處理沒有明確的參考依據(jù)。置換規(guī)則表的編制為DES加密算法提供了參考,該表是為了將加密的64位數(shù)據(jù)塊按位重新組合,并把輸出分為L0、R02部分,每部分各長32位。運用該表可以引導DES加密算法的科學操作,以保證后期數(shù)據(jù)的準確性,具體內(nèi)容如下[3]:
58,50,42,34,26,18,10,2,60,52,44,36,28,20,12,4,
62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,
57,49,41,33,25,17, 9,1,59,51,43,35,27,19,11,3,
61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7,
1.2功能表
DES算法描述圖中,S1,S2,…,S8為選擇函數(shù),其功能是把56bit數(shù)據(jù)變?yōu)?44bit數(shù)據(jù)。如S1中共有4行數(shù)據(jù),命名為0,1,2,3行;每行有16列,命名為0,1,2,3,…,14、15列。輸入D=D1D2D3D4D5D6,令列為D2D3D4D5,行為D1D6;經(jīng)過處理后從功能表中對應查找,并用4位二進制表示,
即可得到函數(shù)S1的輸出。例如函數(shù)S1的功能表描述如下:
14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7,
0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,
4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0,
15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13,
數(shù)據(jù)加密中引進DES算法應按照標準流程操作,若某個環(huán)節(jié)的加密出現(xiàn)問題,則會給后期的數(shù)據(jù)傳輸埋下安全隱患,破壞了整個傳輸結(jié)構(gòu)的穩(wěn)定性。為此,將DES算法運用于數(shù)據(jù)加密的過程分為加密處理、加密變換、子密鑰生成3個核心環(huán)節(jié)。
2.1加密處理
加密處理是DES算法的首要步驟,也是最為復雜的操作過程。整個處理過程分為以下幾方面:①初期處理。對需要加密的64位的明文進行變換,按照標準的換位表操作,保證明文處理的正確性。②操作處理。整個加密操作經(jīng)過16輪加密變換,把初始換位的64位的輸出當成下一次的輸入,把64位分為左、右2個32位,分別記為L0和R0,從L0、R0到L16、R16,共進行16輪加密變換[4]。③換位處理。換位處理是把L16和R16合成64位的數(shù)據(jù),依據(jù)標準的換位表獲取64位的密文,最后得到的則是加密的結(jié)果。
2.2加密變換過程
加密變換過程是為了將一些需要擴展的數(shù)據(jù)進行優(yōu)化處理,利用重復某些位把32位的右半部分變換為48位,對56位的密鑰進行位移,再將相應的位減少為48位,對48位的右半部分通過異或操作與48位的密鑰結(jié)合,并分成6位的8個分組,通過8個S-盒將這48位替代成新的32位數(shù)據(jù),再將其置換一次。
2.3子密鑰生成過程
計算機數(shù)據(jù)構(gòu)成中,密鑰一般都是以64位的自然數(shù)出現(xiàn)。子密鑰生成的第一步操作是對PC-1壓縮換位,把各個字節(jié)的第8位去除。按照這樣的標準,密鑰去掉第8,16,24,…,64位減至56位,最終得到的密鑰長度只有56位,操作過程中要保證每輪生成48位的子密鑰。
數(shù)據(jù)加密是計算機數(shù)據(jù)庫操作的常用技術(shù),為了保證數(shù)據(jù)信息安全,將DES算法運用于數(shù)據(jù)加密技術(shù)十分重要。今后,應加強相關(guān)內(nèi)容的研究,進一步提高數(shù)據(jù)庫安全性,切實維護用戶利益。
[1]宣克祥.數(shù)據(jù)加密標準(DES)算法與安全性探析[J].產(chǎn)業(yè)與科技論壇,2011,10(6):71-74.
[2]李聯(lián). 信息安全中的DES加密算法[J].現(xiàn)代電子技術(shù),2005(9):117-119.
[3]劉曉星,胡暢霞,劉明生. 安全加密算法DES的分析與改進[J].微計算機信息,2006,25(5):28-31.
[4]普運偉,耿植林,樓靜. 從DES算法論分組密碼的設計原則[J]. 微機發(fā)展, 2005, 15(9)56-59.
[編輯] 李啟棟
10.3969/j.issn.1673-1409(N).2012.04.037
TP309.7
A
1673-1409(2012)04-N106-02
2012-02-17
((1981-),女,2008年大學畢業(yè),館員,現(xiàn)主要從事計算機應用方面的研究工作。