/** * Generates random input masks. * * @param maskerId the party that knows the plain mask * @param numMasks number of masks to generate * @return input masks */ public List<InputMask> getInputMasks(Integer maskerId, int numMasks) { if (maskerId.equals(resourcePool.getMyId())) { List<FieldElement> randomMasks = resourcePool.getLocalSampler().getNext(numMasks); List<AuthenticatedElement> authenticated = input(randomMasks); return IntStream.range(0, numMasks) .mapToObj(idx -> new InputMask(randomMasks.get(idx), authenticated.get(idx))) .collect(Collectors.toList()); } else { return input(maskerId, numMasks).stream().map(InputMask::new) .collect(Collectors.toList()); } }