-
Notifications
You must be signed in to change notification settings - Fork 208
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Port of PR#415 - Fix some undefined behavior #429
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
Avoid casting a potentially-infinite floating point value to int32_t.
Avoid casting a potentially-infinite floating point value to int32_t.
yspolyakov
approved these changes
Jun 8, 2023
dsuponitskiy
pushed a commit
that referenced
this pull request
Jun 11, 2023
* Fix UB in CKKSPackedEncoding Avoid casting a potentially-infinite floating point value to int32_t. * Fix UB in FHECKKSRNS::MakeAuxPlaintext Avoid casting a potentially-infinite floating point value to int32_t. * Restore std:: prefix for abs in ckkspackedencoding.cpp
dsuponitskiy
pushed a commit
that referenced
this pull request
Jun 13, 2023
* Fix UB in CKKSPackedEncoding Avoid casting a potentially-infinite floating point value to int32_t. * Fix UB in FHECKKSRNS::MakeAuxPlaintext Avoid casting a potentially-infinite floating point value to int32_t. * Restore std:: prefix for abs in ckkspackedencoding.cpp
dsuponitskiy
added a commit
that referenced
this pull request
Jul 28, 2023
* PRE changes for noise flooding (#232) * *removed TRAPDOOR_HRA from PRE options in constants *change noise flooding to be done in base-pre.cpp instead of the noise in encryptzerocore *include the statistical security and num of queries in computing noise flooding param in initializeflooding function in bgvrns-paramatersgeneration.cpp *included parameters statisticalSecurity and numAdversarialQueries used for ckks noise flooding in cryptocontextparams into internal rlwe-parameters to reuse the same parameters for PRE noise flooding * fixed review comments * small correction in example link (#230) * Manjaro is an installer of Arch Linux (#236) Co-authored-by: yspolyakov <89226542+yspolyakov@users.noreply.github.com> * Fhe aborts (#243) * changes for aborts with threshold fhe * Miscellaneous change * modified return type of shareKeys from vector to map, added new testcases to UnitTestMultiParty for Aborts but have to debug some testdata issue * added testcases to UnitTestMultiparty for aborts. the unittests pass but the parameters for ckks are not read in the correct order * fixed UnitTestMultiparty after adding new testcases for aborts, all tests pass * minor edit to aborts parameters * fix evalmult after CI fail for 128 bits CLANG10 and gcc10 * parameter changes for ckksrns test aborts * changes for aborts with threshold fhe * Miscellaneous change * modified return type of shareKeys from vector to map, added new testcases to UnitTestMultiParty for Aborts but have to debug some testdata issue * added testcases to UnitTestMultiparty for aborts. the unittests pass but the parameters for ckks are not read in the correct order * fixed UnitTestMultiparty after adding new testcases for aborts, all tests pass * minor edit to aborts parameters * fix evalmult after CI fail for 128 bits CLANG10 and gcc10 * parameter changes for ckksrns test aborts * changed additive sharing map logic in cryptocontext.cpp * Code corrections Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * autoconf is not required for a simple build anymore, corrections to the documentation (#252) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Emscripten support (#240) * Support/guards for Emscripten * Reduced the memory usage for UTGENERAL_MULTIPARTY unittests * More changes for emscripten * Corrections to the emscripten changes * Enscripten change in CMakeLists.txt Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * BINFHE segfault fix (#241) * Segfault fix * Additional unit tests * Fixed operator==() for RingGSWACCKeyImpl and RingGSWEvalKeyImpl Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Update windows.rst Fixes #242 * updated BINFHE documentation * Update binfhe.rst Fixed the documentation * updated the version to v1.0.1 * Additional support for the Emscripten compiler (#248) * Additional Emscripten support * Disabled UnitTestFHEWSerial with JSON * Temporarily disabled some unit test for Emscripten as they throw std::bad_alloc if linked with Emscripten Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Disabled the i386 architecture (#259) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Removed not used variables (#269) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Set CMAKE_CXX_STANDARD to 17 for user projects (#268) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Switch mTilde related params to uint64_t (#260) * Switch mTilde related params to uint64_t * Enahncing readability and using in-place arithmetic operators * More optimizations * Migration guide (#274) * Migration guide * Format changes to z_migration_guide.rst * Format changes to z_migration_guide.rst (2) * update z_migration * Format changes to z_migration_guide.rst (3) * Format changes to z_migration_guide.rst (4) * made some small formatting changes * Small edits. Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> Co-authored-by: Ian Quah <iquah@dualitytech.com> Co-authored-by: Saroja Erabelli <serabelli@dualitytech.com> * Refactor unit tests: move test data to .csv files (#281) * Moved test data to .csv file for UnitTestBGVrnsAutomorphism.cpp * Added error handling * Moved the implementation of Params(const std::vector<std::string>& vals) to .cpp Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> SquashMerge after 1 CI run, per DS. * Fix for Issue 282 (#283) * fixed code for issue #282 * fixed revew comment * Use the CKKSRNS_SCHEME schemeId in CKKSPackedencoding constructors (#291) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Srv fix issue 273 (#290) * changes to add threshold number of parties as cryptocontext params and adjust the cushion in findlevelstodrop for noise estimation * changes to add threshold number of parties as cryptocontext params and adjust the cushion in findlevelstodrop for noise estimation * cleaned up and added comment in findlevelstodrop * typos and comments * fixed review comments * Use the CKKSRNS_SCHEME schemeId in CKKSPackedencoding constructors (#291) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * fixed thresholdparties *1 in two other lines * changes to add threshold number of parties as cryptocontext params and adjust the cushion in findlevelstodrop for noise estimation * cleaned up and added comment in findlevelstodrop * typos and comments * fixed review comments * fixed thresholdparties *1 in two other lines --------- Co-authored-by: dsuponitskiy <dmitriy.suponitskiy@gmail.com> Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Edit readme for new example threshold-fhe-5p (#296) * updated readme for new example threshold-fhe-5p * fixed link in readme * Fixed compiler errors in advanced-real-numbers.cpp (#299) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * added check for batch size to be a power of two (#300) Co-authored-by: Andrey Kim <andreykim@Andreys-MacBook-Pro.local> * Exception for oversized plaintext (#301) * Throw an exception if the plaintext size exceeds its limit * Set the scalingModSize default values for CKKS * Added schemeId to error messages --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Added a call to PackedEncoding::SetParams() in CryptoContextFactory<Element>::GetContext (#303) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Srv fhew pke changes (#295) * fixed 2020/086 reference * code that compiles, need to debug segmentation fault * running code but result fluctuates * working code for boolean LWE pke * fixed 2020/086 reference * code that compiles, need to debug segmentation fault * running code but result fluctuates * working code for boolean LWE pke * added more examples, benchmark and cleaned up code and comments. Still need to test new unittests added for lwe pke * check input ciphertext to encryptn, removed unittests copy for pke to identify tests to add and some cleanup (this branch fixes issue #235) * Edit readme for new example threshold-fhe-5p (#296) * updated readme for new example threshold-fhe-5p * fixed link in readme * changes to pk generation in BTKeygen instead of generating a triple, encrypt function with pk that calls both encryptN and encryptn, added unittests * added pubkeygen to binfhecontext, modified keygen benchmark to include btkeygen in ske * modified keygen function in binfhe-benchmarks, cleaned up comments * clean up * correction to benchmark binfhe-ginx-pke * Fixed compiler errors in advanced-real-numbers.cpp (#299) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * added check for batch size to be a power of two (#300) Co-authored-by: Andrey Kim <andreykim@Andreys-MacBook-Pro.local> * fixed yuriy review comments * fixed 2020/086 reference * code that compiles, need to debug segmentation fault * running code but result fluctuates * working code for boolean LWE pke * code that compiles, need to debug segmentation fault * running code but result fluctuates * working code for boolean LWE pke * added more examples, benchmark and cleaned up code and comments. Still need to test new unittests added for lwe pke * check input ciphertext to encryptn, removed unittests copy for pke to identify tests to add and some cleanup (this branch fixes issue #235) * changes to pk generation in BTKeygen instead of generating a triple, encrypt function with pk that calls both encryptN and encryptn, added unittests * added pubkeygen to binfhecontext, modified keygen benchmark to include btkeygen in ske * modified keygen function in binfhe-benchmarks, cleaned up comments * clean up * correction to benchmark binfhe-ginx-pke * fixed yuriy review comments * fixed some typos and comments * fixed review comments * small edits to binfhe/examples/readme and docs/sphinx_rsts/modules/binfhe.rst --------- Co-authored-by: dsuponitskiy <dmitriy.suponitskiy@gmail.com> Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> Co-authored-by: Andrey Kim <kimandr.kz@gmail.com> Co-authored-by: Andrey Kim <andreykim@Andreys-MacBook-Pro.local> * Correction on the serialization page (#309) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Changed Hamming weight from 16 to 64 for SPARSE_TERNARY (#312) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Return original ciphertext in bootstrapping if we already start with enough towers. (#314) * Return original ciphertext if we already start with enough towers. * Add comment to explain changes. * Fixed vectorization bug (#322) * fixed vectorization in pubkeygen for xor performance difference in ske vs pke * fixed noise issue with pke with native size 32 - modaddeq for every addition instead of using +operator, fixed review comment for changing variable name size and its type * MATHBACKEND cleanup (#327) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * minor bug fix for throwing exception when vector of values is empty in packedencoding (#330) * fixed the input ranges for function-evaluation.cpp (#335) Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> * fixes documentation issue #272 * fixes documentation issue #262 * updated to v1.0.2 * Update publications.rst * added changes (#287) Calabacitas merge now. * updated to v1.0.3 * Added MATHBACKEND to config_core.in (#345) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * PS parameters (#342) * PS parameters * cleanup * update name * Update FUNCTION_EVALUATION.md * fix issue 355 - should not delete elements of DCRTPoly with one element (#379) * fix issue 355 - should not elements of DCRTPoly with one element * fix format * more exception to a lower level function * Hybrid Key Switching Optimization (#377) * optimization from https://eprint.iacr.org/2018/117 Section 3.3 * sw optimizations * Replaced usint with size_t and deleted redundant code for KeySwitchGen() --------- Co-authored-by: Andrey Kim <andreykim> Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * add check to prevent negative moduli (#386) * Fix eval-decomp example returning wrong output (#357) * removed final bootstrapping in evaldecomp function and changed p=8 in decrypt for last digit * change to example to compute modulus for last digit instead of hardcoding, change to unittest to check all the digits * replaced pow with bitwise operation * replace log2 with getMSB in digitdecomp example and unittest * change to example to compute modulus for last digit instead of hardcoding, change to unittest to check all the digits * replaced pow with bitwise operation * Modified Native Transform (#384) * initial set of native transform modifications * reduced set of native transform modifications; only includes transforms used in SwitchFormat() * modified implementation after gcc benchmarking * add in inner product example (#391) * add in inner product example * added in tests * done * Added a missing argument (ExecutionMode) to calls to Decode() (#394) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * comment out for now (#397) * Check if std::map<>::find() returns a valid iterator (#395) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Fixed code to disallow out-of-bounds vector access (#398) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Verify that ring dimension for cryptocontext params is always power of 2 (#401) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Added a check for nullptr to GetParamsPK() to fix crashes (#399) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Do not request Git to be installed if GIT_SUBMOD_AUTO=OFF (#405) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Code improvements (#406) * Design changes in class templates v1 * Design changes in class templates 2 * Design changes in class templates 3 * Added unittest/utils/*.h to be installed and fixed a bug in UnitTestGenerateContext() * Assign a default slot size if slots == 0 * Do not catch and hide exceptions for cryptocontext serialization; removed unused m_autoIdxLis * Cleanup * Fixed clang errors --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Modified lattice (#365) * initial setup for modifications to Lattice and Math Layers * modifications to Lattice and Math Layers; Poly into HAL; optimization of poly/dcrtpoly rootines; speedup builds; workaround for include *.cpp files * remove remaining HEXL-specific code * modifications of other files to accommodate Lattice/Math Layer changes * fixes after running unittests * fix for compilation issue on mac * bug fix for BE6 builds * bug fix for BUILD_EXTRAS=ON * fix for compilation issue with MING64 + Windows 10 (g++ 12.2.0) * Small documentation fixes (#417) * small comment typo in example * Removed a text left over from Palisade --------- Co-authored-by: Rener Oliveira <53785783+reneroliveira@users.noreply.github.com> Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Conversion functions for crypto parameters' enums (#420) * Added functions converting uint32_t to enum for crypto parameters * Additional conversion functions --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * fixed the bug with large CKKS plaintexts (#424) * fixed the bug with large CKKS plaintexts * fix for 128-bit CKKS unit tests * fixed the word size in MakeAuxPlaintext --------- Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> * cyclotomic order instead of ring dimension (#427) * gcc13 compiler errors (#430) * Disabled -Werror=dangling-reference for the cereal library as gcc-13 throws an error * Fixed gcc-13 errors: added <cstdint> and removed a call to std::move --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Port of PR#415 - Fix some undefined behavior (#429) * Fix UB in CKKSPackedEncoding Avoid casting a potentially-infinite floating point value to int32_t. * Fix UB in FHECKKSRNS::MakeAuxPlaintext Avoid casting a potentially-infinite floating point value to int32_t. * Restore std:: prefix for abs in ckkspackedencoding.cpp * Fix for segmentation fault in MakeCKKSPackedPlaintext() (#403) * Limited the upper value of the level to encode the plaintext at * Addressed comments * Addressed comments about the error condition --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Issue 382 - Fix BFV security check (#432) * fixed a bug with BFV parameter generation * updated documentation * Added a test for ring dimension failure on security requirement --------- Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * fixed bugs with addition and multiplication of large doubles in CKKS (#436) Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> * fix bfv hps (#422) * fix bfv hps * Moved bfv-mult-bug.cpp to src/pke/extras * Added unittests to check the multiplicative depth limit * dcrtpoly bug fix with alpha * some tests should not run for mathbackend 2 * updated unit tests for deep BFV setups * fixed the overflow check for max double --------- Co-authored-by: Andrey Kim <andreykim@Andreys-MacBook-Pro.local> Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> * Updated standard security tables (#439) * updated stdlatticeparms for ternary, error secret distribution with 2^16 ring dimension for classic 128, 192, 256 security and parameter sets for 128, 192, 256 quantum security levels upto 2^15 ring dimension * removed the hard-coding of the maximum ring dimension --------- Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> * Correct max value for implicit conversion from int64 to double (#441) * Corrected the max value of double that can be converted to int64_t * Replaced the number with an expression in Max64BitValue() --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * updated version to v1.0.4 * Uncommented unittests and an example for innerproduct (#452) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Added functions to check enabled features in the cryptocontext and called them in all cryptocontext interfaces (#451) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Small correction to the migration guide (from Palisade to OpenFHE) (#453) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * New FHEW bootstrapping method LMKCDEY (ia.cr/2022/198) (#352) * stubs * Key generation added * fix syntax errors * code finished, seg. fault occurs * try to round-to-odd * test passed * lmkcdey finished (replicated Yongwoo Lee's commit 1ea84c7) * bench added, revise rgsw-acc-lmk+ * openmp for auto key gen. m_logGen to PreCompute * error fix: add precomputation RingGSWCryptoParams * binfhe support Gaussian secrets * Add STD128_LMKCDEY to binfhe-constants-impl.cpp. * modified fhew unittest, removing repeated functions and looping through the different bootstrapping techniques instead * fixed UnitTestFHEW after adding LMKCDEY * Refactored unittests in UnitTestFHEW.cpp * code cleanup in binfhe: reuse the PreCompute code * unittest serialize for lmkcdey --------- Co-authored-by: Yongwoo Lee <yongwool@snu.ac.kr> Co-authored-by: randomcryptoguy <yw0803.lee@samsung.com> Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> Co-authored-by: sararv22 <saraswathy@dualitytech.com> Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> * fix for issue #402 (#442) * fix for issue #402 * additional edits * added description for PolyImpl::TimesNoCheck() * New function to estimate the levels consumed in bootstrapping (#459) * Rename the private function GetBootstrapDepth() and made g_coefficients static * Added a function to estimate the levels consumed in bootstrapping * minor fixes in bootstrapping examples --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> * Corrected CMakeLists.User.txt and documentation for custom build location and updated docs with other OSs where OpenFHE has been sucessfully linked (#460) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Update CMakeLists.txt (#462) Co-authored-by: Hunter Richards <36270862+harichards@users.noreply.github.com> * Replaced uint with size_t (#465) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Problem with two coexisting CKKS crypto contexts with different ring dimensions (#463) * Created a static map of precomputed values with ringDim as the key to handle multiple cryptocontexts * Added a unittest to verify that ringDim for the first cryptocontext is not overriden by creation of another cryptocontext. * Inlined FFTSpecialInvLazy() as it was called in one place only * Added a benchmark for DiscreteFourierTransform::FFTSpecial and FFTSpecialInv * Moved the benchmark for DiscreteFourierTransform::FFTSpecial and FFTSpecialInv to fft-ckks-encoding.cpp --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Changes to improve readability (mostly cosmetic) (#467) Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Add numAutoKeys to RingGSWCryptoParams (#466) * add numAutoKeys to RingGSWCryptoParams * numAutoKeys arg to end; throw if numAutoKeys==0 * Added m_numAutoKeys to save()/load() for RingGSWCryptoParams --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * added support for Compress to BFV for HPS* modes (#472) Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> * Modified math (#476) * initial setup for modifications to Lattice and Math Layers * modifications to Lattice and Math Layers; Poly into HAL; optimization of poly/dcrtpoly rootines; speedup builds; workaround for include *.cpp files * checkpoint after modified SwitchModulus * remove unused variable * checkpoint before adding operator*=(NativeInteger) to DCRTPoly * added a few NativeInteger operations DCRTPoly * decouple and add guards for BE2/4/6; bug fix for index check * updated Native/BE4 Vector/Integer routines; updated IntegerMath benchmark; use of uint64_t as BigInteger for BE4 * updates after unit tests and benchmarking * optimizations to distribution generators * optimizations to binfhe * updated CMake file * a few binfhe optimizations * DCRTPoly passed by const& instead of value in keyswitch * fix for failed workflow * fix for BE6 * remove noexcept from default ctor (#485) * Code for multi-input gates (#488) * new branch to transfer changes from srv_multi_input_gates branch because that branch has many conflicts after carlo's PR was merged into dev * small change for compatibility with paramsgen script * confirmed changes to not conflict with carlo's pr * fixed doxygen comments * hardening and optimizations of CKKS bootstrapping for sparse secrets (#489) Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> * implemented approximate gadget decomposition (#487) Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> * Added noise flag for parameter estimator script (#492) * added noise flag for parameter estimator script * sorted the variable names in config_core.h --------- Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> * Scheme switching (#367) (#486) * initial switch CKKS->FHEW * initial switch FHEW->CKKS * sign evaluation via scheme switching * initial min/max * some code cleanup * 3 scaletechs and argminAlt * secure CKKS->FHEW switching * all scaling modes * unit tests * examples and documentation * extra and code clean-up * 128-bit and cleanup * finalized rebase + renamed constants * params for inner binfhe cc and comments * addressed all comments except circular dependency + reused code * addressed all comments except fwd headers * constants file in core * rebased again to resolve conflicts * 454 fix comments in binfhe documentation (#496) * updated descriptions in binfhe header files * updated README * more README and comments updates * FIxed CKKS precision unit tests (#499) * fixed CKKS precision unit tests * additional fix --------- Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> * trimmed unit tests for scheme switching (#501) * trimmed unit tests for scheme switching * more trimming of scheme switching unit tests * Issue 495 optimized fhew parameters (#503) * simplified named parameter sets for binfhe * optimized STD128* datasets * added more optimized parameters for FHEW --------- Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> * Ckks int mp boot tmp (#502) * Initial commit - driver app stub * trial one * stub is ready - adding intmpboot adjust scale * cleaner version of stub * Adding generateCRP * Adding IntMPBootDecrypt * Adding IntMPBootAdd * Adding IntMPBootEncrypt * first working implementation - tckks * evaluating Chebyshev series example * supporting 4 mode of scaling * fix scale issue in flexible* modes * Added unit tests for interactive bootstrapping, fixed some code * issue in passing compression level parameter from user level params to rns params * working implementation after moving compression level * small fix * Added interactiveBootCompressionLevel to params used for cryptocontext generation * small updates to improve examples output * improving comments and adding serialization logic for new parameter: compression level * Reduced scalingModSize to 50 in unittests * Changed the epsilon value used for results comparison in unittests * Added skipTest() to BaseTestCase.h to skip some unittests * Ran pre-commit on all changed files and removed tabs * fixed error messages and DropLastElement -> DropLastElements --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Pke documentation + optimized parameters for LMKCDEY FHEW (#507) * beginning of documentation changes * documentation changes * more updates in the parameter sets * many documentation changes in cryptocontext.h and some other small changes * more FHEW parameter changes * optimized FHEW parameter sets --------- Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> * Unittests fail on mingw (#506) * Fixed unittest failures on MinGW * Disabled an OMP pragma that caused a crash on MinGW * Completely disabled that pragma as it should be revised * int32_t and std::abs * Corrected the CryptoContext static data members --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> Co-authored-by: Andreea Alexandru <aalexandru@dualitytech.com> * 483 implement compiler specific optimizations for ntt and ringmult (#508) * limited omp performance tuning * tunning of ModAdd/ModMul for g++-10/WITH_NATIVEOPT=OFF/OMP_NUM_THREADS=1; Implementation of NoCheck functions * change >= to > in ModAddFastEq for performance * initial tunning of ntt for g++-10/WITH_NATIVEOPT=OFF/OMP_NUM_THREADS=1 * tunning of ntt/intt for g++-10/WITH_NATIVEOPT=OFF/WITH_OPENMP=OFF * Issue 434 (#450) * Fix unnecesary copy * Additional code corrections --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> * Reduced runtime of pke unit tests (#510) * optimized many unit tests * reduce time scheme switching unit tests --------- Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> * Documentation changes (#514) * some documentation changes * fixed README * more documentation changes * more documentation changes * more rst changes * more documentation changes --------- Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> * Compiler errors on macos (#515) * Removed constexpr for some utility functions * Moved ToNativePoly() from poly-impl.h to poly.h --------- Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> --------- Co-authored-by: sararv22 <100254654+sararv22@users.noreply.github.com> Co-authored-by: Rener Oliveira <53785783+reneroliveira@users.noreply.github.com> Co-authored-by: Bastiaan Quast <bquast@gmail.com> Co-authored-by: yspolyakov <89226542+yspolyakov@users.noreply.github.com> Co-authored-by: Dmitriy Suponitskiy <dsuponitskiy@dualitytech.com> Co-authored-by: Yuriy Polyakov <ypolyakod@dualitytech.com> Co-authored-by: Jack Bates <101598183+jbates-duality@users.noreply.github.com> Co-authored-by: caesar <caesar.etos@gmail.com> Co-authored-by: Ian Quah <iquah@dualitytech.com> Co-authored-by: Saroja Erabelli <serabelli@dualitytech.com> Co-authored-by: Andrey Kim <kimandr.kz@gmail.com> Co-authored-by: Andrey Kim <andreykim@Andreys-MacBook-Pro.local> Co-authored-by: sarojaduality <95240483+sarojaduality@users.noreply.github.com> Co-authored-by: iquah1 <97902382+iquah1@users.noreply.github.com> Co-authored-by: andreea-alexandru <31080521+andreea-alexandru@users.noreply.github.com> Co-authored-by: pascoec <123595534+pascoec@users.noreply.github.com> Co-authored-by: Eric Astor <epastor@google.com> Co-authored-by: Yongwoo Lee <yongwool@snu.ac.kr> Co-authored-by: randomcryptoguy <yw0803.lee@samsung.com> Co-authored-by: sararv22 <saraswathy@dualitytech.com> Co-authored-by: Hunter Richards <36270862+harichards@users.noreply.github.com> Co-authored-by: Andreea Alexandru <aalexandru@dualitytech.com> Co-authored-by: Saman <100295082+enum-class@users.noreply.github.com>
gong-cr
pushed a commit
to gong-cr/openfhe-development
that referenced
this pull request
Mar 6, 2024
* Fix UB in CKKSPackedEncoding Avoid casting a potentially-infinite floating point value to int32_t. * Fix UB in FHECKKSRNS::MakeAuxPlaintext Avoid casting a potentially-infinite floating point value to int32_t. * Restore std:: prefix for abs in ckkspackedencoding.cpp
gong-cr
pushed a commit
to gong-cr/openfhe-development
that referenced
this pull request
Mar 6, 2024
* Fix UB in CKKSPackedEncoding Avoid casting a potentially-infinite floating point value to int32_t. * Fix UB in FHECKKSRNS::MakeAuxPlaintext Avoid casting a potentially-infinite floating point value to int32_t. * Restore std:: prefix for abs in ckkspackedencoding.cpp
# for free
to join this conversation on GitHub.
Already have an account?
# 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.
Patch out two instances of casting a potentially-infinite floating point value to int32_t. (The other issue from PR#415 has already been fixed in dev.)