Mathematical Tools For Cryptography And Communication