Apparatus and method for performing RC4 ciphering
AssigneeIntel Corporation
InventorsKamal Koshy, Jaroslaw Sydir, Wajdi Feghali
Life of this patent
Estimating the term…
Abstract
An arrangement is provided for performing RC4 ciphering. The arrangement includes apparatuses and methods that pipeline generation of a key stream based on a byte state array, called the S-box, which is initially generated from a secret key shared by a receiver and a transmitter in a network system. The S-box is stored in a storage device which may be a register file with two read ports and one write port. A cache is used to store a number of bytes read from the S-box storage device.
Claims35
An apparatus for performing RC4 ciphering, comprising:
- a byte array storage device to store an array of bytes;
- a cache to store a plurality of bytes of the array of bytes read from the byte array storage device;
- and
- a key generator to generate a key stream for use in ciphering input data, based on data stored in at least one of the byte array storage device and the cache.
A method for performing RC4 ciphering, comprising:
- receiving input data;
- reading a plurality of bytes in an array of bytes from a byte array storage device to a cache;
- initializing a first index and a second index for use in accessing bytes of the array of bytes stored in at least one of the byte array storage device and the cache;
- and
- for each byte of the input data:
- generating a byte of a key stream, and
- producing an encrypted byte for the byte of the input data based at least in part on the byte of the key stream.
A network system, comprising:
- a switch fabric;
- a plurality of line cards interconnected by the switch fabric;
- and
- a plurality of RC4 modules, each operably coupled with a line card to perform RC4 ciphering, an RC4 module including:
- a byte array storage device to store an array of bytes,
- a cache to store a plurality of bytes of the array of bytes read from the byte array storage device, and
- a key generator to generate a key stream for use in ciphering input data, based on data stored in at least one of the byte array storage device and the cache.
Dependencies are inferred from the claim text.