4.分組密碼

引人入勝

重點:

分組密碼的設(shè)計思想

分組密碼的基本特點

AES、DES密碼算法

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

AES和DES的相似和不同

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

1 分組密碼


分組密碼簡圖

1.1 概述

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

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

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

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

1.2 含義


1.3 分組密碼要求

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

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

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

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

無數(shù)據(jù)擴散或壓縮:實際應用中很重要。

1.4 設(shè)計思想

(1)擴散

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

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

(2)混亂

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

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

1.5?分組密碼的基本特點

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

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

(3)子密鑰

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

輪函數(shù)F的功能是在子密鑰的參與和控制下實現(xiàn)的,

評價指標:

????????實現(xiàn)簡單、速度,滿足輪函數(shù)F的要求;

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

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

(4)輪函數(shù)F

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

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

? ? ? ? --可逆性:能夠?qū)崿F(xiàn)解密

? ? ? ? --雪崩效應

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

(5)迭代

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

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

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

2 DES算法

2.1 概述

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

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

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

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

只使用了簡單的邏輯運算,易于實現(xiàn),速度快

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

2.2 加密流程圖


公式化描述:

輪函數(shù)F實現(xiàn)流程:

壓縮替代S盒:

2.3 解密算法

公式化描述

解密流程圖:

2.4 DES安全性

(1)互補性

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

(2)弱密鑰和半弱密鑰

弱密鑰

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

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

半弱密鑰

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

????半弱密鑰特點是成對出現(xiàn)

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

(3)密鑰搜索

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

AES(128位)取代DES

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

查分分析

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

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

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

線性分析

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

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

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

3. AES算法

3.1 算法特點

安全性:穩(wěn)定的數(shù)學基礎(chǔ),沒有算法弱點,算法抗密碼分析強度高

性能:能在多個平臺上以較快的速度實現(xiàn)

大?。翰徽加么罅康拇鎯臻g和內(nèi)存

易實現(xiàn):靈活性、硬件和軟件適應性、算法的簡單性

3.2 分類

加密流程:

輪函數(shù)加密:

行位移:

列混淆:

3.3?AES設(shè)計上的考慮

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

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

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

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

3.4 安全性

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

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

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

3.5 AES和DES對比

(1)相似之處

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

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

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

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

AES的子密鑰異或?qū)贒ES中S盒之前的子密鑰異或。

(2)不同之處

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

DES是面相比特的運算,AES是面相字節(jié)的運算

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

4.分組密碼的操作模式

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

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

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


示意圖

模式特點:

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

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

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

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

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

示意圖

模式特點:

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

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

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

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

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

4.3?CTR--計數(shù)器模式:Counter

模式特點:

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

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

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

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

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

模式特點:

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

可用于自同步序列密碼;

具有CBC模式的優(yōu)點

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

數(shù)據(jù)加解密的速率降低,其數(shù)據(jù)率不會太高

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

模式特點:

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

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

4.6 小結(jié)

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

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

CTR:結(jié)合ECB和CBC的優(yōu)點,ATM網(wǎng)絡和IPSec中起到重要作用;

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

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

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

友情鏈接更多精彩內(nèi)容