[Home]Cryptography/Key

HomePage | Cryptography | Recent Changes | Preferences

Showing revision 4
A cryptographic key is a small amount of information, without which encrypted data will not be convertible into its original form -- at least for high quality encryption algorithms. Most cryptographic algorithms use secret keys which may never be known to anyone other than the sender or receiver (symmetric key algorithms). Possession of one of these keys is all an attacker needs to recover an original message since, as a matter of principle the details of the cryptographic algorithm used is assumed to be already available to the attacker. This design assumption is usually known in crypto circles as Kerchoff's Law, or in more colloquial form, Shannon's Maxim. A new class of cryptographic encryption algorithms was discovered in the '70s which uses a pair of keys, one to encrypt and one to decrypt. Some of these asymmetric key algorithms have the property that one key cannot (as yet) be determined from the other. Such algorithms have the public key / private key property and for them one of the keys (the public one) can be known to others without reducing the secrecy of a message encrypted with its partner key.

Typical key sizes for estimated equivalent security against a particular kind of attack (ie, brute force key space search) are 128 bits for symmetric ciphers and 2056 bits or more for public key cryptography. One public key algorithm type may need much small sized keys for equivalent security, but elliptic assymmetric key algorithms have only been known for a relatively short time and current estimates of the difficulty of brute force searching for their keys may not survive. In other words, some theoretical breakthrough may make everything you've encrypted an open book.

If the key size is too small, the algorithm may be vulnerable to a 'brute-force' attack in which all possible values of the key are tried one by one, or a 'birthday' attack, where the fact that probability of a collision between a large group of values goes up roughly as the square of the number of possible values. Many algorithms permit reduced effort attacks as compared to brute force search. If the effort is sufficiently reduced, the algorithm will be 'insecure' against that improved attack and should not be used. It may be expected that algorithms for which no improved attack is now known, and for which a brute force attack is impractical, will be found to be insecure when some new cryptoanalytic technique is developed. The problem of choosing a cryptographic algorithm reduces itself, in actual practice, to estimation of how likely such an advance will be over the relevant time. Personal secrets need be kept confidental for different durations than tactical deployment information in a battle, and still differently than some commercially valuable information (eg, the formula for Coke). There are no good answers to this problem. Intelligent, cryptographically informed, choosers limit their choice to publicly known and publicly unbroken but well studied algorithms. Only algorithms from this group can be credibly thought secure. All others are either not sufficiently well tested, or are from secret organizations with adequate testing resources but also with ulterior motives.


HomePage | Cryptography | Recent Changes | Preferences
This page is read-only | View other revisions | View current revision
Edited December 16, 2001 4:37 am by 216.150.138.xxx (diff)
Search: