CS 178 Introduction to Cryptography

CS 178 Introduction to Cryptography

Winter Term 2010 - EnrlCd: 08375
Instructor: Cetin Kaya Koc
Tuesday & Thursday 12:30 - 13:45
Room: Girvetz 1119
http://cs.ucsb.edu/~koc/cs178

Announcements

  • In order to view or print the PDF files, you need Adobe Reader. Make sure that you have the most recent version in your computer, otherwise, you may not be able to view or print the documents.
  • Recitation Days & Hours: Fridays 2:00-2:50pm, Girvetz 2120. EnrlCd: 08383.

Homework Assignments

Homework assignments will be on the web on even weeks on Tuesdays and will be due to the following Tuesday. There will be 4 homework assignments. Each homework assignment will have about 8 questions.
  • TBA

Weekly Course Plan

  • TBA

Motivation

This is an introductory course on methods, algorithms, techniques, and tools of cryptography. We study in detail algorithmic and mathematical aspects of cryptographic methods and protocols, such as secret-key cryptography, public-key cryptography, hash functions, and digital signatures. We show how these techniques are used to solve particular data and communication security problems. This course material is useful for computer science, electrical engineering, and mathematics students who are interested in learning how cryptographic algorithms and methods are embedded in information systems, providing confidentiality, integrity, non-repudiation, and authenticity of stored and transmitted digital data.

Topics

  • Mathematical Background: Integers; cost of arithmetic operations; gcd and extended gcd computation; Euclidean algorithm; factoring into primes; modular arithmetic; groups, rings, and fields; orders of elements, groups and subgroups; exponentiaton; Chinese remainder theorem; polynomials and finite fields.
  • Secret-Key Cryptography: Symmetric and asymmetric systems; cryptanalysis; alphabets and words; permutations; block ciphers; stream ciphers; matrices and linear maps; Vigenere, Hill and permutation ciphers; perfect secrecy; birthday paradox; Vernam cipher and one-time pad; deterministic and true random numbers; DES and AES.
  • Public-Key Cryptography: RSA algorithm, Rabin's algorithm, Diffie-Hellman key exchange, ElGamal; Factoring and generating prime numbers, Fermat test, Miller-Rabin test; Discrete logarithms, Pollar rho algorithm, index calculus.
  • Hash Functions: Fundamentals, one-way functions, preimage and second preimage computations, compression functions, MD5, SHA-1, an SHA-2 and SHA-3 family; Message authentication functions.
  • Digital Signatures: RSA, ElGamal, DSA, ECDSA, special signatures.
  • Advanced Topics: Elliptic curve cryptography, secret sharing, one-time passwords, challenge-response protocols, certificates.

Textbooks

Grading Rules

  • Homework assignments: 30 %
  • Midterm exam: 30 %
  • Final exam: 40 %
  • Late HW: Every late day subtracts 10% from the homework grade.
  • Absence from Midterm : You can do the midterm questions as HW for % 50 of the midterm grade.
  • Absence from Final: You get % 0 from Final.

Prerequisites

This class is open to all undergraduate CS, ECE, and MATH students, with appropriate discrete mathematics background.

Dr. Cetin Kaya Koc