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