Cryptography/Basic Design Principles

From Wikibooks, open books for an open world
Jump to: navigation, search

Good ciphers often attempt to have the following traits.

Kerckhoffs's principle[edit]

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).

Clipboard

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]