/** * Generates random seed and calls {@link CoinTossingMpc#generateJointSeed(StrictBitVector)}. * * @param bitLengthSeed bit length of seed * @return shared seed */ public StrictBitVector generateJointSeed(int bitLengthSeed) { // generate own seed return generateJointSeed(new StrictBitVector(bitLengthSeed, super.getResourcePool().getRandomGenerator())); }
/** * Creates new {@link Mascot}. */ public Mascot(MascotResourcePool resourcePool, Network network, FieldElement macKeyShare) { this.resourcePool = resourcePool; // agree on joint seed StrictBitVector jointSeed = new CoinTossingMpc(resourcePool, network) .generateJointSeed(resourcePool.getPrgSeedLength()); FieldElementPrg jointSampler = new FieldElementPrgImpl(jointSeed, resourcePool.getFieldDefinition()); this.elementGeneration = new ElementGeneration(resourcePool, network, macKeyShare, jointSampler); this.tripleGeneration = new TripleGeneration(resourcePool, network, elementGeneration, jointSampler); this.bitConverter = new BitConverter(resourcePool, new OnlinePhase(resourcePool, tripleGeneration, elementGeneration, macKeyShare), macKeyShare); }