Suppose I have work in progress which I want to back up each week, so at the end of each week I take the current version of my document or folder, encrypt it and upload it to Dropbox or another kind of storage. Is my security weakened if a third party observes several or all of my successive encrypted versions?

  • 1
    What do you mean? Could you please clarify. Are you encrypting your document/folder with the same algorithm every week? – iZodiac Aug 17 '16 at 8:17
  • Yes, I am using the same algorithm and key every week. – bmclain Aug 17 '16 at 22:04
  • And are your "small changes" always the same or different? – iZodiac Aug 18 '16 at 6:32
  • 2
    Depends on which algorithm you were using. If you're using AES with a unique, random IV then the ciphertext will be totally different each time. – SilverlightFox Aug 18 '16 at 10:42
  • My changes would be different each time. For example, I'm writing a novel and want to back up each successive draft. Sometimes I will add a new chapter while leaving existing ones intact (but still encrypt as a whole), sometimes I would make small edits in different parts of the text. – bmclain Aug 18 '16 at 21:43

If your encryption system is any good, then no, there will be no weakness.

Consider that often just finding out if a pair of plaintext messages are identical is enough for a compromise. (If we find out that a given message means "no operation", it's easy to detect when something happens, even if not what it is.) Clearly leaking non-uniqueness would also violate the requirement that an attacker should not be able find out anything about the message without the key. (Semantic security).

Most robust encryption protocols add some sort of random value (nonce) to the message to combat against this (Probabilistic encryption). E.g. in CBC mode encryption, it would be the IV, in CTR mode the initial counter value, etc. With sufficient randomness added, identical plaintexts will give different ciphertexts, and the same works simply for near-identical plaintexts too. (The alternative in some cases related to signing is to generate the nonce as a function (hash) of the plaintext. That would leak non-uniqueness, but not the amount of changes.)

Also note that for stream ciphers (including block ciphers in CTR mode), the keystream must not be reused on different messages. Otherwise the keystream could easily be removed from a pair of messages and a XOR of the plaintexts recovered.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.