Fundamentals of Cryptography : Introducing Mathematical and Algorithmic Foundations