Fundamentals of protecting confidentiality, integrity, and availability of information in computer systems. This course covers the fundamentals of cryptographic concepts and methods. Several encryption/decryption algorithms will be discussed. The topics include an introduction to the mathematics behind cryptography including number theory, group theory, and probability theory; cryptographic algorithms including classical methods, symmetric key systems, public key systems, hash functions, digital signatures and certificates; cryptanalysis and attacks; and access control including authentication and authorization. Assignments include programming labs to apply public keys, dictionary attacks, digital signatures, and certificates.
Upon successful completion of the course, students will be able to: Identify basic structures of cryptographic algorithms from a mathematical and computer scientific viewpoint; Recognize fundamental cryptographic protocols; Identify common flaws in cryptographic regimes.