- Jeffrey Hoffstein, Jill Pipher, and Joseph H. Silverman:
"An Introduction to Mathematical Cryptography", Springer.
*First edition may be purchased online.*List of corrections is available here.

- Johannes A. Buchmann: "Introduction to Cryptography". Springer, Second Edition, 2004. Paperback. ISBN 9780387207568.
- "Handbook of Applied Cryptography" by Menezes, van Oorschot, and Vanstone. CRC Press, Fifth Printing, 2001. ISBN: 0-8493-8523-7.

Basic Concepts of Cryptology: Substitution Ciphers, Permutation Ciphers, Vigenere Cipher, Rotor Machines, Attack Models. Symmetric Ciphers, Block Ciphers, One-Time Pad, Information-Theoretic Properties of One-Time Pad, Perfect Secrecy, Misuses of One-Time Pad, Malleability. Stream Ciphers, Linear Feedback Shift Register, Golomb's Randomness Postulates, Linear Complexity, Non-linear Filters, Knapsack Keystream Generator.

Introduction to Number Theory: Congruences, Chinese Remainder Theorem, Fermat's Little Theorem, Euler's Theorem, Modular Exponentiation by Repeated Squaring. Finite Fields. Splitting Fields. Quadratic Residues. Legendre Symbol. Jacobi Symbol. Law of Quadratic Reciprocity.

Public-Key Cryptosystems: Diffie-Hellman Key Exchange, Person-in-the Middle Attack. Discrete Logarithm. RSA Public-Key Cryptosystem. Attacks on RSA. ElGamal Public-Key Cryptosystem. Digital Signatures, Selective Forgery, Existential Forgery. Signature Schemes Based on RSA. Signature Schemes Based on Discrete Logarithm: ElGamal Signature Scheme, Digital Signature Algorithm (DSA).

Selected topics from modern cryptography and computer network security: Probabilistic Primality Testing, Euler Pseudoprimes, Solovay-Strassen Primality Test, Strong Pseudoprimes, Miller-Rabin Primality Test. Hash Functions. Distance-Bounding Protocols.

- Exercise 1.1 on p. 47 of Hoffstein
*et al.*, 1st edition. - Exercise 4.10b on p. 264 of Hoffstein
*et al.*, 1st edition. - Exercise 4.11a on p. 264 of Hoffstein
*et al.*, 1st edition. - Exercise 4.23 on pp. 268-269 of Hoffstein
*et al.*, 1st edition. - Exercise 4.24ab on p. 269 of Hoffstein
*et al.*, 1st edition. Hint: Use the previous problem, 4.23. - Consider the LFSR given by the connection polynomial
1 + x + x
^{2}+ x^{3}+ x^{6}+x^{7}and the initial content 1010101. Using the stream cipher, encrypt the plaintext 111000111100011110001.

- Exercise 1.9ab on p. 49 of Hoffstein
*et al.*, 1st edition. - Exercise 1.11 on p. 49 of Hoffstein
*et al.*, 1st edition. - Exercise 1.12ac(i)(ii)de on p. 50 of Hoffstein
*et al.*, 1st edition. No programming is required for the midterm. - Exercise 1.15 on pp. 50-51 of Hoffstein
*et al.*, 1st edition. - Exercise 1.23 on p. 52 of Hoffstein
*et al.*, 1st edition. - Exercise 4.42 on p. 274-275 of Hoffstein
*et al.*, 1st edition. - Exercise 4.43 on p. 275 of Hoffstein
*et al.*, 1st edition.

*Please note: Also due with Midterm #2 is your choice of a topic of your
5-page
report for the final exam. This is only the choice of the topic; the report
itself will be due together with the final exam.*

- 5 page report on an approved topic of your choice relevant to the course. Topics were already selected and approved as a part of Midterm #2.
- Exercise 2.4 on p. 105 of Hoffstein
*et al.*, 1st edition. - Exercise 2.6 on p. 106 of Hoffstein
*et al.*, 1st edition. - Exercise 2.8 on p. 106 of Hoffstein
*et al.*, 1st edition. - Exercise 3.7 on p. 177 of Hoffstein
*et al.*, 1st edition. - Exercise 3.38 on p. 185 of Hoffstein
*et al.*, 1st edition. - Exercise 7.1 on p. 458 of Hoffstein
*et al.*, 1st edition. - Exercise 7.8 on p. 460 of Hoffstein
*et al.*, 1st edition. - Exercise 7.9 on p. 460 of Hoffstein
*et al.*, 1st edition.