Cryptography/Basic Design Principles
Good ciphers often attempt to have the following traits.
Kerckhoffs's principleEdit
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).
DiffusionEdit
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.
ConfusionEdit
For good confusion the relationship between the cypher text and the plain text should be as complex as possible.