Elliptic-Curve Based Cryptography and Public-Key Encryption