Patent US5285497A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5285497A Expired / Lapsed US ⏱️ 0.0 years remaining

Methods and apparatus for scrambling and unscrambling compressed data streams

Assignee: Cisco Technology Inc
•
Filing: 1993-04-01
•
Granted: 1994-02-08
•
Expires: 2013-04-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract 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.

Inventors

  • 👤 William B. Thatcher, Jr.

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 16:03
CPC Classifications
H; H04; H04L; H04L9/00; H04L9/06; H04L9/065; G; G06; G06T; G06T9/00; G06T9/005; H04L2209/00; H04L2209/30; H04L2209/34

Claims Analysis

Total Claims: 35
Claim 1
Independent Claim 49 words
A method for encoding data, comprising the steps of: (a) compressing an incoming data stream into variable length codewords; (b) generating error correction parity data for said codewords; (c) introducing an error into said codewords; (d) encrypting said parity data; and (e) transmitting said codewords and encrypted parity data.
Claim 2
Independent Claim 49 words
A method for encoding data, comprising the steps of: (a) compressing an incoming data stream into variable length codewords; (b) generating error correction parity data for said codewords; (c) introducing an error into said codewords; (d) encrypting said parity data; and (e) transmitting said codewords and encrypted parity data.
Claim 3
Dependent Claim 37 words
A method for encoding data as recited in claim 1, further comprising the steps of generating a seed for encrypting said parity data, encrypting said seed, and transmitting the encrypted seed as a system data packet (SDP).
Claim 4
Dependent Claim 39 words
A method for encoding data as recited in claim 2, further comprising the steps of employing a multisession key to encrypt said seed, encrypting said multisession key, and transmitting the encrypted multisession key as an addressable data packet (ADP).
Claim 5
Dependent Claim 25 words
A method for encoding data as recited in claim 3, comprising the step of employing a secret serial number (SSN) to encrypt said multisession key.
Claim 6
Dependent Claim 22 words
A method for encoding data as recited in claim 1, wherein said encrypted parity data is transmitted before said codewords are transmitted.
Claim 7
Dependent Claim 53 words
A method for encoding data as recited in claim 1, wherein the step of generating error correction parity data comprises employing a Reed-Solomon forward error correction process, whereby parity words and associated data blocks are generated; and the step of encrypting said parity data comprises inserting at least one error per data block.
Claim 8
Dependent Claim 33 words
A method for encoding data as recited in claim 1, wherein the step of compressing an incoming data stream into variable length codewords comprises employing Huffman coding to generate variable length Huffman codewords.
Claim 9
Dependent Claim 42 words
A method for encoding data as recited in claim 1, comprising the steps of generating a synchronization word; multiplexing said synchronization word with said codewords and encrypted parity data before transmitting said codewords and encrypted parity data; and transmitting the multiplexed data.
Claim 10
Dependent Claim 73 words
A method for encoding data as recited in claim 1, further comprising the steps of: generating a seed for encrypting said parity data; encrypting said seed by employing a multisession key; encrypting said multisession key by employing a secret serial number (SSN); generating a synchronization word; multiplexing said synchronization word, codewords, encrypted parity data, encrypted seed, and encrypted multisession key, before transmitting said codewords and encrypted parity data; and transmitting the multiplexed data.
Claim 11
Dependent Claim 75 words
A method for encoding data as recited in claim 9, wherein the step of generating error correction parity data comprises employing a Reed-Solomon forward error correction process, whereby parity words and associated data blocks are generated; the step of encrypting said parity data comprises inserting at least one error per data block; and the step of compressing an incoming data stream into variable length codewords comprises employing Huffman coding to generate variable length Huffman codewords.
Claim 12
Independent Claim 56 words
An apparatus for encoding data, comprising: (a) means for compressing an incoming data stream into variable length codewords; (b) means for generating error correction parity data for said codewords; (c) means for introducing an error into said codewords; (d) means for encrypting said parity data; and (e) means for transmitting said codewords and encrypted parity data.
Claim 13
Independent Claim 56 words
An apparatus for encoding data, comprising: (a) means for compressing an incoming data stream into variable length codewords; (b) means for generating error correction parity data for said codewords; (c) means for introducing an error into said codewords; (d) means for encrypting said parity data; and (e) means for transmitting said codewords and encrypted parity data.
Claim 14
Dependent Claim 40 words
An apparatus for encoding data as recited in claim 11, further comprising means for generating a seed for encrypting said parity data, means for encrypting said seed, and means for transmitting the encrypted seed as a system data packet (SDP).
Claim 15
Dependent Claim 42 words
An apparatus for encoding data as recited in claim 12, further comprising means for employing a multisession key to encrypt said seed, means for encrypting said multisession key, and means for transmitting the encrypted multisession key as an addressable data packet (ADP).
Claim 16
Dependent Claim 24 words
An apparatus for encoding data as recited in claim 13, comprising means for employing a secret serial number (SSN) to encrypt said multisession key.
Claim 17
Dependent Claim 22 words
An apparatus for encoding data as recited in claim 11, comprising means for transmitting said encrypted parity data before transmitting said codewords.
Claim 18
Dependent Claim 57 words
An apparatus for encoding data as recited in claim 11, wherein the means for generating error correction parity data comprises means for employing a Reed-Solomon forward error correction process, whereby parity words and associated data blocks are generated; and the means for encrypting said parity data comprises means for inserting at least one error per data block.
Claim 19
Dependent Claim 35 words
An apparatus for encoding data as recited in claim 11, wherein the means for compressing an incoming data stream into variable length codewords comprises means for employing Huffman coding to generate variable length Huffman codewords.
Claim 20
Dependent Claim 45 words
An apparatus for encoding data as recited in claim 11, comprising means for generating a synchronization word; means for multiplexing said synchronization word with said codewords and encrypted parity data before transmitting said codewords and encrypted parity data; and means for transmitting the multiplexed data.
Claim 21
Dependent Claim 82 words
An apparatus for encoding data as recited in claim 11, further comprising: means for generating a seed for encrypting said parity data; means for encrypting said seed by employing a multisession key; means for encrypting said multisession key by employing a secret serial number (SSN); means for generating a synchronization word; means for multiplexing said synchronization word, codewords, encrypted parity data, encrypted seed, and encrypted multisession key, before transmitting said codewords and encrypted parity data; and means for transmitting the multiplexed data.
Claim 22
Dependent Claim 79 words
An apparatus for encoding data as recited in claim 19, wherein the means for generating error correction parity data comprises means for employing a Reed-Solomon forward error correction process, whereby parity words and associated data blocks are generated; the means for encrypting said parity data comprises means for inserting one error per data block; and the means for compressing an incoming data stream into variable length codewords comprises means for employing Huffman coding to generate variable length Huffman codewords.
Claim 23
Independent Claim 130 words
An apparatus for decoding data, comprising: (a) demultiplexer means for receiving an incoming data stream and demultiplexing said data stream into variable length codewords representing a compressed data stream, encrypted parity data, a system data packet (SDP) defining an encrypted seed, and an addressable data packet (ADP) defining an encrypted multisession key; (b) first decryption means for decrypting said ADP to derive said multisession key; (c) second decryption means for decrypting said SDP in accordance with said multisession key to derive said seed; (d) third decryption means for decrypting said parity data in accordance with said seed; (e) error correction means for correcting errors in said codewords in accordance with the decrypted parity data; and (f) decompression means for generating a decompressed data stream in accordance with the corrected codewords.
Claim 24
Independent Claim 130 words
An apparatus for decoding data, comprising: (a) demultiplexer means for receiving an incoming data stream and demultiplexing said data stream into variable length codewords representing a compressed data stream, encrypted parity data, a system data packet (SDP) defining an encrypted seed, and an addressable data packet (ADP) defining an encrypted multisession key; (b) first decryption means for decrypting said ADP to derive said multisession key; (c) second decryption means for decrypting said SDP in accordance with said multisession key to derive said seed; (d) third decryption means for decrypting said parity data in accordance with said seed; (e) error correction means for correcting errors in said codewords in accordance with the decrypted parity data; and (f) decompression means for generating a decompressed data stream in accordance with the corrected codewords.
Claim 25
Dependent Claim 32 words
An apparatus for decoding data as recited in claim 21, further comprising means, coupled to said first decryption means, for storing a secret serial number (SSN) for use in decrypting said ADP.
Claim 26
Dependent Claim 31 words
An apparatus for decoding data as recited in claim 22, wherein said first, second, and third decryption means, and said means for storing an SSN, are embodied in a secure microprocessor.
Claim 27
Dependent Claim 23 words
An apparatus for decoding data as recited in claim 21, wherein said decompression means comprises a Huffman decoder and a look up table.
Claim 28
Dependent Claim 31 words
An apparatus for decoding data as recited in claim 21, wherein said error correction means comprises means for employing a Reed-Solomon forward error correction process to correct errors in said codewords.
Claim 29
Dependent Claim 44 words
An apparatus for decoding data as recited in claim 23, wherein said decompression means comprises a Huffman decoder and a look up table; and said error correction means comprises means for employing a Reed-Solomon forward error correction process to correct errors in said codewords.
Claim 30
Independent Claim 111 words
A method for decoding data, comprising the steps of: (a) receiving an incoming data stream and demultiplexing said data stream into variable length codewords representing a compressed data stream, encrypted parity data, a system data packet (SDP) defining an encrypted seed, and an addressable data packet (ADP) defining an encrypted multisession key; (b) decrypting said ADP to derive said multisession key; (c) decrypting said SDP in accordance with said multisession key to derive said seed; (d) decrypting said parity data in accordance with said seed; (e) correcting errors in said codewords in accordance with the decrypted parity data; and (f) generating a decompressed data stream in accordance with the corrected codewords.
Claim 31
Independent Claim 111 words
A method for decoding data, comprising the steps of: (a) receiving an incoming data stream and demultiplexing said data stream into variable length codewords representing a compressed data stream, encrypted parity data, a system data packet (SDP) defining an encrypted seed, and an addressable data packet (ADP) defining an encrypted multisession key; (b) decrypting said ADP to derive said multisession key; (c) decrypting said SDP in accordance with said multisession key to derive said seed; (d) decrypting said parity data in accordance with said seed; (e) correcting errors in said codewords in accordance with the decrypted parity data; and (f) generating a decompressed data stream in accordance with the corrected codewords.
Claim 32
Dependent Claim 21 words
A method for decoding data as recited in claim 27, comprising employing a secret serial number (SSN) to decrypt said ADP.
Claim 33
Dependent Claim 30 words
A method for decoding data as recited in claim 27, wherein the step of generating a decompressed data stream comprises employing a Huffman look up table to decompress said codewords.
Claim 34
Dependent Claim 31 words
A method for decoding data as recited in claim 27, wherein the step of correcting errors in said codewords comprises employing a Reed-Solomon forward error correction process to correct said errors.
Claim 35
Dependent Claim 51 words
A method for decoding data as recited in claim 27, wherein the step of generating a decompressed data stream comprises employing a Huffman look up table to decompress said codewords; and the step of correcting errors in said codewords comprises employing a Reed-Solomon forward error correction process to correct said errors.

References Cited (Backward Citations)

US4301327A Cited
US4720861A Cited
US5204899A Cited
US5226082A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-02-07 1997-08-09 1998-02-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-02-07 2001-08-09 2002-02-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-02-07 2005-08-09 2006-02-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag