SerialDeserial.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #pragma once
  2. #include "bits/stringfwd.h"
  3. #include "SerialMode.h" // SerialMode
  4. namespace openfhe
  5. {
  6. class CiphertextDCRTPoly;
  7. class CryptoContextDCRTPoly;
  8. class PublicKeyDCRTPoly;
  9. class PrivateKeyDCRTPoly;
  10. bool SerializeCryptoContextToFile(const std::string& ccLocation,
  11. const CryptoContextDCRTPoly& cryptoContext, const SerialMode serialMode);
  12. bool DeserializeCryptoContextFromFile(const std::string& ccLocation,
  13. CryptoContextDCRTPoly& cryptoContext, const SerialMode serialMode);
  14. bool SerializeEvalMultKeyToFile(const std::string& multKeyLocation,
  15. const CryptoContextDCRTPoly& cryptoContext, const SerialMode serialMode);
  16. bool SerializeEvalMultKeyByIdToFile(const std::string& multKeyLocation,
  17. const SerialMode serialMode, const std::string& id);
  18. bool DeserializeEvalMultKeyFromFile(const std::string& multKeyLocation,
  19. const SerialMode serialMode);
  20. bool SerializeEvalSumKeyToFile(const std::string& sumKeyLocation,
  21. const CryptoContextDCRTPoly& cryptoContext, const SerialMode serialMode);
  22. bool SerializeEvalSumKeyByIdToFile(const std::string& sumKeyLocation,
  23. const SerialMode serialMode, const std::string& id);
  24. bool DeserializeEvalSumKeyFromFile(const std::string& sumKeyLocation, const SerialMode serialMode);
  25. bool SerializeEvalAutomorphismKeyToFile(const std::string& automorphismKeyLocation,
  26. const CryptoContextDCRTPoly& cryptoContext, const SerialMode serialMode);
  27. bool SerializeEvalAutomorphismKeyByIdToFile(const std::string& automorphismKeyLocation,
  28. const SerialMode serialMode, const std::string& id);
  29. bool DeserializeEvalAutomorphismKeyFromFile(const std::string& automorphismKeyLocation,
  30. const SerialMode serialMode);
  31. bool SerializePublicKeyToFile(const std::string& publicKeyLocation,
  32. const PublicKeyDCRTPoly& publicKey, const SerialMode serialMode);
  33. bool DeserializePublicKeyFromFile(const std::string& publicKeyLocation,
  34. PublicKeyDCRTPoly& publicKey, const SerialMode serialMode);
  35. bool SerializePrivateKeyToFile(const std::string& privateKeyLocation,
  36. const PrivateKeyDCRTPoly& privateKey, const SerialMode serialMode);
  37. bool DeserializePrivateKeyFromFile(const std::string& privateKeyLocation,
  38. PrivateKeyDCRTPoly& privateKey, const SerialMode serialMode);
  39. bool SerializeCiphertextToFile(const std::string& ciphertextLocation,
  40. const CiphertextDCRTPoly& ciphertext, const SerialMode serialMode);
  41. bool DeserializeCiphertextFromFile(const std::string& ciphertextLocation,
  42. CiphertextDCRTPoly& ciphertext, const SerialMode serialMode);
  43. } // openfhe