Let's say I have some data ciphered using key, $K_1$, in to format $D_1$, which I want to convert into format $D_2$ that can be decrypted using $K_2$.
So I know $D_1, K_1$ and $K_2$.
I want to convert $D_1$ to $D_2$ but I want to avoid actually decrypting the data $D_1$ into its plaintext form. Is it possible to do so for any of the popular symmetric encryption algorithms such as DES, 3DES, ARCFOUR, AES, Camellia, RC2, IDEA, SEED? I am guessing it's not possible, but still thought I'd ask, since I don't know much about most of these methods.
A reason for doing something like this may be in an enterprise setting where companies typically create their own https proxies and act as MITM. If they only want to analyze the headers of the http packet but not the body itself then they could only decrypt a portion of the data and pass on the rest of it. This way they can be minimally invasive given their security policies.
Your comment says that stream ciphers can be used to make block ciphers in CTR mode.
Since stream ciphers just xor data and xor is associative, it seems that the conversion from D₁ to D₂ is just a matter of xoring the keys k1, k2. Was this what you meant?
– Pushpendre Jul 17 '17 at 04:11