通常一個密碼體制可以有如下幾個部分:
訊息空間M(又稱明文空間):所有可能的明文 m 的集合;
密文空間c:所有可能的蜜文c的集合;
金鑰空間 K :所有可能金鑰 k 的集合,其中每一金鑰 k 由加密金鑰 k,和解密金鑰k_d組成,即k = (k_e,k_d);
加密演算法E:一簇由加密金鑰控制的、從M到C的加密變換;
解密演算法D:一簇由解密金鑰控制的、從C到M的解密變換。
五元祖{ M, C, K, E, D },就稱為一個密碼系統。在密碼系統中,對於每一個確定的金鑰 k,加密演算法將確定一個具體的加密變換,解密演算法將確定一個具體的解密變換,而且解密變換就是加密變換的逆變換。對於明文空間M中的每一個明文m,加密演算法E在加密金鑰k的控制下將明文m加密成蜜文c;而在金鑰k_d的控制下將密文c解密成同一明文m,即:對\forall m\in M,(k_e,k_d)\in K, 有D_{k_d}(E_{k_e}(m)) = m 。
在上面通訊模型中,還存在一個密碼攻擊者或破譯者可以從普通訊道上攔截到的密文c,其工作目標就是要在不知道金鑰k的情況下,試圖從密文c恢復出明文m或金鑰k。如果密碼分析者可以僅由密文推出明文或由金鑰,或者可以由明文和密文推出金鑰,那麼就稱該密碼系統是可破譯的。相反則稱該密碼系統是不可破譯的。
本作品採用《CC 協議》,轉載必須註明作者和本文連結