Patent ID: 8290157

Claim:
A method for identifying the source of content encryption keys, comprising: disseminating a previously determined, related set of device keys into individual content players; determining the available number of encryptions and the number of encryption keys related to the available encryptions to use in multiple selective encryption of pre-determined selected portions of a single stream of content; producing a plurality of duplicated copies of data content packets comprising the pre-determined selected portions within the content which are important to decoding or making sense of the rest of the content, each copy of which is separately encrypted using an encryption and an encryption key that are different from any one of said previously determined encryptions and any one of said related encryption keys; where portions of the single stream of content that are not selected portions are left unduplicated and unencrypted by use of any of said encryptions or encryption keys and are combined with the duplicated copies of data content to produce multiple selectively encrypted content; delivering the multiple selectively encrypted content to a plurality of individual players, each player of which receives content encrypted by an incrementally different set of content encryption keys derived from the set of related device keys; and where said delivered multiple selectively encrypted content is written to a receiving device or file, or streamed to an individual player for non-synchronous playback; the method further comprising: a) selecting an encryption key from a plurality of previously selected encryption keys; and b) encrypting a selected portion of critical content with said selected encryption key; and c) testing an encryption key list to determine if the key just used is the last key in a set of selected encryption keys; then d) if the key just used is the last key in the set of selected encryption keys, selecting the first key in the set again or selecting a base encryption key; e) if the key just used is not the last key in the set of selected encryption keys, selecting the next key in the set; then f) testing to see if all content has been encrypted; g) if there is more content to be encrypted, return to a); else h) assembling a stream of encrypted content from the encrypted portions of content encrypted by the plurality of encryption keys.