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

A simple wrapper for a smart pointer to an EncryptedArrayBase. This is the interface that higher-level code should use. More...

#include <EncryptedArray.h>

Public Member Functions

 EncryptedArray (const FHEcontext &context, const ZZX &G=ZZX(1, 1))
 constructor: G defaults to the monomial X
 
template<class type >
const EncryptedArrayDerived
< type > & 
getDerived (type) const
 downcast operator example: const EncryptedArrayDerived<PA_GF2>& rep = ea.getDerived(PA_GF2());
 
Direct access to EncryptedArrayBase methods
const FHEcontextgetContext () const
 
const long getDegree () const
 
void rotate (Ctxt &ctxt, long k) const
 
void shift (Ctxt &ctxt, long k) const
 
void rotate1D (Ctxt &ctxt, long i, long k, bool dc=false) const
 
void shift1D (Ctxt &ctxt, long i, long k) const
 
void encode (ZZX &ptxt, const vector< long > &array) const
 
void encode (ZZX &ptxt, const vector< ZZX > &array) const
 
void encode (ZZX &ptxt, const PlaintextArray &array) const
 
void encodeUnitSelector (ZZX &ptxt, long i) const
 
void decode (vector< long > &array, const ZZX &ptxt) const
 
void decode (vector< ZZX > &array, const ZZX &ptxt) const
 
void decode (PlaintextArray &array, const ZZX &ptxt) const
 
void encrypt (Ctxt &ctxt, const FHEPubKey &pKey, const vector< long > &ptxt) const
 
void encrypt (Ctxt &ctxt, const FHEPubKey &pKey, const vector< ZZX > &ptxt) const
 
void encrypt (Ctxt &ctxt, const FHEPubKey &pKey, const PlaintextArray &ptxt) const
 
void decrypt (const Ctxt &ctxt, const FHESecKey &sKey, vector< long > &ptxt) const
 
void decrypt (const Ctxt &ctxt, const FHESecKey &sKey, vector< ZZX > &ptxt) const
 
void decrypt (const Ctxt &ctxt, const FHESecKey &sKey, PlaintextArray &ptxt) const
 
void select (Ctxt &ctxt1, const Ctxt &ctxt2, const vector< long > &selector) const
 
void select (Ctxt &ctxt1, const Ctxt &ctxt2, const vector< ZZX > &selector) const
 
void select (Ctxt &ctxt1, const Ctxt &ctxt2, const PlaintextArray &selector) const
 
void buildLinPolyCoeffs (vector< ZZX > &C, const vector< ZZX > &L) const
 
long size () const
 
long dimension () const
 
long sizeOfDimension (long i) const
 
long nativeDimension (long i) const
 
long coordinate (long i, long k) const
 

Detailed Description

A simple wrapper for a smart pointer to an EncryptedArrayBase. This is the interface that higher-level code should use.


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