The set of topics in this course are listed below. Click on their links to see details such as: lecture notes, chapters from textbooks, links to interesting websites, and videos of the lecture.

Introduction to Security

Definitions of computer and network security; security services, mechanisms and attacks.

Classical Encryption Techniques

Old ciphers are presented to demonstrate principles used in many encryption algorithms.

Block Ciphers and DES

Symmetric key encryption is primary performed with block ciphers. DES is used as an example.

Modes of Operation

Different modes of operation are available to apply block ciphers on large plaintexts.

Pseudo Random Numbers and Stream Ciphers

Random numbers, pseudo-random number generators and their application in cryptography, and stream ciphers.

Number Theory

Background on number theory relevant to understanding public key cryptography.

Public Key Cryptography

Principles of public key cryptography and details of RSA

Message Authentication Codes

How to authenticate the send and contents of messages, especially using encryption and MACs

Cryptographic Hash Functions

Hash functions and how they are used for authentication, especially digital signatures.

Key Management and Distribution

Methods to distribute secret and public keys to other users in a secure manner.

Internet Security

End-to-end protocols used in the Internet to secure communications, specifically SSL, HTTPS and SSH.