MATH 233 "Cryptography"

Time
Location
Instructor
Office Hours
E-mail
MW 12:30-1:45PM Hylan 202 Saul Lubkin MW 11:00-12:00, 705 Hylan Building lubkin@math.rochester.edu

Prerequisites: MATH 162 or equivalent.

Textbook: "Cryptography with Coding Theory", 2nd Edition, by Wade Trappe and Lawrence Washington". Note: There is a 3rd Edition of this text as well -- but the second edition is preferred. (The main difference between the two editions is that Edition 3 is much heavier [meaning weight, not substance]).


Course philosophy

Success in this course will be achieved only through hard work, massive problem solving, and active participation in class discussions. Please take advantage of my office hours.

Grading: homework (30%), midterm exam (30%), and final exam (40%).

The final exam will have two parts: one pertinent to the material tested on the midterm and one pertinent to the material taught after the midterm. The score earned on the former one will replace, if higher on a 0-100 scale, the midterm score.

Homework

Homework is usually assigned weekly on Friday, starting 1/31, and it is due back the following Friday by 5:00PM. The lowest two homework assignments will be dropped; the others will count toward your grade. Late homework is not accepted.

The homework should be uploaded to Gradescope.

Exams

There will be a Midterm and a Final; Dates and Times to be announced.


Course policies

1. The course average is not based on a curve, nor on previously fixed scales. It will reflect how well the class is doing, and it will be high if everyone is working hard for the homework and is performing well on the exams.

2. Incomplete "I" grades are almost never given. The only justification is a documented serious medical problem or a genuine personal/family emergency. Falling behind in this course or problems with workload on other courses are not acceptable reasons.

3. If you miss one of the exams with a valid excuse (e.g., illness or emergency), you must notify the instructor and provide supporting documentation verifying your excuse as soon as possible. For a valid excuse with supporting documentation, the other exam will count as your make-up test. If you miss both exams, you are in danger of failing the class. In principle, no make-up exams will be offered. If you miss an exam without a valid excuse (and supporting documentation), you will receive a score of 0 on that test.

4. You are responsible for knowing and abiding by the University of Rochester's academic honesty policy. Any violation of academic honesty will be pursued according to the specified procedures. Furthermore, the following Mathematics Department policy also applies to this class:

       Any usage whatsoever of online solution sets or paid online resources 
       (chegg.com, ChatGPT or similar) is considered an academic honesty violation and 
       will be reported to the Board on Academic Honesty. In particular, any 
       assignment found to contain content which originated from such sources 
       is subject to a minimum penalty of zero on the assignment and a full letter 
       grade reduction at the end of the semester (e.g. a B would be reduced to a C). 
       This applies even if the unauthorized content was obtained through indirect 
       means (through a friend for instance) and/or the student is seemingly unaware 
       that the content originated from such sources. If you have any questions about 
       whether resources are acceptable, please check with your instructor.

5. This course follows the College credit hour policy for four-credit courses. This course meets 3 academic hours per week. Students may also be expected to deepen their understanding of the course material through close examination/evaluation of the readings assigned in the course.


Tentative schedule

Note: We will describe section numbers for the 2nd edition; we'll also list the corresponding section numbers for the 3rd edition in brackets.

Chapter 1. Overview.

Chapter 2. Classical Cryptosystems

Section 2.1 Shift Ciphers.

Chapter 3. Basic Number Theory

3.1 Basic Notions

3.2 Solving ax+by =d.

3.3 Congruences

3.4 Chinese Remainder theorem

3.5 Modular Exponentiation

3.6 Fermat and Euler

3.7 Primitive roots

3.8 Inverting Matrices Mod n

3.9 Square Roots Mod n

3.10 Legendre and Jacobi Symbols

3.11 Finite Fields.

Chapter 2.

2.2 Affine Ciphers

2.3 Vigenere Cipher

2.4 Substitution Ciphers

2.6 Playfair and ADFGX Ciphers

2.7 [6.1] Block Ciphers

2.7 [6.2] Hill Cipher

2.8 [4.1] Binary Numbers and ASCII

2.9 [9.2] One Time Pads

2.10 [5.1] Pseudo-Random Bit Generation

2.11 [5.2] LFSRS: Linear Feedback Shift Register Sequences

6.1 - 6.5 [9.1 - 9.5] The RSA Cryptosystem

7.1 [10.1] Discrete Logarithms

7.4 [10.4] Diffie-Hellman Key Exchange

7.5 [10.5] The ElGamal Public Key Cryptosystem

4.2 [7.2] The Data Encryption Standard (DES)

4.7 [6.5] Meet-in-the-Middle-Attacks

Chapter 5 [Chapter 8] The AES: Advanced Encryption Standard: Rijndael

Chapter 16 [Chapter 21] Elliptic Curves