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.
TEXT: W. Trappe, L. Washington, Introduction to Cryptography with Coding Theory, 3rd edition, Pearson, 2020.
The specific outcomes are as follows:
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.
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
Jan 9 | Jan 11 One-time pad: shared random string symmetric, secret-key. Unconditionally secure. Reading: Chapters 2 and 4. |
Jan 16 RSA: the protocol asymmetric, public-key. Computationally secure. Reading: Chapter 9. | Jan 18 RSA: basic number theory. Theorem (Euclid) there are infinitely many primes. Euclid's GCD (recursive) algorithm (is this parallelizable?). Reading: Chapter 3. |
Jan 23 RSA: basic number theory. Extended Euclidean algorithm (Pulverizer of Aryabhata): recursive vs iterative (space-efficient). Reading: Chapter 3. | Jan 25 RSA: basic number theory. Modular arithmetic. Inverses modulo prime. Reading: Chapter 3. |
Jan 30 RSA: Miller-Rabin primality testing. Fermat's Little Theorem. Extension: Euler-Fermat's theorem. Reading: Chapter 3. | Feb 1 RSA: Miller-Rabin primality testing. Modular exponentiation: fast recursive algorithm (iterative?). Nontrivial square roots of unity. Reading: Chapter 9, Section 3. |
Feb 6 RSA: correctness (wrong proof via Euler-Fermat). Chinese Remainder Theorem (correct proof): parallel decryption. Exercise: worksheet. Reading: Chapters 3 and 9. | Feb 8 RSA: weaknesses and attacks. Reading: Chapters 9 and 14 (Section 2). |
Feb 13 Discrete Logarithm: Diffie-Hellman. Reading: Chapter 10. | Feb 15 ElGamal: probabilistic public-key. Sample problem. Reading: Chapter 10. |
Feb 20 ElGamal: Elliptic Curves. Sample problem. Reading: Chapter 21. | Feb 22 Short break. |
Feb 27 Beyond RSA: Rabin cryptosystem. Modular square root (is equivalent to Factoring). Quadratic residues: Legendre and Jacobi symbols. Euler's criterion. Reference: notes by Angluin. Reading: Chapter 3. | Feb 29 Goldwasser-Micali cryptosystem. Semantic security. Blum integers. Magical properties: primes congruent to 3 mod 4. Reading: Chapter 3. |
Mar 5 Blum-Goldwasser cryptosystem. Computational one-time pad. Blum-Blum-Shub pseudorandom bit generator. Reading: Chapter 3. sample. | Mar 7 Protocol: Zero-knowledge proofs (Goldwasser-Micali-Rackoff). Fiat-Shamir's Quadratic Residue protocol. Reading: Tompa. |
Mar 12 Protocols: coin tossing, oblivious transfer, bit commitment. Yao's millionaiers problem. Secret sharing. Exercises: sample (sol) | Mar 14 Cryptographic hashing: birthday attack. DLOG-based: Chaum-van Heijst-Pfitzmann. |
Mar 19 Spring break. | Mar 21 Spring break. |
Mar 26 Block cipher: Modes of encryption: ECB, CBC, OFB, CFB. | Mar 28 Block cipher: DES. Feistel cipher. |
Apr 2 Block cipher: AES. Polynomials. Finite Fields. Pulverizer over polynomials. | Apr 4 Block cipher: AES. |
Apr 9 Quantum cryptography: basic quantum information. | Apr 11 Quantum cryptography: quantum key distribution (QKD): Bennett-Brassard (BB84). |
Apr 16 Post-quantum: Shor algorithm: basic ideas. | Apr 18 Shor's algorithm: Quantum Fourier Transform. |
Apr 23 Lattice cryptography: LLL algorithm. Source: notes (Peikert). | Apr 25 Lattice cryptography: LLL algorithm. |
ASSIGNMENTS