Inversed-Tech / eyelid

Private iris matching
Apache License 2.0
0 stars 0 forks source link

Verify noise growth and corresponding maximum plaintext modulus T #100

Open emmorais opened 1 month ago

emmorais commented 1 month ago

The rust implementation diverges from the old C++ implementation with regards to the maximum size of plaintext modulus T. Since correctness of the parameters was obtained running practical experiments using the C++ code, it is necessary to validate the correct value for T. In order to do that, it is necessary to compute the theoretical estimations and compare with the expected value from both implementations. Two cases are possible:

Ideally, the theoretically estimation should be implemented, such that we can use it to guarantee to we are using maximal T.

_Originally posted by @teor2345 in https://github.com/Inversed-Tech/eyelid/pull/98#discussion_r1625281345_

Symptoms of this bug

Specifically, larger values of T cause failures in the homomorphic positive_multiplication_test() (but not the negative multiplication, addition, keygen, encryption or decryption tests).