CS166 Fall 2012Practice Midterm 1

To study for the midterm I would suggest you: (1) Know how to do (by heart) all the practice problems. (2) Go over your notes at least three times. Second and third time try to see how much you can remember from the first time. (3) Go over the homework problems. (4) Try to create your own problems similar to the ones I have given and solve them. (5) Skim the relevant sections from the book. (6) If you want to study in groups, at this point you are ready to quiz each other. The practice midterm is below. Here are some facts about the actual midterm: (a) It is closed book, closed notes. Nothing will be permitted on your desk except your pen (pencil) and test. (b) You should bring photo ID. (c) There will be more than one version of the test. Each version will be of comparable difficulty. (d) One problem (less typos) on the actual test will be from the practice test.

  1. What does authentication mean? What does authorization mean?
  2. Encrypt testsxarexfunx using the double transposition cipher given by the permutations `(4,1,2,5,3)` and `(2 1 3)`.
  3. Briefly describe the crypto systems used in Project Venona and in the 1876 election.
  4. Consider the A5/1 stream cipher, suppose the 64 bit key is filled using the pattern `010101...` What would be the first bit generated by A5/1? Which registers would step?
  5. Explain what a Feistel cipher is. Explain why DES is a Feistel cipher and why AES is not.
  6. Briefly describe an attack against using the `C = E(E(P,K_1),K_2)` encryption mode with DES.
  7. Give an example of a super increasing knapsack with 10 elements, show how to make a general knapsack from it. Why would we typically not use 10 elements?
  8. Show that `{[M]_(Alice)}_(Alice) = M`.
  9. Explain how the Diffie-Hellman key exchange works
  10. What is non-repudiation? Give an example.