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

Subversion Repositories rc4-prbs

[/] [rc4-prbs/] [trunk/] [README.txt] - Blame information for rev 11

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 ortegaalfr
Hi,
2
 
3
I was looking for a quick implementation of RC4 and I couldn't find one, so I wrote one based on the wikipedia example.
4
 
5
It's quite easy to use:
6
 
7
1) First, issue rst
8
2) Load the password byte-by-byte into the password_input port. The lenght of the password is KEY_SIZE
9
3) Issue 768 clocks to perform key expansion
10
4) Now you should start receiving the pseudo-random stream via the output bus, one byte per clock. To encrypt or decrypt using RC4 you simply xor your data with the output stream.
11
Also you shouldn't use the first kb of stream because of a known RC4 vulnerability, so please discard those bytes.
12
 
13 4 ortegaalfr
The testbench and makefile work using icarus verilog and you can peer into rc4_tb.v to see an example implementation.
14 3 ortegaalfr
 
15 4 ortegaalfr
After installing icarus verilog in your path, just issue:
16
 
17
make
18
 
19
and then
20
 
21
./rc4.vvp
22
 
23
And you should see the output of the simulation.
24
 
25 6 ortegaalfr
Any question or suggestion send an email to aortega@alu.itba.edu.ar, cc: alfred@groundworkstech.com
26 3 ortegaalfr
 
27
Cheers,
28
 
29
Alfredo

powered by: WebSVN 2.1.0

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