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

Subversion Repositories rc4-prbs

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

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 12 ortegaalfr
4) Now you should start receiving the pseudo-random stream via the output bus, one byte every two clocks. The output_ready signal signals when a valid byte is present at the output K.
11
To encrypt or decrypt using RC4 you simply xor your data with the output stream.
12 3 ortegaalfr
Also you shouldn't use the first kb of stream because of a known RC4 vulnerability, so please discard those bytes.
13
 
14 4 ortegaalfr
The testbench and makefile work using icarus verilog and you can peer into rc4_tb.v to see an example implementation.
15 3 ortegaalfr
 
16 4 ortegaalfr
After installing icarus verilog in your path, just issue:
17
 
18
make
19
 
20
and then
21
 
22
./rc4.vvp
23
 
24
And you should see the output of the simulation.
25
 
26 6 ortegaalfr
Any question or suggestion send an email to aortega@alu.itba.edu.ar, cc: alfred@groundworkstech.com
27 3 ortegaalfr
 
28
Cheers,
29
 
30
Alfredo

powered by: WebSVN 2.1.0

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