Class SchemeletRLWEMP

Page Contents

Class Documentation

class lbcrypto::SchemeletRLWEMP

Public Functions

~SchemeletRLWEMP() = default

Public Static Functions

static std::shared_ptr<ILDCRTParams<DCRTPoly::Integer>> GetElementParams(const PrivateKey<DCRTPoly> &privateKey, uint32_t level = 0)
static std::vector<Poly> EncryptCoeff(std::vector<int64_t> input, const BigInteger &Q, const BigInteger &p, const PrivateKey<DCRTPoly> &privateKey, const std::shared_ptr<ILDCRTParams<DCRTPoly::Integer>> &elementParams, bool bitReverse = false)
static std::vector<int64_t> DecryptCoeff(const std::vector<Poly> &input, const BigInteger &Q, const BigInteger &p, const PrivateKey<DCRTPoly> &privateKey, const std::shared_ptr<ILDCRTParams<DCRTPoly::Integer>> &elementParams, uint32_t numSlots, uint32_t length = 0, bool bitReverse = false)
static void ModSwitch(std::vector<Poly> &input, const BigInteger &Q1, const BigInteger &Q2)
static Ciphertext<DCRTPoly> ConvertRLWEToCKKS(const CryptoContextImpl<DCRTPoly> &cc, const std::vector<Poly> &coeffs, const PublicKey<DCRTPoly> &pubKey, const BigInteger &Bigq, uint32_t slots, uint32_t level = 0)
static std::vector<Poly> ConvertCKKSToRLWE(ConstCiphertext<DCRTPoly> &ctxt, const BigInteger &Q)
static BigInteger GetQPrime(const PublicKey<DCRTPoly> &pubKey, uint32_t lvls)