Instructor:
Nelly Fazio
Email: fazio AT cs DOT ccny DOT cuny DOT edu
Fall 2020:
Lectures: Wednesdays, 10:00am–12:30pm, Online
Office hours: Tuesdays, 2:00pm–3:00pm, Online
Spring 2021:
Class Meetings: Tuesdays/Thursdays, 9:30am–10:45am, Online
Office hours: Thursdays, 11:00am–12:00pm, Online
[ Course Description |
Course Objectives |
List of Topics |
Textbook |
Work Load & Grading |
Weekly Schedule ]
Course
Description
In this two-semester course, students are grouped into teams to work
on projects of practical importance in cryptography.
The first semester starts by covering the basic principles and
practices of information security. Teams will pick a topic for their
project, based on their interests and on discussions with the
instructor. After reading a selection of papers on the chosen topic,
each group will narrow down their focus and outline a working plan for
the design, development, testing, evaluation, and deployment of their
project. Teams will demonstrate their understanding of the principles
and algorithms of their chosen area in a class presentation, and will
prepare a project proposals with specific deliverables and milestones
for the completion of their software project.
The second semester will focus on the implementation of the proposed
projects.
A list of possible topics and suggestions for specific project will be
discussed in class, however teams are welcome to propose other papers and
topics. Each group should discuss the final choice of the topic and
set of papers with the instructor.
PRE/COREQ: Senior year students only.
Course
Objectives
Successful completion of this course trains the students in the
following directions:
- how to approach moderately large software projects and work
effectively in teams;
- analyze, understand, and evaluate the security of
computer systems;
- gain insights on the use of cryptography to build security
and privacy properties into real-world applications;
- gain expository and presentational skills to prepare and
deliver technical reports.
List of Topics
(tentative)
- Introduction to Cryptography
- Information security goals
- Data secrecy. Data integrity. Data origin.
- Basic primitives
- One-way functions. Cryptographic hash functions. Block ciphers.
- Symmetric primitives
- Symmetric encryption. Message authentication codes (MACs).
- Public-key primitives
- Asymmetric encryption. Digital signatures.
- Cryptographic protocols
- Key exchange. Key distribution. Authentication.
- Advanced Topics
- Identification schemes. Commitment schemes. Secret sharing schemes.
Threshold encryption schemes. Threshold signature schemes
- Cryptocurrencies
- Cryptographic approaches to money before Bitcoin
- The Bitcoin revolution
- The cryptocurrency ecosystem
- Decentralized applications /"Smart contracts"
Textbook
There is no required textbook.
Recommended textbook:
- A Course in Cryptography.
R. Pass and A. Shelat
Available on-line
- Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction.
Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven Goldfeder
Grading
(Fall 2020)
- 10%: Class attendance & participation
- 40%: Homework
- 50%: Project Report & Presentation
NOTE: Late assignment will not be accepted.
Grading
(Spring 2021)
- 40%: Project implementation
- 40%: Project report
- 20%: Project presentation (slides and demo)
Weekly
Schedule (Fall 2020)
Copyright © Nelly Fazio