DES加密教程詳細解讀

1997年數據加密標準DES正式公佈,其分組長度爲64比特,密鑰長度爲64比特,其中8比特爲奇偶校驗位,所以實際長度爲56比特。現在DES已經被AES所取代。
1)DES的加密過程
明文64位->初始置換IP->16輪加密變換->逆初始置換IP-1->密文
a.初始置換IP
圖爲初始置換IP表
這裏的初始IP置換表的意思爲把64位明文按照表中的規則替換,比如第一行,把64位明文的第1位換爲其58位,第2位換爲50位,第3位換位42位…這表仔細觀察有一定的規律,比如我們從右到左一列一列的分別讀前4行,後4行。是不是就是2 4 6 8 10 12…和1 3 5 7 9 11…
b.16輪加密變換
16輪加密變換
看似很複雜,其實16輪的過程都是一樣的。經過上面說的初始置換IP,接下來就是要把64位分爲L0和R0各32位。然後算出f(R0,k1),其結果與L0異或作爲R1.而L1直接是和R0相等的。
後面都一樣: Li=Ri-1
Ri=Li-1異或f(Ri-1,ki)
i=1,2,3,…16,
這時我們就會問那K1~K16從哪來,加密函數f()怎麼計算,這些問題我在後面會繼續寫的。
c.初始逆置換IP-1
這裏寫圖片描述
方法同初始置換IP。
b1.密鑰生成
這裏寫圖片描述
是不是一下子就能看明白,這裏的PC-1爲選擇置換,可以去掉奇偶校驗位。PC-2也是選擇置換,它是用於從Ci和Di中選取48位作爲密鑰Ki。C0和D0是把密鑰中實際的56位分成左右28位,LSi是表示對Ci-1和Di-1進行循環左移變換,其中LS1,LS2,LS9,LS16是循環左移1位,其餘爲2位。
選擇置換PC-1
57, 49, 41, 33, 25, 17, 9,
1, 58, 50, 42, 34, 26, 18,
10, 2, 59, 51, 43,35, 27,
19, 11, 3, 60, 52, 44, 36,

63, 55, 47, 39, 31, 23, 15,
7, 62, 54, 46, 38, 30, 22,
14, 6, 61, 53, 45, 37, 29,
21, 13, 5, 28, 20, 12, 4,
選擇置換PC-2
14, 17, 11, 24, 1, 5,
3, 28, 15, 6, 21, 10,
23, 19, 12, 4, 26, 8,
16, 7, 27, 20, 13, 2,
41, 52, 31, 37, 47, 55,
30, 40, 51, 45, 33, 48,
44, 49, 39, 56, 34, 53,
46, 42, 50, 36, 29, 32
b2.加密函數f()
這裏寫圖片描述
這裏的E是把32比特(即上面所提到的64比特分爲倆個32比特。)的輸入擴展爲48比特。將E置換後的結果與48位的Ki異或的結果平均分爲8組B1,B2…B8,每組Bi用Si盒處理。這樣你會發現進去的是48位,出來的是32位。因爲P爲32位置換函數,它的輸入爲32位。把Bi{x1,x2,x3…x6}(48比特平均分爲8組,每組就是6比特)中的x1x6和x2x3x4x5分別作爲Si盒的行和列(比如x1x2x3…x6=101011,則x1x6=11把它轉化爲十進制爲3。x2x3x4x5=0101轉換爲十進制爲5,所以爲3行5列,但是要注意Si盒的行列從0開始算起),找到這個十進制數,把它轉化爲4位二進制。這4位就是輸出。
擴展變換E
這裏寫圖片描述
這個也是有規律的把第一列和最後一列去掉看看。
S盒
S1
14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7,
0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8,
4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0,
15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13,
S2
15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10,
3, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9, 11, 5,
0, 14, 7, 11, 10, 4, 13, 1, 5, 8, 12, 6, 9, 3, 2, 15,
13, 8, 10, 1, 3, 15, 4, 2, 11, 6, 7, 12, 0, 5, 14, 9,
S3
10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8,
13, 7, 0, 9, 3, 4, 6, 10, 2, 8, 5, 14, 12, 11, 15, 1,
13, 6, 4, 9, 8, 15, 3, 0, 11, 1, 2, 12, 5, 10, 14, 7,
1, 10, 13, 0, 6, 9, 8, 7, 4, 15, 14, 3, 11, 5, 2, 12,
S4
7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5, 11, 12, 4, 15,
13, 8, 11, 5, 6, 15, 0, 3, 4, 7, 2, 12, 1, 10, 14, 9,
10, 6, 9, 0, 12, 11, 7, 13, 15, 1, 3, 14, 5, 2, 8, 4,
3, 15, 0, 6, 10, 1, 13, 8, 9, 4, 5, 11, 12, 7, 2, 14,
S5
2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14, 9,
14, 11, 2, 12, 4, 7, 13, 1, 5, 0, 15, 10, 3, 9, 8, 6,
4, 2, 1, 11, 10, 13, 7, 8, 15, 9, 12, 5, 6, 3, 0, 14,
11, 8, 12, 7, 1, 14, 2, 13, 6, 15, 0, 9, 10, 4, 5, 3,
S6
12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7, 5, 11,
10, 15, 4, 2, 7, 12, 9, 5, 6, 1, 13, 14, 0, 11, 3, 8,
9, 14, 15, 5, 2, 8, 12, 3, 7, 0, 4, 10, 1, 13, 11, 6,
4, 3, 2, 12, 9, 5, 15, 10, 11, 14, 1, 7, 6, 0, 8, 13,
S7
4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1,
13, 0, 11, 7, 4, 9, 1, 10, 14, 3, 5, 12, 2, 15, 8, 6,
1, 4, 11, 13, 12, 3, 7, 14, 10, 15, 6, 8, 0, 5, 9, 2,
6, 11, 13, 8, 1, 4, 10, 7, 9, 5, 0, 15, 14, 2, 3, 12,
S8
13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0, 12, 7,
1, 15, 13, 8, 10, 3, 7, 4, 12, 5, 6, 11, 0, 14, 9, 2,
7, 11, 4, 1, 9, 12, 14, 2, 0, 6, 10, 13, 15, 3, 5, 8,
2, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9, 0, 3, 5, 6, 11 ,
p置換
16, 7, 20, 21,
29, 12, 28, 17,
1, 15, 23, 26, 5,
18, 31, 10, 2, 8,
24, 14, 32, 27,
3, 9, 19, 13, 30,
6, 22, 11, 4, 25

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章