- 密碼學教程
- 密碼學 - 首頁
- 密碼學 - 起源
- 密碼學 - 歷史
- 密碼學 - 原理
- 密碼學 - 應用
- 密碼學 - 優點與缺點
- 密碼學 - 現代
- 密碼學 - 傳統密碼
- 密碼學 - 加密的需求
- 密碼學 - 雙重強度加密
- 密碼系統
- 密碼系統
- 密碼系統 - 組成部分
- 密碼系統攻擊
- 密碼系統 - 彩虹表攻擊
- 密碼系統 - 字典攻擊
- 密碼系統 - 暴力破解攻擊
- 密碼系統 - 密碼分析技術
- 密碼學型別
- 密碼系統 - 型別
- 公鑰加密
- 現代對稱金鑰加密
- 密碼學雜湊函式
- 金鑰管理
- 密碼系統 - 金鑰生成
- 密碼系統 - 金鑰儲存
- 密碼系統 - 金鑰分發
- 密碼系統 - 金鑰撤銷
- 分組密碼
- 密碼系統 - 流密碼
- 密碼學 - 分組密碼
- 密碼學 - 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 vs SHA1
- 密碼學 - RSA vs DSA
- 密碼學 - RSA vs Diffie-Hellman
- 密碼學 vs 密碼學
- 密碼學 - 密碼學 vs 密碼分析
- 密碼學 - 經典 vs 量子
- 密碼學 vs 密碼隱寫術
- 密碼學 vs 加密
- 密碼學 vs 網路安全
- 密碼學 - 流密碼 vs 分組密碼
- 密碼學 - AES vs DES 密碼
- 密碼學 - 對稱 vs 非對稱
- 密碼學有用資源
- 密碼學 - 快速指南
- 密碼學 - 討論
密碼學 - 密碼反饋 (CFB) 模式
密碼反饋 (CFB) 模式與 CBC 模式非常相似;主要區別在於 CFB 是一種流模式。它透過使用反饋(在流模式中也稱為連結)來消除模式。CFB 與 CBC 一樣,使用初始化向量來破壞模式,同時傳播錯誤。
CFB 模式是一種典型的工作模式,它使用分組密碼演算法。在這個版本中,我們支援資料加密標準 (DES) 和高階加密標準 (AES) 處理;DES 的金鑰長度應為 64 位,AES 的金鑰長度應為 128/192/256 位。另一個限制是我們的工作模式處理固定大小的單元(每塊 64 或 128 位),而現實世界中的文字長度可變。
因此,提供給此原語的最終文字塊必須填充到 128 位才能進行加密或解密。雖然 CFB1 和 CFB8 模式使用與 CFB128 模式相同的介面,但 CFB1 和 CFB8 模式逐位或逐位元組處理明文和密文,而不是逐塊處理。
操作
上圖顯示了 CFB 模式的操作。在當前系統中,訊息塊的大小為 's' 位,其中 1 < s < n。CFB 模式中的初始隨機 n 位輸入塊需要一個初始化向量 (IV)。初始化向量不需要保密。操作步驟如下:
將 IV 載入到頂部暫存器。
使用底層分組密碼和金鑰 K 加密頂部暫存器中的資料值。
要構造密文塊,只需從加密過程的輸出中取 's' 個最重要的位(左位),並將其與 's' 位明文訊息塊進行 XOR 運算。
透過將現有資料向左移動,將密文塊送入頂部暫存器,並重復此操作,直到處理完所有明文塊。
基本上,前一個密文塊在金鑰的幫助下被加密,結果與當前明文塊進行 XOR 運算。
解密遵循類似的方法。在解密開始時載入預定的 IV。
CFB 模式的分析
CFB 模式與 ECB 模式的顯著區別在於,與給定明文塊相關的密文不僅取決於該明文塊和金鑰,還取決於前一個密文塊。換句話說,密文塊取決於訊息。
CFB 具有非常不尋常的特性。在此模式下,使用者使用分組密碼的加密方法解密密文。從不使用底層分組密碼的解密演算法。
顯然,CFB 模式將分組密碼轉換為流密碼。加密演算法充當金鑰流生成器,生成儲存在底部暫存器中的金鑰流。然後,此金鑰流與明文進行 XOR 運算,就像流密碼一樣。
CFB 模式將分組密碼轉換為流密碼,使其具有一些流密碼的優點,同時保留分組密碼的優點。
另一方面,由於塊更改,傳輸錯誤會擴散。
CFB 模式的公式
CFB(密碼反饋)是一種 AES 分組密碼模式,與 CBC 類似,它需要前一個塊的密文 Ci-1 來加密一個塊 Bi。與 CBC 類似,CFB 使用初始化向量。主要區別在於,在 CFB 中,在與關注的塊進行 XOR 運算之前,首先加密前一個塊的密文塊。
為了更好地理解這一點,請考慮以公式的形式表示 CFB:
Ci = EK(Ci-1) ⊕ Bi
其中 EK 表示具有金鑰 K 的分組加密演算法,Ci-1 是 Bi-1 的密文。
請注意,上面的計算假設 C0 為初始化向量。
類似地,使用 CFB 的解密可以表示如下:
Bi = EK(Ci-1)⊕(Ci)
重要的是要理解這裡沒有使用解密演算法。
CFB 模式的位寬
下表顯示了 CFB 模式提供的介面的位寬:
| 明文 | 密文 | 金鑰 | IV | |
|---|---|---|---|---|
| CFB1-DES | 64 | 64 | 64 | 64 |
| CFB1-AES128 | 128 | 128 | 128 | 128 |
| CFB1-AES192 | 128 | 128 | 192 | 128 |
| CFB1-AES256 | 128 | 128 | 256 | 128 |
| CFB8-DES | 64 | 64 | 64 | 64 |
| CFB8-AES128 | 128 | 128 | 128 | 128 |
| CFB8-AES192 | 128 | 128 | 192 | 128 |
| CFB8-AES256 | 128 | 128 | 256 | 128 |
| CFB128-DES | 64 | 64 | 64 | 64 |
| CFB128-AES128 | 128 | 128 | 128 | 128 |
| CFB128-AES192 | 128 | 128 | 192 | 128 |
| CFB128-AES256 | 128 | 128 | 256 | 128 |
CFB模式的優點
CFB(密文反饋)模式有時比CBC(密碼分組連結)模式更快,因為它不需要額外的解密技術。這可以提高效能,尤其是在加密速度至關重要的場合。
CFB模式使用非確定性加密,這意味著它無法識別明文中的模式。這透過使攻擊者更難以從密文中確定有關明文的資訊來提供額外的安全層。
CFB模式的缺點
與CBC模式一樣,CFB模式無法處理加密塊的丟失。如果在傳輸過程中即使只有一個塊丟失或損壞,也可能導致解密過程失敗,並使整個訊息無法訪問。
與CBC模式一樣,CFB模式不允許同時加密多個塊。每個塊的加密都依賴於之前的密文塊,這限制了並行加密技術的效率,並可能影響整體加密速度。
雖然CFB模式在速度和不可預測的加密方面可以提供優勢,但它比ECB(電子密碼本)模式等更簡單的模式更難設定和理解。如果實施不當,這種額外的複雜性可能會導致潛在的漏洞。