Modern Cryptography and Computer Security

This course is an introduction to modern cryptography, which provides maximum security while at the same time preserves the flexibility of digital media. It forms the foundation of Information Society (objectives: privacy, data integrity, digital authentication/signatures, digital cash, and other cryptographic protocols; it covers mathematics, computer science, electrical engineering, finances, policy, defense, etc.). We will discuss rigorous definitions of security in various situations. We will review basic mathematical problems used in cryptography and related complexity considerations. We will build more complex protocols from simpler primitives, and will prove the more complex protocols meet their security objectives.

In this course, we will study selected topics from symmetric cryptography (classical ciphers and history of cryptography, stream ciphers, Shannon theory of information, block ciphers, cryptoanalysis and statistical methods, hash functions, authentication codes, birthday paradox attacks), asymmetric (public-key) cryptography (cryptosystems, digital signatures, key agreement protocols, identification schemes, other protocols), computer and information security (security of programs, security of databases, security of OS and real time security management, security of network communications, privacy in CS, key managements, efficient and secure implementation of cryptosystems).