4.分組密碼

引人入勝

重點:

分組密碼的設計思想

分組密碼的基本特點

AES、DES密碼算法

AES和DES各自組成、每部分的實現過程以及特點

AES和DES的相似和不同

分組密碼的五種操作模式各自特點(重點:ECB,CBC,CTR)

1 分組密碼


分組密碼簡圖

1.1 概述

? ? -應用最為廣泛、影響最大的一種密碼體制,

? ? -主要任務是提供數據保密性,也可以用到許多方面,如構造偽隨機數生成器、序列密碼、認證碼和哈希函數等

? ? -又分為對稱分組密碼和非對稱分組密碼;習慣上,分組密碼一詞多指:對稱分組密碼,簡稱分組密碼

? ? -由于分組密碼加解密速度較快,安全性好,以及得到許多密碼芯片的支持,現代分組密碼發展非常快,應用廣泛

1.2 含義


1.3 分組密碼要求

分組長度足夠大:分組長度較小時,難于抵御選擇明文攻擊

密鑰量足夠大:密鑰量小,攻擊者可以通過窮舉密鑰的方法進行破譯

密碼變換足夠復雜:除了窮舉攻擊外,找不到其他有效的攻擊方法

加密和解密運算簡單:便于軟件和硬件實現,性能好

無數據擴散或壓縮:實際應用中很重要。

1.4 設計思想

(1)擴散

要將算法設計成明文每一比特的變化盡可能多得影響到輸出密文序列的變化,以便隱蔽明文的統計特性。形象地成為雪崩效應。

另一層意思是密鑰每一位的影響盡可能迅速地擴散到較多的密文比特中去。擴散的目的是希望密文中的任一比特都要盡可能與明文、密鑰相關聯,或者說,明文和密鑰中任何一比特值發生改變,都會某種程度上影響到密文值的變化,以防止將明文或密鑰分解成若干個孤立的小部分,然后被各個擊破。

(2)混亂

加解密變換過程中明文、密鑰以及密文之間的關系盡可能地復雜化,以防密碼破譯者采用解析法(即通過建立并求解一些方程)進行破譯攻擊。

混亂可以用“攪拌機”來形象地解釋,將一組明文和一組密鑰輸入到算法中,經過充分混合,最后變成密文。同時要求,執行這種“混亂”作業的每一步都必須是可逆的,即明文混亂以后得到密文,反之,密文經過逆向的混亂操作后能會付出明文。(按照混亂原則,分組密碼算法應有復雜的非線性因素)

1.5?分組密碼的基本特點

(1)分組長度:能夠抵御選擇明文攻擊

(2)密鑰長度:能夠抵御窮舉攻擊

(3)子密鑰

子密鑰的生成是迭代分組算法的一個重要組成部分,是從初始(種子)密鑰產生各輪迭代要使用的子密鑰的算法

輪函數F的功能是在子密鑰的參與和控制下實現的,

評價指標:

????????實現簡單、速度,滿足輪函數F的要求;

????????種子密鑰的所有比特對每個子密鑰比特的影響大致相同

????????沒有弱密鑰或弱密鑰容易確定

(4)輪函數F

輪函數F的設計準則(輪函數F是分組密碼的核心,是分組密碼中單輪加解密函數)

? ? ? ? --非線性:主要依賴S盒

? ? ? ? --可逆性:能夠實現解密

? ? ? ? --雪崩效應

主要性能指標是:安全性、速度、靈活性。

(5)迭代

分組密碼一般采用簡單的、安全性弱的密碼函數進行多輪迭代運算,使得安全性增強。一般來說,分組密碼迭代輪數越多,密碼分析越困難;但也不是越多越好,過多會使加解密算法性能下降。

決定迭代論述的準則:密碼算法分析的難度大于簡單窮舉搜索攻擊的難度;

分組密碼迭代輪數一般采用8/10/12/16/20

2 DES算法

2.1 概述

分組加密算法:明文和密文為64位分組長度

密碼算法:加密和解密除密鑰編排不同外,使用同一算法

密鑰長度:56位,但存在弱密鑰,容易避開

采用混亂和擴散的組合,每個組合先代換后置換,共16輪;

只使用了簡單的邏輯運算,易于實現,速度快

