/* * Replicated.h * */ #ifndef PROCESSOR_REPLICATED_H_ #define PROCESSOR_REPLICATED_H_ #include #include using namespace std; #include "Tools/octetStream.h" template class SubProcessor; template class ReplicatedMC; template class ReplicatedInput; template class ReplicatedPrivateOutput; template class Share; template class Replicated { vector os; vector results; int counter; public: typedef ReplicatedMC MAC_Check; typedef ReplicatedInput Input; typedef ReplicatedPrivateOutput PrivateOutput; Replicated(); ~Replicated(); static void assign(T& share, const typename T::value_type& value, int my_num) { assert(T::length == 2); share.assign_zero(); if (my_num < 2) share[my_num] = value; } void muls(const vector& reg, SubProcessor >& proc, ReplicatedMC& MC, int size); }; #endif /* PROCESSOR_REPLICATED_H_ */