Test II Review Sheet for
Colorado State University, Pueblo
Math 319 — Number Theory — Spring 2014

Definitions

You should be able to give careful, complete, formal definitions of — and examples and know theorems involving — the following terms:
  1. the [multiplicative] order of $a$ in mod $n$, $\operatorname{ord}_n(a)$
  2. the cyclic subgroup of $(\ZZ/n\ZZ)^*$ generated by $a$, $\left<a\right>$
  3. a coset of $\left<a\right>$
  4. cryptography
  5. cryptanalysis
  6. cryptology
  7. cryptosystem
  8. confidentiality of a cryptosystem
  9. [message] integrity of a cryptosystem
  10. [sender] authentication of a cryptosystem
  11. [sender] non-repudiation of a cryptosystem
  12. the scytale cryptosystem
  13. plaintext
  14. cipher
  15. ciphertext
  16. encrypt, decrypt
  17. key
  18. Caesar cryptosystem
  19. Kerckhoff's Principle
  20. ROT13
  21. Vigenère cryptosystem
  22. one-time pad
  23. keyspace
  24. brute force attack
  25. message space
  26. frequency distribution and frequency analysis
  27. ETAOINSHRDL
  28. square error, a distance between distribution functions
  29. symmetric/private-key cryptosystem
  30. asymmetric/public-key cryptosystem, with its public key and private key
  31. [cryptographic] salt
  32. [cryptographic] one-way function
  33. the RSA cryptosystem
  34. the prime number counting function $\pi(x)$
  35. cryptographic hash function
  36. pre-image resistance
  37. second pre-image resistance
  38. collision resistance
  39. an RSA digital signature: accept, reject, signing key, and verification key
  40. man-in-the-middle attack
  41. digital certificate
  42. web of trust, key-signing party
  43. certificate authority [CA]
  44. public key infrastructure [PKI]

Theorems, Conjectures, and Algorithms

Please know careful, complete statements of the following:
  1. Wilson's Theorem
  2. the version of Lagrange's Theorem for $\operatorname{ord}_n(a)$
  3. Euler's Theorem
  4. Fermat's Little Theorem [two versions]

Things to know how to do

  1. encrypt and decrypt messages with the cryptosystems mentioned above
  2. sign and verify using RSA digital signatures
  3. use frequency analysis to crack a simple cryptosystem
  4. do any of the steps (1)-(7) of §4.4 of YAINTT (such as, e.g., fast modular exponentiation)
  5. sign or verify with the RSA digital signature algorithm
  6. use a man-in-the-middle attack in some situation where you completely control a network
  7. make a digital certificate for someone (say, at a key-signing party)
  8. give proofs of any of the theorems mentioned above

Format of the test

Be able to state — in full formality and five-part harmony — all the definitions. You will be asked to do so for something like four or five out of seven or eight choices. You must also be able to give context, ideas, examples, etc., for each term you define!

You will also be asked to give full and formal statements of several of the theorems mentioned above, as well as an example (or counterexample when some hypothesis is dropped) to which the theorem applies. There are only four theorems above, so you should be ready on all of them. You will also likely have to use those theorems in proving other statements.

There will then be a choice of three [or four] out of six [seven, or eight] proof-y and/or computational things to do. Some of these will be proofs of the above theorems. Others will be to perform some cryptographic or cryptanalytic task with given data -- obviously, this data will be small, and you may use a calculator to help you with it. Finally, there will be some small statements, on the level of maxiquizzes, that you can choose to prove.