Quantum
cryptography is an effort to allow two users of a common communication channel
to create a body of shared and secret information. This information, which generally
takes the form of a random string of bits, can then be used as a conventional
secret key for secure communication. It is useful to assume that the communicating
parties initially share a small amount of secret information, which is used up
and then renewed in the exchange process, but even without this assumption exchanges
are possible.The advantage of
quantum cryptography over traditional key exchange methods is that the exchange
of information can be shown to be secure in a very strong sense, without making
assumptions about the intractability of certain mathematical problems. Even when
assuming hypothetical eavesdroppers with unlimited computing power, the laws of
physics guarantee (probabilistically) that the secret key exchange will be secure,
given a few other assumptions.

Cryptography is the art of devising codes and ciphers,
and cryptoanalysis is the art of breaking them. Cryptology is the combination
of the two. In the literature of cryptology, information to be encrypted is known
as plaintext, and the parameters of the encryption function that transforms are
collectively called a key. Existing
cryptographic techniques are usually identified as ``traditional'' or ``modern.''
Traditional techniques date back for centuries, and are tied to the the operations
of transposition (reordering of plaintext) and substitution (alteration of plaintext
characters). Traditional techniques were designed to be simple, and if they were
to be used with great secrecy extremely long keys would be needed. By contrast,
modern techniques rely on convoluted algorithms or intractable problems to achieve
assurances of security. There
are two branches of modern cryptographic techniques: public-key encryption and
secret-key encryption. In public-key cryptography, messages are exchanged using
keys that depend on the assumed difficulty of certain mathematical problems --
typically the factoring of extremely large (100+ digits) prime numbers.