HElib  1.0
Implementing Homomorphic Encryption
 All Classes Files Functions Variables Friends Pages
Public Member Functions | List of all members
PAlgebraModBase Class Referenceabstract

Virtual base class for PAlgebraMod. More...

#include <PAlgebra.h>

Inheritance diagram for PAlgebraModBase:
PAlgebraModDerived< type >

Public Member Functions

virtual PAlgebraModBaseclone () const =0
 
virtual PA_tag getTag () const =0
 Returns the type tag: PA_GF2_tag or PA_zz_p_tag.
 
virtual const PAlgebragetZMStar () const =0
 Returns reference to underlying PAlgebra object.
 
virtual const vector< ZZX > & getFactorsOverZZ () const =0
 Returns reference to the factorization of Phi_m(X) mod p^r, but as ZZX's.
 
virtual long getR () const =0
 The value r.
 
virtual long getPPowR () const =0
 The value p^r.
 
virtual void restoreContext () const =0
 Restores the NTL context for p^r.
 
virtual void genMaskTable () const =0
 Generates the "mask table" that is used to support rotations. More...
 

Detailed Description

Virtual base class for PAlgebraMod.

Member Function Documentation

virtual void PAlgebraModBase::genMaskTable ( ) const
pure virtual

Generates the "mask table" that is used to support rotations.

maskTable[i][j] is a polynomial representation of a mask that is 1 in all slots whose i'th coordinate is at least j, and 0 elsewhere. We have:

  maskTable.size() == zMStar.numOfGens()     // # of generators
  for i = 0..maskTable.size()-1:
    maskTable[i].size() == zMStar.OrderOf(i) // order of generator i

Implemented in PAlgebraModDerived< type >.


The documentation for this class was generated from the following file: