PALISADE Lattice Crypto Library  1.11.9
A lattice crypto library for software engineers by software engineers.
Public Member Functions | List of all members
lbcrypto::LPAlgorithmPRENull< Element > Class Template Reference

PRE scheme based on Null. More...

#include <nullscheme.h>

Inheritance diagram for lbcrypto::LPAlgorithmPRENull< Element >:
Inheritance graph
[legend]
Collaboration diagram for lbcrypto::LPAlgorithmPRENull< Element >:
Collaboration graph
[legend]

Public Member Functions

 LPAlgorithmPRENull ()
 
LPEvalKey< Element > ReKeyGen (const LPPublicKey< Element > newPrivateKey, const LPPrivateKey< Element > origPrivateKey) const
 
Ciphertext< Element > ReEncrypt (const LPEvalKey< Element > evalKey, ConstCiphertext< Element > ciphertext, const LPPublicKey< Element > publicKey=nullptr) const
 

Detailed Description

template<class Element>
class lbcrypto::LPAlgorithmPRENull< Element >

PRE scheme based on Null.

Template Parameters
Elementa ring element.

Constructor & Destructor Documentation

◆ LPAlgorithmPRENull()

template<class Element >
lbcrypto::LPAlgorithmPRENull< Element >::LPAlgorithmPRENull ( )
inline

Default constructor

Member Function Documentation

◆ ReEncrypt()

template<class Element >
Ciphertext<Element> lbcrypto::LPAlgorithmPRENull< Element >::ReEncrypt ( const LPEvalKey< Element >  evalKey,
ConstCiphertext< Element >  ciphertext,
const LPPublicKey< Element >  publicKey = nullptr 
) const
inlinevirtual

Function to define the interface for re-encypting ciphertext using the array generated by ProxyGen

Parameters
&evalKeythe evaluation key.
&ciphertextthe input ciphertext.
publicKeythe public key of the recipient of the re-encrypted ciphertext.
*newCiphertextthe new ciphertext.

Implements lbcrypto::LPPREAlgorithm< Element >.

◆ ReKeyGen()

template<class Element >
LPEvalKey<Element> lbcrypto::LPAlgorithmPRENull< Element >::ReKeyGen ( const LPPublicKey< Element >  newPrivateKey,
const LPPrivateKey< Element >  origPrivateKey 
) const
inlinevirtual

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
&newPrivateKeyencryption key for the new ciphertext.
&origPrivateKeyoriginal private key used for decryption.
&ddgdiscrete Gaussian generator.
*evalKeythe evaluation key.

Implements lbcrypto::LPPREAlgorithm< Element >.


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