|
|
|
@ -145,7 +145,7 @@ static uint64_t F(uint64_t F_IN, uint64_t KE) |
|
|
|
|
uint8_t y[8]; |
|
|
|
|
KE ^= F_IN; |
|
|
|
|
AV_WB64(y,KE); |
|
|
|
|
KE=SP[0][y[0]]^SP[1][y[1]]^SP[2][y[2]]^SP[3][y[3]]^SP[4][y[4]]^SP[5][y[5]]^SP[6][y[6]]^SP[7][y[7]]; |
|
|
|
|
KE=SP[0][y[0]] ^ SP[1][y[1]] ^ SP[2][y[2]] ^ SP[3][y[3]] ^ SP[4][y[4]] ^ SP[5][y[5]] ^ SP[6][y[6]] ^ SP[7][y[7]]; |
|
|
|
|
return KE; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -331,18 +331,18 @@ static void computeSP(void) |
|
|
|
|
uint64_t z; |
|
|
|
|
int i; |
|
|
|
|
for (i = 0; i < 256; i++) { |
|
|
|
|
z = (uint64_t)SBOX1[i]; |
|
|
|
|
SP[0][i] = (z << 56) ^ (z << 48) ^ (z << 40) ^ (z << 24) ^ z; |
|
|
|
|
SP[7][i] = (z << 56) ^ (z << 48) ^ (z << 40) ^ (z << 24) ^ (z << 16) ^ (z << 8); |
|
|
|
|
z = (uint64_t)SBOX2[i]; |
|
|
|
|
SP[1][i] = (z << 48) ^ (z << 40) ^ (z << 32) ^ (z << 24) ^ (z << 16); |
|
|
|
|
SP[4][i] = (z << 48) ^ (z << 40) ^ (z << 32) ^ (z << 16) ^ (z << 8) ^ z; |
|
|
|
|
z = (uint64_t)SBOX3[i]; |
|
|
|
|
SP[2][i] = (z << 56) ^ (z << 40) ^ (z << 32) ^ (z << 16) ^ (z << 8); |
|
|
|
|
SP[5][i] = (z << 56) ^ (z << 40) ^ (z << 32) ^ (z << 24) ^ (z << 8) ^ z; |
|
|
|
|
z = (uint64_t)SBOX4[i]; |
|
|
|
|
SP[3][i] = (z << 56) ^ (z << 48) ^ (z << 32) ^ (z << 8) ^ z; |
|
|
|
|
SP[6][i] = (z << 56) ^ (z << 48) ^ (z << 32) ^ (z << 24) ^ (z << 16) ^ z; |
|
|
|
|
z = (uint64_t)SBOX1[i]; |
|
|
|
|
SP[0][i] = (z << 56) ^ (z << 48) ^ (z << 40) ^ (z << 24) ^ z; |
|
|
|
|
SP[7][i] = (z << 56) ^ (z << 48) ^ (z << 40) ^ (z << 24) ^ (z << 16) ^ (z << 8); |
|
|
|
|
z = (uint64_t)SBOX2[i]; |
|
|
|
|
SP[1][i] = (z << 48) ^ (z << 40) ^ (z << 32) ^ (z << 24) ^ (z << 16); |
|
|
|
|
SP[4][i] = (z << 48) ^ (z << 40) ^ (z << 32) ^ (z << 16) ^ (z << 8) ^ z; |
|
|
|
|
z = (uint64_t)SBOX3[i]; |
|
|
|
|
SP[2][i] = (z << 56) ^ (z << 40) ^ (z << 32) ^ (z << 16) ^ (z << 8); |
|
|
|
|
SP[5][i] = (z << 56) ^ (z << 40) ^ (z << 32) ^ (z << 24) ^ (z << 8) ^ z; |
|
|
|
|
z = (uint64_t)SBOX4[i]; |
|
|
|
|
SP[3][i] = (z << 56) ^ (z << 48) ^ (z << 32) ^ (z << 8) ^ z; |
|
|
|
|
SP[6][i] = (z << 56) ^ (z << 48) ^ (z << 32) ^ (z << 24) ^ (z << 16) ^ z; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|