- Ralph P. Grimaldi. "Discrete and Combinatorial Mathematics". Fifth Edition. Addison Wesley, 2003. ISBN 0-201-72634-3.
- Johannes A. Buchmann: "Introduction to Cryptography". Springer, Second Edition, 2004. ISBN 0-387-21156-X.

- Yiannis N. Moschovakis. "Notes on Set Theory".
Undergraduate Texts in Mathematics, Springer-Verlag, 1994.
ISBN 0387941800, especially Chapters 1 and 2.
On reserve in the Math/Physics/Astronomy Library.
*Errors in this book*[ ps , pdf ]. - Ronald Graham, Oren Patashnik, and Donald Ervin Knuth. "Concrete Mathematics", Second Edition. Addison-Wesley, 1994. ISBN 0-201-55802-5. On reserve in the Math/Physics/Astronomy Library.
- J. H. Van Lint and R. M. Wilson. "A Course in Combinatorics". Second Edition, Paperback. Cambridge University Press, 2001. ISBN 0521006015. On reserve in the Math/Physics/Astronomy Library.
- H. Wilf. "East Side, West Side". Lecture Notes, 1999.

Algebra of sets, power set, cartesian product, binary relations, closure properties, equivalence relations, functions, Cantor Theorem, countable sets, equinumeruous sets, uncountability of the set of reals. [Grimaldi Chapters 3 and 5, and Moschovakis Chapters 1 and 2].

Recurrences, sums, and integer functions: Towers of Hanoi, Quicksort recurrence, floor and ceiling functions. [Grimaldi Chapters 10 and 5, and Graham et al. "Concrete Mathematics" Chapters 1-3].

Asymptotic functions, O-notation. [Grimaldi Chapter 5 Section 5.7, Buchmann Chapter 1 Section 1.4, and Graham et al. "Concrete Mathematics" Chapter 9].

Overview of Probability Theory: Probability Distribution, Random Variable, Conditional Probability, Bayes Theorem, Expected Value. [Grimaldi Chapter 3, Buchmann Chapter 4, and Graham et al. "Concrete Mathematics" Chapter 8].

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. [Buchmann Chapters 3 and 4].

Introduction to Number Theory: Congruences, Chinese Remainder Theorem, Fermat's Little Theorem, Euler's Theorem, Modular Exponentiation by Repeated Squaring. [Buchmann Chapters 1 and 2].

Public-Key Cryptosystems: Diffie-Hellman Key Exchange, Person-in-the Middle Attack. Discrete Logarithm, Giant-Step Baby-Step Algorithm, Pohlig-Hellman Algorithm, ElGamal Public-Key Cryptosystem. RSA Public-Key Cryptosystem. Digital Signatures, Selective Forgery, Existential Forgery, Signature Schemes Based on RSA, Signature Schemes Based on Discrete Logarithm: ElGamal Signature Scheme.

- Exercise 16 on p. 13 of Grimaldi (4-th Edition).
- Exercise 18 on p. 13 of Grimaldi.
- Exercise 20ab on p. 13 of Grimaldi.
- Exercise 34 on p. 14 of Grimaldi.
- Exercise 36ab on p. 14 of Grimaldi.
- Exercise 28 on p. 26 of Grimaldi.
- Exercise 10 on p. 34 of Grimaldi.
- Exercise 12 on p. 34 of Grimaldi.
- Exercise 16abc on pp. 44-45 of Grimaldi.
- Exercise 18ab on p. 45 of Grimaldi.

- Exercise 13 on p. 147 of Grimaldi (5-th Edition).
- Exercise 20 on p. 147 of Grimaldi.
- Exercise 9 on p. 190 of Grimaldi.
- Exercise 24 on p. 190 of Grimaldi.
- Exercise 14ab on p. 252 of Grimaldi.
- Exercise 18 on p. 259 of Grimaldi.
- Exercise 19 on p. 259 of Grimaldi.
- Exercise 27abcd on pp. 259-260 of Grimaldi.
- Exercise 28ab on p. 260 of Grimaldi.
- Exercise 17abcdefghi on p. 289 of Grimaldi.
- Exercise 18abcde on p. 289 of Grimaldi.
- Exercise 19 on p. 289 of Grimaldi.
- Exercise 20 on p. 289 of Grimaldi.

Please show all your work, not just the final result.

- Exercise 1cd on p. 481 of Grimaldi (5-th Edition).
- Exercise 3.9 on p. 95 of "Concrete Mathematics".
- Exercise 3.25 on p. 97 of "Concrete Mathematics".
- Exercise 3.34 on p. 98 of "Concrete Mathematics".
- Let f(n) be any polynomial of degree d with integer coefficients such that the leading coefficient is positive. Prove that f(n) = O(n^d).
- Suppose that four-digit PINs are distributed uniformly at random. How many people must be in a room for the probability that two of them have the same PIN to be at least 1/2 ? (Exercise 4.8.7 on p. 113 of Buchmann.)
- Prove that the Caesar cipher does not have perfect secrecy. (Exercise 4.8.8 on p. 113 of Buchmann.)

Please show all your work, not just the final result.

- Prove that if
*(2^n) - 1*is a prime, then*n*is a prime, and if*(2^n) + 1*is a prime, then*n*is a power of*2*. The first type of prime is called a Mersenne prime, and the second type is called a Fermat prime. - Find
*x*such that 122*x*is congruent to 1 modulo 343. (Exercise 2.22.10 on p. 65 of Buchmann.) - Compute the subgroup generated by 2+17Z in (Z/17Z)*. (Exercise 2.22.16 on p. 66 of Buchmann.)
- Compute 2 to the power 20 modulo 7. (Exercise 2.22.19 on p. 66 of Buchmann.)
- Solve the simultaneous congruence
*x*congruent to 1 modulo*p*for*p*=2,*p*=3,*p*=5,*p*=7. (Exercise 2.22.25 on p. 67 of Buchmann.) - The same message
*m*is encrypted by the RSA system using the public keys (391,3) , (55,3), and (87,3). The ciphertexts are 208, 38, and 32. Use the low-exponent attack to find*m*. (Exercise 7.6.8 on p. 168 of Buchmann.) - Let
*p*= 2237 and*g*= 2. Assume that Alice's secret key is*a*= 1234. Let*h(M)*= 111 be the hash value of the document*M*. Compute the ElGamal signature with*k*= 2323 and verify this signature. (Exercise 11.6.7 on p. 232 of Buchmann.) - Implement in Maple the Pohlig-Hellman algorithm for computing
discrete logarithms. How large is a prime
*q*for which you could compute all discrete logarithms base*b*when*b*is a generator of (Z_q)*? What are the results of your computations? Verify your results also by running Maple.