DES演算法描述簡介

來源:互聯網
上載者:User
DES演算法描述簡介

1 簡介
   DES是Data Encryption Standard(資料加密標準)的縮寫。它是由IBM公司研製的一種密碼編譯演算法,美國國家標準局於1977年公布把它作為非機要部門使用的資料加密標準,二十年來,它一直活躍在國際保密通訊的舞台上,扮演了十分重要的角色[10]。
   DES是一個區塊編碼器演算法,他以64位為分組對資料加密。同時DES也是一個對稱演算法:加密和解密用的是同一個演算法。它的密匙長度是56位(因為每個第8 位都用作同位),密匙可以是任意的56位的數,而且可以任意時候改變。其中有極少量的數被認為是弱密匙,但是很容易避開他們。所以保密性依賴於密鑰。
2 演算法架構[11]
   DES對64(bit)位的明文分組M進行操作,M經過一個初始置換IP置換成m0,將m0明文分成左半部分和右半部分m0=(L0,R0),各32位長。然後進行16輪完全相同的運算,這些運算被稱為函數f,在運算過程中資料與密匙結合。經過16輪後,左,右半部分合在一起經過一個末置換,這樣就完成了[12]。
   在每一輪中,密匙位移位,然後再從密匙的56位中選出48位。通過一個擴充置換將資料的右半部分擴充成48位,並通過一個異或操作替代成新的32位元據,在將其置換換一次。這四步運算構成了函數f。然後,通過另一個異或運算,函數f的輸出與左半部分結合,其結果成為新的右半部分,原來的右半部分成為新的左半部分。將該操作重複16次,就實現了。具體圖4所示。

     

                                圖4 DES演算法框圖

3 DES解密
   在經過所有的代替、置換、異或盒迴圈之後,你也許認為解密演算法與密碼編譯演算法完全不同。恰恰相反,經過精心選擇的各種操作,獲得了一個非常有用的性質:加密和解密使用相同的演算法。
DES加密和解密唯一的不同是密匙的次序相反。如果各輪加密密匙分別是K1,K2,K3….K16那麼解密密匙就是K16,K15,K14…K1。
4 DES的幾種工作方式
  第一種電子密本方式(ECB)
    將明文分成n個64位元分組,如果明文長度不是64位元的倍數,則在明文末尾填充適當數目的規定符號。對明文組用給定的密鑰分別進行加密,行密文C=(C0,C1,……,Cn-1)其中Ci=DES(K,xi),i=0,1,…..,n-1。
  第二種密文分組連結方式(CBC)
    在CBC方式下,每個明文組xi在加密前與先一組密文按位模二加後,再送到DES加密,CBC方式克服了ECB方式報內組重的缺點,但由於明文組加密前與一組密文有關,因此前一組密文的錯誤會傳播到下一組。
  第三種密文反饋方式(CFB),可用於序列密碼
    明文X=(x0,x1,……,xn-1),其中xi由t個位元組成0
  第四種輸出反饋方式(OFB),可用於序列密碼
    與CFB唯一不同的是OFB是直接取DES輸出的t個位元,而不是取密文的t個位元,其餘都與CFB相同。但它取的是DES的輸出,所以它克服了CFB的密文錯誤傳播的缺點   

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.