Assume I have a block of data consisting of three segments A, B and C. With "segments" I mean a particular section of a bit stream, so if the whole binary data was simply
00 01 02 ... FF,
A might be
00 ... 5C,
B could be
5D ... 72 and
C would then be
73 ... FF.
K2 are 128 bit AES keys that were securely exchanged such that Alice has
K1 and Bob has
- Alice gets data segments
- Bob gets only data segment
My question is: if Bob got to know Alice's full cipher text for
ABC (that was encrypted with
K1), what could he deduce from the information he already has? Are there any circumstances under which Bob could decrypt segments
C as well?
This is question is very similar to Vulnerabilities if encrypting the same data with 2 different keys, but not quite; I'm not asking about what Eve can deduce, but Bob.
I'm fairly new to encryption, and it was my understanding that AES is mostly XOR operations. For strict XOR operations, I think if you know any two
a ^ b = c, you can calculate the third variable using XOR on the other two, as I think this was how parity bits for RAID systems work.
I keep finding hints as to AES is not just XOR, like How is XOR used for encryption? which in turn links to Why do block ciphers need a non-linear component (like an S-box)?. But I'm not sure I'm understanding the implications of the answers given there.
I think what the answers to those questions say is that for AES,
K2 are just used to continuously generate a pseudo random bit stream, and only that is then XOR'ed with the data. So all Bob could deduce was the pseudo random bit stream section that has been used for Alice's
B, but the generator function is such that this doesn't give Bob a clue about
K1 or the bits generated earlier for
A or later for
Is this universally true? Or, as I have seen often mentioned, are there limitations as to how many bits
B may have to keep a 128 bit
C reasonably secret from Bob?