Applied Cryptography (Principles, Analysis, and Python Implementation)