Fall 2013
CS6260 - Applied Cryptography

Time: Tuesday and Thursday 12:05-1:25pm.
Place
: IC 215.
Instructor: Alexandra (Sasha) Boldyreva.
Email: sasha (at) gatech (dot) edu. Please include "CS6260" in the subject.
Office hours: Tuesday and Thursday 10-11am, Klaus 3144.
TA: Sara Krehbiel, krehbiel.sara (at) gmail (dot) com.
Office hour Klaus 2210, Wednesday 3-4pm.

Textbooks. There is no required textbook. Lecture notes, slides and some additional references will be posted on TSquare. If you want to have an additional reference, then you may consider buying a book by J. Katz and Y. Lindell "Introduction to Modern Cryptography".

Content. This is a 3-credit graduate-level introduction to modern cryptography course. We focus on the classical goals of cryptography such as data privacy, authenticity and integrity. Topics include pseudorandom functions and permutations, block ciphers, symmetric encryption schemes, security of symmetric encryption schemes, hash functions, message authentication codes (MACs), security of MACs, PKI, public-key (asymmetric) encryption, digital signatures, security of asymmetric encryption and digital signature schemes, secret sharing, threshold cryptography.

You will learn how various cryptographic schemes work and will discuss how they are used in practice. But the main objective is more fundamental. The goal is to build the understanding of what "secure" is and how to evaluate and measure security. We try to understand what does it mean for a cryptographic scheme to be "secure" by studying definitions of security of various primitives. You will learn how to analyze security of a cryptographic scheme and determine whether or not it is secure.

Cryptography is only one part of a much broader area of computer security. There are many topics that are beyond the scope of cryptography and will not be covered in this course, such as viruses, worms, buffer overflow and denial of service attacks, access control, intrusion detection and etc. We do not consider implementation issues in depth. Foundations of Cryptography (CS8803) course studies complementary, more theoretical and often more advanced topics of cryptography.

Prerequisites. No previous knowledge of cryptography is necessary. This course is about applying theory to practical problems, but it is still a theory course. The main requirement is basic "mathematical maturity". You have to be able to read and write mathematical definitions, statements and proofs. I expect that you did well in your undergraduate discrete math class and took basic algorithms and computibility/complexity theory classes. In particular, you have to know how to measure the running time of an algorithm and it is helpful to understand the notion of reducing one problem to another. You also have to know very basic probability theory. All necessary elements of number theory will be presented in class. No programming will be required. If you have doubts whether you have the right background please email or come to see me.

Requirements. Homeworks 15%, 3 exams 20% each, a project 25%.

Rules. Georgia Tech and College of Computing academic Honor Code applies. Homeworks are announced in class and are posted on TSquare. You can work on the homeworks individually or in pairs, but you have to write and turn in your own solutions and indicate the name of your collaborator, if any. You cannot use the Internet to find the solutions. You cannot ask your friends for the solutions from the previous years. Homework solutions should be turned in in class, stapled, before the lecture starts, on a due day (usually Friday). If you are unable to attend a lecture when a homework is due, you can submit a PDF file with your solutions to TSquare before the time of the class. No late homeworks will be accepted. Please report any typos you find in the notes, slides, homeworks or the solutions. During exams you can use the on-line lecture notes and slides posted on the class web page and your own notes.