IP Library Granted Patent US 8,064,600
Granted Patent B2
US 8,064,600 · App. 12/144,319 · Granted Nov 22, 2011

Encoded digital video content protection between transport demultiplexer and decoder

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,064,600
App. No.
12/144,319
Granted
Nov 22, 2011
Kind
B2
Abstract

A system for encrypting and decrypting data is provided. The system includes a client for receiving a data packet, setting a value of a crypto bit, and transmitting the data packet over a system bus. A crypto module receives the data packet from the system bus and performs a cryptology function on the data packet based on a first value of the crypto bit. A memory controller receives the data packet from the system bus and performs non-cryptology functions on the data packet based on a second value of the crypto bit.

Claims (44)

1. A system for encrypting and decrypting data comprising:

a client for receiving a data packet, setting a value of a crypto bit, and transmitting the data packet over a system bus;

a crypto module for receiving the data packet from the system bus and performing a cryptology function on the data packet based on a first value of the crypto bit; and

a memory controller for receiving the data packet from the system bus and performing non-cryptology functions on the data packet based on a second value of the crypto bit;

wherein the cryptology function comprises:

performing initial processing including reading the data packet and determining whether or not the data packet should be encrypted or decrypted;

modifying an encryption/decryption key using an address and a content ID of the data packet as well as a hashing algorithm; and

applying the modified key to the data packet to encrypt or decrypt data within the data packet.

2. The system of claim 1 wherein the crypto module further comprises a key generator for receiving a random number key and modifying the random number key based on predetermined fields of the data packet.

3. The system of claim 2 wherein the crypto module further comprises a bus slave module for controlling read and write operations between the system bus and the crypto module in response to client data.

4. The system of claim 3 wherein the crypto module further comprises a bus master module for controlling read and write operations between the system bus and the crypto module in response to data generated by the crypto module.

5. The system of claim 4 wherein the crypto module further comprises a read/write arbiter for determining a priority between read operations and write operations of the crypto module.

6. The system of claim 1 wherein the client comprises one or more of a transport stream processor, an audio decoder and a video decoder.

7. The system of claim 2 further comprising a transport stream processor for assigning a content ID for the data packet, wherein the key generator modifies the random number key based on the content ID of the data packet.

8. A method for encrypting and decrypting data comprising:

setting a crypto bit of a data packet to control encryption and decryption of the data packet;

transmitting the data packet over a system bus;

performing a proxy determination to determine if the data packet will be processed by a dedicated crypto module or by a memory controller as a function of the crypto bit;

processing the data packet with the dedicated crypto module based on a first value of the crypto bit; and

processing the data packet with the memory controller based on a second value of the crypto bit;

wherein the processing at the crypto module includes a cryptology function comprising:

performing initial processing including reading the data packet and determining whether or not the data packet should be encrypted or decrypted;

modifying an encryption/decryption key using an address and a content ID of the data packet as well as a hashing algorithm; and

applying the modified key to the data packet to encrypt or decrypt data within the data packet;

wherein both the crypto module and the memory controller receive but do not process data packets having an incorrect setting of the crypto bit.

9. The method of claim 8 wherein processing the data packet with the dedicated crypto module based on the first value of the crypto bit comprises reading or writing the data packet from or to the system bus using a bus interface slave module based on data received from a client.

10. The method of claim 9 wherein processing the data packet with the dedicated crypto module based on the first value of the crypto bit comprises reading or writing the data packet from or to the system bus using a bus interface master module based on data generated by the crypto module.

11. The method of claim 10 wherein processing the data packet with the dedicated crypto module based on the first value of the crypto bit comprises encrypting the data packet using a key modified using predetermined data attributes of the data packet.

12. The method of claim 11 wherein processing the data packet with the dedicated crypto module based on the first value of the crypto bit comprises decrypting the data packet using a key modified using predetermined data attributes of the data packet.

13. A system for encrypting and decrypting data comprising:

a client for receiving a data packet, setting a value of a crypto bit, and transmitting the data packet over a system bus;

at least one component that receives the data packet from the system bus and performs a cryptology function on the data packet based on a first value of the crypto bit; and

a memory controller for receiving the data packet from the system bus and performing non-cryptology functions on the data packet based on a second value of the crypto bit;

