
- 密碼學教程
- 密碼學 - 首頁
- 密碼學 - 起源
- 密碼學 - 歷史
- 密碼學 - 原理
- 密碼學 - 應用
- 密碼學 - 優點與缺點
- 密碼學 - 現代時代
- 密碼學 - 傳統密碼
- 密碼學 - 加密的需求
- 密碼學 - 雙重強度加密
- 密碼系統
- 密碼系統
- 密碼系統 - 組成部分
- 密碼系統的攻擊
- 密碼系統 - 彩虹表攻擊
- 密碼系統 - 字典攻擊
- 密碼系統 - 暴力破解攻擊
- 密碼系統 - 密碼分析技術
- 密碼學的型別
- 密碼系統 - 型別
- 公鑰加密
- 現代對稱金鑰加密
- 密碼學雜湊函式
- 金鑰管理
- 密碼系統 - 金鑰生成
- 密碼系統 - 金鑰儲存
- 密碼系統 - 金鑰分發
- 密碼系統 - 金鑰撤銷
- 分組密碼
- 密碼系統 - 流密碼
- 密碼學 - 分組密碼
- 密碼學 - Feistel 分組密碼
- 分組密碼的工作模式
- 分組密碼的工作模式
- 電子密碼本 (ECB) 模式
- 密碼分組連結 (CBC) 模式
- 密碼反饋 (CFB) 模式
- 輸出反饋 (OFB) 模式
- 計數器 (CTR) 模式
- 經典密碼
- 密碼學 - 反向密碼
- 密碼學 - 凱撒密碼
- 密碼學 - ROT13 演算法
- 密碼學 - 換位密碼
- 密碼學 - 加密換位密碼
- 密碼學 - 解密換位密碼
- 密碼學 - 乘法密碼
- 密碼學 - 仿射密碼
- 密碼學 - 簡單替換密碼
- 密碼學 - 簡單替換密碼的加密
- 密碼學 - 簡單替換密碼的解密
- 密碼學 - 維吉尼亞密碼
- 密碼學 - 維吉尼亞密碼的實現
- 現代密碼
- Base64 編碼與解碼
- 密碼學 - XOR 加密
- 替換技術
- 密碼學 - 單表替換密碼
- 密碼學 - 單表替換密碼的破解
- 密碼學 - 多表替換密碼
- 密碼學 - Playfair 密碼
- 密碼學 - Hill 密碼
- 多表替換密碼
- 密碼學 - 一次性密碼本密碼
- 一次性密碼本密碼的實現
- 密碼學 - 換位技術
- 密碼學 - 柵欄密碼
- 密碼學 - 列移位密碼
- 密碼學 - 隱寫術
- 對稱演算法
- 密碼學 - 資料加密
- 密碼學 - 加密演算法
- 密碼學 - 資料加密標準
- 密碼學 - 三重 DES
- 密碼學 - 雙重 DES
- 高階加密標準
- 密碼學 - AES 結構
- 密碼學 - AES 變換函式
- 密碼學 - 位元組替換變換
- 密碼學 - 行移位變換
- 密碼學 - 列混淆變換
- 密碼學 - 輪金鑰加變換
- 密碼學 - AES 金鑰擴充套件演算法
- 密碼學 - Blowfish 演算法
- 密碼學 - SHA 演算法
- 密碼學 - RC4 演算法
- 密碼學 - Camellia 加密演算法
- 密碼學 - ChaCha20 加密演算法
- 密碼學 - CAST5 加密演算法
- 密碼學 - SEED 加密演算法
- 密碼學 - SM4 加密演算法
- IDEA - 國際資料加密演算法
- 公鑰(非對稱)密碼學演算法
- 密碼學 - RSA 演算法
- 密碼學 - RSA 加密
- 密碼學 - RSA 解密
- 密碼學 - 建立 RSA 金鑰
- 密碼學 - 破解 RSA 密碼
- 密碼學 - ECDSA 演算法
- 密碼學 - DSA 演算法
- 密碼學 - Diffie-Hellman 演算法
- 密碼學中的資料完整性
- 密碼學中的資料完整性
- 訊息認證
- 密碼學數字簽名
- 公鑰基礎設施
- 雜湊
- 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 密碼
- 密碼學 - 對稱與非對稱
- 密碼學有用資源
- 密碼學 - 快速指南
- 密碼學 - 討論
密碼學 - 分組密碼的工作模式
在本章中,我們將討論分組密碼的不同工作模式。這些是一般分組密碼過程中的步驟。需要注意的是,各種模式會產生不同的特性,從而提高分組密碼的整體安全性。
什麼是分組密碼的工作模式?
在密碼學中,分組密碼的工作模式是指一種使用分組密碼來提供資訊安全(例如機密性或真實性)的演算法。一個實際的分組密碼可以用來轉換安全的加密位(用於加密或解密)或建立一個固定長度的單個塊。工作模式描述瞭如何透過不斷利用密碼的單塊操作來安全地轉換大於一個塊的資料量。
對於每次加密操作,大多數模式都需要一個不同的二進位制序列,通常稱為初始化向量 (IV)。除了不重複之外,IV 在某些模式中需要是隨機的。初始化向量用於確保即使在不同場合使用相同的金鑰多次加密相同的明文時,也會生成不同的密文。即使分組密碼可以處理各種塊大小,但在整個轉換過程中,塊大小始終是固定的。如果最後一個數據片段小於當前塊大小,則必須將其填充到一個完整的塊中,以便分組密碼模式能夠在整個塊上工作。
但是,某些模式不需要填充,因為它們本質上是使用分組密碼代替流密碼。過去,人們對不同資料更改條件下加密模式的錯誤傳播特性進行了大量研究。之後,完整性保護被認為是完全不同的密碼學目標。經過身份驗證的加密模式是一些現代操作模式,它們有效地結合了真實性和機密性。
工作模式
分組密碼過程分為五類:CFB(密碼反饋)、OFB(輸出反饋)、CTR(計數器)、CBC(密碼分組連結)和 ECB(電子密碼本)。分組密碼以 ECB 和 CBC 模式工作,而充當流密碼的分組密碼以 CFB 和 OFB 模式工作。ECB 可以不安全地傳輸單個值,CBC 可以加密一段文字,CFB 可以加密資料流,OFB 可以傳輸加密的資料流,CTR 可以傳輸面向塊的應用程式。
ECB 模式 - ECB 是最簡單的分組密碼操作。因為每個輸入明文塊都被直接加密,並且輸出以加密密文塊的形式存在。
CBC 模式 - 由於 ECB 損害了某些安全要求,例如密文與明文之間的直接連線,這使得攻擊者更容易解密編碼資訊,因此 CBC 是 ECB 的高階模式。
CFB 模式 - 在這種情況下,密碼被髮送作為後續加密塊的反饋。
OFB 模式 - 除了傳送加密的輸出作為反饋而不是實際的密碼(它是 XOR 輸出)之外,OFB 的操作方式與 CFB 非常相似。
CTR 模式 - CTR 是基本基於計數器的分組密碼的實現。
歷史
“工作模式”是一種加密訊息使用程式,大約在 1981 年開發。它們被稱為 CFB、CBC、OFB 和 ECB。後來,在 2001 年實施了另一種稱為 AES 的方法。然後,在 2010 年添加了另一種方法 XTS-AES。雖然還有其他方法,但這些是 NIST 接受的主要方法。
這些技術有助於保護私人資訊的安全,但它們並不總是保證資訊不會意外或故意更改。人們使用“數字簽名”或“訊息認證碼”來驗證是否有任何更改。HMAC、CMAC 和 GMAC 就是此類程式碼的一些示例。
人們意識到,建立用於保護資訊安全和監控更改的系統很困難。因此,開發了結合這兩項任務的新方法。我們稱之為“authenc”或“經過身份驗證的加密”。OCB、IAPM、CCM、GCM、CWC 和 EAX 就是此類方法的一些示例。
這意味著安全資訊受不同規則集的約束。NIST、ISO、IEC、IEEE、ANSI 和 IETF 是一些主要的組織。
初始化向量 (IV)
一組稱為初始化向量 (IV) 的位元,用於混合加密。它有助於確保每次的結果都不同,即使您多次加密相同的訊息。與金鑰不同,IV 不需要保密。
每次使用相同金鑰加密某些內容時,使用不同的 IV 非常重要,這適用於各種加密技術。我們將此稱為“加密隨機數”。某些加密技術需要 IV 為隨機數。
重複使用相同的 IV 會導致問題。例如,在某些加密技術中,使用相同的 IV 會洩露訊息第一部分的資訊。另一方面,它可能會削弱加密,使其更容易被解密。
一種確保每次 IV 唯一的方法是使用加密訊息的一部分作為後續訊息的 IV。但是,這種方法不安全,因為某人可以透過猜測 IV 來解密訊息。
“合成初始化向量”(SIV)是在某些方法中可以建立的特殊 IV。它們透過使用特殊的數學過程確保 IV 正確混合。即使隨機性不完美或試圖被控制,這也保持了加密的安全性。
其他模式和密碼基元
分組密碼可以以多種方式用於保護資料。雖然其中一些方法有用且安全,但其他方法完全不安全。某些方法專門用於加密物件,如硬碟驅動器。
初始化向量 (IV) 是在其中一些方法中使用的東西。它的功能類似於一個獨特的數字,用於混合加密過程。IV 可能需要保密或每次使用時都唯一。
在某些方法中,如果使用相同的 IV 和金鑰,可能會導致嚴重問題,並使解密變得非常容易。因此,正確使用 IV 非常重要。
建立意外的隨機數和確認訊息未被篡改是分組密碼的其他兩種用途。
分組密碼可用於建立訊息認證碼 (MAC),用於確認訊息未被篡改。
以下是一些其他的模式和密碼基元:
其他操作模式
反饋模式
Davies-Meyer 雜湊
LRW(可調整的窄分組加密模式)
XEX(可調整的窄分組加密模式)
XTS(可調整的窄分組加密模式)
CMC(寬分組加密模式)
EME(寬分組加密模式)
密碼基元
確定性認證加密(NIST 金鑰包裝演算法)
SIV (RFC 5297) AEAD 模式
AES-GCM-SIV
單向壓縮函式(用於構建密碼雜湊函式)
密碼安全偽隨機數生成器 (CSPRNG)
訊息認證碼 (MAC),如 CBC-MAC、OMAC 和 PMAC