在密碼學中,s盒(substitution-box)是對稱金鑰演算法執行置換計算的基本結構。
s盒用在分組密碼演算法中,是唯一的非線性結構。
s盒是將48位元壓縮成32位元,s盒接受特定數量的輸入48位元,經過8個盒將其轉換為32位元輸出。
在des演算法中替代由8個不同的s盒完成,每個s盒有6位輸入4位輸出。
乙個s盒就是乙個4行16列的表,盒中的每一項都是乙個4位二進位制數表示的十進位制數。
輸入的高低兩位做為行數h,中間四位做為列數l,在s-box中查詢第h行l列對應的資料。
s盒的行列計數都是從0開始。
例如,s1盒如下;
s1盒0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
以s8盒為例,輸入110011,
第一位和第六位(最高位和最低位)組合為11(二進位制),轉換為十進位制為3,則在s8盒中行號為3;
接下來計算列,原始資料第二位到第五位為1001(二進位制),轉換為十進位制為9,則在s8盒中列號為9;
s盒8的03行09列的數字為12,轉換為二進位制為1100,因此用二進位制1100來代替110011;
s盒代替是des演算法的關鍵步驟,所有的其他的運算都是線性的,易於分析,而s盒是非線性的,相比於其他步驟,提供了更好安全性。
DES演算法學習筆記
feistel 結構主要由以下五個引數決定 des是典型的feistel密碼結構 解密過程與加密過程完全相反。初始金鑰長度為64bit 其中第8 16 24 32 40 48 56 64為奇偶檢驗位,所以實際的金鑰長度為56bit des 的加密過程大致如下 初始置換ip 16輪迭代 逆初始置換 1...
des演算法描述 DES演算法描述簡介
des演算法描述簡介 1 簡介 des是data encryption standard 資料加密標準 的縮寫。它是由ibm公司研製的一種加密演算法,美國國家標準局於1977年公布把它作為非機要部門使用的資料加密標準,二十年來,它一直活躍在國際保密通訊的舞台上,扮演了十分重要的角色 10 des是乙...
DES演算法簡述
美國國家標準局1973年開始研究除國防部外的其它部門的計算機系統的資料加密標準,於1973年5月15日和1974年8月27日先後兩次向公眾發出了徵求加密演算法的公告.加密演算法要達到的目的 通常稱為des 密碼演算法要求 主要為以下四點 提供高質量的資料保護,防止資料未經授權的洩露和未被察覺的修改 ...