簡介
CTR(Counter,計數)模式
對於最後的數據塊,可能是長u位的局部數據塊,這u位就將用於異或操作,而剩下的b-u位將被丟棄(b表示塊的長度)。CTR解密類似。這一系列的計數必須互不相同的。假定計數表示為T1, T2, …, Tn。CTR模式可定義如下:
CTR加密公式如下:
Cj = Pj XOR Ek(Tj)
C*n = P*n XOR MSBu(Ek(Tn)) j =1,2… n-1;
CTR解密公式如下:
Pj = Cj XOR Ek(Tj)
P*n = C*n XOR MSBu(Ek(Tn)) j =1,2 … n-1;
AES CTR模式的結構如圖5所示。
圖5 AES CTR的模式結構
Fig 5 Structure of AES CTRMode
加密方式:密碼算法產生一個16 位元組的偽隨機碼塊流,偽隨機碼塊與輸入的明文進行異或運算後產生密文輸出。密文與同樣的偽隨機碼進行異或運算後可以重產生明文。
特點
CTR 模式被廣泛用於 ATM 網路安全和 IPSec套用中,相對於其它模式而言,CTR模式具有如下特點:
■ 硬體效率:允許同時處理多塊明文 / 密文。
■ 軟體效率:允許並行計算,可以很好地利用 CPU 流水等並行技術。
■ 預處理:算法和加密盒的輸出不依靠明文和密文的輸入,因此如果有足夠的保證安全的存儲器,加密算法將僅僅是一系列異或運算,這將極大地提高吞吐量。
■ 隨機訪問:第 i 塊密文的解密不依賴於第 i-1 塊密文,提供很高的隨機訪問能力
■ 可證明的安全性:能夠證明 CTR 至少和其他模式一樣安全(CBC, CFB, OFB, ...)
■ 簡單性:與其它模式不同,CTR模式僅要求實現加密算法,但不要求實現解密算法。對於 AES 等加/解密本質上不同的算法來說,這種簡化是巨大的。
■ 無填充,可以高效地作為流式加密使用。