URL
https://opencores.org/ocsvn/rc4-prbs/rc4-prbs/trunk
[/] [rc4-prbs/] [trunk/] [rc4.v] - Diff between revs 3 and 5
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 3 |
Rev 5 |
Line 88... |
Line 88... |
end
|
end
|
`KSS_KEYSCHED2: begin // KSS_KEYSCHED2: Initialize S array
|
`KSS_KEYSCHED2: begin // KSS_KEYSCHED2: Initialize S array
|
j <= (j + S[i] + key[i % `KEY_SIZE]);
|
j <= (j + S[i] + key[i % `KEY_SIZE]);
|
KSState <= `KSS_KEYSCHED3;
|
KSState <= `KSS_KEYSCHED3;
|
end
|
end
|
`KSS_KEYSCHED3: begin
|
`KSS_KEYSCHED3: begin // KSS_KEYSCHED3: S array permutation
|
S[i]<=S[j];
|
S[i]<=S[j];
|
S[j]<=S[i];
|
S[j]<=S[i];
|
if (i == 8'hFF)
|
if (i == 8'hFF)
|
begin
|
begin
|
KSState <= `KSS_CRYPTO;
|
KSState <= `KSS_CRYPTO;
|
Line 103... |
Line 103... |
i <= i + 1;
|
i <= i + 1;
|
KSState <= `KSS_KEYSCHED2;
|
KSState <= `KSS_KEYSCHED2;
|
end
|
end
|
end
|
end
|
|
|
`KSS_CRYPTO: begin // It was all nicely pipelined until this point where I don't care anymore
|
`KSS_CRYPTO: begin // KSS_CRYPTO: Output crypto stream
|
|
// It was all nicely pipelined until this point where I don't care anymore
|
i = i + 1;
|
i = i + 1;
|
j = (j + S[i]);
|
j = (j + S[i]);
|
temp = S[j];
|
temp = S[j];
|
S[j]=S[i];
|
S[j]=S[i];
|
S[i]=temp;
|
S[i]=temp;
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.