一、S-DES
S-DES 是一種簡化版的數(shù)據(jù)加密標準。相對于 DES 來說,S-DES 更加簡單、快速、高效,可以用于學習加密算法的入門課程。
二、加密和解密步驟
使用 S-DES 進行加密和解密的步驟如下:
-
初始置換(IP)
- 將 8 位明文分為左右兩部分,各 4 位,進行初始置換,得到置換后的左右兩部分。
-
輪函數(shù)(F)
- 對置換后的右半部分進行擴展置換(
E-P
),將其擴展為 8 位。 - 將擴展后的結(jié)果與輪密鑰 K1 進行異或運算,再將異或的結(jié)果拆分成 2 個 4 位的塊。
- 將這 2 個塊分別通過
S 盒代替(S0 和 S1)
,然后再進行 P4 置換,最后將 P4 置換后的結(jié)果與左半部分進行異或,得到 F 函數(shù)輸出的結(jié)果。
- 對置換后的右半部分進行擴展置換(
S盒運算規(guī)則(具體見案例):
將第1和第4的輸入比特做2—bit數(shù),指示為S盒的一個行;
將第2和第3的輸入比特作為S盒的一個列;
其中S0查表需要E-P和K的異或的結(jié)果的前4位,S1為后4位。
如S1=1101 ,第1個數(shù)和第四個數(shù)代表要查的行,第2個數(shù)和第3個數(shù)代表要查的列,即11行(第3行),第10列(第2列),查詢矩陣的結(jié)果是1,即01。
注意矩陣的起始行列都是第0行(列)
-
輪秘鑰生成
- 根據(jù)初始密鑰生成 2 個 8 位的密鑰(K1 和 K2)。
- 首先對初始密鑰進行
P10 置換
,并將置換后的結(jié)果分為左右兩部分,各 5 位。 - 接下來對左右兩部分進行
循環(huán)左移
,得到移位后的結(jié)果。
-
最后將左右兩部分合并,并進行
P8 置換
,得到 K1。 -
對 K1 進行循環(huán)左移,并進行 P8 置換,得到 K2。
-
加密和解密
- 將明文通過初始置換(
IP
)得到左右兩部分。 - 然后進行
2 輪加密/解密操作
,每輪操作包括以下步驟:- 將右半部分作為輸入,通過
F 函數(shù)
得到輸出。 - 將 F 函數(shù)的輸出與左半部分進行異或運算,得到新的右半部分。
- 將原來的右半部分作為新的左半部分。
- 如果是加密操作,則使用
K1 進行第一輪加密
,使用K2 進行第二輪加密
;如果是解密操作,則使用 K2 進行第一輪解密,使用 K1 進行第二輪解密。 - 將左右兩部分交換,再進行
一次初始置換逆置換
( I P ? 1 IP^{-1} IP?1),得到密文或明文。
- 將右半部分作為輸入,通過
- 將明文通過初始置換(
三、案例
- 密鑰生成
問題描述:S-DES加密, 密匙 K = ( 10100 , 00010 ) , P 10 = ( 3 , 5 , 2 , 7 , 4 , 10 , 1 , 9 , 8 , 6 ) , P 8 = ( 6 , 3 , 7 , 4 , 8 , 5 , 10 , 9 ) 則 K 1 , k 2 密匙K=(10100,00010),P10=(3,5,2,7,4,10,1,9,8,6),P8=(6,3,7,4,8,5,10,9)則K1,k2 密匙K=(10100,00010),P10=(3,5,2,7,4,10,1,9,8,6),P8=(6,3,7,4,8,5,10,9)則K1,k2分別為?
- 計算P10后的密匙
K ( P 10 ) K(P10) K(P10):10100 00010 (3,5,2,7,4 10,1,9,8,6)=10000 01100
- 計算 K 1 K1 K1
左四位、右四位 L S ? 1 LS-1 LS?1后合并:00001 11000
K 1 ( P 8 ) K1(P8) K1(P8):00001 11000 (6,3,7,4, 8,5,10,9)=1010 0100
- 計算 K 2 K2 K2
在已經(jīng) L S ? 1 LS-1 LS?1的基礎上 L S ? 2 LS-2 LS?2: 00100 00011
K 2 ( P 8 ) K2(P8) K2(P8):00100 00011(6,3,7,4, 8,5,10,9)=0100 0011文章來源:http://www.zghlxwxcb.cn/news/detail-718774.html
- 進行S-DES加密
已知: 明文 P = ( 1011 , 0101 ) , I P = ( 2 , 6 , 3 , 1 , 4 , 8 , 5 , 7 ) , E ? P = ( 4 , 1 , 2 , 3 , 2 , 3 , 4 , 1 ) , P 4 = ( 2 , 4 , 3 , 1 ) , I P ? 1 = ( 4 , 1 , 3 , 5 , 7 , 2 文章來源地址http://www.zghlxwxcb.cn/news/detail-718774.html
到了這里,關于S-DES加密算法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!