public void Init(int numPlayers, int numQuorums, int numSlots, int quorumSize, QuorumBuildingMethod qbMethod, AdversaryModel model, Zp[] inputs, int prime) { switch (model) { case AdversaryModel.HonestButCurious: Circuit = CreateHbcCircuit(numPlayers, numQuorums, numSlots, quorumSize, prime); break; case AdversaryModel.Byzantine: Circuit = CreateByzantineCircuit(numPlayers, numQuorums, numSlots, quorumSize, prime); break; default: throw new Exception("Unknown adversary model."); } base.Init(numPlayers, numQuorums, numSlots, quorumSize, qbMethod, Circuit, inputs, prime); }
protected void Init(IList <int> processors, int numQuorums, int quorumSize, QuorumBuildingMethod method) { Debug.Assert(processors != null && processors.Count > 0, "Processors have not been created yet."); switch (method) { case QuorumBuildingMethod.RandomSampler: //qbuilder = new StaticSampler(this, processors, numQuorums, quorumSize); break; case QuorumBuildingMethod.AlmostEverywhereBA: //qbuilder = new AlmostEverywhereProtocol(Id, processors, Send); break; case QuorumBuildingMethod.CuckooRule: //qbuilder = new CuckooRule(Id, processors, Send); break; default: throw new NotSupportedException(); } qbuilder.QbFinished += new QbFinishHandler(OnQbFinish); }
public void Init(int numPlayers, int numQuorums, int numSlots, int quorumSize, QuorumBuildingMethod qbMethod, Circuit circuit, Zp[] inputs, int prime) { // create and init players var players = AddNewParties(numPlayers); for (int i = 0; i < numPlayers; i++) { players[i].Init(circuit, inputs[i], numSlots, PartyIds, numQuorums, quorumSize, qbMethod); } IsInitialized = true; }
public virtual void Init(Circuit circuit, Zp input, int numSlots, IList <int> players, int numQuorums, int quorumSize, QuorumBuildingMethod qbMethod) { base.Init(players, numQuorums, quorumSize, qbMethod); Protocol = new DkmsProtocol(circuit, this, players, input, numSlots, null); }