Consider a simple symmetric encryption algorithm as follows:
1- Input text T and 64 bit key K
2- Divide T into 64 bit size blocks B1...Bn
3- Get first block B1 and perform bit-wise XOR with K to
produce encrypted block E1
4- Repeat
a. Get next block Bi and perform bit-wise XOR with Ei-1
to produce encrypted block Ei
5- Until End of Text
The algorithm is very simple, and naturally, we do not expect the cyphertext to be cryptographically strong. Given the above algorithm answer the following:
(a) Is it a problem if the first block of input happens to be the same as the key? Explain why?
(b) Modify the algorithm to rectify the above problem.