EvalKey.h 662 B

123456789101112131415161718192021222324
  1. #pragma once
  2. #include "openfhe/core/lattice/hal/lat-backend.h"
  3. #include "openfhe/pke/key/evalkey-fwd.h"
  4. namespace openfhe
  5. {
  6. using EvalKeyImpl = lbcrypto::EvalKeyImpl<lbcrypto::DCRTPoly>;
  7. class EvalKeyDCRTPoly final
  8. {
  9. std::shared_ptr<EvalKeyImpl> m_evalKey;
  10. public:
  11. explicit EvalKeyDCRTPoly(const std::shared_ptr<EvalKeyImpl>& evalKey);
  12. EvalKeyDCRTPoly(const EvalKeyDCRTPoly&) = delete;
  13. EvalKeyDCRTPoly(EvalKeyDCRTPoly&&) = delete;
  14. EvalKeyDCRTPoly& operator=(const EvalKeyDCRTPoly&) = delete;
  15. EvalKeyDCRTPoly& operator=(EvalKeyDCRTPoly&&) = delete;
  16. [[nodiscard]] std::shared_ptr<EvalKeyImpl> GetInternal() const;
  17. };
  18. } // openfhe