1. 程式人生 > >密碼編碼學初探——分組加密技術(DES&AES)

密碼編碼學初探——分組加密技術(DES&AES)

基本術語:分組密碼 混淆 擴散 Feistel結構 可逆對映 資料加密標準(DES [64位]) 高階加密標準(AES[128位])

1.流密碼與分組密碼

流密碼:即一次只加密一個位元組或者一位的加密方式。
分組密碼:將明文分組作為整體加密,且常得到的是與明文等長的密文分組。

可以發現流密碼,嚴重依賴加密金鑰。
分組密碼與流密碼一樣,兩個使用者需要共享一個對稱加密金鑰。使用某些工作模式,分組密碼可以獲得和流密碼相同的效果。

2.Feistel 密碼結構和優點

這裡寫圖片描述
2.2Feistel 密碼結構
就以最後一輪加密為例解密:

因為:
Rn+1=LnF(kn,Rn)
假設:
L

n=Rn+1F(kn,Ln+1)
Ln+1=Rn
有:

Ln=[LnF(kn,Rn)]F(kn,Rn)
Ln=Ln[F(kn,Rn)F(kn,Rn)]

又∵
[AB]C=A[BC]
AA=0
A0=A

即有Ln=Ln
假設成立

2.2Festel結構的優點:

  1. 替代、置換互動使用迭代多輪,使得金鑰與密文之間的對應關係被打亂,從而達到混淆的效果。
  2. 加解密可以使用同一個函式,僅更改金鑰順序即可,節省一半的編碼。
  3. 雪崩效應,應用該結構的DES可以達到50%的影響。(即一位明文的改變可以影響一半密文)

3.DES和AES的異同

基礎結構,Feistel和SPN(代換-置換網路)通過迭代代替和置換達到擴散和混淆的目的
S盒非線性置換、SPN的行位移和列混淆”
一次加密的資料,DES(一半),AES(全部)
S盒的產生原理,DES(未知),AES(已知)
金鑰長度,DES(64),AES[128,256] 中任意32倍數均可

4.AES加密

這裡寫圖片描述