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 FHEcontext & | getContext () 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 |
A simple wrapper for a smart pointer to an EncryptedArrayBase. This is the interface that higher-level code should use.