Class RingGSWAccumulatorLMKCDEY

Inheritance Relationships

Base Type

Class Documentation

class lbcrypto::RingGSWAccumulatorLMKCDEY : public lbcrypto::RingGSWAccumulator

Inheritence diagram for lbcrypto::RingGSWAccumulatorLMKCDEY:

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::RingGSWAccumulatorLMKCDEY" tooltip="lbcrypto::RingGSWAccumulatorLMKCDEY" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for lbcrypto::RingGSWAccumulatorLMKCDEY:

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::RingGSWAccumulatorLMKCDEY" tooltip="lbcrypto::RingGSWAccumulatorLMKCDEY" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
}

Ring GSW accumulator schemes described in https://eprint.iacr.org/2022/198.

Public Functions

RingGSWAccumulatorLMKCDEY() = 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/2022/198

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 - LMKCDEY 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