4.分組密碼

引人入勝

重點(diǎn):

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

分組密碼的基本特點(diǎn)

AES姐霍、DES密碼算法

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

AES和DES的相似和不同

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

1 分組密碼


分組密碼簡(jiǎn)圖

1.1 概述

? ? -應(yīng)用最為廣泛娱节、影響最大的一種密碼體制最域,

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

? ? -又分為對(duì)稱分組密碼和非對(duì)稱分組密碼侧巨;習(xí)慣上,分組密碼一詞多指:對(duì)稱分組密碼贼陶,簡(jiǎn)稱分組密碼

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

1.2 含義


1.3 分組密碼要求

分組長(zhǎng)度足夠大:分組長(zhǎng)度較小時(shí)撮胧,難于抵御選擇明文攻擊

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

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

加密和解密運(yùn)算簡(jiǎn)單:便于軟件和硬件實(shí)現(xiàn)芹啥,性能好

無數(shù)據(jù)擴(kuò)散或壓縮:實(shí)際應(yīng)用中很重要锻离。

1.4 設(shè)計(jì)思想

(1)擴(kuò)散

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

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

(2)混亂

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

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

1.5?分組密碼的基本特點(diǎn)

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

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

(3)子密鑰

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

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

評(píng)價(jià)指標(biāo):

????????實(shí)現(xiàn)簡(jiǎn)單逛拱、速度,滿足輪函數(shù)F的要求台猴;

????????種子密鑰的所有比特對(duì)每個(gè)子密鑰比特的影響大致相同

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

(4)輪函數(shù)F

輪函數(shù)F的設(shè)計(jì)準(zhǔn)則(輪函數(shù)F是分組密碼的核心朽合,是分組密碼中單輪加解密函數(shù))

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

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

? ? ? ? --雪崩效應(yīng)

主要性能指標(biāo)是:安全性、速度饱狂、靈活性曹步。

(5)迭代

分組密碼一般采用簡(jiǎn)單的、安全性弱的密碼函數(shù)進(jìn)行多輪迭代運(yùn)算休讳,使得安全性增強(qiáng)讲婚。一般來說,分組密碼迭代輪數(shù)越多俊柔,密碼分析越困難筹麸;但也不是越多越好活合,過多會(huì)使加解密算法性能下降。

決定迭代論述的準(zhǔn)則:密碼算法分析的難度大于簡(jiǎn)單窮舉搜索攻擊的難度物赶;

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

2 DES算法

2.1 概述

分組加密算法:明文和密文為64位分組長(zhǎng)度

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

密鑰長(zhǎng)度:56位,但存在弱密鑰块差,容易避開

采用混亂和擴(kuò)散的組合侵续,每個(gè)組合先代換后置換,共16輪憨闰;

只使用了簡(jiǎn)單的邏輯運(yùn)算状蜗,易于實(shí)現(xiàn),速度快

現(xiàn)代密碼學(xué)誕生的標(biāo)志之一鹉动,揭開了商用密碼研究的序幕

2.2 加密流程圖


公式化描述:

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

壓縮替代S盒:

2.3 解密算法

公式化描述

解密流程圖:

2.4 DES安全性

(1)互補(bǔ)性

互補(bǔ)性會(huì)使DES在選擇明文攻擊下所需的工作量減半

(2)弱密鑰和半弱密鑰

弱密鑰

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

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

半弱密鑰

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

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

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

(3)密鑰搜索

DES的強(qiáng)度:56比特的密鑰長(zhǎng)度

AES(128位)取代DES

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

查分分析

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

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

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

線性分析

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

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

????????針對(duì)DES在實(shí)際上仍然不可行

3. AES算法

3.1 算法特點(diǎn)

安全性:穩(wěn)定的數(shù)學(xué)基礎(chǔ)吹截,沒有算法弱點(diǎn)瘦陈,算法抗密碼分析強(qiáng)度高

性能:能在多個(gè)平臺(tái)上以較快的速度實(shí)現(xiàn)

大小:不占用大量的存儲(chǔ)空間和內(nèi)存

易實(shí)現(xiàn):靈活性波俄、硬件和軟件適應(yīng)性晨逝、算法的簡(jiǎn)單性

3.2 分類

加密流程:

輪函數(shù)加密:

行位移:

列混淆:

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

與DES相比,擴(kuò)散的效果更快弟断,即兩輪可達(dá)到完全擴(kuò)散咏花;

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

密鑰擴(kuò)散方案實(shí)現(xiàn)對(duì)密鑰位的非線性混合阀趴,即實(shí)現(xiàn)了均等效應(yīng)昏翰,也實(shí)現(xiàn)了非對(duì)稱性

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

3.4 安全性

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

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

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

3.5 AES和DES對(duì)比

(1)相似之處

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

AES的非線性運(yùn)算是字節(jié)代換边篮,對(duì)應(yīng)于DES中的非線性運(yùn)算S盒

行移位運(yùn)算保證了每一行的字節(jié)不僅僅影響其他行對(duì)應(yīng)的字節(jié)己莺,而且影響其他行所有的字節(jié),這與DES中置換P相似戈轿;

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

AES的子密鑰異或?qū)?yīng)于DES中S盒之前的子密鑰異或思杯。

(2)不同之處

AES的密鑰長(zhǎng)度(128胜蛉、192、256)是可變的智蝠,而DES的密鑰長(zhǎng)度固定為56位

DES是面相比特的運(yùn)算腾么,AES是面相字節(jié)的運(yùn)算

AES的加密運(yùn)算和解密運(yùn)算不一致,因而加密器不能同時(shí)做解密器杈湾,而DES的加密器可用做解密器解虱,只是子密鑰的順序不同。

4.分組密碼的操作模式

