Computational Number Theory and Modern Cryptography