1. A method of generating public key for an elliptic curve Diffie-Hellman (ECDH) key exchange protocol without disclosing the private key during computation of the public key, the method comprising the steps of: generating a random number; interpreting that random number as a linearly transformed random number; and generating a public key using the transformed number.