helayers::HelibCiphertext Class Reference

Implementation of CTile API with concrete subclasses for HElib scheme. More...

#include <HelibCiphertext.h>

Inheritance diagram for helayers::HelibCiphertext:
helayers::AbstractCiphertext helayers::HelibBgvCiphertext helayers::HelibCkksCiphertext

Public Member Functions

 HelibCiphertext (HelibContext &h)
 
std::streamoff save (std::ostream &stream) const override
 
std::streamoff load (std::istream &stream) override
 
void add (const AbstractCiphertext &other) override
 
void addRaw (const AbstractCiphertext &other) override
 
void sub (const AbstractCiphertext &other) override
 
void subRaw (const AbstractCiphertext &other) override
 
void multiply (const AbstractCiphertext &other) override
 
void multiplyRaw (const AbstractCiphertext &other) override
 
void addPlain (const AbstractPlaintext &plain) override
 
void subPlain (const AbstractPlaintext &plain) override
 
void multiplyPlain (const AbstractPlaintext &plain) override
 
void square () override
 
void squareRaw () override
 
void relinearize () override
 
void rescale () override
 
void rescaleRaw () override
 
void setScale (double scale) override
 
double getScale () const override
 
void reduceChainIndex () override
 
void setChainIndex (const AbstractCiphertext &other) override
 
void setChainIndex (int chainIndex) override
 
int getChainIndex () const override
 
bool isEmpty () const override
 
void debugPrint (const std::string &title="", int maxElements=-1, int verbose=0, std::ostream &out=std::cout) const override
 
- Public Member Functions inherited from helayers::AbstractCiphertext
 AbstractCiphertext (HeContext &he)
 
AbstractCiphertextoperator= (const AbstractCiphertext &src)=delete
 
std::shared_ptr< AbstractCiphertextclone () const
 
HeContextgetContext ()
 
const HeContextgetContext () const
 
virtual void addPlainRaw (const AbstractPlaintext &plain)=0
 
virtual void subPlainRaw (const AbstractPlaintext &plain)=0
 
virtual void multiplyPlainRaw (const AbstractPlaintext &plain)=0
 
virtual void addScalar (int scalar)
 
virtual void addScalar (double scalar)
 
virtual void multiplyScalar (int scalar)
 
virtual void multiplyScalar (double scalar)
 
virtual void conjugate ()=0
 
virtual void conjugateRaw ()=0
 
virtual void negate ()=0
 
virtual void rotate (int n)=0
 
virtual void innerSum (int n)
 
virtual void innerSum (int rot1, int rot2, bool reverse=false)
 
virtual int slotCount () const =0
 
virtual void sumExpBySquaringLeftToRight (int n)
 
virtual void sumExpBySquaringRightToLeft (int n)
 
virtual void multiplyByChangingScale (double factor)
 

Protected Attributes

helib::Ctxt ctxt
 

Additional Inherited Members

- Protected Member Functions inherited from helayers::AbstractCiphertext
 AbstractCiphertext (const AbstractCiphertext &src)=default
 

Detailed Description

Implementation of CTile API with concrete subclasses for HElib scheme.


The documentation for this class was generated from the following files:
  • /opt/IBM/FHE-distro/ML-HElib/src/helayers/hebase/helib/HelibCiphertext.h
  • /opt/IBM/FHE-distro/ML-HElib/src/helayers/hebase/helib/HelibCiphertext.cpp