This document provides an introduction to elliptic curve cryptography. It discusses how elliptic curves can be used for digital signatures and key agreement. It also describes the implementation of elliptic curve cryptography over finite fields, prime fields, and binary fields. The document gives an overview of elliptic curve point addition and scalar multiplication. It explains the elliptic curve discrete logarithm problem, which the security of elliptic curve cryptography depends on.