an implementation of eliptic curve cryptography