CS456/CS556 Cryptography (Spring 2026)

Pre-requisites: CS142, MA211.
Programming skills and mathematical curiosity.

Instructor: Christino Tamon
Lecture: TR 8:00-9:15 (SC162)
Office hours: TR 9:15-11:15, W 1-3 (SC373).


SYLLABUS
Cryptography is the study of secure communication over insecure channels. We will study the basic methods and concepts in cryptography along with their applications. The course will look at well-known modern cryptographic systems such as RSA, Diffie-Hellman, and elliptic curve cryptography.

Most of these topics require background in number theory and probability theory. The first part of the course will be spent on developing the necessary background in these areas. The second part of the course is spent on the applications of these to building cryptographic tools.

An underlying theme of this course is the rise and "fall" of the RSA system. Theoretical properties and improvements of the RSA system will be discussed in detail. Then a discussion of Shor's quantum algorithm for factoring will be described. Finally, a brief look at quantum cryptography will be given.


GRADING: Assignments and Quizzes (40%), Midterm (20%), Final (40%).

TEXT: (recommended but not required)
A. Menezes, van Oorschot, S. Vanstone, Handbook of Applied Cryptography, CRC Press. link.

OTHER:
D. Boneh, V. Shoup, A Graduate Course in Applied Cryptography, link.
D. Angluin, "Lecture Notes on the Complexity of Some Problems in Number Theory", Technical Report #243, Yale University, 1982.


OBJECTIVES/OUTCOMES:
The objective of this course is to learn fundamental issues and important algorithms involved in the field of cryptography.

The specific outcomes are as follows:


REQUIREMENTS/POLICIES:
Students are responsible for all course materials covered in lectures and any exams given during class periods. Students that need to make up missing course work must provide the required Clarkson official exempt form. All students must submit their own work; the exchange of ideas are encouraged but ultimately the submitted work must be the student's own. Please refer to the Clarkson University Regulations for more guidelines on academic integrity and related matters.

Schedule (updated regularly)


Optional Notes (based on notes for a course taught at Harvey Mudd)

0: One-time Pad
1: Shannon's Theory
2: Basic Number Theory
3: RSA PKCS
4: ElGamal PKCS
5: Elliptic Curves
6: PKCS Based on Quadratic Residues
7: Miscellaneous Protocols
8: DES & AES
9: Quantum Ideas


Schedule (tentative)

Jan 6
Jan 8
One-time pad: shared random string
symmetric, secret-key. Unconditionally secure.
Jan 13
RSA: protocol.
Number theory is useful.
Jan 15
RSA: protocol.

Random primes, integer multiplication, modular exponentiation.
The mysterious Pulverizer of Aryabhata.

Alice, Bob and Eve in RSA-land.

Jan 20
RSA: basic number theory.
Extended Euclidean algorithm (Pulverizer of Aryabhata):
recursive vs iterative (space-efficient).
Jan 22
RSA: basic number theory.
Modular arithmetic. Inverses modulo prime.
Jan 27
RSA: Fermat's Little Theorem.
Jan 29
RSA: Miller-Rabin primality testing.
Nontrivial square roots of unity.
Feb 3
RSA: correctness (wrong proof via Euler-Fermat).
Chinese Remainder Theorem (correct proof): parallel decryption.
Exercise: worksheet.

Feb 5
RSA: summary.
Feb 10
RSA: weaknesses and attacks.
Feb 12
RSA: weaknesses and attacks.
Feb 17
Discrete Logarithm:
Diffie-Hellman.
Feb 19
Short break.
Feb 24
ElGamal: probabilistic public-key.
Sample problem.
Feb 26
ElGamal:
Finding generators.
Mar 3
ElGamal: Elliptic Curves.
Sample problem.
Mar 5
Midterm (in class).
Mar 10
Block cipher:
Modes of encryption: ECB, CBC, OFB, CFB.
DES. Feistel cipher.
Mar 12
Block cipher:AES
AES: polynomials over finite fields. Pulverizer over polynomials.
Mar 17
Spring break.
Mar 19
Spring break.
Mar 24
Beyond RSA:
Rabin: modular square root (is equivalent to factoring).
Quadratic residues: Legendre and Jacobi symbols.
Euler's criterion.

Reference: notes by Angluin.

Mar 26
Goldwasser-Micali cryptosystem.
Semantic security. Quadratic Residuosity.
Mar 31
Blum-Goldwasser cryptosystem.
Blum integers: primes congruent to 3 mod 4.

Reading: sample.

Apr 2
Blum-Blum-Shub pseudorandom bit generator.
Apr 7
Protocol: Zero-knowledge proofs (Goldwasser-Micali-Rackoff).
Fiat-Shamir's Quadratic Residue protocol.

Reading: Tompa.

Apr 9
Protocols: coin tossing, oblivious transfer, bit commitment. Yao's millionaiers problem. Secret sharing.

Exercises: sample (sol)

Apr 14
Post-quantum: Lattice cryptography.
Source: notes (Peikert).
Apr 16
Lattice cryptography: LLL algorithm.
Source: notes (Peikert).
Apr 21
Quantum cryptography
Apr 23
BB84: quantum key distribution protocol

ASSIGNMENTS



Topics
RESOURCES/LINKS: