Secure encryption of partial blocks
AssigneeInternational Business Machines Corporation
InventorsGlen Alan Jaquette, Danny Harnik
Life of this patent
Estimating the term…
Abstract
Encrypting data blocks by receiving blocks of compressed data, determining a size, in bytes, of the compressed data, appending a trailer to the compressed data, the trailer associated with the size in bytes of the compressed data, encrypting the compressed data and trailer, yielding encrypted data, where a header of the encrypted data comprises a number of complete encrypted data blocks, and providing the encrypted data to a user.
Claims17
A computer implemented method for encrypting data blocks, the method comprising:
- receiving, by one or more computer processors, blocks of compressed data;
- determining, by the one or more computer processors, a size, in bytes, of the compressed data;
- identifying, by the one or more computer processors, a first storage block partially filled with plaintext, according to the size in bytes of the compressed data
- modifying, by the one or more computer processors, the first storage block partially filled with plaintext to include:
- a trailer including an intra-block length field representing the number of plaintext data bytes in the first storage block,
- the plaintext, and
- a non-zero padding sufficient to fill the first storage block;
- encrypting, by the one or more computer processors, the compressed data and trailer, yielding encrypted data, wherein a header of the encrypted data comprises a number of complete encrypted data blocks;
- and
- providing, by the one or more computer processors, the encrypted data to a user.
A computer program product for encrypting data blocks, the computer program product comprising one or more computer readable storage devices and collectively stored program instructions on the one or more computer readable storage devices, the stored program instructions comprising:
- program instructions to receive blocks of compressed data;
- program instructions to determine a size, in bytes, of the compressed data;
- program instructions to identify a first storage block partially filled with plaintext;
- program instructions to modify the first storage block partially filled with plaintext to include:
- a trailer including an intra-block length field representing the number of plaintext data bytes in the first storage block,
- the plaintext, and
- a non-zero padding sufficient to fill the first storage block;
- program instructions to encrypt the compressed data and trailer, yielding encrypted data, wherein a header of the encrypted data comprises a number of complete encrypted data blocks;
- and
- program instructions to provide the encrypted data to a user.
A computer system for encrypting data blocks, the computer system comprising:
- one or more computer processors;
- one or more computer readable storage devices;
- and
- stored program instructions on the one or more computer readable storage devices for execution by the one or more computer processors, the stored program instructions comprising:
- program instructions to receive blocks of compressed data;
- program instructions to determine a size, in bytes, of the compressed data;
- program instructions to identify a first storage block partially filled with plaintext;
- program instructions to modify the first storage block partially filled with plaintext to include:
- a trailer including an intra-block length field representing the number of plaintext data bytes in the first storage block,
- the plaintext, and
- a non-zero padding sufficient to fill the first storage block;
- program instructions to encrypt the compressed data and trailer, yielding encrypted data, wherein a header of the encrypted data comprises a number of complete encrypted data blocks;
- and
- program instructions to provide the encrypted data to a user.
Dependencies are inferred from the claim text.