Digital Signal Processing Reference
In-Depth Information
h
+
s
+
h
7
h
0
s
0
h
1
s
1
h
2
s
2
h
3
s
3
= =
= =
= =
= =
= =
= =
. . . . . . . . . . . . . . . . . . . . .
h
7
s
0
s
0
s
1
s
1
s
1
= =
= =
= =
s
2
s
3
. . . . . . . . . . . . . . . . . . . . .
= =
s
3
s
4
= =
s
6
s
7
= =
Pointers
lengths
Figure 13.23
Digital design implementing multiple iterations of the LZ77 algorithm
// Nb = 4
// Nr = 10, 12, 14 for 128, 192 and 256 bit AES
// Hard parameter, Nk=4,6,8 for 128, 192, 256 AES
// UWord8 and UWord32 are 8-bit and 32-bit unsigned numbers
UWord32 key[Nk];
UWord32 w[Nb*(Nr-1)]; /* Expended Key */
AES_encryption (
UWord8 plain_text[4*Nb],
UWord8 cipher_text[4*Nb],
UWord32 w[Nb*(Nr-1)]);
begin
UWord8 state [4*Nb];
state = Plain_text;
ARK(state, w[0, Nb-1]);
for(round=1, round<=Nr-1, round++)
begin
SB(state);
SR(state);
MC(state);
ARK(state, w[round*Nb, (round+1)*Nb-1)]);
end
SB(state);
SR(state);
ARK(state, w[Nr*Nb, (Nr+1)*Nb-1)]);
end
Search WWH ::
Custom Search