現代密碼學誕生的標志之一,揭開了商用密碼研究的序幕

2.2 加密流程圖


公式化描述:

輪函數F實現流程:

壓縮替代S盒:

2.3 解密算法

公式化描述

解密流程圖:

2.4 DES安全性

(1)互補性

互補性會使DES在選擇明文攻擊下所需的工作量減半

(2)弱密鑰和半弱密鑰

弱密鑰

????如果給定初始密鑰k,經過子密鑰產生器產生的各個子密鑰都相同,即有 k1=k2=…=k16,則稱給定的初始密鑰k為弱密鑰

????若k為弱密鑰,則對任意的64bit信息有: Ek(Ek(m))=m和Dk(Dk(m))=m

半弱密鑰

????若給定初始密鑰k,產生的16個子密鑰只有兩種,且每種都出現8次,則稱k為半弱密鑰。

????半弱密鑰特點是成對出現

????此外,還有四分之一弱密鑰和八分之一弱密鑰;

(3)密鑰搜索

DES的強度:56比特的密鑰長度

AES(128位)取代DES

(4)差分分析和線性分析

查分分析

????????一種攻擊迭代密碼體制的選擇明文攻擊方法,不是直接分析密文或密鑰和明文的統計相關性,而是分析一對給定明文的異或與對應密文對的異或之間的統計相關性。

????????基本思想:在攻擊的迭代密碼系統中找出某些高概率的明文差分和密文差分對來推算密鑰;

????????理論上有意義 2^47

線性分析

????????試圖通過大量的“明-密文對”找出分組密碼算法中與密鑰有關的線性方程,然后試著得到大量的這類關系從而確定密鑰。

????????基本思想是 以最佳的先行函數逼近DES的非線性變換S盒,是一種已知明文攻擊方法

????????針對DES在實際上仍然不可行

3. AES算法

3.1 算法特點

安全性:穩定的數學基礎,沒有算法弱點,算法抗密碼分析強度高

性能:能在多個平臺上以較快的速度實現

大小:不占用大量的存儲空間和內存

易實現:靈活性、硬件和軟件適應性、算法的簡單性

3.2 分類

加密流程:

輪函數加密:

行位移:

列混淆:

3.3?AES設計上的考慮

與DES相比,擴散的效果更快,即兩輪可達到完全擴散;

S盒使用清晰而簡單的代數方法構造,避免任何對算法留有后門的懷疑

密鑰擴散方案實現對密鑰位的非線性混合,即實現了均等效應,也實現了非對稱性

比窮舉攻擊更好的攻擊進行到6輪,多出4輪可以提供足夠的安全性(AES-128)

3.4 安全性

弱密鑰:設計上不是對稱的,其加密和解密過程不一致,這也避免弱密鑰的存在;

差分分析和線性分析:在設計時考慮了這兩種攻擊的方法,因此AES具有較好的抗擊其攻擊的能力。

密鑰窮舉攻擊:平均需要2^127次AES運算,按目前的計算不能力是不可能完成的

3.5 AES和DES對比

(1)相似之處

兩者的輪函數都是有四層構成,非線性層,移位層,線性混合層、子密鑰異或,知識順序不同;

AES的非線性運算是字節代換,對應于DES中的非線性運算S盒

行移位運算保證了每一行的字節不僅僅影響其他行對應的字節,而且影響其他行所有的字節,這與DES中置換P相似;

AES中的列混淆運算的目的是讓不同的字節相互影響,而DES中F函數的輸出與左邊一半數據相加也有類似的效果。

AES的子密鑰異或對應于DES中S盒之前的子密鑰異或。

(2)不同之處

AES的密鑰長度(128、192、256)是可變的,而DES的密鑰長度固定為56位

DES是面相比特的運算,AES是面相字節的運算

AES的加密運算和解密運算不一致,因而加密器不能同時做解密器,而DES的加密器可用做解密器,只是子密鑰的順序不同。

4.分組密碼的操作模式

分組加密算法智能加密固定長度的分組,通常加密的明文長度會超過分組密碼的分組長度,這是需要對分組密碼算法進行迭代,以便將很長的明文全部加密,而迭代的方法就稱為分組密碼的模式。

密碼模式通常是基本密碼、一些反饋和一些簡單運算的組合。

