密码学上的柯克霍夫原则(Kerckhoffs's principle,也称为柯克霍夫假说、公理、或定律)系由奥古斯特·柯克霍夫(英语:Auguste Kerckhoffs)在19世纪提出:即使密码系统的任何细节已为人悉知,只要密匙(key,又称密钥或密钥)未泄漏,它也应是安全的。 信息论的发明者克劳德·香农则改成说:“敌人了解系统”,这样的说法则称为香农箴言。 它和传统上使用隐密的设计、实现、或其他等等来提供加密的隐晦式安全(英语:Security through obscurity)想法相对。
依据柯克霍夫原则,大多数民用保密都使用公开的算法。 但相对地,用于政府或军事机密的保密器通常也是保密的。
柯克霍夫为军用保密器所设计的这六个原则是:
布鲁斯·施奈尔将这个想法延伸,认为除了密码系统之外,任何保安系统都是这样:试图使用隐密物来保密一些东西,都会制造了失败的根源。(笔者注:若以依赖隐密物或隐密方式的隐密性为主,一旦被公开或复制后即可能有遭到破解的危险)
埃里克·雷蒙则将它引伸到开放源代码软件,称一套未假定敌人可获得源代码的信息安全软件并不可靠,因此,“永无可信的封闭源码”。反过来说,开放源码比封闭源码更安全。此种论点称为透明式的安全(security through transparency)。