Fundamentals of Cryptography: Introducing Mathematical and Algorithmic Foundations