/* * AtlasShare.h * */ #ifndef GC_ATLASSHARE_H_ #define GC_ATLASSHARE_H_ #include "Protocols/AtlasShare.h" #include "Protocols/ShamirMC.h" #include "Math/Bit.h" namespace GC { class AtlasSecret; class AtlasShare : public ::AtlasShare>, public ShareSecret { typedef AtlasShare This; public: typedef ::AtlasShare> super; typedef Atlas Protocol; typedef ShamirMC MAC_Check; typedef MAC_Check Direct_MC; typedef ShamirInput Input; typedef ReplicatedPrep LivePrep; typedef This small_type; typedef Bit clear; static MAC_Check* new_mc(mac_key_type) { return new MAC_Check; } AtlasShare() { } template AtlasShare(const U& other) : super(other) { } AtlasShare(const AtlasSecret& other); void XOR(const This& a, const This& b) { *this = a + b; } void public_input(bool input) { *this = input; } }; } #endif /* GC_ATLASSHARE_H_ */