柯克霍夫原則(Kerckhoffs's principle)是密碼學中的一個基本原則,最早由荷蘭密碼學家Auguste Kerckhoffs在1883年的論文《軍用密碼學》中提出。該原則的核心思想是:
密碼系統的安全性應依賴於密鑰的保密性,而非算法本身的保密性。即使密碼系統的運作細節完全公開,只要密鑰未被洩露,系統就能提供安全保障。
密碼系統應設計得易於使用和理解,不應過於複雜。
密碼系統的安全性應與一次性密碼本(One-Time Pad)類似,即使用戶掌握了系統的所有細節,也無法通過暴力破解等方式解密。
這一原則是現代密碼學設計的基礎,廣泛套用於各種加密算法和安全系統中。