openfhe-development icon indicating copy to clipboard operation
openfhe-development copied to clipboard

Code to be corrected

Open dsuponitskiy opened this issue 11 months ago • 0 comments

  1. src/binfhe/include/rgsw-cryptoparameters.h: in RingGSWCryptoParams() instead of "if ((method == LMKCDEY) & (numAutoKeys == 0))" there should be "if ((method == LMKCDEY) && (numAutoKeys == 0))"
  2. FindInVector() is defined in 2 different classes: DiscreteGaussianGeneratorImpl and in BaseSampler.
  3. src/pke/lib/encoding/packedencoding.cpp: bool PackedEncoding::Encode(): "size_t i;" is declared twice outside of the loop in this function. Should not be outside the corresponding loops
  4. Change the name COMPRESSION_LEVEL (constants.h) to Camel case
  5. Add either NOT_SET or INVALID_VALUE to all enums in constants.h
    • Add #include "math/hal/basicint.h" // for MAX_MODULUS_SIZE to constants.h and remove #include "math/math-hal.h" #include "lattice/constants-lattice.h"
    • Add #include "lattice/constants-lattice.h" to rlwe-cryptoparameters.h
  6. ~~See if we can replace the __builtin_*() functions with __FILE__, __LINE__ and __FUNCTION__ in OpenFHEException as the functions are available with gcc only - This can not be done as the macros are replaced with information from exception.h by the preprocessor at compile time.~~
  7. Remove the return value (eval_key_map) from EvalSumRowsKeyGen()/EvalSumColsKeyGen() and the EvalKey parameter from EvalSumRows()/EvalSumCols()
  8. Add "std::" to ceil(), floor(), log2(), etc. and static_cast<> where it is necessary for the return value
  9. Replace "DCRTPoly" with "Element" in multiple files and discuss the changes with a scientist. Examples:
    • src/pke/include/schemebase/base-parametergeneration.h
    • src/pke/include/schemebase/base-leveledshe.h
    • src/pke/include/schemebase/base-scheme.h
    • src/pke/lib/schemebase/base-leveledshe.cpp
  10. Serialize/Deserialize functions should be "void" instead of returning true/false. Errors should be handled with exceptions
  11. https://github.com/openfheorg/openfhe-development/issues/645
  12. https://github.com/openfheorg/openfhe-development/issues/678
  13. https://github.com/openfheorg/openfhe-development/issues/680
  14. utils/exception.h: make all get functions const for OpenFHEException
  15. Rename the function member PrintValue() to GetFormattedValues() and move it simple implementation to PlaintextImpl "precision". Use it in operator<<(). The function should be overloaded in CKKSPackedEncoding only. Also check doprint(), PrintParameters() and print() (in src/pke/include/metadata.h). GetFormattedValues() should stay public in case someone needs to change the precision (like in openfhe-python).
  16. Replace sharingScheme types "additive" and "shamir" with enums
  17. Get rid of "int"

dsuponitskiy avatar Feb 27 '24 20:02 dsuponitskiy