theta method
void
theta(
- Register64List A
inherited
Implementation
void theta(Register64List A) {
final C = Register64List(5);
final r0 = Register64();
final r1 = Register64();
for (var x = 0; x < 5; x++) {
C[x].set(0);
for (var y = 0; y < 5; y++) {
C[x].xor(A[x + 5 * y]);
}
}
for (var x = 0; x < 5; x++) {
r0.set(C[(x + 1) % 5]);
r0.shiftl(1);
r1.set(C[(x + 1) % 5]);
r1.shiftr(63);
r0.xor(r1);
r0.xor(C[(x + 4) % 5]);
for (var y = 0; y < 5; y++) {
A[x + 5 * y].xor(r0);
}
}
}