Structured File Encryption via Block Chain Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Engineering geometry and simulation tools face challenges in securely sharing files and simulation results due to the cryptographic weaknesses of AES, particularly when dealing with large-scale parallel processing across numerous cores, where the number of cores for encryption may differ from those for decryption, and conventional encryption methods struggle to efficiently divide and decrypt files.

Innovation Solution

A method involving block chain encryption and decryption processes that partition structured data sets into subsets, allowing for parallel processing using available cores, with offset values logged to enable decryption using a different number of subsets than used for encryption, and utilizing initialization vectors and counter block modes to maintain data integrity and security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional AES encryption is used on structured data sets, then data security is provided, but patterns in the original plain text remain visible in the cipher text allowing information inference

Engineering Contradiction:
Improvedata securityVSAvoidpattern visibility
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent divides the structured data set into multiple subsets based on its data topology (e.g., partitioning mesh data into spatial regions). Each subset is then encrypted independently using AES, which prevents patterns from propagating across the entire data set while maintaining encryption security. This segmentation approach breaks the continuity of patterns that would otherwise be visible in conventionally encrypted structured data.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the data is encrypted using a fixed number of cores, then encryption efficiency is optimized, but decryption becomes problematic when a different number of cores is available

Engineering Contradiction:
Improveencryption efficiencyVSAvoidcore number flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent performs preliminary partitioning of the structured data set into subsets with identifiable boundaries and topology relationships before encryption. This preliminary organization allows the encrypted data to be flexibly re-partitioned during decryption regardless of the number of cores available. The topological information preserved in the partitioning enables adaptive redistribution of encryption subsets across varying numbers of processing cores without requiring re-encryption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables dynamic adaptation of the encryption/decryption process to the available computational resources. The system can encrypt using one number of cores and decrypt using a different number of cores by leveraging the preserved topological relationships in the partitioned data structure. This dynamic flexibility allows the same encrypted data to be efficiently processed on different hardware configurations.

Inventive Principle:
Principle #15Dynamics

3Productivity

If the structured data set is divided into subsets for parallel processing, then processing speed increases, but the complexity of managing and reassembling the subsets increases

Engineering Contradiction:
Improveprocessing speedVSAvoidsubset management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary partitioning of the structured data set into subsets with identifiable boundaries and topology relationships before encryption. This preliminary organization allows the encrypted data to be flexibly re-partitioned during decryption regardless of the number of cores available. The topological information preserved in the partitioning enables adaptive redistribution of encryption subsets across varying numbers of processing cores without requiring re-encryption.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If AES encryption is applied to each 128 bit block independently, then encryption is simple and fast, but the secret key is reused creating cryptographic weaknesses

Engineering Contradiction:
Improveencryption speedVSAvoidcryptographic strength
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent divides the structured data set into multiple subsets based on its data topology (e.g., partitioning mesh data into spatial regions). Each subset is then encrypted independently using AES, which prevents patterns from propagating across the entire data set while maintaining encryption security. This segmentation approach breaks the continuity of patterns that would otherwise be visible in conventionally encrypted structured data.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11146382B2Structured file encryption process
Publication Date: 2021.10.12 ROLLS ROYCE PLC
  • US11146382B2 patent drawing
  • US11146382B2 patent drawing
  • US11146382B2 patent drawing

AI summary

Method and system for cryptographic transformation of a structured data set. The structured data set is partitioned into a first subset and a plurality of further subsets for encryption in parallel. The subsets are divided into a plurality of blocks of predetermined size. A first block for each subset is identified as well as a location of each further block in said subset relative to said first block of its subset. Cryptographic transformation of the data subsets is performed using a key according to a block chain process and an offset value for the first block of each subset from the first block of the first subset is logged. The process allows a block chain to be broken into part way in the chain. The process may allow different partitioning to be used for decryption than was used for encryption, thereby allowing parallel processing on varying numbers of computational cores.