Introduction to Modern Cryptography: Principles and Protocols