title: Update ciphertext with changes to cleartext
body: <p>I have a question that arise from trying to update an encrypted store (e.g. cloud storage) without re-uploading the whole updated ciphertext - I am allowed computation on the side of our encrypted store - I'd like to achieve this without it processing any secret information, e.g. private key.  An obvious approach would be to upload just the encrypted differences and store them alongside the original ciphertext - like versioning - but that can increase total storage requirement.  Occasional re-upload of whole ciphertext is also not what I'm looking for.  I'm looking for an algorithmic solution that doesn't weaken the encryption side.</p>
  
  <p>More formally: if I have some ciphertext C generated from from plaintext T using some cryptographic algorithm that has a secret key component.  Suppose I modified plaintext T to produce new plaintext T1 with their differences captured in plaintext D - would it be possible to construct a function F such that C1 = F(C, E), where C1 is the corresponding updated ciphertext and E is a ciphertext of D?</p>
  
  <p>I looked around but haven't succeeded in finding a solution.  I looked up "Secure multi-party computation" and "Shared Secret" but not sure if this is simply a variation of those problems, or a different problem.</p>