分組加密算法智能加密固定長(zhǎng)度的分組漆撞,通常加密的明文長(zhǎng)度會(huì)超過分組密碼的分組長(zhǎng)度殴泰,這是需要對(duì)分組密碼算法進(jìn)行迭代,以便將很長(zhǎng)的明文全部加密浮驳,而迭代的方法就稱為分組密碼的模式悍汛。

密碼模式通常是基本密碼、一些反饋和一些簡(jiǎn)單運(yùn)算的組合至会。

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


示意圖

模式特點(diǎn):

模式操作簡(jiǎn)單离咐,主要用于內(nèi)容較短且隨機(jī)的報(bào)文的加密傳遞;

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

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

錯(cuò)誤傳播:?jiǎn)蝹€(gè)密文分組中有一個(gè)或多個(gè)比特錯(cuò)誤只會(huì)影響該分組的解密結(jié)果

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

示意圖

模式特點(diǎn):

一種反饋機(jī)制在分組密碼中的應(yīng)用术陶,每個(gè)密文分組不僅依賴于產(chǎn)生它的明文分組凑懂,還依賴于它前面的所有分組;

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

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

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

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

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

模式特點(diǎn):

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

預(yù)處理:基本加密算法的執(zhí)行并不依靠明文或密文的輸入辣垒,可預(yù)先處理望侈,當(dāng)給出明文或密文時(shí),所需的計(jì)算僅是進(jìn)行一系列的以后運(yùn)算勋桶;

隨機(jī)訪問:密文的第i個(gè)明文組能夠用一種隨機(jī)訪問的方式處理脱衙;

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

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

模式特點(diǎn):

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

可用于自同步序列密碼鹃锈;

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

對(duì)信道錯(cuò)誤較敏感且會(huì)造成錯(cuò)誤傳播

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

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

模式特點(diǎn):

OFB模式是CFB模式的一種變形,克服由錯(cuò)誤傳播帶來的問題屎债,但對(duì)密文被篡改難于進(jìn)行檢測(cè)仅政;

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

4.6 小結(jié)

EBC:最快、最簡(jiǎn)單躯喇;安全性最弱辫封,不推薦;若果是加密隨機(jī)數(shù),如密鑰倦微,ECB是最好的選擇

CBC:適合文件加密檀咙,且有少量錯(cuò)誤時(shí)不會(huì)造成同步失敗璃诀;軟件加密的最后選擇;

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

CFB:加密分組序列所選擇;能容忍少量錯(cuò)誤擴(kuò)展裁良,且具有同步恢復(fù)功能凿将;

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末牧抵,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子侨把,更是在濱河造成了極大的恐慌犀变,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件秋柄,死亡現(xiàn)場(chǎng)離奇詭異获枝,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)骇笔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門省店,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人笨触,你說我怎么就攤上這事懦傍。” “怎么了芦劣?”我有些...
    開封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵粗俱,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我虚吟,道長(zhǎng)源梭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任稍味,我火速辦了婚禮废麻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘模庐。我一直安慰自己烛愧,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著怜姿,像睡著了一般慎冤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上沧卢,一...
    開封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天蚁堤,我揣著相機(jī)與錄音,去河邊找鬼但狭。 笑死披诗,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的立磁。 我是一名探鬼主播呈队,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼唱歧!你這毒婦竟也來了宪摧?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤颅崩,失蹤者是張志新(化名)和其女友劉穎几于,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沿后,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡孩革,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了得运。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片膝蜈。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖熔掺,靈堂內(nèi)的尸體忽然破棺而出饱搏,到底是詐尸還是另有隱情,我是刑警寧澤置逻,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布推沸,位于F島的核電站,受9級(jí)特大地震影響券坞,放射性物質(zhì)發(fā)生泄漏鬓催。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一恨锚、第九天 我趴在偏房一處隱蔽的房頂上張望宇驾。 院中可真熱鬧,春花似錦猴伶、人聲如沸课舍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽筝尾。三九已至捡需,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間筹淫,已是汗流浹背站辉。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留损姜,地道東北人饰剥。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像薛匪,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子脓鹃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 本文主要介紹移動(dòng)端的加解密算法的分類逸尖、其優(yōu)缺點(diǎn)特性及應(yīng)用,幫助讀者由淺入深地了解和選擇加解密算法瘸右。文中會(huì)包含算法的...
    蘋果粉閱讀 11,509評(píng)論 5 29
  • 這篇文章主要講述在Mobile BI(移動(dòng)商務(wù)智能)開發(fā)過程中娇跟,在網(wǎng)絡(luò)通信、數(shù)據(jù)存儲(chǔ)太颤、登錄驗(yàn)證這幾個(gè)方面涉及的加密...
    雨_樹閱讀 2,436評(píng)論 0 6
  • 前言 《圖解密碼技術(shù)》一書介紹了很多關(guān)于密碼的知識(shí)苞俘,通讀一遍需要不少時(shí)間。為了方便學(xué)習(xí)龄章,我對(duì)書中關(guān)鍵的部分進(jìn)行了總...
    咖枯閱讀 7,188評(píng)論 1 25
  • 概述 什么是模式 第三章介紹的對(duì)稱密碼算法DES吃谣、AES都屬于分組密碼,分組密碼的特點(diǎn)是分組的長(zhǎng)度是固定的做裙。但是由...
    JMasche閱讀 3,088評(píng)論 0 4
  • 今天學(xué)習(xí)歸來岗憋,看著孩子們好奇的眼神就知道他們也想我了,分離兩周锚贱,多虧了實(shí)習(xí)生雅和曹老師仔戈,愛她們。同時(shí)更感恩她們拧廊。準(zhǔn)...
    親愛的上善若水閱讀 215評(píng)論 0 1