Estoy tratando de seguir todos los pasos del algoritmo de cifrado Rijndael usando lápiz y papel. He estado usando enlace como ejemplo. El paso de columnas de la mezcla tiene mucho que ver con ello. Para explicarlo mejor, he estado siguiendo enlace . Eso es realmente bueno porque usa los mismos números que en el primer enlace. Mi problema es que cuando llego a la parte que parece dice esto:
Now another thing to remember, there is a rule established in the multiplication of the values as
written in the book, Cryptography and Network Security[2], that multiplication of a value by x (ie.
by 02) can be implemented as a 1-bit left shift followed by a conditional bitwise XOR with (0001
1011) if the leftmost bit of the original value (before the shift) is 1. We can implement this rule in
our calculation.
{d4}.{02} = 1101 0100 << 1 (<< is left shift, 1 is the number of shift done, pad on with 0's)
= 1010 1000 XOR 0001 1011 (because the leftmost is a 1 before shift)
= 1011 0011 (ans)
Calculation:
1010 1000
0001 1011 (XOR)
---------
1011 0011
Mi pregunta es, ¿de dónde obtienen el 0001 1011
? Se supone que son XOR 1010 1000
por 02
. ¿Utilizo este número cada vez, incluso para el siguiente paso que es {03} . {bf}
? Parece que usan 0101 1101
para el cálculo de XOR.
Realmente ayuda mirar las imágenes del primer enlace que se debe seguir aquí.