Action:
Running example file threshold-fhe.py, (openfhe-python/examples/pke/threshold-fhe.py at main · openfheorg/openfhe-python · GitHub)
Actual result:
Output of EvalSum on plaintext3 (2, 2, 3, 4, 5, 6, 7, 8, 9, 10, … ) and batch size 16 is(56, 54, 52, 49, 45, 40, 34, 27, 19, 10, … ). For the case of BFV.
Expected result:
I would expect the result to have the correct value on the batch indexes (meaning index 0, 16, etc. - this is as expected), and to have no or random value on non batch index (that is 1,2,3,4…,15,17…).
My reason why it is not good:
This seems like a bug/issue because of which the final/last decrypting party can know about all the values before the sum. Such as in the example above the sum is 56, but on the next index there is value 54, which means before the sum there was value 2 at that index. Which expose the entire plaintext before the EvalSum.
Suggested solution:
Make use of random number generator module to automatically add random noise to the value after the sum is calculated (except of the indexes of batch)
Let me know if you need help with reproducing it or if I am missing something. I am using the python wrapper, so I guess not all C methods are available to use as workaround for me.