西南石油大學(xué) 肖迪尹 付 紅
DES加密算法在通信中的運(yùn)用
西南石油大學(xué) 肖迪尹 付 紅
信息的安全問題在網(wǎng)絡(luò)時(shí)代顯得尤為重要。數(shù)據(jù)加密算法對(duì)數(shù)據(jù)進(jìn)行加密保護(hù),防止數(shù)據(jù)被竊取或篡改。本文對(duì)DES加密算法的原理進(jìn)行了簡(jiǎn)要介紹,并探討了DES算法在信息安全領(lǐng)域應(yīng)用的優(yōu)化。
加密理論;DES算法;信息安全;DES優(yōu)化
數(shù)據(jù)加密算法是為確保信息與信息之間進(jìn)行傳輸?shù)谋C苄耘c安全性而設(shè)計(jì)的。隨著計(jì)算機(jī)技術(shù)迅猛發(fā)展,當(dāng)前社會(huì)已進(jìn)入信息化時(shí)代。在人們的日常生活工作中,信息已逐漸成為不可或缺的重要資源,因此信息保密的問題顯得至關(guān)重要。無(wú)論是在軍事、金融、政府還是個(gè)人通信,都希望能確保信息安全。即使在傳輸過程中數(shù)據(jù)被截獲或竊取,也能保證信息內(nèi)容的隱蔽性。
數(shù)據(jù)加密,就是將信息隱藏。其基本過程是按某種加密算法將作為明文的文件或數(shù)據(jù)進(jìn)行處理,得到一段不可讀的代碼,通常被稱為“密文”。只有通過相應(yīng)的解密密鑰進(jìn)行解密后,才能顯示出原來(lái)的明文內(nèi)容。圖1表示了這個(gè)過程。
圖1
加密算法按密鑰的不同分為兩大類:“對(duì)稱加密”和“非對(duì)稱加密”。
對(duì)稱加密算法也稱私鑰加密算法,其特點(diǎn)是加密效率高、加密速度快。在對(duì)稱加密算法中,加密和解密過程使用的是同一密鑰,因此其算法的安全性在很大程度上依賴于密鑰的保密性。若利用對(duì)稱加密保證數(shù)據(jù)安全,那么在數(shù)據(jù)進(jìn)行傳輸前,通信雙方必須先商定密鑰,并對(duì)確定的密鑰進(jìn)行妥善保存。一旦一方密鑰泄露,那么整個(gè)通信過程就會(huì)被破解。數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryption Standard,DES)就是一種典型的對(duì)稱加密體制。
在非對(duì)稱加密算法中,加密和解密過程需要兩個(gè)不同的密鑰。一個(gè)用于加密(公開密鑰,簡(jiǎn)稱“公鑰”),一個(gè)用于解密(私有密鑰,簡(jiǎn)稱“私鑰”)。用公鑰加密的數(shù)據(jù)只能用對(duì)應(yīng)的私鑰解密;反之,用私鑰加密的數(shù)據(jù)也只能用對(duì)應(yīng)公鑰解密。公鑰是對(duì)外公布的,可以發(fā)送給任意請(qǐng)求方。而私鑰只能為一方安全保管,不能外泄。這就解決了在數(shù)據(jù)傳輸過程中,對(duì)稱加密算法密鑰傳輸?shù)陌踩詥栴}。但非對(duì)稱加密算法在加密和解密過程中花費(fèi)時(shí)間長(zhǎng),其速度遠(yuǎn)低于對(duì)稱加密算法,只適合對(duì)少量數(shù)據(jù)進(jìn)行加密。
DES是一種分組加密算法,對(duì)以64bit為一組的數(shù)據(jù)加密處理。算法的入口參數(shù)有三:Data、Key、Mode。Key為64位的密鑰,Data為64位的數(shù)據(jù),而Mode則表示是加密過程還是解密過程。因?yàn)槊荑€中每個(gè)字節(jié)的第8位為奇偶校驗(yàn)位,不參與DES算法運(yùn)算,故密鑰的實(shí)際有效位數(shù)只有56位。
首先對(duì)Key進(jìn)行處理獲得加密所需子密鑰Ki。根據(jù)密鑰置換表,將輸入的64位密鑰變成56位密鑰(去除奇偶校驗(yàn)位),并分為C0、Do兩部分,各28位長(zhǎng)。對(duì)C0、Do分別進(jìn)行循環(huán)左移得到C1、D1,將C1、D1合并進(jìn)行壓縮置換,得到48位子密鑰K1。對(duì)Ci、Di重復(fù)以上操作16次,得到16個(gè)48位子密鑰。
圖2 過程圖
通過初始置換IP將輸入的64位明文Data重新排序后再進(jìn)行分組,得到各32位長(zhǎng)的Lo、Ro兩部分。然后開始加密處理,過程如圖2所示。
加密過程的算法描述:
DES加密算法因?yàn)榧用芩俣瓤烨宜惴ü_,在衛(wèi)星通信、視頻傳輸、網(wǎng)關(guān)服務(wù)器等多個(gè)領(lǐng)域都有廣泛應(yīng)用。針對(duì)當(dāng)前網(wǎng)絡(luò)通信領(lǐng)域中信息安全的需求,對(duì)DES加密算法進(jìn)行一定優(yōu)化,使其加密速率在百兆以太網(wǎng)等中低端應(yīng)用具有實(shí)際意義。
DES是以多輪密鑰變換和多輪密鑰+數(shù)據(jù)的乘積變換(密碼函數(shù)f)為核心的對(duì)稱加密算法。將核心部分用硬件實(shí)現(xiàn)作為一個(gè)運(yùn)算單元,采用高速流水線方案來(lái)提高算法加密效率。因?yàn)镈ES加密算法需要進(jìn)行16輪密鑰變換和乘積變換,所以需要16個(gè)運(yùn)算單元。將這16個(gè)運(yùn)算單元按時(shí)序級(jí)聯(lián)的方式構(gòu)成全流水線的結(jié)構(gòu)。在此結(jié)構(gòu)下,每個(gè)數(shù)據(jù)塊在本級(jí)運(yùn)算單元經(jīng)過處理后,不需要額外等待時(shí)間,便能立即進(jìn)入流水線下級(jí)運(yùn)算單元進(jìn)行運(yùn)算。而本級(jí)運(yùn)算單元可接收上一級(jí)流水線運(yùn)算單元的輸出并立即處理。理想情況下,每個(gè)時(shí)鐘周期將會(huì)有16個(gè)數(shù)據(jù)塊串行在流水線上進(jìn)行處理。全流水線結(jié)構(gòu)與無(wú)流水線結(jié)構(gòu)相比,使得數(shù)據(jù)處理的速度被提升了16倍。若考慮硬件資源有限的問題,可以利用分時(shí)復(fù)用,重復(fù)16次調(diào)用一個(gè)硬件運(yùn)算單元,實(shí)現(xiàn)DES加密操作??蓪⒈綝ES設(shè)計(jì)加入到以太網(wǎng)、WLAN等通信模塊的接口來(lái)實(shí)現(xiàn)信息安全。
一些保密問題涉及到個(gè)人賬戶安全和商業(yè)機(jī)密,近年來(lái)以信息的竊取為主要特征的犯罪活動(dòng)呈現(xiàn)出逐年上升的趨勢(shì),給人們帶來(lái)了巨大的經(jīng)濟(jì)損失。由此掀起的信息戰(zhàn)也成為這場(chǎng)信息的保密較量中的必然產(chǎn)物。相信隨著信息保密問題的核心密碼理論和密碼技術(shù)進(jìn)一步更新,也將給人們的信息時(shí)代的生活狀態(tài)提供更可靠的保障。
[1]王昭,段云所,陳鐘.數(shù)據(jù)加密算法的原理與應(yīng)用[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2001(02):58-64.
[2]馬廣利.計(jì)算機(jī)數(shù)據(jù)通信對(duì)DES數(shù)據(jù)加密算法的應(yīng)用[J].產(chǎn)業(yè)與科技論壇,2015,14(5):45-46.
[3]葛淑杰,喬付,任建民.計(jì)算機(jī)網(wǎng)絡(luò)通信安全的數(shù)據(jù)加密算法分析[J].黑龍江科技學(xué)院學(xué)報(bào),2011,11(2):22-24.
[4]應(yīng)君,朱俊達(dá),陳抗生.DES加密算法在低成本FPGA上的實(shí)現(xiàn)[J].電子器件,2006(03):895-897+901.