DES 概述
- 分組加密算法 : 明文、密文64位分組長度
- 對稱算法 : 加密和解密密鑰編排不同,但使用同一算法
- 密鑰長度:56位 —— 每個第8位為奇偶校驗位
- 密鑰為任意的56位數(shù),存在 弱密鑰, 容易避開
- 混亂與擴散的組合,每個組合先代替后替換,16輪
- 只使用標準的算數(shù)和邏輯運算、易于時間
其他加密算法
Triple DES Triple DES
IDEA
RC5
RC6
AES
其他一些較實用的算法,如Blowfish,CAST,以及RC2等
加密過程
- 輸入64bit明文數(shù)據(jù)
- 初始置換 I P IP IP
- 密鑰控制下 16 輪迭代
- 交換左右32bit
- 初始逆置換 I P ? 1 IP^{-1} IP?1
L
0
R
0
←
I
P
(
64
b
i
t
輸入法
)
L_0R_0\leftarrow IP(64bit輸入法)
L0?R0?←IP(64bit輸入法)
L
i
←
R
i
?
1
L_i \leftarrow R_{i-1}
Li?←Ri?1?
L
i
←
L
i
⊕
f
(
R
i
?
1
,
k
1
)
L_i\leftarrow L_i \oplus f(R_{i-1}, k_1)
Li?←Li?⊕f(Ri?1?,k1?)
64
b
i
t
密文
←
I
P
?
1
(
R
16
L
16
)
64bit密文 \leftarrow IP^{-1}(R_{16}L_{16})
64bit密文←IP?1(R16?L16?)
i為迭代次數(shù), ⊕ \oplus ⊕為逐位mod2求和,f是加密函數(shù)
以此推出解密過程
(
R
16
L
16
)
←
I
P
(
64
b
i
t
密文
)
(R_{16}L_{16})\leftarrow IP(64bit密文)
(R16?L16?)←IP(64bit密文)
R
i
?
1
←
L
i
R_{i-1} \leftarrow L_i
Ri?1?←Li?
L
i
←
R
i
?
1
⊕
f
(
L
i
?
1
,
k
1
)
L_i\leftarrow R_{i-1} \oplus f(L_{i-1}, k_1)
Li?←Ri?1?⊕f(Li?1?,k1?)
64
b
i
t
明文
←
I
P
?
1
(
L
0
R
0
)
64bit明文 \leftarrow IP^{-1}(L_0R_0)
64bit明文←IP?1(L0?R0?)
置換、拓展、代替
初始置換
I
P
IP
IP和初始逆置換
I
P
?
1
IP^{-1}
IP?1
初始置換IP表示,原來在第58位(8行2列)的數(shù)據(jù)放到第1行第1位
拓展置換E合 —— 32 擴展到48位
把32位分為4列
- 原來的第一列 --> 第2列和第6列
- 原來的第4列 --> 新第5列和第一列,注意他們相對于 行往前挪了一位
壓縮替代S-盒-48位壓縮到32位
找出一個4行16列的盒子
48位變?yōu)?位二進制
a
1
a
2
a
3
a
4
a
5
a
6
a_1a_2a_3a_4a_5a_6
a1?a2?a3?a4?a5?a6?
拿出首位和最后一位組成
a
1
a
6
a_1a_6
a1?a6?作為行,剩余為
a
2
a
3
a
4
a
5
a_2a_3a_4a_5
a2?a3?a4?a5?作為列選擇,得到對應的32位
安全性分析
- DES其他算法線性,S-盒 非線性
- S- 盒不易于分析,提供更好安全性
- S-盒是關鍵
如何構造S盒
- 密碼算法的 唯一非線性部件,決定算法安全強度
- 密碼算法必須的混亂作用
- S-和密碼強度,S-盒分組設計
- 非線性度、差分均勻、嚴格雪崩、可逆、無陷門
置換p-盒的構造
提供雪崩效應
明文、密鑰變動引起密文變化
密鑰
密鑰置換算法準則
- 子密鑰統(tǒng)計獨立性、靈活性
- 簡單
- 速度
- 但沒有簡單關系(給定兩個有某種關系的種子密鑰,可以預測他們輪子密鑰的關系)
- 種子密鑰對所有子密鑰影響一致
- 子密鑰獲取其他子密鑰比特比較困難
- 無弱密鑰
工作模式
- 電子密碼本 ECB (electronic codebook mode) ECB (electronic codebook mode)
- 密碼分組鏈接 CBC (cipher block chaining)
- 密碼反饋 CFB (cipher feedback)
- 輸出反饋 OFB (output feedback)
ECB
每段明文單獨加密
C i = E K ( P i ) P i = D K ( C i ) C_i = E_K (P_i)\quad P_i = D_K (C_i) Ci?=EK?(Pi?)Pi?=DK?(Ci?)
- 簡單有效
- 可并行
- 不能隱藏明文的 模式信息
- 相同明文生成相同密文,同樣信息多次出現(xiàn)造成泄漏
- 對明文可主動攻擊 —— 替換、重拍、刪除、重放
- 誤差傳遞 : 密文壞-> 對應明文損壞
- 傳輸短信息
CBC
C i = E K ( P i ⊕ C i ? 1 ) P i = D K ( C i ) ⊕ C i ? 1 C_i = E_K (P_i\oplus C_{i-1})\quad P_i = D_K (C_i)\oplus C_{i-1} Ci?=EK?(Pi?⊕Ci?1?)Pi?=DK?(Ci?)⊕Ci?1?
- 沒有已知的并行實現(xiàn)算法
- 可隱藏模式信息
- 共同初始化向量 I V IV IV
- 相同明文生成不同密文
- 初始化向量IV可以用來改變第一塊
- 難主動攻擊明文
- 信息塊不容易被替換、重排、刪除、重傳
- 誤差傳遞: 密文壞 -> 兩塊文件壞
- 安全性好于ECB
- 適合于傳輸長度大于64位的報文,還可以進行用戶鑒別 – SSL 或 IPSec
CFB
分組密碼 ? 流密碼 分組密碼\Rightarrow 流密碼 分組密碼?流密碼
假定
- S i S_i Si?是移位寄存器,傳輸jbit
- 加密
C
i
=
P
i
⊕
E
k
(
S
i
)
的高
j
位
C_i = P_i\oplus E_k(S_i)的高j位
Ci?=Pi?⊕Ek?(Si?)的高j位
S i + 1 = ( S i < < j ) ∣ C i S_{i+1}=(S_i << j) | C_i Si+1?=(Si?<<j)∣Ci? - 解密
P
i
=
C
i
⊕
E
k
(
S
i
)
的高
j
位
P_i = C_i\oplus E_k(S_i)的高j位
Pi?=Ci?⊕Ek?(Si?)的高j位
S i + 1 = ( S i < < j ) ∣ C i S_{i+1}=(S_i << j) | C_i Si+1?=(Si?<<j)∣Ci?
特點
- 分組密碼 ? 流密碼 分組密碼\Rightarrow 流密碼 分組密碼?流密碼
- 無并行實現(xiàn)算法
- 隱藏明文
- 共同的移位寄存器初始值 I V IV IV —— 不同信息,IV唯一
- 誤差傳遞: 一個單元損壞影響多個單元
OFB
分組密碼 ? 流密碼 分組密碼\Rightarrow 流密碼 分組密碼?流密碼
假定與CFB一樣
但是加密如下
C
i
=
P
i
⊕
E
k
(
S
i
)
的高
j
位
C_i = P_i\oplus E_k(S_i)的高j位
Ci?=Pi?⊕Ek?(Si?)的高j位
S
i
+
1
=
(
S
i
<
<
j
)
∣
(
E
k
(
S
i
)
的高
j
位
)
S_{i+1}=(S_i << j) | (E_k(S_i)的高j位)
Si+1?=(Si?<<j)∣(Ek?(Si?)的高j位)
(S的變化有別于CFB)
解密
P
i
=
C
i
⊕
E
k
(
S
i
)
的高
j
位
P_i = C_i\oplus E_k(S_i)的高j位
Pi?=Ci?⊕Ek?(Si?)的高j位
S
i
+
1
=
(
S
i
<
<
j
)
∣
(
E
k
(
S
i
)
的高
j
位
)
S_{i+1}=(S_i << j) | (E_k(S_i)的高j位)
Si+1?=(Si?<<j)∣(Ek?(Si?)的高j位)
特點
前四點和CFB一樣
- 分組密碼 ? 流密碼 分組密碼\Rightarrow 流密碼 分組密碼?流密碼
- 無并行實現(xiàn)算法
- 隱藏明文
- 共同的移位寄存器初始值 I V IV IV —— 不同信息,IV唯一
第五點開始
- 誤差傳遞:一個單元損壞只影響對應單元
- 對明文的主動攻擊是可能的 – 被替換、重排、刪除、重放
- 安全性不如CFB
多重DES
安全性
- F函數(shù)(S-Box)設計原理未知
- 密鑰長度的爭論
- DES的破譯
- 弱密鑰與半弱密鑰
長度問題
2
56
≈
1
0
17
2^{56} \approx 10^{17}
256≈1017
現(xiàn)在可以一天內破解密鑰
弱密鑰、半弱密鑰
弱密鑰:
E
K
?
E
K
=
I
E_K \cdot E_K= I
EK??EK?=I
DES存在4個弱密鑰
p
=
E
k
(
E
k
(
P
)
)
p = E_k(E_k(P))
p=Ek?(Ek?(P))
半弱密鑰:
E
K
1
=
E
K
2
E_{K1} = E_{K2}
EK1?=EK2?
至少有12個半弱密鑰
C
=
E
k
1
(
P
)
=
E
k
2
(
P
)
C = Ek_1(P) = E_{k2}(P)
C=Ek1?(P)=Ek2?(P)
使用常規(guī)加密進行保密通信
針對 易受攻擊的位置
有 鏈路加密和端到端加密
鏈路層加密
針對某一次通信鏈路
消息在被傳輸之前進行加密,在每一個節(jié)點對接收到的消息進行解密,然后先使用下 個鏈路的密鑰對消 一個鏈路的密鑰對消
息進行加密,再進行傳輸
優(yōu)點文章來源:http://www.zghlxwxcb.cn/news/detail-491441.html
- 中間傳輸節(jié)點消息均被解密后重新進行加密
- 鏈路上數(shù)據(jù)以密文形式出現(xiàn)
- 掩蓋消息源點終點
- 填充技術的使用 -》 消息頻率、長度被掩蓋,防止通信業(yè)務的分析
缺點文章來源地址http://www.zghlxwxcb.cn/news/detail-491441.html
- 要對鏈路兩端加密設備進行同步, 給網(wǎng)絡性能、可管理性帶來副作用
- 網(wǎng)絡節(jié)點中,鏈路加密只在通信鏈路上提供安全性,節(jié)點上是明文 —— 需要節(jié)點的物理安全
- 對稱加密系統(tǒng),要建立專用網(wǎng)絡措施,但網(wǎng)絡節(jié)點分布寬闊,且密鑰連續(xù)分配較難
節(jié)點加密
類似鏈路加密。 中間節(jié)點解密再加密
差異:不允許消息在節(jié)點以明文方式存在,解密后用另一個密鑰加密 —— 在節(jié)點的另一個安全模塊進行
安全性: 報頭和路由信息以明文傳輸,對攻擊者分析通信業(yè)務無能為力
端到端加密
從源點到終點的傳輸過程中始終以密文形式存在
又叫脫線加密 包加密,到底終點前不解密。節(jié)點損壞不會導致消息泄露
優(yōu)點
- 便宜,更可靠,容易設計、實現(xiàn)、維護
- 避免同步問題 ——報文包是獨立加密的,報文包傳輸錯誤不影響后續(xù)
- 端到端加密更自然,不影響網(wǎng)絡其他用戶
缺點
- 不允許對目的地址加密
- 不掩蓋消息源、目的地,對攻擊者分析通信業(yè)務無能為力
到了這里,關于網(wǎng)安筆記03 DES概述的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!