Question: RC4 Key-schedule algorithm (input: key) --------------------------------------------------- for i from 0 to 255 do S[i] := i end for j := 0 for i from 0

RC4 Key-schedule algorithm (input: key) --------------------------------------------------- for i from 0 to 255 do S[i] := i end for j := 0 for i from 0 to 255 do j := (j + S[i] + key[i % key.length]) % 256 swap values of S[i] and S[j] end for --------------------------------------------------- RC4 Key-stream generator (input: S[0],...,S[255]) --------------------------------------------------- i := 0 j := 0 while NeedMoreBytes do i := (i + 1) % 256 j := (j + S[i]) % 256 swap values of S[i] and S[j] K := S[(S[i] + S[j]) % 256] output K end while

a) Compute the second key-stream byte of the output when the input to the key-stream gener- ator satisfies (S[1] != 2) and (S[2] == 0). Show your work. b) Estimate the probability that the second key-stream byte of RC4 is 0. State any assumptions that you make. (Your probability determination should be taken over all possible secret keys.) What does your result show? [Hint: In part (a), the second byte should be 0.] c) Suppose a single 5-byte message m is encrypted with many different RC4 secret keys and you are given all of the ciphertexts. How can you use your result of part b) in this situation? What can you likely learn about the plaintext?

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!