7.8 Computer Problems

  1. (For those who are comfortable with programming)

    1. Write a program that performs one round of the simplified DES-type algorithm presented in Section 7.2.

    2. Create a sample input bitstring, and a random key. Calculate the corresponding ciphertext when you perform one round, two rounds, three rounds, and four rounds of the Feistel structure using your implementation. Verify that the decryption procedure works in each case.

    3. Let EK(M) denote four-round encryption using the key K. By trying all 29 keys, show that there are no weak keys for this simplified DES-type algorithm. Recall that a weak key is one such that when we encrypt a plaintext twice we get back the plaintext. That is, a weak key K satisfies EK(EK(M))=M for every possible M. (Note: For each key K, you need to find some M such that EK(EK(M))M.)

    4. Suppose you modify the encryption algorithm EK(M) to create a new encryption algorithm EK(M) by swapping the left and right halves after the four Feistel rounds. Are there any weak keys for this algorithm?

  2. Using your implementation of EK(M) from Computer Problem 1(b), implement the CBC mode of operation for this simplified DES-type algorithm.

    1. Create a plaintext message consisting of 48 bits, and show how it encrypts and decrypts using CBC.

    2. Suppose that you have two plaintexts that differ in the 14th bit. Show the effect that this has on the corresponding ciphertexts.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.128.190.102