/* * CcdSecret.h * */ #ifndef GC_CCDSECRET_H_ #define GC_CCDSECRET_H_ #include "TinySecret.h" #include "CcdShare.h" namespace GC { template class TinyMC; template class VectorProtocol; template class VectorInput; template class CcdPrep; template class CcdSecret : public VectorSecret> { typedef CcdSecret This; typedef VectorSecret> super; public: typedef TinyMC MC; typedef MC MAC_Check; typedef VectorProtocol Protocol; typedef CcdPrep LivePrep; typedef VectorInput Input; typedef typename This::part_type check_type; static string type_short() { return "CCD"; } static MC* new_mc(typename super::mac_key_type mac_key) { return new MC(mac_key); } CcdSecret() { } CcdSecret(const typename This::part_type& other) : super(other) { } CcdSecret(const super& other) : super(other) { } CcdSecret(const typename This::part_type::super& other) : super(other) { } CcdSecret(const GC::Clear& other) : super(other) { } }; } /* namespace GC */ #endif /* GC_CCDSECRET_H_ */