Applied Discrete Mathematics and Cryptography