Kerckhoff's principle is the concept that a cryptographic system should be designed to be secure, even if all its details, except for the key, are publicly known.
After a message has been subjected to a cryptographic algorithm, it is expected to remain secure even if an intruder has or gains full access to the encrypted message and has knowledge of what algorithm was used. The point is that, even if a system's design and details are not made open to begin with, they may be detected by an unauthorized party and, as such, should be inherently secure.
Auguste Kerckhoff, a Dutch linguist and cryptographer, published the principle in an 1883 article, La Cryptographie Militaire (Military Cryptography). The mathematician Claude Shannon further refined Kerckhoff’s principle. According to Shannon’s maxim, "one ought to design systems under the assumption that the enemy will immediately gain full familiarity with them."