Since the introduction of the concept of public key cryptography by Diffie and Hellman in 1976, the potential for the use of the discrete logarithm problem in public key cryptosystems has been recognized. ElGamal gave an explicit methodology for using this problem to implement a fully functional public key cryptosystem, including digital signatures. This methodolgy has been refined and incorporated with various protocols to meet a variety of applications, and one of its extensions forms the basis for a proposed U.S. digital signature standard. Although the discrete logarithm problem, as first employed by Diffie and Hellman in their public key exchange algorithm, referred explicitly to the problem of finding logarithms with respect to a primitive element in the multiplicative group of the field of integers modulo a prime p, this idea can be extended to arbitrary groups (with the difficulty of the problem apparently varying with the representation of the group). In this paper, we describe how these protocols can be efficiently implemented using the group of an elliptic curve over a finite field. In particular, we will discuss a new VLSI implementation of F2(155) and the performance of elliptic curve systems over this ground field.