In all of the projects, a
The encodings are implemented completely in hardware.
The
(3, 2) | (4, 2) | (0, 2) | (1, 2) | (2, 2) |
(3, 1) | (4, 1) | (0, 1) | (1, 1) | (2, 1) |
(3, 0) | (4, 0) | (0, 0) | (1, 0) | (2, 0) |
(3, 4) | (4, 4) | (0, 4) | (1, 4) | (2, 4) |
(3, 3) | (4, 3) | (0, 3) | (1, 3) | (2, 3) |
In this part, the encoding is done using the following formula:
This means that in each slice, the bits are mapped to a different location in the slice.
In this part, the encoding is done using the following formula:
This means that each bit of the matrix becomes the XOR of itself, the bit's left column, and its right column in the previous slice.
Here, 5 different encodings are applied serially to the input 24 times.
This part is the same function implemented in Midterm.
The following formula is used for encoding:
The number
The
This part is the same function implemented in CA1.
The following formula is used for encoding:
The following formula is used for encoding:
Where the
RC[0] | RC[1] | RC[2] | RC[3] |
---|---|---|---|
0x0000000000000001 | 0x0000000000008082 | 0x800000000000808A | 0x8000000080008000 |
RC[4] | RC[5] | RC[6] | RC[7] |
0x000000000000808B | 0x0000000080000001 | 0x8000000080008081 | 0x8000000000008009 |
RC[8] | RC[9] | RC[10] | RC[11] |
0x000000000000008A | 0x0000000000000088 | 0x0000000080008009 | 0x000000008000000A |
RC[12] | RC[13] | RC[14] | RC[15] |
0x000000008000808B | 0x800000000000008B | 0x8000000000008089 | 0x8000000000008003 |
RC[16] | RC[17] | RC[18] | RC[19] |
0x8000000000008002 | 0x8000000000000080 | 0x000000000000800A | 0x800000008000000A |
RC[20] | RC[21] | RC[22] | RC[23] |
0x8000000080008081 | 0x8000000000008080 | 0x0000000080000001 | 0x8000000080008008 |
And