Files
MP-SPDZ/Math/Semi2kShare.h
2019-04-30 17:25:02 +10:00

47 lines
1012 B
C++

/*
* Semi2kShare.h
*
*/
#ifndef MATH_SEMI2KSHARE_H_
#define MATH_SEMI2KSHARE_H_
#include "SemiShare.h"
#include "OT/Rectangle.h"
template <int K>
class Semi2kShare : public SemiShare<SignedZ2<K>>
{
typedef SignedZ2<K> T;
public:
typedef Z2<64> mac_key_type;
typedef SemiMC<Semi2kShare> MAC_Check;
typedef MAC_Check Direct_MC;
typedef SemiInput<Semi2kShare> Input;
typedef ::PrivateOutput<Semi2kShare> PrivateOutput;
typedef SPDZ<Semi2kShare> Protocol;
typedef SemiPrep<Semi2kShare> LivePrep;
typedef Semi2kShare prep_type;
typedef SemiMultiplier<Semi2kShare> Multiplier;
typedef OTTripleGenerator<prep_type> TripleGenerator;
typedef Z2kSquare<K> Rectangle;
Semi2kShare()
{
}
template<class U>
Semi2kShare(const U& other) : SemiShare<SignedZ2<K>>(other)
{
}
Semi2kShare(const T& other, int my_num, const T& alphai = {})
{
(void) alphai;
assign(other, my_num);
}
};
#endif /* MATH_SEMI2KSHARE_H_ */