Cryptography

CSc 48000–Fall 2025

The City College of CUNY
Department of Computer Science

Instructor: Prof. Nelly Fazio
Lectures: Tu/Th, 2:00–3:15pm, Shepard 20
Office hours: T/Th, 12:30–1:30pm or by appointment, NAC 8/201
Email: nfazio AT ccny DOT cuny DOT edu [Put CSc480 in Subject line]


[ Course Description | List of Topics | Textbook | Grading | CUNY Academic Integrity Policy | Weekly Schedule ]


Course Description

This course covers the theoretical foundations of modern cryptography. Emphasis will be placed on precise definitions, rigorous proof techniques, and analysis of the relations among the various cryptographic primitives. List of topics includes: computational security, cryptographic hash functions, private-key encryption, message authentication codes, public-key encryption, digital signatures, commitment schemes. No previous knowledge of cryptography is required. However, general ease with algorithms and elementary probability theory, and maturity with mathematical proofs will be assumed.

Prerequisites: CSC 22000, CSC 30400, and (CSC 21700 or EE 31100)

List of Topics

Recommended Textbook

Grading

NOTE: There will be NO make-up or substitute exams!

CUNY Academic Integrity Policy

Cheating will not be tolerated. If you cheat, you risk losing your position as a student in the department and the college. CUNY policy on academic integrity can be found here. Failure to understand and follow these rules will constitute cheating, and will be dealt with as per university guidelines.

Weekly Schedule (tentative)

Lecture Date Topic
1 Aug 26 Introduction to Cryptography. Information-Theoretic Setting.
2 Aug 28 Introduction to the Computational Setting.
3 Sep 2 Brush-up on Number Theory.
4 Sep 4 Hash Functions. Applications: Fingerprinting.
5 Sep 9 Commitment Schemes.
6 Sep 11 One-Way Functions. One-Way Permutations.
OWF Candidate: Integer Multiplication. OWP Candidate: Modular Exponentiation..
7 Sep 16 Computational-Secure Private-Key Encryption. Pseudorandomness. Pseudorandom generators.
8 Sep 18 Symmetric Encryption: Block ciphers and Modes of Operation.
9 Sep 25 Data Integrity: Message Authentication Protocols.
10 Sep 30 The key distribution problem. Merkle puzzles. Diffie-Hellman Key Exchange.
11 Oct 7 Asymmetric Encryption Schemes. ElGamal encryption scheme.
RSA encryption and padding schemes (OAEP,OAEP+)
12 Oct 9 Digital Signatures. Lamport's one-time signature scheme.
RSA signature scheme.
13 Oct 16 Schnorr signature scheme.
Signature schemes for multiple messages: "chain-based" signatures and "tree-based" signatures.
14 Oct 21 Review
15 Oct 23 Midterm Exam.
16 Oct 28 Introduction to cryptocurrencies
17 Oct 30 Consensus layer, Merkle trees and proof-of-work
18 Nov 4 Byzantine generals problem
19 Nov 6 Sybil Attak, Mining and Nakamoto consensus
20 Nov 11 Bitcoin transactions and scripts
21 Nov 13 Wallets & SPV
22 Nov 18 Forks
23 Nov 20 -
24 Nov 25 Transactions fees
25 Dec 2 Proof-of-Stake. Blockchain CAP Theorem
26 Dec 4 Ethereum
27 Dec 9 Review
28 Dec 11 Final Exam, 2:00—3:15pm, Shepard 20

Copyright © Nelly Fazio