A playback device, the device configured to receive encrypted content as a transport stream of content data packets, at least some packets containing keys arranged in pairs, each key having either an odd or even polarity, the playback device comprising: at least one content store configured for holding the received encrypted content; at least one processor accessing the store and programmed with logic to: strip the keys from the packets; arrange the keys in a key table; and link keys in the table with key changes in the transport stream, to facilitate subsequent decryption and playback of the content; wherein headers of packets of the transport stream contain at least one encryption-indicating bit, the at least one encryption-indicating bit indicating the polarity of a key to be used for decryption, and the processor is adapted to: establish at least one index table indicating changes in encryption-indicating bits in the transport stream, entries in the index table being correlated to the keys in the key table; decrypt a content data packet of the stream and play the packet at least in part by: accessing the index table to identify at least one key associated with the packet; and using the at least one key to decrypt the content; means for receiving a user-initiated jump from a first video packet to a second video packet; and means for changing at least some encryption-indicating bits following the second packet if the encryption-indicating bits associated with the first packet indicate that the encryption-indicating bits associated with the second packet are odd rather than even or even rather than odd, wherein the keys are encrypted, and the processor is adapted to decrypt the keys after accessing the table and prior to using the keys to decrypt the content. at least one content store configured for holding the received encrypted content; at least one processor accessing the store and programmed with logic to: strip the keys from the packets; arrange the keys in a key table; and link keys in the table with key changes in the transport stream, to facilitate subsequent decryption and playback of the content; strip the keys from the packets; arrange the keys in a key table; and link keys in the table with key changes in the transport stream, to facilitate subsequent decryption and playback of the content; wherein headers of packets of the transport stream contain at least one encryption-indicating bit, the at least one encryption-indicating bit indicating the polarity of a key to be used for decryption, and the processor is adapted to: establish at least one index table indicating changes in encryption-indicating bits in the transport stream, entries in the index table being correlated to the keys in the key table; decrypt a content data packet of the stream and play the packet at least in part by: accessing the index table to identify at least one key associated with the packet; and using the at least one key to decrypt the content; establish at least one index table indicating changes in encryption-indicating bits in the transport stream, entries in the index table being correlated to the keys in the key table; decrypt a content data packet of the stream and play the packet at least in part by: accessing the index table to identify at least one key associated with the packet; and using the at least one key to decrypt the content; accessing the index table to identify at least one key associated with the packet; and using the at least one key to decrypt the content; means for receiving a user-initiated jump from a first video packet to a second video packet; and means for changing at least some encryption-indicating bits following the second packet if the encryption-indicating bits associated with the first packet indicate that the encryption-indicating bits associated with the second packet are odd rather than even or even rather than odd, wherein the keys are encrypted, and the processor is adapted to decrypt the keys after accessing the table and prior to using the keys to decrypt the content.