① 分組密碼
(1)分組密碼演算法只負責固定長度消息的加、脫密;
(2)工作模式負責長消息的處理方式;
(3)短塊處理方式負責短塊處理方式的約定
也稱塊密碼,它是將明文消息經過編碼表示後的二進制序列m0,m1,......,mi,......劃分成若干個固定長度(p)的組(或塊)m=(m0,m1,......,mn),各組分別在密鑰K=(K0,K1,......,Kt-1)的控制下轉換成長度為n的密文分組C=(C0,C1,......,Cn-1)。其本質是一個從明文空間(m長的比特串的集合)P到密文空間(n長的比特串的集合)C的一一映射。(一般而言,p=n)
當分組長度較小時候,攻擊者通過窮舉明文空間,得到密碼變換規律,難以抵擋選擇明文攻擊。
如果密鑰量小,攻擊者可以有效地通過窮舉密鑰,對密文進行解密,來得到有意義的明文,難以抵擋唯密文攻擊。
使攻擊者出了窮舉法攻擊以外,找不到其它有效地數學破譯方法。
便於軟體和硬體的實現,性能好。
使用迭代方式,由簡單得、容易實現的模塊搭建出抗破譯能力強的分組密碼演算法;
每個模塊各司其責、互相彌補對方的缺點,合作完成分組密碼演算法的搭建工作。
擴散是指要將演算法設計成明文每一比特的變化盡可能多的影響到輸出密文序列的變化,以便隱蔽明文的統計特性。形象地稱為雪崩效應。
擴散的另外一層意思是密鑰每一位的影響盡可能迅速地擴展到較多的密文比特中去。即擴散的目的是希望密文中的任一比特都要盡可能與明文、密鑰相關聯,或者說,明文和密鑰中的任一比特值發生改變,都會在某種程度上影響到密文值得變化,以防止將密鑰分解成若干個孤立小部分,然後各個擊破。
混亂,指在加解密變換過程中明文、密鑰以及密文之間的關系盡可能地復雜化,以防密碼破譯者採用解析法(即通過建立並求解一些方程)進行破譯攻擊。
混亂可以用「攪拌機」來形象地解釋,將一組明文和一組密鑰輸入到演算法中,經過充分混合,最終變成密文。同時要求,執行這種「混亂」作業的每一步都必須是可逆的,即明文混亂以後能得到密文,反之,密文經過逆向的混亂操作後能恢復到明文。(按照混亂原則,分組密碼演算法應該有復雜的非線性因素)
依次使用兩個或者兩個以上的基本密碼,所得結果的密碼強度將強於所有單個密碼的強度,即乘積密碼是擴散和混亂兩種基本密碼操作的組合變換,這樣能夠產生比個子單獨使用時更強大的密碼系統。選擇某個較為簡單的密碼變換(包含多個基本密碼),在密鑰控制下以迭代方式多次利用它進行加密變換,就可以實現預期的擴散和混亂效果。
SP網路是由多重S變換和P變換組合成的變換網路,它是乘積密碼的一種。其基本操作是S變換(代替)和P變換(換位),前者稱為S盒,後者稱為P盒。S盒起到混亂作用,P盒起到擴散的作用。SP網路的構造及S盒、P盒的構造如下圖所示:
SP網路具有雪崩效應。所謂雪崩效應是指,輸入(明文或密鑰)即使只有很小的變化,也會導致輸出產生巨大的變化現象。
能夠抵禦選擇明文攻擊
能夠抵禦唯密文攻擊
輪函數F是分組密碼的核心,是分組密碼中單輪加密解密函數,其基本准則:
其主要性能指標是:安全性、速度、靈活性。
子密鑰的生成也是也是迭代分組演算法的一個重要組成部分,是從初始(種子)密鑰產生迭代的各輪要使用的子密鑰的演算法。也就是說,輪函數F的功能是在子密鑰的參與和控制下實現的子密鑰的生成很重要,其評價指標:
1.實現簡單、速度滿足要求;
2.種子密鑰的所有比特對每個字密鑰比特的影響應大致相同;
3.沒有弱密鑰或弱密鑰容易確定。
分組密碼一般採用簡單的、安全性弱的加密函數進行多輪迭代運算,使得安全性增強。一般來說,分組密碼迭代輪數越多,密碼分析越困難,但也不是追求迭代數越多越好,過多迭代輪數會使加密演算法的性能下降,而安全性增強不明顯。決定迭代輪數的准則:使密碼分析的難度大於簡單窮舉搜索攻擊的難度。分組密碼迭代輪數一般採用8,10,12,16,20的居多。
② 請簡述什麼是序列密碼與分組密碼,它們的區別是什麼
序列密碼(Stream Cipher):
又稱流密碼,將明文消息按字元逐位進行加密。
分組密碼(Block Cipher):
在分組密碼中將明文消息分組(每組有多個字元),逐組進行加密。
③ 分組密碼和流密碼的差別是什麼意思
分組密碼與流密碼的不同之處在於輸出的每一位數字不是只與相應時刻輸入的明文數字有關,而是與一組長為m的明文數字