1
$\begingroup$

In his writeup of the Solitaire keystream generator algorithm, Bruce Schneier warns not to use the same key for two different messages:

The first rule of an output-feedback mode stream cipher, any of them, is that you should never use the same key to encrypt two different messages. Repeat after me: NEVER USE THE SAME KEY TO ENCRYPT TWO DIFFERENT MESSAGES. If you do, you completely break the security of the system. Here's why: if you have two ciphertext streams, A+K and B+K, and you subtract one from the other, you get (A+K)-(B+K) = A+K-B-K = A-B. That's two plaintext streams combined with each other with no key involved, and is very easy to break. Trust me on this one: you might not be able to recover A and B from A-B, but a professional cryptanalyst can. This is vitally important: never use the same key to encrypt two different messages.

Intuitively, this makes sense, but as he said, I'm not able to recover A and B.

What sort of attack is he talking about?

$\endgroup$
3

Browse other questions tagged or ask your own question.