CKKS: Use prime selection logic from OpenFHE#2402
Merged
copybara-service[bot] merged 1 commit intoNov 18, 2025
Merged
Conversation
j2kun
approved these changes
Nov 13, 2025
|
|
||
| /// By original we mean the method in RNS-CKKS implementation | ||
| /// Corresponds to FIXED* in OpenFHE | ||
| static std::vector<int64_t> moduliQGenerationOriginal(int logFirstMod, |
Collaborator
There was a problem hiding this comment.
maybe just call it moduliQGenerationOpenFHEFixed?
Collaborator
Author
There was a problem hiding this comment.
Name changed.
Collaborator
81e4700 to
2ce97bc
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The prime selection logic from #1400 for CKKS just uses the same prime selection logic as BGV, and might cause some severe scaling factor mismatch issue / rescaling noise due to the nature of RNS-CKKS instantiation.
To better mitigate the issue, CKKS should have its own prime selection logic, and OpenFHE is the standard reference.
This also helps #2364 and #2379. I believe with this PR, the high-precision level-specific scaling factor in
populate-scale-ckkscan be safely instantiated after the "reduced error" prime selection logic ingenerate-param-ckks.Relates to #1640 but that issue has lots of TODO related to high precision scaling factor so it can not be closed.
For @j2kun: Can the specific issue in #2364 be reproduced with these prime selection logic?