The Future of Cryptography - Quantum Machines
Quantum computing will prove to be a revolutionary way of solving very large (and currently
infeasible) problems. The underlying imlication is that a machine can calculate and test a
virtual infinity of possibilities in parallel, where traditional machines would have to try
each possibility serially, one at a time. This is great news for the algorithmics community,
but may foretell a rather unpleasant fate for cryptography, at least as we know it. For now,
this technology is in its early stages, and will certainly not become widespread for some time.
For single-key encryption systems, quantum machines would be able to perform brute-force
attacks in constant time, no matter how large the key space, simply by trying all possible
keys in parallel. The more interesting use of these machines is to analyse public-key systems,
such as RSA. To get a basic understanding of how RSA works, have a look at our
theory section.
Finding Prime Factors on Traditional Computers
Certain problems seem to be extremely hard to solve using traditional
deterministic sequential computers. Finding the prime factors of integers is one of these
problems, and has particular relevecce to public-key encyption. The difficulty of factoring
should be obvious if one considers the brute-force approach to tackling this problem.
If a number n is to be decomposed into it's prime factors
then the numbers from 2 up to the square root of n must be
considered as a possible factor (if it is prime). If there are p prime
numbers less than or equal to the square root of n that are factors of n, then
there are C(2,p)+C(3,p)+...+C(p,p) possible formal products that could describe
the prime factors of n, where C(i,j) is
the binomial coefficient defined to be i! / j!(j-i)!.
If n is large then the brute-force approach is not
computationally feasible [Shor01].
Quantum Computing
To solve a problem, a traditional computer considers some specific
string of 0s and 1s as input and produces some specific sequence
of bits as output.
Units involved in the quantum computation are the direction of spin of
individual atoms. Instead of the single bit representation, the qubit
or quantum bit can represent many different values simultaneously. In this
way a quantum computer can consider multiple bit strings at once. If a
classical computer operates on n bits (including bits for stack pointers
and variables used in computation) for a specific problem P, then there are
2n states that the computer could be in. A
quantum computer working on problem P could consider all 2n states
at once. All 2n states would be superimposed over
the n qubits. Thus there is an exponential increase in parallelism
given by a liner increase in number of qubits. The drawback to the qubit
representation is that when they are measured they will exhibit the properties
of classical bit representations (i.e. they will be in some specific
configuration). This means that if the result of the quantum computation
on some specific bit string B is required then there is a probability
associated with the observer actually getting the result of the computation
on B. Luckily there are methods to increase the probabilty of getting
the desired answer [Hogg96].
It is essential to note that it is not currently known how to build a
quantum computer. Despite this fact, algorithms are presently being
developed which use a quantum computer for the computational model.
It is arguable whether a qauantum computer will ever be built. Many
models have been proposed which seem feasible; moreover, the laws of
quantum mechanics suggest that it is possible to build a quantum
computing device [Shor01].
Factoring Integers on Quantum Computers
In 1994 when Peter Shor, a scientist working for Bell Labs devised a polynomial
time algorithm for factoring large numbers on a quantum computer. This discovery
drew great attention to the field of quantum computing. The technique
Peter Shor describes is directly applicable to the RSA encryption algorithm; the
value of p and q can be obtained and hence the algorithm
can be comprimised [Shor01].
Quantum Encryption
Many strong encryption techniques have been developed that require the
use of a secret key (see the section on one-time-pads for
example). The problem with these techniques is that they require both
parties to be aware of the secret key. The problem becomes circular:
how do we transmit the secret key such that only the two parties
involved know the key. The encryption techinques that require secret
keys could still be useful if there was a way that both parties could
be aware of the secret key and be sure that nobody else knew the key.
In the early 1980's, Gilles Brassard and Charles Bennett proposed a
solution to this problem that exploited the properties of quantum
mechanics.
Brassard and Bennett proposed a method for encoding and recieving
information such that if a person reads the encoded message
then some unrecoverable properties of the message change. First
off the secret key is encoded using a normal bit representation, but
is transmitted using a non-traditional method: bits are actualized
by photons that have different polarisations depending on whether
they represent a 0 or a 1. If a someone, say Eve, attempts to intercept the
key exchange between Alice and Bob, for example, then Eve would have
to observe the photons. Due to the strange
properties of quantum mechanics, just viewing the key would
alter the polarisation of the photons. Eve would
then have to retransmit the key to Bob and presumably Bob and Alice
could detect that there was an intruder and would discard the key.
But if just observing the photons changes the polarisation
then how can Bob get the key even if Eve isn't listening in?
The solution to this problem takes advantage of the quantum mechanics.
Alice begins by sending randomly generated bits
to Bob at regular intervals (the bits sent would have to be remembered by Alice).
Alice uses two polarising filters: one orientated at 0 degrees and one at +45 degrees.
A 0 bit is encoded using the 0 degree filter and 1 bit is encoded using
the +45 degree filter. In order to recieve the photons, Bob has two
filters: one orientated at 90 degrees and one at -45 degrees. The
properties of quantum mechanics give us the following facts:
- A photon that strikes a filter that is orientated in the same direction
of it's polarisation will always pass through the filter
- A photon that strikes a filter that is orientated orthogonally to the
direction of it's polarisation will never pass through the filter
- A photon that strikes a filter that is orientated diagonally to it's
polarisation has a 50% chance of passing through the filter and
a 50% chance of being blocked
Bob can use these properties to gain knowledge of some of the random bits that
Alice is sending him. If Bob is monitoring his -45 degree filter then there
are two possibilites:
- No photon passes through: Bob doesn't know what Alice sent since it
could have been and +45 degree photon, which will always pass through
the filter, or it could have been a 0 degree, which is sometimes blocked
- A photon passes through the filter: Alice sent a 0 degree polarised photon
Using this information, Bob can be sure if Alice sent a 0 degree polarised photon
if a photon passes through the -45 filter. Likewise, Bob can be sure that Alice sent
a +45 degree polarised photon if one passes through his 90 degree filter. Bob will
be able to correctly identify a portion of the photons that Alice is sending. He can
use this information to decide upon a key with Alice: since Alice is recording all the
bits she sends, Bob can call her on the phone and tell her which bits he recieved. Bob
would not have to tell her the value of the bits he recieved, but rather he would just
have to tell which bits he got (ex. Bob might say I got bits 4, 7, 9, 15, etc...). If
Eve is listening to this conversation, the data is useless, since the values of the bits
being used are not revealed. The bits that Bob correctly recieved form the key that
will be used for encryption and decryption.
Conclusion
The power of quantum computers seems to be quite obvious. If we are able to build them then
many problems that are currently infeasible become feasible. Cracking the RSA encryption
scheme is one of these problems. Although quantum computers may be only speculation at this
point in time, they still have repercussions for computer users today. If a quantum computer is
eventually built then any RSA encrypted data that still exists can be decrypted. It is also
important to note that RSA has become a standard encryption technique and is used in
a lot of communiction software. If a quantum computer was suddenly developed then much of
the encryption software that is at the heart of internet applications would need to be updated.
Quantum encryption seems to provide a way of getting around the power of quantum computing.
The quantum encryption techniques described by Brassard and Bennett are virtually unbreakable.
A quatum computing device would prove useless against a message encrypted using a one-time-pad
technique. It is true that the quantum computer could consider all possible keys, but it
would never know when it was right. A simple example will show why this is the case. Suppose
a one-time-pad encrypted message is found and a quantum computer tries to decode it by
cycling through all the possible keys. Lets say it tries some key kj and
decodes the message to be HELLO THERE BOB. Lets say it tries some key ki
and gets the message SECRET MESSAGE!. There is no way to tell which key is the correct
one. Since quantum encryption guarentees that the key will not be known, the encrypted message
is safe. This suggests that quantum encryption is a solution to the problem that
quantum computers raise for more traditional encryption techniques such as RSA.
Back to the top.