Learning Outcomes:
• Understand the fundamentals of the major algorithms used in modern cryptography
• Understand the practical deployment of such algorithms
• Use cryptographic tools and techniques to encrypt, decrypt and sign messages
• Identify attacks and vulnerabilities in cryptographic systems, and their countermeasures
• Explain multi-step security protocols
Indicative Module Content:
• Introduction and basic concepts
• Hash functions: SHA
• Message authentication codes (MAC)
• Modern symmetric-key encryption: AES, modes of operation, AES-CBC-HMAC
• Key exchange: Diffie-Hellman
• Asymmetric-key encryption: RSA
• Digital signatures: public key infrastructure (PKI), RSA signatures
• Randomness
• Protocols: secure transport (SSL, TLS), end-to-end encryption, user authentication