quarterRound method

void quarterRound(
  1. int a,
  2. int b,
  3. int c,
  4. int d,
)

Performs a quarter round of ChaCha20 according to the documentation by RFC

Implementation

void quarterRound(int a, int b, int c, int d) {
  Uint32List result = transformFourInputsByChaChaQuarterRound(
      Uint32List.fromList(
          [chaChaState[a], chaChaState[b], chaChaState[c], chaChaState[d]]));
  chaChaState[a] = result[0];
  chaChaState[b] = result[1];
  chaChaState[c] = result[2];
  chaChaState[d] = result[3];
}