- 密碼學教程
- 密碼學 - 首頁
- 密碼學 - 起源
- 密碼學 - 歷史
- 密碼學 - 原理
- 密碼學 - 應用
- 密碼學 - 優點與缺點
- 密碼學 - 現代
- 密碼學 - 傳統密碼
- 密碼學 - 加密的需求
- 密碼學 - 雙重強度加密
- 密碼系統
- 密碼系統
- 密碼系統 - 組成部分
- 密碼系統攻擊
- 密碼系統 - 彩虹表攻擊
- 密碼系統 - 字典攻擊
- 密碼系統 - 暴力破解攻擊
- 密碼系統 - 密碼分析技術
- 密碼學型別
- 密碼系統 - 型別
- 公鑰加密
- 現代對稱金鑰加密
- 密碼學雜湊函式
- 金鑰管理
- 密碼系統 - 金鑰生成
- 密碼系統 - 金鑰儲存
- 密碼系統 - 金鑰分發
- 密碼系統 - 金鑰吊銷
- 分組密碼
- 密碼系統 - 流密碼
- 密碼學 - 分組密碼
- 密碼學 - Feistel 分組密碼
- 分組密碼工作模式
- 分組密碼工作模式
- 電子密碼本 (ECB) 模式
- 密碼分組連結 (CBC) 模式
- 密碼反饋 (CFB) 模式
- 輸出反饋 (OFB) 模式
- 計數器 (CTR) 模式
- 經典密碼
- 密碼學 - 反向密碼
- 密碼學 - 凱撒密碼
- 密碼學 - ROT13 演算法
- 密碼學 - 換位密碼
- 密碼學 - 加密換位密碼
- 密碼學 - 解密換位密碼
- 密碼學 - 乘法密碼
- 密碼學 - 仿射密碼
- 密碼學 - 簡單替換密碼
- 密碼學 - 簡單替換密碼的加密
- 密碼學 - 簡單替換密碼的解密
- 密碼學 - 維吉尼亞密碼
- 密碼學 - 維吉尼亞密碼的實現
- 現代密碼
- Base64 編碼和解碼
- 密碼學 - XOR 加密
- 替換技術
- 密碼學 - 單字母替換密碼
- 密碼學 - 單字母替換密碼的破解
- 密碼學 - 多字母替換密碼
- 密碼學 - Playfair 密碼
- 密碼學 - 希爾密碼
- 多字母替換密碼
- 密碼學 - 一次性密碼本
- 一次性密碼本的實現
- 密碼學 - 換位技術
- 密碼學 - 柵欄密碼
- 密碼學 - 列置換
- 密碼學 - 隱寫術
- 對稱演算法
- 密碼學 - 資料加密
- 密碼學 - 加密演算法
- 密碼學 - 資料加密標準
- 密碼學 - 三重 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 密碼
- 密碼學 - 對稱與非對稱
- 密碼學有用資源
- 密碼學 - 快速指南
- 密碼學 - 討論
密碼學 - Camellia 加密演算法
Camellia 是一種對稱金鑰分組密碼,使用 128 位的塊大小和 128、192 和 256 位的金鑰大小。三菱電機和日本的 NTT 合作開發了它。
該密碼提供與高階加密標準相當的安全性和處理能力。
該密碼旨在與軟體和硬體一起使用,範圍從低成本智慧卡到高速網路系統。它是傳輸層安全 (TLS) 加密協議的一部分,用於保護透過計算機網路(如網際網路)的通訊。
Camellia 的設計
Camellia 是一種 Feistel 密碼,具有 18 輪(128 位金鑰)或 24 輪(192 位或 256 位金鑰)。每六輪應用一個邏輯轉換層,稱為“FL 函式”或其逆。Camellia 使用四個 8x8 位 S 盒進行輸入和輸出仿射變換以及邏輯運算。
該密碼還使用輸入和輸出金鑰白化。擴散層應用基於分支數為 5 的矩陣的線性變換。
演算法
- Camellia 是一種對稱分組密碼,金鑰長度為 128、192 或 256 位。明文和密文塊的長度始終為 128 位。
- 以下描述使用 Camellia 文件中變數和函式的原始名稱來描述其演算法。
- 演算法最重要的元素是 F 函式。它們用於金鑰加密和解密,以及輔助變數的建立。F 函式接受 128 位輸入,將其與子金鑰 ki 的位組合,並生成 128 個新位。F 函式中位的修改通常稱為演算法中的一輪。F 函式呼叫被分組到塊中。每個塊有六輪。
- 六輪塊(對 F 函式的六次呼叫的塊)由對 FL 函式和 FL-1 函式的呼叫分隔。它們操作 64 位資料塊,並使用子金鑰 kli 將它們組合。
- 加密和解密演算法都將重複上面概述的六輪塊。重複次數由當前金鑰的長度決定。
- 對於 128 位金鑰,重複 6 輪塊三次。對於 192 位或 256 位金鑰,重複塊四次。
- 此外,在加密和解密方法的開始和結束時,資料位將新增到子金鑰 kwi 的位。
- 子金鑰用於加密或解密每個資料塊,是在另一種方法中生成的。每個塊的金鑰生成數十個子金鑰。它們在主演算法的各個階段使用。
金鑰排程
Camellia 密碼中使用的金鑰可以是 128、192 或 256 位。加密資料塊需要建立一些輔助變數,然後根據金鑰位建立子金鑰。每個子金鑰長 64 位。
首先,計算兩個 128 位變數(KL 和 KR)和四個 64 位變數(KLL、KLR、KRL 和 KRR)。以下等式描述了這些變數之間的關係 -
- KLL 等於 KL 的 64 個左位
- KLR 等於 KL 的 64 個右位
- KRL 等於 KR 的 64 個左位
- KRR 等於 KR 的 64 個右位
其餘連線應使用金鑰 K 的長度來識別。
- 對於 128 位金鑰:KL 等於 K 且 KR 等於 0
- 對於 192 位金鑰:KL 等於 K 的 128 個左位,KRL 等於 K 的 64 個右位,KRR 等於 ~KRL(位的否定)。
- 對於 256 位金鑰:KL 等於 K 的 128 個左位,KR 等於 K 的 128 個右位
接下來,使用前面的輔助變數作為基礎,可以計算兩個新的變數:KA 和 KB。它們都長 128 位。當且僅當金鑰為 192 位或 256 位時,KB 不為零。在構建 KA 和 KB 時,應使用六個輔助常數值,稱為 ∑i。
最後,應該根據四個最近建立的 128 位長變數 KL、KR、KA 和 KB 計算所有 64 位金鑰子金鑰 ki、kwi 和 kli。Camellia 演算法在加密和解密的每個階段都使用子金鑰。
Camellia 加密的安全性
山茶花加密演算法被認為是一種先進且安全的密碼演算法。截至目前,人們認為使用蠻力攻擊金鑰來破解它非常困難,即使使用較小的金鑰大小選項(128 位)也是如此。沒有已知的成功攻擊報告能夠顯著破解該密碼演算法。這款日本密碼演算法在處理能力和安全級別方面與 AES/Rijndael 密碼演算法相當。
山茶花是一種塊密碼,其特徵在於多元多項式的最小系統 -
- 山茶花(和 AES)的 S 盒可以使用 80 項中的 23 個二次方程系統來定義。
- 基本金鑰編排可以使用 768 個變數中的 1120 個方程來表示,其中包含 3328 個線性和二次項。
- 完整的塊密碼可以用 2816 個變數中的 5104 個方程來描述,其中包含 14592 個線性和二次項。
- 總共需要 3584 個變數中的 6224 個方程,其中包含 17920 個線性和二次項。
- 自由項的數量為 11696,這與 AES 幾乎相同。
如果攻擊可行,這些特性將使將來有可能使用代數攻擊(如擴充套件稀疏線性化)來破解山茶花(和 AES)。
優勢
以下是山茶花加密的優勢 -
- 山茶花加密非常安全,並且能夠抵禦各種各樣的密碼攻擊。它具有較大的金鑰大小和複雜迴圈設計,這使得它能夠高度抵禦蠻力攻擊。
- 山茶花具有適應性,可用於各種密碼任務,例如資料加密、數字簽名和金鑰交換協議。其多功能性使其適合各種安全需求。
- 儘管山茶花擁有出色的安全特性,但它使用的計算資源相對較少。它可以在軟體和硬體平臺上高效實現,使其適合各種應用。
- 山茶花已由國際標準化組織(ISO)和網際網路工程任務組(IETF)等國際組織標準化。
- 山茶花與現有的密碼基礎設施和協議相容,可以輕鬆整合到現有系統中,無需進行重大更改。
劣勢
以下是山茶花的一些劣勢 -
- 山茶花可能不像其他對稱金鑰加密演算法(如 AES)那樣知名或廣泛使用。這可能導致可用資源、庫和支援比更成熟的演算法少。
- 儘管山茶花是一種常見的加密技術,但在某些應用和行業中其使用可能受到限制。一些企業可能更傾向於使用 AES 等知名演算法,因為熟悉性和信任度。
- 雖然山茶花旨在安全,但沒有任何加密方法能夠完全免受漏洞的影響。隨著計算能力和密碼攻擊的改進,隨著時間的推移可能會發現山茶花中的其他問題,這可能會危及其安全性。