Foundations of Cryptography
CSCI-662-01, Fall 2024, Semester 2241
Instructor
building 70, room 3657,
(585) 475-5193
spr@cs.rit.edu,
https://www.cs.rit.edu/~spr
Office hours:
in person TuWe 6:30pm-8pm and Fr 1pm-2pm, @70-3657,
on zoom (must prearrange time), or by email spr@cs.rit.edu
Lectures, Monday/Wednesday, 5:00pm-6:15pm, room 70-2590
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, first edition.
Christof Paar, Jan Pelzl and Tim Güneysu,
Understanding Cryptography, from Established Symmetric and
Asymmetric Ciphers to Post-Quantum Algorithms, Springer 2024,
second edition (required textbook, preferred second edition).
Your
textbook website includes the textbook, textbook-associated
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.
- Crypto-Gram,
electronic newsletter by Bruce Schneier.
- Journal articles.
Prerequisites
General knowledge of programming.
Background in combinatorics and discrete mathematics.
(CSCI-661 and (CSCI-603 or CSCI-605, with B or better in all courses))
or equivalent or permission of instructor. Students who complete CSCI-462
may not take CSCI-662 for credit.
Evaluation
- 08% class participation
- 42% homeworks
- 20% midterm exam, Wednesday, October 16, 70-2590, in class time
- 30% final exam, Monday, December 16, 70-2590, 7pm-9:30pm
Contents
The course is devoted to the review of basic cryptographic
algorithms, their implementations and usage. Classical encryption
techniques and those of Diffie-Hellman and Rivest-Shamir-Adleman will be
seen in depth, and an overview of several others will be presented,
especially those denominated as public-key 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 - SHA-family, NIST competition.
-
Public key cryptography. One-way functions.
-
Rivest-Shamir-Adleman cryptosystem - RSA. RSA-xxx challenge.
-
Overview of ElGamal cryptosystem, discrete logarithms, digital signatures.
Main Resources
Schedule
-
Done in Fall 2024
8/26. Course logistics, this page. Start texbook slides chapter 1.
8/28. Finish textbook slides for chapter 1.
9/04.
Cryptography overview
from spr's angle.
9/09. Overview finished. Start textbook chapter 2.
9/11.
Finish textbook slides for chapter 2.
9/16.
Modular arithmetic examples.
More PRNGs. Chapter 3 slides, DES.
9/18.
Finish chapter 3.
9/23.
Breaking 2DES. More on
DES and modes. Slides 1-21 for chapter 5.
9/25.
AES, chapter 4 slides.
9/30.
Finish chapter 4 slides.
Zn[x], irreducible polynomials, fields.
10/02.
GF(256) in AES, fields, GF(4).
10/07.
GF(8), GF(9), small fields.
All fields.
Closing chapter 5, GCM-AES. GF(9).
10/09.
MK-3 with large S-boxes
(pdf |
slides.pdf).
Watch an
AES animation, and learn about Galois with
AES cartoons.
10/16. Midterm exam.
10/21. Chapter 6 slides 1-20.
10/23. Chapter 6: Euclid Algorithm (EA), Extended Euclid Algorithm EEA,
Euler function.
10/28. Euler and Fermat theorems. Square/multiply.
10/30. Chapter 7 slides 1-15, RSA short public key.
11/04.
Chinese remainder theorem in RSA, CRT.
11/06.
Primes, Fermat primality test.
11/11.
More on Miller-Rabin test. Finish chapter 7.
Primality big picture,
AKS.
11/13.
OAEP, other RSA recommendations.
DL-based protocols, DH, DHKE, chapter 8, 1-10.
11/18.
Generators (primitive elements),
gen2251.pdf.
Finish chapter 8.
11/20.
Elliptic curves, chapter 9.
11/25.
Signatures, RSA, DSA, chapter 10.
12/02.
Hashing, chapter 11.
12/04.
Birthday paradox, chapter 11,
from MD5 to sha3.pdf (slides 18-20).
12/09.
Last class.
SHA-3 finalists,
MACs, review.
other links
-
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,
MK-3 with large S-boxes (
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 18-20),
SHA-3 finalists,
signatures in bitcoin bitsign.pdf,
knap.pdf.
Other Online Resources