淺析主流數(shù)字加密技術(shù)

數(shù)字加密技術(shù)的過程由加密算法和密鑰組合完成。其中,密鑰是參與算法實(shí)現(xiàn)過程中的一組關(guān)鍵信息(Key),根據(jù)算法的不同,有時(shí)還要分為公共密鑰和私有密鑰。古老的基于字符替換的古典密碼(算法)已經(jīng)很少使用,目前常用的加密算法按密鑰管理的方式可分為對稱算法、公開密鑰算法。

在信息安全領(lǐng)域,數(shù)字加密(密碼學(xué))是非常重要的一門學(xué)科。信息安全防御的三個(gè)目標(biāo):“進(jìn)不來”、“拿不走”、“看不懂”,在實(shí)現(xiàn)的過程中無不涉及數(shù)字加密,而且最后一道防線“看不懂”更是數(shù)字加密技術(shù)的直接應(yīng)用。

淺析主流數(shù)字加密技術(shù)

現(xiàn)行的主流數(shù)據(jù)加密標(biāo)準(zhǔn)主要來自計(jì)算機(jī)的起源地美國,常用的包括DES、RSA和MD5。

DES是一個(gè)分組加密算法,它以64位分組對數(shù)據(jù)加密。64位一組的明文從算法的一端輸入,64位的密文從另一端輸出,算法需要進(jìn)行16輪編碼。

DES是一個(gè)對稱算法,加密和解密用的是同一算法。密鑰長度為64bit,其中有效密鑰長度56bit,其余8bit為奇偶校驗(yàn)。DES的整個(gè)體制是公開的,系統(tǒng)的安全性主要依賴密鑰的保密。DES主要用于數(shù)據(jù)傳輸加密。

RSA在1978年誕生于美國名校MIT。簡單地說,就是兩個(gè)很大的質(zhì)數(shù),一個(gè)公開,另一個(gè)保密,前者成為“公用密鑰”,后者成為“私有密鑰”。這兩個(gè)密鑰相互補(bǔ)充,即公用密鑰的密文可以用私有密鑰來解密,反之也成立。

RSA要求每一個(gè)用戶擁有自己的一種密鑰:公開的加密密鑰,用以加密明文;保密的解密密鑰,用于解密密文。

在RSA密鑰體制的運(yùn)行中,當(dāng)A用戶發(fā)文件給B用戶時(shí),A用戶用B的公開密鑰加密明文,B用戶則用解密密鑰解讀密文。

RSA密鑰可從40位到2048位,加密時(shí)塊大小可變,但不超過密鑰的長度,RSA算法把每一塊明文轉(zhuǎn)化為與密鑰長度相同的密文塊。密鑰越長,加密效果越好,但開銷也大。常用128bit-512bit長度的密鑰,具有非常高的加密強(qiáng)度。硬件實(shí)現(xiàn)的最快的RSA算法所消耗的時(shí)間也是DES算法的1000倍。

RSA屬于密鑰傳輸(交換)加密,比較知名的應(yīng)用SSL、PGP都成功應(yīng)用了RSA算法。

MD5,即Message-Digest Algorithm 5(信息-摘要算法),它是一種基于雜湊函數(shù)(HASH)的密碼算法,由RSA的設(shè)計(jì)者R.Rivest于20世紀(jì)90年代初開發(fā)出來。

MD5的最大作用在于,將不同格式的大容量文件信息在用數(shù)字簽名軟件來簽署私人密鑰前“壓縮”成一種保密的格式,關(guān)鍵之處在于--這種“壓縮”是不可逆的。

MD5的典型應(yīng)用是對一段信息產(chǎn)生信息摘要(Message-Digest),防篡改。MD5算法通過其不可逆的字符串變換算法,產(chǎn)生了一個(gè)唯一的MD5信息摘要。如果有第三方認(rèn)證機(jī)構(gòu),則MD5就可以防止文件作者“抵賴”,即所謂的數(shù)字簽名。

MD5算法:以512位分組來處理輸入的信息,且每一個(gè)分組又被劃分為16個(gè)32位子分組。經(jīng)過了一系列的處理后,算法的輸出由四個(gè)32位分組組成,將這四個(gè)32為分組級聯(lián)后將生成一個(gè)128位散列值。

通俗的講,數(shù)據(jù)加密、解密是對數(shù)據(jù)的變換,涉及數(shù)學(xué)、計(jì)算機(jī)科學(xué)、電子與通信等學(xué)科,基礎(chǔ)學(xué)科是數(shù)學(xué)。在實(shí)際應(yīng)用中,數(shù)字加密被用來達(dá)成這些目標(biāo):信息保密(數(shù)據(jù)加密、文件加密),身份鑒別,數(shù)據(jù)完整性(防篡改),可信賴(數(shù)字簽名、電子印章)。