DES加密
文章目錄
- DES算法的歷史
- DES算法的原理
- DES對稱加密
- 數(shù)據(jù)加密法
- 數(shù)據(jù)加密標準
- 加密原理
- 三重DES
DES算法的歷史
美國國家標準局1973年開始研究除國防部外的其它部門的計算機系統(tǒng)的數(shù)據(jù)加密標準,于1973年5月15日和1974年8月27日先后兩次向公眾發(fā)出了征求加密算法的公告。加密算法要達到的目的(通常稱為DES 密碼算法要求)
主要為以下四點:
- 提供高質(zhì)量的數(shù)據(jù)保護,防止數(shù)據(jù)未經(jīng)授權(quán)的泄露和未被察覺的修改
- 具有相當(dāng)高的復(fù)雜性,使得破譯的開銷超過可能獲得的利益,同時又要便于理解和掌握
- DES密碼體制的安全性應(yīng)該不依賴于算法的保密,其安全性僅以加密密鑰的保密為基礎(chǔ)
- 實現(xiàn)經(jīng)濟,運行有效,并且適用于多種完全不同的應(yīng)用
DES算法的原理
DES算法的入口參數(shù)有三個:Key、Data、Mode
- Key為8個字節(jié)共64位,是DES算法的工作密鑰
- Data也為8個字節(jié)64位,是要被加密或被解密的數(shù)據(jù)
- Mode為DES的工作方式,有兩種:加密或解密
為了網(wǎng)絡(luò)上信息傳輸?shù)陌踩?#xff08;防止第三方竊取信息看到明文),發(fā)送發(fā)和接收方分別進行加密和解密,這樣信息在網(wǎng)絡(luò)上傳輸?shù)臅r候就是相對安全的
鏈接借鑒引于此:https://www.zhihu.com/question/36767829/answer/68911532
DES對稱加密
DES對稱加密,是一種比較傳統(tǒng)的加密方式,其加密運算、解密運算使用的是同樣的密鑰,信息的發(fā)送者和信息的接收者在進行信息的傳輸與處理時,必須共同持有該密碼(稱為對稱密碼),是一種對稱加密算法
數(shù)據(jù)加密法
數(shù)據(jù)加密算法(Data Encryption Algorithm,DEA)是一種對稱加密算法,很可能是使用最廣泛的密鑰系統(tǒng),特別是在保護金融數(shù)據(jù)的安全中,最初開發(fā)的DEA是嵌入硬件中的。通常,自動取款機(Automated Teller Machine,ATM)都使用DEA。它出自IBM的研究工作,IBM也曾對它擁有幾年的專利權(quán),但是在1983年已到期后,處于公有范圍中,允許在特定條件下可以免除專利使用費而使用。1977年被美國政府正式采納
數(shù)據(jù)加密標準
DES的原始思想可以參照二戰(zhàn)德國的恩格瑪機,其基本思想大致相同。傳統(tǒng)的密碼加密都是由古代的循環(huán)移位思想而來,恩格瑪機在這個基礎(chǔ)之上進行了擴散模糊。但是本質(zhì)原理都是一樣的。現(xiàn)代DES在二進制級別做著同樣的事:替代模糊,增加分析的難度
加密原理
DES 使用一個 56 位的密鑰以及附加的 8 位奇偶校驗位,產(chǎn)生最大 64 位的分組大小。這是一個迭代的分組密碼,使用稱為 Feistel 的技術(shù),其中將加密的文本塊分成兩半。使用子密鑰對其中一半應(yīng)用循環(huán)功能,然后將輸出與另一半進行“異或”運算;接著交換這兩半,這一過程會繼續(xù)下去,但最后一個循環(huán)不交換。DES 使用 16 個循環(huán),使用異或,置換,代換,移位操作四種基本運算
上圖表明了DES 加密的整個機制。
- 對于任意加密方案,總有兩個輸入:明文和密鑰
- DES 明文長為64位,密鑰長度為56位
- 圖的左半部分,是明文的處理。經(jīng)過初始置換IP進行重排->被16輪相同函數(shù)的置換和代替->最后預(yù)輸出進行逆初始置換。
- 圖的右半部分,為56位密鑰的產(chǎn)生過程。密鑰經(jīng)過一個置換經(jīng)過循環(huán)左移和一個置換后得到各輪的子密鑰。
三重DES
DES 的常見變體是三重 DES,使用 168 位的密鑰對資料進行三次加密的一種機制;它通常(但非始終)提供極其強大的安全性。如果三個 56 位的子元素都相同,則三重 DES 向后兼容 DES
3DES(即Triple DES)是DES向AES過渡的加密算法,它使用3條56位的密鑰對數(shù)據(jù)進行三次加密,是DES的一個更安全的變形。它以DES為基本模塊,通過組合分組方法設(shè)計出分組加密算法。比起最初的DES,3DES更為安全
該方法使用兩個密鑰,執(zhí)行三次DES算法
- 加密的過程是 加密-解密-加密
- 解密的過程是 解密-加密-解密。
- 3DES加密過程為:C=Ek3(Dk2(Ek1(P)))
- 3DES解密過程為:P=Dk1(EK2(Dk3(C)))
采用兩個密鑰進行三重加密的好處:
- 兩個密鑰合起來有效密鑰長度有112bit,可以滿足商業(yè)應(yīng)用的需要,若采用總長為168bit的三個密鑰,會產(chǎn)生不必要的開銷
- 加密時采用 “ 加密-解密-加密 ”,而不是 “ 加密-加密-加密 ” 的形式,這樣有效的實現(xiàn)了與現(xiàn)有DES系統(tǒng)的向后兼容問題。因為當(dāng)K1=K2時,三重DES的效果就和原來的DES一樣,有助于逐漸推廣三重DES
- 三重DES具有足夠的安全性,還沒有關(guān)于攻破3DES的報道
總結(jié)