Instructor: Samuel S. Wagstaff, Jr.
Phone: 49-46022; E-mail: ssw@cs.purdue.edu
Prerequisites: CS 251 and MA 351 (or equivalents).
The real prerequisites for CS 355.
Texts: (Don't buy any books until the first class meeting.)
Required:
Introduction to Cryptography with Coding Theory, second edition, W. Trappe and L. C. Washington, Prentice Hall, 0-13-186239-1
The overall course policies are the same as Spaf's.
Location and Time: MEB 1061, TuTh 10:30-11:45 AM.
Office: REC 219; Office hours: Tuesday, Thursday 1:30-2:30 PM.
Grading: Homework: 20%; Midterm exam 20%; Projects 20%; Final exam 40%.
Teaching Assistants:
Hamidreza Amini khorasgani, Email: haminikh@purdue.edu .
Haoyu Song, Email: song522@purdue.edu .
Office hours of Teaching Assistants:
Hamid: Mondays 9:30-10:30 AM in HAAS G50.
Haoyu: Tuesday 3-5 PM in HAAS G50 (but not November 26).
Day-by-day list of topics covered.
Remainders, arithmetic, divisibility, gcd, primes.
Formal proof that Euclidean algorithm works.
primes, congruences, Caesar cipher.
Encryption algorithms: transposition, substitution.
More substitution ciphers, product ciphers and DES.
Congruences for fun and profit.
Block, stream ciphers, LFSRs, meet-in-the-middle attacks.
Examples of the Extended Euclidean Algorithm and the Chinese Remainder Theorem
Example of a letter with many variations.
Threshold schemes, Digital Signature Standard and Subliminal Channels.
Construction of large primes and simple factoring.
mea: Digital cash. MEA version 1
mea: Digital cash. MEA version 2
Please use a word processor like Latex to format your homework solution.
Homework # 1, due 11:59 PM Tuesday, September 10, 2019, to Gradescope. Text of the questions.
Project 1, due Tuesday, September 17, 2019,
11:59 PM, to Vocareum.
After you get stuck, click here for help.
Go to Blackboard to see the link to Project 1 in Vocareum.
Remember to write a \newline at the end of your output.
If your project program fails all Vocareum test cases but works fine with your own test cases that you can see, then visit a teaching assistant during office hours or make an appointment to see a TA. They can help you determine why Vocareum dislikes your code.
Homework # 2, due Tuesday, September 24, 2019, 11:59 PM, to Gradescope. Text of the questions.
Homework # 3, due Tuesday, October 1, 2019, 11:59 PM, to Gradescope. Text of the questions.
Project 2, due Thursday, October 3, 2019,
11:59 PM, to Vocareum.
Go to Blackboard to see the link to Project 2 in Vocareum.
Homework # 4, due Tuesday, October 15, 2019, 11:00 PM, to Gradescope. Text of the questions.
Project 3, due Tuesday, October 22, 2019,
11:59 PM, to Vocareum.
Go to Blackboard to see the link to Project 3 in Vocareum.
Homework # 5, due Thursday, October 24, 2019, 11:00 PM, to Gradescope. Text of the questions.
Homework # 6, due Thursday, October 31, 2019, 11:00 PM, to Gradescope. Text of the questions.
Homework # 7, due Thursday, November 7, 2019, 11:59 PM, to Gradescope. Text of the questions.
Project 4, due Thursday, November 14, 2019, 11:59 PM, to Vocareum. Go to Blackboard to see the link to Project 4 in Vocareum. Please click on "part 1" on the top left corner before submitting your project. Otherwise you will get a message that you can only submit once.
Homework # 8, due Thursday, November 21, 2019, 11:59 PM, to Gradescope. Text of the questions.
Large primes via Pocklington-Lehmer.
Euler's Criterion, Legendre symbol.
Quadratic congruences, Oblivious transfer, Zero-knowledge proofs.
Hash and other one-way functions.
A letter with many variations.
Subliminal channels; the one in DSA.
Some old slides you might enjoy.
Information theory: Definition of entropy.
Information theory: Rate, perfect secrecy.
Key equivocation, unicity distance.
Synchronous and self-synchronous stream ciphers, CBC.
Congruences: CSR, XEuclid, multiplicative inverses.