Foundations of Cryptography
CSCI66201, Fall 2023, Semester 2231
Instructor
building 70, room 3657,
(585) 4755193
spr@cs.rit.edu,
https://www.cs.rit.edu/~spr
office hours:
in person MoWe 6:30pm8pm 703657, on zoom (must prearrange time), or by email spr@cs.rit.edu
Lectures, Monday/Wednesday, 5:00pm6:15pm, room 702455
General Course Documents
Syllabus, outcomes, general course documents, policies, sample schedule:
college syllabus,
general schedule.
This page gives the current offering's contents, further links and schedule.
Books and Other Reading
 Christof Paar and Jan Pelzl,
Understanding Cryptography, SpringerLink, 2010
(required textbook).
Your
textbook website includes the textbook, textbookassociated
slides and videos of lectures. For additional slides
used in this course see links below in Online Resources.
 Douglas R. Stinson and Maura B. Paterson,
Cryptography: Theory and Practice, CRC Press,
fourth edition 2019.
 A. J. Menezes, P. C. van Oorschot and S. A. Vanstone,
CRC Handbook of Applied Cryptography, CRC Press 1996/2001 (great addition
to your bookshelf.)

Niels Ferguson, Bruce Schneier and Tadayoshi Kohno,
Cryptography Engineering, John Wiley & Sons 2010
(complementary reading.)

William Stallings,
Cryptography and Network Security. Principles and Practice,
Prentice Hall, seventh edition 2018 (popular textbook elsewhere.)
 Simon Singh, The Code Book, the evolution of secrecy from Mary,
Queen of Scots, to quantum cryptography, Doubleday 1999.
 CryptoGram,
electronic newsletter by Bruce Schneier.
 Journal articles.
Prerequisites
General knowledge of programming.
Background in combinatorics and discrete mathematics.
(CSCI661 and (CSCI603 or CSCI605, with B or better in all courses))
or equivalent or permission of instructor. Students who complete CSCI462
may not take CSCI662 for credit.
Evaluation
 05% class participation
 45% homeworks
 20% midterm exam, Wednesday, October 18, 702455, in class time
 30% final exam, Monday, December 18, 702455, 7pm9:30pm
Contents
The course is devoted to the review of basic cryptographic
algorithms, their implementations and usage. Classical encryption
techniques and those of DiffieHellman and RivestShamirAdleman will be
seen in depth, and an overview of several others will be presented,
especially those denominated as publickey cryptosystems. The symmetric
systems DES and AES, and others, will be studied.
The course also presents digital signatures, hash functions,
authentication schemes and some interactive proof protocols.
The specific topics will include:

Introduction, need of security. History.

Substitution and monoalphabetic ciphers.

Vigenere cipher, coincidence index.

A touch of number theoretical algorithms.

Private key cryptography.

Data Encryption Standard  DES.

Rijndael, Advanced Encryption Standard  AES.

Secure hashing algorithms  SHAfamily, NIST competition.

Public key cryptography. Oneway functions.

RivestShamirAdleman cryptosystem  RSA. RSAxxx challenge.

Overview of ElGamal cryptosystem, discrete logarithms, digital signatures.
Main Resources
Schedule

Done in Fall 2023
8/28. Course logistics, this page. Start texbook slides chapter 1.
8/30. Finish textbook slides for chapter 1.
9/06.
Cryptography overview
from spr's angle.
9/11. Overview finished. Start textbook chapter 2.
9/13.
Finish textbook slides for chapter 2.
9/18.
More on LFSRs.
Modular arithmetic examples.
9/20. Little more on
PRNGs from Stinson and CRC Handbook.
Start chapter 3.
9/25. Chapter 3, DES.
9/27.
Breaking 2DES. More on
DES and modes. Slides 113 for chapter 5.
10/02.
Slides 1321 for chapter 5.
AES, chapter 4 slides.
10/04. Finish chapter 4 slides.
Z_{n}[x], irreducible polynomials, fields.
10/11.
GF(256) in AES, fields,
GF(4), GF(8), small fields.
10/16.
All fields.
Closing chapter 5, GCMAES. GF(9).
10/18. Midterm exam.
10/23.
MK3 with large Sboxes
(pdf 
slides.pdf).
Learn Spanish on
AES animation, and about Galois with
AES cartoons.
10/25. Chapter 6 slides.
10/30. Euclid Algorithm (EA), Extended Euclid Algorithm EEA,
Euler function.
11/01. Euler and Fermat theorems. Chapter 7 slides 111.
11/06.
Square/multiply,
RSA short public key, Chinese remainder theorem in RSA,
CRT.
11/08.
Primes, MillerRabin probabilistic primality test.
11/13.
More on MillerRabin test. Finish chapter 7.
11/15.
More on MillerRabin test. Primality big picture,
AKS, factoring.
OAEP.
11/20.
DLbased protocols, DH, DHKE, chapter 8.
Generators (primitive elements),
gen2251.pdf,
11/27.
Signatures, RSA, DSA, chapter 10.
11/29.
Finish chapter 10. Hashing, chapter 11.

To do. Done in Fall 2022
11/16. Hashing, chapter 11 slides 113. Birthday paradox,
from MD5 to sha3.pdf (slides 1820).
11/21.
Finish chapter 11 slides. More hashing,
from MD5 to sha3.pdf.
11/28.
SHA3 finalists.
Signatures, RSA, DSA.
11/30.
DSA, ECDSA and bitcoin,
bitcoin signature.
Overview of textbook chapters 9 and 10.
12/05.
Last class.
MACs, chapter 12.

Some of the following slides, beyond the textbook, are
used in the course. They will be pointed to as we go:
overview,
modtabs.txt,
expgcd.pdf,
prng.pdf,
desplus.pdf,
gf.pdf,
MK3 with large Sboxes (
pdf 
slides.pdf),
gen2251.pdf,
crt.pdf,
primes.pdf,
AKS.pdf,
oaep.pdf,
cts.jpg,
rho.pdf,
from MD5 to sha3.pdf (look closely at slides 1820),
SHA3 finalists,
signatures in bitcoin bitsign.pdf,
knap.pdf.
Other Online Resources

Some lectures by Scott Aaronson on
Quantum Computing Since Democritus, in particular
Lecture 8: Crypto.

PostQuantum Cryptography Program, NIST
report 8309, July,
CCC white paper, November 2020.

Common encryption types explained on CompariTech.
 The SHA3 Zoo.

Combinatorial Computing and Cryptography
in Gdańsk, November 2226, 2010.

TimeAI. Cryptogram 9/2019:
Their claims are nonsensical. Run away. Run, far, far, away.