Cryptography/Basic Design Principles

Good ciphers often attempt to have the following traits.

Kerckhoffs's principle edit

Kerckhoffs's principle, also called Kerckhoffs's law:

A cryptosystem should be secure even if everything about the system, except the key, is public knowledge.

In the words of Claude Shannon, "The enemy knows the system." (Shannon's maxim).


To do:
Say something about "security through obscurity" here. Perhaps also something about Kerckhoff's other 5 principles.

Diffusion edit

Having good diffusion means that making a small change in the plain text should ideally cause as much as possible of cipher text to have a fifty percent possibility of change.

For example a Caesar cipher has almost no diffusion while a block cypher may contain lots of it.

Confusion edit

For good confusion the relationship between the cypher text and the plain text should be as complex as possible.

Further reading edit