implementing Elgamal Digital Signatures