Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- | 02 03 01 01 |
- | 01 02 03 01 |
- | 01 01 02 03 |
- | 03 01 01 02 |
- | 0e 0b 0d 09 |
- | 09 0e 0b 0d |
- | 0d 09 0e 0b |
- | 0b 0d 09 0e |
- gmul[4][256] = {
- {256 values from mul_9[ ]}
- {256 values from mul_11[ ]}
- {256 values from mul_13[ ]}
- {256 values from mul_14[ ]}
- }
- matrix[16] = {
- 3, 1, 2, 0,
- 0, 3, 1, 2,
- 2, 0, 3, 1,
- 1, 2, 0, 3
- }
- ...
- for (i = 0; i < 4; ++i)
- {
- unsigned char a = out[i * 4 + 0];
- unsigned char b = out[i * 4 + 1];
- unsigned char c = out[i * 4 + 2];
- unsigned char d = out[i * 4 + 3];
- out[i * 4 + 0] = gmul[matrix[0]][a] ^ gmul[matrix[1]][b] ^ gmul[matrix[2]][c] ^ gmul[matrix[3]][d];
- out[i * 4 + 1] = gmul[matrix[4]][a] ^ gmul[matrix[5]][b] ^ gmul[matrix[6]][c] ^ gmul[matrix[7]][d];
- out[i * 4 + 2] = gmul[matrix[8]][a] ^ gmul[matrix[9]][b] ^ gmul[matrix[10]][c] ^ gmul[matrix[11]][d];
- out[i * 4 + 3] = gmul[matrix[12]][a] ^ gmul[matrix[13]][b] ^ gmul[matrix[14]][c] ^ gmul[matrix[15]][d];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement