Browse Source

Minor improvements

Hovsep Papoyan 1 year ago
parent
commit
03bb8ddd01
7 changed files with 34 additions and 31 deletions
  1. 7 7
      src/CryptoContext.cc
  2. 4 4
      src/CryptoContext.h
  3. 1 0
      src/KeyPair.h
  4. 8 8
      src/Params.cc
  5. 12 11
      src/Params.h
  6. 1 0
      src/Plaintext.h
  7. 1 1
      src/SequenceContainers.h

+ 7 - 7
src/CryptoContext.cc

@@ -27,15 +27,15 @@ namespace openfhe
 
 using PlaintextImpl = lbcrypto::PlaintextImpl;
 
-CryptoContextDCRTPoly::CryptoContextDCRTPoly(const ParamsCKKSRNS& params)
-    : m_cryptoContextImplSharedPtr(lbcrypto::GenCryptoContext(params))
-{ }
 CryptoContextDCRTPoly::CryptoContextDCRTPoly(const ParamsBFVRNS& params)
     : m_cryptoContextImplSharedPtr(lbcrypto::GenCryptoContext(params))
 { }
 CryptoContextDCRTPoly::CryptoContextDCRTPoly(const ParamsBGVRNS& params)
     : m_cryptoContextImplSharedPtr(lbcrypto::GenCryptoContext(params))
 { }
+CryptoContextDCRTPoly::CryptoContextDCRTPoly(const ParamsCKKSRNS& params)
+    : m_cryptoContextImplSharedPtr(lbcrypto::GenCryptoContext(params))
+{ }
 
 std::unique_ptr<CiphertextDCRTPoly> CryptoContextDCRTPoly::ComposedEvalMult(
     const CiphertextDCRTPoly& ciphertext1, const CiphertextDCRTPoly& ciphertext2) const
@@ -1153,10 +1153,6 @@ void DCRTPolyInsertEvalSumKey(const MapFromIndexToEvalKey& mapToInsert, const st
 }
 
 // Generator functions
-std::unique_ptr<CryptoContextDCRTPoly> DCRTPolyGenNullCryptoContext()
-{
-    return std::make_unique<CryptoContextDCRTPoly>();
-}
 std::unique_ptr<CryptoContextDCRTPoly> DCRTPolyGenCryptoContextByParamsBFVRNS(
     const ParamsBFVRNS& params)
 {
@@ -1172,5 +1168,9 @@ std::unique_ptr<CryptoContextDCRTPoly> DCRTPolyGenCryptoContextByParamsCKKSRNS(
 {
     return std::make_unique<CryptoContextDCRTPoly>(params);
 }
+std::unique_ptr<CryptoContextDCRTPoly> DCRTPolyGenNullCryptoContext()
+{
+    return std::make_unique<CryptoContextDCRTPoly>();
+}
 
 } // openfhe

+ 4 - 4
src/CryptoContext.h

@@ -13,9 +13,9 @@ namespace lbcrypto
 template <typename T>
 class CCParams;
 
-class CryptoContextCKKSRNS;
 class CryptoContextBFVRNS;
 class CryptoContextBGVRNS;
+class CryptoContextCKKSRNS;
 class Params;
 
 } // lbcrypto
@@ -62,9 +62,9 @@ class CryptoContextDCRTPoly final
     std::shared_ptr<CryptoContextImpl> m_cryptoContextImplSharedPtr;
 public:
     CryptoContextDCRTPoly() = default;
-    explicit CryptoContextDCRTPoly(const ParamsCKKSRNS& params);
     explicit CryptoContextDCRTPoly(const ParamsBFVRNS& params);
     explicit CryptoContextDCRTPoly(const ParamsBGVRNS& params);
+    explicit CryptoContextDCRTPoly(const ParamsCKKSRNS& params);
     CryptoContextDCRTPoly(const CryptoContextDCRTPoly&) = delete;
     CryptoContextDCRTPoly(CryptoContextDCRTPoly&&) = delete;
     CryptoContextDCRTPoly& operator=(const CryptoContextDCRTPoly&) = delete;
@@ -472,12 +472,12 @@ void DCRTPolyInsertEvalSumKey(const MapFromIndexToEvalKey& mapToInsert,
     const std::string& keyTag /* "" */);
 
 // Generator functions
-[[nodiscard]] std::unique_ptr<CryptoContextDCRTPoly> DCRTPolyGenCryptoContextByParamsCKKSRNS(
-    const ParamsCKKSRNS& params);
 [[nodiscard]] std::unique_ptr<CryptoContextDCRTPoly> DCRTPolyGenCryptoContextByParamsBFVRNS(
     const ParamsBFVRNS& params);
 [[nodiscard]] std::unique_ptr<CryptoContextDCRTPoly> DCRTPolyGenCryptoContextByParamsBGVRNS(
     const ParamsBGVRNS& params);
+[[nodiscard]] std::unique_ptr<CryptoContextDCRTPoly> DCRTPolyGenCryptoContextByParamsCKKSRNS(
+    const ParamsCKKSRNS& params);
 [[nodiscard]] std::unique_ptr<CryptoContextDCRTPoly> DCRTPolyGenNullCryptoContext();
 
 } // openfhe

+ 1 - 0
src/KeyPair.h

@@ -25,6 +25,7 @@ public:
 
     [[nodiscard]] std::unique_ptr<PrivateKeyDCRTPoly> GetPrivateKey() const;
     [[nodiscard]] std::unique_ptr<PublicKeyDCRTPoly> GetPublicKey() const;
+
     [[nodiscard]] const KeyPair& GetRef() const noexcept;
 };
 

+ 8 - 8
src/Params.cc

