You can create a version control system for ciphertext. It would be ideal to use a stream cipher such as RC4-drop1024 or AES-OFB. So far, the same key + iv is used for each revision. This will mean that the same PRNG stream will be generated every time, and then XOR'ed with the code. If any single byte is different from the other, then you have a discrepancy, and the encryption text itself will be combined normally.
A block cipher in ECB mode can also be used, where the smallest discrepancy would be 1 block in size, so it would be ideal to use small blocks. On the other hand, CBC mode can create widely different ciphertext for each revision and, therefore, is undesirable.
I understand that this is not very safe, OFB and ECB modes are usually not used, since they are weaker than CBC mode. Victim IV is also undesirable. Moreover, it is not clear with what the attack is defended. Where using something like SVN + HTTPS is very common and also safe. My post just says that this can be done efficiently.
rook Aug 10 '10 at 4:13 2010-08-10 04:13
source share