mix function

List<BigInt> mix(
  1. List<BigInt> state,
  2. List<List<BigInt>> M
)

Implementation

List<BigInt> mix(List<BigInt> state, List<List<BigInt>> M) {
  List<BigInt> out = [];
  for (int x = 0; x < state.length; x++) {
    BigInt o = BigInt.zero;
    for (int y = 0; y < state.length; y++) {
      o = o + M[x][y] * state[y];
    }
    out.add(o % F);
  }
  return out;
}