Storage of digital data
First Claim
1. A digital apparatus for locating a Data Encryption Standard (DES) key value corresponding to a Program Identification (PID) contained at a variable location that has only part of a packet header consisting of a predetermined number of input bits, said apparatus comprising:
- (a) a table storing circuit that is configured to store a table containing a DES key value and, for each DES key value, a corresponding packet header comprising said predetermined number of bits with a PID contained at a variable location in the packet header and with zero values elsewhere;
(b) a mask value storing circuit formed unitary with the table storing circuit to store mask values corresponding to respective DES key values, each mask value comprising the same predetermined number of bits as said packet headers with ones contained at said variable location and with zero values elsewhere;
(c) an input for receiving an input packet header comprising said predetermined number of bits;
(d) a combining circuit coupled to said mask value storing circuit and said input to combine said input packet header and one of said mask values and configured to provide a combined value consisting of a value held in said input packet header at said variable location and zeros elsewhere;
(e) a read circuit coupled to the table storing circuit to read DES key values from the table storing circuit; and
(f) a comparing circuit coupled to said table storing circuit and said combining circuit to compare said combined value and one of said packet headers stored in said table storing circuit and, (i) when they are not equal, utilizing a register circuit to repeat the operations of said combining circuit and said comparing circuit for a next packet header and corresponding mask and DES key value stored in said table storing circuit, and (ii) when they are equal, enabling the read circuit to read said corresponding DES key value from said table storing circuit and providing it as an output value.
0 Assignments
0 Petitions
Accused Products
Abstract
A device for locating a DES key value that corresponds to a packet identification (PID) contained at a variable possible location which comprises part only of a 32-bit packet header. A table stored in memory contains for each DES key: (i) a packet header having 32 bits with a PID of either 12, 9 or 8 bits contained at a defined location and with zero values elsewhere, and (ii) a mask value also having 32 bits with ones contained at the said defined location of the PID and zeros elsewhere. The table is divided into regions for respective packet format types. An incoming packet header at an input is combined with a first one of the mask values from the table to provide a combined value that consists of the value held in the input packet header at the defined location and zeros elsewhere. This combined value is compared with the corresponding packet header stored in the table. When they are not equal, the combining and comparison is repeated for the next row of the table. When they are equal, the corresponding DES key value is read from the table and provided as an output. The system can cope with variable PID formats within the packet header without alteration to the hardware but merely with re-programming of the table contents.
-
Citations
7 Claims
-
1. A digital apparatus for locating a Data Encryption Standard (DES) key value corresponding to a Program Identification (PID) contained at a variable location that has only part of a packet header consisting of a predetermined number of input bits, said apparatus comprising:
-
(a) a table storing circuit that is configured to store a table containing a DES key value and, for each DES key value, a corresponding packet header comprising said predetermined number of bits with a PID contained at a variable location in the packet header and with zero values elsewhere; (b) a mask value storing circuit formed unitary with the table storing circuit to store mask values corresponding to respective DES key values, each mask value comprising the same predetermined number of bits as said packet headers with ones contained at said variable location and with zero values elsewhere; (c) an input for receiving an input packet header comprising said predetermined number of bits; (d) a combining circuit coupled to said mask value storing circuit and said input to combine said input packet header and one of said mask values and configured to provide a combined value consisting of a value held in said input packet header at said variable location and zeros elsewhere; (e) a read circuit coupled to the table storing circuit to read DES key values from the table storing circuit; and (f) a comparing circuit coupled to said table storing circuit and said combining circuit to compare said combined value and one of said packet headers stored in said table storing circuit and, (i) when they are not equal, utilizing a register circuit to repeat the operations of said combining circuit and said comparing circuit for a next packet header and corresponding mask and DES key value stored in said table storing circuit, and (ii) when they are equal, enabling the read circuit to read said corresponding DES key value from said table storing circuit and providing it as an output value. - View Dependent Claims (2)
-
-
3. A digital method for locating a Data Encryption Standard (DES) key value corresponding to a Program Identification (PID) contained at a variable location that comprises only part of a packet header consisting of a predetermined number of input bits, said method comprising the steps of:
-
(a) storing a table, in a memory, containing DES key value and, for each DES key value, a packet header comprising said predetermined number of bits with a PID contained at a variable location in the packet header and with zero values elsewhere; (b) storing mask values in the table, in the memory, corresponding to respective DES key values, each mask value comprising the same predetermined number of bits as said packet headers with ones contained at the variable location and with zero values elsewhere; (c) receiving, at an input, an input packet header comprising said predetermined number of bits; (d) combining, in a combining circuit, said input packet header and one of said mask values and providing a combined value consisting of a value held in said input packet header at the variable location and zeros elsewhere; and (e) comparing, in a comparator, said combined value and one of said packet headers stored in said table and, (i) when they are not equal, incrementing to a next packet header and corresponding DES key values and mask values and repeating said combining and said comparing operations for the incremented packet header stored in said table, and (ii) when they are equal, reading said corresponding DES key value from said table and providing it as an output value. - View Dependent Claims (4)
-
-
5. A digital apparatus for locating a Data Encryption Standard (DES) key value corresponding to a Program Identification (PID) contained at a variable location that comprises only part of a packet header consisting of a predetermined number of input bits, said apparatus comprising:
-
(a) a table store for storing a table containing a DES key value and, for each DES key value, a packet header comprising the predetermined number of bits with a PID contained at a variable location in the packet header and with zero values elsewhere; (b) a mask value store formed unitary with the table store for storing mask values corresponding to respective DES key values, each mask value comprising the same number of bits as the predetermined number of bits as the packet headers with ones contained at the variable location and with zero values elsewhere; (c) an input for receiving an input packet header comprising the same number of bits as the predetermined number of bits; (d) a combiner coupled to the mask value store and the input to combine the input packet header and one of the mask values and configured to provide a combined value consisting of a value held in the input packet header at the variable location and zeros elsewhere;
(e) a read circuit coupled to the table storing means to read DES key values from the table storing means; and (f) a comparator coupled to the table store and the combiner for comparing the combined value and one of the packet headers stored in the table and, (i) when they are not equal, utilizing a register circuit to repeat the operations of the combiner and the comparator for the next packet header and corresponding mask and DES key value stored in the table, and (ii) when they are equal, enabling the read circuit to read the corresponding DES key value from the table and providing it as an output value. - View Dependent Claims (6)
-
-
7. A device for locating a Data Encryption Standard (DES) key value, comprising:
-
a memory table configured to store a predetermined number of mask bits, Program Identification (PID) header bits, and corresponding DES key bits; a header identifier circuit coupled to an input and configured to receive an input packet having PID header bits at a variable location in the input packet; a combiner circuit coupled to the memory table via a mask read circuit and to the header identifier circuit and configured to combine the mask bits and the header bits and to generate a combined value that comprises bits from the header bits; a compare circuit coupled to an output of the combiner circuit and to a header read circuit and configured to compare the combined value with the PID header bits stored in the memory table, and when the PID header bits stored in the memory table are not equal with the combined value, utilizing an incrementer circuit to increment to next packet header bits and corresponding mask bits and DES key bits and repeatedly reading the next PID header bits stored in the memory table and comparing the next PID header bits from the memory table with the combined value until the next PID header bits and combined value are matched; and a DES key read circuit coupled to the memory table and configured to read from the memory table and output the DES key bits corresponding to the PID header bits in the memory that are matched with the combined value.
-
Specification