Class KeySwitchHYBRID
Defined in File keyswitch-hybrid.h
Page Contents
Inheritance Relationships
Base Type
public lbcrypto::KeySwitchRNS
(Class KeySwitchRNS)
Class Documentation
-
class lbcrypto::KeySwitchHYBRID : public lbcrypto::KeySwitchRNS
Inheritence diagram for lbcrypto::KeySwitchHYBRID:
Collaboration diagram for lbcrypto::KeySwitchHYBRID:
Hybrid Keyswitching as described in [ Homomorphic Evaluation of the AES Circuit(GHS Scheme)](https://eprint.iacr.org/2012/099.pdf) Uses a mix of BV and GHS keyswitching for efficient key-switching.
Public Functions
-
inline KeySwitchHYBRID()
-
inline virtual ~KeySwitchHYBRID()
-
virtual EvalKey<DCRTPoly> KeySwitchGenInternal(const PrivateKey<DCRTPoly> oldPrivateKey, const PrivateKey<DCRTPoly> newPrivateKey) const override
Method for KeySwitchGen
- Parameters
&originalPrivateKey – Original private key used for encryption.
&newPrivateKey – New private key to generate the keyswitch hint.
*KeySwitchHint – is where the resulting keySwitchHint will be placed.
-
virtual EvalKey<DCRTPoly> KeySwitchGenInternal(const PrivateKey<DCRTPoly> oldPrivateKey, const PrivateKey<DCRTPoly> newPrivateKey, const EvalKey<DCRTPoly> evalKey) const override
-
virtual EvalKey<DCRTPoly> KeySwitchGenInternal(const PrivateKey<DCRTPoly> oldPrivateKey, const PublicKey<DCRTPoly> newPublicKey) const override
-
virtual void KeySwitchInPlace(Ciphertext<DCRTPoly> &ciphertext, const EvalKey<DCRTPoly> evalKey) const override
-
virtual Ciphertext<DCRTPoly> KeySwitchExt(ConstCiphertext<DCRTPoly> ciphertext, bool addFirst) const override
-
virtual Ciphertext<DCRTPoly> KeySwitchDown(ConstCiphertext<DCRTPoly> ciphertext) const override
-
virtual DCRTPoly KeySwitchDownFirstElement(ConstCiphertext<DCRTPoly> ciphertext) const override
-
virtual std::shared_ptr<std::vector<DCRTPoly>> KeySwitchCore(const DCRTPoly &a, const EvalKey<DCRTPoly> evalKey) const override
-
inline virtual std::string SerializedObjectName() const override
-
inline KeySwitchHYBRID()