Template Class PREBase
Defined in File base-pre.h
Page Contents
Template Parameter Order
class Element
Class Documentation
-
template<class Element>
class lbcrypto::PREBase Abstract interface class for LBC PRE algorithms.
- Template Parameters
Element – a ring element.
Public Functions
-
inline virtual ~PREBase()
-
virtual EvalKey<Element> ReKeyGen(const PrivateKey<Element> oldPrivateKey, const PublicKey<Element> newPublicKey) const
Virtual function to generate 1..log(q) encryptions for each bit of the original private key Variant that uses the public key for the new secret key.
- Parameters
oldPrivateKey – original private key used for decryption.
newPublicKey – public key for the new secret key.
- Returns
the re-encryption key.
-
virtual Ciphertext<Element> ReEncrypt(ConstCiphertext<Element> ciphertext, const EvalKey<Element> evalKey, const PublicKey<Element> publicKey) const
Virtual function to define the interface for re-encypting ciphertext using the array generated by ProxyGen
- Parameters
&ciphertext – the input ciphertext.
&evalKey – proxy re-encryption key.
publicKey – the public key of the recipient of the re-encrypted ciphertext.
- Returns
the ciphertext