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

Commits on Mar 13, 2024

  1. Configuration menu
    Copy the full SHA
    d95c293 View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2024

  1. Added support for modulus switching to BFV (#720)

    * 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>
    yspolyakov and Yuriy Polyakov committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    360a556 View commit details
    Browse the repository at this point in the history

Commits on Apr 8, 2024

  1. Optimized BFV/BFV operations involving plaintexts (#730)

    * 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>
    3 people committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    c7384bf View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2024

  1. 718 dev: fully refactored github workflows (#722)

    * 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>
    dsuponitskiy and dsuponitskiy-duality committed Apr 9, 2024
    Configuration menu
    Copy the full SHA
    b0bc0fc View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2024

  1. 721 add exceptions (#735)

    * 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>
    andreea-alexandru and dsuponitskiy-duality committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    ad20077 View commit details
    Browse the repository at this point in the history

Commits on Apr 17, 2024

  1. fixed a bug with First/Last/Next/PreviousPrime (#739)

    Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com>
    yspolyakov and Yuriy Polyakov committed Apr 17, 2024
    Configuration menu
    Copy the full SHA
    9dcda8a View commit details
    Browse the repository at this point in the history

Commits on Apr 18, 2024

  1. 710 validate parameters for cryptocontext generation (#736)

    * 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>
    dsuponitskiy and dsuponitskiy-duality committed Apr 18, 2024
    Configuration menu
    Copy the full SHA
    2589b2c View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2024

  1. Fix serialization issue for BFV scheme (#754)

    Co-authored-by: Sergey Gomenyuk <sergey@fairmath.xyz>
    dsuponitskiy and Sergey Gomenyuk committed Apr 30, 2024
    Configuration menu
    Copy the full SHA
    ab5612b View commit details
    Browse the repository at this point in the history

Commits on May 3, 2024

  1. fixed a bug with mult depth = 0 for CKKS FLEXIBLEAUTO* modes (#741)

    * 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>
    3 people committed May 3, 2024
    Configuration menu
    Copy the full SHA
    4400bb5 View commit details
    Browse the repository at this point in the history

Commits on May 6, 2024

  1. Changes for better rust compatibility (#755)

    * Provide a better compatability with Rust for the OpenFHE wrapper.
    
    * Made KeyGenInternal()/KeyGen()/SparseKeyGen() const
    
    ---------
    
    Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
    dsuponitskiy and dsuponitskiy-duality committed May 6, 2024
    Configuration menu
    Copy the full SHA
    dd3035b View commit details
    Browse the repository at this point in the history

Commits on May 7, 2024

  1. Issue757 (#758)

    * fix for issue757 (remove m_originalModulus)
    
    * fix for issue734
    pascoec committed May 7, 2024
    Configuration menu
    Copy the full SHA
    20063e6 View commit details
    Browse the repository at this point in the history
  2. Add serialization to and from JSON strings (#765)

    Co-authored-by: Calvin Che <cheziyi@gmail.com>
    dsuponitskiy and cheziyi committed May 7, 2024
    Configuration menu
    Copy the full SHA
    25015b3 View commit details
    Browse the repository at this point in the history

Commits on May 10, 2024

  1. Configuration menu
    Copy the full SHA
    caa26b1 View commit details
    Browse the repository at this point in the history

Commits on May 20, 2024

  1. 769 fix bug in evalchebyshevseriesps (#772)

    * fixed issue for n=6
    
    * more necessary clones
    andreea-alexandru committed May 20, 2024
    Configuration menu
    Copy the full SHA
    55e9590 View commit details
    Browse the repository at this point in the history

Commits on May 29, 2024

  1. Set a limit of 59 for CKKS' scalingModSize if (NATIVEINT == 64) (#782)

    * 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>
    dsuponitskiy and dsuponitskiy-duality committed May 29, 2024
    Configuration menu
    Copy the full SHA
    bcd4721 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2024

  1. 783 bug in vector initialization (#787)

    * Fixed an error in GetExistingEvalAutomorphismKeyIndices()
    
    * Fixed an error in InsertEvalAutomorphismKey()
    
    ---------
    
    Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
    dsuponitskiy and dsuponitskiy-duality committed May 31, 2024
    Configuration menu
    Copy the full SHA
    fb12055 View commit details
    Browse the repository at this point in the history
  2. Removed unnecessary const for the return value of GetRealPackedValue() (

    #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>
    dsuponitskiy and dsuponitskiy-duality committed May 31, 2024
    Configuration menu
    Copy the full SHA
    c1b2b56 View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2024

  1. Minor noise estimation fixes for BGV and BFV (#790)

    * 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>
    3 people committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    06b2d87 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2024

  1. Many changes in the HRA-secure PRE implementation based on BGV (#792)

    * 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>
    3 people committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    8a373ce View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2024

  1. Fixed tcmalloc crashes (#794)

    * Fixed tcmalloc crashes
    
    * Corrected the code of demangle()
    
    ---------
    
    Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
    dsuponitskiy and dsuponitskiy-duality committed Jun 7, 2024
    Configuration menu
    Copy the full SHA
    5a55354 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2024

  1. Altered cryptocontext params's validation logic (#795)

    * Altered cryptocontext params's validation logic
    
    * Syncronized the code with the previous commit
    
    ---------
    
    Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
    dsuponitskiy and dsuponitskiy-duality committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    5c7164c View commit details
    Browse the repository at this point in the history
  2. Fix logQ(P) estimation used for finding the minimum ring dimension (#796

    )
    
    * 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>
    3 people committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    4eed808 View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2024

  1. 778 fix lmkcdey parameter sets (#799)

    * 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()
    pascoec committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    a68c33c View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2024

  1. Enable omp in evalautomorphism (#802)

    * Enabled #pragma omp for EvalAutomorphismKeyGen()
    
    * Addressed review comment
    
    ---------
    
    Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
    dsuponitskiy and dsuponitskiy-duality committed Jun 14, 2024
    Configuration menu
    Copy the full SHA
    4760cb6 View commit details
    Browse the repository at this point in the history
  2. 756: Fixed EvalSumColsKeyGen() bug (#768)

    * 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>
    dsuponitskiy and dsuponitskiy-duality committed Jun 14, 2024
    Configuration menu
    Copy the full SHA
    4543012 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2024

  1. No repeated primes in the limb moduli for CKKS (#793)

    * 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>
    dsuponitskiy and dsuponitskiy-duality committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    6b801f8 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2024

  1. Fix STATIC_POOLS functionality of utils/blockAllocator (#677)

    * update to existing block allocator functionality
    
    * Update OPENFHE_THROW in blockAllocator.cpp
    
    * Update OPENFHE_THROW in xallocator.cpp
    pascoec committed Jun 18, 2024
    Configuration menu
    Copy the full SHA
    1c4e763 View commit details
    Browse the repository at this point in the history
  2. Issue791 (#805)

    * 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
    pascoec committed Jun 18, 2024
    Configuration menu
    Copy the full SHA
    716c37e View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2024

  1. added lattice parameters for N=64k and 128k (#807)

    Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com>
    yspolyakov and Yuriy Polyakov committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    f387eaf View commit details
    Browse the repository at this point in the history
  2. update probability of failure for binfhe paramsets (#804)

    * update probability of failure for binfhe paramsets
    
    * update probability of failure for binfhe paramsets
    
    * update probability of failure for binfhe paramsets
    pascoec committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    ab052b1 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2024

  1. Moved the logic to avoid generating duplicate automorphism keys to th…

    …e Cryptocontext class (#811)
    
    Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com>
    dsuponitskiy and dsuponitskiy-duality committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    c18d415 View commit details
    Browse the repository at this point in the history
  2. 261 cannot build with ninja (#808)

    * 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>
    3 people committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    7ed1e76 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    55a6d8d View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2024

  1. V1.2.0 pre release fixes (#815)

    * 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>
    dsuponitskiy and dsuponitskiy-duality committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    f6293a4 View commit details
    Browse the repository at this point in the history
  2. added special handling for BFV parameterization (#814)

    Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com>
    yspolyakov and Yuriy Polyakov committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    0d0f119 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2024

  1. Updated the list of cryptocontext params and their descriptions (#816)

    * 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 people committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    da864ac View commit details
    Browse the repository at this point in the history
  2. multi gate lmkcdey (#818)

    * 3- and 4-gate STD128/STD128Q for LMKCDEY
    
    * 3- and 4-gate STD192/STD192Q for LMKCDEY
    
    * 3- and 4-gate STD256/STD256Q for LMKCDEY
    pascoec committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    e72d91a View commit details
    Browse the repository at this point in the history
  3. Update README.md

    Corrected double quotes
    dsuponitskiy committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    2150cfd View commit details
    Browse the repository at this point in the history
  4. Update to v1.2.0 (#819)

    * updated to v1.2.0
    
    * updates requirements.txt
    
    * fixes URL
    
    ---------
    
    Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com>
    yspolyakov and Yuriy Polyakov committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    4cb244b View commit details
    Browse the repository at this point in the history