OpenCores
URL https://opencores.org/ocsvn/rc4-prbs/rc4-prbs/trunk

Subversion Repositories rc4-prbs

[/] [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;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.