Bug in Multiparty Scenario with EvalSum()

I made some investigations into multiparty architecture. I used the tckks-interactive-mp-bootstrapping-Chebyshev.cpp example. I just changed the line where the ChebyshevSeries is calculated to EvalSum(…)
I always get a decryption error because approximation error is too high. Since EvalSumKeys are also generated in this example, the decryption should actually work, am I right?

Correct, there is a problem in the EvalSumKeys generation logic, specifically this line.

If you change it to:

auto evalSumKeysJoin2 = cryptoContext->MultiAddEvalSumKeys(evalSumKeysJoin, evalSumKeysC, kp3.publicKey->GetKeyTag());

EvalSum should work.

We will fix this issue in the upcoming release, thank you for reporting it.

1 Like