Information Technology Reference
The goal of every encryption algorithm is to make as more complicated as
possible the decryption of a message without knowledge of the key. If the
encryption algorithm is effective, the only way to decrypt the message is to
try, one by one, all the possible keys until you find the right one, but this
number grows exponentially according to the length of the key. The most
delicate operation in a cryptographic system is the generation of the key. To
be really effective, it must use keys of considerable length, besides the keys
must be generated in a truly random manner so as to be completely
unpredictable for a hypothetical decipher system. For this reason, pseudo-
random number generators provided by the computer, usually used for games
and simulations, should be discarded and more complex systems, which
make use of the background noise of the physical world that can in no way be
predicted, should be adopted. Good sources of random numbers are the
processes of radioactive decay, the background noise in a semiconductor or
intervals of time between two actions of the operator in the computer. The
most commonly used source exploits the movement of the mouse or the
measure in milliseconds of the time of typing.
It appears, however, very difficult to determine the effectiveness of an
algorithm. Sometimes, algorithms that seemed very promising turned out to
be extremely easy to violate. For this reason it is preferable to rely on those
algorithms that seem to resist the longest.
The encryption algorithms are divided in two classes:
private key algorithms and
public key algorithms.
The difference between them is that the first ones use the same key for
encryption and decryption, while the second ones use two different keys, one
public and one private.
3.2.1 Private key algorithms
Private key or symmetric algorithms are the most commonly used methods.
They use the same key for encryption and decryption. Both parties know the
key used for encryption, the private key or symmetric key, and only they can
encrypt and decrypt the message (Figure 1).
Figure 1: Private key algorithms.