Wide-Block Encryption for Deterministic Ciphertext Without Initialization Vectors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current deterministic encryption methods fail to effectively encrypt uncompressed data when combined with length-preserving compression, as they require concatenating an initialization vector, which is not feasible for uncompressed data that cannot be compressed.
Innovation Solution
Implementing wide-block encryption for both compressed and uncompressed data, with the option to add a zero pad to the encrypted compressed data if its size is below a threshold, and abandoning the compressed data if its size exceeds the threshold, allowing for the creation of a deterministic ciphertext string without an initialization vector.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If current deterministic encryption methods are used with length-preserving compression, then data deduplication can be performed on compressed data, but uncompressed data cannot be encrypted deterministically because initialization vectors cannot be concatenated
Solution Approach 1:
The encryption system is designed to handle both compressed and uncompressed data through a universal encryption interface. The method determines whether input data is compressed or uncompressed and applies appropriate encryption processing, making the system multi-functional without requiring separate encryption systems for each data type.
Solution Approach 2:
The encryption approach changes based on the compression state of the data. For uncompressed data, the system uses wide-block encryption with a block size matching the data length and omits initialization vectors. For compressed data, traditional deterministic encryption with initialization vectors is used. This parameter-based adaptation resolves the contradiction by adjusting encryption behavior to data characteristics.
2Reliability
If initialization vectors are concatenated to encrypted compressed data to generate ciphertext strings, then deterministic encryption is achieved for compressed data, but this method cannot be applied to uncompressed data
Solution Approach 1:
The encryption method is segmented into two distinct paths: one for compressed data that uses initialization vectors, and another for uncompressed data that uses wide-block encryption without initialization vectors. This segmentation allows each path to be optimized for its specific data type while maintaining overall system reliability through consistent deterministic encryption outcomes.
Solution Approach 2:
Instead of forcing all data through the initialization vector concatenation method, the invention inverts the approach by using wide-block encryption without initialization vectors for uncompressed data, while maintaining traditional methods for compressed data. This inversion expands adaptability while preserving deterministic encryption reliability through the alternative wide-block approach.
3Reliability
If wide-block encryption is used for uncompressed data without compression, then deterministic ciphertext can be created, but storage efficiency is reduced compared to compressing first
Solution Approach 1:
The system dynamically selects between compression-based deterministic encryption and wide-block encryption based on data characteristics and compression results. This dynamic selection optimizes storage efficiency by using compression when beneficial while maintaining deterministic encryption capability through wide-block encryption when compression is not applicable, resolving the contradiction between reliability and storage efficiency.
Data Source
AI summary
A computer-implemented method according to one embodiment includes compressing an uncompressed instance of data to create a compressed instance of data; encrypting the compressed instance of data utilizing wide-block encryption in response to determining that a size of the compressed instance of data is less than a predetermined threshold; and adding a zero pad to the encrypted compressed instance of data to create a ciphertext string.


