Cryptography Reference
In-Depth Information
THE IMPACT OF KERCKHOFFS' SECOND PRINCIPLE
At first glance, proprietary encryption algorithms would seem to be much more
sensible, since they offer two distinct advantages:
1. Hiding the details of the algorithm will make life much harder for any attacker
who tries to attack any cryptosystemusing this algorithm. Hiding the encryption
algorithm thus provides an extra 'layer' of security.
2. Proprietary encryption algorithms can be designed to meet the specific needs
of a particular application.
However, there is a danger in relying on this first advantage. This is because
there are many real examples of the details of proprietary encryption algorithms
eventually becoming publicly known. This could happen if:
• a device on which the encryption algorithm is implemented is captured and
expert attackers are able to investigate this device and somehow extract the
algorithm (this process is often called reverse engineering );
• the details of the algorithm are accidentally or deliberately leaked to the public
domain.
For this reason alone it is very unwise to rely on making an encryption algorithm
proprietary. In fact, good cryptographic designers work on the principle that
a proprietary encryption algorithm should still be secure in the event that the
encryption algorithm becomes publicly known.
This principle is the most famous of six cryptosystem design principles that
were identified by Auguste Kerckhoffs in the 19th century. More precisely,
Kerckhoffs stated that the cryptographic algorithm should not be required to be
secret . This principle is often misinterpreted as stating that the cryptographic
algorithm should be publicly known, and hence rely only on the secrecy of the
decryption key. However, Kerckhoffs did not say this. He simply pointed out
that proprietary algorithms should not rely on their 'extra layer of security' and
should be designed in such a way that public exposure of the algorithm does not
compromise the security (more literally, he stated that the algorithm must be able
to fall into the hands of the enemy without inconvenience ).
THE CASE FOR PUBLICLY KNOWN ALGORITHMS
There are many reasons why it might be preferable to use a publicly known
algorithm:
Scrutiny . A cryptographic algorithm that is in the public domain has the chance to
be studied by a wide range of experts. If they all agree that the algorithm seems
to be a good one then there are strong reasons to believe that the algorithm
is secure. Such an algorithm could then be adopted by public standardisation
bodies. In contrast, a proprietary algorithm may only have been assessed by a
handful of experts.
 
Search WWH ::




Custom Search