Cryptographic Primitives and Protocols: Building Blocks for Secure Communication