Implementing a Digital signature using the ElGamal signature scheme. (Crypto Assignment 2)