柯克霍夫原則

密碼學上的柯克霍夫原則（Kerckhoffs's principle，也稱為柯克霍夫假說、公理、或定律）係由在19世紀提出：即使密碼系統的任何細節已為人悉知，只要密匙（key，又稱金鑰或密鑰）未洩漏，它也應是安全的。 資訊理論的發明者克勞德·夏農則改成說：「敵人瞭解系統」，這樣的說法則稱為夏農箴言。 它和傳統上使用隱密的設計、實作、或其他等等來提供加密的隱晦式安全想法相對。

依據柯克霍夫原則，大多數民用保密都使用公開的演算法。 但相對地，用於政府或軍事機密的保密器通常也是保密的。

柯克霍夫為軍用保密器所設計的這六個原則是：

 即便如果做不到數學上不可破解，系統也應在實質（實用）程度上無法破解。
 系統內不應含任何機密物，即使落入敵人手中也不會造成困擾。
 密匙必須易於溝通和記憶，而不須寫下；且雙方可以容易的改變密匙。
 系統應可以用於電訊。
 系統應可以攜帶，不應需要兩個人或以上才能使用（應只要一個人就能使用）。
 系統應容易使用，不致讓使用者的腦力過份操勞，也無需記得長串的規則。

布魯斯·施奈爾將這個想法延伸，認為除了密碼系統之外，任何保安系統都是這樣：試圖使用隱密物來保密一些東西，都會製造了失敗的根源。若以依賴隱密物或隱密方式的隱密性為主，一旦被公開或複製後即可能有遭到破解的危險

埃里克·雷蒙則將它引伸到開放源代碼軟體，稱一套未假定敵人可獲得源代碼的資安軟體並不可靠，因此，「永無可信的封閉源碼」。反過來說，開放源碼比封閉源碼更安全。此種論點稱為透明式的安全（security through transparency）。

參考資料

外部連結 
 柯克霍夫的原文 

K
電腦結構陳述