Patent ID: 7043017

Claim:
A key stream cipher device, comprising: a key register for storing an encryption key; a counter for generating a key select pointer, the key select pointer specifying a portion of the encryption key stored in the key register; an Sbox memory for storing a predetermined number of bytes of state data; a plurality of Sbox registers for storing a plurality of Sbox pointers that point to predetermined bytes of the state data stored in the Sbox memory; an encryption logic block, connected to the Sbox memory and the key register, for initializing the Sbox memory in an initialization mode, for generating permutations using the encryption key in a permutation mode, and controlling message processing in a message processing mode; a message block, connected to the Sbox memory and the encryption logic block, for processing a message when the encryption logic block is in the message processing mode by combining selected bytes of state data read from the Sbox memory with one of the message and ciphertext, wherein in an encryption mode, the message block encrypts the message to generate ciphertext, and in a decryption mode, the message block decrypts ciphertext to recreate a message, the message block including a message register for holding a first predetermined portion of the message, a working register for holding a second predetermined portion of the message previously stored in the message register, and a cipher register for storing one of a portion of the ciphertext and the recreated plaintext; and a status register that stores a plurality of flags indicating a status of the modes of the cipher device, the modes including the initialization mode, the permutation mode, and the message processing mode, and wherein the status register is updated after each time the status register is read.