-
Notifications
You must be signed in to change notification settings - Fork 170
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
Updates main to v1.2.0 #820
Merged
Merged
Conversation
This file contains 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
* initial attempt to support reduced encoding for BFV * some changes in encryption; still more is needed * fixed BFV encryption at a desired level * fixed addition/subtracton of a BFV plaintext encoded at a certain level * fixed BFV decryption for single-key and threshold FHE scenarios * Extended BFV compress to more than 1 RNS limb * fixed EvalMult for the BFV mode with modulus switching * Fixed EvalSquare for BFV mode with modulus switching * Fixed EvalFastRotation for BFV * Throw exceptions for unsupported modes of BFV when modulus-switching-related operations are used * added unit tests for BFV with modulus switching * minor code fixes based on code review feedback * small fixes based on code review comments --------- Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com>
* added the benchmarking example * moved set to Evaluation to Plaintext * Optimized ctxt/ptxt operations, with focus on BFV * optimized the encoding code for BFV/BGV SIMD packing * Moved error handling to the beginning of the processing block --------- Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
* Removed .github/action/, .github/workflows/reuseable_workflow.yml and .github/workflows/custom.yml * Restructured all 3 workflows: manual, main and pull-request * Changed some defaults in manual.yml * Updated the workflow docs * Updated scripts/setup/linux_platform_packages.sh * Updated the workflow docs - 2 --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
* Throw an exception if the number of towers in the input parameters for the core functions is different * removed extended plaintext generation which was throwing exception * left only the deepest level checks for efficiency * uncommented line previously commented for debugging --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com>
* Validation for cryptocontext parameters * Restored the default value for thresholdNumOfParties for BFV, prepended some math functions with std:: * Set firstModSize to 96 for NATIVEINT == 128 * Set firstModSize to 89 for NATIVEINT == 128, disabled/enabled some functions, expanded validation logic, corrected unit tests * Added a new check to the cryptoparams validator * Addressed the PR comment, fixed some unittests --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
Co-authored-by: Sergey Gomenyuk <sergey@fairmath.xyz>
* fixed a bug with mult depth = 0 for CKKS FLEXIBLEAUTO* modes * Changes to avoid redundancies * Addressed a review note and changed an error message --------- Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
* Provide a better compatability with Rust for the OpenFHE wrapper. * Made KeyGenInternal()/KeyGen()/SparseKeyGen() const --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
* fix for issue757 (remove m_originalModulus) * fix for issue734
Co-authored-by: Calvin Che <cheziyi@gmail.com>
…KKS Chebyshev Example (#764)
* fixed issue for n=6 * more necessary clones
* Set a limit of 59 for CKKS' scalingModSize if (NATIVEINT == 64) * Use (MAX_MODULUS_SIZE-1) as the limit for scalingModSize. It should work for any NATIVEINT --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
* Fixed an error in GetExistingEvalAutomorphismKeyIndices() * Fixed an error in InsertEvalAutomorphismKey() --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
#788) * Removed unnecessary const for the return value of GetRealPackedValue() * Added 'override' to the class member functions --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
* minor BGV noise estimation fixes for key switching; adjusting BGV threshold FHE estimation for Gaussian secrets * fixed key switching in BFV #786 * Addressed review comments --------- Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
* intermediate version of HRA-secure PRE * got HRA-secure PRE working correctly and added an example * updated the factor in BV key switching in two places * renamed multiHopModSize with PRENumHops * Update README.md * Addressed review comments --------- Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
* Fixed tcmalloc crashes * Corrected the code of demangle() --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
* Altered cryptocontext params's validation logic * Syncronized the code with the previous commit --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
) * fixed the estimation for LWE check for BGV * fixed estimation for LWE check in CKKS parameter generation * cleaned up the BFV parameterization code * fixed the logq estimation for BFV * added doxygen comments for new methods * added ring dimension validators for BGV, BFV, and CKKS * fixed a bug in BGV parameter estimation logic * Addressed review comments --------- Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
* increase mod of STD128Q_LMKCDEY within binfhecontext.cpp * update BINFHE_PARAMSETs * update LPF BINFHE_PARAMSETs * add approximate probability of failure to binfhe-constants * created binfhe-paramsets benchmark * added LPF sets to binfhe-constants-impl.cpp * added comments for BinFHEContext::GenerateLUTviaFunctionv()
* Enabled #pragma omp for EvalAutomorphismKeyGen() * Addressed review comment --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
* Some cleanup for EvalSumCols() and EvalSumRows(). * Fixed a bug in EvalSumCols() * Fixed EvalSumRowsKeyGen()/EvalSumColsKeyGen() incorrect behavior * Fixed EvalSumRowsKeyGen()/EvalSumColsKeyGen() incorrect behavior(2) * Added 2 functions to serialize/deserialize a selected set of eval keys * Added unittests for EvalSumRows and EvalSumCols * Removed a call to EvalSumKeyGen() before calls to EvalSumRowsKeyGen/EvalSumColsKeyGen * Fixes to private functions generating indices for automorphism keys * Made GetPartialEvalAutomorphismKeyMapPtr static * Changed the unit tests --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
* No repeated primes in the limb moduli for CKKS * Moved error handling from the end of ParamsGenCKKSRNS() up to its middle * Addressed PR review comments * Fixed some bugs and added unit tests * Addressed PR review comments (2) * Addressed PR review comments (3) --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
* update to existing block allocator functionality * Update OPENFHE_THROW in blockAllocator.cpp * Update OPENFHE_THROW in xallocator.cpp
* added ComputeNumLargeDigitsPRE() to enable 1-hop pre * added ComputeNumLargeDigitsPRE() to enable 1-hop pre * code cleanup * (2**x)/2 --> 2**(x - 1) * code cleanup * updates to bfvrns-leveledshe.cpp
Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com>
* update probability of failure for binfhe paramsets * update probability of failure for binfhe paramsets * update probability of failure for binfhe paramsets
…e Cryptocontext class (#811) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
* No Unix Makefiles * Added FORCE to set(CMAKE_GENERATOR) * Changed the condition to check the current environemnt --------- Co-authored-by: Leander Schulten <Leander.Schulten@rwth-aachen.de> Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
* Added missing 'noexcept' in get_call_stack() * Disabled setters for cryptocontext parameters will throw an exception at run time --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com>
* Updated the list of cryptocontext params and their descriptions * Update README.md --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> Co-authored-by: yspolyakov <89226542+yspolyakov@users.noreply.github.com>
* 3- and 4-gate STD128/STD128Q for LMKCDEY * 3- and 4-gate STD192/STD192Q for LMKCDEY * 3- and 4-gate STD256/STD256Q for LMKCDEY
Corrected double quotes
* updated to v1.2.0 * updates requirements.txt * fixes URL --------- Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com>
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.
No description provided.