【分組密碼的工作模式】|分組密碼 | 密碼學(xué) | 信息安全 | ECB | CBC | CFB| OF B| CTR|_嗶哩嗶哩_bilibili
ECB
- 優(yōu)點(diǎn):可并行加密掂僵。
- 缺點(diǎn):不具備完整保護(hù)性夭委,而且相同明文具有相同密文。
CBC
上一個(gè)密文的輸出沥阱,會(huì)異或上當(dāng)前的明文分組再做加密
- 優(yōu)點(diǎn):具備數(shù)據(jù)完整性保護(hù)浪感∥敉罚混淆具有擴(kuò)散效果。提高了安全性影兽。
- 缺點(diǎn): 錯(cuò)誤會(huì)傳播揭斧,(加密)不適合并行處理。
IV值的注意事項(xiàng)
固定IV
不要使用固定IV赢笨。 對(duì)于CBC加密數(shù)據(jù)的第一個(gè)塊未蝌,會(huì)引入 ECB的問題。實(shí)際傳輸中茧妒,很多消息會(huì)有相似或相同的首個(gè)分組萧吠。
計(jì)數(shù)器IV
也有問題。 兩個(gè)計(jì)數(shù)值只有少量桐筏,比如1個(gè)比特不同時(shí)(計(jì)數(shù)值漢明距離較兄叫汀),那么不同的兩個(gè)消息有概率碰巧產(chǎn)生相同的首個(gè)密文分組梅忌。例:不同的兩個(gè)消息的第一個(gè)塊的差異較小狰腌,且剛好差異處 和 計(jì)數(shù)值的差異比特位置一樣,異或以后剛好抵消差異牧氮,那么將會(huì)生成相同的首個(gè)密文分組琼腔。
雖然可能性比較小,但是 我們不能讓攻擊者察覺到這個(gè)踱葛,利用這個(gè)來推導(dǎo)出明文直接的差異丹莲。
隨機(jī)IV
隨機(jī)IV方案 可以采用。但是 采用的隨機(jī)IV 必須讓 接收者知道尸诽。 標(biāo)準(zhǔn)的做法:將隨機(jī)IV作為第一個(gè)塊甥材,附加到 CBC密文消息的前頭。
這也是隨機(jī)值IV的缺點(diǎn): 當(dāng)消息長(zhǎng)度很短的時(shí)候性含,卻要花費(fèi)一個(gè)分組長(zhǎng)度的代價(jià)來傳遞IV值洲赵。
瞬時(shí)IV
瞬時(shí)值 nonce : number used once
對(duì)于同一密鑰,瞬時(shí)值不能使用第二次商蕴。瞬時(shí)值 通常是 消息的某種編號(hào)叠萍,可能還結(jié)合上其他信息構(gòu)造而成。
- 瞬時(shí)IV的方案 分兩步驟:①獲得瞬時(shí)IV ②加密瞬時(shí)IV究恤,得到IV值俭令。之所以加密,是考慮到 攻擊者可能完全掌握瞬時(shí)值的生成部宿。
- IV值同樣 也必須讓 接收者能取得抄腔,那可能需要給密文添加額外信息,讓接收者至少能恢復(fù)瞬時(shí)值理张。 不需要把整個(gè)IV值給過去赫蛇,比如在密文開頭也給出消息編號(hào),或者利用一些別的隱含信息雾叭,使得接收者可以恢復(fù)Nonce悟耘,以至加密瞬時(shí)值得到同樣的IV值。
- 大多數(shù)系統(tǒng)而言织狐,一般32~48bit的消息編號(hào)長(zhǎng)度足夠大了暂幼。開銷遠(yuǎn)小于一個(gè)塊長(zhǎng)度筏勒。甚至如果系統(tǒng)本身就有消息計(jì)數(shù)器,或者傳輸利用的是隱含計(jì)數(shù)器的可靠信道旺嬉,可以做到?jīng)]有任何額外開銷管行。
OFB
CTR
CFB
加密算法的輸入是 前一個(gè)密文塊(首個(gè)是IV)。明文本身不被加密而是與加密器的輸出做異或邪媳。
若 s = 128捐顷,(對(duì)于AES就是 blocksize)那就是分組模式。
若 s 小于 blocksize雨效,比如s = 8迅涮,那么 每次異或的是 s比特
加密算法的輸入位數(shù)是 b (block size)徽龟,數(shù)據(jù)是 移位寄存器
異或的 位數(shù) 就是 分片單位 s 比特叮姑。
表示移位寄存器的高s比特被頂出丟棄,尾部拼接入異或器的輸出据悔。