CS 178 Introduction to Cryptography
Spring Term 2011 - Enroll Code: 46474 & 46482
Department of Computer Science
University of California Santa Barbara
http://cs.ucsb.edu/~koc/cs178
Announcements
- Class Schedule and Classroom:
Tuesdays and Thursdays 2:00-3:15pm; BSIF 1217.
- My office hours: Tuesdays and Thursdays 3:30-5:00pm.
- Discussion Schedule and Classroom:
Wednesdays 5:00-5:50pm; Phelps 1401.
- Our TA is Damon Valenzona (dvalenzona@cs);
TA Office: Trailer 931
TA office hours: Wednesday 3:00-4:30pm and Thursday 3:30-5:00
- Please subscribe to
groups.google.com/group/ucsb-cs178-s11 for class discussions.
- Please check the class website, Google group page, and/or
your email once a day.
Grades
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-10 questions.
- Homework 1 .. posted on Apr 05 .. due Apr 12
Problems: 1.3, 1.4, 1.9, 1.14, 2.4, 2.7, 2.8, 2.10
- Homework 2 .. posted on Apr 21 .. due Apr 28
Problems: 3.1, 3.2, 3.5, 3.7, 4.11, 4.13, 4.14, 4.15
- Homework 3 .. posted on May 03 .. due May 10
Problems: 5,1, 5.2, 5.12, 5.10, 6.6, 6.7, 6.10, 6.11
- Homework 4 .. posted on May 18 .. due May 26
Problems: 7.2, 7.4, 7.11, 8.5, 8.12, 9.2, 9.5, 9.7,
Weekly Course Plan
- Week 01 - Mar 29 & Mar 31: Chap 1, 2
- Week 02 - Apr 05 & Apr 07: HW1, Chap 2
- Week 03 - Apr 12 & Apr 14: Chap 3
- Week 04 - Apr 19 & Apr 21: HW2, Chap 4
- Week 05 - Apr 26 & Apr 28: Chap 5
- Week 06 - May 03 & May 05: HW3
- Week 07 - May 10 & May 12: Midterm (May 12)
- Week 08 - May 17 & May 19: HW4
- Week 09 - May 24 & May 26:
- Week 10 - May 31 & Jun 02: Take-home Exam posted on May 31 ..
due June 03 at 23:59
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.
- Absence from Midterm : You can turn in the midterm
questions as HW to receive the half of the midterm grade.
- Absence from Final: You get % 0 from Final.
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. Cetin Kaya Koc
|