CS 178 Introduction to Cryptography

CS 178 Introduction to Cryptography

Spring Term - Enroll Codes Lec: 08342 & Disc: 08359 & 69328
Department of Computer Science
University of California Santa Barbara
http://cs.ucsb.edu/~koc/cs178

Announcements

  • Class Schedule and Classroom: Tuesdays and Thursdays 11:00am-12:15pm; Girvetz 2128
  • My office hours: Wednesdays 10:00am-12:00pm.

  • Our TAs is Baki Aydin (baki@cs)
    TA Office: Phelps 1413
    TA office hours: Wednesdays 1:00-3:00pm

  • Discussion Schedules and Classrooms:
    Mondays 1:00-1:50pm; BSIF 1217.
    Mondays 4:00-4:50pm; Phelps 1401.

  • Please subscribe to the Google group ucsb-cs178-s12 for class discussions.
  • Please check the class website, Google group page, and/or your email once a day.

Grades

  • TBA

Homework Assignments

  • Homework 1 .. posted on Apr 04 .. due Apr 12
    Section 2.13: 3, 5, 7, 8, 11, 13, 15, 17
    Section 2.14: 2, 4, 5, 10

  • Homework 2 .. posted on Apr 17 .. due Apr 26
    Section 2.13: 19, 20, 21, 22
    Section 3.13: 2, 12, 13, 14, 15, 16, 17, 18
    Section 3.14: 1, 2, 3, 4, 5, 6 (Use Mathematica, Maple, or Matlab)

  • Homework 3 .. posted on Apr 25 .. due May 8
    Section 4.9: 2, 3, 4, 5, 6, 8, 9, 10
    Section 5.5: 1, 2, 5
    Additional Questions: hw3.pdf

Weekly Course Plan

  • Week 01 - Apr 03 & Apr 05: Sections 1.1, 1.2, 2.1-2.4, 2.7
  • Week 02 - Apr 10 & Apr 12: Sections 2.9-2.11
  • Week 03 - Apr 17 & Apr 19: Sections 3.1-3.9, 3.11, 4.1
  • Week 04 - Apr 24 & Apr 26: Sections 4.3-4.8
  • Week 05 - May 01 & May 03: Sections 5.1-5.4

  • Week 06 - May 08 & May 10: Sections 3.1-3.12 (Review), 6.1
  • Week 07 - May 15 & May 17: Sections 6.2-6.7, 7.1-7.5 ; Midterm is on May 17
  • Week 08 - May 22 & May 14: Sections 9.1-9.5
  • Week 09 - May 29 & May 31: Sections 8.1-8.7
  • Week 10 - Jun 05 & Jun 07: Sections 16.1-16.6

Additional Course Material


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: 40 %
  • Midterm exam: 30 %
  • Final exam: 30 %
  • Late HW: Every late day subtracts 20% from the homework grade.

Course (Catalog) Description

An introduction to the basic concepts and techniques of cryptography and cryptanalysis. Topics include: The Shannon theory, classical systems, the enigma machine, the data encryption standard, public key systems, digital signatures, file security.

Prerequisites

CS 10 or CS 24; CS 40; PSTAT 120A or PSTAT 121A or ECE 139 or permission of instructor.

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


Dr. Çetin Kaya Koç