Sto provando a seguire tutti i passaggi del Rijndael Encryption Algorithm usando carta e penna. Ho utilizzato link come esempio. Il passo delle colonne di mix è molto coinvolto. Per spiegarlo meglio, ho seguito il link . È davvero bello perché usa gli stessi numeri del primo link. Il mio problema è che quando arrivo alla parte che sembra dice questo:
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
Le mie domande sono, da dove prendono il 0001 1011
? Si suppone che siano XOR 1010 1000
di 02
. Uso questo numero ogni volta, anche per il passaggio successivo che è {03} . {bf}
? Sembra che utilizzino 0101 1101
per il calcolo XOR.
Aiuta davvero a guardare le immagini dal primo link per seguire qui.