3 ms·
During the encryption phase the argument by Strilanc doesn't hold (as in that case decrypted[i] is given as the input and does not contain any key admixture), a
by fhars 13y ago
During the encryption phase the argument by Strilanc doesn't hold (as in that case decrypted[i] is given as the input and does not contain any key admixture), and it is exactly the case where pos_c equals pos_a that is problematic, as in that case the statement
key[pos_a] ^= key[pos_c] ^ i ^ decrypted[i];
overwites key[pos_a] with the value
i ^ plaintext[i]
that doesn't depend on any part of the key at all.