Patent ID: 11917072
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
Field: Digital communication (Electrical engineering)
Classification: CPC H  G | IPC G  H

Claim 7:
8. A computer program product comprising one or more non-transitory computer readable storage media, and program instructions collectively stored on the one or more non-transitory computer readable storage media, the program instructions comprising instructions configured to cause one or more processors to perform a method comprising:
compressing, by the one or more processors, an uncompressed instance of data to create a compressed instance of data;
determining, by the one or more processors, whether a size of the compressed instance of data is less than a predetermined threshold;
encrypting, by the one or more processors, the compressed instance of data in response to determining that the size of the compressed instance of data is less than the predetermined threshold, wherein the compressed instance of data is encrypted utilizing an encryption technique selected from the group consisting of: wide-block encryption and an expanding encryption mode which includes an initialization vector;
creating, by the one or more processors, a message authentication code (MAC) for the encrypted compressed instance of data, wherein the MAC includes a Galois message authentication code (GMAC) that is created as part of a Galois counter mode (GCM) encryption mode;
adding, by the one or more processors, at least a zero pad, a length field, and the MAC to the encrypted compressed instance of data to create a formatted string having a length equal to a length of the uncompressed instance of data, wherein the predetermined threshold includes a size of a sum of the length field, a predetermined minimum zero pad amount, and the MAC;
comparing, by the one or more processors, the formatted string to other formatted strings stored in a data storage to determine whether any duplicates exist in the data storage;
in response to determining that a duplicate exists in the data storage, removing, by the one or more processors, the duplicate; and
determining, by the one or more processors, whether the size of the compressed instance of data is greater than the predetermined threshold;
abandoning the compressed instance of data, and encrypting the uncompressed instance of data to create the formatted string, in response to determining that the size of the compressed instance of data is greater than the predetermined threshold, wherein the encrypted uncompressed instance of data has the same length as the uncompressed instance of data.