Implementing resilient deterministic encryption
AssigneeInternational Business Machines Corporation
InventorsGlen Alan Jaquette, Danny Harnik, William J. Scales
Life of this patent
Estimating the term…
Abstract
A computer-implemented method according to one aspect includes creating an initialization vector, utilizing an instance of plaintext and a secret key; encrypting the instance of plaintext, utilizing the initialization vector, the secret key, and the instance of plaintext; combining the initialization vector and the encrypted instance of plaintext to create a ciphertext string; and sending the ciphertext string to a storage device performing deduplication.
Claims25
A computer-implemented method, comprising:
- creating an initialization vector, utilizing an instance of plaintext and a secret key;
- encrypting the instance of plaintext, utilizing the initialization vector, the secret key, and the instance of plaintext;
- combining the initialization vector and the encrypted instance of plaintext to create a ciphertext string;
- and
- sending the ciphertext string to a storage device performing deduplication.
A computer program product for implementing resilient deterministic encryption, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions executable by a processor to cause the processor to perform a method comprising:
- creating, by the processor, an initialization vector, utilizing an instance of plaintext and a secret key;
- encrypting, by the processor, the instance of plaintext, utilizing the initialization vector, the secret key, and the instance of plaintext;
- combining, by the processor, the initialization vector and the encrypted instance of plaintext to create a ciphertext string;
- and
- sending, by the processor, the ciphertext string to a storage device performing deduplication.
A system, comprising:
- a processor;
- and
- logic integrated with the processor, executable by the processor, or integrated with and executable by the processor, the logic being configured to:
- create an initialization vector, utilizing an instance of plaintext and a secret key;
- encrypt the instance of plaintext, utilizing the initialization vector, the secret key, and the instance of plaintext;
- combine the initialization vector and the encrypted instance of plaintext to create a ciphertext string;
- and
- send the ciphertext string to a storage device performing deduplication.
A computer-implemented method, comprising:
- creating an initialization vector, utilizing an instance of plaintext and a secret key;
- comparing a length of the initialization vector to a required initialization vector length for an encryption mode used to encrypt the instance of plaintext;
- in response to determining that a length of the initialization vector is less than or equal to the required initialization vector length for the encryption mode, encrypting the instance of plaintext by applying the encryption mode to the instance of plaintext, utilizing the initialization vector and the secret key;
- in response to determining that a length of the initialization vector is greater than the required initialization vector length for the encryption mode, encrypting the instance of plaintext by applying the encryption mode to the instance of plaintext, utilizing a subset of the initialization vector and the secret key;
- combining the initialization vector and the encrypted instance of plaintext to create a ciphertext string;
- and
- sending the ciphertext string to a storage device performing deduplication.
Dependencies are inferred from the claim text.