The aim of this course is to introduce some foundational algebraic techniques used in cryptography and coding theory, as well as to present some important and useful protocols. In particular we discuss many modern cryptosystems, including AES, RSA and EC-based protocols, as to understand their properties and limitations.