mirror of
https://github.com/data61/MP-SPDZ.git
synced 2026-04-20 03:01:31 -04:00
47 lines
1012 B
C++
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_ */
|