CS 410 Top: Advanced Cryptography
| Credit Hours: | 4 |
| Course Coordinator: | N/A |
| Course Description: | This is a seminar course. We're going to explore various areas of modern cryptography by reading papers and presenting them in class. Ideally, you will have had some exposure to cryptography already; for example, by taking CS 485/585 or an equivalent course at another university.
The main focus this quarter is: Hash Functions. I'd like to hit various aspects of hash functions themselves, as well as the ways that they impact cryptographic protocols. Here are some example topics to cover:
(1) Hash function
(2) Definitions/basics
(3) Blockcipher-based constructions (especially double-length)
(4) The Merkle-Damgard paradigm and alternatives
(5) Attacks on MDx and SHAx families
(6) Algebraic hash functions
the Random Oracle Model and its pros/cons
(7) The leftover-hash lemma and applications to key derivation, etc.
(8) Privacy amplification via hashing
(9) The hash Diffie-Hellman assumption
(10) Hash-and-sign signature schemes
(11) Perfect one-way hash functions |
| Prerequisites: | Algorithms, computational models, probability. |
| Goals: | |
| Textbooks: | No Textbook. We will use several on-line resources as we progress through the class. You may choose to print these out if you work better that way. |
| References: | We will maintain useful information on the course web page: Visit the website regularly to see what's new. |
| Major Topics: | |
| Laboratory Exercises: | None. |
| CAC Category Credits |
Core | | Advanced |
| Data Structures |
| |
| Algorithms |
0.40 | |
| Software Design |
| |
| Computer Architecture |
| |
| Programming Languages |
| |
| Oral and Written Communications: | Every student is required to submit at least one written report (not including exams, tests, quizzes, or commented programs) of typically five pages. |
| Social and Ethical Issues: | |
| Theoretical Content: | The entire course is theoretical. |
| Problem Analysis: | The course is devoted to formal analysis of cryptographic systems. Success in this course requires clear (and sometimes creative) thinking in order to identify the security goals, to determine the appropriate notions of security, and to identify (if they exist) the appropriate primitives or protocols to achieve the security goals. |
| Solution Design: | Students will learn techniques for thinking about cryptography, analyzing primitives and protocols, and synthesizing solutions to specific cryptographic goals. |
|