Class RingGSWAccumulatorDM

Inheritance Relationships

Base Type

Class Documentation

class lbcrypto::RingGSWAccumulatorDM : public lbcrypto::RingGSWAccumulator

Inheritence diagram for lbcrypto::RingGSWAccumulatorDM:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "2" [label="lbcrypto::RingGSWAccumulator" tooltip="lbcrypto::RingGSWAccumulator"] "1" [label="lbcrypto::RingGSWAccumulatorDM" tooltip="lbcrypto::RingGSWAccumulatorDM" fillcolor="#BFBFBF"] "1" -> "2" [dir=forward tooltip="public-inheritance"] }

Collaboration diagram for lbcrypto::RingGSWAccumulatorDM:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "2" [label="lbcrypto::RingGSWAccumulator" tooltip="lbcrypto::RingGSWAccumulator"] "1" [label="lbcrypto::RingGSWAccumulatorDM" tooltip="lbcrypto::RingGSWAccumulatorDM" fillcolor="#BFBFBF"] "1" -> "2" [dir=forward tooltip="public-inheritance"] }

Ring GSW accumulator schemes described in https://eprint.iacr.org/2014/816 and https://eprint.iacr.org/2020/086.

Public Functions

RingGSWAccumulatorDM() = default
virtual RingGSWACCKey KeyGenAcc(const std::shared_ptr<RingGSWCryptoParams> &params, const NativePoly &skNTT, ConstLWEPrivateKey &LWEsk) const override

Key generation for internal Ring GSW as described in https://eprint.iacr.org/2020/086

Parameters
  • params – a shared pointer to RingGSW scheme parameters

  • skNTT – secret key polynomial in the EVALUATION representation

  • LWEsk – the secret key

Returns

a shared pointer to the resulting keys

virtual void EvalAcc(const std::shared_ptr<RingGSWCryptoParams> &params, ConstRingGSWACCKey &ek, RLWECiphertext &acc, const NativeVector &a) const override

Main accumulator function used in bootstrapping - AP variant

Parameters
  • params – a shared pointer to RingGSW scheme parameters

  • ek – the accumulator key

  • acc – previous value of the accumulator

  • a – value to update the accumulator with