ness of the XCrypto project (Marshall et al., 2011).

op2 : bits (8) = x[ 7.. 0]; let s1 : bits (8) = gfmul(s0, 0x9) ^ gfmul(s1, 0xE) ^ gfmul(s2, 0x9) ^ gfmul(s1, 0x9) ^ gfmul(s2, 0xD) ^ gfmul(s3, 0xD); let b2 : bits (8) = (s0) ^ xt2(s1) ^ xt3(s2) ^ (s3); let b1 : bits (8) = gfmul(s0, 0xB) ^ gfmul(s3, 0xD); let b2 : bits (8) = xt2(s0) ^ xt3(s1) ^ (s2) ^ xt2(s3); b3 @ b2 @ b1 @ b0 /* Return value */ } val

Boru