Rapid decryption of data by key synchronization and indexing
First Claim
1. A method of encrypting data for rapid decryption, the method comprising the steps of:
- sequentially generating a plurality of random numbers;
sequentially generating a plurality of index numbers respectively associated with said random numbers, wherein a first index number is initially generated and said index numbers increment by a predefined value;
calculating a plurality of cyphered seeds according to a combination of each one of said random numbers and each one of said respectively associated index numbers;
sending said plurality of cyphered seeds and said corresponding index numbers from a server to at least one receiver; and
resending each one of said plurality of cyphered seeds and said corresponding index numbers from said server to said receiver, wherein a cyphered seed and index number pair is resent before sending a subsequent cyphered seed and index number pair.
3 Assignments
0 Petitions
Accused Products
Abstract
A satellite broadcast conditional access system with key synchronization uses indexing of an authorization stream to quickly restart the decrypting process after short carrier fades and after carrier switches. The authorization stream includes cyphered seeds and index numbers which are sequentially sent to a group of receivers. The same authorization stream can also be broadcast multiple times to the group of receivers. A conditional access server selects a starting index number and increments the index number by a predefined value. The receivers have a memory to save the current index number for the authorization stream. Any receiver that loses its connection to the broadcast and thereafter reestablishes its connection can retrieve the latest index number being issued in the authorization stream and compare it with the stored index number. When the index numbers match or are within a defined threshold, the receiver will continue to decypher the seeds and decrypt the transport stream.
-
Citations
65 Claims
-
1. A method of encrypting data for rapid decryption, the method comprising the steps of:
-
sequentially generating a plurality of random numbers;
sequentially generating a plurality of index numbers respectively associated with said random numbers, wherein a first index number is initially generated and said index numbers increment by a predefined value;
calculating a plurality of cyphered seeds according to a combination of each one of said random numbers and each one of said respectively associated index numbers;
sending said plurality of cyphered seeds and said corresponding index numbers from a server to at least one receiver; and
resending each one of said plurality of cyphered seeds and said corresponding index numbers from said server to said receiver, wherein a cyphered seed and index number pair is resent before sending a subsequent cyphered seed and index number pair. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of encrypting data for rapid decryption, the method comprising the steps of:
- sequentially generating a plurality of random numbers;
sequentially generating a plurality of index numbers respectively associated with said random numbers, wherein a first index number is initially generated and said index numbers increment by a predefined value;
calculating a plurality of cyphered seeds according to a combination of each one of said random numbers, each one of said respectively associated index numbers, and a plurality of serial numbers respectively associated with a group of receivers;
sending a group of cyphered seed and corresponding index number pairs from a server to said group of receivers during a flavor distribution period;
resending said group of cyphered seed and corresponding index number pairs to said group of receivers during said flavor distribution period;
repeating said sending and resending steps for a plurality of subsequent groups of cyphered seed and corresponding index number pairs to said group of receivers, extracting a cyphered seed using its serial number from said cyphered seed and index number pairs in each one of said receivers;
decyphering said cyphered seed and index number pairs in each one of said receivers;
storing said decyphered seed and index number pair in a memory of each one of said receivers;
repeating said decyphering and storing steps for a plurality of subsequent cyphered seed and index number pairs until an occurrence of a reset;
after said reset, decyphering a most recently received index number and comparing said most recently received index number with said stored index number; and
continuing with said decyphering and storing steps if said most recently received index number is within a defined tolerance of said stored index number. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
- sequentially generating a plurality of random numbers;
-
23. A system for encrypting and decrypting data, comprising:
- means for sequentially generating a plurality of random numbers and a plurality of index numbers respectively associated with said random numbers, wherein a first index number is initially generated and said index numbers increment by a predefined value;
means for calculating a plurality of cyphered seeds according to a combination of each one of said random numbers, each one of said respectively associated index numbers, and a plurality of serial numbers respectively associated with a group of receivers;
means for sending a group of cyphered seed and corresponding index number pairs from a server to said group of receivers during a flavor distribution period, and resending said group of cyphered seed and corresponding index number pairs to said group of receivers during said flavor distribution period;
means for extracting a cyphered seed and corresponding index number from said cyphered seed and index number pairs, wherein at least one of said serial numbers is used to extract said cyphered seed;
a decrypter in operative communication with said extracting means receives said extracted cyphered seed and said index number and decyphers said cyphered seed into a decyphered seed;
a memory device in operative communication with said decrypter receives and stores said decyphered seed and index number;
means for setting a reset command and thereafter comparing a new index number with said stored index number according to a defined tolerance. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30)
- means for sequentially generating a plurality of random numbers and a plurality of index numbers respectively associated with said random numbers, wherein a first index number is initially generated and said index numbers increment by a predefined value;
-
31. A server for encrypting data, comprising:
- means for sequentially generating a plurality of random numbers and a plurality of index numbers respectively associated with said random numbers, wherein a first index number is initially generated and said index numbers increment by a predefined value;
means for calculating a plurality of cyphered seeds according to a combination of each one of said random numbers and each one of said respectively associated index numbers; and
means for sending a group of cyphered seed and corresponding index number pairs from a server to a respective group of receivers during a flavor distribution period, and resending said group of cyphered seed and corresponding index number pairs to said respective group of receivers during said flavor distribution period. - View Dependent Claims (32, 33, 34)
- means for sequentially generating a plurality of random numbers and a plurality of index numbers respectively associated with said random numbers, wherein a first index number is initially generated and said index numbers increment by a predefined value;
-
35. An integrated receiver decoder for decrypting data, comprising:
- means for extracting a cyphered seed and a corresponding index number from a group of cyphered seed and index number pairs;
wherein a plurality of serial numbers are used to generate a plurality of cyphered seeds and wherein at least one of said serial numbers is used to extract said cyphered seed;
a decrypter in operative communication with said extracting means receives said extracted cyphered seed and said corresponding index number and decyphers said cyphered seed into a decyphered seed;
a memory device in operative communication with said decrypter receives and stores said decyphered seed and index number; and
means for setting a reset command and thereafter comparing a new index number with said stored index number according to a defined tolerance. - View Dependent Claims (36)
- means for extracting a cyphered seed and a corresponding index number from a group of cyphered seed and index number pairs;
-
37. A computer-implemented method, comprising:
-
sending, by an access server, one or more ciphered seeds and one or more index numbers associated with the one or more ciphered seeds to at least one content receiver; and
resending, by the access server, the one or more ciphered seeds and the one or more index numbers, wherein a ciphered seed and index number pair are sent before sending subsequent ciphered seed and index number pairs. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45)
-
-
46. A system for encrypting data, comprising:
-
an access server configured to generate one or more ciphered seeds; and
a cryptographic multiplexer configured to;
send the one or more ciphered seeds and one or more index numbers to one or more content receivers during a flavor distribution period; and
resend the one or more ciphered seeds and the one or more index numbers to the one or more content receivers during the flavor distribution period. - View Dependent Claims (47)
-
-
48. A computer-implemented method, comprising:
-
receiving, by a content receiver, an encrypted data stream;
extracting, by the content receiver, a ciphered seed and index number pair from the encrypted data stream using a number associated with the content receiver;
deciphering, by the content receiver, the ciphered seed to create a deciphered seed;
storing, by the content receiver, the deciphered seed and index number in memory;
detecting, by the content receiver, a reset, and responsive to the reset;
comparing a received index number with the stored index number; and
deciphering and storing additional ciphered seeds responsive to the received index number corresponding to the stored index number. - View Dependent Claims (49, 50, 51, 52, 53)
-
-
54. A system for decrypting data, comprising:
-
a demultiplexer configured to extract a ciphered seed from an encrypted data stream using a number associated with a content receiver;
a decrypter configured to decipher the extracted ciphered seed;
a processor configured to;
detect a reset; and
validate the deciphered seed responsive to the reset; and
a descrambler configured to decrypt the encrypted data stream using the deciphered seed responsive to the deciphered seed being valid. - View Dependent Claims (55, 56, 57, 58, 59)
-
-
60. A computer-implemented method, comprising:
-
detecting, by a content receiver, a loss of an encrypted data stream;
determining, by the content receiver, an index number and odd/even flavor associated with a restored encrypted data stream;
determining, by the content receiver, whether the index number corresponds to a stored index number; and
decrypting, by the content receiver, the restored encrypted data stream using an encryption seed corresponding to the stored index number if the index number corresponds to the stored index number. - View Dependent Claims (61, 62, 63, 64, 65)
-
Specification