A Survey on Elliptic Curve Cryptography