數據加密標准(DES)


數據加密標准(DES)

概述

DES(Data Encryption Standard)是由1971年IBM公司設計出的一個加密算法,1977年經美國國家標准局(NBS)采用作為聯邦標准之后,已成為金融界及其它各種民間行業最廣泛應用的對稱密碼系統,是第一個被公布出來的標准算法。四十年來,盡管計算機硬件及破解技術的發展日新月異,但對DES的攻擊也僅僅做到了“質疑”的地步,其主要缺點之一是密鑰太短,若能用DES改進算法加長密鑰長度,仍不失為一個安全的密碼系統。

DES結構

明文m 置換IP m0=L0UR0 密鑰源K1 L1UR1 密鑰源K2 L2UR2 ……密鑰源K16 L16UR16 得到R16UL16 逆置換IP^-1 得到密文C

  • DES是一個對稱密碼體制,加解密使用同一密鑰,密鑰、明文、密文長度均為64bit。
  • 解密過程為輸入密文C並反序輸入子密鑰K16,K15,...,K1,最后輸出的即明文m。

DES詳細結構圖

置換IP和逆置換IP^-1

置換IP和逆置換IP-1沒有密碼學意義,X與IP(X)(或Y與IP-1 (Y))的一一對應關系是已知的,置換的目的是打亂原來輸入X的ASII碼字的前后關系。

  1. 置換IP
  • 置換IP表中的位序號特征為:64位按照8行8列排列,最右邊一列按照1、3、5、7排列,往左邊各列的位序號依次為其右邊一列各位序號加8.
  1. 逆置換IP^-1
  • 逆置換IP^-1是置換IP的逆過程,表中位序號特征,64位按照8行8列排列,左邊第二列按8、7、6、5、4、3、2、1次序排列,往右邊隔一序號是當前列序號加8,認為最右邊一列的隔一列為最左邊一列。

F函數

DES的一輪迭代過程見下圖,其中的F函數由3部分組成:

  • 擴展置換(E盒)
  • 非線性代換(S盒)
  • 線性置換(P盒)
    substitute:代換
    permute:置換
    expand:擴展
  1. 擴展置換
  • 擴展置換又稱E盒,將32別輸入擴展為48bit輸出。擴展過程如下:

擴展置換E盒作用:

  • 將32bit擴展為48bit,產生子密鑰相同長度的數據使得能進行異或運算;
  • 擴展后的48bit數據在S盒的作用下壓縮32bit實現了非線性運算。
  1. 代換
  • 代換盒子又稱S盒,其功能是進行非線性代換,S盒子是DES中唯一的非線性部分,DES的安全性主要取決於S盒的安全。

  • S盒是一個查表運算,將48bit輸入數據分成8個6bit數據,分別經過對應的8個代換子盒,變為8個bit數據,然后合成32bit數據輸出。

  • 具體查表方法如下:

    • 設6bit輸入為b1b2b3b4b5b6,則將b1和b6組合,轉化為十進制的0~3的某個數,它對應表的行號(行分為第0、1、2、3行);
    • 其余4bit數b2b3b4b5組合,轉化為十進制的0~15的某個數,它對應表的列號(列分為第0、1、2、3……15列)。
    • 行列對應位置的十進制數轉化為4bit二進制數輸出。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM