Class SchemeRNS

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class lbcrypto::SchemeRNS : public lbcrypto::SchemeBase<DCRTPoly>

Inheritence diagram for lbcrypto::SchemeRNS:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "4" [label="lbcrypto::SchemeBGVRNS" tooltip="lbcrypto::SchemeBGVRNS"]
    "3" [label="lbcrypto::SchemeBFVRNS" tooltip="lbcrypto::SchemeBFVRNS"]
    "2" [label="lbcrypto::SchemeBase< DCRTPoly >" tooltip="lbcrypto::SchemeBase< DCRTPoly >"]
    "1" [label="lbcrypto::SchemeRNS" tooltip="lbcrypto::SchemeRNS" fillcolor="#BFBFBF"]
    "5" [label="lbcrypto::SchemeCKKSRNS" tooltip="lbcrypto::SchemeCKKSRNS"]
    "4" -> "1" [dir=forward tooltip="public-inheritance"]
    "3" -> "1" [dir=forward tooltip="public-inheritance"]
    "1" -> "2" [dir=forward tooltip="public-inheritance"]
    "5" -> "1" [dir=forward tooltip="public-inheritance"]
}

Collaboration diagram for lbcrypto::SchemeRNS:

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

Abstract interface class for LBC PRE algorithms.

Template Parameters

Element – a ring element.

Subclassed by lbcrypto::SchemeBFVRNS, lbcrypto::SchemeBGVRNS, lbcrypto::SchemeCKKSRNS

Public Functions

SchemeRNS() = default
virtual ~SchemeRNS() = default
inline void SetKeySwitchingTechnique(KeySwitchTechnique ksTech)
template<class Archive>
inline void save(Archive &ar, std::uint32_t const version) const
template<class Archive>
inline void load(Archive &ar, std::uint32_t const version)
inline virtual std::string SerializedObjectName() const override