Course summary 


Catalog description

A broad introduction to cryptography and its application to computer-network security services and mechanisms, such as confidentiality, digital signature, access control, and electronic payments. Analysis of software and hardware implementations of cryptographic algorithms and network-security protocols.

Course objectives

The course gives a broad overview of methods of implementing security services based on cryptography in today’s communication networks.  We discuss the fundamentals of contemporary cryptography and its application to network services, such as confidentiality, integrity, authentication, and non-repudiation. We show how new ideas in cryptology, such as public key cryptography and zero-knowledge protocols, permit the efficient solutions to the problems of digital signature, electronic cash, key exchange, and access control. We analyze the strength of today's ciphers and their implementations, and discuss the best known cryptanalytical techniques used to break security systems.  We analyze the most popular implementations of cryptography used on the Internet, including systems for electronic mail protection, secure WWW, and electronic payment protocols. We discuss the ongoing work on the development of American and international standards for secure communications and present the most recent research trends in cryptology.

Format of the course

The course consists of the lecture, several laboratory classes, and a semester long project. The lecture gives a broad overview of the subject. The project enables a more in-depth study of the selected sub-area. It involves software, hardware, or mixed implementation of cryptographic transformations. The laboratory classes make the student acquainted with practical features of selected commercial and public domain implementations of Internet security services. Homework assignments have a form of short programs in C/C++ and analytical problems.