分組密碼
概述
- 所謂分組密碼,簡單地說就是對明文進行分組,每組的長度都相同,然后對每組明文使用密鑰進行加密得密文,解密即對每組明文使用密鑰進行解密得到明文。
- 通常情況是明文、密文等長。(好處是處理速度快,節約了存儲,避免了浪費帶寬.)
- 定義
- 分組密碼包含5個部分{M,C,K,E,D},
- M=F(2,n)明文空間
- K=F(2,k)密鑰空間
- C=F(2,n)密文空間
- E加密變換;
- D解密變換
明文m1m2……mn通過密鑰k加密算法得到密文c1c2……cn
分組密碼是一種映射: - E:M*K->C
- D:C*K->M
- 注:分組密碼實際上是{0,1,2,……,2^n-1}到其自身的一一映射,密鑰k不同映射不同。
- 基本要求
- 分組長度足夠長(防止明文窮舉攻擊)
- 密鑰長度足夠長(防止密鑰窮舉攻擊)
- 加解密算法要足夠復雜(能抗擊各種已知攻擊)
- 分組密碼的原則
為有效抵抗對密碼體質的通知分析,香農提出了兩個原則:擴展原則和混亂原則。
- 擴散:指每1bit明文的變化盡可能多地影響密文序列的bit,以隱蔽明文的統計特性,防止對密鑰進行逐段攻擊破譯;
- 混亂:指加密變換過程中明文、密鑰以及密文之間的關系盡可能的復雜,以防止破譯者采用統計分析方法進行攻擊。
- 分組密碼的結構(SP網絡)
-
需求分析:
- 一個分組密碼既要難於分析(復雜),又要易於實現(簡單),迭代密碼可克服這一對矛盾。其加密變換一般采取如下結構:
- 由一個簡單的函數F(易於實現)迭代若干次而形成。
-
其中Yi-1是第i輪迭代的輸入,Yi是第i輪的輸出,Zi由密鑰k導出,這類密碼即迭代密碼。如DES是16輪迭代密碼,多次迭代可實現必要的混亂與擴散。
-
F函數采用代換置換結構,置換由P盒實現,起擴散作用,代換可提供混淆作用,其中代換被精心設計且起關鍵作用,人們常稱其為“黑盒子”。
-
SP結構具有雪崩效應,雪崩效應指輸入(明文或密鑰)即使只有很小的變化,也會導致輸出(密文)產生巨大的變化。