- 密碼學教程
- 密碼學 - 首頁
- 密碼學 - 起源
- 密碼學 - 歷史
- 密碼學 - 原理
- 密碼學 - 應用
- 密碼學 - 優點與缺點
- 密碼學 - 現代密碼學
- 密碼學 - 傳統密碼
- 密碼學 - 加密的需求
- 密碼學 - 雙重強度加密
- 密碼系統
- 密碼系統
- 密碼系統 - 組成部分
- 密碼系統攻擊
- 密碼系統 - 彩虹表攻擊
- 密碼系統 - 字典攻擊
- 密碼系統 - 暴力攻擊
- 密碼系統 - 密碼分析技術
- 密碼學型別
- 密碼系統 - 型別
- 公鑰加密
- 現代對稱金鑰加密
- 密碼學雜湊函式
- 金鑰管理
- 密碼系統 - 金鑰生成
- 密碼系統 - 金鑰儲存
- 密碼系統 - 金鑰分發
- 密碼系統 - 金鑰撤銷
- 分組密碼
- 密碼系統 - 流密碼
- 密碼學 - 分組密碼
- 密碼學 - Feistel 分組密碼
- 分組密碼的工作模式
- 分組密碼的工作模式
- 電子密碼本 (ECB) 模式
- 密碼分組連結 (CBC) 模式
- 密碼反饋 (CFB) 模式
- 輸出反饋 (OFB) 模式
- 計數器 (CTR) 模式
- 古典密碼
- 密碼學 - 反向密碼
- 密碼學 - 凱撒密碼
- 密碼學 - ROT13 演算法
- 密碼學 - 置換密碼
- 密碼學 - 加密置換密碼
- 密碼學 - 解密置換密碼
- 密碼學 - 乘法密碼
- 密碼學 - 仿射密碼
- 密碼學 - 簡單替換密碼
- 密碼學 - 簡單替換密碼的加密
- 密碼學 - 簡單替換密碼的解密
- 密碼學 - 維吉尼亞密碼
- 密碼學 - 維吉尼亞密碼的實現
- 現代密碼
- Base64 編碼與解碼
- 密碼學 - XOR 加密
- 替換技術
- 密碼學 - 單字母替換密碼
- 密碼學 - 單字母替換密碼的破解
- 密碼學 - 多字母替換密碼
- 密碼學 - Playfair 密碼
- 密碼學 - Hill 密碼
- 多字母替換密碼
- 密碼學 - 一次性密碼本
- 一次性密碼本的實現
- 密碼學 - 置換技術
- 密碼學 - 柵欄密碼
- 密碼學 - 列置換密碼
- 密碼學 -隱寫術
- 對稱演算法
- 密碼學 - 資料加密
- 密碼學 - 加密演算法
- 密碼學 - 資料加密標準 (DES)
- 密碼學 - 三重 DES
- 密碼學 - 雙重 DES
- 高階加密標準 (AES)
- 密碼學 - AES 結構
- 密碼學 - AES 變換函式
- 密碼學 - 位元組替換變換
- 密碼學 - 行移位變換
- 密碼學 - 列混淆變換
- 密碼學 - 輪金鑰加變換
- 密碼學 - AES 金鑰擴充套件演算法
- 密碼學 - Blowfish 演算法
- 密碼學 - SHA 演算法
- 密碼學 - RC4 演算法
- 密碼學 - Camellia 加密演算法
- 密碼學 - ChaCha20 加密演算法
- 密碼學 - CAST5 加密演算法
- 密碼學 - SEED 加密演算法
- 密碼學 - SM4 加密演算法
- IDEA - 國際資料加密演算法
- 公鑰(非對稱)密碼演算法
- 密碼學 - RSA 演算法
- 密碼學 - RSA 加密
- 密碼學 - RSA 解密
- 密碼學 - 建立 RSA 金鑰
- 密碼學 - 破解 RSA 密碼
- 密碼學 - ECDSA 演算法
- 密碼學 - DSA 演算法
- 密碼學 - Diffie-Hellman 演算法
- 密碼學中的資料完整性
- 密碼學中的資料完整性
- 訊息認證
- 密碼學數字簽名
- 公鑰基礎設施 (PKI)
- 雜湊演算法
- MD5(訊息摘要演算法 5)
- SHA-1(安全雜湊演算法 1)
- SHA-256(安全雜湊演算法 256 位)
- SHA-512(安全雜湊演算法 512 位)
- SHA-3(安全雜湊演算法 3)
- 密碼雜湊
- Bcrypt 雜湊模組
- 現代密碼學
- 量子密碼學
- 後量子密碼學
- 密碼協議
- 密碼學 - SSL/TLS 協議
- 密碼學 - SSH 協議
- 密碼學 - IPsec 協議
- 密碼學 - PGP 協議
- 影像和檔案加密
- 密碼學 - 影像
- 密碼學 - 檔案
- 隱寫術 - 影像
- 檔案加密和解密
- 密碼學 - 檔案加密
- 密碼學 - 檔案解密
- 物聯網中的密碼學
- 物聯網安全挑戰、威脅和攻擊
- 物聯網安全的密碼技術
- 物聯網裝置的通訊協議
- 常用密碼技術
- 自定義構建密碼演算法(混合密碼學)
- 雲密碼學
- 量子密碼學
- 密碼學中的影像隱寫術
- DNA 密碼學
- 密碼學中的一次性密碼 (OTP) 演算法
- 區別
- 密碼學 - MD5 與 SHA1 的比較
- 密碼學 - RSA 與 DSA 的比較
- 密碼學 - RSA 與 Diffie-Hellman 的比較
- 密碼學與密碼學的比較
- 密碼學 - 密碼學與密碼分析的比較
- 密碼學 - 古典密碼學與量子密碼學的比較
- 密碼學與隱寫術的比較
- 密碼學與加密的比較
- 密碼學與網路安全的比較
- 密碼學 - 流密碼與分組密碼的比較
- 密碼學 - AES 與 DES 密碼的比較
- 密碼學 - 對稱加密與非對稱加密的比較
- 密碼學有用資源
- 密碼學 - 快速指南
- 密碼學 - 討論
密碼學 - 計數器模式 (CTR)
計數器模式 (CTR) 與 OFB 模式類似,區別在於 CTR 模式使用計數器作為反饋。這種方法具有與 OFB 模式相同的優點(破壞模式並避免錯誤傳播),但它也允許並行加密,因為反饋可以像遞增數字一樣簡單。一個簡單的例子是,第一個塊與數字 1 進行異或運算,第二個塊與數字 2 進行異或運算,依此類推。這種方法允許同時完成任意數量的輪次。
可以將其視為沒有反饋的 CFB 模式的基於計數器的版本。在此模式下,傳送方和接收方都必須訪問一個可靠的計數器,該計數器每次傳輸密文塊時都會生成一個新的共享值。這個共享計數器並不總是秘密值;但是,雙方必須保持計數器的同步。
操作
下圖顯示了 CTR 模式下的加密和解密。操作步驟如下:
將頂部暫存器載入為初始計數器值,該值對傳送方和接收方都相同。它與 CFB(和 CBC)模式中的 IV 具有相同的用途。
使用金鑰加密計數器的數值並將結果儲存在底部暫存器中。
取第一個明文塊 (P1) 並將其與底部暫存器的數值進行異或運算。其結果為 C1。將 C1 傳送給接收方,然後更新計數器。計數器的更新取代了 CFB 模式中的密文反饋。
以此方式繼續,直到加密最後一個明文塊。
解密是一個相反的過程。密文塊與計數器值的加密資料進行異或運算。每個密文塊計數器在解密後都會更新,與加密時完全相同。
CTR 模式的分析
它沒有訊息依賴性,因此密文塊不依賴於之前的明文塊。
與 CFB 模式一樣,CTR 模式不包括分組密碼解碼。這是因為 CTR 模式使用分組密碼生成金鑰流,然後用 XOR 函式進行加密。換句話說,CTR 模式將分組密碼轉換為流密碼。
CTR 模式的主要缺點是它需要在傳送方和接收方都使用同步計數器。同步丟失會導致無法正確恢復明文。
但是,CTR 模式幾乎提供與 CFB 模式相同的優點。此外,不會傳播傳輸錯誤。
CTR 模式的公式
CTR 與 OFB 類似,因為它將一系列填充向量與明文和密文塊進行異或運算。主要區別在於這些填充向量的建立方式。
在 CTR 模式中,我們從隨機種子 s 開始,然後使用以下公式計算填充向量:
Vi = EK(s+i-1)
其中 EK 是金鑰為 K 的分組加密技術,Vi 是填充向量,i 是向量相對於 1 的偏移量。
構建向量後,可以使用以下公式執行與 OFB 模式類似的加密:
Ci = Vi ⊕ Bi
解密的方式類似:
Bi = Vi ⊕ Ci
與 CFB 和 OFB 模式一樣,CTR 使用相同的加密演算法進行加密和解密。
CTR 模式的位寬
計數器 (CTR) 模式是一種典型使用分組密碼演算法的分組密碼工作模式。在這個版本中,我們提供高階加密標準 (AES) 處理;AES 的金鑰長度為 128/192/256 位。另一個限制是我們的工作模式以固定大小的單元(每個塊 128 位)進行操作,但現實世界中的文字長度不一。因此,提供給此原語的最終文字塊必須填充到 128 位,然後才能進行加密或解密。
下表顯示了 CTR 模式提供的介面的位寬:
CTR 模式的優點
以下是計數器 (CTR) 模式的一些優點:
硬體效率 - 與三種連結模式不同,CTR 模式允許對許多明文或密文塊並行執行加密(或解密)。對於連結模式,演算法必須完成一個塊的計算才能繼續進行下一個塊。這將演算法的最大吞吐量限制為單次執行分組加密或解密所需時間的倒數。在 CTR 模式下,吞吐量僅受獲得的並行化程度的限制。
軟體效率 − 此外,雖然 CTR 模式支援並行執行,但具有並行處理能力的處理器(例如積極流水線、每個時鐘週期多個指令排程、大量暫存器和 SIMD 指令)可以得到充分利用。
預處理 − 無論給出明文還是密文,底層加密技術都會執行。因此,在保證有足夠的記憶體和安全性的前提下,可以利用預處理來準備加密盒的輸出,這些輸出會饋送到 XOR 函式。當給出明文或密文輸入時,唯一執行的操作是一系列 XOR 運算。這種方法顯著提高了吞吐量。
隨機訪問 − 可以使用隨機訪問處理明文或密文的第 i 個塊。在鏈式模式下,必須先計算前 i-1 個塊才能計算塊 Ci。有些應用程式會保留密文,只需要解密一個塊;在這些應用程式中,隨機訪問功能非常有用。
簡潔性 − CTR 模式比 ECB 和 CBC 模式更簡單,因為它只需要實現加密演算法,而不需要實現解密演算法。當解密演算法與加密演算法差異很大時(例如 AES),這一點尤其重要。此外,也不需要建立解密金鑰排程。
CTR 模式的缺點
CTR 模式的主要缺點是接收端和傳送端必須維護一個同步計數器。丟失此計數器可能會導致明文恢復錯誤。