選擇壓縮運算

選擇壓縮運算

DES數據加密標準(Data Encryption Standard)算法中加密函式所用的三種算法(另外兩種分別是選擇擴展運算和置換運算)之一

選擇壓縮運算

(用字母S表示)把異或操作的48位結果劃分為8組,每組6位,進而將每組的6位輸入一個S盒,獲得長度為4位的輸出。S盒共有8個,互不相同,以S1~S8標識,8個S盒的輸出連在一起可以得到32位的輸出。

工作流程

S盒的具體工作流程如下:

1)S盒6位數輸入的第一位和第六位構成一個兩位的二進制數,將其轉化為十進制數,對應於s盒中的某一行。

2)S盒6位輸入的第二至五位構成一個四位的二進制數,將其轉化為十進制數,對應於s盒中的某一列。

3)通過前兩部確定的行和列在s盒中定位一個十進制數,該數的值域為【0,15】,將其轉化為二進制的四位數輸出。

舉例來看,假設s1盒的輸入為110111,輸入的第一位和第六位數字組成二進制數11,對應的十進制數為3,輸入的二至五位組成二進制數1011,對應十進制數為11.s1盒中第三行第十一列即為對應數,轉化為二進制數輸出即可。

相關詞條

熱門詞條

聯絡我們