Julius Caesar (Roman,
100 BC – 44 BC) used
encryption to communicate with
his generals. Named after its
first recorded user, the Caesar
cipher shifts each letter of a
message by a constant number of
letters. The constant is the “key”.
is an example of a public key encryption
algorithm that offers an elegantly simple
way of storing and sharing the keys
needed to unlock sensitive information.
RSA is the main algorithm behind the
security infrastructure that we use
on the Web. The math in RSA centers
around the difficulty in factoring large
integers, that is, to defeat an RSA
scheme you must be able to solve a virtually
impossible factoring problem.
= pq (p
are distinct, typically large prime
m = (p-1)(p-1)
such that e
is relatively prime to m,
that is, no number other than 1
divides into e
such that de
= 1. If p
are large, solving for d
by breaking the key is virtually impossible.
This number d
is part of the secret (or private)
key that unlocks hidden information.
The number e is part of the public
key that allows others to lock
up information destined for specific
Another important public key algorithm
uses elliptic curves over a finite
field to supply the impossible
problem. The advantage over RSA
is that smaller numbers can be
used with equal security. This
is important for mobile devices
where speed and space are issues.