Elliptic curves and their applications