Discrete Algebraic Methods (Arithmetic, Cryptography, Automata and Groups)