Namespace lbcrypto
Page Contents
Detailed Description
WARNING FOR PARAMETER SELECTION IN GENERIC SAMPLER
MAKE SURE THAT PRECISION - BERNOULLI FLIPS IS ALWAYS DIVISIBLE BY LOG_BASE WHEN CHOOSING A STANDARD DEVIATION SIGMA_B FOR BASE SAMPLER, MAKE SURE THAT SIGMA_B>=4*SQRT(2)*N WHERE N IS THE SMOOTHING PARAMETER
The namespace of lbcrypto
Base class for key switching algorithms.
The namespace of lbcrypto
Hybrid key switching method first introduced in https://eprint.iacr.org/2012/099.pdf RNS version was introduced in https://eprint.iacr.org/2019/688. See the Appendix of https://eprint.iacr.org/2021/204 for more detailed description.
GHS Keyswitching : Pros : Smaller noise growth than BV and is more efficient as it only requires a linear number of NTTs Cons : need to double dimension,N, or reduce size of ciphertext modulus, Q, by a factor of 2
The namespace of lbcrypto
Base class for Lattice-based cryptography(LBC) Somewhat Homomorphic Encryption(SHE) algorithms.
Namespaces
Classes
Enums
Functions
Function lbcrypto::Cholesky(const Matrix<int32_t>&, Matrix<double>&)
Function lbcrypto::convertToCompressionLevel(const std::string&)
Function lbcrypto::convertToDecryptionNoiseMode(const std::string&)
Function lbcrypto::convertToEncryptionTechnique(const std::string&)
Function lbcrypto::convertToExecutionMode(const std::string&)
Function lbcrypto::ConvertToInt32(const Matrix<BigInteger>&, const BigInteger&)
Function lbcrypto::ConvertToInt32(const Matrix<BigVector>&, const BigInteger&)
Template Function lbcrypto::ConvertToInt32(const Matrix<T>&, const T&)
Template Function lbcrypto::ConvertToInt32(const Matrix<V>&, const typename V::Integer&)
Function lbcrypto::ConvertToInt32(const MatrixStrassen<BigInteger>&, const BigInteger&)
Function lbcrypto::ConvertToInt32(const MatrixStrassen<BigVector>&, const BigInteger&)
Function lbcrypto::convertToKeySwitchTechnique(const std::string&)
Function lbcrypto::convertToMultipartyMode(const std::string&)
Function lbcrypto::convertToMultiplicationTechnique(const std::string&)
Function lbcrypto::convertToMultiplicationTechnique(uint32_t)
Function lbcrypto::convertToProxyReEncryptionMode(const std::string&)
Function lbcrypto::convertToScalingTechnique(const std::string&)
Function lbcrypto::convertToSecretKeyDist(const std::string&)
Function lbcrypto::convertToSecurityLevel(const std::string&)
Function lbcrypto::DisablePrecomputeCRTTablesAfterDeserializaton
Function lbcrypto::EnablePrecomputeCRTTablesAfterDeserializaton
Template Function lbcrypto::fillVec(const P&, const PlaintextModulus&, std::vector<int64_t>&)
Template Function lbcrypto::fillVec(const T&, const PlaintextModulus&, std::vector<int64_t>&)
Function lbcrypto::FindGeneratorCyclic(const NativeInteger&)
Template Function lbcrypto::FindGeneratorCyclic(const IntType&)
Template Function lbcrypto::GetCyclotomicPolynomial(usint, const typename IntVector::Integer&)
Function lbcrypto::GetCyclotomicPolynomial(usint, const NativeInteger&)
Function lbcrypto::GetDigits(const NativeInteger&, uint64_t, uint32_t)
Template Function lbcrypto::GetDigits(const IntType&, uint64_t, uint32_t)
Function lbcrypto::GreatestCommonDivisor(const NativeInteger&, const NativeInteger&)
Template Function lbcrypto::GreatestCommonDivisor(const IntType&, const IntType&)
Function lbcrypto::IsGenerator(const NativeInteger&, const NativeInteger&)
Template Function lbcrypto::IsGenerator(const IntType&, const IntType&)
Function lbcrypto::MillerRabinPrimalityTest(const NativeInteger&, const usint)
Template Function lbcrypto::MillerRabinPrimalityTest(const IntType&, const usint)
Function lbcrypto::NextPrime(const NativeInteger&, uint32_t)
Template Function lbcrypto::NextPrime(const IntType&, uint32_t)
Template Function lbcrypto::operator*(const Ciphertext<Element>&, const Ciphertext<Element>&)
Template Function lbcrypto::operator*(Element const&, Matrix<Element> const&)
Template Function lbcrypto::operator*(Element const&, MatrixStrassen<Element> const&)
Template Function lbcrypto::operator-(const Ciphertext<Element>&)
Template Function lbcrypto::operator-(const Ciphertext<Element>&, const Ciphertext<Element>&)
Template Function lbcrypto::operator<<(std::ostream&, const std::vector<T>&)
Function lbcrypto::operator<<(std::ostream&, BINFHE_PARAMSET)
Function lbcrypto::operator<<(std::ostream&, PKESchemeFeature)
Function lbcrypto::operator<<(std::ostream&, ProxyReEncryptionMode)
Function lbcrypto::operator<<(std::ostream&, ScalingTechnique)
Function lbcrypto::operator<<(std::ostream&, const Field2n&)
Template Function lbcrypto::operator<<(std::ostream&, const PolyImpl<VecType>&)
Template Function lbcrypto::operator<<(std::ostream&, const DCRTPolyImpl<VecType>&)
Function lbcrypto::operator<<(std::ostream&, MultipartyMode)
Template Function lbcrypto::operator<<(std::ostream&, const Matrix<Element>&)
Function lbcrypto::operator<<(std::ostream&, DecryptionNoiseMode)
Function lbcrypto::operator<<(std::ostream&, KeySwitchTechnique)
Template Function lbcrypto::operator<<(std::ostream&, const MatrixStrassen<Element>&)
Function lbcrypto::operator<<(std::ostream&, EncryptionTechnique)
Function lbcrypto::operator<<(std::ostream&, const SchSwchParams&)
Function lbcrypto::operator<<(std::ostream&, MultiplicationTechnique)
Function lbcrypto::operator<<(std::ostream&, PlaintextEncodings)
Function lbcrypto::operator<<(std::ostream&, COMPRESSION_LEVEL)
Function lbcrypto::operator<<(std::ostream&, const std::shared_ptr<EncodingParamsImpl>&)
Function lbcrypto::operator<<(std::ostream&, const PlaintextImpl&)
Function lbcrypto::operator<<(std::ostream&, const Plaintext&)
Function lbcrypto::operator==(const Plaintext&, const Plaintext&)
Function lbcrypto::PollardRhoFactorization(const NativeInteger&)
Template Function lbcrypto::PollardRhoFactorization(const IntType&)
Function lbcrypto::PolyMod(const NativeVector&, const NativeVector&, const NativeInteger&)
Template Function lbcrypto::PolynomialMultiplication(const IntVector&, const IntVector&)
Function lbcrypto::PolynomialMultiplication(const NativeVector&, const NativeVector&)
Function lbcrypto::PreviousPrime(const NativeInteger&, uint32_t)
Template Function lbcrypto::PreviousPrime(const IntType&, uint32_t)
Function lbcrypto::PrimeFactorize(NativeInteger, std::set<NativeInteger>&)
Template Function lbcrypto::PrimeFactorize(IntType, std::set<IntType>&)
Function lbcrypto::RootsOfUnity(usint, const std::vector<NativeInteger>&)
Template Function lbcrypto::RootsOfUnity(usint, const std::vector<IntType>&)
Function lbcrypto::Rotate(const std::vector<std::complex<double>>&, int32_t)
Template Function lbcrypto::RotateVecResult(Matrix<Element> const&)
Function lbcrypto::RotateVecResult(MatrixStrassen<Poly> const&)