CS55500 - Cryptography and Data SecuritySpring 2015 Days/Time:
TBA / TBACredit Hours:
To give students knowledge of cryptography and its applications in building secure protocols.Description:
Concepts and techniques of cryptography and its applications. Cryptographic primitives, including 1-way hash functions, 1-key (symmetric) and 2-key (public key) cryptosystems, 1-way accumulators. Communications using symmetric and public key cryptography. Authentication, digital signatures, key exchange. Attacks on protocols, including resend attacks and person-in-the-middle attacks. Many case studies of protocol failures, why they fail, lessons learned, etc. Dictionary attack, salt, SKEY, SKID. Multiple-key cryptography, secret splitting, timestamping, group signatures, bit commitment, fair coin-flipping, mental poker, interactive zero-knowledge proofs and how to make them noninteractive, blind signatures, oblivious transfer, simultaneous contract signing, digital certified mail, simultaneous exchange of secrets, secure electronic voting, secure multiparty computations, anonymous message broadcasting, digital cash. Number-theoretic concepts and algorithms relevant CONTINUED-2Topics Covered:
Basic building blocks (just the functionality - the algorithms implementing them are left until later in the course): Enciphering, deciphering, random sequences; Private key systems, public key systems; One-way functions. Cryptographic protocols (using the building blocks - still without knowing the algorithms implementing them): Communication, key exchange; Digital signatures; Authentication; Secret splitting/secret sharing; Timestamping; Bit commitment; Fair coin flips, mental poker; Zero knowledge proofs; Blind signatures; Oblivious transfer; Contract signing; Certified mail; Exchange of secrets; Elections; Multiparty computation; Anonymity, digital cash. Cryptographic techniques and algorithms (at last you get to see some representative algorithms for implementing the building blocks we've been using): Key management (generation, transfer, ...etc); Types and modes of algorithms (block ciphers and stream ciphers and variants thereof, ...etc); Theoretical background (information theory; complexity theory; computational number theory); DES; A few other block cyphers; (Pseudo) random sequence generation; One-way functions; Public-key algorithms; Identification schemes; Key exchange algorithms; Other algorithms (as time allows).Prerequisites:
A bachelor degree in computer science or an equivalent field. Students not in the Computer Science master's program should seek department permission to register.
Linear algebra, data structures, and introduction to the analysis of algorithms.Homework:
Six to seven homework sets, no late homeworks will be accepted. The solution is usually posted on the web one day after the homework is due.Projects:
Report to contain a listing of program, the separate document that describes it, and test data and results. Student will demonstrate project; some of the grading will be based on this demonstration.Exams:
One midterm exam and one comprehensive final exam.Textbooks:
Required--Bruce Schneier, "Applied Cryptography: Protocols, Algorithms, and Source Code in C," 2nd ed., Wiley, 1995, ISBN 0471128457.Computer Requirements:
ProEd minimum computer requirements.ProEd Minimum Requirements: viewTuition & Fees: viewOther Requirements:
3- Yao's millionaire problem, computing with encrypted data, secret sharing (Shamir, Blakley), zero-knowledge proof of discrete log, of private RSA key. Tamper-proofing audits trails. Watermarking and digital rights.