Secure data encoder and decoder
AssigneeAdobe Systems Incorporated
InventorStephen Kelley Amerige
Life of this patent
Estimating the term…
Abstract
A computer system includes a processor and a computer readable medium storing a computer program product for encoding a serial bit stream of digital data. The product includes instructions for causing the processor to place a first number of bits from the input bit stream into bit positions of an encoded output unit in accordance with a first value, the first number of bits aligned to a bit position in the encoded output unit in accordance with a second value and insert bits of arbitrary value into remaining, bit positions of the unit of the encoded output unit. In addition, the computer program product includes instructions that cause a processor to select significant bits from a unit of the encoded bit stream in accordance with the first value and the second value to place the selected bits in a decoded bit stream.
Claims54
A method of encoding a serial bit stream of digital data, the method comprises:
- placing a first portion of bits from the input bit stream into bit positions of an encoded output unit in accordance with a first value, said first number of bits aligned to a bit position in the encoded output unit in accordance with a second value and inserting bits of arbitrary value into remaining bit positions of the unit of the encoded output unit;
- placing a remaining portion of bits from the input bit stream into bit positions of a second encoded output unit in accordance with a different, first value, said remaining portion of bits aligned to a bit position in the second encoded output unit in accordance with a different, second value and inserting bits of arbitrary value into remaining bit positions of the second unit of the encoded output unit;
- and
- wherein the bits of arbitrary value are noise bits.
A method of encoding a serial bit stream of digital data, the method comprises:
- placing a first portion of bits from the input bit stream into bit positions of an encoded output unit in accordance with a first value, said first number of bits aligned to a bit position in the encoded output unit in accordance with a second value and inserting bits of arbitrary value into remaining bit positions of the unit of the encoded output unit;
- placing a remaining portion of bits from the input bit stream into bit positions of a second encoded output unit in accordance with a different, first value, said remaining portion of bits aligned to a bit position in the second encoded output unit in accordance with a different, second value and inserting bits of arbitrary value into remaining bit positions of the second unit of the encoded output unit;
- and
- iteratively generating subsequent first values and subsequent second values for the actions of placing, and for each subsequent action of placing, placing a variable number of bits, as determined by the subsequent first values from the input bit stream into subsequent encoded output units.
A method of decoding an encoded serial bit stream, the method comprising:
- selecting significant bits from a unit of the encoded bit stream in accordance with a number of bits value and a bit alignment value to place the selected bits in a decoded bit streams;
- gathering values of two prime numbers to produce generated values;
- generating the generated values based on the gathered values of the two prime numbers;
- and
- producing the number of bits value and the bit alignment value from the generated values.
A computer program product residing on a computer readable medium for encoding a serial bit stream of digital data, the product comprising instructions for causing a processor to:
- place a first portion of bits from the input bit stream into bit positions of an encoded output unit in accordance with a first value, said first number of bits aligned to a bit position in the encoded output unit in accordance with a second value and insert bits of arbitrary value into remaining, bit positions of the unit of the encoded output unit;
- and
- place a remaining portion of bits from the input bit stream into bit positions of a second encoded output unit in accordance with a different, first value, said remaining portion of bits aligned to a bit position in the second encoded output unit in accordance with a different, second value and insert bits of arbitrary value into remaining bit positions of the second unit of the encoded output unit;
- and
- iteratively generate subsequent first values and subsequent second values to place a variable number of bits determined by the subsequent first values from the input bit stream into subsequent encoded output units.
A computer program product residing on a computer readable medium for decoding an encoded serial bit stream, the computer program product comprising instructions that cause a processor to:
- select significant bits from a unit of the encoded bit stream in accordance with a number of bits value and a bit alignment value to place the selected bits in a decoded bit stream;
- gather values of two prime numbers to produce generated values;
- generate the generated values based on the gathered values of the two prime numbers;
- and
- produce the number of bits value and the bit alignment value from the generated values.
Dependencies are inferred from the claim text.