
密碼系統安全性應滿足以下條件:
(1)儘管系統在理論上是不會破譯的,也不能在實踐中破譯。
(2)系統的機密性不依賴於加密/解密算法和系統的加密,而只取決於密鑰的機密性。
(3)易於添加/解密操作、在軟件/硬件中快速且易於實現。
(4)加密/解密算法對密鑰空間的全部元素均可用。
通常,解密密碼需要考慮解密的時間複雜度(計算時間)與空間複雜度(計算能力)。測量密碼系統安全性的基本標準如下:
(1)計算安全。若解密加密算法的計算能力與計算時間在實際條件下不可用,則認為相應的密碼系統滿足計算安全性。這意味着強大的裂縫被證明是安全的。
(2)安全證明。如果密碼系統的解密依賴於對數學問題的深入研究的解決方案,則相應的密碼系統被叫做是可證明的安全性。這表示着理論上的保證是安全的。
(3)無條件的安全。若攻擊者不能在用沒有限制計算能力與時間的基礎上破譯加密算法,那麼相應的密碼系統被認為是無條件安全的。這說明着它在極限狀態下是安全的。
除了一次性加密算法,理論上還沒有絕對安全的密碼系統。在實際應用中,只要能夠證明所採用的密碼系統在計算上是安全的,就有理由相信加密算法是安全的,因為計算安全性可以在有效時間內確保所採用算法的安全性。
