Elliptic Curve Cryptography: a gentle introduction