An Introduction to Cryptography, Second Edition (Discrete Mathematics and Its Applications)