Methods of scrambling and descrambling units of data
AssigneeIrdeto Access B.V.
InventorAntonius Johannes Petrus Maria Van De Ven
Life of this patent
Estimating the term…
Abstract
A method of scrambling a stream of data includes obtaining from the stream a succession of first sequences of blocks of data. The order of the blocks is reversed in each of the first sequences of blocks to form respective second sequences of blocks of data. The blocks in each second sequence of blocks are encrypted using a cipher in block chaining mode, initialized with a respective initialization vector for each second sequence of blocks. For a succession of first sequences of blocks included in a unit of data within the stream, at least one initialization vector for encrypting a second sequence of blocks formed from a first sequence of blocks in the unit is generated in dependence on at least one block in a preceding first sequence of blocks of the unit.
Claims17
A method of scrambling a stream of data, comprising:
- receiving at a scrambler the stream of data;
- obtaining from the stream of data a succession of first sequences of blocks of data,
- reversing the order of the blocks in each of the first sequences of blocks to form respective second sequences of blocks of data, and
- encrypting the blocks in each second sequence of blocks using a cipher in block chaining mode, initialised with a respective initialisation vector for each second sequence of blocks,
- wherein, for a succession of first sequences of blocks included in a unit of data within the stream, at least one first initialisation vector for encrypting a second sequence of blocks formed from a first sequence of blocks in the unit is generated in dependence on at least one block in a preceding first sequence of blocks of the unit.
A system for scrambling a stream of data, comprising:
- an input for receiving the stream as a succession of first sequences of blocks of data,
- a plurality of registers and at least one logic unit for reversing the order of the blocks in each of the first sequences of blocks to form respective second sequences of blocks of data, and
- a processing arrangement for encrypting the blocks in each second sequence of blocks using a cipher in block chaining mode, initialised with a respective initialisation vector for each second sequence of blocks,
- wherein, the system is arranged, for a succession of first sequences of blocks included in a unit of data within the stream, to generate at least one first initialisation vector for encrypting a second sequence of blocks formed from a first sequence of blocks in the unit in dependence on at least one block in a preceding first sequence of blocks of the unit.
A method of descrambling a stream of scrambled data to form a stream of data, comprising:
- receiving at a descrambler a stream of scrambled data;
- obtaining from the stream of scrambled data a succession of sequences of blocks of scrambled data, and
- descrambling each sequence of blocks of scrambled data to form an associated sequence of blocks of descrambled data, by using a decryption cipher in reverse chaining mode, wherein, to descramble a sequence of blocks of scrambled data,
- a final block in the sequence of blocks of descrambled data is obtained by applying the decryption cipher to a final block in the associated sequence of blocks of scrambled data and applying an operator having as operands at least the result of the decryption cipher and an initialisation vector, and wherein each block preceding the final block in the sequence of blocks of descrambled data is obtained by applying the decryption cipher to a block in the sequence of blocks of scrambled data at a corresponding position and applying an operator having as operands at least the result of the decryption cipher and a block of scrambled data at a next position in the sequence of blocks of scrambled data,
- wherein, for a succession of sequences of blocks of scrambled data included in a unit of data within the stream of scrambled data, at least one first initialisation vector for descrambling a sequence of blocks of scrambled data is generated in dependence on at least one block of descrambled data in a sequence of blocks of descrambled data obtained by descrambling a preceding sequence of blocks of scrambled data of the unit.
A system for descrambling a stream of scrambled data to form a stream of data, comprising:
- an input for receiving the stream of scrambled data as a succession of sequences of blocks of scrambled data, and
- a processing arrangement for descrambling each sequence of blocks of scrambled data to form an associated sequence of blocks of descrambled data, by using a decryption cipher in reverse chaining mode, wherein, to descramble a sequence of blocks of scrambled data,
- a final block of descrambled data in the sequence is obtained by applying the decryption cipher to a final block in the associated sequence of blocks of scrambled data and applying an operator having as operands at least the result of the decryption cipher and an initialisation vector, and wherein each preceding block of descrambled data in the sequence is obtained by applying the decryption cipher to a block in the sequence of blocks of scrambled data at a corresponding position and applying an operator having as operands at least the result of the decryption cipher and a block of scrambled data at a next position in the sequence of blocks of scrambled data,
- wherein the system is configured, for a succession of sequences of blocks of scrambled data included in a unit of data within the stream of scrambled data, to generate at least one first initialisation vector for descrambling a sequence of blocks of scrambled data in dependence on at least one block of descrambled data in a sequence of blocks of descrambled data obtained by descrambling a preceding sequence of blocks of scrambled data of the unit.
A computer program stored on a non-transitory computer readable medium, the computer program including a set of instructions that when executed on a processor, are capable of causing a system having information processing capabilities to perform a method of scrambling a stream of data, the method comprising:
- obtaining from the stream of data a succession of first sequences of blocks of data,
- reversing the order of the blocks in each of the first sequences of blocks to form respective second sequences of blocks of data, and
- encrypting the blocks in each second sequence of blocks using a cipher in block chaining mode, initialised with a respective initialisation vector for each second sequence of blocks,
- wherein, for a succession of first sequences of blocks included in a unit of data within the stream, at least one first initialisation vector for encrypting a second sequence of blocks formed from a first sequence of blocks in the unit is generated in dependence on at least one block in a preceding first sequence of blocks of the unit.
Dependencies are inferred from the claim text.