diff --git a/src/include/docstrings/cryptocontext_docs.h b/src/include/docstrings/cryptocontext_docs.h index c35962e..b160c77 100644 --- a/src/include/docstrings/cryptocontext_docs.h +++ b/src/include/docstrings/cryptocontext_docs.h @@ -1117,12 +1117,19 @@ const char* cc_IntMPBootEncrypt_docs = R"pbdoc( )pbdoc"; const char* cc_InsertEvalMultKey_docs = R"pbdoc( - InsertEvalMultKey - add the given vector of keys to the map, replacing the existing vector if there + Adds the given vector of keys to the map, replacing the existing vector if there :param evalKeyVec: vector of keys :type evalKeyVec: List[EvalKey] )pbdoc"; +const char* cc_InsertEvalAutomorphismKey_docs = R"pbdoc( + Add the given map of keys to the map, replacing the existing map if there is + + :param evalKeyMap: map of keys + :type EvalKeyMap +)pbdoc"; + const char* cc_EvalSum_docs = R"pbdoc( Function for evaluating a sum of all components in a vector. diff --git a/src/lib/bindings.cpp b/src/lib/bindings.cpp index 0949217..b12f5bf 100644 --- a/src/lib/bindings.cpp +++ b/src/lib/bindings.cpp @@ -502,7 +502,7 @@ void bind_crypto_context(py::module &m) const PrivateKey& privateKey, std::shared_ptr>> evalKeyMap, const std::vector& indexList, - const std::string& keyId) { + const std::string& keyId = "") { return self->MultiEvalAtIndexKeyGen(privateKey, evalKeyMap, indexList, keyId); }, cc_MultiEvalAtIndexKeyGen_docs, @@ -749,14 +749,18 @@ void bind_crypto_context(py::module &m) cc_InsertEvalMultKey_docs, py::arg("evalKeyVec"), py::arg("keyTag") = "") + .def_static( + "InsertEvalAutomorphismKey", &CryptoContextImpl::InsertEvalAutomorphismKey, + cc_InsertEvalAutomorphismKey_docs, + py::arg("evalKeyMap"), + py::arg("keyTag") = "") .def_static( "ClearEvalAutomorphismKeys", []() { CryptoContextImpl::ClearEvalAutomorphismKeys(); }, cc_ClearEvalAutomorphismKeys_docs) - .def_static("GetEvalAutomorphismKeyMap", &CryptoContextImpl::GetEvalAutomorphismKeyMap, + .def_static("GetEvalAutomorphismKeyMap", &CryptoContextImpl::GetEvalAutomorphismKeyMapPtr, cc_GetEvalAutomorphismKeyMap_docs, - py::arg("keyId") = "", - py::return_value_policy::reference) + py::arg("keyId") = "") .def("GetEvalSumKeyMap", &GetEvalSumKeyMapWrapper, cc_GetEvalSumKeyMap_docs) .def("GetBinCCForSchemeSwitch", &CryptoContextImpl::GetBinCCForSchemeSwitch) diff --git a/src/lib/pke/serialization.cpp b/src/lib/pke/serialization.cpp index c9860a1..58d1384 100644 --- a/src/lib/pke/serialization.cpp +++ b/src/lib/pke/serialization.cpp @@ -263,11 +263,11 @@ void bind_serialization(pybind11::module &m) { m.def("SerializeEvalMultKeyString", &SerializeEvalMultKeyToStringWrapper, py::arg("sertype"), py::arg("id") = ""); m.def("DeserializeEvalMultKeyString", &DeserializeEvalMultKeyFromStringWrapper, - py::arg("sertype"), py::arg("id") = ""); + py::arg("data"), py::arg("sertype")); m.def("SerializeEvalAutomorphismKeyString", &SerializeEvalAutomorphismKeyToStringWrapper, py::arg("sertype"), py::arg("id") = ""); m.def("DeserializeEvalAutomorphismKeyString", &DeserializeEvalAutomorphismKeyFromStringWrapper, - py::arg("sertype"), py::arg("id") = ""); + py::arg("data"), py::arg("sertype")); // Binary Serialization m.def("SerializeToFile", static_cast&, const SerType::SERBINARY&)>(&Serial::SerializeToFile), @@ -315,9 +315,9 @@ void bind_serialization(pybind11::module &m) { m.def("SerializeEvalMultKeyString", &SerializeEvalMultKeyToBytesWrapper, py::arg("sertype"), py::arg("id") = ""); m.def("DeserializeEvalMultKeyString", &DeserializeEvalMultKeyFromBytesWrapper, - py::arg("sertype"), py::arg("id") = ""); + py::arg("data"), py::arg("sertype")); m.def("SerializeEvalAutomorphismKeyString", &SerializeEvalAutomorphismKeyToBytesWrapper, py::arg("sertype"), py::arg("id") = ""); m.def("DeserializeEvalAutomorphismKeyString", &DeserializeEvalAutomorphismKeyFromBytesWrapper, - py::arg("sertype"), py::arg("id") = ""); + py::arg("data"), py::arg("sertype")); }