Consider a Feistel cipher composed of sixteen rounds with a block length of 128 bits and a key length of 128 bits. Suppose that, for a given k, the key scheduling algorithm determines values for the first eight round keys, k1, k2, ……. k8, and then sets
k9 = k8, k10=k7, k11=k6, …. , k16=k1
Suppose you have a cipher-text c. Explain how, with access to an encryption oracle, you can decrypt c and determine m using just a single oracle query.
This shows that such a cipher is vulnerable to a chosen plain-text attack. (An encryption oracle can be thought of as a device that, when given a plain-text, returns the corresponding cipher-text. The internal details of the device are not known to you and you cannot break open the device. You can only gain information from the oracle by making queries to it and observing its responses.)
Provide answer as a discussion with 2 references.