[go: nahoru, domu]

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

Updates main to v1.2.0 #820

Merged
merged 39 commits into from
Jun 25, 2024
Merged

Updates main to v1.2.0 #820

merged 39 commits into from
Jun 25, 2024

Conversation

yspolyakov
Copy link
Contributor

No description provided.

andreea-alexandru and others added 30 commits March 13, 2024 10:54
* 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>
* 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
dsuponitskiy and others added 9 commits June 20, 2024 15:06
…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>
@yspolyakov yspolyakov added the new release new release label Jun 25, 2024
@yspolyakov yspolyakov added this to the Release 1.2.0 milestone Jun 25, 2024
@yspolyakov yspolyakov merged commit 13bf46f into main Jun 25, 2024
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new release new release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants