1 package civitas.crypto.parameters;
2
3 import java.util.HashMap;
4 import java.util.List;
5 import java.util.Map;
6
7 import civitas.common.VoteChoice;
8 import civitas.util.CivitasBigInteger;
9 import civitas.util.CivitasBigIntegerFactory;
10
11 public class SetUpDecodeMap {
12
13 public Map<CivitasBigInteger, VoteChoice> apply(final List<VoteChoice> choices, final ElGamalParameters params) {
14 Map<CivitasBigInteger, VoteChoice> map = new HashMap<>();
15 choices.forEach(
16 x -> map.put(CivitasBigIntegerFactory.obtain(x.ordinal()).modMultiply(params.g, params.p), x));
17 return map;
18 }
19 }