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