Data Encryption Salt Concatenation for Resource Savings

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data encryption methods expand data size due to the use of initialization vectors, padding, and integrity checks, leading to increased resource usage and computational costs, especially when dealing with large datasets of small values.

Innovation Solution

A system that preprocesses data by generating a salt, concatenating it with the data, and performing block-chaining through XOR operations, eliminating the need for additional padding and initialization vectors, while using the salt as both a randomness source and integrity check.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional encryption methods are used with initialization vectors, padding, and integrity checks, then data security and tamper detection are improved, but data size expansion and resource consumption increase

Engineering Contradiction:
Improvedata securityVSAvoiddata size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent combines the initialization vector and integrity check components into a single integrated structure. The first portion of the random data serves as the initialization vector while the second portion serves as the integrity check, eliminating the need for separate components and reducing overall data expansion.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The random data generated serves multiple functions simultaneously: it provides the initialization vector for encryption, generates the key for encryption, and creates the integrity check data. This multi-functionality reduces the need for separate components and minimizes data size expansion.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If traditional encryption methods with separate integrity checks are used, then tamper detection is improved, but computational overhead increases

Engineering Contradiction:
Improvetamper detectionVSAvoidcomputational overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The encryption and integrity check processes are merged into a single operation. The system encrypts the data and generates integrity check data in one pass, rather than performing separate encryption and hashing operations, thereby reducing computational overhead.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The integrity check data is generated and stored alongside the encrypted data during the initial encryption process. This preliminary action eliminates the need for separate computational operations during decryption or verification, reducing overall computational overhead.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If block justification padding is applied to encrypt data, then encryption compatibility is improved, but data size expansion increases

Engineering Contradiction:
Improveencryption compatibilityVSAvoiddata size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent changes the approach to block justification by using a hybrid encryption mode that combines CBC and ECB modes. This parameter change allows the system to maintain encryption compatibility while minimizing the need for extensive padding, thereby reducing data size expansion.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8744076B2Method and apparatus for encrypting data to facilitate resource savings and tamper detection
Publication Date: 2014.06.03 ORACLE INT CORP
  • US8744076B2 patent drawing
  • US8744076B2 patent drawing
  • US8744076B2 patent drawing

AI summary

One embodiment of the present invention provides a system that facilitates encrypting data. During operation, the system receives unencrypted data to be encrypted. Next, the system preprocesses the unencrypted data to create preprocessed unencrypted data, wherein preprocessing the unencrypted data involves generating a salt (wherein the salt facilitates in determining if the subsequently encrypted data has been altered) and concatenating the salt and the unencrypted data to create the preprocessed unencrypted data. Next, the system encrypts the preprocessed unencrypted data to create the encrypted data. Because the salt has already been applied to the plaintext data, it does not need to be reapplied during the encryption phase as is typically done in encryption. Finally, the system stores a copy of the salt with the encrypted data.