Discrete Math Algorithms And Cryptography