Practical Cryptology Assignment 4 Due Day: Monday, May 1, 2006, in class NO LATE ASSIGNMENTS!! Problem 1 (20 points): For the given sequence: 4, 8, 15, 29, 61, 125, 247, 500 (Problem 3, p. 273). 1. prove that the given sequence is superincreasing 2. choose the p = 1009 and w = 91 to generate the public key 3. use the public key that you just generated to encrypt the plaintext message: 10111001 4. find a multiplicative inverse of w mod 1009 5. decrypt the message that you got in 4 to get an original plaintext Problem 2 (15 points): Use the Feistel Function that was defined on page 224 to encrypt the message: MAN with key = 001 Problem 3 (15 points): Fk1k2k3(x1x2x3x4) = (x3x4) || (x1x2 fk1k2k3(x3x4)) is a Feistel Function where function fk1k2k3(x1x2) is defined as follows: fk1k2k3(x1x2) = ((k1*k2*x1 + k1*x2*k2) mod 2)((k1*x1*x2 + k2 *x2) mod2) Encrypt the following letter: C. You would need to use ASCII values for the characters. The ASCII table is on page 64 in your textbook. Problem 4 (5 points): Use Fermat's Little Theorem to find: 99^101 ( mod 101 ) 94^66 ( mod 67 ) Explain your answer. Problem 5 (25 points): For p = 3 and q = 23 perform the required steps to create a public key, encrypt and decrypt the message of your choice. What is the range limitation for your plaintext in this case? Problem 6 (20 points): We will define the block cipher for 4-bit block as follows: suppose x1x2x3x4 is a plaintext and k1k2k3 is a key, let t1t2 = S(x1x2x1 k1k2k3), where function S is defined on page 222 of your textbook u1u2 = x3x4 t1t2 E(x1x2x3x4, k1k2k3)=u1u2x1x2 The encryption formula will be y1y2y3y4 = E(E(E(E(x,k),k),k),k) Use this block cipher to encrypt the message can using the keyword 110. You would need to use ASCII values for the characters. The ASCII table is on page 64 in your textbook.