Mathematics of Public Key Cryptography