Skip to content

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

@bryan113

Description

@bryan113

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: IntelLabs/hexl#86

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions