Am doing some work on privacy preserving classification on encrypted dataset. Pls really need a clarification. I encrypted a dataset (plaintext) with AES scheme and get a cypher text. I was able to use a machine learning tool WEKA to do a data mining operation(train and classify) on the cypher text I decrypt the cypher text and discovered that the decrypted result matches the one I obtained when the same operation was performed on plaintext. Can this operation be termed Homomorphic?

  • 1
    $\begingroup$ AES is a block cipher. I'm assuming your data is larger than a single block. How are you doing the encryption? What mode is used? How are keys generated? $\endgroup$
    – mikeazo
    Aug 17, 2017 at 20:05
  • $\begingroup$ Wait, you performed training on a ciphertext? If that has any results then 1. your encryption scheme is broken or 2. deterministic 3. the size of the encrypted message conveys info about the contents or 4. you just broke AES and will be famous. $\endgroup$
    – Maarten Bodewes
    Aug 17, 2017 at 20:27
  • $\begingroup$ I would chalk this up as either a false-positive, or a highly improbable result. Both conditions can be tested by running this experiment again, but only changing the cipher text analyzed. $\endgroup$
    – floor cat
    Aug 19, 2017 at 16:42

1 Answer 1


No, it cannot. The idea is that homomorphic operations take place on the ciphertext, not on the plaintext. This is clearly described by the Wikipedia article on homomorphic encryption.

You can do limited homomorphic operations on AES ciphertext. For instance, if you perform CTR (counter) mode encryption then you can XOR one or more bits, and the result will be that, after decryption, the plaintext will also have those same bits flipped. So here the operation takes place on the ciphertext but it has the same effect on the plaintext without affecting the confidentiality of the message.

In general however homomorphic encryption will be performed on forms of encryption based on mathematical operations, such as modular exponentiation used for raw RSA. As the encryption/decryption operation itself are mathematical constructs it is easier to perform operations on the ciphertext that have the same effect on the plaintext, such as multiplication (the first example in the Wikipedia page).

Full homomorphic encryption, where you can do an unlimited amount of operations on the ciphertext, remains elusive.

Your question could also be read that you simply try to learn things from the ciphertext. Now unless you perform deterministic encryption you should not learn anything from the ciphertext except its length. If you would learn anything from properly encrypted and randomised ciphertext (i.e. with a proper IV) then the cipher would be broken.

So that would mean that your scheme is broken. You would still not perform homomorphic encryption as:

  1. learning things from the ciphertext is exactly what (homomorphic) encryption tries to avoid and;
  2. as you don't alter the ciphertext no morphing is actually performed.

So whichever way you look at it, no, this has nothing to do with homomorphic encryption.

  • $\begingroup$ @ Maarten BodewesThanks a lot for the detail answer and explanation. $\endgroup$
    – AMJ
    Aug 17, 2017 at 22:15
  • $\begingroup$ pls can I talk with you on your private email? Thanks $\endgroup$
    – AMJ
    Aug 17, 2017 at 22:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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