Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CKKS Basics Example Fails with HEXL DQ Processor on 3.7.1 #411

Closed
bryan113 opened this issue Oct 27, 2021 · 3 comments
Closed

CKKS Basics Example Fails with HEXL DQ Processor on 3.7.1 #411

bryan113 opened this issue Oct 27, 2021 · 3 comments

Comments

@bryan113
Copy link

Our automated testing picked up failure yesterday when encrypting/decrypting using CKKS against a DQ processor using SEAL version 3.7.1. After investigating a bit, we found that even the SEAL examples for CKKS appear to be producing incorrect results. When running example 4, we see the following output:

Line 292 --> Decrypt and decode PI*x^3 + 0.4x + 1.
    + Expected result:

    [ 1.0000000, 1.0000977, 1.0001954, ..., 4.5367965, 4.5391940, 4.5415926 ]

    + Computed result ...... Correct.

    [ 8851047.3017527, -49664808.4336319, 17739259.1471153, ..., 19118668.7951671, 31496205.5367488, 10854363.3229653 ]

To build the examples, we started up an AWS c5.xlarge instance and compiled using the flags: -DSEAL_BUILD_EXAMPLES=ON -DSEAL_USE_INTEL_HEXL=ON. When running with an IFMA processor, the output is correct.

Digging into the issue, it appears that the HEXL function: EltwiseReduceMod may be producing incorrect results with version 1.2.2. I've posted an issue on the HEXL github page: intel/hexl#86

@WeiDaiWD
Copy link
Contributor

Thank you very much for notifying us. I'd wait for the HEXL team to resolve it and update SEAL's dependency accordingly. I'll keep this open until then.

@bryan113
Copy link
Author

bryan113 commented Nov 1, 2021

I tested with the mentioned HEXL pull request: intel/hexl#90 and that seems to fix the issue.

@WeiDaiWD
Copy link
Contributor

I've pushed the changes. Thank you all for reporting and fixing this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants