Instructor: Christino Tamon
Lecture: TR 8:00-9:15 (SC162)
Office hours: TR 9:15-11:15, W 1-3 (SC373).
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: (recommended but not required)
A. Menezes, van Oorschot, S. Vanstone,
Handbook of Applied Cryptography, CRC Press.
link.
OTHER:
D. Boneh, V. Shoup, A Graduate Course in Applied Cryptography, link.
D. Angluin,
"Lecture Notes on the Complexity of Some Problems in Number Theory",
Technical Report #243, Yale University, 1982.
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 6 | Jan 8 One-time pad: shared random string symmetric, secret-key. Unconditionally secure. |
| Jan 13 RSA: protocol. Number theory is useful. | Jan 15 RSA: protocol.
Random primes, integer multiplication, modular exponentiation. Alice, Bob and Eve in RSA-land. |
| Jan 20 RSA: basic number theory. Extended Euclidean algorithm (Pulverizer of Aryabhata): recursive vs iterative (space-efficient). | Jan 22 RSA: basic number theory. Modular arithmetic. Inverses modulo prime. |
| Jan 27 RSA: Fermat's Little Theorem. | Jan 29 RSA: Miller-Rabin primality testing. Nontrivial square roots of unity. |
| Feb 3 RSA: correctness (wrong proof via Euler-Fermat). Chinese Remainder Theorem (correct proof): parallel decryption. Exercise: worksheet.
| Feb 5 RSA: summary. |
| Feb 10 RSA: weaknesses and attacks. | Feb 12 RSA: weaknesses and attacks. |
| Feb 17 Discrete Logarithm: Diffie-Hellman. | Feb 19 Short break. |
| Feb 24 ElGamal: probabilistic public-key. Sample problem. | Feb 26 ElGamal: Finding generators. |
| Mar 3 ElGamal: Elliptic Curves. Sample problem. | Mar 5 Midterm (in class). |
| Mar 10 Block cipher: Modes of encryption: ECB, CBC, OFB, CFB. DES. Feistel cipher. | Mar 12 Block cipher:AES AES: polynomials over finite fields. Pulverizer over polynomials. |
| Mar 17 Spring break. | Mar 19 Spring break. |
| Mar 24 Beyond RSA: Rabin: modular square root (is equivalent to factoring). Quadratic residues: Legendre and Jacobi symbols. Euler's criterion.
Reference: notes by Angluin. | Mar 26 Goldwasser-Micali cryptosystem. Semantic security. Quadratic Residuosity. |
| Mar 31 Blum-Goldwasser cryptosystem. Blum integers: primes congruent to 3 mod 4. Reading: sample. | Apr 2 Blum-Blum-Shub pseudorandom bit generator. |
| Apr 7 Protocol: Zero-knowledge proofs (Goldwasser-Micali-Rackoff). Fiat-Shamir's Quadratic Residue protocol. Reading: Tompa. | Apr 9 Protocols: coin tossing, oblivious transfer, bit commitment. Yao's millionaiers problem. Secret sharing. |
| Apr 14 Post-quantum: Lattice cryptography. Source: notes (Peikert). | Apr 16 Lattice cryptography: LLL algorithm. Source: notes (Peikert). |
| Apr 21 Quantum cryptography | Apr 23 BB84: quantum key distribution protocol |
ASSIGNMENTS