Classical ciphers and their analysis; unconditional versus computational security; basic constructions for stream ciphers; examples and modes of operation of block ciphers; cryptographic hash functions; public key encryption with ElGamal and RSA; digital signature schemes; Diffie-Hellman key exchange.
Learning Objectives
- Define the security of fundamental cryptographic primitives and systems.
- Analyze security of symmetric and public key schemes, hash functions, message authentication codes and cryptographic protocols.
- Define and apply generic cryptanalysis methods including brute force, frequency analysis, meet-in-the-middle.
- Examine symmetric key encryption functions: Classical ciphers, stream ciphers, block ciphers.
- Identify applications and real-life deployment of cryptographic constructions.
- Develop software skills for implementing cryptographic algorithms and for analyzing their security.
- State basic probabilistic and statistical notions and apply this knowledge in cryptanalysis.
Framework Connections
The materials within this course focus on the NICE Framework Task, Knowledge, and Skill statements identified within the indicated NICE Framework component(s):