Ring GSW accumulator schemes described in https://eprint.iacr.org/2014/816 and "Bootstrapping in FHEW-like
Cryptosystems".
More...
#include <fhew.h>
|
RingGSWEvalKey | KeyGen (const std::shared_ptr< RingGSWCryptoParams > params, const std::shared_ptr< LWEEncryptionScheme > lwescheme, const std::shared_ptr< const LWEPrivateKeyImpl > LWEsk) const |
|
std::shared_ptr< LWECiphertextImpl > | EvalBinGate (const std::shared_ptr< RingGSWCryptoParams > params, const BINGATE gate, const RingGSWEvalKey &EK, const std::shared_ptr< const LWECiphertextImpl > ct1, const std::shared_ptr< const LWECiphertextImpl > ct2, const std::shared_ptr< LWEEncryptionScheme > LWEscheme) const |
|
std::shared_ptr< LWECiphertextImpl > | EvalNOT (const std::shared_ptr< RingGSWCryptoParams > params, const std::shared_ptr< const LWECiphertextImpl > ct1) const |
|
std::shared_ptr< LWECiphertextImpl > | Bootstrap (const std::shared_ptr< RingGSWCryptoParams > params, const RingGSWEvalKey &EK, const std::shared_ptr< const LWECiphertextImpl > ct1, const std::shared_ptr< LWEEncryptionScheme > LWEscheme) const |
|
Ring GSW accumulator schemes described in https://eprint.iacr.org/2014/816 and "Bootstrapping in FHEW-like
Cryptosystems".
◆ Bootstrap()
Bootstraps a fresh ciphertext
- Parameters
-
params | a shared pointer to RingGSW scheme parameters |
&EK | a shared pointer to the bootstrapping keys |
ct1 | input ciphertext |
lwescheme | a shared pointer to additive LWE scheme |
- Returns
- a shared pointer to the resulting ciphertext
◆ EvalBinGate()
Evaluates a binary gate (calls bootstrapping as a subroutine)
- Parameters
-
params | a shared pointer to RingGSW scheme parameters |
gate | the gate; can be AND, OR, NAND, NOR, XOR, or XOR |
&EK | a shared pointer to the bootstrapping keys |
ct1 | first ciphertext |
ct2 | second ciphertext |
lwescheme | a shared pointer to additive LWE scheme |
- Returns
- a shared pointer to the resulting ciphertext
◆ EvalNOT()
Evaluates NOT gate
- Parameters
-
params | a shared pointer to RingGSW scheme parameters |
ct1 | the input ciphertext |
- Returns
- a shared pointer to the resulting ciphertext
◆ KeyGen()
Generates a refreshing key
- Parameters
-
params | a shared pointer to RingGSW scheme parameters |
lwescheme | a shared pointer to additive LWE scheme |
LWEsk | a shared pointer to the secret key of the underlying additive LWE scheme |
- Returns
- a shared pointer to the refreshing key
The documentation for this class was generated from the following file: