Cryptography is a foundation in cybersecurity. It is the underlying building block of many defense mechanisms, systems, and protocols. This course explores the principles, techniques, and applications of cryptography in real-world systems. Specifically, we will study classical cryptography, modern symmetric and asymmetric encryption, cryptographic protocols, and practical applications. Students will gain a comprehensive understanding of how cryptographic techniques are applied to ensure the confidentiality, integrity, and authenticity of data. The course will also cover the implementation of cryptographic algorithms and protocols, analyzing their strengths and weaknesses, and understanding the potential vulnerabilities and attacks.