DES的明文分組長度,密文分組長度均為64bit,密鑰長度為56bit,因為老師不給課件,沒辦法了只能盜用百度的圖來說明DES的加解密過程
S-BOX: 比如 101100,取頭尾10,對應10進制位2,也就是查第二行,中間為0110,對應10進制為6,查第六列,得2,注意,反過來化為2進制時要補齊四位比如0010
也就是說經過壓縮和查表101100壓縮為0010
DES的特點:
1.加解密共用一套系統,加密機,解密機用一套降低了成本
2.密鑰長度短只有56bit,不能抵抗窮舉攻擊,密鑰量只有2^56約為10^17
3.存在弱密鑰和半弱密鑰問題,弱密鑰Ek*Ek=I,也就是說兩次加密得到明文,DES存在四個弱密鑰全1,全0,先全1后全0,先全0后全1,相當于只有一個子密鑰而不是16個
加密時ki的順序為k1,k2,k3,k4,....,k16,解密時順序為k16,k15,k14....k1
接下來我們看下為什么經過16次輪詢算法和IP與IP逆后會得到明文
對不住..........我可能我對DES理解也不透測,周末上課再問問老師,再來更新
2.對稱加密的應用
2.1.電子密碼本(ECB, Electronic Codebook)
把明文分塊,分別對這些塊進行加密,最后組合在一起
缺點:
? ? ? ? 1.不能隱藏明文的模式信息:相同明文<=>相同密文,同樣信息多次出現可能泄露
? ? ? ? 2.對明文攻擊是可能的:信息塊可能被替換重排
? ? ? ? 3.誤差傳遞:明文塊損壞=>密文損壞
優點:
? ? ? ? 1.適用于傳輸短消息
? ? ? ? ?2.簡單有效
? ? ? ? ?3.可以并行實現
2.2.密碼分組鏈接方式(CBC, Cipher Block Chaining)
1.無法并行計算,只能串行加密,效率相對低,但解密可以并行計算(密文已知)
2.相同明文<=>不同密文
3.安全性優于ECB
4.信息塊不易被替換,重排,刪除,重放,誤差傳遞:密文塊損壞=>兩明文塊損壞(自己和下一塊的解密)
5.適用于長度大于64位的報文,還可以進行用戶鑒別是大多系統的標準,如SSL
2.3.密碼反饋方式(CFB)
2.4.輸出反饋方式(OFB)
2.5.分組密碼的攻擊方式
分組密碼的攻擊分為:唯密文攻擊,已知明文攻擊,選擇明文攻擊,選擇密文攻擊
攻擊復雜度:
? ? ? ? ? ? ? 數據復雜度:輸入的數據量
? ? ? ? ? ? ? 處理復雜度:處理數據所需的數據量