密碼技術(shù)(四、五)之分組模式(CTR模式)

分組密碼的模式之 CTR模式

CTR模式

?CTR模式的全稱(chēng) CountTeR模式(計(jì)數(shù)器模式)。CTR模式是一種通過(guò)將逐此累加的計(jì)數(shù)器進(jìn)行加密來(lái)生成密鑰流的流密碼。
?CTR模式中,每個(gè)分組對(duì)應(yīng)一個(gè)逐次累加的計(jì)數(shù)器,并通過(guò)對(duì)計(jì)數(shù)器進(jìn)行加密來(lái)生成密鑰流。也就是說(shuō),最終的密文分組是通過(guò)將計(jì)數(shù)器得到的比特序列,與明文分組進(jìn)行XOR而得到的。

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

計(jì)數(shù)器的生成方法

?每次加密時(shí)都會(huì)生成一個(gè)不同值(nonce)來(lái)作為計(jì)數(shù)器的初始值。當(dāng)分組長(zhǎng)度為128比特(16字節(jié))時(shí),計(jì)數(shù)器的初始值可能像下面這樣的形式


xxx.png

其中前8個(gè)字節(jié)為nonce,這個(gè)值在每次加密必須都是不同的。后8個(gè)字節(jié)為分組序號(hào),這個(gè)部分會(huì)逐次累加的。在加密過(guò)程中,計(jì)數(shù)器的值會(huì)產(chǎn)生如下變化。


xxx.png

按照上述生成方法,可以保證計(jì)數(shù)器的值在每次都不同。由于計(jì)數(shù)器的值每次都不同,因此每個(gè)分組中將計(jì)數(shù)器進(jìn)行加密所得到的密鑰流也是不同的。也就是說(shuō),這種方法就是用分組密碼來(lái)模擬生成隨機(jī)的比特序列。

OFB模式與CTR模式的對(duì)比

?CTR模式和OFB模式上一樣,都屬于流密碼。如果我們將單個(gè)的分組的加密過(guò)程拿出來(lái),那么OFB模式和CTR模式之間的差異還是很容易理解的。OFB模式是將加密的輸出反饋到輸入,而CTR模式則是將計(jì)數(shù)器的值用作輸入。


OFB模式與CTR模式的對(duì)比.png

CTR模式的特點(diǎn)

?CTR模式的加密和解密使用了完全相同的結(jié)構(gòu),因此在程序?qū)崿F(xiàn)上比較容易。這一特點(diǎn)和同為流密碼的OFB模式是一樣的。
?CTR模式中可以以任意順序?qū)Ψ纸M進(jìn)行加密和解密,因此在加密和解密時(shí)需要用到“計(jì)數(shù)器”的值可以由nonce和分組序號(hào)直接計(jì)算出來(lái)。這一性質(zhì)是OFB模式所不具備的。
?能夠以任意順序處理分組,就意味著能夠?qū)崿F(xiàn)并行計(jì)算。在職場(chǎng)并行計(jì)算的系統(tǒng)中,CTR模式的速度是非常快的。

錯(cuò)誤與機(jī)密性

?CTR模式也具備和OFB模式差不都的性質(zhì)。假設(shè)CTR模式的密文分組有一個(gè)比特反轉(zhuǎn)了,則解密后的明文分組中僅有與之對(duì)應(yīng)的比特會(huì)被反轉(zhuǎn),這一錯(cuò)誤不會(huì)放大。
?換言之,在CTR模式中,主動(dòng)攻擊者M(jìn)allory可以通過(guò)反轉(zhuǎn)密文分組中的某些比特,引起解密后明文中的相應(yīng)比特也發(fā)生反轉(zhuǎn)。這一弱點(diǎn)和OFB模式是相同的。
?不過(guò)CTR模式模式具備一個(gè)比OFB模式要好的性質(zhì)。在OFB模式中,如果對(duì)密鑰流的一個(gè)分組進(jìn)行加密后期結(jié)果碰巧和加密前是相同的,那么這一分組之后的密鑰流就會(huì)變成同一值的不斷反復(fù)。在CTR模式中就不存在這一問(wèn)題。

擴(kuò)展模式GCM模式

?在CTR模式的基礎(chǔ)上增加“認(rèn)證”功能的模式成為GCM模式(Galois/Counter Mode)這一模式能夠在CTR模式生成密文的同時(shí)生成用于認(rèn)證的信息,從而判斷“密文是否通過(guò)合法的加密過(guò)程”。通過(guò)這一機(jī)制,即便主動(dòng)攻擊者發(fā)送偽造的密文,我們也能夠識(shí)別出“這密文是偽造的”。


該系列的主要內(nèi)容來(lái)自《圖解密碼技術(shù)第三版》
我只是知識(shí)的搬運(yùn)工
文章中的插圖來(lái)源于原著

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

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

  • 概述 什么是模式 第三章介紹的對(duì)稱(chēng)密碼算法DES、AES都屬于分組密碼,分組密碼的特點(diǎn)是分組的長(zhǎng)度是固定的。但是由...
    JMasche閱讀 3,261評(píng)論 0 4
  • 前言 《圖解密碼技術(shù)》一書(shū)介紹了很多關(guān)于密碼的知識(shí),通讀一遍需要不少時(shí)間。為了方便學(xué)習(xí),我對(duì)書(shū)中關(guān)鍵的部分進(jìn)行了總...
    咖枯閱讀 7,540評(píng)論 1 25
  • 1 公鑰私鑰 2 公鑰加密 別人用A的公鑰加密傳輸?shù)男畔?,只有A的私鑰可以解密。保證了傳輸?shù)男畔⒌陌踩浴?2 私...
    skykira閱讀 1,021評(píng)論 0 1
  • 重點(diǎn):分組密碼的設(shè)計(jì)思想分組密碼的基本特點(diǎn)AES、DES密碼算法AES和DES各自組成、每部分的實(shí)現(xiàn)過(guò)程以及特點(diǎn)A...
    七八音閱讀 2,912評(píng)論 1 2
  • 前言 本文章是對(duì)《圖解密碼技術(shù)》一書(shū)第一部分的一個(gè)總結(jié)。 密碼分類(lèi) 密碼算法需要密鑰,根據(jù)密鑰的使用方法,可以將密...
    發(fā)仔很忙閱讀 1,622評(píng)論 1 2

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