Question: This problem involves a bias in the key-stream output of RC4. The key-scheduling algorithm and key-stream generator algorithm are given at the end of

This problem involves a bias in the key-stream output of RC4. The key-scheduling algorithm and key-stream generator algorithm are given at the end of this assignment for reference. 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 key-stream byte should be 0.] e) 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? RC4 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] keyli % key.length]) % 256. swap values of S[i] and s[j] end for RC4 Key-stream generator (input: S[0].....S[255]) i : 0 while NeedMoreBytes do i = (i + 1) % 256 j (j+S[i]) % 256 swap values of S[i] and s[j] KS[(S[i]s[j]) % 256] output K end while
Step by Step Solution
There are 3 Steps involved in it
a To compute the second keystream byte of the output when S1 2 and S2 0 we need to follow the steps ... View full answer
Get step-by-step solutions from verified subject matter experts
