天天看點

什麼是DES算法,詳解DES算法的基本原理

作者:哈客部落

DES算法是應用最為廣泛的對稱加密算法。它主要應用在計算機網絡通信、電子資金傳送系統、保護使用者檔案,此外,DES還可用于計算機使用者識别系統中。那麼,具體什麼是DES算法,DES算法的基本原理是什麼,本文将給大家詳細介紹一下。

什麼是DES算法,詳解DES算法的基本原理

什麼DES算法

DES是一個分組加密算法,就是将明文分組進行加密,每次按順序取明文一部分,一個典型的DES以64位為分組,加密解密用算法相同。它的密鑰長度為56位,因為每組第8位是用來做奇偶校驗,密鑰可以是任意56位的數,保密性依賴于密鑰。DES算法的核心主要包括兩部分,第一部分是Feistel結構,第二部分是16個子密鑰的生成。

DES算法的基本原理

DES算法為密碼體制中的對稱密碼體制,⼜被稱為美國資料加密标準。DES是⼀個分組加密算法,典型的DES以64位為分組對資料加密,加密和解密⽤的是同⼀個算法。

密鑰長64位,密鑰事實上是56位參與DES運算(第8、16、24、32、40、48、56、64位是校驗位,使得每個密鑰都有奇數個1),分組後的明⽂組和56位的密鑰按位替代或交換的⽅法形成密⽂組。

步驟:

IP置換

IP置換⽬的是将輸⼊的64位資料塊按位重新組合,并把輸出分為L0、R0兩部分,每部分各長32位。

密鑰置換

不考慮每個位元組的第8位,DES的密鑰由64位減⾄56位,每個位元組的第8位作為奇偶校驗位。産⽣的56位密鑰由規則表⽣成;

在DES的每⼀輪中,從56位密鑰産⽣出不同的48位⼦密鑰,确定這些⼦密鑰的⽅式如下:

1).将56位的密鑰分成兩部分,每部分28位。

2).根據輪數,這兩部分分别循環左移1位或2位。每輪移動的位數按規則表;

移動後,從56位中選出48位。這個過程中,既置換了每位的順序,⼜選擇了⼦密鑰,是以稱為壓縮置換。壓縮置換規則按規則表;

擴充置換

擴充置換⽬标是IP置換後獲得的右半部分R0,将32位輸⼊擴充為48位(分為4位×8組)輸出。

S盒代替

壓縮後的密鑰與擴充分組異或以後得到48位的資料,将這個資料送⼈S盒,進⾏替代運算。替代由8個不同的S盒完成,每個S盒有6位輸⼊4位輸出。48位輸⼊分為8個6位的分組,⼀個分組對應⼀個S盒,對應的S盒對各組進⾏代替操作。

什麼是DES算法,詳解DES算法的基本原理

P盒置換

S盒代替運算的32位輸出按照P盒進⾏置換。該置換把輸⼊的每位映射到輸出位,任何⼀位不能被映射兩次,也不能被略去,映射規則按規則表;

IP-1末置換

末置換是初始置換的逆過程,DES最後⼀輪後,左、右兩半部分并未進⾏交換,⽽是兩部分合并形成⼀個分組做為末置換的輸⼊。

經過以上步驟,就可以得到密⽂了。

整個流程可以用下面這個圖表示:

什麼是DES算法,詳解DES算法的基本原理

附上一個DES線上加密解密的網站:https://md5.cn/

什麼是DES算法,詳解DES算法的基本原理

DES加密算法的優點和缺點

優點:優點:簡單,容易實作,運作效率高。

缺點:分組比較短、密碼生命周期短、容易被暴力解密,密鑰難管理,不好配置設定(密鑰交換問題--如何安全的将密鑰傳輸給解密方),無簽名認證功能。

以上給大家介紹了什麼是DES算法,以及DES算法的基本原理。總而言之,普通DES算法密鑰長度較短,容易被暴力解密。但是,可通過增加DES的密鑰長度來避免類似的攻擊。

繼續閱讀