A handle, describing the secret-key element that "matches" a part, of the form s^r(X^t). More...
#include <Ctxt.h>
Public Member Functions | |
SKHandle (long newPowerOfS=0, long newPowerOfX=1, long newSecretKeyID=0) | |
void | setBase (long newSecretKeyID=-1) |
Set powerOfS=powerOfX=1. | |
bool | isBase (long ofKeyID=0) const |
Is powerOfS==powerOfX==1? | |
void | setOne (long newSecretKeyID=-1) |
Set powerOfS=0, powerOfX=1. | |
bool | isOne () const |
Is powerOfS==0? | |
bool | operator== (const SKHandle &other) const |
bool | operator!= (const SKHandle &other) const |
long | getPowerOfS () const |
long | getPowerOfX () const |
long | getSecretKeyID () const |
bool | mul (const SKHandle &a, const SKHandle &b) |
Computes the "product" of two handles. More... | |
Friends | |
class | Ctxt |
istream & | operator>> (istream &s, SKHandle &handle) |
A handle, describing the secret-key element that "matches" a part, of the form s^r(X^t).
Computes the "product" of two handles.
The key-ID's and powers of X must match, else an error state arises, which is represented using a key-ID of -1 and returning false. Also, note that inputs may alias outputs.
To detremine if the resulting handle canbe re-liearized using some key-switchingmatrices from the public key, use the method pubKey.haveKeySWmatrix(handle,handle.secretKeyID), from the class FHEPubKey in FHE.h