Email: fazio AT cs DOT ccny DOT cuny DOT edu
Lectures: Wednesdays, 10:00am–12:30pm, Online
Office hours: Tuesdays, 2:00pm–3:00pm, Online
Class Meetings: Tuesdays/Thursdays, 9:30am–10:45am, Online
Office hours: Thursdays, 11:00am–12:00pm, Online
[ Course Description |
Course Objectives |
List of Topics |
Work Load & Grading |
Weekly Schedule ]
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
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.
Successful completion of this course trains the students in the
- how to approach moderately large software projects and work
effectively in teams;
- analyze, understand, and evaluate the security of
- 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
- 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
- Cryptographic approaches to money before Bitcoin
- The Bitcoin revolution
- The cryptocurrency ecosystem
- Decentralized applications /"Smart contracts"
There is no required textbook.
- A Course in Cryptography.
R. Pass and A. Shelat
- Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction.
Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven Goldfeder
NOTE: Late assignment will not be accepted.
- 10%: Class attendance & participation
- 40%: Homework
- 50%: Project Report & Presentation
- 40%: Project implementation
- 40%: Project report
- 20%: Project presentation (slides and demo)
Schedule (Fall 2020)
Copyright © Nelly Fazio