分組密碼工作模式

電子密碼本(ECB)

最簡(jiǎn)單的加密模式即為電子密碼本(Electronic codebook冰啃,ECB)模式。需要加密的消息按照塊密碼的塊大小被分為數(shù)個(gè)塊赖捌,并對(duì)每個(gè)塊進(jìn)行獨(dú)立加密扛拨。

ECB

本方法的缺點(diǎn)在于同樣的明文塊會(huì)被加密成相同的密文塊;因此葱弟,它不能很好的隱藏?cái)?shù)據(jù)模式壹店。在某些場(chǎng)合,這種方法不能提供嚴(yán)格的數(shù)據(jù)保密性芝加,因此并不推薦用于密碼協(xié)議中硅卢。
ECB模式也會(huì)導(dǎo)致使用它的協(xié)議不能提供數(shù)據(jù)完整性保護(hù),易受到重放攻擊的影響妖混,因此每個(gè)塊是以完全相同的方式解密的老赤。

密碼塊鏈接(CBC)

1976年,IBM發(fā)明了密碼分組鏈接(CBC制市,Cipher-block chaining)模式[14]。在CBC模式中弊予,每個(gè)明文塊先與前一個(gè)密文塊進(jìn)行異或后祥楣,再進(jìn)行加密。在這種方法中汉柒,每個(gè)密文塊都依賴于它前面的所有明文塊误褪。同時(shí),為了保證每條消息的唯一性碾褂,在第一個(gè)塊中需要使用初始化向量兽间。

CBC1

CBC2

CBC是最為常用的工作模式。它的主要缺點(diǎn)在于加密過(guò)程是串行的正塌,無(wú)法被并行化嘀略,而且消息必須被填充到塊大小的整數(shù)倍恤溶。解決后一個(gè)問(wèn)題的一種方法是利用密文竊取
注意在加密時(shí)帜羊,明文中的微小改變會(huì)導(dǎo)致其后的全部密文塊發(fā)生改變咒程,而在解密時(shí),從兩個(gè)鄰接的密文塊中即可得到一個(gè)明文塊讼育。因此帐姻,解密過(guò)程可以被并行化,而解密時(shí)奶段,密文中一位的改變只會(huì)導(dǎo)致其對(duì)應(yīng)的明文塊完全改變和下一個(gè)明文塊中對(duì)應(yīng)位發(fā)生改變饥瓷,不會(huì)影響到其它明文的內(nèi)容。

填充密碼塊鏈接(PCBC)

填充密碼塊鏈接PCBC痹籍,Propagating cipher-block chaining)或稱為明文密碼塊鏈接(Plaintext cipher-block chaining)[15][16]呢铆,是一種可以使密文中的微小更改在解密時(shí)導(dǎo)致明文大部分錯(cuò)誤的模式,并在加密的時(shí)候也具有同樣的特性词裤。

PCBC

PCBC主要用于Kerberos v4WASTE中刺洒,而在其它場(chǎng)合的應(yīng)用較少。對(duì)于使用PCBC加密的消息吼砂,互換兩個(gè)鄰接的密文塊不會(huì)對(duì)后續(xù)塊的解密造成影響[17]逆航。正因?yàn)檫@個(gè)特性,Kerberos v5沒(méi)有使用PCBC渔肩。

密文反饋(CFB)

密文反饋(CFB因俐,Cipher feedback)模式類似于CBC,可以將塊密碼變?yōu)樽酝降?a target="_blank" rel="nofollow">流密碼周偎;工作過(guò)程亦非常相似抹剩,CFB的解密過(guò)程幾乎就是顛倒的CBC的加密過(guò)程:

CFB1

CFB2

與CBC相似,明文的改變會(huì)影響接下來(lái)所有的密文蓉坎,因此加密過(guò)程不能并行化澳眷;而同樣的,與CBC類似蛉艾,解密過(guò)程是可以并行化的钳踊。在解密時(shí),密文中一位數(shù)據(jù)的改變僅會(huì)影響兩個(gè)明文塊:對(duì)應(yīng)明文塊中的一位數(shù)據(jù)與下一塊中全部的數(shù)據(jù)勿侯,而之后的數(shù)據(jù)將恢復(fù)正常拓瞪。

CFB擁有一些CBC所不具備的特性,這些特性與OFB和CTR的流模式相似:只需要使用塊密碼進(jìn)行加密操作助琐,且消息無(wú)需進(jìn)行填充(雖然密文竊取也允許數(shù)據(jù)不進(jìn)行填充)

輸出反饋(OFB)

輸出反饋模式(Output feedback, OFB)可以將塊密碼變成同步的流密碼祭埂。它產(chǎn)生密鑰流的塊,然后將其與明文塊進(jìn)行異或兵钮,得到密文蛆橡。與其它流密碼一樣舌界,密文中一個(gè)位的翻轉(zhuǎn)會(huì)使明文中同樣位置的位也產(chǎn)生翻轉(zhuǎn)。這種特性使得許多錯(cuò)誤校正碼航罗,例如奇偶校驗(yàn)位禀横,即使在加密前計(jì)算,而在加密后進(jìn)行校驗(yàn)也可以得出正確結(jié)果粥血。
由于XOR操作的對(duì)稱性柏锄,加密和解密操作是完全相同的:

image.png

image.png

image.png

