用上圖中的矩陣來做打散的動作
第一個數字是58,所以原本第58位元會移到第1位元,有此類推
DES的主要加密函式有 4 步驟:
和排列一樣的手法,原來第32位元複製到第1位元
把 round key ( 48 bits ) 和 擴展函式 E 的 output( 48 bits ) 做 XOR 的運算
由 8 張替換表組成
對於每張表有 6 bits 的 input 和 4 bits 的 output
和擴展一樣
矩陣如下:
[ 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 ]
DES會把一把key(金鑰)轉換成16把子金鑰
1.把 64 bits 的 key 經過一個轉換矩陣 PC-1
2.分成左右兩邊,再透過位移矩陣做左位移
- 左位移: 101 --> 011
4.左右合併後再用 PC-2 轉換一次,得到 k1
5.重複 2、3 直到有16把key