wherein the cryptology function comprises:

performing initial processing including reading the data packet and determining whether or not the data packet should be encrypted or decrypted;

modifying an encryption/decryption key using an address and a content ID of the data packet as well as a hashing algorithm; and

applying the modified key to the data packet to encrypt or decrypt data within the data packet.

14. The system of claim 13 wherein the at least one component receives a random number key and modifies the random number key based on predetermined data attributes of the data packet.

15. The system of claim 13 wherein the at least one component controls read and write operations between the system bus and the crypto module in response to client data.

16. The system of claim 13 wherein the at least one component controls read and write operations between the system bus and the crypto module in response to data generated by the crypto module.

17. The system of claim 13 wherein the at least one component determines a priority between read operations and write operations of the crypto module.

18. The system of claim 13 wherein the client comprises one or more of a transport stream processor, an audio decoder and a video decoder.

19. The system of claim 14 further comprising a transport stream processor for assigning a content ID for the data packet, wherein the at least one component modifies the random number key based on the content ID of the data packet.

20. The system of claim 13 wherein the at least one component generates a random number key and modifies the random number key based on predetermined data attributes of the data packet.

Assignments (13)
RELEASE OF SECURITY INTEREST Recorded Jun 23, 2021
From: MUFG UNION BANK, N.A.
To: MAXLINEAR, INC.; EXAR CORPORATION; MAXLINEAR COMMUNICATIONS LLC
Reel/Frame 056656/0204 →
SUCCESSION OF AGENCY (REEL 042453 / FRAME 0001) Recorded Jul 1, 2020
From: JPMORGAN CHASE BANK, N.A.
To: MUFG UNION BANK, N.A.
Reel/Frame 053115/0842 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2018
From: MAXLINEAR INC.; ENTROPIC COMMUNICATIONS LLC
To: DYNAMIC DATA TECHNOLOGIES LLC
Reel/Frame 047914/0274 →
SECURITY AGREEMENT Recorded May 12, 2017
From: MAXLINEAR, INC.; ENTROPIC COMMUNICATIONS, LLC (F/K/A ENTROPIC COMMUNICATIONS, INC.); EXAR CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042453/0001 →
MERGER AND CHANGE OF NAME Recorded May 19, 2015
From: ENTROPIC COMMUNICATIONS, INC.; EXCALIBUR SUBSIDIARY, LLC; ENTROPIC COMMUNICATIONS, LLC
To: ENTROPIC COMMUNICATIONS, LLC
Reel/Frame 035717/0628 →
MERGER AND CHANGE OF NAME Recorded May 18, 2015
From: EXCALIBUR ACQUISITION CORPORATION; ENTROPIC COMMUNICATIONS, INC.; ENTROPIC COMMUNICATIONS, INC.
To: ENTROPIC COMMUNICATIONS, INC.
Reel/Frame 035706/0267 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2012
From: TRIDENT MICROSYSTEMS, INC.; TRIDENT MICROSYSTEMS (FAR EAST) LTD.
To: ENTROPIC COMMUNICATIONS, INC.
Reel/Frame 028146/0178 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2010
From: NXP
To: NXP HOLDING 1 B.V.
Reel/Frame 023928/0489 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2010
From: TRIDENT MICROSYSTEMS (EUROPE) B.V.; NXP HOLDING 1 B.V.
To: TRIDENT MICROSYSTEMS (FAR EAST) LTD.
Reel/Frame 023928/0552 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2008
From: CONEXANT SYSTEMS, INC.
To: NXP, B.V.
Reel/Frame 021629/0403 →
RELEASE OF SECURITY INTEREST Recorded Sep 12, 2008
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A. (FORMERLY, BANK OF NEW YORK TRUST COMPANY, N.A.)
To: CONEXANT SYSTEMS, INC.
Reel/Frame 021526/0352 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2008
From: BATES, MATTHEW D.; HEHENBERGER, LANCE G.
To: CONEXANT SYSTEMS, INC.
Reel/Frame 021136/0954 →
SECURITY AGREEMENT Recorded Jun 23, 2008
From: CONEXANT SYSTEMS, INC.
To: THE BANK OF NEW YORK TRUST COMPANY, N.A.
Reel/Frame 021137/0983 →