每個(gè)使用OFB的輸出塊與其前面所有的輸出塊相關(guān),因此不能并行化處理复亏。然而趾娃,由于明文和密文只在最終的異或過(guò)程中使用,因此可以事先對(duì)IV進(jìn)行加密缔御,最后并行的將明文或密文進(jìn)行并行的異或處理抬闷。
可以利用輸入全0的CBC模式產(chǎn)生OFB模式的密鑰流。這種方法十分實(shí)用耕突,因?yàn)榭梢岳每焖俚腃BC硬件實(shí)現(xiàn)來(lái)加速OFB模式的加密過(guò)程笤成。

計(jì)數(shù)器模式(CTR)

CTR模式(Counter mode,CM)也被稱為ICM模式(Integer Counter Mode眷茁,整數(shù)計(jì)數(shù)模式)和SIC模式(Segmented Integer Counter)炕泳。
與OFB相似,CTR將塊密碼變?yōu)?a target="_blank" rel="nofollow">流密碼上祈。它通過(guò)遞增一個(gè)加密計(jì)數(shù)器以產(chǎn)生連續(xù)的密鑰流培遵,其中,計(jì)數(shù)器可以是任意保證長(zhǎng)時(shí)間不產(chǎn)生重復(fù)輸出的函數(shù)登刺,但使用一個(gè)普通的計(jì)數(shù)器是最簡(jiǎn)單和最常見(jiàn)的做法籽腕。使用簡(jiǎn)單的、定義好的輸入函數(shù)是有爭(zhēng)議的:批評(píng)者認(rèn)為它“有意的將密碼系統(tǒng)暴露在已知的纸俭、系統(tǒng)的輸入會(huì)造成不必要的風(fēng)險(xiǎn)”[18]皇耗。當(dāng)前,CTR已經(jīng)被廣泛的使用了揍很,由輸入函數(shù)造成的問(wèn)題被認(rèn)為是使用的塊密碼的缺陷廊宪,而非CTR模式本身的弱點(diǎn)[19]。無(wú)論如何女轿,有一些特別的攻擊方法,例如基于使用簡(jiǎn)單計(jì)數(shù)器作為輸入的硬件差錯(cuò)攻擊[20]壕翩。

CTR模式的特征類似于OFB蛉迹,但它允許在解密時(shí)進(jìn)行隨機(jī)存取。由于加密和解密過(guò)程均可以進(jìn)行并行處理放妈,CTR適合運(yùn)用于多處理器的硬件上北救。

注意圖中的“nonce”與其它圖中的IV(初始化向量)相同荐操。IV、隨機(jī)數(shù)和計(jì)數(shù)器均可以通過(guò)連接珍策,相加或異或使得相同明文產(chǎn)生不同的密文托启。

image.png

image.png

來(lái)源:維基百科

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市攘宙,隨后出現(xiàn)的幾起案子屯耸,更是在濱河造成了極大的恐慌,老刑警劉巖蹭劈,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疗绣,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡铺韧,警方通過(guò)查閱死者的電腦和手機(jī)多矮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)哈打,“玉大人塔逃,你說(shuō)我怎么就攤上這事×险蹋” “怎么了湾盗?”我有些...
    開(kāi)封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)罢维。 經(jīng)常有香客問(wèn)我淹仑,道長(zhǎng),這世上最難降的妖魔是什么肺孵? 我笑而不...
    開(kāi)封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任匀借,我火速辦了婚禮,結(jié)果婚禮上平窘,老公的妹妹穿的比我還像新娘吓肋。我一直安慰自己,他們只是感情好瑰艘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布是鬼。 她就那樣靜靜地躺著,像睡著了一般紫新。 火紅的嫁衣襯著肌膚如雪均蜜。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天芒率,我揣著相機(jī)與錄音囤耳,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛充择,可吹牛的內(nèi)容都是我干的德玫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼椎麦,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼宰僧!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起观挎,我...
    開(kāi)封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤琴儿,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后键兜,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體凤类,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年普气,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了谜疤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡现诀,死狀恐怖夷磕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情仔沿,我是刑警寧澤坐桩,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站封锉,受9級(jí)特大地震影響绵跷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜成福,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一碾局、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧奴艾,春花似錦净当、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至潭苞,卻和暖如春忽冻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背此疹。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工甚颂, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蜜猾,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓振诬,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親衍菱。 傳聞我的和親對(duì)象是個(gè)殘疾皇子赶么,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

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

  • 概述 什么是模式 第三章介紹的對(duì)稱密碼算法DES、AES都屬于分組密碼脊串,分組密碼的特點(diǎn)是分組的長(zhǎng)度是固定的辫呻。但是由...
    JMasche閱讀 3,088評(píng)論 0 4
  • 簡(jiǎn)介 密碼學(xué)中,分組(block)密碼的工作模式(mode of operation)允許使用同一個(gè)分組密碼密鑰對(duì)...
    夜月行者閱讀 2,658評(píng)論 0 0
  • 3.分組密碼的模式 前面介紹的DES和AES都屬于分組密碼琼锋,它們只能加密固定長(zhǎng)度的明文放闺。如果需要加密任意長(zhǎng)度的明文...
    husky_1閱讀 3,499評(píng)論 0 0
  • 重點(diǎn):分組密碼的設(shè)計(jì)思想分組密碼的基本特點(diǎn)AES、DES密碼算法AES和DES各自組成缕坎、每部分的實(shí)現(xiàn)過(guò)程以及特點(diǎn)A...
    七八音閱讀 2,743評(píng)論 1 2
  • 之前畫的都是成人版怖侦,今天挑戰(zhàn)一下Q版的小孩,最近好像這些小戲骨們很火谜叹,就跟風(fēng)畫一下匾寝! 我畫筆下的林黛玉是不是有點(diǎn)萌...
    半糖洛洛閱讀 843評(píng)論 0 6