Understanding Cryptography: A Textbook for Students and Practitioners - Bart Preneel