Method of encryption

Let us call a method of encryption valid if it is possible to recover the original
plaintext from the encrypted word.
For example let K = 1010 and consider the following two possible ways to
encrypt a plaintext of length 4.

  1. Bitwise XOR with K. Then the original plaintext can be recovered by
    doing another XOR with K.
  2. Bitwise OR with K. Then the original cannot be recovered1 in general.
    To demonstrate this consider the following two plaintexts 1000 and 0000.
    They will both be encrypted into 1010 hence there is no way to know the
    original plaintext from the word 1010.
    Let K = 1010101010. Please answer the following questions.
  3. 20 marks. Provide an algorithm for Feistel encryption of a plaintext of
    length 20 with the underlying encryption being bitwise OR with K.
  4. 20 marks. Is this encryption valid? Please give YES/NO answer only.
  5. 60 marks. Justify the answer you gave for the second question. In
    particular, if you answered YES then please provide a decryption algorithm
    and explain why this algorithm would always return the original plaintext.

Sample Solution