Multiplication by 2 in the Rijndael Galois field I was studying the mix column transformation in AES and working through an example.

$[\mathtt{02}]\cdot[\mathtt{87}]$ - this multiplication works fine in the polynomial form modulo $x^8+x^4+x^3+x+1$. The polynomial answer to this is $x^4+x^2+1$ which is $\mathtt{0001 0101}$. But if you try to work this in bits, the answer you get is $\mathtt{0001 0100}$. (Multiplying by $2$ is the same as a left shift by $1$ followed by XOR with $\mathtt{00011011}$ if the MSB was $1$ before the shift). 

Why is there a difference? Obviously, there shouldn't be a difference... Where am i going wrong?
I suspect you got the shift wrong.

Anything shifted left by 1 has an lsbit of 0; if you xor in 010101 (which you do in this case, as the initial value had a 1 msbit), well, 010101 has a 1 lsbit, and the xor of the two must have a 1 lsbit; your result had a 0 lsbit.

Perhaps you're doing a left circular shift (moving bit 7 to bit 0), rather than a left shift (which places a 0 into bit 0)