Apparatus and method for cipher stealing when encrypting MPEG transport packets
First Claim
1. A method of broadcasting data by encrypting clear payload data to form encrypted payload data using a block cipher, the block cipher being characterized by a predetermined block length, the clear payload data including a first number of bits, the first number of bits being different than an integer multiple of the predetermined block length, the method comprising steps of:
- parsing the clear payload data into a last full clear block and a residual block, the last full clear block being characterized by the predetermined block length, the residual block being characterized by a residual block length, the residual block length being less than the predetermined block length, the step of parsing further parsing the last full clear block into a first part and a second part, the first part being equal in length to the residual block length, the second part being equal in length to a difference between the predetermined block length and the residual block length;
encrypting a combination of the second part and the residual block to form a first encrypted block, the first encrypted block having a third part and a fourth part, the third part being equal in length to the second part length, the fourth part being equal in length to the residual block length;
encrypting a combination of the first part and the third part to form a second encrypted block; and
combining the second encrypted block and the fourth part to form the encrypted payload data.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of encrypting clear payload data to form encrypted payload data uses a block cipher, the block cipher being characterized by a predetermined block length. The method includes a step of parsing and first and second steps of encrypting. The step of parsing parses the clear payload data into at least one full clear block and a residual block, the at least one full clear block including a last full clear block. Each full clear block is characterized by the predetermined block length. The residual block is characterized by a residual block length, the residual block length being less than the predetermined block length. The step of parsing further parses the last full clear block into a first part and a second part, the second part being characterized by a length equaling a difference between the predetermined block length and the residual block length. The first step of encrypting encrypts a combination of the second part and the residual block to form a first encrypted block, the first encrypted block having a third part and a fourth part. The third part is characterized by a length equaling the second part length. The second step of encrypting encrypts a combination of the first part and the third part to form a second encrypted block, and it is the combination of the second encrypted block and the fourth part that forms the encrypted payload data.
-
Citations
8 Claims
-
1. A method of broadcasting data by encrypting clear payload data to form encrypted payload data using a block cipher, the block cipher being characterized by a predetermined block length, the clear payload data including a first number of bits, the first number of bits being different than an integer multiple of the predetermined block length, the method comprising steps of:
-
parsing the clear payload data into a last full clear block and a residual block, the last full clear block being characterized by the predetermined block length, the residual block being characterized by a residual block length, the residual block length being less than the predetermined block length, the step of parsing further parsing the last full clear block into a first part and a second part, the first part being equal in length to the residual block length, the second part being equal in length to a difference between the predetermined block length and the residual block length; encrypting a combination of the second part and the residual block to form a first encrypted block, the first encrypted block having a third part and a fourth part, the third part being equal in length to the second part length, the fourth part being equal in length to the residual block length; encrypting a combination of the first part and the third part to form a second encrypted block; and combining the second encrypted block and the fourth part to form the encrypted payload data.
-
-
2. A method of receiving broadcast data by decrypting encrypted payload data to recover clear payload data using a block cipher, the block cipher being characterized by a predetermined block length, the encrypted payload data including a first number of bits, the first number of bits being different than an integer multiple of the predetermined block length, the method comprising steps of:
-
parsing the encrypted payload data into a last full encrypted block and a remaining block, the last full encrypted block being characterized by the predetermined block length, the remaining block being characterized by a remaining block length, the remaining block length being less than the predetermined block length; decrypting the last full encrypted block to form a last full decrypted block, the last full decrypted block having a first part and a second part, the first part being equal in length to the remaining block length, the second part being equal in length to a difference between the predetermined block length and the residual block length; decrypting a combination of the second part and the remaining block to form a second decrypted block, the second decrypted block including a third part and a fourth part; combining the first part and the third part and the fourth part to recover the clear payload data.
-
-
3. A method of broadcasting clear payload data using a block cipher, the block cipher being characterized by a predetermined block length, the clear payload data including a first number of bits, the first number of bits being different than an integer multiple of the predetermined block length, the method comprising steps of:
-
parsing the clear payload data into a last full clear block and a residual block, the last full clear block being characterized by the predetermined block length, the residual block being characterized by a residual block length, the residual block length being less than the predetermined block length, the step of parsing further parsing the last full clear block into a first part and a second part, the first part being equal in length to the residual block length, the second part being equal in length to a difference between the predetermined block length and the residual block length; encrypting a combination of the second part and the residual block to form a first encrypted block, the first encrypted block having a third part and a fourth part, the third part being equal in length to the second part length, the fourth part being equal in length to the residual block length; encrypting a combination of the first part and the third part to form a second encrypted block; combining the second encrypted block and the fourth part to form encrypted payload data; parsing the encrypted payload data into a last full encrypted block and a remaining block, the last full encrypted block being characterized by the predetermined block length, the remaining block being characterized by a remaining block length, the remaining block length being less than the predetermined block length; decrypting the last full encrypted block to form a last full decrypted block, the last full decrypted block having a fifth part and a sixth part, the fifth part being equal in length to the remaining block length, the sixth part being equal in length to a difference between the predetermined block length and the remaining block length; decrypting a combination of the sixth part and the remaining block to form a second decrypted block; and combining the first part and the second decrypted block to recover the clear payload data. - View Dependent Claims (4)
-
-
5. An encryption system with an input port to receive clear data and an output port to provide encrypted data, the system comprising:
-
a memory; a parser coupled to the input port to parse the clear data into a last full block having a predetermined block length and a residual block having a residual block length, the residual block length being less than the predetermined block length, the last full block having first and second parts, the first part having a length equal to the residual block length; and a block encryption unit to store the first part in the memory and form a first encryption result from a combination of the second part and the residual block, the first encryption result having third and fourth parts, the fourth part having a length equal to the residual block length, the block encryption unit storing the fourth part in the memory and forming a second encryption result from a combination of the first part retrieved from the memory and the third part, the second encryption result being provided at the output port as encrypted data, the fourth part retrieved from the memory being provided at the output port as encrypted data after the second encryption result is provided at the output port.
-
-
6. A decryption system with an input port to receive encrypted data and an output port to provide clear data, the system comprising:
-
a memory; a parser coupled to the input port to parse the encrypted data into a last full block having a predetermined block length and a residual block having a residual block length, the residual block length being less than the predetermined block length; and a block decryption unit to form a first decryption result from the last full block, the first decryption result having first and second parts, the second part being stored in the memory, the first part having a length equal to the residual block length and being provided at the output port as clear data, the block decryption unit further forming a second decryption result from a combination of the second part retrieved from the memory and the remaining block, the second decryption result having third and fourth parts, the fourth part having a length equal to the residual block length, the second decryption result being provided at the output port as clear data after the first part is provided at the output port.
-
-
7. A communication system comprising an encryption system and a decryption system, wherein:
-
the encryption system has an encryption input port to receive clear data and an encryption output port to provide encrypted data; the encryption system further includes a parser coupled to the encryption input port to parse the clear data into a last full block having a predetermined block length and a residual block having a residual block length, the residual block length being less than the predetermined block length, the last full block having first and second parts, the first part having a length equal to the residual block length; the encryption system further includes a first memory; the encryption system further includes a block encryption unit to store the first part in the first memory and form a first encryption result from a combination of the second part and the residual block, the first encryption result having third and fourth parts, the fourth part having a length equal to the residual block length, the block encryption unit storing the fourth part in the first memory and forming a second encryption result from a combination of the first part retrieved from the first memory and the third part, the second encryption result being provided at the encryption output port as encrypted data, the fourth part retrieved from the first memory being provided at the encryption output port as encrypted data after the second encryption result is provided at the encryption output port; the decryption system having a decryption input port to receive encrypted data and a decryption output port to provide recovered clear data; the decryption system further including a second memory; the decryption system further including a parser coupled to the decryption input port to parse the encrypted data into a last full encrypted block having the predetermined block length and a remaining block having a remaining block length, the remaining block length being less than the predetermined block length; and a block decryption unit to form a first decryption result from the last full encrypted block, the first decryption result having fifth and sixth parts, the sixth part being stored in the second memory, the fifth part having a length equal to the remaining block length and being provided at the decryption output port as recovered clear data, the block decryption unit further forming a second decryption result from a combination of the sixth part retrieved from the second memory and the remaining block, the second decryption result having seventh and eighth parts, the eighth part having a length equal to the remaining block length, the second decryption result being provided at the decryption output port as recovered clear data after the fifth part is provided at the decryption output port. - View Dependent Claims (8)
-
Specification