United States Patent   Patent Number: 5,285,497
Thatcher, Jr.  Date of Patent: Feb. 8,1994
 METHODS AND APPARATUS FOR SCRAMBLING AND UNSCRAMBLING COMPRESSED DATA STREAMS
 Inventor: William B. Thatcher, Jr., Atlanta, Ga.
 Assignee: Scientific Atlanta, Norcross, Ga.
 Appl. No.: 41,727
 Filed: Apr. 1,1993
 IntCl.5 H04L9/00
 U.S.C1 380/49; 380/9;
 Field of Search 380/9, 10, 4, 20, 49,
 References Cited
U.S. PATENT DOCUMENTS
4,301,327 11/1981 Lee et al 380/28
4,720,861 1/1988 Bertrand 381/36
5,204,899 4/1993 Israelsen et al 380/10
5,226,082 7/1993 Kustka 380/28
U.S. Pat. application Ser. No. 968,846 filed Oct. 30, 1992.
Primary Examiner—David C. Cain
Attorney, Agent, or Firm—Woodcock Washburn Kurtz
Mackiewicz & Norris
Methods and apparatus for encoding compressed data
streams efficiently, and methods and apparatus for decoding the encrypted data streams efficiently and inexpensively, are disclosed. In an encoder 10', an incoming data stream is fed to a Huffman coding block 10 that performs data compression. The output codewords of the Huffman coding block are fed to a forward error correction block 30, the output of which is a series of data blocks and associated parity data. The data blocks are fed to an error insertion block 32, which inserts a one-bit error in each data block. The parity data is fed to a first encryption block 34 that produces encrypted parity data. The output of the error insertion block 32, the encrypted parity data, and a synchronization word output by a sync generator 50 are fed to a multiplexer 48. A seed generator block 36 generates random numbers for use by the first encryption block 34 as seeds for encrypting the parity data. A multisession key register 40 stores a multisession key employed as a seed in a second encryption block 38 to encrypt the random number seed. A secret serial number (SSN) read from a database 46 and stored in an SSN register 44 is employed by a third encryption block 42 as a seed for encrypting the multisession key. The multiplexer outputs a multiplex comprising the sync signal, SDP, ADP, and Reed-Solomon data blocks with their corresponding parity data. A decoder 14' receives the multiplex data and recovers the original data.