コード例 #1
0
 public MultiQuorumGateEvaluation(Party me, ComputationGate evalGate, IDictionary <Gate, Quorum> gateQuorumMapping, Circuit circuit,
                                  IGateEvaluationProtocolFactory <T> protocolFactory, IDictionary <InputGateAddress, T> circuitInputs, BigInteger prime, ulong protocolId)
     : base(me, GetParticipatingQuorumList(evalGate, gateQuorumMapping, circuit), protocolId)
 {
     EvalGate          = evalGate;
     GateQuorumMapping = gateQuorumMapping;
     Circuit           = circuit;
     Prime             = prime;
     EvalQuorum        = gateQuorumMapping[EvalGate];
     CircuitInputs     = circuitInputs;
     ProtocolFactory   = protocolFactory;
     Result            = new Dictionary <OutputGateAddress, T>();
 }
コード例 #2
0
        public SecureMultiQuorumCircuitEvaluation(Party me, Quorum myQuorum, Quorum[] quorums, ulong protocolId, Circuit circuit,
                                                  IDictionary <InputGateAddress, T> circuitInputs, IGateEvaluationProtocolFactory <T> protocolFactory,
                                                  IDictionary <Gate, Quorum> gateQuorumMapping, BigInteger prime)
            : base(me, quorums, protocolId)
        {
            // assign gates to quorums
            GateList          = circuit.TopologicalOrder;
            GateQuorumMapping = gateQuorumMapping;

            Circuit         = circuit;
            CircuitInputs   = circuitInputs;
            Prime           = prime;
            Result          = new Dictionary <OutputGateAddress, T>();
            MyQuorum        = myQuorum;
            ProtocolFactory = protocolFactory;
        }