ケルクホフスの原理 【Kerckhoffs's principle】
概要
ケルクホフスの原理(Kerckhoffs's principle)とは、暗号についての原則の一つで、暗号方式はアルゴリズムなど手順や仕組みがすべて知られたとしても、暗号鍵がなければ復号できないようにすべきであるとするもの。現在のような電子式のコンピュータが発明される以前の1883年に、オランダの暗号学者オーギュスト・ケルクホフス(Auguste Kerckhoffs)によって提唱された原則である。軍事用暗号が満たすべき設計原則として提唱した6つの原則のうちの1つである。
どのような方法や手順で暗号文を生成するかを秘匿することで暗号を解読から守る方針を「秘匿によるセキュリティ」(security through obscurity)という。19世紀当時に利用されていた暗号機や乱数表などはこの方針で開発・運用されていたが攻撃者に手順が知られてしまうとすべての暗号文が復号されてしまう難点があった。
ケルクホフスは、暗号を生成する手順に短い秘密の符号である暗号鍵を加え、手順が露見しても鍵が分からなければ復号できない方式を用いるべきであると提唱した。後に、アメリカの数学者クロード・シャノン(Claude Shannon)は同じ内容を「敵はシステムを知っている」(The enemy knows the system)と表現しており、こちらは「シャノンの格言」(Shannon's maxim)として知られている。
(2023.12.20更新)