基本術語:分組密碼 混淆 擴散 Feistel結構 可逆映射 數據加密標準(DES [64位]) 高級加密標準(AES[128位])
1.流密碼與分組密碼
流密碼:即一次只加密一個字節或者一位的加密方式。
分組密碼:將明文分組作爲整體加密,且常得到的是與明文等長的密文分組。
可以發現流密碼,嚴重依賴加密密鑰。
分組密碼與流密碼一樣,兩個用戶需要共享一個對稱加密密鑰。使用某些工作模式,分組密碼可以獲得和流密碼相同的效果。
2.Feistel 密碼結構和優點
2.2Feistel 密碼結構
就以最後一輪加密爲例解密:
因爲:
假設:
有:
又∵
即有
假設成立
2.2Festel結構的優點:
- 替代、置換交互使用迭代多輪,使得密鑰與密文之間的對應關係被打亂,從而達到混淆的效果。
- 加解密可以使用同一個函數,僅更改密鑰順序即可,節省一半的編碼。
- 雪崩效應,應用該結構的DES可以達到50%的影響。(即一位明文的改變可以影響一半密文)
3.DES和AES的異同
異 | 同 |
基礎結構,Feistel和SPN(代換-置換網絡) | 通過迭代代替和置換達到擴散和混淆的目的 S盒非線性置換、SPN的行位移和列混淆” |
一次加密的數據,DES(一半),AES(全部) | |
S盒的產生原理,DES(未知),AES(已知) | |
密鑰長度,DES(64),AES[128,256] 中任意32倍數均可 | |