Exponential key agreement (also called exponential key exchange) provides a way for you and I to agree on a key while communicating over an insecure channel. We can use this key only for one communication session, and then discard it. Since our computers don't retain the key, even if Eve later breaks into my computer, she can't decrypt our old communication traffic. There is no need to distribute millions of keys to all the people using the Internet, since any two people can agree on a key whenever they want.
The security of exponential key agreement depends in part on the
modular logarithm problem being computationally difficult. As
discussed in the previous handout, if indeed this problem is difficult
then modular exponentiation gives us a
good way to ``hide'' a secret number x, i.e. to calculate a number
that depends on x but from which x cannot be easily
computed. We calculate using the repeated squaring
method.
In this handout, we use some other, special properties of exponentiation. In particular, we use the fact that raising a number X to the power Y and then raising the result to the power Z yields the same value as raising X to the power Z and raising that result to the power Y. In symbols,
and this is true even if the exponentiation uses modular arithmetic.