@@ -3,14 +3,6 @@
 namespace openfhe
 {
 
-std::unique_ptr<Params> GenParamsByScheme(const SCHEME scheme)
-{
-    return std::make_unique<Params>(scheme);
-}
-std::unique_ptr<Params> GenParamsByVectorOfString(const std::vector<std::string>& vals)
-{
-    return std::make_unique<Params>(vals);
-}
 std::unique_ptr<ParamsBFVRNS> GenParamsBFVRNS()
 {
     return std::make_unique<ParamsBFVRNS>();
@@ -27,6 +19,14 @@ std::unique_ptr<ParamsBGVRNS> GenParamsBGVRNSbyVectorOfString(const std::vector<
 {
     return std::make_unique<ParamsBGVRNS>(vals);
 }
+std::unique_ptr<Params> GenParamsByScheme(const SCHEME scheme)
+{
+    return std::make_unique<Params>(scheme);
+}
+std::unique_ptr<Params> GenParamsByVectorOfString(const std::vector<std::string>& vals)
+{
+    return std::make_unique<Params>(vals);
+}
 std::unique_ptr<ParamsCKKSRNS> GenParamsCKKSRNS()
 {
     return std::make_unique<ParamsCKKSRNS>();

+ 12 - 11
src/Params.h

@@ -8,18 +8,18 @@
 namespace openfhe
 {
 
-using SCHEME = lbcrypto::SCHEME;
-using SecretKeyDist = lbcrypto::SecretKeyDist;
-using ProxyReEncryptionMode = lbcrypto::ProxyReEncryptionMode;
-using MultipartyMode = lbcrypto::MultipartyMode;
-using ExecutionMode = lbcrypto::ExecutionMode;
+using COMPRESSION_LEVEL = lbcrypto::COMPRESSION_LEVEL;
 using DecryptionNoiseMode = lbcrypto::DecryptionNoiseMode;
+using EncryptionTechnique = lbcrypto::EncryptionTechnique;
+using ExecutionMode = lbcrypto::ExecutionMode;
 using KeySwitchTechnique = lbcrypto::KeySwitchTechnique;
+using MultipartyMode = lbcrypto::MultipartyMode;
+using MultiplicationTechnique = lbcrypto::MultiplicationTechnique;
+using ProxyReEncryptionMode = lbcrypto::ProxyReEncryptionMode;
 using ScalingTechnique = lbcrypto::ScalingTechnique;
+using SCHEME = lbcrypto::SCHEME;
+using SecretKeyDist = lbcrypto::SecretKeyDist;
 using SecurityLevel = lbcrypto::SecurityLevel;
-using EncryptionTechnique = lbcrypto::EncryptionTechnique;
-using MultiplicationTechnique = lbcrypto::MultiplicationTechnique;
-using COMPRESSION_LEVEL = lbcrypto::COMPRESSION_LEVEL;
 
 using Params = lbcrypto::Params;
 using ParamsBFVRNS = lbcrypto::CCParams<lbcrypto::CryptoContextBFVRNS>;
@@ -27,17 +27,18 @@ using ParamsBGVRNS = lbcrypto::CCParams<lbcrypto::CryptoContextBGVRNS>;
 using ParamsCKKSRNS = lbcrypto::CCParams<lbcrypto::CryptoContextCKKSRNS>;
 
 // Generator functions
-[[nodiscard]] std::unique_ptr<Params> GenParamsByScheme(const SCHEME scheme);
-[[nodiscard]] std::unique_ptr<Params> GenParamsByVectorOfString(
-    const std::vector<std::string>& vals);
 [[nodiscard]] std::unique_ptr<ParamsBFVRNS> GenParamsBFVRNS();
 [[nodiscard]] std::unique_ptr<ParamsBFVRNS> GenParamsBFVRNSbyVectorOfString(
     const std::vector<std::string>& vals);
 [[nodiscard]] std::unique_ptr<ParamsBGVRNS> GenParamsBGVRNS();
 [[nodiscard]] std::unique_ptr<ParamsBGVRNS> GenParamsBGVRNSbyVectorOfString(
     const std::vector<std::string>& vals);
+[[nodiscard]] std::unique_ptr<Params> GenParamsByScheme(const SCHEME scheme);
+[[nodiscard]] std::unique_ptr<Params> GenParamsByVectorOfString(
+    const std::vector<std::string>& vals);
 [[nodiscard]] std::unique_ptr<ParamsCKKSRNS> GenParamsCKKSRNS();
 [[nodiscard]] std::unique_ptr<ParamsCKKSRNS> GenParamsCKKSRNSbyVectorOfString(
     const std::vector<std::string>& vals);
 
+
 } // openfhe

+ 1 - 0
src/Plaintext.h

@@ -52,6 +52,7 @@ public:
     [[nodiscard]] std::unique_ptr<std::vector<double>> GetRealPackedValue() const;
     [[nodiscard]] const std::vector<int64_t>& GetCoefPackedValue() const;
     [[nodiscard]] const std::string& GetStringValue() const;
+
     [[nodiscard]] const std::shared_ptr<PlaintextImpl>& GetRef() const noexcept;
     [[nodiscard]] std::shared_ptr<PlaintextImpl>& GetRef() noexcept;
 };

+ 1 - 1
src/SequenceContainers.h

@@ -38,7 +38,7 @@ class VectorOfEvalKeys final
 {
     std::vector<std::shared_ptr<EvalKeyImpl>> m_evalKeys;
 public:
-    VectorOfEvalKeys(std::vector<std::shared_ptr<EvalKeyImpl>> evalKeys);
+    explicit VectorOfEvalKeys(std::vector<std::shared_ptr<EvalKeyImpl>> evalKeys);
 
     [[nodiscard]] const std::vector<std::shared_ptr<EvalKeyImpl>>& GetRef() const noexcept;
 };