Extensive ciphertext feedback
AssigneeRed Hat, Inc.
InventorJames P. Schneider
Life of this patent
Estimating the term…
Abstract
Some embodiments of a method and apparatus for encrypting and decrypting data have been presented. In one embodiment, a stream cipher is run in parallel with a block cipher to output a stream of bits with a length equal to a number of ciphertext blocks in an output stream of the block cipher. The method may further include pre-processing a current plaintext block based on the stream of bits and the number of ciphertext blocks in the output stream of the block cipher. Then the block cipher may encipher the pre-processed block to generate a current ciphertext block.
Claims26
A computer-implemented method comprising:
- generating, by a stream cipher executable by a processing device, a stream of bits with a length equal to a number of ciphertext blocks in an output stream of a block cipher;
- processing, by an encipherer executable by the processing device, a current plaintext block in view of the stream of bits and the number of ciphertext blocks in the output stream of the block cipher;
- and
- enciphering, by the block cipher executable by the processing device, a result of the processing to generate a current ciphertext block.
An apparatus comprising:
- a processing device;
- a stream cipher executable by the processing device to generate a stream of bits with a length equal to a number of ciphertext blocks in an output stream of a block cipher;
- an encipherer executable by the processing device to process a current plaintext block in view of the stream of bits and the number of ciphertext blocks in the output stream of the block cipher;
- and
- the block cipher executable by the processing device to encipher a result from the processing device to generate a current ciphertext block.
A non-transitory computer-readable storage medium that provides instructions that, when executed by a processing device, will cause the processing device to perform a method comprising:
- generating, by a stream cipher executable by the processing device, a stream of bits with a length equal to a number of ciphertext blocks in an output stream of a block cipher;
- processing, by an encipherer executable by the processing device, a current plaintext block in view of the stream of bits and the number of ciphertext blocks in the output stream of the block cipher;
- and
- enciphering, by the block cipher executable by the processing device, a result of the processing to generate a current ciphertext block.
A method comprising:
- receiving a stream of ciphertext blocks and a stream of bits, wherein the ciphertext blocks have been generated by a block cipher and the stream of bits have been generated by a stream cipher running in parallel with the block cipher;
- deciphering a current ciphertext block of the stream of ciphertext blocks;
- and
- performing, by a processing device, an exclusive-OR (XOR) operation on the deciphered block and one or more ciphertext blocks of the stream of ciphertext blocks in view of the stream of bits to generate a current plaintext block.
An apparatus comprising:
- a processing device;
- an input/output device to receive a stream of ciphertext blocks and a stream of bits, wherein the ciphertext blocks have been generated by a block cipher and the stream of bits have been generated by a stream cipher running in parallel with the block cipher;
- an encipherer, executable by the processing device, to decipher a current ciphertext block of the stream of ciphertext blocks;
- and
- an exclusive-OR (XOR) module executable by the processing device to perform an XOR operation on the deciphered block and one or more ciphertext blocks of the stream of ciphertext blocks in view of the stream of bits to generate a current plaintext block.
A non-transitory computer-readable storage medium that provides instructions that, when executed by a processing device, will cause the processing device to perform operations comprising:
- receiving, by the processing device, a stream of ciphertext blocks and a stream of bits, wherein the ciphertext blocks have been generated by a block cipher and the stream of bits have been generated by a stream cipher running in parallel with the block cipher;
- deciphering, by the processing device, a current ciphertext block of the stream of ciphertext blocks;
- and
- performing, by the processing device, an exclusive-OR (XOR) operation on the deciphered block and one or more ciphertext blocks of the stream of ciphertext blocks in view of the stream of bits to generate a current plaintext block.
Dependencies are inferred from the claim text.