4.1?ECB--電子密碼本模式:Electronic Code Book


示意圖

模式特點:

模式操作簡單,主要用于內容較短且隨機的報文的加密傳遞;

相同明文(在相同密鑰下)得出相同的密文,即明文中的重復內容可能將在密文中表現出來,易實現統計分析攻擊、分組重放攻擊和代換攻擊

鏈接依賴性:各組的加密都獨立于其他分組,可實現并行處理

錯誤傳播:單個密文分組中有一個或多個比特錯誤只會影響該分組的解密結果

4.2 CBC--密碼分組鏈接模式:Clipher Block Chaining

示意圖

模式特點:

一種反饋機制在分組密碼中的應用,每個密文分組不僅依賴于產生它的明文分組,還依賴于它前面的所有分組;

相同的明文,即使相同的密鑰下也會得到不同的密文分組,隱藏了明文的統計特性;

鏈接依賴性:對于一個正確密文分組的正確解密要求它之前的那個密文分組也正確,不能實現并行處理;

錯誤傳播:密文分組中的一個分組出現錯誤會影響到本組和其后分組的揭解密,錯誤傳播為兩組;

初始化向量IV不需要保密,它可以明文相似與密文一起傳送。

4.3?CTR--計數器模式:Counter

模式特點:

效率高:能并行處理多塊明(密)文,可用來提供流水線、每個時鐘周期的多指令分派等并行特征;

預處理:基本加密算法的執行并不依靠明文或密文的輸入,可預先處理,當給出明文或密文時,所需的計算僅是進行一系列的以后運算;

隨機訪問:密文的第i個明文組能夠用一種隨機訪問的方式處理;

簡單性:只要求實現加密算法而不要求實現解密算法,像AEs這類加解密算法不同就更能體現CTR的簡單性。

4.4?CFB--密文反饋模式:Cipher Feedback

模式特點:

消息被看做數據分組流,不需要整個數據接受完后才能進行加解密;

可用于自同步序列密碼;

具有CBC模式的優點

對信道錯誤較敏感且會造成錯誤傳播

數據加解密的速率降低,其數據率不會太高

4.5?OFB--輸出反饋模式:Output Feedback

模式特點:

OFB模式是CFB模式的一種變形,克服由錯誤傳播帶來的問題,但對密文被篡改難于進行檢測;

OFB模式不有自同步能力,要求系統保持嚴格的同步,否則難于解密;

4.6 小結

EBC:最快、最簡單;安全性最弱,不推薦;若果是加密隨機數,如密鑰,ECB是最好的選擇

CBC:適合文件加密,且有少量錯誤時不會造成同步失敗;軟件加密的最后選擇;

CTR:結合ECB和CBC的優點,ATM網絡和IPSec中起到重要作用;

CFB:加密分組序列所選擇;能容忍少量錯誤擴展,且具有同步恢復功能;

OFB:在極易出錯的環境中選用的模式,需有高速同步機制。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,606評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,582評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,540評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,028評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,801評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,223評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,294評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,442評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,976評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,800評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,996評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,543評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,233評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,662評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,926評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,702評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,991評論 2 374

推薦閱讀更多精彩內容

  • 本文主要介紹移動端的加解密算法的分類、其優缺點特性及應用,幫助讀者由淺入深地了解和選擇加解密算法。文中會包含算法的...
    蘋果粉閱讀 11,540評論 5 29
  • 這篇文章主要講述在Mobile BI(移動商務智能)開發過程中,在網絡通信、數據存儲、登錄驗證這幾個方面涉及的加密...
    雨_樹閱讀 2,562評論 0 6
  • 前言 《圖解密碼技術》一書介紹了很多關于密碼的知識,通讀一遍需要不少時間。為了方便學習,我對書中關鍵的部分進行了總...
    咖枯閱讀 7,242評論 1 25
  • 概述 什么是模式 第三章介紹的對稱密碼算法DES、AES都屬于分組密碼,分組密碼的特點是分組的長度是固定的。但是由...
    JMasche閱讀 3,114評論 0 4
  • 今天學習歸來,看著孩子們好奇的眼神就知道他們也想我了,分離兩周,多虧了實習生雅和曹老師,愛她們。同時更感恩她們。準...
    親愛的上善若水閱讀 221評論 0 1