Patent ID: 7876895

Claim:
A processor-implemented method of performing a unified broadcast encryption and a traitor tracing for a digital content, comprising: dividing a media key tree into S subtrees; dividing the digital content into a plurality of segments; converting at least some of the segments into a plurality of variations, wherein a sum of a number of the segments and a number of the variations is equivalent to a quantity q, wherein q represents the number of different variations of said content; comparing an absolute value of said substrees (S) with quantity q; upon determination that the absolute value of S is not greater than q/2, subdividing each of the subtrees into q/|S| subdivided subtrees, wherein |S| represents the absolute value of S; assigning a separate media key variant to each of the subdivided subtrees; and generating a unified media key block so that the digital content is encrypted by a unified media key block, wherein entries in said unified media key block are determined by encrypting each of the media key variants with a subtree key associated with the subdivided subtree that is assigned one of the media key variants; decrypting the digital content by reading and processing the media key block to obtain a media key variant required for each of the variations of the digital content; utilizing said media key variant to find an entry in a variant key table, wherein each entry in the variant key table contains the title key encrypted by a valid media key variant associated with a segment of said content; decrypting said title key using the media key variant and locating a variant number from the variant key table; decrypting the digital content utilizing the decrypted title key to decrypt and play the segments and the variations; tracing a traitor by identifying a variation and a corresponding one of said subdivided subtrees used by the traitor to circumvent the encrypted digital content by iteratively identifying the variation used; determining a leaf of the media key tree identified as being used by the traitor by iteratively processing said subdivided subtree; and revoking a traitor using the identified variation and the identified subdivided subtree by removing the identified subdivided subtree from an associated subtree.