Patent ID: 7783036

Claim:
An apparatus for encrypting/decrypting a real-time input stream, comprising: a processor configured to receive a data stream of bytes wherein the data stream is an MPEG data stream or a Digital Satellite Service (DSS) data stream, convert the data stream into data blocks, provide the data blocks for encryption or decryption, receive encrypted or decrypted data blocks, convert the received encrypted or decrypted data blocks into bytes, and output the bytes, wherein the processor generates a start key signal when a new round key is needed for every round; a key schedule unit configured to provide a round key for every round in accordance with the start key signal and an input key having a variable size to provide the round key for the encryption or decryption for each round, wherein the input key size is one of 128, 192, and 256 bits; and a block round unit configured to receive converted data blocks from the processor, receive the round key from the key schedule unit, encrypt or decrypt the received data blocks, and provide the encrypted or decrypted data blocks to the processor, wherein the key schedule unit selects a 128 bit round key to the block round unit for each round using a key register having a capacity of {(size of an inputted block)*(size of one round)}, and the key schedule unit provides the round key to the block round unit for each round without storing expanded keys being generated by the key schedule unit.