expandstate method

void expandstate(
  1. Uint8List data,
  2. int databytes,
  3. Uint8List key,
  4. int keybytes,
)

Implementation

void expandstate(Uint8List data, int databytes, Uint8List key, int keybytes) {
  var d = Uint32List(2);

  BLF_J = 0;
  for (var i = 0; i < 18; i++) {
    P[i] ^= stream2word(key, keybytes);
  }

  BLF_J = 0;
  for (var i = 0; i < 18; i += 2) {
    d[0] ^= stream2word(data, databytes);
    d[1] ^= stream2word(data, databytes);
    encipher(d);
    P[i] = d[0];
    P[i + 1] = d[1];
  }

  for (var i = 0; i < 4; i++) {
    for (var k = 0; k < 256; k += 2) {
      d[0] ^= stream2word(data, databytes);
      d[1] ^= stream2word(data, databytes);
      encipher(d);
      S[i][k] = d[0];
      S[i][k + 1] = d[1];
    }
  }
  BLF_J = 0;
}