We will study a variant of Diffie-Hellman using Elliptic Curves. If you already know Diffie-Hellman, the core idea is very simple (it is difficult only in the details). So let’s have a quick review. In Diffie-Hellman, two parties want to have a number that is secret to themselves, using a physical medium which may be eavesdropped. Once that is achieved, the number may be used as symmetric key, dealing with the actual encryption quickly.
In Diffie-Hellman, we have a prime modulus , and we have a generator
between 2 and
, both large but known to everybody. Fermat’s Little Theorem dictates that
. We choose
and
so that
for any number between 1 and
. (This is usually done by restricting the form of
, e.g., ensure that
for some prime
. Then we only need to check a few exponents of
to ensure that the above non-equivalence holds, in this case check
and
.) This will ensure that the “discrete logarithm problem”, i.e., given
, find
, is hard to compute (i.e., takes an incredible amount of energy to compute given currently known algorithms).
Then two parties A and B wanting to communicate can share a common secret in the following scheme. First, they respectively generate their own secret and
, and keep them secure. Then they independently calculate
and
, and call them public keys. Being public means that they can be published to the world, and because of the way
is constructed, doing so will not leak
and
.
Now A and B knows a secret that only they know, in particular . A can calculate it as
, and B can calculate it as
. For everybody else, it doesn’t seem that there is a way to find that common secret without first computing either
or
, which is hard.
Suppose we want to have 128-bit security. The length required by and
required would also be 128 bits. However, as good algorithms exists to solve discrete log in time less than exponential, the length required by
is 3072 bits. The two public keys would also be 3072 bits quantities.
We are going to study how to replace the discrete logarithm problem with another problem. As little as possible is changed on other parts of the above scheme, but it becomes vastly harder to find additional properties allowing algorithms like the general number field sieve. The key to the above is elliptic curves, which we will study next.
September 2017
Isaac To
Prev: Introduction Up Next: Elliptic Curve